mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
1233 lines
4.4 MiB
1233 lines
4.4 MiB
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Decompilation Status</title>
|
|
<style>
|
|
body {
|
|
background: #202020;
|
|
color: #f0f0f0;
|
|
font-family: sans-serif;
|
|
}
|
|
|
|
h1 {
|
|
text-align: center;
|
|
}
|
|
|
|
.main {
|
|
width: 800px;
|
|
max-width: 100%;
|
|
margin: auto;
|
|
}
|
|
|
|
#search {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
background: #303030;
|
|
color: #f0f0f0;
|
|
border: 1px #f0f0f0 solid;
|
|
padding: 0.5em;
|
|
border-radius: 0.5em;
|
|
}
|
|
|
|
#search::placeholder {
|
|
color: #b0b0b0;
|
|
}
|
|
|
|
#listing {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
font-family: monospace;
|
|
}
|
|
|
|
func-row:hover {
|
|
background: #404040 !important;
|
|
}
|
|
|
|
func-row:nth-child(odd of :not([hidden])), #listing > thead th {
|
|
background: #282828;
|
|
}
|
|
|
|
func-row:nth-child(even of :not([hidden])) {
|
|
background: #383838;
|
|
}
|
|
|
|
table#listing {
|
|
border: 1px #f0f0f0 solid;
|
|
}
|
|
|
|
#listing > thead th {
|
|
padding: 0.5em;
|
|
user-select: none;
|
|
width: 10%;
|
|
text-align: left;
|
|
}
|
|
|
|
#listing:not([show-recomp]) > thead th[data-col="recomp"] {
|
|
display: none;
|
|
}
|
|
|
|
#listing > thead th > div {
|
|
display: flex;
|
|
column-gap: 0.5em;
|
|
}
|
|
|
|
#listing > thead th > div > span {
|
|
cursor: pointer;
|
|
}
|
|
|
|
#listing > thead th > div > span:hover {
|
|
text-decoration: underline;
|
|
text-decoration-style: dotted;
|
|
}
|
|
|
|
#listing > thead th:last-child > div {
|
|
justify-content: right;
|
|
}
|
|
|
|
#listing > thead th[data-col="name"] {
|
|
width: 60%;
|
|
}
|
|
|
|
.diffneg {
|
|
color: #FF8080;
|
|
}
|
|
|
|
.diffpos {
|
|
color: #80FF80;
|
|
}
|
|
|
|
.diffslug {
|
|
color: #8080FF;
|
|
}
|
|
|
|
.identical {
|
|
font-style: italic;
|
|
text-align: center;
|
|
}
|
|
|
|
sort-indicator {
|
|
user-select: none;
|
|
}
|
|
|
|
.filters {
|
|
align-items: top;
|
|
display: flex;
|
|
font-size: 10pt;
|
|
justify-content: space-between;
|
|
margin: 0.5em 0 1em 0;
|
|
}
|
|
|
|
.filters > fieldset {
|
|
/* checkbox and radio buttons v-aligned with text */
|
|
align-items: center;
|
|
display: flex;
|
|
}
|
|
|
|
.filters > fieldset > input, .filters > fieldset > label {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.filters > fieldset > label {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
table.diffTable {
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
table.diffTable:not(:last-child) {
|
|
/* visual gap *between* diff context groups */
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
table.diffTable td, table.diffTable th {
|
|
border: 0 none;
|
|
padding: 0 10px 0 0;
|
|
}
|
|
|
|
table.diffTable th {
|
|
/* don't break address if asm line is long */
|
|
word-break: keep-all;
|
|
}
|
|
|
|
diff-display[data-option="0"] th:nth-child(1) {
|
|
display: none;
|
|
}
|
|
|
|
diff-display[data-option="0"] th:nth-child(2),
|
|
diff-display[data-option="1"] th:nth-child(2) {
|
|
display: none;
|
|
}
|
|
|
|
label {
|
|
user-select: none;
|
|
}
|
|
|
|
#pageDisplay > button {
|
|
cursor: pointer;
|
|
padding: 0.25em 0.5em;
|
|
}
|
|
|
|
#pageDisplay select {
|
|
cursor: pointer;
|
|
padding: 0.25em;
|
|
margin: 0 0.5em;
|
|
}
|
|
|
|
p.rowcount {
|
|
align-self: flex-end;
|
|
font-size: 1.2em;
|
|
margin-bottom: 0;
|
|
}
|
|
</style>
|
|
<script>var data = [{"address": "0x10001000", "recomp": "0x10001000", "name": "Score::Score", "matching": 1.0, "diff": []}, {"address": "0x10001070", "recomp": "0x10001070", "name": "MxEntity::Create", "matching": 1.0, "diff": []}, {"address": "0x10001090", "recomp": "0x10001090", "name": "LegoEntity::SetWorldSpeed", "matching": 1.0, "diff": []}, {"address": "0x100010a0", "recomp": "0x100010a0", "name": "LegoWorld::VTable0x60", "matching": 1.0, "diff": []}, {"address": "0x100010b0", "recomp": "0x100010b0", "name": "Score::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x100010c0", "recomp": "0x100010c0", "name": "Score::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100010d0", "recomp": "0x100010d0", "name": "Score::IsA", "matching": 1.0, "diff": []}, {"address": "0x100011e0", "recomp": "0x100011e0", "name": "Score::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10001200", "recomp": "0x10001200", "name": "Score::~Score", "matching": 1.0, "diff": []}, {"address": "0x100012a0", "recomp": "0x100012a0", "name": "Score::Create", "matching": 1.0, "diff": []}, {"address": "0x10001340", "recomp": "0x10001340", "name": "Score::DeleteScript", "matching": 1.0, "diff": []}, {"address": "0x10001410", "recomp": "0x10001410", "name": "Score::Notify", "matching": 0.8380952380952381, "diff": [["@@ -,78 +,78 @@", [{"both": [["0x10001410", "push ebx", "0x10001410"], ["0x10001411", "push esi", "0x10001411"], ["0x10001412", "push edi", "0x10001412"], ["0x10001413", "mov ebx, ecx", "0x10001413"]]}, {"orig": [["0x10001415", "xor edi, edi"], ["0x10001417", "mov esi, dword ptr [esp + 0x10]"], ["0x1000141b", "push esi"]], "recomp": [["0x10001415", "xor esi, esi"], ["0x10001417", "mov edi, dword ptr [esp + 0x10]"], ["0x1000141b", "push edi"]]}, {"both": [["0x1000141c", "call LegoWorld::Notify (FUNCTION)", "0x1000141c"], ["0x10001421", "cmp byte ptr [ebx + 0xf6], 0", "0x10001421"], ["0x10001428", "je 0x9c", "0x10001428"]]}, {"orig": [["0x1000142e", "mov ecx, dword ptr [esi + 4]"]], "recomp": [["0x1000142e", "mov ecx, dword ptr [edi + 4]"]]}, {"both": [["0x10001431", "dec ecx", "0x10001431"], ["0x10001432", "cmp ecx, 0x17", "0x10001432"], ["0x10001435", "ja 0x8f", "0x10001435"], ["0x1000143b", "xor eax, eax", "0x1000143b"], ["0x1000143d", "mov al, byte ptr [ecx + <OFFSET2>]", "0x1000143d"], ["0x10001443", "jmp dword ptr [eax*4 + <OFFSET3>]", "0x10001443"], ["0x1000144a", "mov ecx, ebx", "0x1000144a"]]}, {"orig": [["0x1000144c", "mov edi, 1"]], "recomp": [["0x1000144c", "mov esi, 1"]]}, {"both": [["0x10001451", "call Score::Paint (FUNCTION)", "0x10001451"]]}, {"orig": [["0x10001456", "mov eax, edi"]], "recomp": [["0x10001456", "mov eax, esi"]]}, {"both": [["0x10001458", "pop edi", "0x10001458"], ["0x10001459", "pop esi", "0x10001459"], ["0x1000145a", "pop ebx", "0x1000145a"], ["0x1000145b", "ret 4", "0x1000145b"]]}, {"orig": [["0x1000145e", "push esi"]], "recomp": [["0x1000145e", "push edi"]]}, {"both": [["0x1000145f", "mov ecx, ebx", "0x1000145f"], ["0x10001461", "call Score::FUN_10001510 (FUNCTION)", "0x10001461"]]}, {"orig": [["0x10001466", "mov edi, eax"], ["0x10001468", "mov eax, edi"]], "recomp": [["0x10001466", "mov esi, eax"]]}, {"both": [["0x1000146a", "pop edi", "0x10001468"]]}, {"orig": [], "recomp": [["0x10001469", "mov eax, esi"]]}, {"both": [["0x1000146b", "pop esi", "0x1000146b"], ["0x1000146c", "pop ebx", "0x1000146c"], ["0x1000146d", "ret 4", "0x1000146d"]]}, {"orig": [["0x10001470", "cmp byte ptr [esi + 0x18], 0x20"]], "recomp": [["0x10001470", "cmp byte ptr [edi + 0x18], 0x20"]]}, {"both": [["0x10001474", "jne 0x7", "0x10001474"], ["0x10001476", "mov ecx, ebx", "0x10001476"], ["0x10001478", "call Score::DeleteScript (FUNCTION)", "0x10001478"]]}, {"orig": [["0x1000147d", "mov edi, 1"], ["0x10001482", "mov eax, edi"]], "recomp": [["0x1000147d", "mov esi, 1"]]}, {"both": [["0x10001484", "pop edi", "0x10001482"]]}, {"orig": [], "recomp": [["0x10001483", "mov eax, esi"]]}, {"both": [["0x10001485", "pop esi", "0x10001485"], ["0x10001486", "pop ebx", "0x10001486"], ["0x10001487", "ret 4", "0x10001487"]]}, {"orig": [["0x1000148a", "push esi"]], "recomp": [["0x1000148a", "push edi"]]}, {"both": [["0x1000148b", "mov ecx, ebx", "0x1000148b"], ["0x1000148d", "call Score::FUN_100016d0 (FUNCTION)", "0x1000148d"]]}, {"orig": [["0x10001492", "mov edi, eax"], ["0x10001494", "mov eax, edi"]], "recomp": [["0x10001492", "mov esi, eax"]]}, {"both": [["0x10001496", "pop edi", "0x10001494"]]}, {"orig": [], "recomp": [["0x10001495", "mov eax, esi"]]}, {"both": [["0x10001497", "pop esi", "0x10001497"], ["0x10001498", "pop ebx", "0x10001498"], ["0x10001499", "ret 4", "0x10001499"], ["0x1000149c", "push 9", "0x1000149c"], ["0x1000149e", "mov eax, dword ptr [g_infoscorScript (DATA)]", "0x1000149e"], ["0x100014a3", "push 7", "0x100014a3"], ["0x100014a5", "push eax", "0x100014a5"], ["0x100014a6", "call DeleteObjects (FUNCTION)", "0x100014a6"], ["0x100014ab", "add esp, 0xc", "0x100014ab"], ["0x100014ae", "mov eax, dword ptr [ebx + 0xf8]", "0x100014ae"], ["0x100014b4", "test eax, eax", "0x100014b4"], ["0x100014b6", "je 0xd", "0x100014b6"], ["0x100014b8", "push eax", "0x100014b8"], ["0x100014b9", "call GameState (FUNCTION)", "0x100014b9"], ["0x100014be", "mov ecx, eax", "0x100014be"], ["0x100014c0", "call LegoGameState::SwitchArea (FUNCTION)", "0x100014c0"]]}, {"orig": [["0x100014c5", "mov edi, 1"], ["0x100014ca", "mov eax, edi"]], "recomp": [["0x100014c5", "mov esi, 1"], ["0x100014ca", "mov eax, esi"]]}, {"both": [["0x100014cc", "pop edi", "0x100014cc"], ["0x100014cd", "pop esi", "0x100014cd"], ["0x100014ce", "pop ebx", "0x100014ce"], ["0x100014cf", "ret 4", "0x100014cf"], ["0x100014d2", "mov edi, edi", "0x100014d2"], ["", "Jump table:", ""], ["0x100014d4", "Jump_dest_0", "0x100014d4"], ["0x100014d8", "Jump_dest_1", "0x100014d8"], ["0x100014dc", "Jump_dest_2", "0x100014dc"], ["0x100014e0", "Jump_dest_3", "0x100014e0"]]}]]]}, {"address": "0x10001510", "recomp": "0x10001510", "name": "Score::FUN_10001510", "matching": 1.0, "diff": []}, {"address": "0x10001580", "recomp": "0x10001580", "name": "Score::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x100016d0", "recomp": "0x100016d0", "name": "Score::FUN_100016d0", "matching": 1.0, "diff": []}, {"address": "0x10001980", "recomp": "0x10001980", "name": "Score::Enable", "matching": 1.0, "diff": []}, {"address": "0x100019d0", "recomp": "0x100019d0", "name": "Score::Paint", "matching": 1.0, "diff": []}, {"address": "0x10001cc0", "recomp": "0x10001cc0", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Lbound", "matching": 1.0, "diff": []}, {"address": "0x10001d20", "recomp": "0x10001d20", "name": "Score::FillArea", "matching": 0.8484848484848485, "diff": [["@@ -0x10001d72,48 +0x10001d72,48 @@", [{"both": [["0x10001d72", "mov dword ptr [esp + 0x20], 0x2f", "0x10001d72"], ["0x10001d7a", "mov dword ptr [esp + 0x24], 0x56", "0x10001d7a"], ["0x10001d82", "mov dword ptr [esp + 0x28], 0x81", "0x10001d82"], ["0x10001d8a", "mov dword ptr [esp + 0x4c], esi", "0x10001d8a"], ["0x10001d8e", "mov dword ptr [esp + 0x50], edx", "0x10001d8e"], ["0x10001d92", "mov dword ptr [esp + 0x2c], 0xaa", "0x10001d92"], ["0x10001d9a", "mov dword ptr [esp + 0x30], 0xd4", "0x10001d9a"], ["0x10001da2", "mov dword ptr [esp + 0x48], 0x25", "0x10001da2"], ["0x10001daa", "mov dword ptr [esp + 0x10], 0x11", "0x10001daa"], ["0x10001db2", "mov eax, 0x28", "0x10001db2"]]}, {"orig": [["0x10001db7", "mov esi, dword ptr [esp + 0x74]"]], "recomp": [["0x10001db7", "mov edx, dword ptr [esp + 0x74]"]]}, {"both": [["0x10001dbb", "mov dword ptr [esp + 0x54], eax", "0x10001dbb"], ["0x10001dbf", "mov dword ptr [esp + 0x58], eax", "0x10001dbf"], ["0x10001dc3", "mov edi, dword ptr [esp + 0x78]", "0x10001dc3"]]}, {"orig": [["0x10001dc7", "mov edx, dword ptr [esp + esi*4 + 0x20]"]], "recomp": [["0x10001dc7", "mov esi, dword ptr [esp + edx*4 + 0x20]"]]}, {"both": [["0x10001dcb", "mov dword ptr [esp + 0x14], 0xf", "0x10001dcb"]]}, {"orig": [["0x10001dd3", "add edx, dword ptr [esp + edi*4 + 0x34]"], ["0x10001dd7", "mov ebp, dword ptr [esp + esi*4 + 0x48]"]], "recomp": [["0x10001dd3", "add esi, dword ptr [esp + edi*4 + 0x34]"], ["0x10001dd7", "mov ebp, dword ptr [esp + edx*4 + 0x48]"]]}, {"both": [["0x10001ddb", "movsx eax, word ptr [esp + 0x7c]", "0x10001ddb"]]}, {"orig": [["0x10001de0", "add edx, dword ptr [ecx + 0x100]"], ["0x10001de6", "mov esi, dword ptr [esp + edi*4 + 0x5c]"]], "recomp": [["0x10001de0", "add esi, dword ptr [ecx + 0x100]"], ["0x10001de6", "mov edx, dword ptr [esp + edi*4 + 0x5c]"]]}, {"both": [["0x10001dea", "mov dword ptr [esp + 0x18], 8", "0x10001dea"], ["0x10001df2", "mov dword ptr [esp + 0x1c], 5", "0x10001df2"], ["0x10001dfa", "mov ebx, dword ptr [esp + eax*4 + 0x10]", "0x10001dfa"]]}, {"orig": [["0x10001dfe", "test esi, esi"]], "recomp": [["0x10001dfe", "test edx, edx"]]}, {"both": [["0x10001e00", "jle 0x27", "0x10001e00"], ["0x10001e02", "mov cl, bl", "0x10001e02"]]}, {"orig": [["0x10001e04", "mov edi, edx"]], "recomp": [["0x10001e04", "mov edi, esi"]]}, {"both": [["0x10001e06", "mov ch, cl", "0x10001e06"]]}, {"orig": [["0x10001e08", "add edx, 0x100"]], "recomp": []}, {"both": [["0x10001e0e", "mov cl, bl", "0x10001e08"], ["0x10001e10", "mov eax, ecx", "0x10001e0a"], ["0x10001e12", "shl eax, 0x10", "0x10001e0c"], ["0x10001e15", "mov ax, cx", "0x10001e0f"], ["0x10001e18", "mov ecx, ebp", "0x10001e12"], ["0x10001e1a", "shr ecx, 2", "0x10001e14"], ["0x10001e1d", "rep stosd dword ptr es:[edi], eax", "0x10001e17"], ["0x10001e1f", "mov ecx, ebp", "0x10001e19"], ["0x10001e21", "and ecx, 3", "0x10001e1b"], ["0x10001e24", "rep stosb byte ptr es:[edi], al", "0x10001e1e"]]}, {"orig": [["0x10001e26", "dec esi"]], "recomp": [["0x10001e20", "add esi, 0x100"], ["0x10001e26", "dec edx"]]}, {"both": [["0x10001e27", "jne -0x27", "0x10001e27"], ["0x10001e29", "pop ebp", "0x10001e29"], ["0x10001e2a", "pop edi", "0x10001e2a"], ["0x10001e2b", "pop esi", "0x10001e2b"], ["0x10001e2c", "pop ebx", "0x10001e2c"], ["0x10001e2d", "add esp, 0x60", "0x10001e2d"], ["0x10001e30", "ret 0xc", "0x10001e30"]]}]]]}, {"address": "0x10001e40", "recomp": "0x10001e40", "name": "Score::Escape", "matching": 1.0, "diff": []}, {"address": "0x10001e60", "recomp": "0x10001e60", "name": "Helicopter::Helicopter", "matching": 1.0, "diff": []}, {"address": "0x10001f70", "recomp": "0x10001f70", "name": "MxCore::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10001f80", "recomp": "0x10001f80", "name": "Vector2::AddImpl", "matching": 1.0, "diff": []}, {"address": "0x10001fa0", "recomp": "0x10001fa0", "name": "Vector2::AddImpl", "matching": 1.0, "diff": []}, {"address": "0x10001fc0", "recomp": "0x10001fc0", "name": "Vector2::SubImpl", "matching": 1.0, "diff": []}, {"address": "0x10001fe0", "recomp": "0x10001fe0", "name": "Vector2::MulImpl", "matching": 1.0, "diff": []}, {"address": "0x10002000", "recomp": "0x10002000", "name": "Vector2::MulImpl", "matching": 1.0, "diff": []}, {"address": "0x10002020", "recomp": "0x10002020", "name": "Vector2::DivImpl", "matching": 1.0, "diff": []}, {"address": "0x10002040", "recomp": "0x10002040", "name": "Vector2::DotImpl", "matching": 1.0, "diff": []}, {"address": "0x10002060", "recomp": "0x10002060", "name": "Vector2::SetData", "matching": 1.0, "diff": []}, {"address": "0x10002070", "recomp": "0x10002070", "name": "Vector2::EqualsImpl", "matching": 1.0, "diff": []}, {"address": "0x10002090", "recomp": "0x10002090", "name": "Vector2::GetData", "matching": 1.0, "diff": []}, {"address": "0x100020a0", "recomp": "0x100020a0", "name": "Vector2::GetData", "matching": 1.0, "diff": []}, {"address": "0x100020b0", "recomp": "0x100020b0", "name": "Vector2::Clear", "matching": 1.0, "diff": []}, {"address": "0x100020d0", "recomp": "0x100020d0", "name": "Vector2::Dot", "matching": 1.0, "diff": []}, {"address": "0x100020f0", "recomp": "0x100020f0", "name": "Vector2::Dot", "matching": 1.0, "diff": []}, {"address": "0x10002110", "recomp": "0x10002110", "name": "Vector2::Dot", "matching": 1.0, "diff": []}, {"address": "0x10002130", "recomp": "0x10002130", "name": "Vector2::Dot", "matching": 1.0, "diff": []}, {"address": "0x10002150", "recomp": "0x10002150", "name": "Vector2::LenSquared", "matching": 1.0, "diff": []}, {"address": "0x10002160", "recomp": "0x10002160", "name": "Vector2::Unitize", "matching": 1.0, "diff": []}, {"address": "0x100021c0", "recomp": "0x100021c0", "name": "Vector2::operator+=", "matching": 1.0, "diff": []}, {"address": "0x100021d0", "recomp": "0x100021d0", "name": "Vector2::operator+=", "matching": 1.0, "diff": []}, {"address": "0x100021e0", "recomp": "0x100021e0", "name": "Vector2::operator+=", "matching": 1.0, "diff": []}, {"address": "0x100021f0", "recomp": "0x100021f0", "name": "Vector2::operator-=", "matching": 1.0, "diff": []}, {"address": "0x10002200", "recomp": "0x10002200", "name": "Vector2::operator-=", "matching": 1.0, "diff": []}, {"address": "0x10002210", "recomp": "0x10002210", "name": "Vector2::operator*=", "matching": 1.0, "diff": []}, {"address": "0x10002220", "recomp": "0x10002220", "name": "Vector2::operator*=", "matching": 1.0, "diff": []}, {"address": "0x10002230", "recomp": "0x10002230", "name": "Vector2::operator*=", "matching": 1.0, "diff": []}, {"address": "0x10002240", "recomp": "0x10002240", "name": "Vector2::operator/=", "matching": 1.0, "diff": []}, {"address": "0x10002250", "recomp": "0x10002250", "name": "Vector2::operator=", "matching": 1.0, "diff": []}, {"address": "0x10002260", "recomp": "0x10002260", "name": "Vector2::operator=", "matching": 1.0, "diff": []}, {"address": "0x10002270", "recomp": "0x10002270", "name": "Vector3::EqualsCrossImpl", "matching": 0.7692307692307693, "diff": [["@@ -0x10002270,26 +0x10002270,26 @@", [{"both": [["0x10002270", "mov edx, dword ptr [esp + 4]", "0x10002270"], ["0x10002274", "push esi", "0x10002274"], ["0x10002275", "mov esi, dword ptr [esp + 0xc]", "0x10002275"], ["0x10002279", "mov eax, dword ptr [ecx + 4]", "0x10002279"], ["0x1000227c", "fld dword ptr [edx + 4]", "0x1000227c"], ["0x1000227f", "fmul dword ptr [esi + 8]", "0x1000227f"]]}, {"orig": [["0x10002282", "fld dword ptr [edx + 8]"], ["0x10002285", "fmul dword ptr [esi + 4]"]], "recomp": [["0x10002282", "fld dword ptr [esi + 4]"], ["0x10002285", "fmul dword ptr [edx + 8]"]]}, {"both": [["0x10002288", "fsubp st(1)", "0x10002288"], ["0x1000228a", "fstp dword ptr [eax]", "0x1000228a"], ["0x1000228c", "fld dword ptr [edx + 8]", "0x1000228c"], ["0x1000228f", "fmul dword ptr [esi]", "0x1000228f"]]}, {"orig": [["0x10002291", "fld dword ptr [esi + 8]"], ["0x10002294", "fmul dword ptr [edx]"]], "recomp": [["0x10002291", "fld dword ptr [edx]"], ["0x10002293", "fmul dword ptr [esi + 8]"]]}, {"both": [["0x10002296", "mov eax, dword ptr [ecx + 4]", "0x10002296"], ["0x10002299", "fsubp st(1)", "0x10002299"], ["0x1000229b", "fstp dword ptr [eax + 4]", "0x1000229b"]]}, {"orig": [["0x1000229e", "fld dword ptr [esi + 4]"], ["0x100022a1", "fmul dword ptr [edx]"]], "recomp": [["0x1000229e", "fld dword ptr [edx]"], ["0x100022a0", "fmul dword ptr [esi + 4]"]]}, {"both": [["0x100022a3", "fld dword ptr [edx + 4]", "0x100022a3"], ["0x100022a6", "fmul dword ptr [esi]", "0x100022a6"], ["0x100022a8", "mov eax, dword ptr [ecx + 4]", "0x100022a8"], ["0x100022ab", "pop esi", "0x100022ab"], ["0x100022ac", "fsubp st(1)", "0x100022ac"], ["0x100022ae", "fstp dword ptr [eax + 8]", "0x100022ae"], ["0x100022b1", "ret 8", "0x100022b1"]]}]]]}, {"address": "0x100022c0", "recomp": "0x100022c0", "name": "Vector3::EqualsCross", "matching": 1.0, "diff": []}, {"address": "0x100022e0", "recomp": "0x100022e0", "name": "Vector3::EqualsCross", "matching": 1.0, "diff": []}, {"address": "0x10002300", "recomp": "0x10002300", "name": "Vector3::EqualsCross", "matching": 1.0, "diff": []}, {"address": "0x10002320", "recomp": "0x10002320", "name": "Matrix4::Equals", "matching": 1.0, "diff": []}, {"address": "0x10002340", "recomp": "0x10002340", "name": "Matrix4::Equals", "matching": 1.0, "diff": []}, {"address": "0x10002360", "recomp": "0x10002360", "name": "Matrix4::SetData", "matching": 1.0, "diff": []}, {"address": "0x10002370", "recomp": "0x10002370", "name": "Matrix4::SetData", "matching": 1.0, "diff": []}, {"address": "0x10002380", "recomp": "0x10002380", "name": "Matrix4::GetData", "matching": 1.0, "diff": []}, {"address": "0x10002390", "recomp": "0x10002390", "name": "Matrix4::GetData", "matching": 1.0, "diff": []}, {"address": "0x100023a0", "recomp": "0x100023a0", "name": "Matrix4::Element", "matching": 1.0, "diff": []}, {"address": "0x100023c0", "recomp": "0x100023c0", "name": "Matrix4::Element", "matching": 1.0, "diff": []}, {"address": "0x100023e0", "recomp": "0x100023e0", "name": "Matrix4::Clear", "matching": 1.0, "diff": []}, {"address": "0x100023f0", "recomp": "0x100023f0", "name": "Matrix4::SetIdentity", "matching": 1.0, "diff": []}, {"address": "0x10002420", "recomp": "0x10002420", "name": "Matrix4::operator=", "matching": 1.0, "diff": []}, {"address": "0x10002430", "recomp": "0x10002430", "name": "Matrix4::operator+=", "matching": 1.0, "diff": []}, {"address": "0x10002460", "recomp": "0x10002460", "name": "Matrix4::TranslateBy", "matching": 1.0, "diff": []}, {"address": "0x100024a0", "recomp": "0x100024a0", "name": "Matrix4::SetTranslation", "matching": 1.0, "diff": []}, {"address": "0x100024d0", "recomp": "0x100024d0", "name": "Matrix4::Product", "matching": 0.6756756756756757, "diff": [["@@ -0x100024d0,35 +0x100024d0,35 @@", [{"both": [["0x100024d0", "sub esp, 4", "0x100024d0"]]}, {"orig": [], "recomp": [["0x100024d3", "mov ecx, dword ptr [ecx + 4]"]]}, {"both": [["0x100024d3", "mov dword ptr [esp], 4", "0x100024d6"], ["0x100024db", "push ebx", "0x100024de"], ["0x100024dc", "push esi", "0x100024df"], ["0x100024dd", "mov ebx, dword ptr [esp + 0x10]", "0x100024e0"], ["0x100024e1", "push edi", "0x100024e4"], ["0x100024e2", "push ebp", "0x100024e5"]]}, {"orig": [["0x100024e3", "mov edi, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100024e6", "mov eax, dword ptr [esp + 0x1c]", "0x100024e6"], ["0x100024ea", "mov ebp, 4", "0x100024ea"]]}, {"orig": [], "recomp": [["0x100024ef", "mov edi, eax"]]}, {"both": [["0x100024ef", "mov esi, ebx", "0x100024f1"]]}, {"orig": [["0x100024f1", "mov edx, eax"], ["0x100024f3", "mov ecx, 4"], ["0x100024f8", "mov dword ptr [edi], 0"]], "recomp": [["0x100024f3", "mov edx, 4"], ["0x100024f8", "mov dword ptr [ecx], 0"]]}, {"both": [["0x100024fe", "jmp 0x2", "0x100024fe"]]}, {"orig": [["0x10002500", "fstp dword ptr [edi]"], ["0x10002502", "fld dword ptr [edx]"], ["0x10002504", "fmul dword ptr [esi]"]], "recomp": [["0x10002500", "fstp dword ptr [ecx]"], ["0x10002502", "fld dword ptr [esi]"], ["0x10002504", "fmul dword ptr [edi]"], ["0x10002506", "add edi, 0x10"]]}, {"both": [["0x10002506", "add esi, 4", "0x10002509"]]}, {"orig": [["0x10002509", "add edx, 0x10"], ["0x1000250c", "dec ecx"], ["0x1000250d", "fadd dword ptr [edi]"]], "recomp": [["0x1000250c", "dec edx"], ["0x1000250d", "fadd dword ptr [ecx]"]]}, {"both": [["0x1000250f", "jne -0x11", "0x1000250f"]]}, {"orig": [["0x10002511", "fstp dword ptr [edi]"], ["0x10002513", "add edi, 4"]], "recomp": [["0x10002511", "fstp dword ptr [ecx]"], ["0x10002513", "add ecx, 4"]]}, {"both": [["0x10002516", "add eax, 4", "0x10002516"], ["0x10002519", "dec ebp", "0x10002519"], ["0x1000251a", "jne -0x2d", "0x1000251a"], ["0x1000251c", "add ebx, 0x10", "0x1000251c"], ["0x1000251f", "dec dword ptr [esp + 0x10]", "0x1000251f"], ["0x10002523", "jne -0x3f", "0x10002523"], ["0x10002525", "pop ebp", "0x10002525"], ["0x10002526", "pop edi", "0x10002526"], ["0x10002527", "pop esi", "0x10002527"], ["0x10002528", "pop ebx", "0x10002528"]]}]]]}, {"address": "0x10002530", "recomp": "0x10002530", "name": "Matrix4::Product", "matching": 1.0, "diff": []}, {"address": "0x10002550", "recomp": "0x10002550", "name": "Matrix4::ToQuaternion", "matching": 0.9440993788819876, "diff": [["@@ -0x1000267f,50 +0x1000267f,50 @@", [{"both": [["0x1000267f", "mov ecx, dword ptr [eax]", "0x1000267f"], ["0x10002681", "mov edx, dword ptr [esp + 0x18]", "0x10002681"], ["0x10002685", "mov dword ptr [esp + 0x10], ecx", "0x10002685"], ["0x10002689", "push edx", "0x10002689"], ["0x1000268a", "push ebp", "0x1000268a"], ["0x1000268b", "mov ecx, edi", "0x1000268b"], ["0x1000268d", "call dword ptr [esp + 0x1c]", "0x1000268d"], ["0x10002691", "fld dword ptr [eax]", "0x10002691"], ["0x10002693", "fsubr dword ptr [esp + 0x10]", "0x10002693"], ["0x10002697", "mov ecx, dword ptr [esp + 0x1c]", "0x10002697"]]}, {"orig": [], "recomp": [["0x1000269b", "push ebx"]]}, {"both": [["0x1000269b", "push ebp", "0x1000269c"]]}, {"orig": [["0x1000269c", "push ebx"]], "recomp": []}, {"both": [["0x1000269d", "fmul dword ptr [esp + 0x28]", "0x1000269d"], ["0x100026a1", "fstp dword ptr [ecx + 0xc]", "0x100026a1"], ["0x100026a4", "mov edx, dword ptr [esi + 4]", "0x100026a4"], ["0x100026a7", "mov ecx, edi", "0x100026a7"], ["0x100026a9", "mov dword ptr [esp + 0x24], edx", "0x100026a9"], ["0x100026ad", "call dword ptr [esp + 0x1c]", "0x100026ad"], ["0x100026b1", "mov ecx, dword ptr [eax]", "0x100026b1"]]}, {"orig": [], "recomp": [["0x100026b3", "push ebp"], ["0x100026b4", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x100026b3", "push ebx", "0x100026b8"]]}, {"orig": [["0x100026b4", "mov dword ptr [esp + 0x14], ecx"], ["0x100026b8", "push ebp"]], "recomp": []}, {"both": [["0x100026b9", "mov ecx, edi", "0x100026b9"], ["0x100026bb", "call dword ptr [esp + 0x1c]", "0x100026bb"], ["0x100026bf", "fld dword ptr [eax]", "0x100026bf"], ["0x100026c1", "fadd dword ptr [esp + 0x10]", "0x100026c1"], ["0x100026c5", "mov ecx, dword ptr [esp + 0x1c]", "0x100026c5"]]}, {"orig": [["0x100026c9", "mov eax, dword ptr [esp + 0x18]"]], "recomp": [["0x100026c9", "push ebx"], ["0x100026ca", "mov eax, dword ptr [esp + 0x1c]"], ["0x100026ce", "fmul dword ptr [esp + 0x24]"]]}, {"both": [["0x100026cd", "push eax", "0x100026d2"]]}, {"orig": [["0x100026ce", "push ebx"], ["0x100026cf", "fmul dword ptr [esp + 0x28]"]], "recomp": []}, {"both": [["0x100026d3", "fstp dword ptr [ecx + ebp*4]", "0x100026d3"], ["0x100026d6", "mov esi, dword ptr [esi + 4]", "0x100026d6"], ["0x100026d9", "mov ecx, edi", "0x100026d9"], ["0x100026db", "call dword ptr [esp + 0x1c]", "0x100026db"], ["0x100026df", "mov eax, dword ptr [eax]", "0x100026df"]]}, {"orig": [], "recomp": [["0x100026e1", "mov ecx, dword ptr [esp + 0x18]"], ["0x100026e5", "mov dword ptr [esp + 0x10], eax"], ["0x100026e9", "push ecx"]]}, {"both": [["0x100026e1", "push ebx", "0x100026ea"]]}, {"orig": [["0x100026e2", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100026e6", "mov dword ptr [esp + 0x14], eax"], ["0x100026ea", "push ecx"]], "recomp": []}, {"both": [["0x100026eb", "mov ecx, edi", "0x100026eb"], ["0x100026ed", "call dword ptr [esp + 0x1c]", "0x100026ed"], ["0x100026f1", "fld dword ptr [eax]", "0x100026f1"], ["0x100026f3", "fadd dword ptr [esp + 0x10]", "0x100026f3"], ["0x100026f7", "mov ecx, dword ptr [esp + 0x18]", "0x100026f7"], ["0x100026fb", "fmul dword ptr [esp + 0x20]", "0x100026fb"], ["0x100026ff", "pop ebp", "0x100026ff"], ["0x10002700", "pop edi", "0x10002700"], ["0x10002701", "fstp dword ptr [esi + ecx*4]", "0x10002701"], ["0x10002704", "pop esi", "0x10002704"]]}]]]}, {"address": "0x10002710", "recomp": "0x10002710", "name": "Matrix4::FromQuaternion", "matching": 0.9577464788732394, "diff": [["@@ -0x10002714,21 +0x10002714,21 @@", [{"both": [["0x10002714", "push edi", "0x10002714"], ["0x10002715", "mov esi, ecx", "0x10002715"], ["0x10002717", "mov edi, dword ptr [esp + 0x18]", "0x10002717"], ["0x1000271b", "mov ecx, edi", "0x1000271b"], ["0x1000271d", "mov eax, dword ptr [edi]", "0x1000271d"], ["0x1000271f", "call dword ptr [eax + 0x40]", "0x1000271f"], ["0x10002722", "fcom dword ptr [0.0 (FLOAT)]", "0x10002722"], ["0x10002728", "fstp dword ptr [esp + 8]", "0x10002728"], ["0x1000272c", "fnstsw ax", "0x1000272c"], ["0x1000272e", "test ah, 0x41", "0x1000272e"]]}, {"orig": [["0x10002731", "jne 0x100"]], "recomp": [["0x10002731", "jne 0x102"]]}, {"both": [["0x10002737", "fld dword ptr [2.0 (FLOAT)]", "0x10002737"], ["0x1000273d", "fdiv dword ptr [esp + 8]", "0x1000273d"], ["0x10002741", "mov eax, dword ptr [edi + 4]", "0x10002741"], ["0x10002744", "fld dword ptr [eax]", "0x10002744"], ["0x10002746", "fmul st(1)", "0x10002746"], ["0x10002748", "fld dword ptr [eax + 4]", "0x10002748"], ["0x1000274b", "fmul st(2)", "0x1000274b"], ["0x1000274d", "fxch st(2)", "0x1000274d"], ["0x1000274f", "fmul dword ptr [eax + 8]", "0x1000274f"], ["0x10002752", "fld dword ptr [eax + 0xc]", "0x10002752"]]}]], ["@@ -0x1000276f,22 +0x1000276f,22 @@", [{"both": [["0x1000276f", "fmul st(4)", "0x1000276f"], ["0x10002771", "fstp dword ptr [esp + 0xc]", "0x10002771"], ["0x10002775", "fxch st(5)", "0x10002775"], ["0x10002777", "fmul dword ptr [eax + 4]", "0x10002777"], ["0x1000277a", "fld dword ptr [eax + 4]", "0x1000277a"], ["0x1000277d", "fmul st(4)", "0x1000277d"], ["0x1000277f", "mov ecx, dword ptr [esi + 4]", "0x1000277f"], ["0x10002782", "fstp dword ptr [esp + 0x10]", "0x10002782"], ["0x10002786", "fxch st(3)", "0x10002786"], ["0x10002788", "fmul dword ptr [eax + 8]", "0x10002788"]]}, {"orig": [["0x1000278b", "fld st(3)"], ["0x1000278d", "fadd st(1)"]], "recomp": [["0x1000278b", "fld st(0)"], ["0x1000278d", "fadd st(4)"]]}, {"both": [["0x1000278f", "fsubr dword ptr [1.0 (FLOAT)]", "0x1000278f"], ["0x10002795", "fstp dword ptr [ecx]", "0x10002795"], ["0x10002797", "mov ecx, dword ptr [esi + 4]", "0x10002797"], ["0x1000279a", "fld dword ptr [esp + 8]", "0x1000279a"], ["0x1000279e", "fadd st(5)", "0x1000279e"], ["0x100027a0", "fstp dword ptr [ecx + 0x10]", "0x100027a0"], ["0x100027a3", "mov ecx, dword ptr [esi + 4]", "0x100027a3"], ["0x100027a6", "fld dword ptr [esp + 0xc]", "0x100027a6"], ["0x100027aa", "fsub st(2)", "0x100027aa"], ["0x100027ac", "fstp dword ptr [ecx + 0x20]", "0x100027ac"]]}]], ["@@ -0x100027cb,22 +0x100027cb,23 @@", [{"both": [["0x100027cb", "mov ecx, dword ptr [esi + 4]", "0x100027cb"], ["0x100027ce", "fld dword ptr [esp + 0x10]", "0x100027ce"], ["0x100027d2", "fadd st(2)", "0x100027d2"], ["0x100027d4", "fstp dword ptr [ecx + 0x24]", "0x100027d4"], ["0x100027d7", "fadd dword ptr [esp + 0xc]", "0x100027d7"], ["0x100027db", "mov ecx, dword ptr [esi + 4]", "0x100027db"], ["0x100027de", "fstp dword ptr [ecx + 8]", "0x100027de"], ["0x100027e1", "fsubr dword ptr [esp + 0x10]", "0x100027e1"], ["0x100027e5", "mov ecx, dword ptr [esi + 4]", "0x100027e5"], ["0x100027e8", "fstp dword ptr [ecx + 0x18]", "0x100027e8"]]}, {"orig": [["0x100027eb", "fadd st(2)"]], "recomp": [["0x100027eb", "fadd st(2), st(0)"]]}, {"both": [["0x100027ed", "mov ecx, dword ptr [esi + 4]", "0x100027ed"]]}, {"orig": [], "recomp": [["0x100027f0", "fxch st(2)"]]}, {"both": [["0x100027f0", "fsubr dword ptr [1.0 (FLOAT)]", "0x100027f2"], ["0x100027f6", "fstp dword ptr [ecx + 0x28]", "0x100027f8"], ["0x100027f9", "mov eax, dword ptr [esi + 4]", "0x100027fb"], ["0x100027fc", "xor ecx, ecx", "0x100027fe"], ["0x100027fe", "mov dword ptr [eax + 0x30], ecx", "0x10002800"], ["0x10002801", "mov eax, dword ptr [esi + 4]", "0x10002803"], ["0x10002804", "mov dword ptr [eax + 0x34], ecx", "0x10002806"], ["0x10002807", "mov eax, dword ptr [esi + 4]", "0x10002809"], ["0x1000280a", "mov dword ptr [eax + 0x38], ecx", "0x1000280c"], ["0x1000280d", "mov eax, dword ptr [esi + 4]", "0x1000280f"]]}]]]}, {"address": "0x10002850", "recomp": "0x10002850", "name": "MxMatrix::operator=", "matching": 1.0, "diff": []}, {"address": "0x10002860", "recomp": "0x10002860", "name": "MxMatrix::operator=", "matching": 1.0, "diff": []}, {"address": "0x10002870", "recomp": "0x10002870", "name": "Vector4::AddImpl", "matching": 1.0, "effective": true, "diff": [["@@ -0x10002870,14 +0x10002870,14 @@", [{"both": [["0x10002870", "mov eax, dword ptr [ecx + 4]", "0x10002870"], ["0x10002873", "mov edx, dword ptr [esp + 4]", "0x10002873"]]}, {"orig": [["0x10002877", "fld dword ptr [eax]"], ["0x10002879", "fadd dword ptr [edx]"]], "recomp": [["0x10002877", "fld dword ptr [edx]"], ["0x10002879", "fadd dword ptr [eax]"]]}, {"both": [["0x1000287b", "fstp dword ptr [eax]", "0x1000287b"], ["0x1000287d", "fld dword ptr [edx + 4]", "0x1000287d"], ["0x10002880", "mov eax, dword ptr [ecx + 4]", "0x10002880"], ["0x10002883", "add eax, 4", "0x10002883"], ["0x10002886", "fadd dword ptr [eax]", "0x10002886"], ["0x10002888", "fstp dword ptr [eax]", "0x10002888"], ["0x1000288a", "fld dword ptr [edx + 8]", "0x1000288a"], ["0x1000288d", "mov eax, dword ptr [ecx + 4]", "0x1000288d"], ["0x10002890", "add eax, 8", "0x10002890"], ["0x10002893", "fadd dword ptr [eax]", "0x10002893"]]}]]]}, {"address": "0x100028b0", "recomp": "0x100028b0", "name": "Vector4::AddImpl", "matching": 1.0, "diff": []}, {"address": "0x100028f0", "recomp": "0x100028f0", "name": "Vector4::SubImpl", "matching": 1.0, "diff": []}, {"address": "0x10002930", "recomp": "0x10002930", "name": "Vector4::MulImpl", "matching": 1.0, "effective": true, "diff": [["@@ -0x10002930,14 +0x10002930,14 @@", [{"both": [["0x10002930", "mov eax, dword ptr [ecx + 4]", "0x10002930"], ["0x10002933", "mov edx, dword ptr [esp + 4]", "0x10002933"]]}, {"orig": [["0x10002937", "fld dword ptr [edx]"], ["0x10002939", "fmul dword ptr [eax]"]], "recomp": [["0x10002937", "fld dword ptr [eax]"], ["0x10002939", "fmul dword ptr [edx]"]]}, {"both": [["0x1000293b", "fstp dword ptr [eax]", "0x1000293b"], ["0x1000293d", "fld dword ptr [edx + 4]", "0x1000293d"], ["0x10002940", "mov eax, dword ptr [ecx + 4]", "0x10002940"], ["0x10002943", "add eax, 4", "0x10002943"], ["0x10002946", "fmul dword ptr [eax]", "0x10002946"], ["0x10002948", "fstp dword ptr [eax]", "0x10002948"], ["0x1000294a", "fld dword ptr [edx + 8]", "0x1000294a"], ["0x1000294d", "mov eax, dword ptr [ecx + 4]", "0x1000294d"], ["0x10002950", "add eax, 8", "0x10002950"], ["0x10002953", "fmul dword ptr [eax]", "0x10002953"]]}]]]}, {"address": "0x10002970", "recomp": "0x10002970", "name": "Vector4::MulImpl", "matching": 1.0, "diff": []}, {"address": "0x100029b0", "recomp": "0x100029b0", "name": "Vector4::DivImpl", "matching": 1.0, "diff": []}, {"address": "0x100029f0", "recomp": "0x100029f0", "name": "Vector4::DotImpl", "matching": 1.0, "diff": []}, {"address": "0x10002a20", "recomp": "0x10002a20", "name": "Vector4::EqualsImpl", "matching": 1.0, "diff": []}, {"address": "0x10002a40", "recomp": "0x10002a40", "name": "Vector4::SetMatrixProduct", "matching": 0.7719298245614035, "diff": [["@@ -0x10002a40,54 +0x10002a40,54 @@", [{"both": [["0x10002a40", "mov edx, dword ptr [esp + 4]", "0x10002a40"], ["0x10002a44", "push esi", "0x10002a44"], ["0x10002a45", "mov esi, dword ptr [esp + 0xc]", "0x10002a45"]]}, {"orig": [["0x10002a49", "fld dword ptr [esi + 0x30]"], ["0x10002a4c", "fmul dword ptr [edx + 0xc]"]], "recomp": [["0x10002a49", "fld dword ptr [edx + 0xc]"], ["0x10002a4c", "fmul dword ptr [esi + 0x30]"]]}, {"both": [["0x10002a4f", "fld dword ptr [esi + 0x20]", "0x10002a4f"], ["0x10002a52", "fmul dword ptr [edx + 8]", "0x10002a52"], ["0x10002a55", "faddp st(1)", "0x10002a55"], ["0x10002a57", "fld dword ptr [esi + 0x10]", "0x10002a57"], ["0x10002a5a", "fmul dword ptr [edx + 4]", "0x10002a5a"], ["0x10002a5d", "mov eax, dword ptr [ecx + 4]", "0x10002a5d"], ["0x10002a60", "faddp st(1)", "0x10002a60"]]}, {"orig": [["0x10002a62", "fld dword ptr [edx]"], ["0x10002a64", "fmul dword ptr [esi]"]], "recomp": [["0x10002a62", "fld dword ptr [esi]"], ["0x10002a64", "fmul dword ptr [edx]"]]}, {"both": [["0x10002a66", "faddp st(1)", "0x10002a66"], ["0x10002a68", "fstp dword ptr [eax]", "0x10002a68"], ["0x10002a6a", "fld dword ptr [esi + 0x24]", "0x10002a6a"], ["0x10002a6d", "fmul dword ptr [edx + 8]", "0x10002a6d"], ["0x10002a70", "fld dword ptr [esi + 0x14]", "0x10002a70"], ["0x10002a73", "fmul dword ptr [edx + 4]", "0x10002a73"], ["0x10002a76", "faddp st(1)", "0x10002a76"], ["0x10002a78", "fld dword ptr [esi + 4]", "0x10002a78"], ["0x10002a7b", "fmul dword ptr [edx]", "0x10002a7b"], ["0x10002a7d", "mov eax, dword ptr [ecx + 4]", "0x10002a7d"], ["0x10002a80", "faddp st(1)", "0x10002a80"], ["0x10002a82", "fld dword ptr [esi + 0x34]", "0x10002a82"]]}, {"orig": [["0x10002a85", "fmul dword ptr [edx + 0xc]"]], "recomp": [["0x10002a85", "fmul dword ptr [edx + 0x10]"]]}, {"both": [["0x10002a88", "faddp st(1)", "0x10002a88"], ["0x10002a8a", "fstp dword ptr [eax + 4]", "0x10002a8a"]]}, {"orig": [["0x10002a8d", "fld dword ptr [esi + 0x38]"], ["0x10002a90", "fmul dword ptr [edx + 0xc]"], ["0x10002a93", "fld dword ptr [esi + 0x18]"], ["0x10002a96", "fmul dword ptr [edx + 4]"], ["0x10002a99", "faddp st(1)"]], "recomp": []}, {"both": [["0x10002a9b", "fld dword ptr [esi + 8]", "0x10002a8d"], ["0x10002a9e", "fmul dword ptr [edx]", "0x10002a90"]]}, {"orig": [["0x10002aa0", "mov eax, dword ptr [ecx + 4]"], ["0x10002aa3", "faddp st(1)"]], "recomp": []}, {"both": [["0x10002aa5", "fld dword ptr [esi + 0x28]", "0x10002a92"], ["0x10002aa8", "fmul dword ptr [edx + 8]", "0x10002a95"], ["0x10002aab", "faddp st(1)", "0x10002a98"]]}, {"orig": [], "recomp": [["0x10002a9a", "fld dword ptr [esi + 0x18]"], ["0x10002a9d", "fmul dword ptr [edx + 4]"], ["0x10002aa0", "mov eax, dword ptr [ecx + 4]"], ["0x10002aa3", "faddp st(1)"], ["0x10002aa5", "fld dword ptr [esi + 0x38]"], ["0x10002aa8", "fmul dword ptr [edx + 0x10]"], ["0x10002aab", "faddp st(1)"]]}, {"both": [["0x10002aad", "fstp dword ptr [eax + 8]", "0x10002aad"], ["0x10002ab0", "fld dword ptr [esi + 0x3c]", "0x10002ab0"]]}, {"orig": [["0x10002ab3", "fmul dword ptr [edx + 0xc]"]], "recomp": [["0x10002ab3", "fmul dword ptr [edx + 0x10]"]]}, {"both": [["0x10002ab6", "fld dword ptr [esi + 0x2c]", "0x10002ab6"], ["0x10002ab9", "fmul dword ptr [edx + 8]", "0x10002ab9"], ["0x10002abc", "faddp st(1)", "0x10002abc"], ["0x10002abe", "fld dword ptr [esi + 0x1c]", "0x10002abe"], ["0x10002ac1", "fmul dword ptr [edx + 4]", "0x10002ac1"], ["0x10002ac4", "mov eax, dword ptr [ecx + 4]", "0x10002ac4"], ["0x10002ac7", "faddp st(1)", "0x10002ac7"], ["0x10002ac9", "fld dword ptr [esi + 0xc]", "0x10002ac9"], ["0x10002acc", "fmul dword ptr [edx]", "0x10002acc"], ["0x10002ace", "pop esi", "0x10002ace"]]}]]]}, {"address": "0x10002ae0", "recomp": "0x10002ae0", "name": "Vector4::SetMatrixProduct", "matching": 1.0, "diff": []}, {"address": "0x10002b00", "recomp": "0x10002b00", "name": "Vector4::Clear", "matching": 1.0, "diff": []}, {"address": "0x10002b20", "recomp": "0x10002b20", "name": "Vector4::LenSquared", "matching": 1.0, "diff": []}, {"address": "0x10002b40", "recomp": "0x10002b40", "name": "Vector4::Fill", "matching": 1.0, "diff": []}, {"address": "0x10002b70", "recomp": "0x10002b70", "name": "Vector4::NormalizeQuaternion", "matching": 1.0, "effective": true, "diff": [["@@ -0x10002b70,16 +0x10002b70,16 @@", [{"both": [["0x10002b70", "sub esp, 8", "0x10002b70"], ["0x10002b73", "mov edx, dword ptr [ecx + 4]", "0x10002b73"]]}, {"orig": [], "recomp": [["0x10002b76", "fld dword ptr [edx + 8]"], ["0x10002b79", "fmul dword ptr [edx + 8]"]]}, {"both": [["0x10002b76", "fld dword ptr [edx + 4]", "0x10002b7c"], ["0x10002b79", "fmul dword ptr [edx + 4]", "0x10002b7f"]]}, {"orig": [["0x10002b7c", "fld dword ptr [edx + 8]"], ["0x10002b7f", "fmul dword ptr [edx + 8]"]], "recomp": []}, {"both": [["0x10002b82", "faddp st(1)", "0x10002b82"], ["0x10002b84", "fld dword ptr [edx]", "0x10002b84"], ["0x10002b86", "fmul dword ptr [edx]", "0x10002b86"], ["0x10002b88", "faddp st(1)", "0x10002b88"], ["0x10002b8a", "fcom dword ptr [0.0 (FLOAT)]", "0x10002b8a"], ["0x10002b90", "fstp dword ptr [esp]", "0x10002b90"], ["0x10002b94", "fnstsw ax", "0x10002b94"], ["0x10002b96", "test ah, 0x41", "0x10002b96"], ["0x10002b99", "jne 0x45", "0x10002b99"], ["0x10002b9b", "fld dword ptr [edx + 0xc]", "0x10002b9b"]]}]]]}, {"address": "0x10002bf0", "recomp": "0x10002bf0", "name": "Vector4::EqualsHamiltonProduct", "matching": 0.825, "diff": [["@@ -0x10002bf0,56 +0x10002bf0,56 @@", [{"orig": [["0x10002bf0", "mov edx, dword ptr [esp + 8]"]], "recomp": [["0x10002bf0", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x10002bf4", "push ebx", "0x10002bf4"], ["0x10002bf5", "push esi", "0x10002bf5"], ["0x10002bf6", "push edi", "0x10002bf6"]]}, {"orig": [["0x10002bf7", "mov esi, dword ptr [esp + 0x10]"], ["0x10002bfb", "mov eax, dword ptr [edx + 4]"], ["0x10002bfe", "mov edi, dword ptr [esi + 4]"], ["0x10002c01", "fld dword ptr [edi + 4]"], ["0x10002c04", "fmul dword ptr [eax + 4]"], ["0x10002c07", "fld dword ptr [edi + 8]"], ["0x10002c0a", "fmul dword ptr [eax + 8]"]], "recomp": [["0x10002bf7", "mov edi, dword ptr [edx + 4]"], ["0x10002bfa", "mov esi, dword ptr [esp + 0x14]"], ["0x10002bfe", "mov eax, dword ptr [esi + 4]"], ["0x10002c01", "fld dword ptr [eax + 4]"], ["0x10002c04", "fmul dword ptr [edi + 4]"], ["0x10002c07", "fld dword ptr [eax + 8]"], ["0x10002c0a", "fmul dword ptr [edi + 8]"]]}, {"both": [["0x10002c0d", "faddp st(1)", "0x10002c0d"], ["0x10002c0f", "fld dword ptr [eax]", "0x10002c0f"], ["0x10002c11", "fmul dword ptr [edi]", "0x10002c11"], ["0x10002c13", "mov ebx, dword ptr [ecx + 4]", "0x10002c13"], ["0x10002c16", "faddp st(1)", "0x10002c16"], ["0x10002c18", "fld dword ptr [edi + 0xc]", "0x10002c18"], ["0x10002c1b", "fmul dword ptr [eax + 0xc]", "0x10002c1b"], ["0x10002c1e", "fsubrp st(1)", "0x10002c1e"], ["0x10002c20", "fstp dword ptr [ebx + 0xc]", "0x10002c20"]]}, {"orig": [["0x10002c23", "mov edi, dword ptr [edx + 4]"], ["0x10002c26", "mov ebx, dword ptr [esi + 4]"]], "recomp": [["0x10002c23", "mov edi, dword ptr [esi + 4]"], ["0x10002c26", "mov ebx, dword ptr [edx + 4]"]]}, {"both": [["0x10002c29", "mov eax, dword ptr [ecx + 4]", "0x10002c29"]]}, {"orig": [["0x10002c2c", "fld dword ptr [edi + 8]"], ["0x10002c2f", "fmul dword ptr [ebx + 4]"]], "recomp": [["0x10002c2c", "fld dword ptr [ebx + 4]"], ["0x10002c2f", "fmul dword ptr [edi + 8]"]]}, {"both": [["0x10002c32", "fld dword ptr [edi + 4]", "0x10002c32"], ["0x10002c35", "fmul dword ptr [ebx + 8]", "0x10002c35"], ["0x10002c38", "fsubp st(1)", "0x10002c38"], ["0x10002c3a", "fstp dword ptr [eax]", "0x10002c3a"], ["0x10002c3c", "fld dword ptr [ebx + 8]", "0x10002c3c"], ["0x10002c3f", "fmul dword ptr [edi]", "0x10002c3f"], ["0x10002c41", "fld dword ptr [edi + 8]", "0x10002c41"], ["0x10002c44", "fmul dword ptr [ebx]", "0x10002c44"], ["0x10002c46", "mov eax, dword ptr [ecx + 4]", "0x10002c46"], ["0x10002c49", "fsubp st(1)", "0x10002c49"], ["0x10002c4b", "fstp dword ptr [eax + 4]", "0x10002c4b"], ["0x10002c4e", "fld dword ptr [edi + 4]", "0x10002c4e"], ["0x10002c51", "fmul dword ptr [ebx]", "0x10002c51"], ["0x10002c53", "fld dword ptr [ebx + 4]", "0x10002c53"], ["0x10002c56", "fmul dword ptr [edi]", "0x10002c56"], ["0x10002c58", "mov eax, dword ptr [ecx + 4]", "0x10002c58"], ["0x10002c5b", "fsubp st(1)", "0x10002c5b"], ["0x10002c5d", "fstp dword ptr [eax + 8]", "0x10002c5d"], ["0x10002c60", "mov ebx, dword ptr [ecx + 4]", "0x10002c60"]]}, {"orig": [["0x10002c63", "mov edi, dword ptr [esi + 4]"], ["0x10002c66", "mov eax, dword ptr [edx + 4]"]], "recomp": [["0x10002c63", "mov edi, dword ptr [edx + 4]"], ["0x10002c66", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10002c69", "fld dword ptr [edi + 0xc]", "0x10002c69"], ["0x10002c6c", "fmul dword ptr [eax]", "0x10002c6c"], ["0x10002c6e", "fld dword ptr [eax + 0xc]", "0x10002c6e"], ["0x10002c71", "fmul dword ptr [edi]", "0x10002c71"], ["0x10002c73", "faddp st(1)", "0x10002c73"], ["0x10002c75", "fadd dword ptr [ebx]", "0x10002c75"], ["0x10002c77", "fstp dword ptr [ebx]", "0x10002c77"], ["0x10002c79", "mov edi, dword ptr [ecx + 4]", "0x10002c79"], ["0x10002c7c", "mov eax, dword ptr [esi + 4]", "0x10002c7c"], ["0x10002c7f", "add edi, 4", "0x10002c7f"]]}]]]}, {"address": "0x10002cc0", "recomp": "0x10002cc0", "name": "LegoActor::GetSoundFrequencyFactor", "matching": 1.0, "diff": []}, {"address": "0x10002cd0", "recomp": "0x10002cd0", "name": "LegoActor::SetSoundFrequencyFactor", "matching": 1.0, "diff": []}, {"address": "0x10002ce0", "recomp": "0x10002ce0", "name": "LegoActor::VTable0x58", "matching": 1.0, "diff": []}, {"address": "0x10002cf0", "recomp": "0x10002cf0", "name": "LegoActor::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10002d00", "recomp": "0x10002d00", "name": "LegoActor::GetActorId", "matching": 1.0, "diff": []}, {"address": "0x10002d10", "recomp": "0x10002d10", "name": "LegoActor::SetActorId", "matching": 1.0, "diff": []}, {"address": "0x10002d20", "recomp": "0x10002d20", "name": "LegoPathActor::SetUserNavFlag", "matching": 1.0, "diff": []}, {"address": "0x10002d30", "recomp": "0x10002d30", "name": "LegoPathActor::GetUserNavFlag", "matching": 1.0, "diff": []}, {"address": "0x10002d40", "recomp": "0x10002d40", "name": "LegoPathActor::VTable0x90", "matching": 1.0, "diff": []}, {"address": "0x10002d50", "recomp": "0x10002d50", "name": "LegoPathActor::HitActor", "matching": 1.0, "diff": []}, {"address": "0x10002d60", "recomp": "0x10002d60", "name": "LegoPathActor::VTable0xa0", "matching": 1.0, "diff": []}, {"address": "0x10002d70", "recomp": "0x10002d70", "name": "LegoPathActor::SetMaxLinearVel", "matching": 1.0, "diff": []}, {"address": "0x10002d80", "recomp": "0x10002d80", "name": "LegoPathActor::GetMaxLinearVel", "matching": 1.0, "diff": []}, {"address": "0x10002d90", "recomp": "0x10002d90", "name": "LegoPathActor::VTable0xb4", "matching": 1.0, "diff": []}, {"address": "0x10002da0", "recomp": "0x10002da0", "name": "LegoPathActor::VTable0xb8", "matching": 1.0, "diff": []}, {"address": "0x10002db0", "recomp": "0x10002db0", "name": "LegoPathActor::VTable0xbc", "matching": 1.0, "diff": []}, {"address": "0x10002dc0", "recomp": "0x10002dc0", "name": "LegoPathActor::VTable0xc0", "matching": 1.0, "diff": []}, {"address": "0x10002dd0", "recomp": "0x10002dd0", "name": "LegoPathActor::VTable0xc4", "matching": 1.0, "diff": []}, {"address": "0x10002de0", "recomp": "0x10002de0", "name": "LegoPathActor::VTable0xc8", "matching": 1.0, "diff": []}, {"address": "0x10002df0", "recomp": "0x10002df0", "name": "IslePathActor::HandleNotification0", "matching": 1.0, "diff": []}, {"address": "0x10002e00", "recomp": "0x10002e00", "name": "IslePathActor::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x10002e10", "recomp": "0x10002e10", "name": "IslePathActor::~IslePathActor", "matching": 1.0, "diff": []}, {"address": "0x10002e70", "recomp": "0x10002e70", "name": "IslePathActor::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10002e80", "recomp": "0x10002e80", "name": "IslePathActor::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10002e90", "recomp": "0x10002e90", "name": "IslePathActor::HandleEndAnim", "matching": 1.0, "diff": []}, {"address": "0x10002ea0", "recomp": "0x10002ea0", "name": "IslePathActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10002eb0", "recomp": "0x10002eb0", "name": "IslePathActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x10002ff0", "recomp": "0x10002ff0", "name": "IslePathActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10003070", "recomp": "0x10003080", "name": "Helicopter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10003080", "recomp": "0x10003090", "name": "Helicopter::IsA", "matching": 1.0, "diff": []}, {"address": "0x10003200", "recomp": "0x10003070", "name": "Mx4DPointFloat::operator=", "matching": 1.0, "diff": []}, {"address": "0x10003210", "recomp": "0x10003210", "name": "Helicopter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10003230", "recomp": "0x10003230", "name": "Helicopter::~Helicopter", "matching": 1.0, "diff": []}, {"address": "0x100032c0", "recomp": "0x100032c0", "name": "Helicopter::Create", "matching": 1.0, "diff": []}, {"address": "0x10003320", "recomp": "0x10003320", "name": "Helicopter::CreateState", "matching": 1.0, "diff": []}, {"address": "0x10003360", "recomp": "0x10003360", "name": "Helicopter::Exit", "matching": 1.0, "diff": []}, {"address": "0x10003480", "recomp": "0x10003480", "name": "Helicopter::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x100035e0", "recomp": "0x100035e0", "name": "Helicopter::HandleControl", "matching": 0.9907120743034056, "diff": [["@@ -0x100038a7,25 +0x100038a7,25 @@", [{"both": [["0x100038a7", "push ecx", "0x100038a7"], ["0x100038a8", "lea ecx, [ebp - 0x3c]", "0x100038a8"], ["0x100038ab", "call dword ptr [eax + 0x48]", "0x100038ab"], ["0x100038ae", "lea ecx, [ebp - 0x5c]", "0x100038ae"], ["0x100038b1", "lea eax, [ebp - 0x98]", "0x100038b1"], ["0x100038b7", "lea edx, [ebp - 0x70]", "0x100038b7"], ["0x100038ba", "mov dword ptr [ebp - 0x60], ecx", "0x100038ba"], ["0x100038bd", "mov ecx, Mx3DPointFloat::`vftable' (VTABLE)", "0x100038bd"], ["0x100038c2", "lea ebx, [ebp - 0x84]", "0x100038c2"], ["0x100038c8", "mov dword ptr [ebp - 0x64], ecx", "0x100038c8"]]}, {"orig": [], "recomp": [["0x100038cb", "mov dword ptr [ebp - 0x9c], eax"], ["0x100038d1", "mov dword ptr [ebp - 0xa0], ecx"]]}, {"both": [["0x100038cb", "mov dword ptr [ebp - 0x74], edx", "0x100038d7"]]}, {"orig": [["0x100038ce", "mov dword ptr [ebp - 0x9c], eax"]], "recomp": [["0x100038da", "xor eax, eax"]]}, {"both": [["0x100038d4", "mov dword ptr [ebp - 0x78], ecx", "0x100038dc"]]}, {"orig": [["0x100038d7", "xor eax, eax"], ["0x100038d9", "mov dword ptr [ebp - 0xa0], ecx"]], "recomp": []}, {"both": [["0x100038df", "mov dword ptr [ebp - 0x88], ebx", "0x100038df"], ["0x100038e5", "mov dword ptr [ebp - 0x8c], ecx", "0x100038e5"], ["0x100038eb", "lea ecx, [ebp - 0xb4]", "0x100038eb"], ["0x100038f1", "mov edx, dword ptr [esi + 0x154]", "0x100038f1"], ["0x100038f7", "push ecx", "0x100038f7"], ["0x100038f8", "mov dword ptr [ebp - 0x84], eax", "0x100038f8"], ["0x100038fe", "mov dword ptr [ebp - 0x80], 0x3f800000", "0x100038fe"], ["0x10003905", "mov dword ptr [ebp - 0x7c], eax", "0x10003905"], ["0x10003908", "mov ecx, dword ptr [edx + 0x98]", "0x10003908"], ["0x1000390e", "call LegoCameraController::GetWorldUp (FUNCTION)", "0x1000390e"]]}]]]}, {"address": "0x10003a60", "recomp": "0x10003a60", "name": "Vector3::AddImpl", "matching": 1.0, "effective": true, "diff": [["@@ -0x10003a60,14 +0x10003a60,14 @@", [{"both": [["0x10003a60", "mov eax, dword ptr [ecx + 4]", "0x10003a60"], ["0x10003a63", "mov edx, dword ptr [esp + 4]", "0x10003a63"]]}, {"orig": [["0x10003a67", "fld dword ptr [eax]"], ["0x10003a69", "fadd dword ptr [edx]"]], "recomp": [["0x10003a67", "fld dword ptr [edx]"], ["0x10003a69", "fadd dword ptr [eax]"]]}, {"both": [["0x10003a6b", "fstp dword ptr [eax]", "0x10003a6b"], ["0x10003a6d", "fld dword ptr [edx + 4]", "0x10003a6d"], ["0x10003a70", "mov eax, dword ptr [ecx + 4]", "0x10003a70"], ["0x10003a73", "add eax, 4", "0x10003a73"], ["0x10003a76", "fadd dword ptr [eax]", "0x10003a76"], ["0x10003a78", "fstp dword ptr [eax]", "0x10003a78"], ["0x10003a7a", "fld dword ptr [edx + 8]", "0x10003a7a"], ["0x10003a7d", "mov eax, dword ptr [ecx + 4]", "0x10003a7d"], ["0x10003a80", "add eax, 8", "0x10003a80"], ["0x10003a83", "fadd dword ptr [eax]", "0x10003a83"]]}]]]}, {"address": "0x10003a90", "recomp": "0x10003a90", "name": "Vector3::AddImpl", "matching": 1.0, "diff": []}, {"address": "0x10003ac0", "recomp": "0x10003ac0", "name": "Vector3::SubImpl", "matching": 1.0, "diff": []}, {"address": "0x10003af0", "recomp": "0x10003af0", "name": "Vector3::MulImpl", "matching": 1.0, "effective": true, "diff": [["@@ -0x10003af0,14 +0x10003af0,14 @@", [{"both": [["0x10003af0", "mov eax, dword ptr [ecx + 4]", "0x10003af0"], ["0x10003af3", "mov edx, dword ptr [esp + 4]", "0x10003af3"]]}, {"orig": [["0x10003af7", "fld dword ptr [edx]"], ["0x10003af9", "fmul dword ptr [eax]"]], "recomp": [["0x10003af7", "fld dword ptr [eax]"], ["0x10003af9", "fmul dword ptr [edx]"]]}, {"both": [["0x10003afb", "fstp dword ptr [eax]", "0x10003afb"], ["0x10003afd", "fld dword ptr [edx + 4]", "0x10003afd"], ["0x10003b00", "mov eax, dword ptr [ecx + 4]", "0x10003b00"], ["0x10003b03", "add eax, 4", "0x10003b03"], ["0x10003b06", "fmul dword ptr [eax]", "0x10003b06"], ["0x10003b08", "fstp dword ptr [eax]", "0x10003b08"], ["0x10003b0a", "fld dword ptr [edx + 8]", "0x10003b0a"], ["0x10003b0d", "mov eax, dword ptr [ecx + 4]", "0x10003b0d"], ["0x10003b10", "add eax, 8", "0x10003b10"], ["0x10003b13", "fmul dword ptr [eax]", "0x10003b13"]]}]]]}, {"address": "0x10003b20", "recomp": "0x10003b20", "name": "Vector3::MulImpl", "matching": 1.0, "diff": []}, {"address": "0x10003b50", "recomp": "0x10003b50", "name": "Vector3::DivImpl", "matching": 1.0, "diff": []}, {"address": "0x10003b80", "recomp": "0x10003b80", "name": "Vector3::DotImpl", "matching": 1.0, "effective": true, "diff": [["@@ -0x10003b80,11 +0x10003b80,11 @@", [{"both": [["0x10003b80", "mov ecx, dword ptr [esp + 8]", "0x10003b80"], ["0x10003b84", "mov eax, dword ptr [esp + 4]", "0x10003b84"], ["0x10003b88", "fld dword ptr [ecx + 4]", "0x10003b88"], ["0x10003b8b", "fmul dword ptr [eax + 4]", "0x10003b8b"], ["0x10003b8e", "fld dword ptr [ecx + 8]", "0x10003b8e"], ["0x10003b91", "fmul dword ptr [eax + 8]", "0x10003b91"], ["0x10003b94", "faddp st(1)", "0x10003b94"]]}, {"orig": [["0x10003b96", "fld dword ptr [eax]"], ["0x10003b98", "fmul dword ptr [ecx]"]], "recomp": [["0x10003b96", "fld dword ptr [ecx]"], ["0x10003b98", "fmul dword ptr [eax]"]]}, {"both": [["0x10003b9a", "faddp st(1)", "0x10003b9a"], ["0x10003b9c", "ret 8", "0x10003b9c"]]}]]]}, {"address": "0x10003ba0", "recomp": "0x10003ba0", "name": "Vector3::EqualsImpl", "matching": 1.0, "diff": []}, {"address": "0x10003bc0", "recomp": "0x10003bc0", "name": "Vector3::Clear", "matching": 1.0, "diff": []}, {"address": "0x10003bd0", "recomp": "0x10003bd0", "name": "Vector3::LenSquared", "matching": 1.0, "effective": true, "diff": [["@@ -0x10003bd0,10 +0x10003bd0,10 @@", [{"both": [["0x10003bd0", "mov eax, dword ptr [ecx + 4]", "0x10003bd0"]]}, {"orig": [], "recomp": [["0x10003bd3", "fld dword ptr [eax + 4]"], ["0x10003bd6", "fmul dword ptr [eax + 4]"]]}, {"both": [["0x10003bd3", "fld dword ptr [eax + 8]", "0x10003bd9"], ["0x10003bd6", "fmul dword ptr [eax + 8]", "0x10003bdc"]]}, {"orig": [["0x10003bd9", "fld dword ptr [eax + 4]"], ["0x10003bdc", "fmul dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x10003bdf", "faddp st(1)", "0x10003bdf"], ["0x10003be1", "fld dword ptr [eax]", "0x10003be1"], ["0x10003be3", "fmul dword ptr [eax]", "0x10003be3"], ["0x10003be5", "faddp st(1)", "0x10003be5"], ["0x10003be7", "ret ", "0x10003be7"]]}]]]}, {"address": "0x10003bf0", "recomp": "0x10003bf0", "name": "Vector3::Fill", "matching": 1.0, "diff": []}, {"address": "0x10003c10", "recomp": "0x10003c10", "name": "Mx3DPointFloat::operator=", "matching": 1.0, "diff": []}, {"address": "0x10003c20", "recomp": "0x10003c20", "name": "Helicopter::HandleEndAnim", "matching": 1.0, "diff": []}, {"address": "0x10003e90", "recomp": "0x10003e90", "name": "Helicopter::VTable0x74", "matching": 1.0, "diff": []}, {"address": "0x10003ee0", "recomp": "0x10003ee0", "name": "Helicopter::Animate", "matching": 0.9230769230769231, "diff": [["@@ -0x10003f4d,32 +0x10003f4d,32 @@", [{"both": [["0x10003f4d", "fstp dword ptr [esp + 4]", "0x10003f4d"], ["0x10003f51", "fnstsw ax", "0x10003f51"], ["0x10003f53", "test ah, 1", "0x10003f53"], ["0x10003f56", "je 0x8", "0x10003f56"], ["0x10003f58", "mov dword ptr [esp + 4], 0", "0x10003f58"], ["0x10003f60", "mov eax, 0x3f800000", "0x10003f60"], ["0x10003f65", "cmp dword ptr [esp + 4], eax", "0x10003f65"], ["0x10003f69", "jle 0x4", "0x10003f69"], ["0x10003f6b", "mov dword ptr [esp + 4], eax", "0x10003f6b"], ["0x10003f6f", "lea eax, [esp + 0x30]", "0x10003f6f"]]}, {"orig": [["0x10003f73", "mov ecx, Vector3::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10003f78", "mov dword ptr [esp + 0x2c], eax", "0x10003f73"]]}, {"orig": [["0x10003f7c", "mov dword ptr [esp + 0x18], ecx"]], "recomp": [["0x10003f77", "mov eax, dword ptr [esi + 0x164]"], ["0x10003f7d", "add eax, 0x30"], ["0x10003f80", "lea ecx, [esp + 0x60]"], ["0x10003f84", "mov dword ptr [esp + 0x1c], eax"], ["0x10003f88", "mov dword ptr [esp + 0xc], ecx"]]}, {"both": [["0x10003f80", "mov dword ptr [esp + 0x28], MxMatrix::`vftable' (VTABLE)", "0x10003f8c"]]}, {"orig": [["0x10003f88", "mov eax, dword ptr [esi + 0x164]"], ["0x10003f8e", "lea edx, [esp + 0x60]"], ["0x10003f92", "add eax, 0x30"], ["0x10003f95", "mov dword ptr [esp + 0xc], edx"], ["0x10003f99", "mov dword ptr [esp + 0x1c], eax"], ["0x10003f9d", "mov dword ptr [esp + 8], ecx"]], "recomp": [["0x10003f94", "mov eax, Vector3::`vftable' (VTABLE)"], ["0x10003f99", "lea ecx, [esp + 0x28]"], ["0x10003f9d", "mov dword ptr [esp + 0x18], eax"], ["0x10003fa1", "mov dword ptr [esp + 8], eax"]]}, {"both": [["0x10003fa1", "mov eax, dword ptr [esi + 0x1ac]", "0x10003fa5"]]}, {"orig": [["0x10003fa7", "lea ecx, [esp + 0x28]"]], "recomp": []}, {"both": [["0x10003fab", "add eax, 0x30", "0x10003fab"], ["0x10003fae", "mov dword ptr [esp + 0x24], eax", "0x10003fae"], ["0x10003fb2", "call dword ptr [->Matrix4::Clear (FUNCTION)]", "0x10003fb2"], ["0x10003fb8", "mov edx, dword ptr [esp + 0x2c]", "0x10003fb8"], ["0x10003fbc", "mov ecx, 0x3f800000", "0x10003fbc"], ["0x10003fc1", "mov dword ptr [edx], ecx", "0x10003fc1"], ["0x10003fc3", "mov edx, dword ptr [esp + 0x2c]", "0x10003fc3"], ["0x10003fc7", "mov dword ptr [edx + 0x14], ecx", "0x10003fc7"], ["0x10003fca", "mov edx, dword ptr [esp + 0x2c]", "0x10003fca"], ["0x10003fce", "mov dword ptr [edx + 0x28], ecx", "0x10003fce"]]}]]]}, {"address": "0x100040a0", "recomp": "0x100040a0", "name": "MxQuaternionTransformer::Interpolate", "matching": 0.7352941176470589, "diff": [["@@ -0x100040a0,159 +0x100040a0,158 @@", [{"both": [["0x100040a0", "sub esp, 0x10", "0x100040a0"], ["0x100040a3", "push ebx", "0x100040a3"], ["0x100040a4", "push esi", "0x100040a4"]]}, {"orig": [], "recomp": [["0x100040a5", "push edi"]]}, {"both": [["0x100040a5", "mov eax, dword ptr [ecx + 0x30]", "0x100040a6"]]}, {"orig": [["0x100040a8", "push edi"], ["0x100040a9", "mov esi, ecx"]], "recomp": [["0x100040a9", "mov edi, ecx"]]}, {"both": [["0x100040ab", "cmp eax, 1", "0x100040ab"], ["0x100040ae", "jne 0x41", "0x100040ae"]]}, {"orig": [["0x100040b0", "mov edi, dword ptr [esp + 0x20]"], ["0x100040b4", "mov eax, dword ptr [esi + 4]"], ["0x100040b7", "mov ebx, dword ptr [edi]"]], "recomp": [["0x100040b0", "mov esi, dword ptr [esp + 0x20]"], ["0x100040b4", "mov eax, dword ptr [edi + 4]"], ["0x100040b7", "mov ebx, dword ptr [esi]"]]}, {"both": [["0x100040b9", "push eax", "0x100040b9"]]}, {"orig": [["0x100040ba", "mov ecx, edi"]], "recomp": [["0x100040ba", "mov ecx, esi"]]}, {"both": [["0x100040bc", "call dword ptr [ebx + 0x20]", "0x100040bc"]]}, {"orig": [["0x100040bf", "mov esi, dword ptr [edi + 4]"], ["0x100040c2", "add esi, 0xc"], ["0x100040c5", "fld dword ptr [esi]"]], "recomp": [["0x100040bf", "mov edi, dword ptr [esi + 4]"], ["0x100040c2", "add edi, 0xc"], ["0x100040c5", "fld dword ptr [edi]"]]}, {"both": [["0x100040c7", "call __CIacos (FUNCTION)", "0x100040c7"], ["0x100040cc", "fld qword ptr [1.0 (FLOAT)]", "0x100040cc"], ["0x100040d2", "fsub dword ptr [esp + 0x24]", "0x100040d2"]]}, {"orig": [["0x100040d6", "mov ecx, edi"]], "recomp": [["0x100040d6", "mov ecx, esi"]]}, {"both": [["0x100040d8", "fmulp st(1)", "0x100040d8"], ["0x100040da", "fmul qword ptr [2.0 (FLOAT)]", "0x100040da"]]}, {"orig": [["0x100040e0", "fstp dword ptr [esi]"]], "recomp": [["0x100040e0", "fstp dword ptr [edi]"]]}, {"both": [["0x100040e2", "call dword ptr [ebx + 0x90]", "0x100040e2"], ["0x100040e8", "pop edi", "0x100040e8"], ["0x100040e9", "pop esi", "0x100040e9"], ["0x100040ea", "pop ebx", "0x100040ea"], ["0x100040eb", "add esp, 0x10", "0x100040eb"], ["0x100040ee", "ret 8", "0x100040ee"], ["0x100040f1", "cmp eax, 2", "0x100040f1"], ["0x100040f4", "jne 0x39", "0x100040f4"]]}, {"orig": [["0x100040f6", "mov edi, dword ptr [esp + 0x20]"], ["0x100040fa", "mov eax, dword ptr [esi + 0x1c]"], ["0x100040fd", "mov ebx, dword ptr [edi]"]], "recomp": [["0x100040f6", "mov esi, dword ptr [esp + 0x20]"], ["0x100040fa", "mov eax, dword ptr [edi + 0x1c]"], ["0x100040fd", "mov ebx, dword ptr [esi]"]]}, {"both": [["0x100040ff", "push eax", "0x100040ff"]]}, {"orig": [["0x10004100", "mov ecx, edi"]], "recomp": [["0x10004100", "mov ecx, esi"]]}, {"both": [["0x10004102", "call dword ptr [ebx + 0x20]", "0x10004102"]]}, {"orig": [["0x10004105", "mov esi, dword ptr [edi + 4]"], ["0x10004108", "add esi, 0xc"], ["0x1000410b", "fld dword ptr [esi]"]], "recomp": [["0x10004105", "mov edi, dword ptr [esi + 4]"], ["0x10004108", "add edi, 0xc"], ["0x1000410b", "fld dword ptr [edi]"]]}, {"both": [["0x1000410d", "call __CIacos (FUNCTION)", "0x1000410d"], ["0x10004112", "fmul dword ptr [esp + 0x24]", "0x10004112"]]}, {"orig": [["0x10004116", "mov ecx, edi"]], "recomp": [["0x10004116", "mov ecx, esi"]]}, {"both": [["0x10004118", "fmul qword ptr [2.0 (FLOAT)]", "0x10004118"]]}, {"orig": [["0x1000411e", "fstp dword ptr [esi]"]], "recomp": [["0x1000411e", "fstp dword ptr [edi]"]]}, {"both": [["0x10004120", "call dword ptr [ebx + 0x90]", "0x10004120"], ["0x10004126", "pop edi", "0x10004126"], ["0x10004127", "pop esi", "0x10004127"], ["0x10004128", "pop ebx", "0x10004128"], ["0x10004129", "add esp, 0x10", "0x10004129"], ["0x1000412c", "ret 8", "0x1000412c"], ["0x1000412f", "cmp eax, 3", "0x1000412f"]]}, {"orig": [["0x10004132", "jne 0x14c"], ["0x10004138", "lea eax, [esi + 0x18]"], ["0x1000413b", "mov edi, dword ptr [esp + 0x20]"]], "recomp": [["0x10004132", "jne 0x14a"], ["0x10004138", "lea eax, [edi + 0x18]"], ["0x1000413b", "mov esi, dword ptr [esp + 0x20]"]]}, {"both": [["0x1000413f", "push eax", "0x1000413f"]]}, {"orig": [["0x10004140", "mov ecx, edi"], ["0x10004142", "push esi"], ["0x10004143", "mov ebx, dword ptr [edi]"]], "recomp": [["0x10004140", "mov ecx, esi"], ["0x10004142", "push edi"], ["0x10004143", "mov ebx, dword ptr [esi]"]]}, {"both": [["0x10004145", "call dword ptr [ebx + 0x38]", "0x10004145"], ["0x10004148", "fst qword ptr [esp + 0xc]", "0x10004148"], ["0x1000414c", "fadd qword ptr [1.0 (FLOAT)]", "0x1000414c"], ["0x10004152", "fcomp qword ptr [1e-05 (FLOAT)]", "0x10004152"], ["0x10004158", "fnstsw ax", "0x10004158"], ["0x1000415a", "test ah, 0x41", "0x1000415a"]]}, {"orig": [["0x1000415d", "jne 0x98"]], "recomp": [["0x1000415d", "jne 0x96"]]}, {"both": [["0x10004163", "fld qword ptr [1.0 (FLOAT)]", "0x10004163"], ["0x10004169", "fsub qword ptr [esp + 0xc]", "0x10004169"], ["0x1000416d", "fcomp qword ptr [1e-05 (FLOAT)]", "0x1000416d"], ["0x10004173", "fnstsw ax", "0x10004173"], ["0x10004175", "test ah, 0x41", "0x10004175"]]}, {"orig": [["0x10004178", "jne 0x33"]], "recomp": [["0x10004178", "jne 0x31"]]}, {"both": [["0x1000417a", "fld qword ptr [esp + 0xc]", "0x1000417a"], ["0x1000417e", "call __CIacos (FUNCTION)", "0x1000417e"], ["0x10004183", "fld st(0)", "0x10004183"], ["0x10004185", "fsin ", "0x10004185"], ["0x10004187", "fld dword ptr [esp + 0x24]", "0x10004187"], ["0x1000418b", "fld qword ptr [1.0 (FLOAT)]", "0x1000418b"], ["0x10004191", "fsub st(1)", "0x10004191"], ["0x10004193", "fmul st(3)", "0x10004193"], ["0x10004195", "fsin ", "0x10004195"], ["0x10004197", "fdiv st(2)", "0x10004197"], ["0x10004199", "fstp qword ptr [esp + 0xc]", "0x10004199"]]}, {"orig": [["0x1000419d", "fmul st(2), st(0)"], ["0x1000419f", "fxch st(2)"]], "recomp": [["0x1000419d", "fmul st(2)"]]}, {"both": [["0x100041a1", "fsin ", "0x1000419f"], ["0x100041a3", "fdivrp st(1)", "0x100041a1"], ["0x100041a5", "fstp qword ptr [esp + 0x14]", "0x100041a3"], ["0x100041a9", "fstp st(0)", "0x100041a7"], ["0x100041ab", "jmp 0x14", "0x100041a9"], ["0x100041ad", "fld dword ptr [esp + 0x24]", "0x100041ab"], ["0x100041b1", "fld qword ptr [1.0 (FLOAT)]", "0x100041af"], ["0x100041b7", "fsub st(1)", "0x100041b5"], ["0x100041b9", "fstp qword ptr [esp + 0xc]", "0x100041b7"], ["0x100041bd", "fstp qword ptr [esp + 0x14]", "0x100041bb"], ["0x100041c1", "xor ecx, ecx", "0x100041bf"], ["0x100041c3", "jmp 0x4", "0x100041c1"], ["0x100041c5", "fstp dword ptr [ebx + ecx - 4]", "0x100041c3"]]}, {"orig": [["0x100041c9", "mov eax, dword ptr [esi + 0x1c]"], ["0x100041cc", "mov edx, dword ptr [esi + 4]"], ["0x100041cf", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x100041c7", "mov eax, dword ptr [edi + 4]"], ["0x100041ca", "mov edx, dword ptr [edi + 0x1c]"], ["0x100041cd", "mov ebx, dword ptr [esi + 4]"]]}, {"both": [["0x100041d2", "add ecx, 4", "0x100041d0"], ["0x100041d5", "cmp ecx, 0x10", "0x100041d3"], ["0x100041d8", "fld dword ptr [eax + ecx - 4]", "0x100041d6"]]}, {"orig": [], "recomp": [["0x100041da", "fmul qword ptr [esp + 0xc]"], ["0x100041de", "fld dword ptr [edx + ecx - 4]"]]}, {"both": [["0x100041dc", "fmul qword ptr [esp + 0x14]", "0x100041e2"]]}, {"orig": [["0x100041e0", "fld dword ptr [edx + ecx - 4]"], ["0x100041e4", "fmul qword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100041e8", "faddp st(1)", "0x100041e6"], ["0x100041ea", "jl -0x27", "0x100041e8"], ["0x100041ec", "fstp dword ptr [ebx + ecx - 4]", "0x100041ea"], ["0x100041f0", "xor eax, eax", "0x100041ee"], ["0x100041f2", "pop edi", "0x100041f0"], ["0x100041f3", "pop esi", "0x100041f1"], ["0x100041f4", "pop ebx", "0x100041f2"], ["0x100041f5", "add esp, 0x10", "0x100041f3"], ["0x100041f8", "ret 8", "0x100041f6"]]}, {"orig": [["0x100041fb", "mov eax, dword ptr [esi + 4]"], ["0x100041fe", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100041f9", "mov eax, dword ptr [edi + 4]"], ["0x100041fc", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x10004201", "fld dword ptr [eax + 4]", "0x100041ff"], ["0x10004204", "fchs ", "0x10004202"], ["0x10004206", "fstp dword ptr [ecx]", "0x10004204"]]}, {"orig": [["0x10004208", "mov eax, dword ptr [esi + 4]"], ["0x1000420b", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x10004206", "mov eax, dword ptr [edi + 4]"], ["0x10004209", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x1000420e", "mov edx, dword ptr [eax]", "0x1000420c"], ["0x10004210", "mov dword ptr [ecx + 4], edx", "0x1000420e"]]}, {"orig": [["0x10004213", "mov ecx, dword ptr [edi + 4]"], ["0x10004216", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x10004211", "mov ecx, dword ptr [esi + 4]"], ["0x10004214", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x10004219", "fld dword ptr [eax + 0xc]", "0x10004217"], ["0x1000421c", "fchs ", "0x1000421a"], ["0x1000421e", "fstp dword ptr [ecx + 8]", "0x1000421c"], ["0x10004221", "fld dword ptr [esp + 0x24]", "0x1000421f"], ["0x10004225", "fld qword ptr [1.0 (FLOAT)]", "0x10004223"], ["0x1000422b", "fsub st(1)", "0x10004229"]]}, {"orig": [["0x1000422d", "mov eax, dword ptr [esi + 4]"], ["0x10004230", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x1000422b", "mov eax, dword ptr [edi + 4]"], ["0x1000422e", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x10004233", "fmul qword ptr [1.570796326794895 (FLOAT)]", "0x10004231"], ["0x10004239", "mov edx, dword ptr [eax + 8]", "0x10004237"], ["0x1000423c", "mov dword ptr [ecx + 0xc], edx", "0x1000423a"], ["0x1000423f", "xor edx, edx", "0x1000423d"], ["0x10004241", "fsin ", "0x1000423f"], ["0x10004243", "fstp qword ptr [esp + 0xc]", "0x10004241"], ["0x10004247", "fmul qword ptr [1.570796326794895 (FLOAT)]", "0x10004245"], ["0x1000424d", "fsin ", "0x1000424b"], ["0x1000424f", "fstp qword ptr [esp + 0x14]", "0x1000424d"], ["0x10004253", "jmp 0x2", "0x10004251"], ["0x10004255", "fstp dword ptr [eax]", "0x10004253"]]}, {"orig": [["0x10004257", "mov eax, dword ptr [edi + 4]"], ["0x1000425a", "mov ecx, dword ptr [esi + 4]"]], "recomp": [["0x10004255", "mov eax, dword ptr [esi + 4]"], ["0x10004258", "mov ecx, dword ptr [edi + 4]"]]}, {"both": [["0x1000425d", "add eax, edx", "0x1000425b"], ["0x1000425f", "add edx, 4", "0x1000425d"], ["0x10004262", "cmp edx, 0xc", "0x10004260"], ["0x10004265", "fld dword ptr [ecx + edx - 4]", "0x10004263"], ["0x10004269", "fmul qword ptr [esp + 0xc]", "0x10004267"], ["0x1000426d", "fld dword ptr [eax]", "0x1000426b"], ["0x1000426f", "fmul qword ptr [esp + 0x14]", "0x1000426d"], ["0x10004273", "faddp st(1)", "0x10004271"], ["0x10004275", "jl -0x22", "0x10004273"], ["0x10004277", "fstp dword ptr [eax]", "0x10004275"]]}]], ["@@ -0x1000427b,10 +0x10004279,11 @@", [{"both": [["0x1000427b", "pop edi", "0x10004279"], ["0x1000427c", "pop esi", "0x1000427a"], ["0x1000427d", "pop ebx", "0x1000427b"], ["0x1000427e", "add esp, 0x10", "0x1000427c"], ["0x10004281", "ret 8", "0x1000427f"], ["0x10004284", "mov eax, 0xffffffff", "0x10004282"], ["0x10004289", "pop edi", "0x10004287"], ["0x1000428a", "pop esi", "0x10004288"], ["0x1000428b", "pop ebx", "0x10004289"], ["0x1000428c", "add esp, 0x10", "0x1000428a"]]}, {"orig": [], "recomp": [["0x1000428d", "ret 8"]]}]]]}, {"address": "0x100042a0", "recomp": "0x10004290", "name": "Helicopter::FUN_100042a0", "matching": 0.8579881656804734, "diff": [["@@ -0x100042af,66 +0x1000429f,68 @@", [{"both": [["0x100042af", "push eax", "0x1000429f"], ["0x100042b0", "lea ecx, [esp + 0x84]", "0x100042a0"], ["0x100042b7", "mov edi, MxMatrix::`vftable' (VTABLE)", "0x100042a7"], ["0x100042bc", "call Matrix4::Matrix4 (FUNCTION)", "0x100042ac"], ["0x100042c1", "lea eax, [esp + 0x40]", "0x100042b1"], ["0x100042c5", "lea ecx, [esp + 0x38]", "0x100042b5"], ["0x100042c9", "mov dword ptr [esp + 0x80], edi", "0x100042b9"], ["0x100042d0", "push eax", "0x100042c0"], ["0x100042d1", "call Matrix4::Matrix4 (FUNCTION)", "0x100042c1"], ["0x100042d6", "mov eax, dword ptr [esp + 0x84]", "0x100042c6"]]}, {"orig": [["0x100042dd", "mov edx, Vector3::`vftable' (VTABLE)"]], "recomp": [["0x100042cd", "mov dword ptr [esp + 0x38], edi"]]}, {"both": [["0x100042e2", "add eax, 0x30", "0x100042d1"]]}, {"orig": [["0x100042e5", "mov dword ptr [esp + 0x38], edi"]], "recomp": [["0x100042d4", "mov edi, Vector3::`vftable' (VTABLE)"]]}, {"both": [["0x100042e9", "mov ecx, dword ptr [esi + 0x1ac]", "0x100042d9"], ["0x100042ef", "mov dword ptr [esp + 0x34], eax", "0x100042df"], ["0x100042f3", "mov eax, dword ptr [esp + 0x3c]", "0x100042e3"]]}, {"orig": [["0x100042f7", "mov dword ptr [esp + 0x30], edx"]], "recomp": [["0x100042e7", "mov dword ptr [esp + 0x30], edi"]]}, {"both": [["0x100042fb", "add eax, 0x30", "0x100042eb"]]}, {"orig": [["0x100042fe", "lea ebx, [ecx + 0x10]"]], "recomp": [["0x100042ee", "lea edx, [ecx + 0x10]"]]}, {"both": [["0x10004301", "mov dword ptr [esp + 0x1c], eax", "0x100042f1"], ["0x10004305", "mov dword ptr [esp + 0x24], ecx", "0x100042f5"]]}, {"orig": [["0x10004309", "lea edi, [ecx + 0x20]"]], "recomp": [["0x100042f9", "lea ebx, [ecx + 0x20]"]]}, {"both": [["0x1000430c", "add ecx, 0x30", "0x100042fc"]]}, {"orig": [["0x1000430f", "mov dword ptr [esp + 0x20], edx"], ["0x10004313", "mov dword ptr [esp + 0x14], ebx"]], "recomp": [["0x100042ff", "mov dword ptr [esp + 0x20], edi"], ["0x10004303", "push ecx"], ["0x10004304", "lea ecx, [esp + 0x2c]"], ["0x10004308", "mov dword ptr [esp + 0x18], edx"], ["0x1000430c", "mov dword ptr [esp + 0x14], edi"], ["0x10004310", "call Vector2::Vector2 (FUNCTION)"]]}, {"both": [["0x10004317", "lea eax, [esp + 0x80]", "0x10004315"]]}, {"orig": [["0x1000431e", "mov dword ptr [esp + 0x10], edx"], ["0x10004322", "mov dword ptr [esp + 0x2c], ecx"], ["0x10004326", "mov dword ptr [esp + 0x28], edx"]], "recomp": []}, {"both": [["0x1000432a", "mov edx, dword ptr [esi + 0x154]", "0x1000431c"]]}, {"orig": [], "recomp": [["0x10004322", "mov dword ptr [esp + 0x28], edi"]]}, {"both": [["0x10004330", "push eax", "0x10004326"]]}, {"orig": [["0x10004331", "lea ebx, [esi + 0x1a8]"]], "recomp": []}, {"both": [["0x10004337", "mov ecx, dword ptr [edx + 0x98]", "0x10004327"]]}, {"orig": [], "recomp": [["0x1000432d", "lea edi, [esi + 0x1a8]"]]}, {"both": [["0x1000433d", "call LegoCameraController::FUN_100123b0 (FUNCTION)", "0x10004333"]]}, {"orig": [["0x10004342", "mov eax, dword ptr [ebx]"], ["0x10004344", "mov ecx, ebx"]], "recomp": [["0x10004338", "mov eax, dword ptr [edi]"], ["0x1000433a", "mov ecx, edi"]]}, {"both": [["0x10004346", "call dword ptr [eax + 0x24]", "0x1000433c"], ["0x10004349", "mov eax, dword ptr [esp + 0xcc]", "0x1000433f"], ["0x10004350", "lea ecx, [esp + 0x38]", "0x10004346"], ["0x10004354", "push eax", "0x1000434a"], ["0x10004355", "mov eax, dword ptr [esp + 0x3c]", "0x1000434b"], ["0x10004359", "call dword ptr [eax + 0x28]", "0x1000434f"], ["0x1000435c", "mov eax, dword ptr [esp + 0x1c]", "0x10004352"], ["0x10004360", "mov ecx, dword ptr [esp + 0x1c]", "0x10004356"], ["0x10004364", "add eax, 4", "0x1000435a"], ["0x10004367", "push ecx", "0x1000435d"], ["0x10004368", "fld dword ptr [eax]", "0x1000435e"], ["0x1000436a", "fadd dword ptr [20.0 (FLOAT)]", "0x10004360"], ["0x10004370", "fstp dword ptr [eax]", "0x10004366"], ["0x10004372", "mov eax, dword ptr [esp + 0x14]", "0x10004368"], ["0x10004376", "lea ecx, [esp + 0x14]", "0x1000436c"], ["0x1000437a", "call dword ptr [eax + 0x20]", "0x10004370"], ["0x1000437d", "lea ecx, [esp + 0x30]", "0x10004373"]]}, {"orig": [], "recomp": [["0x10004377", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x10004381", "push ecx", "0x1000437b"], ["0x10004382", "lea ecx, [esp + 0x14]", "0x1000437c"]]}, {"orig": [["0x10004386", "mov eax, dword ptr [esp + 0x14]"]], "recomp": []}, {"both": [["0x1000438a", "call dword ptr [eax + 0x54]", "0x10004380"], ["0x1000438d", "lea ecx, [esp + 0x10]", "0x10004383"], ["0x10004391", "mov eax, dword ptr [esp + 0x10]", "0x10004387"], ["0x10004395", "call dword ptr [eax + 0x40]", "0x1000438b"], ["0x10004398", "fcom dword ptr [0.0 (FLOAT)]", "0x1000438e"], ["0x1000439e", "fstp dword ptr [esp + 0xc]", "0x10004394"], ["0x100043a2", "fnstsw ax", "0x10004398"], ["0x100043a4", "test ah, 0x41", "0x1000439a"], ["0x100043a7", "jne 0x27", "0x1000439d"], ["0x100043a9", "fld dword ptr [esp + 0xc]", "0x1000439f"]]}]], ["@@ -0x100043b5,24 +0x100043ab,24 @@", [{"both": [["0x100043b5", "fstp dword ptr [esp + 0xc]", "0x100043ab"], ["0x100043b9", "fnstsw ax", "0x100043af"], ["0x100043bb", "test ah, 0x41", "0x100043b1"], ["0x100043be", "jne 0x10", "0x100043b4"], ["0x100043c0", "lea eax, [esp + 0xc]", "0x100043b6"], ["0x100043c4", "lea ecx, [esp + 0x10]", "0x100043ba"], ["0x100043c8", "push eax", "0x100043be"], ["0x100043c9", "mov eax, dword ptr [esp + 0x14]", "0x100043bf"], ["0x100043cd", "call dword ptr [eax + 0x14]", "0x100043c3"], ["0x100043d0", "lea ecx, [esp + 0x20]", "0x100043c6"]]}, {"orig": [["0x100043d4", "push edi"], ["0x100043d5", "mov dword ptr [edi + 8], 0"], ["0x100043dc", "mov dword ptr [edi], 0"], ["0x100043e2", "mov dword ptr [edi + 4], 0xbf800000"]], "recomp": [["0x100043ca", "push ebx"], ["0x100043cb", "mov dword ptr [ebx + 8], 0"], ["0x100043d2", "mov dword ptr [ebx], 0"], ["0x100043d8", "mov dword ptr [ebx + 4], 0xbf800000"]]}, {"both": [["0x100043e9", "mov eax, dword ptr [esp + 0x18]", "0x100043df"], ["0x100043ed", "push eax", "0x100043e3"], ["0x100043ee", "mov eax, dword ptr [esp + 0x28]", "0x100043e4"], ["0x100043f2", "call dword ptr [eax + 0x74]", "0x100043e8"], ["0x100043f5", "lea ecx, [esp + 0x20]", "0x100043eb"], ["0x100043f9", "mov eax, dword ptr [esp + 0x20]", "0x100043ef"], ["0x100043fd", "call dword ptr [eax + 0x40]", "0x100043f3"], ["0x10004400", "fcom dword ptr [0.0 (FLOAT)]", "0x100043f6"], ["0x10004406", "fstp dword ptr [esp + 0xc]", "0x100043fc"], ["0x1000440a", "fnstsw ax", "0x10004400"]]}]], ["@@ -0x10004423,31 +0x10004419,31 @@", [{"both": [["0x10004423", "test ah, 0x41", "0x10004419"], ["0x10004426", "jne 0x10", "0x1000441c"], ["0x10004428", "lea eax, [esp + 0xc]", "0x1000441e"], ["0x1000442c", "lea ecx, [esp + 0x20]", "0x10004422"], ["0x10004430", "push eax", "0x10004426"], ["0x10004431", "mov eax, dword ptr [esp + 0x24]", "0x10004427"], ["0x10004435", "call dword ptr [eax + 0x14]", "0x1000442b"], ["0x10004438", "mov eax, dword ptr [esp + 0x24]", "0x1000442e"], ["0x1000443c", "lea ecx, [esp + 0x10]", "0x10004432"], ["0x10004440", "push eax", "0x10004436"]]}, {"orig": [["0x10004441", "push edi"], ["0x10004442", "mov edi, dword ptr [esp + 0x18]"], ["0x10004446", "call dword ptr [edi + 0x74]"]], "recomp": [["0x10004437", "push ebx"], ["0x10004438", "mov ebx, dword ptr [esp + 0x18]"], ["0x1000443c", "call dword ptr [ebx + 0x74]"]]}, {"both": [["0x10004449", "mov ecx, dword ptr [esp + 0x1c]", "0x1000443f"], ["0x1000444d", "mov eax, dword ptr [esp + 0x28]", "0x10004443"], ["0x10004451", "push ecx", "0x10004447"], ["0x10004452", "lea ecx, [esp + 0x2c]", "0x10004448"], ["0x10004456", "call dword ptr [eax + 0x20]", "0x1000444c"]]}, {"orig": [], "recomp": [["0x1000444f", "mov ebx, dword ptr [esp + 0x38]"]]}, {"both": [["0x10004459", "lea ecx, [esp + 0x38]", "0x10004453"]]}, {"orig": [["0x1000445d", "push ebx"], ["0x1000445e", "mov ebx, dword ptr [esp + 0x3c]"]], "recomp": [["0x10004457", "push edi"]]}, {"both": [["0x10004462", "call dword ptr [ebx + 0x48]", "0x10004458"], ["0x10004465", "lea ecx, [esi + 0x160]", "0x1000445b"], ["0x1000446b", "lea eax, [esp + 0x80]", "0x10004461"], ["0x10004472", "push eax", "0x10004468"], ["0x10004473", "mov ebx, dword ptr [ecx]", "0x10004469"], ["0x10004475", "call dword ptr [ebx + 0x48]", "0x1000446b"], ["0x10004478", "mov eax, dword ptr [esp + 0x34]", "0x1000446e"], ["0x1000447c", "xor ebx, ebx", "0x10004472"], ["0x1000447e", "mov dword ptr [eax], ebx", "0x10004474"], ["0x10004480", "mov dword ptr [eax + 4], ebx", "0x10004476"]]}]]]}, {"address": "0x10004500", "recomp": "0x10004510", "name": "Matrix4::Matrix4", "matching": 1.0, "diff": []}, {"address": "0x10004520", "recomp": "0x10004530", "name": "MxQuaternionTransformer::NormalizeDirection", "matching": 0.9090909090909091, "diff": [["@@ -0x100045a9,39 +0x100045b9,39 @@", [{"both": [["0x100045a9", "mov esi, dword ptr [ebx + 8]", "0x100045b9"], ["0x100045ac", "push edi", "0x100045bc"], ["0x100045ad", "mov dword ptr [ecx], eax", "0x100045bd"], ["0x100045af", "mov eax, dword ptr [ebx + 0xc]", "0x100045bf"], ["0x100045b2", "mov dword ptr [ecx + 4], edx", "0x100045c2"], ["0x100045b5", "mov dword ptr [ecx + 8], esi", "0x100045c5"], ["0x100045b8", "mov dword ptr [ecx + 0xc], eax", "0x100045c8"], ["0x100045bb", "lea ecx, [esp + 0x14]", "0x100045cb"], ["0x100045bf", "mov eax, dword ptr [esp + 0x14]", "0x100045cf"], ["0x100045c3", "call dword ptr [eax + 0x54]", "0x100045d3"]]}, {"orig": [["0x100045c6", "mov eax, dword ptr [esp + 0x2c]"], ["0x100045ca", "lea ecx, [esp + 0x28]"], ["0x100045ce", "mov ebx, dword ptr [esp + 0x28]"]], "recomp": [["0x100045d6", "mov eax, dword ptr [esp + 0x14]"], ["0x100045da", "lea ecx, [esp + 0x10]"], ["0x100045de", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x100045d2", "push eax", "0x100045e2"], ["0x100045d3", "push eax", "0x100045e3"], ["0x100045d4", "call dword ptr [ebx + 0x18]", "0x100045e4"], ["0x100045d7", "fstp dword ptr [esp + 0xc]", "0x100045e7"]]}, {"orig": [["0x100045db", "mov ecx, dword ptr [esp + 0x14]"], ["0x100045df", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x100045eb", "mov ecx, dword ptr [esp + 0x2c]"], ["0x100045ef", "mov eax, dword ptr [esp + 0x28]"]]}, {"both": [["0x100045e3", "push ecx", "0x100045f3"], ["0x100045e4", "push ecx", "0x100045f4"]]}, {"orig": [["0x100045e5", "lea ecx, [esp + 0x18]"]], "recomp": [["0x100045f5", "lea ecx, [esp + 0x30]"]]}, {"both": [["0x100045e9", "call dword ptr [eax + 0x18]", "0x100045f9"], ["0x100045ec", "fld dword ptr [esp + 0xc]", "0x100045fc"], ["0x100045f0", "fxch st(1)", "0x10004600"], ["0x100045f2", "fcompp ", "0x10004602"], ["0x100045f4", "fnstsw ax", "0x10004604"]]}, {"orig": [["0x100045f6", "test ah, 0x41"], ["0x100045f9", "jne 0x14"]], "recomp": [["0x10004606", "test ah, 1"], ["0x10004609", "je 0x14"]]}, {"both": [["0x100045fb", "lea eax, [esp + 0xc]", "0x1000460b"], ["0x100045ff", "mov ecx, edi", "0x1000460f"], ["0x10004601", "mov dword ptr [esp + 0xc], 0xbf800000", "0x10004611"], ["0x10004609", "push eax", "0x10004619"], ["0x1000460a", "mov ebx, dword ptr [edi]", "0x1000461a"], ["0x1000460c", "call dword ptr [ebx + 0x5c]", "0x1000461c"], ["0x1000460f", "xor eax, eax", "0x1000461f"], ["0x10004611", "pop edi", "0x10004621"], ["0x10004612", "pop esi", "0x10004622"], ["0x10004613", "pop ebx", "0x10004623"]]}]]]}, {"address": "0x10004620", "recomp": "0x10004630", "name": "MxQuaternionTransformer::SetEnd", "matching": 1.0, "diff": []}, {"address": "0x10004640", "recomp": "0x10004650", "name": "Helicopter::FUN_10004640", "matching": 1.0, "diff": []}, {"address": "0x10004670", "recomp": "0x10004680", "name": "Helicopter::FUN_10004670", "matching": 1.0, "diff": []}, {"address": "0x100046a0", "recomp": "0x100046b0", "name": "GasStation::GasStation", "matching": 1.0, "diff": []}, {"address": "0x10004770", "recomp": "0x10004780", "name": "GasStation::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10004780", "recomp": "0x10004790", "name": "GasStation::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10004790", "recomp": "0x100047a0", "name": "GasStation::IsA", "matching": 1.0, "diff": []}, {"address": "0x100048a0", "recomp": "0x100048b0", "name": "GasStation::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100048c0", "recomp": "0x100048d0", "name": "GasStation::~GasStation", "matching": 1.0, "diff": []}, {"address": "0x10004990", "recomp": "0x100049a0", "name": "GasStation::Create", "matching": 1.0, "diff": []}, {"address": "0x10004a60", "recomp": "0x10004a70", "name": "GasStation::Notify", "matching": 1.0, "diff": []}, {"address": "0x10004b30", "recomp": "0x10004b40", "name": "GasStation::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x10005530", "recomp": "0x10005540", "name": "MxDSObject::SetAtomId", "matching": 1.0, "diff": []}, {"address": "0x10005590", "recomp": "0x100055a0", "name": "GasStation::PlayAction", "matching": 1.0, "diff": []}, {"address": "0x10005660", "recomp": "0x10005670", "name": "GasStation::HandleEndAction", "matching": 0.7244582043343654, "diff": [["@@ -0x10005681,152 +0x10005691,153 @@", [{"both": [["0x10005681", "push ebx", "0x10005691"], ["0x10005682", "push esi", "0x10005692"], ["0x10005683", "push edi", "0x10005693"], ["0x10005684", "lea esi, [ecx + 0x118]", "0x10005694"], ["0x1000568a", "mov edi, dword ptr [ebp + 8]", "0x1000569a"], ["0x1000568d", "mov eax, dword ptr [esi]", "0x1000569d"], ["0x1000568f", "push edi", "0x1000569f"], ["0x10005690", "mov ecx, esi", "0x100056a0"], ["0x10005692", "call dword ptr [eax + 4]", "0x100056a2"], ["0x10005695", "test eax, eax", "0x100056a5"]]}, {"orig": [["0x10005697", "jne 0x26b"]], "recomp": [["0x100056a7", "jne 0x26a"]]}, {"both": [["0x1000569d", "mov ecx, dword ptr [edi + 0xc]", "0x100056ad"]]}, {"orig": [["0x100056a0", "mov edx, dword ptr [ebp - 0x10]"], ["0x100056a3", "mov ebx, dword ptr [edx + 0xc]"], ["0x100056a6", "cmp dword ptr [ecx + 0x20], ebx"], ["0x100056a9", "jne 0x259"]], "recomp": [["0x100056b0", "mov edi, dword ptr [ebp - 0x10]"], ["0x100056b3", "mov edx, dword ptr [ecx + 0x20]"], ["0x100056b6", "cmp dword ptr [edi + 0xc], edx"], ["0x100056b9", "jne 0x258"]]}, {"both": [["0x100056af", "mov ecx, dword ptr [ecx + 0x1c]", "0x100056bf"], ["0x100056b2", "test ecx, ecx", "0x100056c2"]]}, {"orig": [["0x100056b4", "je 0x24e"]], "recomp": [["0x100056c4", "je 0x24d"]]}, {"both": [["0x100056ba", "push ecx", "0x100056ca"]]}, {"orig": [["0x100056bb", "mov ecx, dword ptr [edx + 0x100]"]], "recomp": [["0x100056cb", "mov ecx, dword ptr [edi + 0x100]"]]}, {"both": [["0x100056c1", "call GasStationState::StopAction (FUNCTION)", "0x100056d1"]]}, {"orig": [["0x100056c6", "mov edx, dword ptr [ebp - 0x10]"], ["0x100056c9", "mov word ptr [edx + 0x106], 0"], ["0x100056d2", "mov ecx, dword ptr [edx + 0x100]"]], "recomp": [["0x100056d6", "mov edi, dword ptr [ebp - 0x10]"], ["0x100056d9", "mov word ptr [edi + 0x106], 0"], ["0x100056e2", "mov ecx, dword ptr [edi + 0x100]"]]}, {"both": [["0x100056d8", "mov eax, dword ptr [ecx + 0x14]", "0x100056e8"], ["0x100056db", "add ecx, 0x14", "0x100056eb"], ["0x100056de", "cmp eax, 5", "0x100056ee"], ["0x100056e1", "je 0x17", "0x100056f1"], ["0x100056e3", "cmp eax, 6", "0x100056f3"], ["0x100056e6", "je 0xd2", "0x100056f6"], ["0x100056ec", "cmp eax, 8", "0x100056fc"]]}, {"orig": [["0x100056ef", "je 0x1bc"], ["0x100056f5", "jmp 0x209"]], "recomp": [["0x100056ff", "je 0x1bb"], ["0x10005705", "jmp 0x208"]]}, {"both": [["0x100056fa", "xor ebx, ebx", "0x1000570a"]]}, {"orig": [["0x100056fc", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1000570c", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100056ff", "lea ecx, [ebp - 0xa8]", "0x1000570f"], ["0x10005705", "mov dword ptr [g_unk0x100f0160 (DATA)], ebx", "0x10005715"]]}, {"orig": [["0x1000570b", "mov eax, dword ptr [edx + 0x100]"]], "recomp": [["0x1000571b", "mov eax, dword ptr [edi + 0x100]"]]}, {"both": [["0x10005711", "mov dword ptr [eax + 0x14], 6", "0x10005721"]]}, {"orig": [["0x10005718", "mov byte ptr [edx + 0x115], 1"]], "recomp": [["0x10005728", "mov byte ptr [edi + 0x115], 1"]]}, {"both": [["0x1000571f", "call MxDSAction::MxDSAction (FUNCTION)", "0x1000572f"], ["0x10005724", "mov dword ptr [ebp - 4], ebx", "0x10005734"], ["0x10005727", "mov ecx, dword ptr [g_garageScript (DATA)]", "0x10005737"], ["0x1000572d", "mov byte ptr [ebp - 4], 1", "0x1000573d"]]}, {"orig": [["0x10005731", "mov edx, dword ptr [ecx]"]], "recomp": [["0x10005741", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x10005733", "lea ecx, [ebp - 0x88]", "0x10005743"]]}, {"orig": [["0x10005739", "mov dword ptr [ebp - 0x14], edx"], ["0x1000573c", "lea edx, [ebp - 0x14]"], ["0x1000573f", "push edx"]], "recomp": [["0x10005749", "mov dword ptr [ebp - 0x14], eax"], ["0x1000574c", "lea eax, [ebp - 0x14]"], ["0x1000574f", "push eax"]]}, {"both": [["0x10005740", "call MxAtomId::operator= (FUNCTION)", "0x10005750"], ["0x10005745", "mov byte ptr [ebp - 4], bl", "0x10005755"], ["0x10005748", "call <OFFSET7>", "0x10005758"], ["0x1000574d", "mov dword ptr [ebp - 0x8c], 0x202", "0x1000575d"], ["0x10005757", "call BackgroundAudioManager (FUNCTION)", "0x10005767"], ["0x1000575c", "mov ecx, eax", "0x1000576c"], ["0x1000575e", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x1000576e"], ["0x10005763", "lea eax, [ebp - 0xa8]", "0x10005773"], ["0x10005769", "push eax", "0x10005779"], ["0x1000576a", "call Start (FUNCTION)", "0x1000577a"], ["0x1000576f", "add esp, 4", "0x1000577f"]]}, {"orig": [["0x10005772", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10005782", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x10005775", "push 0x202", "0x10005785"]]}, {"orig": [["0x1000577a", "mov ecx, dword ptr [edx + 0x100]"]], "recomp": [["0x1000578a", "mov ecx, dword ptr [edi + 0x100]"]]}, {"both": [["0x10005780", "call GasStationState::PlayAction (FUNCTION)", "0x10005790"], ["0x10005785", "mov dword ptr [ebp - 4], 0xffffffff", "0x10005795"], ["0x1000578c", "call <OFFSET12>", "0x1000579c"]]}, {"orig": [["0x10005791", "mov edx, dword ptr [ebp - 0x10]"], ["0x10005794", "mov word ptr [edx + 0x106], 1"], ["0x1000579d", "mov word ptr [edx + 0x104], 1"], ["0x100057a6", "jmp 0x158"]], "recomp": [["0x100057a1", "mov edi, dword ptr [ebp - 0x10]"], ["0x100057a4", "mov word ptr [edi + 0x106], 1"], ["0x100057ad", "mov word ptr [edi + 0x104], 1"], ["0x100057b6", "jmp 0x157"]]}, {"both": [["0x100057ab", "lea ecx, [ebp - 0x14]", "0x100057bb"], ["0x100057ae", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x100057be"], ["0x100057b3", "lea ecx, [ebp - 0xa8]", "0x100057c3"], ["0x100057b9", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x100057c9"], ["0x100057be", "mov dword ptr [g_unk0x100f0160 (DATA)], 0", "0x100057ce"]]}, {"orig": [["0x100057c8", "mov edx, dword ptr [ebp - 0x10]"], ["0x100057cb", "cmp word ptr [edx + 0x104], 3"], ["0x100057d3", "mov byte ptr [edx + 0x115], 1"], ["0x100057da", "jne 0xb8"], ["0x100057e0", "mov eax, dword ptr [edx + 0x100]"]], "recomp": [["0x100057d8", "mov edi, dword ptr [ebp - 0x10]"], ["0x100057db", "cmp word ptr [edi + 0x104], 3"], ["0x100057e3", "mov byte ptr [edi + 0x115], 1"], ["0x100057ea", "jne 0xb7"], ["0x100057f0", "mov eax, dword ptr [edi + 0x100]"]]}, {"both": [["0x100057e6", "lea ecx, [ebp - 0xa8]", "0x100057f6"], ["0x100057ec", "mov ebx, 2", "0x100057fc"], ["0x100057f1", "mov dword ptr [eax + 0x14], 8", "0x10005801"], ["0x100057f8", "call MxDSAction::MxDSAction (FUNCTION)", "0x10005808"], ["0x100057fd", "mov dword ptr [ebp - 4], ebx", "0x1000580d"]]}, {"orig": [["0x10005800", "mov ecx, dword ptr [g_garageScript (DATA)]"]], "recomp": [["0x10005810", "mov eax, dword ptr [g_garageScript (DATA)]"]]}, {"both": [["0x10005806", "mov byte ptr [ebp - 4], 3", "0x10005815"]]}, {"orig": [["0x1000580a", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10005819", "mov ecx, dword ptr [eax]"], ["0x1000581b", "mov dword ptr [ebp - 0x14], ecx"], ["0x1000581e", "lea ecx, [ebp - 0x14]"], ["0x10005821", "push ecx"]]}, {"both": [["0x1000580c", "lea ecx, [ebp - 0x88]", "0x10005822"]]}, {"orig": [["0x10005812", "mov dword ptr [ebp - 0x14], eax"], ["0x10005815", "lea eax, [ebp - 0x14]"], ["0x10005818", "push eax"]], "recomp": []}, {"both": [["0x10005819", "call MxAtomId::operator= (FUNCTION)", "0x10005828"], ["0x1000581e", "mov byte ptr [ebp - 4], bl", "0x1000582d"], ["0x10005821", "call <OFFSET13>", "0x10005830"], ["0x10005826", "mov dword ptr [ebp - 0x8c], 0x203", "0x10005835"], ["0x10005830", "call BackgroundAudioManager (FUNCTION)", "0x1000583f"], ["0x10005835", "mov ecx, eax", "0x10005844"], ["0x10005837", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10005846"], ["0x1000583c", "lea eax, [ebp - 0xa8]", "0x1000584b"], ["0x10005842", "push eax", "0x10005851"], ["0x10005843", "call Start (FUNCTION)", "0x10005852"], ["0x10005848", "add esp, 4", "0x10005857"]]}, {"orig": [["0x1000584b", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1000585a", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1000584e", "push 0x203", "0x1000585d"]]}, {"orig": [["0x10005853", "mov ecx, dword ptr [edx + 0x100]"]], "recomp": [["0x10005862", "mov ecx, dword ptr [edi + 0x100]"]]}, {"both": [["0x10005859", "call GasStationState::PlayAction (FUNCTION)", "0x10005868"], ["0x1000585e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1000586d"], ["0x10005865", "call <OFFSET14>", "0x10005874"]]}, {"orig": [["0x1000586a", "mov edx, dword ptr [ebp - 0x10]"], ["0x1000586d", "mov word ptr [edx + 0x106], 1"]], "recomp": [["0x10005879", "mov edi, dword ptr [ebp - 0x10]"], ["0x1000587c", "mov word ptr [edi + 0x106], 1"]]}, {"both": [["0x10005876", "jmp 0x88", "0x10005885"], ["0x1000587b", "lea ecx, [ebp - 0x14]", "0x1000588a"], ["0x1000587e", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x1000588d"], ["0x10005883", "mov eax, <OFFSET15>", "0x10005892"], ["0x10005888", "jmp ___CxxFrameHandler (FUNCTION)", "0x10005897"], ["0x1000588d", "lea ecx, [ebp - 0xa8]", "0x1000589c"], ["0x10005893", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x100058a2"]]}, {"orig": [["0x10005898", "mov edx, dword ptr [ebp - 0x10]"], ["0x1000589b", "mov eax, dword ptr [edx + 0x100]"]], "recomp": [["0x100058a7", "mov edi, dword ptr [ebp - 0x10]"], ["0x100058aa", "mov eax, dword ptr [edi + 0x100]"]]}, {"both": [["0x100058a1", "mov dword ptr [eax + 0x14], 7", "0x100058b0"]]}, {"orig": [["0x100058a8", "mov byte ptr [edx + 0x114], 1"]], "recomp": [["0x100058b7", "mov byte ptr [edi + 0x114], 1"]]}, {"both": [["0x100058af", "jmp 0x52", "0x100058be"], ["0x100058b1", "push 'Act1State' (STRING)", "0x100058c0"], ["0x100058b6", "mov dword ptr [ecx], 2", "0x100058c5"], ["0x100058bc", "call GameState (FUNCTION)", "0x100058cb"], ["0x100058c1", "mov ecx, eax", "0x100058d0"], ["0x100058c3", "call LegoGameState::GetState (FUNCTION)", "0x100058d2"]]}, {"orig": [["0x100058c8", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x100058d7", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100058cb", "mov ecx, esi", "0x100058da"], ["0x100058cd", "mov dword ptr [eax + 0x18], 7", "0x100058dc"]]}, {"orig": [["0x100058d4", "mov dword ptr [edx + 0xfc], 0x1c"]], "recomp": [["0x100058e3", "mov dword ptr [edi + 0xfc], 0x1c"]]}, {"both": [["0x100058de", "call Radio::Stop (FUNCTION)", "0x100058ed"], ["0x100058e3", "call BackgroundAudioManager (FUNCTION)", "0x100058f2"], ["0x100058e8", "mov ecx, eax", "0x100058f7"], ["0x100058ea", "call MxBackgroundAudioManager::Stop (FUNCTION)", "0x100058f9"], ["0x100058ef", "push 0", "0x100058fe"], ["0x100058f1", "push 0", "0x10005900"], ["0x100058f3", "push 0x32", "0x10005902"], ["0x100058f5", "push 3", "0x10005904"], ["0x100058f7", "call TransitionManager (FUNCTION)", "0x10005906"], ["0x100058fc", "mov ecx, eax", "0x1000590b"], ["0x100058fe", "call MxTransitionManager::StartTransition (FUNCTION)", "0x1000590d"], ["0x10005903", "mov eax, 1", "0x10005912"], ["0x10005908", "mov ecx, dword ptr [ebp - 0xc]", "0x10005917"], ["0x1000590b", "pop edi", "0x1000591a"], ["0x1000590c", "mov dword ptr fs:[0], ecx", "0x1000591b"], ["0x10005913", "pop esi", "0x10005922"], ["0x10005914", "pop ebx", "0x10005923"], ["0x10005915", "mov esp, ebp", "0x10005924"], ["0x10005917", "pop ebp", "0x10005926"]]}, {"orig": [], "recomp": [["0x10005927", "ret 4"]]}]]]}, {"address": "0x10005920", "recomp": "0x10005930", "name": "GasStation::HandleKeyPress", "matching": 1.0, "diff": []}, {"address": "0x10005960", "recomp": "0x10005970", "name": "GasStation::HandleButtonDown", "matching": 1.0, "diff": []}, {"address": "0x10005b20", "recomp": "0x10005b30", "name": "GasStation::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10005c40", "recomp": "0x10005c50", "name": "GasStation::Enable", "matching": 1.0, "diff": []}, {"address": "0x10005c90", "recomp": "0x10005ca0", "name": "GasStation::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10005e70", "recomp": "0x10005e80", "name": "GasStation::Escape", "matching": 1.0, "diff": []}, {"address": "0x10005eb0", "recomp": "0x10005ec0", "name": "GasStationState::GasStationState", "matching": 1.0, "diff": []}, {"address": "0x10005f40", "recomp": "0x10005f50", "name": "LegoState::~LegoState", "matching": 1.0, "diff": []}, {"address": "0x10005f90", "recomp": "0x10005fa0", "name": "LegoState::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x10005fa0", "recomp": "0x10005fb0", "name": "LegoState::Reset", "matching": 1.0, "diff": []}, {"address": "0x10005fb0", "recomp": "0x10005fc0", "name": "LegoState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10006030", "recomp": "0x10006040", "name": "LegoFile::WriteString", "matching": 1.0, "diff": []}, {"address": "0x100060d0", "recomp": "0x100060e0", "name": "LegoState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100060e0", "recomp": "0x100060f0", "name": "LegoState::IsA", "matching": 1.0, "diff": []}, {"address": "0x10006160", "recomp": "0x10006170", "name": "LegoState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100061d0", "recomp": "0x100061e0", "name": "GasStationState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100061e0", "recomp": "0x100061f0", "name": "GasStationState::IsA", "matching": 1.0, "diff": []}, {"address": "0x10006290", "recomp": "0x100062a0", "name": "GasStationState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10006300", "recomp": "0x10006310", "name": "GasStationState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10006430", "recomp": "0x10006440", "name": "GasStationState::PlayAction", "matching": 1.0, "diff": []}, {"address": "0x10006460", "recomp": "0x10006470", "name": "GasStationState::StopAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x10006460,15 +0x10006470,15 @@", [{"both": [["0x10006460", "push esi", "0x10006470"]]}, {"orig": [["0x10006461", "xor eax, eax"], ["0x10006463", "lea edx, [ecx + 8]"], ["0x10006466", "mov esi, dword ptr [esp + 8]"], ["0x1000646a", "cmp dword ptr [edx], esi"]], "recomp": [["0x10006471", "xor edx, edx"], ["0x10006473", "lea esi, [ecx + 8]"], ["0x10006476", "mov eax, dword ptr [esp + 8]"], ["0x1000647a", "cmp dword ptr [esi], eax"]]}, {"both": [["0x1000646c", "je 0xd", "0x1000647c"]]}, {"orig": [["0x1000646e", "add edx, 4"], ["0x10006471", "inc eax"], ["0x10006472", "cmp eax, 3"]], "recomp": [["0x1000647e", "add esi, 4"], ["0x10006481", "inc edx"], ["0x10006482", "cmp edx, 3"]]}, {"both": [["0x10006475", "jl -0xd", "0x10006485"], ["0x10006477", "pop esi", "0x10006487"], ["0x10006478", "ret 4", "0x10006488"]]}, {"orig": [["0x1000647b", "mov dword ptr [ecx + eax*4 + 8], 0xffffffff"]], "recomp": [["0x1000648b", "mov dword ptr [ecx + edx*4 + 8], 0xffffffff"]]}, {"both": [["0x10006483", "pop esi", "0x10006493"], ["0x10006484", "ret 4", "0x10006494"]]}]]]}, {"address": "0x10006490", "recomp": "0x100064a0", "name": "GasStationState::StopActions", "matching": 1.0, "diff": []}, {"address": "0x100064d0", "recomp": "0x100064e0", "name": "LegoCacheSound::LegoCacheSound", "matching": 1.0, "diff": []}, {"address": "0x10006580", "recomp": "0x10006590", "name": "LegoCacheSound::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10006590", "recomp": "0x100065a0", "name": "LegoCacheSound::IsA", "matching": 1.0, "diff": []}, {"address": "0x10006610", "recomp": "0x10006620", "name": "LegoCacheSound::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10006630", "recomp": "0x10006640", "name": "LegoCacheSound::~LegoCacheSound", "matching": 1.0, "diff": []}, {"address": "0x100066d0", "recomp": "0x100066e0", "name": "LegoCacheSound::Init", "matching": 1.0, "diff": []}, {"address": "0x10006710", "recomp": "0x10006720", "name": "LegoCacheSound::Create", "matching": 1.0, "diff": []}, {"address": "0x100068e0", "recomp": "0x100068f0", "name": "LegoCacheSound::CopyData", "matching": 1.0, "diff": []}, {"address": "0x10006920", "recomp": "0x10006930", "name": "LegoCacheSound::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10006960", "recomp": "0x10006970", "name": "LegoCacheSound::Clone", "matching": 1.0, "diff": []}, {"address": "0x10006a30", "recomp": "0x10006a40", "name": "LegoCacheSound::Play", "matching": 1.0, "diff": []}, {"address": "0x10006b80", "recomp": "0x10006b90", "name": "LegoCacheSound::Stop", "matching": 1.0, "diff": []}, {"address": "0x10006be0", "recomp": "0x10006bf0", "name": "LegoCacheSound::FUN_10006be0", "matching": 1.0, "diff": []}, {"address": "0x10006cb0", "recomp": "0x10006cc0", "name": "LegoCacheSound::SetDistance", "matching": 1.0, "diff": []}, {"address": "0x10006cd0", "recomp": "0x10006ce0", "name": "LegoCacheSound::FUN_10006cd0", "matching": 1.0, "diff": []}, {"address": "0x10006ce0", "recomp": "0x10006cf0", "name": "LegoCacheSound::MuteSilence", "matching": 1.0, "diff": []}, {"address": "0x10006d40", "recomp": "0x10006d50", "name": "LegoCacheSound::MuteStop", "matching": 1.0, "diff": []}, {"address": "0x10006d80", "recomp": "0x10006d90", "name": "LegoCacheSound::FUN_10006d80", "matching": 1.0, "effective": true, "diff": [["@@ -0x10006d9b,39 +0x10006dab,39 @@", [{"both": [["0x10006d9b", "sub esp, 0x14", "0x10006dab"], ["0x10006d9e", "mov ecx, 0xffffffff", "0x10006dae"], ["0x10006da3", "mov dword ptr [ebp - 0x10], 0", "0x10006db3"], ["0x10006daa", "push esi", "0x10006dba"], ["0x10006dab", "mov edx, dword ptr [eax + 8]", "0x10006dbb"], ["0x10006dae", "push edi", "0x10006dbe"], ["0x10006daf", "sub eax, eax", "0x10006dbf"], ["0x10006db1", "mov edi, edx", "0x10006dc1"], ["0x10006db3", "repne scasb al, byte ptr es:[edi]", "0x10006dc3"], ["0x10006db5", "not ecx", "0x10006dc5"]]}, {"orig": [["0x10006db7", "lea esi, [ecx + edx - 1]"]], "recomp": [["0x10006dc7", "lea esi, [edx + ecx - 1]"]]}, {"both": [["0x10006dbb", "mov edi, esi", "0x10006dcb"]]}, {"orig": [["0x10006dbd", "mov eax, esi"], ["0x10006dbf", "dec esi"], ["0x10006dc0", "cmp edx, eax"]], "recomp": [["0x10006dcd", "mov eax, edi"], ["0x10006dcf", "dec edi"], ["0x10006dd0", "cmp eax, edx"]]}, {"both": [["0x10006dc2", "je 0xc", "0x10006dd2"]]}, {"orig": [["0x10006dc4", "mov al, byte ptr [esi]"]], "recomp": [["0x10006dd4", "mov al, byte ptr [edi]"]]}, {"both": [["0x10006dc6", "cmp al, 0x2e", "0x10006dd6"], ["0x10006dc8", "jne 0x2", "0x10006dd8"]]}, {"orig": [["0x10006dca", "mov edi, esi"]], "recomp": [["0x10006dda", "mov esi, edi"]]}, {"both": [["0x10006dcc", "cmp al, 0x5c", "0x10006ddc"], ["0x10006dce", "jne -0x13", "0x10006dde"], ["0x10006dd0", "lea ecx, [ebp - 0x20]", "0x10006de0"]]}, {"orig": [["0x10006dd3", "inc esi"]], "recomp": [["0x10006de3", "inc edi"]]}, {"both": [["0x10006dd4", "call MxString::MxString (FUNCTION)", "0x10006de4"]]}, {"orig": [["0x10006dd9", "push esi"]], "recomp": [["0x10006de9", "push edi"]]}, {"both": [["0x10006dda", "lea ecx, [ebp - 0x20]", "0x10006dea"], ["0x10006ddd", "mov dword ptr [ebp - 4], 1", "0x10006ded"]]}, {"orig": [["0x10006de4", "mov byte ptr [edi], 0"]], "recomp": [["0x10006df4", "mov byte ptr [esi], 0"]]}, {"both": [["0x10006de7", "call MxString::operator= (FUNCTION)", "0x10006df7"], ["0x10006dec", "push eax", "0x10006dfc"], ["0x10006ded", "mov ecx, dword ptr [ebp + 8]", "0x10006dfd"], ["0x10006df0", "call MxString::MxString (FUNCTION)", "0x10006e00"], ["0x10006df5", "or dword ptr [ebp - 0x10], 1", "0x10006e05"], ["0x10006df9", "mov byte ptr [ebp - 4], 0", "0x10006e09"], ["0x10006dfd", "call <OFFSET5>", "0x10006e0d"], ["0x10006e02", "mov eax, dword ptr [ebp + 8]", "0x10006e12"], ["0x10006e05", "mov ecx, dword ptr [ebp - 0xc]", "0x10006e15"], ["0x10006e08", "mov dword ptr fs:[0], ecx", "0x10006e18"]]}]]]}, {"address": "0x10006e40", "recomp": "0x10006e50", "name": "LegoObjectFactory::LegoObjectFactory", "matching": 1.0, "diff": []}, {"address": "0x10008f70", "recomp": "0x10008f80", "name": "MxObjectFactory::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10008f80", "recomp": "0x10008f90", "name": "MxObjectFactory::IsA", "matching": 1.0, "diff": []}, {"address": "0x10009000", "recomp": "0x10009010", "name": "LegoObjectFactory::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10009020", "recomp": "0x10009030", "name": "MxObjectFactory::~MxObjectFactory", "matching": 1.0, "diff": []}, {"address": "0x10009170", "recomp": "0x10009180", "name": "LegoObjectFactory::~LegoObjectFactory", "matching": 1.0, "diff": []}, {"address": "0x10009a90", "recomp": "0x10009aa0", "name": "LegoObjectFactory::Create", "matching": 1.0, "diff": []}, {"address": "0x1000be30", "recomp": "0x1000be40", "name": "MxPresenter::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x1000be40", "recomp": "0x1000be50", "name": "MxPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x1000be60", "recomp": "0x1000be70", "name": "MxPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1000be80", "recomp": "0x1000be90", "name": "MxPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x1000bea0", "recomp": "0x1000beb0", "name": "MxPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x1000bec0", "recomp": "0x1000bed0", "name": "MxPresenter::FreezingTickle", "matching": 1.0, "diff": []}, {"address": "0x1000bee0", "recomp": "0x1000bef0", "name": "MxPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x1000bf00", "recomp": "0x1000bf10", "name": "MxPresenter::~MxPresenter", "matching": 1.0, "diff": []}, {"address": "0x1000bf70", "recomp": "0x1000bf80", "name": "MxPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1000bf80", "recomp": "0x1000bf90", "name": "MxPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000bf90", "recomp": "0x1000bfa0", "name": "MxPresenter::SetTickleState", "matching": 1.0, "diff": []}, {"address": "0x1000bfb0", "recomp": "0x1000bfc0", "name": "MxPresenter::HasTickleStatePassed", "matching": 1.0, "diff": []}, {"address": "0x1000bfc0", "recomp": "0x1000bfd0", "name": "MxPresenter::PutData", "matching": 1.0, "diff": []}, {"address": "0x1000bfd0", "recomp": "0x1000bfe0", "name": "MxPresenter::IsHit", "matching": 1.0, "diff": []}, {"address": "0x1000bfe0", "recomp": "0x1000bff0", "name": "MxPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000bff0", "recomp": "0x1000c000", "name": "MxPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000c070", "recomp": "0x1000c080", "name": "MxPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000c0f0", "recomp": "0x100044f0", "name": "Vector2::Vector2", "matching": 1.0, "diff": []}, {"address": "0x1000c110", "recomp": "0x1000c100", "name": "MxEntity::~MxEntity", "matching": 1.0, "diff": []}, {"address": "0x1000c180", "recomp": "0x1000c170", "name": "MxEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000c190", "recomp": "0x1000c180", "name": "MxEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000c210", "recomp": "0x1000c200", "name": "MxEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000c290", "recomp": "0x1000c280", "name": "LegoEntity::~LegoEntity", "matching": 1.0, "diff": []}, {"address": "0x1000c2f0", "recomp": "0x1000c2e0", "name": "LegoEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000c300", "recomp": "0x1000c2f0", "name": "LegoEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000c3b0", "recomp": "0x1000c3a0", "name": "LegoEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000c430", "recomp": "0x1000c420", "name": "LegoPathActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000c440", "recomp": "0x1000c430", "name": "LegoPathActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000c550", "recomp": "0x1000c540", "name": "MxMediaPresenter::~MxMediaPresenter", "matching": 1.0, "diff": []}, {"address": "0x1000c5b0", "recomp": "0x1000c5a0", "name": "MxMediaPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000c5c0", "recomp": "0x1000c5b0", "name": "MxMediaPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000c5d0", "recomp": "0x1000c5c0", "name": "MxMediaPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000c680", "recomp": "0x1000c670", "name": "MxMediaPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000c700", "recomp": "0x1000c6f0", "name": "MxVideoPresenter::LoadHeader", "matching": 1.0, "diff": []}, {"address": "0x1000c710", "recomp": "0x1000c700", "name": "MxVideoPresenter::CreateBitmap", "matching": 1.0, "diff": []}, {"address": "0x1000c720", "recomp": "0x1000c710", "name": "MxVideoPresenter::LoadFrame", "matching": 1.0, "diff": []}, {"address": "0x1000c730", "recomp": "0x1000c720", "name": "MxVideoPresenter::RealizePalette", "matching": 1.0, "diff": []}, {"address": "0x1000c740", "recomp": "0x1000c730", "name": "MxVideoPresenter::~MxVideoPresenter", "matching": 1.0, "diff": []}, {"address": "0x1000c7a0", "recomp": "0x1000c790", "name": "MxVideoPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000c7b0", "recomp": "0x1000c7a0", "name": "MxVideoPresenter::VTable0x78", "matching": 1.0, "diff": []}, {"address": "0x1000c7c0", "recomp": "0x1000c7b0", "name": "MxVideoPresenter::VTable0x7c", "matching": 1.0, "diff": []}, {"address": "0x1000c7e0", "recomp": "0x1000c7d0", "name": "MxVideoPresenter::GetWidth", "matching": 0.6, "diff": [["@@ -0x1000c7e0,10 +0x1000c7d0,10 @@", [{"both": [["0x1000c7e0", "mov edx, dword ptr [ecx + 0x54]", "0x1000c7d0"], ["0x1000c7e3", "test edx, edx", "0x1000c7d3"]]}, {"orig": [["0x1000c7e5", "jne 0xa"]], "recomp": [["0x1000c7d5", "je 0x7"], ["0x1000c7d7", "xor eax, eax"], ["0x1000c7d9", "mov ax, word ptr [edx + 8]"], ["0x1000c7dd", "ret "]]}, {"both": [["0x1000c7e7", "mov eax, dword ptr [ecx + 0x50]", "0x1000c7de"], ["0x1000c7ea", "mov ecx, dword ptr [eax + 0xc]", "0x1000c7e1"], ["0x1000c7ed", "mov eax, dword ptr [ecx + 4]", "0x1000c7e4"], ["0x1000c7f0", "ret ", "0x1000c7e7"]]}, {"orig": [["0x1000c7f1", "xor eax, eax"], ["0x1000c7f3", "mov ax, word ptr [edx + 8]"], ["0x1000c7f7", "ret "]], "recomp": []}]]]}, {"address": "0x1000c800", "recomp": "0x1000c7f0", "name": "MxVideoPresenter::GetHeight", "matching": 0.6153846153846154, "diff": [["@@ -0x1000c800,13 +0x1000c7f0,13 @@", [{"both": [["0x1000c800", "mov edx, dword ptr [ecx + 0x54]", "0x1000c7f0"], ["0x1000c803", "test edx, edx", "0x1000c7f3"]]}, {"orig": [["0x1000c805", "jne 0x10"]], "recomp": [["0x1000c7f5", "je 0x7"], ["0x1000c7f7", "xor eax, eax"], ["0x1000c7f9", "mov ax, word ptr [edx + 0xa]"], ["0x1000c7fd", "ret "]]}, {"both": [["0x1000c807", "mov eax, dword ptr [ecx + 0x50]", "0x1000c7fe"], ["0x1000c80a", "mov ecx, dword ptr [eax + 0xc]", "0x1000c801"], ["0x1000c80d", "mov eax, dword ptr [ecx + 8]", "0x1000c804"], ["0x1000c810", "test eax, eax", "0x1000c807"]]}, {"orig": [["0x1000c812", "jg 0x9"]], "recomp": [["0x1000c809", "jg 0x2"]]}, {"both": [["0x1000c814", "neg eax", "0x1000c80b"], ["0x1000c816", "ret ", "0x1000c80d"]]}, {"orig": [["0x1000c817", "xor eax, eax"], ["0x1000c819", "mov ax, word ptr [edx + 0xa]"], ["0x1000c81d", "ret "]], "recomp": []}]]]}, {"address": "0x1000c820", "recomp": "0x1000c810", "name": "MxVideoPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000c830", "recomp": "0x1000c820", "name": "MxVideoPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000c910", "recomp": "0x1000c900", "name": "MxVideoPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000c990", "recomp": "0x1000c980", "name": "LegoAnimPresenter::GetROIMap", "matching": 1.0, "diff": []}, {"address": "0x1000c9a0", "recomp": "0x1000c990", "name": "LegoLoopingAnimPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000c9b0", "recomp": "0x1000c9a0", "name": "LegoLoopingAnimPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000caf0", "recomp": "0x1000cae0", "name": "MxCompositePresenter::VTable0x64", "matching": 1.0, "diff": []}, {"address": "0x1000cb10", "recomp": "0x1000cb00", "name": "LegoActorPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000cb20", "recomp": "0x1000cb10", "name": "LegoActorPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000cc30", "recomp": "0x1000cc20", "name": "LegoActorPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000cca0", "recomp": "0x1000cc90", "name": "LegoModelPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000ccb0", "recomp": "0x1000cca0", "name": "LegoModelPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000ccc0", "recomp": "0x1000ccb0", "name": "LegoModelPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000cdd0", "recomp": "0x1000cdc0", "name": "LegoModelPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000ce50", "recomp": "0x1000ce40", "name": "LegoTexturePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000ce60", "recomp": "0x1000ce50", "name": "LegoTexturePresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000cf40", "recomp": "0x1000cf30", "name": "LegoTexturePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000cf60", "recomp": "0x1000cf50", "name": "LegoPartPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000cf70", "recomp": "0x1000cf60", "name": "LegoPartPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000cf80", "recomp": "0x1000cf70", "name": "LegoPartPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000d060", "recomp": "0x1000d050", "name": "LegoPartPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000d0e0", "recomp": "0x1000d0d0", "name": "LegoActionControlPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000d0f0", "recomp": "0x1000d0e0", "name": "LegoActionControlPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000d1d0", "recomp": "0x1000d1c0", "name": "LegoActionControlPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000d260", "recomp": "0x1000d250", "name": "MxAudioPresenter::GetVolume", "matching": 1.0, "diff": []}, {"address": "0x1000d270", "recomp": "0x1000d260", "name": "MxAudioPresenter::SetVolume", "matching": 1.0, "diff": []}, {"address": "0x1000d280", "recomp": "0x1000d270", "name": "MxAudioPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000d290", "recomp": "0x1000d280", "name": "MxAudioPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000d370", "recomp": "0x1000d360", "name": "MxAudioPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000d3e0", "recomp": "0x1000d3d0", "name": "MxAudioPresenter::~MxAudioPresenter", "matching": 1.0, "diff": []}, {"address": "0x1000d430", "recomp": "0x1000d420", "name": "MxSoundPresenter::~MxSoundPresenter", "matching": 1.0, "diff": []}, {"address": "0x1000d490", "recomp": "0x1000d480", "name": "MxSoundPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000d4a0", "recomp": "0x1000d490", "name": "MxSoundPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000d4b0", "recomp": "0x1000d4a0", "name": "MxSoundPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000d5c0", "recomp": "0x1000d5b0", "name": "MxSoundPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000d640", "recomp": "0x1000d630", "name": "MxWavePresenter::~MxWavePresenter", "matching": 1.0, "diff": []}, {"address": "0x1000d6a0", "recomp": "0x1000d690", "name": "MxWavePresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000d6b0", "recomp": "0x1000d6a0", "name": "MxWavePresenter::IsPaused", "matching": 1.0, "diff": []}, {"address": "0x1000d6c0", "recomp": "0x1000d6b0", "name": "MxWavePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000d6d0", "recomp": "0x1000d6c0", "name": "MxWavePresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000d810", "recomp": "0x1000d800", "name": "MxWavePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000d890", "recomp": "0x1000d880", "name": "Lego3DWavePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000d8a0", "recomp": "0x1000d890", "name": "Lego3DWavePresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000da20", "recomp": "0x1000da10", "name": "vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::~vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x1000da20,15 +0x1000da10,15 @@", [{"both": [["0x1000da20", "push esi", "0x1000da10"], ["0x1000da21", "mov eax, dword ptr [ecx + 8]", "0x1000da11"], ["0x1000da24", "mov esi, ecx", "0x1000da14"], ["0x1000da26", "mov ecx, dword ptr [ecx + 4]", "0x1000da16"]]}, {"orig": [["0x1000da29", "cmp eax, ecx"]], "recomp": [["0x1000da19", "cmp ecx, eax"]]}, {"both": [["0x1000da2b", "mov edx, ecx", "0x1000da1b"], ["0x1000da2d", "je 0x7", "0x1000da1d"], ["0x1000da2f", "add edx, 4", "0x1000da1f"], ["0x1000da32", "cmp edx, eax", "0x1000da22"], ["0x1000da34", "jne -0x7", "0x1000da24"], ["0x1000da36", "push ecx", "0x1000da26"], ["0x1000da37", "call ??3@YAXPAX@Z (FUNCTION)", "0x1000da27"], ["0x1000da3c", "mov dword ptr [esi + 4], 0", "0x1000da2c"], ["0x1000da43", "mov dword ptr [esi + 8], 0", "0x1000da33"], ["0x1000da4a", "add esp, 4", "0x1000da3a"]]}]]]}, {"address": "0x1000da60", "recomp": "0x1000da50", "name": "Vector<LegoAnimActorStruct *>::~Vector<LegoAnimActorStruct *>", "matching": 1.0, "diff": []}, {"address": "0x1000dab0", "recomp": "0x1000daa0", "name": "LegoRace::HandleType0Notification", "matching": 1.0, "diff": []}, {"address": "0x1000dac0", "recomp": "0x1000dab0", "name": "LegoRace::VTable0x7c", "matching": 1.0, "diff": []}, {"address": "0x1000dae0", "recomp": "0x1000dad0", "name": "LegoRace::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x1000daf0", "recomp": "0x1000dae0", "name": "JetskiRace::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000db00", "recomp": "0x1000daf0", "name": "JetskiRace::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000dc40", "recomp": "0x1000dc30", "name": "JetskiRaceState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000dc50", "recomp": "0x1000dc40", "name": "JetskiRaceState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000dd30", "recomp": "0x1000dd20", "name": "CarRaceState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000dd40", "recomp": "0x1000dd30", "name": "CarRaceState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000de20", "recomp": "0x1000de10", "name": "ScoreState::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x1000de30", "recomp": "0x1000de20", "name": "ScoreState::Reset", "matching": 1.0, "diff": []}, {"address": "0x1000de40", "recomp": "0x1000de30", "name": "ScoreState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000de50", "recomp": "0x1000de40", "name": "ScoreState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000df00", "recomp": "0x1000def0", "name": "ScoreState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000df70", "recomp": "0x1000df60", "name": "LegoAct2State::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x1000df80", "recomp": "0x1000df70", "name": "LegoAct2State::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000df90", "recomp": "0x1000df80", "name": "LegoAct2State::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e040", "recomp": "0x1000e030", "name": "LegoAct2State::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000e0b0", "recomp": "0x1000e0a0", "name": "HelicopterState::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x1000e0c0", "recomp": "0x1000e0b0", "name": "HelicopterState::Reset", "matching": 1.0, "diff": []}, {"address": "0x1000e0d0", "recomp": "0x1000e0c0", "name": "HelicopterState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000e0e0", "recomp": "0x1000e0d0", "name": "HelicopterState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e190", "recomp": "0x1000e180", "name": "HelicopterState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000e200", "recomp": "0x1000e1f0", "name": "Act2PoliceStation::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000e210", "recomp": "0x1000e200", "name": "Act2PoliceStation::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e2f0", "recomp": "0x1000e2e0", "name": "Act3State::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x1000e300", "recomp": "0x1000e2f0", "name": "Act3State::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000e310", "recomp": "0x1000e300", "name": "Act3State::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e3c0", "recomp": "0x1000e3b0", "name": "Act3State::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000e430", "recomp": "0x1000e420", "name": "Doors::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000e440", "recomp": "0x1000e430", "name": "Doors::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e580", "recomp": "0x1000e570", "name": "Doors::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000e5f0", "recomp": "0x1000e5e0", "name": "IsleActor::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x1000e600", "recomp": "0x1000e5f0", "name": "IsleActor::VTable0x6c", "matching": 1.0, "diff": []}, {"address": "0x1000e610", "recomp": "0x1000e600", "name": "IsleActor::HandleEndAnim", "matching": 1.0, "diff": []}, {"address": "0x1000e620", "recomp": "0x1000e610", "name": "IsleActor::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x1000e630", "recomp": "0x1000e620", "name": "IsleActor::HandleButtonDown", "matching": 1.0, "diff": []}, {"address": "0x1000e640", "recomp": "0x1000e630", "name": "IsleActor::HandleButtonUp", "matching": 1.0, "diff": []}, {"address": "0x1000e650", "recomp": "0x1000e640", "name": "IsleActor::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x1000e660", "recomp": "0x1000e650", "name": "IsleActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000e670", "recomp": "0x1000e660", "name": "IsleActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e780", "recomp": "0x1000e770", "name": "Pizzeria::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000e790", "recomp": "0x1000e780", "name": "Pizzeria::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000e8d0", "recomp": "0x1000e8c0", "name": "Pizzeria::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000e940", "recomp": "0x1000e930", "name": "IsleActor::~IsleActor", "matching": 1.0, "diff": []}, {"address": "0x1000e990", "recomp": "0x1000e980", "name": "IsleActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000ea00", "recomp": "0x1000e9f0", "name": "InfoCenterEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000ea10", "recomp": "0x1000ea00", "name": "InfoCenterEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000eb20", "recomp": "0x1000eb10", "name": "GasStationEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000eb30", "recomp": "0x1000eb20", "name": "GasStationEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000ec40", "recomp": "0x1000ec30", "name": "HospitalEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000ec50", "recomp": "0x1000ec40", "name": "HospitalEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000ed60", "recomp": "0x1000ed50", "name": "PoliceEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000ed70", "recomp": "0x1000ed60", "name": "PoliceEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000ee80", "recomp": "0x1000ee70", "name": "BeachHouseEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000ee90", "recomp": "0x1000ee80", "name": "BeachHouseEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000efa0", "recomp": "0x1000ef90", "name": "RaceStandsEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000efb0", "recomp": "0x1000efa0", "name": "RaceStandsEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000f0c0", "recomp": "0x1000f0b0", "name": "JailEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000f0d0", "recomp": "0x1000f0c0", "name": "JailEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000f1e0", "recomp": "0x1000f1d0", "name": "CaveEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000f1f0", "recomp": "0x1000f1e0", "name": "CaveEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000f300", "recomp": "0x1000f2f0", "name": "JukeBoxState::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x1000f310", "recomp": "0x1000f300", "name": "JukeBoxState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000f320", "recomp": "0x1000f310", "name": "JukeBoxState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000f3d0", "recomp": "0x1000f3c0", "name": "JukeBoxState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f440", "recomp": "0x1000f430", "name": "LegoLoopingAnimPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f4b0", "recomp": "0x1000f4a0", "name": "Lego3DWavePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f530", "recomp": "0x1000f520", "name": "JetskiRace::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f5a0", "recomp": "0x1000f590", "name": "Act2GenActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f610", "recomp": "0x1000f600", "name": "Act2PoliceStation::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f680", "recomp": "0x1000f670", "name": "JetskiRaceState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f6f0", "recomp": "0x1000f6e0", "name": "RaceState::~RaceState", "matching": 1.0, "diff": []}, {"address": "0x1000f740", "recomp": "0x1000f730", "name": "CarRaceState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f7b0", "recomp": "0x1000f7a0", "name": "InfoCenterEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f820", "recomp": "0x1000f810", "name": "HospitalEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f890", "recomp": "0x1000f880", "name": "GasStationEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f900", "recomp": "0x1000f8f0", "name": "PoliceEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f970", "recomp": "0x1000f960", "name": "BeachHouseEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000f9e0", "recomp": "0x1000f9d0", "name": "RaceStandsEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000fa50", "recomp": "0x1000fa40", "name": "CaveEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000fac0", "recomp": "0x1000fab0", "name": "JailEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000fb30", "recomp": "0x1000fb20", "name": "LegoObjectFactory::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1000fb50", "recomp": "0x1000fb40", "name": "LegoAnimActor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fb60", "recomp": "0x1000fb50", "name": "LegoAnimActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000fb90", "recomp": "0x1000fb80", "name": "LegoAnimActor::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fba0", "recomp": "0x1000fb90", "name": "LegoAnimActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000fbb0", "recomp": "0x1000fba0", "name": "LegoAnimActor::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fbc0", "recomp": "0x1000fbb0", "name": "LegoAnimActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000fd00", "recomp": "0x1000fcf0", "name": "LegoAnimActor::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fd10", "recomp": "0x1000fd00", "name": "LegoAnimActor::SetWorldSpeed`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fd20", "recomp": "0x1000fd10", "name": "LegoAnimActor::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fd30", "recomp": "0x1000fd20", "name": "LegoAnimActor::VTable0x74`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1000fd40", "recomp": "0x1000fd30", "name": "SkateBoard::SkateBoard", "matching": 1.0, "diff": []}, {"address": "0x1000fdd0", "recomp": "0x1000fdc0", "name": "SkateBoard::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1000fde0", "recomp": "0x1000fdd0", "name": "SkateBoard::IsA", "matching": 1.0, "diff": []}, {"address": "0x1000ff60", "recomp": "0x1000ff50", "name": "SkateBoard::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1000ff80", "recomp": "0x1000ff70", "name": "SkateBoard::~SkateBoard", "matching": 1.0, "diff": []}, {"address": "0x10010000", "recomp": "0x1000fff0", "name": "SkateBoard::Create", "matching": 1.0, "diff": []}, {"address": "0x10010050", "recomp": "0x10010040", "name": "SkateBoard::Exit", "matching": 1.0, "diff": []}, {"address": "0x100100e0", "recomp": "0x100100d0", "name": "SkateBoard::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x10010124,27 +0x10010114,27 @@", [{"both": [["0x10010124", "call CurrentWorld (FUNCTION)", "0x10010114"], ["0x10010129", "mov dword ptr [eax + 0x13c], 0x3d", "0x10010119"], ["0x10010133", "push 1", "0x10010123"], ["0x10010135", "push 0", "0x10010125"], ["0x10010137", "push 0x32", "0x10010127"], ["0x10010139", "push 3", "0x10010129"], ["0x1001013b", "call TransitionManager (FUNCTION)", "0x1001012b"], ["0x10010140", "mov ecx, eax", "0x10010130"], ["0x10010142", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10010132"], ["0x10010147", "call UserActor (FUNCTION)", "0x10010137"]]}, {"orig": [["0x1001014c", "mov edi, dword ptr [eax]"], ["0x1001014e", "mov ebx, eax"]], "recomp": [["0x1001013c", "mov ebx, dword ptr [eax]"], ["0x1001013e", "mov ebp, eax"]]}, {"both": [["0x10010150", "call GameState (FUNCTION)", "0x10010140"]]}, {"orig": [["0x10010155", "mov ebp, eax"], ["0x10010157", "mov ecx, ebx"], ["0x10010159", "call dword ptr [edi + 0x60]"], ["0x1001015c", "cmp al, byte ptr [ebp + 0xc]"]], "recomp": [["0x10010145", "mov edi, eax"], ["0x10010147", "mov ecx, ebp"], ["0x10010149", "call dword ptr [ebx + 0x60]"], ["0x1001014c", "cmp al, byte ptr [edi + 0xc]"]]}, {"both": [["0x1001015f", "je 0x24", "0x1001014f"], ["0x10010161", "call UserActor (FUNCTION)", "0x10010151"], ["0x10010166", "push 'SkateBoard' (STRING)", "0x10010156"], ["0x1001016b", "mov edx, dword ptr [eax]", "0x1001015b"], ["0x1001016d", "mov ecx, eax", "0x1001015d"], ["0x1001016f", "call dword ptr [edx + 0x10]", "0x1001015f"], ["0x10010172", "test al, al", "0x10010162"], ["0x10010174", "jne 0xf", "0x10010164"], ["0x10010176", "call UserActor (FUNCTION)", "0x10010166"], ["0x1001017b", "mov edx, dword ptr [eax]", "0x1001016b"]]}]]]}, {"address": "0x10010230", "recomp": "0x10010220", "name": "SkateBoard::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10010270", "recomp": "0x10010260", "name": "SkateBoard::EnableScenePresentation", "matching": 1.0, "diff": []}, {"address": "0x10010360", "recomp": "0x10010350", "name": "MxParam::~MxParam", "matching": 1.0, "diff": []}, {"address": "0x10010370", "recomp": "0x10010360", "name": "MxParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10010390", "recomp": "0x10010380", "name": "MxNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x10010430", "recomp": "0x10010420", "name": "MxNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100104a0", "recomp": "0x10010490", "name": "MxNotificationParam::~MxNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x100104f0", "recomp": "0x100104e0", "name": "SkateBoard::HandleNotification0", "matching": 1.0, "diff": []}, {"address": "0x10010510", "recomp": "0x10010500", "name": "SkateBoard::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x100105f0", "recomp": "0x100105e0", "name": "LegoEntity::Init", "matching": 1.0, "diff": []}, {"address": "0x10010650", "recomp": "0x10010640", "name": "LegoEntity::ResetWorldTransform", "matching": 1.0, "diff": []}, {"address": "0x10010790", "recomp": "0x10010780", "name": "LegoEntity::SetWorldTransform", "matching": 1.0, "diff": []}, {"address": "0x100107e0", "recomp": "0x100107d0", "name": "LegoEntity::Create", "matching": 1.0, "diff": []}, {"address": "0x10010810", "recomp": "0x10010800", "name": "LegoEntity::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10010880", "recomp": "0x10010870", "name": "LegoEntity::SetWorld", "matching": 1.0, "effective": true, "diff": [["@@ -0x10010880,13 +0x10010870,13 @@", [{"both": [["0x10010880", "push esi", "0x10010870"], ["0x10010881", "mov esi, ecx", "0x10010871"], ["0x10010883", "call CurrentWorld (FUNCTION)", "0x10010873"], ["0x10010888", "test eax, eax", "0x10010878"], ["0x1001088a", "je 0xc", "0x1001087a"]]}, {"orig": [["0x1001088c", "cmp eax, esi"]], "recomp": [["0x1001087c", "cmp esi, eax"]]}, {"both": [["0x1001088e", "je 0x8", "0x1001087e"], ["0x10010890", "push esi", "0x10010880"], ["0x10010891", "mov edx, dword ptr [eax]", "0x10010881"], ["0x10010893", "mov ecx, eax", "0x10010883"], ["0x10010895", "call dword ptr [edx + 0x58]", "0x10010885"], ["0x10010898", "pop esi", "0x10010888"], ["0x10010899", "ret ", "0x10010889"]]}]]]}, {"address": "0x100108a0", "recomp": "0x10010890", "name": "LegoEntity::SetROI", "matching": 1.0, "diff": []}, {"address": "0x100109b0", "recomp": "0x100109a0", "name": "LegoEntity::SetLocation", "matching": 1.0, "diff": []}, {"address": "0x10010be0", "recomp": "0x10010bd0", "name": "Vector3::operator=", "matching": 1.0, "diff": []}, {"address": "0x10010c00", "recomp": "0x10010bf0", "name": "Mx3DPointFloat::operator=", "matching": 1.0, "diff": []}, {"address": "0x10010c30", "recomp": "0x10010c20", "name": "LegoEntity::FUN_10010c30", "matching": 1.0, "diff": []}, {"address": "0x10010c60", "recomp": "0x10010c50", "name": "LegoEntity::GetWorldDirection", "matching": 1.0, "diff": []}, {"address": "0x10010cf0", "recomp": "0x10010ce0", "name": "LegoEntity::GetWorldUp", "matching": 1.0, "diff": []}, {"address": "0x10010d80", "recomp": "0x10010d70", "name": "LegoEntity::GetWorldPosition", "matching": 1.0, "diff": []}, {"address": "0x10010e10", "recomp": "0x10010e00", "name": "LegoEntity::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x10010f10", "recomp": "0x10010f00", "name": "LegoEntity::ClickSound", "matching": 1.0, "diff": []}, {"address": "0x10011070", "recomp": "0x10011060", "name": "LegoEntity::ClickAnimation", "matching": 1.0, "diff": []}, {"address": "0x10011300", "recomp": "0x100112f0", "name": "LegoEntity::SwitchVariant", "matching": 1.0, "diff": []}, {"address": "0x10011360", "recomp": "0x10011350", "name": "LegoEntity::SwitchSound", "matching": 1.0, "diff": []}, {"address": "0x100113c0", "recomp": "0x100113b0", "name": "LegoEntity::SwitchMove", "matching": 1.0, "diff": []}, {"address": "0x10011420", "recomp": "0x10011410", "name": "LegoEntity::SwitchColor", "matching": 1.0, "diff": []}, {"address": "0x10011470", "recomp": "0x10011460", "name": "LegoEntity::SwitchMood", "matching": 1.0, "diff": []}, {"address": "0x100114e0", "recomp": "0x100114d0", "name": "LegoEntity::SetType", "matching": 1.0, "diff": []}, {"address": "0x100114f0", "recomp": "0x100114e0", "name": "LegoEntity::Notify", "matching": 1.0, "diff": []}, {"address": "0x10011630", "recomp": "0x10011620", "name": "Lego3DSound::Lego3DSound", "matching": 1.0, "diff": []}, {"address": "0x10011650", "recomp": "0x10011640", "name": "Lego3DSound::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10011670", "recomp": "0x10011660", "name": "Lego3DSound::~Lego3DSound", "matching": 1.0, "diff": []}, {"address": "0x10011680", "recomp": "0x10011670", "name": "Lego3DSound::Init", "matching": 1.0, "diff": []}, {"address": "0x100116a0", "recomp": "0x10011690", "name": "Lego3DSound::Create", "matching": 0.936986301369863, "diff": [["@@ -0x1001170c,24 +0x100116fc,24 @@", [{"both": [["0x1001170c", "call dword ptr [ebp + 0x4c]", "0x100116fc"], ["0x1001170f", "mov eax, dword ptr [ebx]", "0x100116ff"], ["0x10011711", "push 0", "0x10011701"], ["0x10011713", "mov ebp, dword ptr [eax]", "0x10011703"], ["0x10011715", "push 0xffffd8f0", "0x10011705"], ["0x1001171a", "push eax", "0x1001170a"], ["0x1001171b", "call dword ptr [ebp + 0x3c]", "0x1001170b"], ["0x1001171e", "jmp 0x4", "0x1001170e"], ["0x10011720", "mov edi, dword ptr [esp + 0x1c]", "0x10011710"], ["0x10011724", "cmp dword ptr [esi + 8], 0", "0x10011714"]]}, {"orig": [["0x10011728", "je 0x143"]], "recomp": [["0x10011718", "je 0x142"]]}, {"both": [["0x1001172e", "mov ebp, dword ptr [esp + 0x20]", "0x1001171e"], ["0x10011732", "test ebp, ebp", "0x10011722"]]}, {"orig": [["0x10011734", "je 0x137"]], "recomp": [["0x10011724", "je 0x136"]]}, {"both": [["0x1001173a", "call CharacterManager (FUNCTION)", "0x1001172a"], ["0x1001173f", "push ebp", "0x1001172f"], ["0x10011740", "call LegoCharacterManager::IsActor (FUNCTION)", "0x10011730"], ["0x10011745", "add esp, 4", "0x10011735"], ["0x10011748", "test al, al", "0x10011738"], ["0x1001174a", "je 0x1e", "0x1001173a"], ["0x1001174c", "mov ebx, 1", "0x1001173c"], ["0x10011751", "push ebx", "0x10011741"], ["0x10011752", "push ebp", "0x10011742"], ["0x10011753", "call CharacterManager (FUNCTION)", "0x10011743"]]}]], ["@@ -0x100117db,36 +0x100117cb,36 @@", [{"both": [["0x100117db", "mov ebx, dword ptr [ecx + 0x34]", "0x100117cb"], ["0x100117de", "add ecx, 0x30", "0x100117ce"], ["0x100117e1", "push eax", "0x100117d1"], ["0x100117e2", "push ebx", "0x100117d2"], ["0x100117e3", "mov eax, dword ptr [edx]", "0x100117d3"], ["0x100117e5", "mov ecx, dword ptr [ecx]", "0x100117d5"], ["0x100117e7", "push ecx", "0x100117d7"], ["0x100117e8", "push edx", "0x100117d8"], ["0x100117e9", "call dword ptr [eax + 0x4c]", "0x100117d9"], ["0x100117ec", "mov eax, dword ptr [esi + 0xc]", "0x100117dc"]]}, {"orig": [["0x100117ef", "mov ebp, dword ptr [eax + 0x104]"], ["0x100117f5", "test ebp, ebp"], ["0x100117f7", "je 0x26"], ["0x100117f9", "mov ebx, dword ptr [ebp]"]], "recomp": [["0x100117df", "mov ebx, dword ptr [eax + 0x104]"], ["0x100117e5", "test ebx, ebx"], ["0x100117e7", "je 0x25"], ["0x100117e9", "mov ebp, dword ptr [ebx]"]]}, {"both": [["0x100117fc", "push 'LegoActor' (STRING)", "0x100117eb"]]}, {"orig": [["0x10011801", "mov ecx, ebp"], ["0x10011803", "call dword ptr [ebx + 0x10]"]], "recomp": [["0x100117f0", "mov ecx, ebx"], ["0x100117f2", "call dword ptr [ebp + 0x10]"]]}, {"both": [["0x10011806", "test al, al", "0x100117f5"], ["0x10011808", "je 0x15", "0x100117f7"]]}, {"orig": [["0x1001180a", "mov ecx, ebp"], ["0x1001180c", "call dword ptr [ebx + 0x50]"]], "recomp": [["0x100117f9", "mov ecx, ebx"], ["0x100117fb", "call dword ptr [ebp + 0x50]"]]}, {"both": [["0x1001180f", "fcomp dword ptr [0.0 (FLOAT)]", "0x100117fe"], ["0x10011815", "fnstsw ax", "0x10011804"], ["0x10011817", "test ah, 0x40", "0x10011806"], ["0x1001181a", "jne 0x3", "0x10011809"]]}, {"orig": [["0x1001181c", "mov dword ptr [esi + 0x18], ebp"]], "recomp": [["0x1001180b", "mov dword ptr [esi + 0x18], ebx"]]}, {"both": [["0x1001181f", "mov ebx, dword ptr [edi]", "0x1001180e"], ["0x10011821", "lea ebp, [esi + 0x28]", "0x10011810"], ["0x10011824", "push ebp", "0x10011813"], ["0x10011825", "push edi", "0x10011814"], ["0x10011826", "call dword ptr [ebx + 0x20]", "0x10011815"], ["0x10011829", "mov ecx, dword ptr [esi + 0x18]", "0x10011818"], ["0x1001182c", "test ecx, ecx", "0x1001181b"], ["0x1001182e", "je 0x35", "0x1001181d"], ["0x10011830", "mov eax, dword ptr [ecx]", "0x1001181f"], ["0x10011832", "call dword ptr [eax + 0x50]", "0x10011821"]]}]], ["@@ -0x10011869,10 +0x10011858,11 @@", [{"both": [["0x10011869", "pop esi", "0x10011858"], ["0x1001186a", "pop ebx", "0x10011859"], ["0x1001186b", "add esp, 8", "0x1001185a"], ["0x1001186e", "ret 0xc", "0x1001185d"], ["0x10011871", "xor eax, eax", "0x10011860"], ["0x10011873", "pop ebp", "0x10011862"], ["0x10011874", "pop edi", "0x10011863"], ["0x10011875", "pop esi", "0x10011864"], ["0x10011876", "pop ebx", "0x10011865"], ["0x10011877", "add esp, 8", "0x10011866"]]}, {"orig": [], "recomp": [["0x10011869", "ret 0xc"]]}]]]}, {"address": "0x10011880", "recomp": "0x10011870", "name": "Lego3DSound::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100118e0", "recomp": "0x100118d0", "name": "Lego3DSound::UpdatePosition", "matching": 1.0, "effective": true, "diff": [["@@ -0x100118e9,24 +0x100118d9,24 @@", [{"both": [["0x100118e9", "mov esi, ecx", "0x100118d9"], ["0x100118eb", "xor ebx, ebx", "0x100118db"], ["0x100118ed", "test eax, eax", "0x100118dd"], ["0x100118ef", "je 0x109", "0x100118df"], ["0x100118f5", "mov edi, dword ptr [eax + 0x14]", "0x100118e5"], ["0x100118f8", "call VideoManager (FUNCTION)", "0x100118e8"], ["0x100118fd", "add edi, 0x30", "0x100118ed"], ["0x10011900", "mov eax, dword ptr [eax + 0x6c]", "0x100118f0"], ["0x10011903", "mov eax, dword ptr [eax + 0x14]", "0x100118f3"], ["0x10011906", "add eax, 0x30", "0x100118f6"]]}, {"orig": [], "recomp": [["0x100118f9", "fld dword ptr [eax + 4]"], ["0x100118fc", "fsub dword ptr [edi + 4]"]]}, {"both": [["0x10011909", "fld dword ptr [eax + 8]", "0x100118ff"], ["0x1001190c", "fsub dword ptr [edi + 8]", "0x10011902"]]}, {"orig": [["0x1001190f", "fld dword ptr [eax + 4]"], ["0x10011912", "fsub dword ptr [edi + 4]"]], "recomp": []}, {"both": [["0x10011915", "fld dword ptr [eax]", "0x10011905"], ["0x10011917", "fsub dword ptr [edi]", "0x10011907"], ["0x10011919", "fxch st(2)", "0x10011909"], ["0x1001191b", "fmul st(0), st(0)", "0x1001190b"], ["0x1001191d", "fxch st(1)", "0x1001190d"], ["0x1001191f", "fmul st(0), st(0)", "0x1001190f"], ["0x10011921", "faddp st(1)", "0x10011911"], ["0x10011923", "fxch st(1)", "0x10011913"], ["0x10011925", "fmul st(0), st(0)", "0x10011915"], ["0x10011927", "faddp st(1)", "0x10011917"]]}]]]}, {"address": "0x10011a60", "recomp": "0x10011a50", "name": "Lego3DSound::FUN_10011a60", "matching": 1.0, "effective": true, "diff": [["@@ -0x10011b57,24 +0x10011b47,24 @@", [{"both": [["0x10011b57", "jmp 0xb9", "0x10011b47"], ["0x10011b5c", "mov eax, dword ptr [edi]", "0x10011b4c"], ["0x10011b5e", "mov edi, dword ptr [eax + 0x14]", "0x10011b4e"], ["0x10011b61", "call VideoManager (FUNCTION)", "0x10011b51"], ["0x10011b66", "add edi, 0x30", "0x10011b56"], ["0x10011b69", "mov eax, dword ptr [eax + 0x6c]", "0x10011b59"], ["0x10011b6c", "test eax, eax", "0x10011b5c"], ["0x10011b6e", "je 0xa1", "0x10011b5e"], ["0x10011b74", "mov eax, dword ptr [eax + 0x14]", "0x10011b64"], ["0x10011b77", "add eax, 0x30", "0x10011b67"]]}, {"orig": [], "recomp": [["0x10011b6a", "fld dword ptr [eax + 8]"], ["0x10011b6d", "fsub dword ptr [edi + 8]"]]}, {"both": [["0x10011b7a", "fld dword ptr [eax + 4]", "0x10011b70"], ["0x10011b7d", "fsub dword ptr [edi + 4]", "0x10011b73"]]}, {"orig": [["0x10011b80", "fld dword ptr [eax + 8]"], ["0x10011b83", "fsub dword ptr [edi + 8]"]], "recomp": []}, {"both": [["0x10011b86", "fld dword ptr [eax]", "0x10011b76"], ["0x10011b88", "fsub dword ptr [edi]", "0x10011b78"], ["0x10011b8a", "fxch st(2)", "0x10011b7a"], ["0x10011b8c", "fmul st(0), st(0)", "0x10011b7c"], ["0x10011b8e", "fxch st(1)", "0x10011b7e"], ["0x10011b90", "fmul st(0), st(0)", "0x10011b80"], ["0x10011b92", "faddp st(1)", "0x10011b82"], ["0x10011b94", "fxch st(1)", "0x10011b84"], ["0x10011b96", "fmul st(0), st(0)", "0x10011b86"], ["0x10011b98", "faddp st(1)", "0x10011b88"]]}]]]}, {"address": "0x10011ca0", "recomp": "0x10011c90", "name": "Lego3DSound::Reset", "matching": 1.0, "diff": []}, {"address": "0x10011cf0", "recomp": "0x10011ce0", "name": "Lego3DSound::SetDistance", "matching": 1.0, "diff": []}, {"address": "0x10011d50", "recomp": "0x10011d40", "name": "LegoCameraController::LegoCameraController", "matching": 1.0, "diff": []}, {"address": "0x10011e40", "recomp": "0x10011e30", "name": "LegoPointOfViewController::LeftUp", "matching": 1.0, "diff": []}, {"address": "0x10011e60", "recomp": "0x10011e50", "name": "LegoPointOfViewController::RightDown", "matching": 1.0, "diff": []}, {"address": "0x10011e80", "recomp": "0x10011e70", "name": "LegoPointOfViewController::RightDrag", "matching": 1.0, "diff": []}, {"address": "0x10011ea0", "recomp": "0x10011e90", "name": "LegoPointOfViewController::RightUp", "matching": 1.0, "diff": []}, {"address": "0x10011ec0", "recomp": "0x10011eb0", "name": "LegoCameraController::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10011ed0", "recomp": "0x10011ec0", "name": "LegoCameraController::IsA", "matching": 1.0, "diff": []}, {"address": "0x10011f50", "recomp": "0x10011f40", "name": "LegoCameraController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10011f70", "recomp": "0x10011f60", "name": "LegoCameraController::~LegoCameraController", "matching": 1.0, "diff": []}, {"address": "0x10011ff0", "recomp": "0x10011fe0", "name": "LegoCameraController::Create", "matching": 1.0, "diff": []}, {"address": "0x10012020", "recomp": "0x10012010", "name": "LegoCameraController::Notify", "matching": 1.0, "diff": []}, {"address": "0x10012170", "recomp": "0x10012160", "name": "MxPoint32::MxPoint32", "matching": 1.0, "diff": []}, {"address": "0x10012190", "recomp": "0x10012180", "name": "LegoEventNotificationParam::GetX", "matching": 1.0, "diff": []}, {"address": "0x100121a0", "recomp": "0x10012190", "name": "LegoEventNotificationParam::GetY", "matching": 1.0, "diff": []}, {"address": "0x100121b0", "recomp": "0x100121a0", "name": "LegoCameraController::OnLButtonDown", "matching": 1.0, "diff": []}, {"address": "0x100121d0", "recomp": "0x100121c0", "name": "LegoCameraController::OnLButtonUp", "matching": 1.0, "diff": []}, {"address": "0x100121f0", "recomp": "0x100121e0", "name": "LegoCameraController::OnRButtonDown", "matching": 1.0, "diff": []}, {"address": "0x10012210", "recomp": "0x10012200", "name": "LegoCameraController::OnRButtonUp", "matching": 1.0, "diff": []}, {"address": "0x10012230", "recomp": "0x10012220", "name": "LegoCameraController::OnMouseMove", "matching": 1.0, "diff": []}, {"address": "0x10012260", "recomp": "0x10012250", "name": "LegoCameraController::SetWorldTransform", "matching": 1.0, "diff": []}, {"address": "0x10012290", "recomp": "0x10012280", "name": "LegoCameraController::FUN_10012290", "matching": 0.8723404255319149, "diff": [["@@ -0x1001229c,42 +0x1001228c,42 @@", [{"both": [["0x1001229c", "mov ebx, ecx", "0x1001228c"], ["0x1001229e", "push eax", "0x1001228e"], ["0x1001229f", "lea ecx, [ebx + 0x38]", "0x1001228f"], ["0x100122a2", "mov esi, dword ptr [ecx]", "0x10012292"], ["0x100122a4", "call dword ptr [esi + 0x48]", "0x10012294"], ["0x100122a7", "fld dword ptr [esp + 0x58]", "0x10012297"], ["0x100122ab", "fsin ", "0x1001229b"], ["0x100122ad", "mov esi, dword ptr [ebx + 0x3c]", "0x1001229d"], ["0x100122b0", "mov ecx, 0x10", "0x100122a0"], ["0x100122b5", "lea edi, [esp + 0x14]", "0x100122a5"]]}, {"orig": [["0x100122b9", "fstp dword ptr [esp + 0xc]"]], "recomp": [["0x100122a9", "fstp dword ptr [esp + 0x10]"]]}, {"both": [["0x100122bd", "fld dword ptr [esp + 0x58]", "0x100122ad"], ["0x100122c1", "fcos ", "0x100122b1"]]}, {"orig": [["0x100122c3", "fstp dword ptr [esp + 0x10]"]], "recomp": [["0x100122b3", "fstp dword ptr [esp + 0xc]"]]}, {"both": [["0x100122c7", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100122b7"], ["0x100122c9", "xor esi, esi", "0x100122b9"], ["0x100122cb", "jmp 0x4", "0x100122bb"], ["0x100122cd", "fstp dword ptr [edx + esi - 0xc]", "0x100122bd"], ["0x100122d1", "lea eax, [esp + esi + 0x14]", "0x100122c1"], ["0x100122d5", "lea ecx, [esp + esi + 0x18]", "0x100122c5"], ["0x100122d9", "mov edx, dword ptr [ebx + 0x3c]", "0x100122c9"], ["0x100122dc", "add esi, 0x10", "0x100122cc"], ["0x100122df", "fld dword ptr [eax]", "0x100122cf"]]}, {"orig": [], "recomp": [["0x100122d1", "fmul dword ptr [esp + 0xc]"], ["0x100122d5", "fld dword ptr [ecx]"]]}, {"both": [["0x100122e1", "fmul dword ptr [esp + 0x10]", "0x100122d7"]]}, {"orig": [["0x100122e5", "fld dword ptr [ecx]"], ["0x100122e7", "fmul dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100122eb", "cmp esi, 0x40", "0x100122db"], ["0x100122ee", "fsubp st(1)", "0x100122de"], ["0x100122f0", "fstp dword ptr [edx + esi - 0x10]", "0x100122e0"]]}, {"orig": [], "recomp": [["0x100122e4", "fld dword ptr [ecx]"], ["0x100122e6", "fmul dword ptr [esp + 0xc]"]]}, {"both": [["0x100122f4", "fld dword ptr [eax]", "0x100122ea"]]}, {"orig": [["0x100122f6", "fmul dword ptr [esp + 0xc]"], ["0x100122fa", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100122fc", "fmul dword ptr [esp + 0x10]", "0x100122ec"], ["0x10012300", "mov edx, dword ptr [ebx + 0x3c]", "0x100122f0"], ["0x10012303", "faddp st(1)", "0x100122f3"], ["0x10012305", "jl -0x3a", "0x100122f5"], ["0x10012307", "fstp dword ptr [edx + esi - 0xc]", "0x100122f7"], ["0x1001230b", "pop edi", "0x100122fb"], ["0x1001230c", "pop esi", "0x100122fc"], ["0x1001230d", "pop ebx", "0x100122fd"], ["0x1001230e", "add esp, 0x48", "0x100122fe"], ["0x10012311", "ret 4", "0x10012301"]]}]]]}, {"address": "0x10012320", "recomp": "0x10012310", "name": "LegoCameraController::FUN_10012320", "matching": 1.0, "diff": []}, {"address": "0x100123b0", "recomp": "0x100123a0", "name": "LegoCameraController::FUN_100123b0", "matching": 1.0, "diff": []}, {"address": "0x100123e0", "recomp": "0x100123d0", "name": "LegoCameraController::FUN_100123e0", "matching": 0.6205733558178752, "diff": [["@@ -0x100123e0,88 +0x100123d0,88 @@", [{"both": [["0x100123e0", "sub esp, 0x48", "0x100123d0"], ["0x100123e3", "push esi", "0x100123d3"], ["0x100123e4", "push edi", "0x100123d4"], ["0x100123e5", "mov eax, dword ptr [ecx + 0x20]", "0x100123d5"], ["0x100123e8", "mov esi, ecx", "0x100123d8"], ["0x100123ea", "test eax, eax", "0x100123da"]]}, {"orig": [["0x100123ec", "je 0x340"]], "recomp": [["0x100123dc", "je 0x344"]]}, {"both": [["0x100123f2", "mov edi, dword ptr [eax + 0xa0]", "0x100123e2"], ["0x100123f8", "test edi, edi", "0x100123e8"]]}, {"orig": [["0x100123fa", "je 0x332"], ["0x10012400", "lea eax, [esp + 0x10]"], ["0x10012404", "mov ecx, dword ptr [esp + 0x54]"]], "recomp": [["0x100123ea", "je 0x336"]]}, {"both": [["0x10012408", "mov dword ptr [esp + 8], MxMatrix::`vftable' (VTABLE)", "0x100123f0"], ["0x10012410", "cmp dword ptr [esp + 0x58], 0", "0x100123f8"]]}, {"orig": [], "recomp": [["0x100123fd", "lea eax, [esp + 0x10]"]]}, {"both": [["0x10012415", "mov dword ptr [esp + 0xc], eax", "0x10012401"]]}, {"orig": [["0x10012419", "je 0x2a7"], ["0x1001241f", "mov edx, dword ptr [ecx + 4]"], ["0x10012422", "mov eax, dword ptr [esi + 0x3c]"], ["0x10012425", "fld dword ptr [eax + 8]"], ["0x10012428", "fmul dword ptr [edx + 0x20]"], ["0x1001242b", "fld dword ptr [eax + 0xc]"], ["0x1001242e", "fmul dword ptr [edx + 0x30]"]], "recomp": [["0x10012405", "je 0x2ab"], ["0x1001240b", "mov edx, dword ptr [esi + 0x3c]"], ["0x1001240e", "mov ecx, dword ptr [esp + 0x54]"], ["0x10012412", "fld dword ptr [edx + 8]"], ["0x10012415", "mov eax, dword ptr [ecx + 4]"], ["0x10012418", "fmul dword ptr [eax + 0x20]"], ["0x1001241b", "fld dword ptr [edx + 0xc]"], ["0x1001241e", "fmul dword ptr [eax + 0x30]"], ["0x10012421", "faddp st(1)"], ["0x10012423", "fld dword ptr [edx + 4]"], ["0x10012426", "fmul dword ptr [eax + 0x10]"], ["0x10012429", "faddp st(1)"], ["0x1001242b", "fld dword ptr [eax]"], ["0x1001242d", "fmul dword ptr [edx]"], ["0x1001242f", "faddp st(1)"], ["0x10012431", "fstp dword ptr [esp + 0x10]"], ["0x10012435", "mov eax, dword ptr [ecx + 4]"], ["0x10012438", "mov edx, dword ptr [esi + 0x3c]"], ["0x1001243b", "fld dword ptr [eax + 0x14]"], ["0x1001243e", "fmul dword ptr [edx + 4]"], ["0x10012441", "fld dword ptr [eax + 0x24]"], ["0x10012444", "fmul dword ptr [edx + 8]"], ["0x10012447", "faddp st(1)"], ["0x10012449", "fld dword ptr [edx + 0xc]"], ["0x1001244c", "fmul dword ptr [eax + 0x34]"]]}, {"both": [["0x10012431", "faddp st(1)", "0x1001244f"], ["0x10012433", "fld dword ptr [eax + 4]", "0x10012451"]]}, {"orig": [["0x10012436", "fmul dword ptr [edx + 0x10]"]], "recomp": [["0x10012454", "fmul dword ptr [edx]"], ["0x10012456", "mov eax, dword ptr [esp + 0xc]"]]}, {"both": [["0x10012439", "faddp st(1)", "0x1001245a"]]}, {"orig": [["0x1001243b", "fld dword ptr [edx]"], ["0x1001243d", "fmul dword ptr [eax]"]], "recomp": [["0x1001245c", "fstp dword ptr [eax + 4]"], ["0x1001245f", "mov edx, dword ptr [esi + 0x3c]"], ["0x10012462", "mov eax, dword ptr [ecx + 4]"], ["0x10012465", "fld dword ptr [edx + 4]"], ["0x10012468", "fmul dword ptr [eax + 0x18]"], ["0x1001246b", "fld dword ptr [eax + 0x28]"], ["0x1001246e", "fmul dword ptr [edx + 8]"]]}, {"both": [["0x1001243f", "faddp st(1)", "0x10012471"]]}, {"orig": [["0x10012441", "fstp dword ptr [esp + 0x10]"], ["0x10012445", "mov edx, dword ptr [ecx + 4]"], ["0x10012448", "mov eax, dword ptr [esi + 0x3c]"], ["0x1001244b", "fld dword ptr [edx + 0x14]"], ["0x1001244e", "fmul dword ptr [eax + 4]"], ["0x10012451", "fld dword ptr [edx + 0x24]"], ["0x10012454", "fmul dword ptr [eax + 8]"]], "recomp": [["0x10012473", "fld dword ptr [edx + 0xc]"], ["0x10012476", "fmul dword ptr [eax + 0x38]"]]}, {"both": [["0x10012457", "faddp st(1)", "0x10012479"]]}, {"orig": [["0x10012459", "fld dword ptr [eax + 0xc]"], ["0x1001245c", "fmul dword ptr [edx + 0x34]"], ["0x1001245f", "faddp st(1)"], ["0x10012461", "fld dword ptr [edx + 4]"], ["0x10012464", "fmul dword ptr [eax]"], ["0x10012466", "mov edx, dword ptr [esp + 0xc]"], ["0x1001246a", "faddp st(1)"], ["0x1001246c", "fstp dword ptr [edx + 4]"], ["0x1001246f", "mov edx, dword ptr [ecx + 4]"], ["0x10012472", "mov eax, dword ptr [esi + 0x3c]"], ["0x10012475", "fld dword ptr [eax + 4]"], ["0x10012478", "fmul dword ptr [edx + 0x18]"], ["0x1001247b", "fld dword ptr [edx + 0x28]"], ["0x1001247e", "fmul dword ptr [eax + 8]"], ["0x10012481", "faddp st(1)"], ["0x10012483", "fld dword ptr [eax + 0xc]"], ["0x10012486", "fmul dword ptr [edx + 0x38]"], ["0x10012489", "faddp st(1)"], ["0x1001248b", "fld dword ptr [edx + 8]"], ["0x1001248e", "fmul dword ptr [eax]"]], "recomp": [["0x1001247b", "fld dword ptr [eax + 8]"], ["0x1001247e", "fmul dword ptr [edx]"]]}, {"both": [["0x10012490", "mov edx, dword ptr [esp + 0xc]", "0x10012480"], ["0x10012494", "faddp st(1)", "0x10012484"], ["0x10012496", "fstp dword ptr [edx + 8]", "0x10012486"]]}, {"orig": [["0x10012499", "mov edx, dword ptr [ecx + 4]"], ["0x1001249c", "mov eax, dword ptr [esi + 0x3c]"], ["0x1001249f", "fld dword ptr [eax + 4]"], ["0x100124a2", "fmul dword ptr [edx + 0x1c]"], ["0x100124a5", "fld dword ptr [eax + 8]"], ["0x100124a8", "fmul dword ptr [edx + 0x2c]"]], "recomp": [["0x10012489", "mov edx, dword ptr [esi + 0x3c]"], ["0x1001248c", "mov eax, dword ptr [ecx + 4]"], ["0x1001248f", "fld dword ptr [edx + 4]"], ["0x10012492", "fmul dword ptr [eax + 0x1c]"], ["0x10012495", "fld dword ptr [edx + 8]"], ["0x10012498", "fmul dword ptr [eax + 0x2c]"]]}, {"both": [["0x100124ab", "faddp st(1)", "0x1001249b"]]}, {"orig": [["0x100124ad", "fld dword ptr [edx + 0x3c]"], ["0x100124b0", "fmul dword ptr [eax + 0xc]"]], "recomp": [["0x1001249d", "fld dword ptr [eax + 0x3c]"], ["0x100124a0", "fmul dword ptr [edx + 0xc]"]]}, {"both": [["0x100124b3", "faddp st(1)", "0x100124a3"]]}, {"orig": [["0x100124b5", "fld dword ptr [edx + 0xc]"], ["0x100124b8", "fmul dword ptr [eax]"]], "recomp": [["0x100124a5", "fld dword ptr [eax + 0xc]"], ["0x100124a8", "fmul dword ptr [edx]"]]}, {"both": [["0x100124ba", "mov edx, dword ptr [esp + 0xc]", "0x100124aa"], ["0x100124be", "faddp st(1)", "0x100124ae"], ["0x100124c0", "fstp dword ptr [edx + 0xc]", "0x100124b0"], ["0x100124c3", "mov edx, dword ptr [esi + 0x3c]", "0x100124b3"]]}, {"orig": [], "recomp": [["0x100124b6", "fld dword ptr [edx + 0x1c]"]]}, {"both": [["0x100124c6", "mov eax, dword ptr [ecx + 4]", "0x100124b9"]]}, {"orig": [["0x100124c9", "fld dword ptr [edx + 0x1c]"]], "recomp": []}, {"both": [["0x100124cc", "fmul dword ptr [eax + 0x30]", "0x100124bc"], ["0x100124cf", "fld dword ptr [edx + 0x14]", "0x100124bf"], ["0x100124d2", "fmul dword ptr [eax + 0x10]", "0x100124c2"], ["0x100124d5", "faddp st(1)", "0x100124c5"], ["0x100124d7", "fld dword ptr [edx + 0x18]", "0x100124c7"], ["0x100124da", "fmul dword ptr [eax + 0x20]", "0x100124ca"], ["0x100124dd", "faddp st(1)", "0x100124cd"], ["0x100124df", "fld dword ptr [edx + 0x10]", "0x100124cf"], ["0x100124e2", "fmul dword ptr [eax]", "0x100124d2"], ["0x100124e4", "mov edx, dword ptr [esp + 0xc]", "0x100124d4"]]}]], ["@@ -0x100124fc,35 +0x100124ec,35 @@", [{"both": [["0x100124fc", "fmul dword ptr [eax + 0x14]", "0x100124ec"], ["0x100124ff", "faddp st(1)", "0x100124ef"], ["0x10012501", "fld dword ptr [edx + 4]", "0x100124f1"], ["0x10012504", "fmul dword ptr [eax + 0x10]", "0x100124f4"], ["0x10012507", "faddp st(1)", "0x100124f7"], ["0x10012509", "fld dword ptr [eax + 0x1c]", "0x100124f9"], ["0x1001250c", "fmul dword ptr [edx + 0x34]", "0x100124fc"], ["0x1001250f", "mov edx, dword ptr [esp + 0xc]", "0x100124ff"], ["0x10012513", "faddp st(1)", "0x10012503"], ["0x10012515", "fstp dword ptr [edx + 0x14]", "0x10012505"]]}, {"orig": [["0x10012518", "mov eax, dword ptr [ecx + 4]"], ["0x1001251b", "mov edx, dword ptr [esi + 0x3c]"], ["0x1001251e", "fld dword ptr [edx + 0x14]"]], "recomp": [["0x10012508", "mov edx, dword ptr [ecx + 4]"], ["0x1001250b", "mov eax, dword ptr [esi + 0x3c]"], ["0x1001250e", "fld dword ptr [eax + 0x14]"], ["0x10012511", "fmul dword ptr [edx + 0x18]"], ["0x10012514", "fld dword ptr [edx + 8]"], ["0x10012517", "fmul dword ptr [eax + 0x10]"], ["0x1001251a", "faddp st(1)"], ["0x1001251c", "fld dword ptr [edx + 0x28]"]]}, {"both": [["0x10012521", "fmul dword ptr [eax + 0x18]", "0x1001251f"]]}, {"orig": [["0x10012524", "fld dword ptr [eax + 8]"], ["0x10012527", "fmul dword ptr [edx + 0x10]"]], "recomp": []}, {"both": [["0x1001252a", "faddp st(1)", "0x10012522"]]}, {"orig": [["0x1001252c", "fld dword ptr [eax + 0x28]"], ["0x1001252f", "fmul dword ptr [edx + 0x18]"]], "recomp": [["0x10012524", "fld dword ptr [eax + 0x1c]"], ["0x10012527", "fmul dword ptr [edx + 0x38]"], ["0x1001252a", "mov edx, dword ptr [esp + 0xc]"]]}, {"both": [["0x10012532", "faddp st(1)", "0x1001252e"]]}, {"orig": [["0x10012534", "fld dword ptr [edx + 0x1c]"], ["0x10012537", "fmul dword ptr [eax + 0x38]"], ["0x1001253a", "mov eax, dword ptr [esp + 0xc]"], ["0x1001253e", "faddp st(1)"], ["0x10012540", "fstp dword ptr [eax + 0x18]"]], "recomp": [["0x10012530", "fstp dword ptr [edx + 0x18]"]]}, {"both": [["0x10012543", "mov edx, dword ptr [esi + 0x3c]", "0x10012533"], ["0x10012546", "mov eax, dword ptr [ecx + 4]", "0x10012536"], ["0x10012549", "fld dword ptr [edx + 0x14]", "0x10012539"], ["0x1001254c", "fmul dword ptr [eax + 0x1c]", "0x1001253c"], ["0x1001254f", "fld dword ptr [edx + 0x18]", "0x1001253f"], ["0x10012552", "fmul dword ptr [eax + 0x2c]", "0x10012542"], ["0x10012555", "faddp st(1)", "0x10012545"], ["0x10012557", "fld dword ptr [eax + 0x3c]", "0x10012547"], ["0x1001255a", "fmul dword ptr [edx + 0x1c]", "0x1001254a"], ["0x1001255d", "faddp st(1)", "0x1001254d"]]}]], ["@@ -0x10012580,125 +0x10012570,126 @@", [{"both": [["0x10012580", "faddp st(1)", "0x10012570"], ["0x10012582", "fld dword ptr [edx + 0x28]", "0x10012572"], ["0x10012585", "fmul dword ptr [eax + 0x20]", "0x10012575"], ["0x10012588", "faddp st(1)", "0x10012578"], ["0x1001258a", "fld dword ptr [edx + 0x20]", "0x1001257a"], ["0x1001258d", "fmul dword ptr [eax]", "0x1001257d"], ["0x1001258f", "mov edx, dword ptr [esp + 0xc]", "0x1001257f"], ["0x10012593", "faddp st(1)", "0x10012583"], ["0x10012595", "fstp dword ptr [edx + 0x20]", "0x10012585"], ["0x10012598", "mov edx, dword ptr [ecx + 4]", "0x10012588"]]}, {"orig": [], "recomp": [["0x1001258b", "mov eax, dword ptr [esi + 0x3c]"]]}, {"both": [["0x1001259b", "fld dword ptr [edx + 0x24]", "0x1001258e"]]}, {"orig": [["0x1001259e", "mov eax, dword ptr [esi + 0x3c]"]], "recomp": []}, {"both": [["0x100125a1", "fmul dword ptr [eax + 0x28]", "0x10012591"], ["0x100125a4", "fld dword ptr [eax + 0x24]", "0x10012594"], ["0x100125a7", "fmul dword ptr [edx + 0x14]", "0x10012597"], ["0x100125aa", "faddp st(1)", "0x1001259a"], ["0x100125ac", "fld dword ptr [edx + 4]", "0x1001259c"], ["0x100125af", "fmul dword ptr [eax + 0x20]", "0x1001259f"], ["0x100125b2", "faddp st(1)", "0x100125a2"], ["0x100125b4", "fld dword ptr [eax + 0x2c]", "0x100125a4"], ["0x100125b7", "fmul dword ptr [edx + 0x34]", "0x100125a7"], ["0x100125ba", "mov edx, dword ptr [esp + 0xc]", "0x100125aa"], ["0x100125be", "faddp st(1)", "0x100125ae"], ["0x100125c0", "fstp dword ptr [edx + 0x24]", "0x100125b0"]]}, {"orig": [["0x100125c3", "mov eax, dword ptr [esi + 0x3c]"], ["0x100125c6", "mov edx, dword ptr [ecx + 4]"], ["0x100125c9", "fld dword ptr [eax + 0x24]"], ["0x100125cc", "fmul dword ptr [edx + 0x18]"], ["0x100125cf", "fld dword ptr [edx + 8]"], ["0x100125d2", "fmul dword ptr [eax + 0x20]"]], "recomp": [["0x100125b3", "mov edx, dword ptr [esi + 0x3c]"], ["0x100125b6", "mov eax, dword ptr [ecx + 4]"], ["0x100125b9", "fld dword ptr [edx + 0x24]"], ["0x100125bc", "fmul dword ptr [eax + 0x18]"], ["0x100125bf", "fld dword ptr [eax + 8]"], ["0x100125c2", "fmul dword ptr [edx + 0x20]"]]}, {"both": [["0x100125d5", "faddp st(1)", "0x100125c5"], ["0x100125d7", "fld dword ptr [edx + 0x28]", "0x100125c7"], ["0x100125da", "fmul dword ptr [eax + 0x28]", "0x100125ca"], ["0x100125dd", "faddp st(1)", "0x100125cd"]]}, {"orig": [["0x100125df", "fld dword ptr [eax + 0x2c]"], ["0x100125e2", "fmul dword ptr [edx + 0x38]"], ["0x100125e5", "mov eax, dword ptr [esp + 0xc]"]], "recomp": [["0x100125cf", "fld dword ptr [edx + 0x2c]"], ["0x100125d2", "fmul dword ptr [eax + 0x38]"], ["0x100125d5", "mov edx, dword ptr [esp + 0xc]"]]}, {"both": [["0x100125e9", "faddp st(1)", "0x100125d9"]]}, {"orig": [["0x100125eb", "fstp dword ptr [eax + 0x28]"], ["0x100125ee", "mov edx, dword ptr [ecx + 4]"], ["0x100125f1", "mov eax, dword ptr [esi + 0x3c]"], ["0x100125f4", "fld dword ptr [eax + 0x24]"], ["0x100125f7", "fmul dword ptr [edx + 0x1c]"], ["0x100125fa", "fld dword ptr [eax + 0x28]"]], "recomp": [["0x100125db", "fstp dword ptr [edx + 0x28]"], ["0x100125de", "mov edx, dword ptr [esi + 0x3c]"], ["0x100125e1", "mov eax, dword ptr [ecx + 4]"], ["0x100125e4", "fld dword ptr [edx + 0x24]"], ["0x100125e7", "fmul dword ptr [eax + 0x1c]"], ["0x100125ea", "fld dword ptr [edx + 0x28]"], ["0x100125ed", "fmul dword ptr [eax + 0x2c]"], ["0x100125f0", "faddp st(1)"], ["0x100125f2", "fld dword ptr [eax + 0x3c]"]]}, {"both": [["0x100125fd", "fmul dword ptr [edx + 0x2c]", "0x100125f5"], ["0x10012600", "faddp st(1)", "0x100125f8"]]}, {"orig": [["0x10012602", "fld dword ptr [edx + 0x3c]"], ["0x10012605", "fmul dword ptr [eax + 0x2c]"], ["0x10012608", "faddp st(1)"], ["0x1001260a", "fld dword ptr [edx + 0xc]"], ["0x1001260d", "fmul dword ptr [eax + 0x20]"]], "recomp": [["0x100125fa", "fld dword ptr [eax + 0xc]"], ["0x100125fd", "fmul dword ptr [edx + 0x20]"]]}, {"both": [["0x10012610", "mov edx, dword ptr [esp + 0xc]", "0x10012600"], ["0x10012614", "faddp st(1)", "0x10012604"], ["0x10012616", "fstp dword ptr [edx + 0x2c]", "0x10012606"], ["0x10012619", "mov edx, dword ptr [esi + 0x3c]", "0x10012609"], ["0x1001261c", "mov eax, dword ptr [ecx + 4]", "0x1001260c"], ["0x1001261f", "fld dword ptr [edx + 0x3c]", "0x1001260f"], ["0x10012622", "fmul dword ptr [eax + 0x30]", "0x10012612"], ["0x10012625", "fld dword ptr [eax + 0x10]", "0x10012615"], ["0x10012628", "fmul dword ptr [edx + 0x34]", "0x10012618"], ["0x1001262b", "faddp st(1)", "0x1001261b"], ["0x1001262d", "fld dword ptr [eax + 0x20]", "0x1001261d"], ["0x10012630", "fmul dword ptr [edx + 0x38]", "0x10012620"], ["0x10012633", "faddp st(1)", "0x10012623"], ["0x10012635", "fld dword ptr [edx + 0x30]", "0x10012625"], ["0x10012638", "fmul dword ptr [eax]", "0x10012628"], ["0x1001263a", "mov edx, dword ptr [esp + 0xc]", "0x1001262a"], ["0x1001263e", "faddp st(1)", "0x1001262e"], ["0x10012640", "fstp dword ptr [edx + 0x30]", "0x10012630"], ["0x10012643", "mov edx, dword ptr [ecx + 4]", "0x10012633"]]}, {"orig": [], "recomp": [["0x10012636", "fld dword ptr [edx + 0x24]"]]}, {"both": [["0x10012646", "mov eax, dword ptr [esi + 0x3c]", "0x10012639"]]}, {"orig": [["0x10012649", "fld dword ptr [edx + 0x24]"]], "recomp": []}, {"both": [["0x1001264c", "fmul dword ptr [eax + 0x38]", "0x1001263c"], ["0x1001264f", "fld dword ptr [eax + 0x3c]", "0x1001263f"], ["0x10012652", "fmul dword ptr [edx + 0x34]", "0x10012642"], ["0x10012655", "faddp st(1)", "0x10012645"], ["0x10012657", "fld dword ptr [edx + 4]", "0x10012647"], ["0x1001265a", "fmul dword ptr [eax + 0x30]", "0x1001264a"], ["0x1001265d", "faddp st(1)", "0x1001264d"], ["0x1001265f", "fld dword ptr [edx + 0x14]", "0x1001264f"], ["0x10012662", "fmul dword ptr [eax + 0x34]", "0x10012652"], ["0x10012665", "mov edx, dword ptr [esp + 0xc]", "0x10012655"], ["0x10012669", "faddp st(1)", "0x10012659"], ["0x1001266b", "fstp dword ptr [edx + 0x34]", "0x1001265b"]]}, {"orig": [], "recomp": [["0x1001265e", "mov edx, dword ptr [ecx + 4]"], ["0x10012661", "mov eax, dword ptr [esi + 0x3c]"], ["0x10012664", "fld dword ptr [edx + 0x18]"], ["0x10012667", "fmul dword ptr [eax + 0x34]"], ["0x1001266a", "fld dword ptr [edx + 8]"], ["0x1001266d", "fmul dword ptr [eax + 0x30]"], ["0x10012670", "faddp st(1)"], ["0x10012672", "fld dword ptr [edx + 0x28]"], ["0x10012675", "fmul dword ptr [eax + 0x38]"], ["0x10012678", "faddp st(1)"], ["0x1001267a", "fld dword ptr [eax + 0x3c]"], ["0x1001267d", "fmul dword ptr [edx + 0x38]"], ["0x10012680", "mov edx, dword ptr [esp + 0xc]"], ["0x10012684", "faddp st(1)"], ["0x10012686", "fstp dword ptr [edx + 0x38]"], ["0x10012689", "mov edx, dword ptr [esi + 0x3c]"]]}, {"both": [["0x1001266e", "mov eax, dword ptr [ecx + 4]", "0x1001268c"]]}, {"orig": [["0x10012671", "mov edx, dword ptr [esi + 0x3c]"], ["0x10012674", "fld dword ptr [eax + 0x18]"]], "recomp": [["0x1001268f", "fld dword ptr [eax + 0xc]"], ["0x10012692", "fmul dword ptr [edx + 0x30]"], ["0x10012695", "fld dword ptr [eax + 0x3c]"], ["0x10012698", "fmul dword ptr [edx + 0x3c]"], ["0x1001269b", "faddp st(1)"], ["0x1001269d", "fld dword ptr [eax + 0x1c]"]]}, {"both": [["0x10012677", "fmul dword ptr [edx + 0x34]", "0x100126a0"]]}, {"orig": [["0x1001267a", "fld dword ptr [eax + 8]"], ["0x1001267d", "fmul dword ptr [edx + 0x30]"]], "recomp": [["0x100126a3", "mov ecx, dword ptr [esp + 0xc]"]]}, {"both": [["0x10012680", "faddp st(1)", "0x100126a7"]]}, {"orig": [["0x10012682", "fld dword ptr [eax + 0x28]"]], "recomp": [["0x100126a9", "fld dword ptr [eax + 0x2c]"]]}, {"both": [["0x10012685", "fmul dword ptr [edx + 0x38]", "0x100126ac"], ["0x10012688", "faddp st(1)", "0x100126af"]]}, {"orig": [["0x1001268a", "fld dword ptr [edx + 0x3c]"], ["0x1001268d", "fmul dword ptr [eax + 0x38]"], ["0x10012690", "mov eax, dword ptr [esp + 0xc]"], ["0x10012694", "faddp st(1)"], ["0x10012696", "fstp dword ptr [eax + 0x38]"], ["0x10012699", "mov ecx, dword ptr [ecx + 4]"], ["0x1001269c", "mov eax, dword ptr [esi + 0x3c]"], ["0x1001269f", "fld dword ptr [ecx + 0xc]"], ["0x100126a2", "fmul dword ptr [eax + 0x30]"], ["0x100126a5", "fld dword ptr [ecx + 0x3c]"], ["0x100126a8", "fmul dword ptr [eax + 0x3c]"], ["0x100126ab", "faddp st(1)"], ["0x100126ad", "fld dword ptr [ecx + 0x1c]"], ["0x100126b0", "fmul dword ptr [eax + 0x34]"], ["0x100126b3", "mov edx, dword ptr [esp + 0xc]"], ["0x100126b7", "faddp st(1)"], ["0x100126b9", "fld dword ptr [ecx + 0x2c]"], ["0x100126bc", "fmul dword ptr [eax + 0x38]"], ["0x100126bf", "faddp st(1)"], ["0x100126c1", "fstp dword ptr [edx + 0x3c]"], ["0x100126c4", "jmp 0xb"]], "recomp": [["0x100126b1", "fstp dword ptr [ecx + 0x3c]"], ["0x100126b4", "jmp 0xf"], ["0x100126b6", "mov ecx, dword ptr [esp + 0x54]"]]}, {"both": [["0x100126c6", "push ecx", "0x100126ba"], ["0x100126c7", "lea ecx, [esp + 0xc]", "0x100126bb"], ["0x100126cb", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x100126bf"], ["0x100126d1", "call Timer (FUNCTION)", "0x100126c5"], ["0x100126d6", "cmp byte ptr [eax + 0xc], 0", "0x100126ca"], ["0x100126da", "je 0x8", "0x100126ce"], ["0x100126dc", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x100126d0"], ["0x100126e2", "jmp 0x9", "0x100126d6"], ["0x100126e4", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x100126d8"], ["0x100126ea", "sub ecx, dword ptr [eax + 8]", "0x100126de"]]}]]]}, {"address": "0x10012740", "recomp": "0x10012730", "name": "LegoCameraController::GetWorldUp", "matching": 1.0, "diff": []}, {"address": "0x100127f0", "recomp": "0x100127e0", "name": "LegoCameraController::GetWorldLocation", "matching": 1.0, "diff": []}, {"address": "0x100128a0", "recomp": "0x10012890", "name": "LegoCameraController::GetWorldDirection", "matching": 1.0, "diff": []}, {"address": "0x10012950", "recomp": "0x10012940", "name": "LegoRaceCar::LegoRaceCar", "matching": 1.0, "diff": []}, {"address": "0x10012b90", "recomp": "0x10012b80", "name": "LegoAnimActor::`vbase destructor'", "matching": 1.0, "diff": []}, {"address": "0x10012bb0", "recomp": "0x10012ba0", "name": "LegoCarRaceActor::FUN_10012bb0", "matching": 1.0, "diff": []}, {"address": "0x10012bc0", "recomp": "0x10012bb0", "name": "LegoCarRaceActor::FUN_10012bc0", "matching": 1.0, "diff": []}, {"address": "0x10012bd0", "recomp": "0x10012bc0", "name": "LegoCarRaceActor::FUN_10012bd0", "matching": 1.0, "diff": []}, {"address": "0x10012be0", "recomp": "0x10012bd0", "name": "LegoCarRaceActor::FUN_10012be0", "matching": 1.0, "diff": []}, {"address": "0x10012bf0", "recomp": "0x10012be0", "name": "LegoCarRaceActor::FUN_10012bf0", "matching": 1.0, "diff": []}, {"address": "0x10012c00", "recomp": "0x10012bf0", "name": "LegoCarRaceActor::FUN_10012c00", "matching": 1.0, "diff": []}, {"address": "0x10012c10", "recomp": "0x10012c00", "name": "LegoRaceActor::`vbase destructor'", "matching": 1.0, "diff": []}, {"address": "0x10012c30", "recomp": "0x10012c20", "name": "LegoCarRaceActor::`vbase destructor'", "matching": 1.0, "diff": []}, {"address": "0x10012c50", "recomp": "0x10012c40", "name": "LegoRaceMap::`vbase destructor'", "matching": 1.0, "diff": []}, {"address": "0x10012c80", "recomp": "0x10012c70", "name": "LegoRaceCar::~LegoRaceCar", "matching": 1.0, "effective": true, "diff": [["@@ -0x10012cba,21 +0x10012caa,21 @@", [{"both": [["0x10012cba", "mov eax, dword ptr [ecx - 0x80]", "0x10012caa"], ["0x10012cbd", "mov dword ptr [ebp - 0x10], ecx", "0x10012cad"], ["0x10012cc0", "mov edx, dword ptr [eax + 8]", "0x10012cb0"], ["0x10012cc3", "mov dword ptr [edx + ecx - 0x80], LegoRaceCar::`vftable'{for `LegoAnimActor'} (VTABLE)", "0x10012cb3"], ["0x10012ccb", "mov eax, dword ptr [ecx - 0x80]", "0x10012cbb"], ["0x10012cce", "mov edx, dword ptr [eax + 0xc]", "0x10012cbe"], ["0x10012cd1", "mov dword ptr [edx + ecx - 0x80], LegoRaceCar::`vftable'{for `LegoRaceActor'} (VTABLE)", "0x10012cc1"], ["0x10012cd9", "mov eax, dword ptr [ecx - 0x80]", "0x10012cc9"], ["0x10012cdc", "mov eax, dword ptr [eax + 4]", "0x10012ccc"], ["0x10012cdf", "lea edx, [eax - 0x80]", "0x10012ccf"]]}, {"orig": [["0x10012ce2", "mov dword ptr [ecx + eax - 0x84], edx"]], "recomp": [["0x10012cd2", "mov dword ptr [eax + ecx - 0x84], edx"]]}, {"both": [["0x10012ce9", "xor eax, eax", "0x10012cd9"], ["0x10012ceb", "mov dword ptr [ebp - 4], eax", "0x10012cdb"], ["0x10012cee", "cmp ecx, 0x84", "0x10012cde"], ["0x10012cf4", "mov byte ptr [ebp - 4], 1", "0x10012ce4"], ["0x10012cf8", "je 0xd", "0x10012ce8"], ["0x10012cfa", "mov ecx, dword ptr [ebp - 0x10]", "0x10012cea"], ["0x10012cfd", "mov eax, dword ptr [ecx - 0x80]", "0x10012ced"], ["0x10012d00", "mov edx, dword ptr [eax + 4]", "0x10012cf0"], ["0x10012d03", "lea eax, [edx + ecx - 0x80]", "0x10012cf3"], ["0x10012d07", "push eax", "0x10012cf7"]]}]]]}, {"address": "0x10012d80", "recomp": "0x10012d70", "name": "LegoCarRaceActor::~LegoCarRaceActor", "matching": 1.0, "diff": []}, {"address": "0x10012d90", "recomp": "0x10012d80", "name": "LegoRaceCar::Notify", "matching": 1.0, "diff": []}, {"address": "0x10012de0", "recomp": "0x10012dd0", "name": "LegoRaceCar::FUN_10012de0", "matching": 1.0, "diff": []}, {"address": "0x10012e00", "recomp": "0x10012df0", "name": "LegoRaceCar::FUN_10012e00", "matching": 1.0, "diff": []}, {"address": "0x10012e60", "recomp": "0x10012e50", "name": "LegoRaceCar::SetWorldSpeed", "matching": 1.0, "diff": []}, {"address": "0x10012ea0", "recomp": "0x10012e90", "name": "LegoRaceCar::SetMaxLinearVelocity", "matching": 1.0, "diff": []}, {"address": "0x10012ef0", "recomp": "0x10012ee0", "name": "LegoRaceCar::ParseAction", "matching": 0.9886363636363636, "diff": [["@@ -0x10012f90,21 +0x10012f80,21 @@", [{"both": [["0x10012f90", "mov dword ptr [esi - 0xc], eax", "0x10012f80"], ["0x10012f93", "call LegoWorld::FindPathBoundary (FUNCTION)", "0x10012f83"], ["0x10012f98", "mov dword ptr [esi - 8], eax", "0x10012f88"], ["0x10012f9b", "mov esi, g_skBMap[0].m_b (UNK)", "0x10012f8b"], ["0x10012fa0", "mov eax, dword ptr [esi - 4]", "0x10012f90"], ["0x10012fa3", "mov ecx, edi", "0x10012f93"], ["0x10012fa5", "push eax", "0x10012f95"], ["0x10012fa6", "add esi, 8", "0x10012f96"], ["0x10012fa9", "call LegoWorld::FindPathBoundary (FUNCTION)", "0x10012f99"], ["0x10012fae", "mov dword ptr [esi - 8], eax", "0x10012f9e"]]}, {"orig": [["0x10012fb1", "cmp esi, 0x100f0a54"]], "recomp": [["0x10012fa1", "cmp esi, g_strJetSpeed (DATA)"]]}, {"both": [["0x10012fb7", "jb -0x19", "0x10012fa7"], ["0x10012fb9", "pop edi", "0x10012fa9"], ["0x10012fba", "pop esi", "0x10012faa"], ["0x10012fbb", "pop ebx", "0x10012fab"], ["0x10012fbc", "add esp, 0x100", "0x10012fac"], ["0x10012fc2", "ret 4", "0x10012fb2"], ["0x10012fc5", "mov eax, dword ptr [eax - 0x70]", "0x10012fb5"], ["0x10012fc8", "sub eax, ebx", "0x10012fb8"], ["0x10012fca", "sar eax, 2", "0x10012fba"], ["0x10012fcd", "cmp eax, edx", "0x10012fbd"]]}]]]}, {"address": "0x10012ff0", "recomp": "0x10012fe0", "name": "LegoRaceCar::FUN_10012ff0", "matching": 1.0, "diff": []}, {"address": "0x10013130", "recomp": "0x10013120", "name": "LegoRaceCar::HandleSkeletonKicks", "matching": 1.0, "diff": []}, {"address": "0x100131f0", "recomp": "0x100131e0", "name": "LegoRaceCar::Animate", "matching": 1.0, "diff": []}, {"address": "0x100133c0", "recomp": "0x100133b0", "name": "LegoRaceCar::HitActor", "matching": 0.8181818181818182, "diff": [["@@ -0x100133c0,142 +0x100133b0,142 @@", [{"both": [["0x100133c0", "sub esp, 0x50", "0x100133b0"], ["0x100133c3", "push ebx", "0x100133b3"], ["0x100133c4", "push esi", "0x100133b4"]]}, {"orig": [["0x100133c5", "mov esi, dword ptr [esp + 0x5c]"]], "recomp": []}, {"both": [["0x100133c9", "push edi", "0x100133b5"]]}, {"orig": [], "recomp": [["0x100133b6", "mov esi, ecx"], ["0x100133b8", "mov edi, dword ptr [esp + 0x60]"]]}, {"both": [["0x100133ca", "push ebp", "0x100133bc"]]}, {"orig": [["0x100133cb", "mov ebp, ecx"], ["0x100133cd", "mov eax, dword ptr [esi]"], ["0x100133cf", "mov ecx, esi"]], "recomp": [["0x100133bd", "mov ecx, edi"], ["0x100133bf", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100133d1", "call dword ptr [eax + 0x7c]", "0x100133c1"], ["0x100133d4", "test al, al", "0x100133c4"], ["0x100133d6", "jne 0x211", "0x100133c6"]]}, {"orig": [["0x100133dc", "cmp dword ptr [esi + 0xdc], 0"]], "recomp": [["0x100133cc", "cmp dword ptr [edi + 0xdc], 0"]]}, {"both": [["0x100133e3", "je 0xf", "0x100133d3"], ["0x100133e5", "mov eax, 0xffffffff", "0x100133d5"], ["0x100133ea", "pop ebp", "0x100133da"], ["0x100133eb", "pop edi", "0x100133db"], ["0x100133ec", "pop esi", "0x100133dc"], ["0x100133ed", "pop ebx", "0x100133dd"], ["0x100133ee", "add esp, 0x50", "0x100133de"], ["0x100133f1", "ret 8", "0x100133e1"], ["0x100133f4", "cmp byte ptr [esp + 0x68], 0", "0x100133e4"], ["0x100133f9", "je 0x59", "0x100133e9"]]}, {"orig": [], "recomp": [["0x100133eb", "mov ebx, dword ptr [edi + 0x54]"]]}, {"both": [["0x100133fb", "lea eax, [esp + 0x20]", "0x100133ee"]]}, {"orig": [["0x100133ff", "mov edi, dword ptr [esi + 0x54]"]], "recomp": []}, {"both": [["0x10013402", "mov dword ptr [esp + 0x1c], eax", "0x100133f2"]]}, {"orig": [["0x10013406", "lea ecx, [edi + 0x10]"]], "recomp": [["0x100133f6", "lea ecx, [ebx + 0x10]"]]}, {"both": [["0x10013409", "mov dword ptr [esp + 0x18], MxMatrix::`vftable' (VTABLE)", "0x100133f9"], ["0x10013411", "push ecx", "0x10013401"], ["0x10013412", "lea ecx, [esp + 0x1c]", "0x10013402"], ["0x10013416", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x10013406"], ["0x1001341c", "mov eax, dword ptr [esp + 0x1c]", "0x1001340c"], ["0x10013420", "push g_unk0x10102af0 (DATA)", "0x10013410"], ["0x10013425", "add eax, 0x30", "0x10013415"], ["0x10013428", "lea ecx, [esp + 0x14]", "0x10013418"], ["0x1001342c", "mov dword ptr [esp + 0x14], Vector3::`vftable' (VTABLE)", "0x1001341c"], ["0x10013434", "mov dword ptr [esp + 0x18], eax", "0x10013424"], ["0x10013438", "call dword ptr [->Vector2::operator+= (FUNCTION)]", "0x10013428"], ["0x1001343e", "lea ecx, [esp + 0x18]", "0x1001342e"], ["0x10013442", "push ecx", "0x10013432"]]}, {"orig": [["0x10013443", "mov ecx, edi"]], "recomp": [["0x10013433", "mov ecx, ebx"]]}, {"both": [["0x10013445", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x10013435"]]}, {"orig": [["0x1001344a", "mov dword ptr [esi + 0xdc], 2"], ["0x10013454", "mov eax, dword ptr [ebp - 0x80]"]], "recomp": [["0x1001343a", "mov dword ptr [edi + 0xdc], 2"], ["0x10013444", "mov eax, dword ptr [esi - 0x80]"]]}, {"both": [["0x10013457", "mov ecx, dword ptr [eax + 4]", "0x10013447"]]}, {"orig": [["0x1001345a", "cmp byte ptr [ecx + ebp + 0x6a], 0"]], "recomp": [["0x1001344a", "cmp byte ptr [ecx + esi + 0x6a], 0"]]}, {"both": [["0x1001345f", "je 0x188", "0x1001344f"], ["0x10013465", "push 'studs' (STRING)", "0x10013455"]]}, {"orig": [["0x1001346a", "mov eax, dword ptr [esi + 0x54]"]], "recomp": [["0x1001345a", "mov eax, dword ptr [edi + 0x54]"]]}, {"both": [["0x1001346d", "mov ecx, dword ptr [eax + 0xe4]", "0x1001345d"], ["0x10013473", "push ecx", "0x10013463"], ["0x10013474", "call __strcmpi (FUNCTION)", "0x10013464"], ["0x10013479", "add esp, 8", "0x10013469"]]}, {"orig": [["0x1001347c", "mov ecx, dword ptr [esi + 0x54]"]], "recomp": [["0x1001346c", "mov ecx, dword ptr [edi + 0x54]"]]}, {"both": [["0x1001347f", "cmp eax, 1", "0x1001346f"], ["0x10013482", "push 'rhoda' (STRING)", "0x10013472"], ["0x10013487", "sbb al, al", "0x10013477"], ["0x10013489", "neg al", "0x10013479"], ["0x1001348b", "mov byte ptr [esp + 0x1c], al", "0x1001347b"], ["0x1001348f", "mov edx, dword ptr [ecx + 0xe4]", "0x1001347f"], ["0x10013495", "push edx", "0x10013485"], ["0x10013496", "call __strcmpi (FUNCTION)", "0x10013486"], ["0x1001349b", "add esp, 8", "0x1001348b"], ["0x1001349e", "cmp eax, 1", "0x1001348e"], ["0x100134a1", "sbb bl, bl", "0x10013491"], ["0x100134a3", "call Timer (FUNCTION)", "0x10013493"], ["0x100134a8", "neg bl", "0x10013498"], ["0x100134aa", "cmp byte ptr [eax + 0xc], 0", "0x1001349a"], ["0x100134ae", "je 0x8", "0x1001349e"]]}, {"orig": [["0x100134b0", "mov esi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]], "recomp": [["0x100134a0", "mov edi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]]}, {"both": [["0x100134b6", "jmp 0x9", "0x100134a6"]]}, {"orig": [["0x100134b8", "mov esi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x100134be", "sub esi, dword ptr [eax + 8]"]], "recomp": [["0x100134a8", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x100134ae", "sub edi, dword ptr [eax + 8]"]]}, {"both": [["0x100134c1", "xor eax, eax", "0x100134b1"]]}, {"orig": [["0x100134c3", "xor edi, edi"], ["0x100134c5", "mov ecx, esi"]], "recomp": [["0x100134b3", "xor ebp, ebp"], ["0x100134b5", "mov ecx, edi"]]}, {"both": [["0x100134c7", "sub ecx, dword ptr [g_timeLastSoundPlayed (DATA)]", "0x100134b7"], ["0x100134cd", "cmp ecx, 0xbb8", "0x100134bd"], ["0x100134d3", "jle 0xda", "0x100134c3"], ["0x100134d9", "cmp byte ptr [esp + 0x68], al", "0x100134c9"], ["0x100134dd", "je 0x5b", "0x100134cd"], ["0x100134df", "cmp byte ptr [esp + 0x18], al", "0x100134cf"], ["0x100134e3", "je 0x2a", "0x100134d3"], ["0x100134e5", "mov ecx, dword ptr [g_srtsl18to29Index (DATA)]", "0x100134d5"], ["0x100134eb", "inc dword ptr [g_srtsl18to29Index (DATA)]", "0x100134db"]]}, {"orig": [["0x100134f1", "mov edi, dword ptr [ecx*4 + g_srtsl18to29[0] (DATA)]"]], "recomp": [["0x100134e1", "mov ebp, dword ptr [ecx*4 + g_srtsl18to29[0] (DATA)]"]]}, {"both": [["0x100134f8", "cmp dword ptr [g_srtsl18to29Index (DATA)], 0xc", "0x100134e8"], ["0x100134ff", "jb 0x8c", "0x100134ef"], ["0x10013505", "mov dword ptr [g_srtsl18to29Index (DATA)], eax", "0x100134f5"], ["0x1001350a", "jmp 0x82", "0x100134fa"], ["0x1001350f", "test bl, bl", "0x100134ff"], ["0x10013511", "je 0x7e", "0x10013501"], ["0x10013513", "mov eax, dword ptr [g_emptySoundKeyListIndex (DATA)]", "0x10013503"], ["0x10013518", "inc dword ptr [g_emptySoundKeyListIndex (DATA)]", "0x10013508"]]}, {"orig": [["0x1001351e", "mov edi, dword ptr [eax*4 + g_emptySoundKeyList[0] (DATA)]"]], "recomp": [["0x1001350e", "mov ebp, dword ptr [eax*4 + g_emptySoundKeyList[0] (DATA)]"]]}, {"both": [["0x10013525", "cmp dword ptr [g_emptySoundKeyListIndex (DATA)], 1", "0x10013515"], ["0x1001352c", "jb 0x63", "0x1001351c"], ["0x1001352e", "mov dword ptr [g_emptySoundKeyListIndex (DATA)], 0", "0x1001351e"], ["0x10013538", "jmp 0x57", "0x10013528"], ["0x1001353a", "cmp byte ptr [esp + 0x18], 0", "0x1001352a"], ["0x1001353f", "je 0x27", "0x1001352f"], ["0x10013541", "mov eax, dword ptr [g_srtsl6to10Index (DATA)]", "0x10013531"], ["0x10013546", "inc dword ptr [g_srtsl6to10Index (DATA)]", "0x10013536"]]}, {"orig": [["0x1001354c", "mov edi, dword ptr [eax*4 + g_srtsl6to10[0] (DATA)]"]], "recomp": [["0x1001353c", "mov ebp, dword ptr [eax*4 + g_srtsl6to10[0] (DATA)]"]]}, {"both": [["0x10013553", "cmp dword ptr [g_srtsl6to10Index (DATA)], 5", "0x10013543"], ["0x1001355a", "jb 0x35", "0x1001354a"], ["0x1001355c", "mov dword ptr [g_srtsl6to10Index (DATA)], 0", "0x1001354c"], ["0x10013566", "jmp 0x29", "0x10013556"], ["0x10013568", "test bl, bl", "0x10013558"], ["0x1001356a", "je 0x25", "0x1001355a"], ["0x1001356c", "mov eax, dword ptr [g_srtrhIndex (DATA)]", "0x1001355c"], ["0x10013571", "inc dword ptr [g_srtrhIndex (DATA)]", "0x10013561"]]}, {"orig": [["0x10013577", "mov edi, dword ptr [eax*4 + g_srtrh[0] (DATA)]"]], "recomp": [["0x10013567", "mov ebp, dword ptr [eax*4 + g_srtrh[0] (DATA)]"]]}, {"both": [["0x1001357e", "cmp dword ptr [g_srtrhIndex (DATA)], 3", "0x1001356e"], ["0x10013585", "jb 0xa", "0x10013575"], ["0x10013587", "mov dword ptr [g_srtrhIndex (DATA)], 0", "0x10013577"]]}, {"orig": [["0x10013591", "test edi, edi"]], "recomp": [["0x10013581", "test ebp, ebp"]]}, {"both": [["0x10013593", "je 0x1e", "0x10013583"], ["0x10013595", "call SoundManager (FUNCTION)", "0x10013585"], ["0x1001359a", "push 0", "0x1001358a"], ["0x1001359c", "mov ecx, dword ptr [eax + 0x40]", "0x1001358c"], ["0x1001359f", "push 0", "0x1001358f"]]}, {"orig": [["0x100135a1", "push edi"]], "recomp": [["0x10013591", "push ebp"]]}, {"both": [["0x100135a2", "call LegoCacheSoundManager::Play (FUNCTION)", "0x10013592"]]}, {"orig": [["0x100135a7", "mov dword ptr [g_unk0x100f3308 (DATA)], esi"], ["0x100135ad", "mov dword ptr [g_timeLastSoundPlayed (DATA)], esi"]], "recomp": [["0x10013597", "mov dword ptr [g_unk0x100f3308 (DATA)], edi"], ["0x1001359d", "mov dword ptr [g_timeLastSoundPlayed (DATA)], edi"]]}, {"both": [["0x100135b3", "cmp byte ptr [esp + 0x68], 0", "0x100135a3"], ["0x100135b8", "je 0x24", "0x100135a8"]]}, {"orig": [["0x100135ba", "mov eax, dword ptr [ebp - 0x80]"]], "recomp": [["0x100135aa", "mov eax, dword ptr [esi - 0x80]"]]}, {"both": [["0x100135bd", "mov ecx, dword ptr [eax + 4]", "0x100135ad"], ["0x100135c0", "mov eax, 0", "0x100135b0"]]}, {"orig": [["0x100135c5", "test dword ptr [ecx + ebp - 0x30], 0x7fffffff"]], "recomp": [["0x100135b5", "test dword ptr [ecx + esi - 0x30], 0x7fffffff"]]}, {"both": [["0x100135cd", "jne 0x20", "0x100135bd"], ["0x100135cf", "pop ebp", "0x100135bf"], ["0x100135d0", "mov eax, 0xffffffff", "0x100135c0"], ["0x100135d5", "pop edi", "0x100135c5"], ["0x100135d6", "pop esi", "0x100135c6"], ["0x100135d7", "pop ebx", "0x100135c7"], ["0x100135d8", "add esp, 0x50", "0x100135c8"], ["0x100135db", "ret 8", "0x100135cb"], ["0x100135de", "mov eax, 0xffffffff", "0x100135ce"], ["0x100135e3", "pop ebp", "0x100135d3"]]}]]]}, {"address": "0x10013600", "recomp": "0x100135f0", "name": "LegoRaceCar::VTable0x9c", "matching": 0.9743589743589743, "diff": [["@@ -0x10013619,21 +0x10013609,21 @@", [{"both": [["0x10013619", "mov ecx, dword ptr [esi - 0x80]", "0x10013609"], ["0x1001361c", "mov edx, dword ptr [ecx + 4]", "0x1001360c"], ["0x1001361f", "mov ecx, dword ptr [edx + esi + 8]", "0x1001360f"], ["0x10013623", "test ecx, ecx", "0x10013613"], ["0x10013625", "je 0x3a", "0x10013615"], ["0x10013627", "xor edi, edi", "0x10013617"], ["0x10013629", "mov edx, g_skBMap[0].m_b (UNK)", "0x10013619"], ["0x1001362e", "cmp dword ptr [edx], ecx", "0x1001361e"], ["0x10013630", "je 0xd", "0x10013620"], ["0x10013632", "add edx, 8", "0x10013622"]]}, {"orig": [["0x10013635", "cmp edx, 0x100f0a54"]], "recomp": [["0x10013625", "cmp edx, g_strJetSpeed (DATA)"]]}, {"both": [["0x1001363b", "jb -0xf", "0x1001362b"], ["0x1001363d", "jmp 0x5", "0x1001362d"], ["0x1001363f", "mov edi, 1", "0x1001362f"], ["0x10013644", "cmp byte ptr [esi - 0x30], 1", "0x10013634"], ["0x10013648", "jne 0xb", "0x10013638"], ["0x1001364a", "test edi, edi", "0x1001363a"], ["0x1001364c", "jne 0x13", "0x1001363c"], ["0x1001364e", "mov byte ptr [esi - 0x30], 0", "0x1001363e"], ["0x10013652", "pop edi", "0x10013642"], ["0x10013653", "pop esi", "0x10013643"]]}]]]}, {"address": "0x10013670", "recomp": "0x10013660", "name": "LegoRaceCar::FUN_10013670", "matching": 1.0, "diff": []}, {"address": "0x100136a0", "recomp": "0x10013690", "name": "LegoJetski::SetWorldSpeed", "matching": 1.0, "diff": []}, {"address": "0x100136f0", "recomp": "0x100136e0", "name": "LegoJetski::FUN_100136f0", "matching": 1.0, "diff": []}, {"address": "0x10013740", "recomp": "0x10013730", "name": "LegoJetski::Animate", "matching": 1.0, "diff": []}, {"address": "0x10013820", "recomp": "0x10013810", "name": "LegoJetski::LegoJetski", "matching": 1.0, "effective": true, "diff": [["@@ -0x100138b5,21 +0x100138a5,21 @@", [{"both": [["0x100138b5", "mov eax, dword ptr [esi + 0x194]", "0x100138a5"], ["0x100138bb", "mov dword ptr [esi + 0x190], LegoAnimActor::`vftable'{for `LegoAnimActor'} (VTABLE)", "0x100138ab"], ["0x100138c5", "mov ecx, dword ptr [eax + 4]", "0x100138b5"], ["0x100138c8", "mov byte ptr [ebp - 4], bl", "0x100138b8"], ["0x100138cb", "mov dword ptr [ecx + esi + 0x194], LegoAnimActor::`vftable'{for `LegoPathActor'} (VTABLE)", "0x100138bb"], ["0x100138d6", "mov eax, dword ptr [esi + 0x194]", "0x100138c6"], ["0x100138dc", "push ebx", "0x100138cc"], ["0x100138dd", "mov eax, dword ptr [eax + 4]", "0x100138cd"], ["0x100138e0", "mov dword ptr [ebp - 4], 3", "0x100138d0"], ["0x100138e7", "lea ecx, [eax - 0x1c]", "0x100138d7"]]}, {"orig": [["0x100138ea", "mov dword ptr [eax + esi + 0x190], ecx"]], "recomp": [["0x100138da", "mov dword ptr [esi + eax + 0x190], ecx"]]}, {"both": [["0x100138f1", "lea ecx, [esi + 0x1ac]", "0x100138e1"], ["0x100138f7", "or dword ptr [ebp - 0x18], 2", "0x100138e7"], ["0x100138fb", "mov word ptr [esi + 0x1a8], 0xffff", "0x100138eb"], ["0x10013904", "call LegoRaceActor::LegoRaceActor (FUNCTION)", "0x100138f4"], ["0x10013909", "push ebx", "0x100138f9"], ["0x1001390a", "lea ecx, [esi + 0x1bc]", "0x100138fa"], ["0x10013910", "or dword ptr [ebp - 0x18], 4", "0x10013900"], ["0x10013914", "mov dword ptr [ebp - 4], 4", "0x10013904"], ["0x1001391b", "call LegoCarRaceActor::LegoCarRaceActor (FUNCTION)", "0x1001390b"], ["0x10013920", "or dword ptr [ebp - 0x18], 8", "0x10013910"]]}]], ["@@ -0x1001396b,25 +0x1001395b,25 @@", [{"both": [["0x1001396b", "mov eax, dword ptr [edi]", "0x1001395b"], ["0x1001396d", "mov ecx, dword ptr [eax + 0xc]", "0x1001395d"], ["0x10013970", "mov dword ptr [ecx + esi + 0x34], LegoJetski::`vftable'{for `LegoRaceActor'} (VTABLE)", "0x10013960"], ["0x10013978", "mov eax, dword ptr [edi]", "0x10013968"], ["0x1001397a", "mov edx, dword ptr [eax + 0x10]", "0x1001396a"], ["0x1001397d", "mov dword ptr [edx + esi + 0x34], LegoJetski::`vftable'{for `LegoCarRaceActor'} (VTABLE)", "0x1001396d"], ["0x10013985", "mov eax, dword ptr [edi]", "0x10013975"], ["0x10013987", "mov eax, dword ptr [eax + 4]", "0x10013977"], ["0x1001398a", "test esi, esi", "0x1001397a"], ["0x1001398c", "lea ecx, [eax - 8]", "0x1001397c"]]}, {"orig": [["0x1001398f", "mov dword ptr [eax + esi + 0x30], ecx"]], "recomp": [["0x1001397f", "mov dword ptr [esi + eax + 0x30], ecx"]]}, {"both": [["0x10013993", "mov edx, dword ptr [edi]", "0x10013983"], ["0x10013995", "mov eax, dword ptr [edx + 0x10]", "0x10013985"], ["0x10013998", "lea ecx, [eax - 0x188]", "0x10013988"]]}, {"orig": [["0x1001399e", "mov dword ptr [eax + esi + 0x30], ecx"]], "recomp": [["0x1001398e", "mov dword ptr [esi + eax + 0x30], ecx"]]}, {"both": [["0x100139a2", "jne 0x35", "0x10013992"], ["0x100139a4", "xor eax, eax", "0x10013994"], ["0x100139a6", "jmp 0x3a", "0x10013996"], ["0x100139a8", "test byte ptr [ebp - 0x18], 0x10", "0x10013998"], ["0x100139ac", "je 0xe", "0x1001399c"], ["0x100139ae", "mov ecx, dword ptr [ebp - 0x14]", "0x1001399e"], ["0x100139b1", "add ecx, 0x1b0", "0x100139a1"], ["0x100139b7", "jmp LegoPathActor::~LegoPathActor (FUNCTION)", "0x100139a7"], ["0x100139bc", "ret ", "0x100139ac"], ["0x100139bd", "mov ecx, dword ptr [ebp - 0x14]", "0x100139ad"]]}]]]}, {"address": "0x10013a80", "recomp": "0x10013a70", "name": "LegoJetskiRaceActor::`vbase destructor'", "matching": 1.0, "diff": []}, {"address": "0x10013aa0", "recomp": "0x10013a90", "name": "LegoJetski::~LegoJetski", "matching": 1.0, "diff": []}, {"address": "0x10013ba0", "recomp": "0x10013b90", "name": "LegoJetskiRaceActor::~LegoJetskiRaceActor", "matching": 1.0, "diff": []}, {"address": "0x10013bb0", "recomp": "0x10013ba0", "name": "LegoJetski::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x10013c30", "recomp": "0x10013c20", "name": "LegoJetski::Notify", "matching": 1.0, "diff": []}, {"address": "0x10013c40", "recomp": "0x10013c30", "name": "LegoJetski::HitActor", "matching": 0.9776119402985075, "diff": [["@@ -0x10013c63,25 +0x10013c53,25 @@", [{"both": [["0x10013c63", "je 0xf", "0x10013c53"], ["0x10013c65", "mov eax, 0xffffffff", "0x10013c55"], ["0x10013c6a", "pop ebp", "0x10013c5a"], ["0x10013c6b", "pop edi", "0x10013c5b"], ["0x10013c6c", "pop esi", "0x10013c5c"], ["0x10013c6d", "pop ebx", "0x10013c5d"], ["0x10013c6e", "add esp, 0x50", "0x10013c5e"], ["0x10013c71", "ret 8", "0x10013c61"], ["0x10013c74", "cmp byte ptr [esp + 0x68], 0", "0x10013c64"], ["0x10013c79", "je 0x59", "0x10013c69"]]}, {"orig": [], "recomp": [["0x10013c6b", "mov edi, dword ptr [esi + 0x54]"]]}, {"both": [["0x10013c7b", "lea eax, [esp + 0x20]", "0x10013c6e"], ["0x10013c7f", "mov dword ptr [esp + 0x1c], eax", "0x10013c72"]]}, {"orig": [], "recomp": [["0x10013c76", "lea ecx, [edi + 0x10]"]]}, {"both": [["0x10013c83", "mov dword ptr [esp + 0x18], MxMatrix::`vftable' (VTABLE)", "0x10013c79"]]}, {"orig": [["0x10013c8b", "mov edi, dword ptr [esi + 0x54]"], ["0x10013c8e", "lea ecx, [edi + 0x10]"]], "recomp": []}, {"both": [["0x10013c91", "push ecx", "0x10013c81"], ["0x10013c92", "lea ecx, [esp + 0x1c]", "0x10013c82"], ["0x10013c96", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x10013c86"], ["0x10013c9c", "mov eax, dword ptr [esp + 0x1c]", "0x10013c8c"], ["0x10013ca0", "push g_unk0x10102af0 (DATA)", "0x10013c90"], ["0x10013ca5", "add eax, 0x30", "0x10013c95"], ["0x10013ca8", "lea ecx, [esp + 0x14]", "0x10013c98"], ["0x10013cac", "mov dword ptr [esp + 0x14], Vector3::`vftable' (VTABLE)", "0x10013c9c"], ["0x10013cb4", "mov dword ptr [esp + 0x18], eax", "0x10013ca4"], ["0x10013cb8", "call dword ptr [->Vector2::operator+= (FUNCTION)]", "0x10013ca8"]]}]], ["@@ -0x10013da0,21 +0x10013d90,21 @@", [{"both": [["0x10013da0", "mov dword ptr [g_hitValerieSoundsIndex (DATA)], 0", "0x10013d90"], ["0x10013daa", "test edi, edi", "0x10013d9a"], ["0x10013dac", "je 0x1e", "0x10013d9c"], ["0x10013dae", "call SoundManager (FUNCTION)", "0x10013d9e"], ["0x10013db3", "push 0", "0x10013da3"], ["0x10013db5", "mov ecx, dword ptr [eax + 0x40]", "0x10013da5"], ["0x10013db8", "push 0", "0x10013da8"], ["0x10013dba", "push edi", "0x10013daa"], ["0x10013dbb", "call LegoCacheSoundManager::Play (FUNCTION)", "0x10013dab"], ["0x10013dc0", "mov dword ptr [g_unk0x100f3308 (DATA)], esi", "0x10013db0"]]}, {"orig": [["0x10013dc6", "mov dword ptr [g_unk0x100f0bb4 (DATA)], esi"]], "recomp": [["0x10013db6", "mov dword ptr [g_timeLastSoundPlayed (DATA)], esi"]]}, {"both": [["0x10013dcc", "cmp byte ptr [esp + 0x68], 0", "0x10013dbc"], ["0x10013dd1", "je 0x24", "0x10013dc1"], ["0x10013dd3", "mov eax, dword ptr [ebp - 8]", "0x10013dc3"], ["0x10013dd6", "mov ecx, dword ptr [eax + 4]", "0x10013dc6"], ["0x10013dd9", "mov eax, 0", "0x10013dc9"], ["0x10013dde", "test dword ptr [ecx + ebp + 0x48], 0x7fffffff", "0x10013dce"], ["0x10013de6", "jne 0x20", "0x10013dd6"], ["0x10013de8", "pop ebp", "0x10013dd8"], ["0x10013de9", "mov eax, 0xffffffff", "0x10013dd9"], ["0x10013dee", "pop edi", "0x10013dde"]]}]]]}, {"address": "0x10013e20", "recomp": "0x10013e10", "name": "LegoJetski::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10013e30", "recomp": "0x10013e20", "name": "LegoJetski::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10013e70", "recomp": "0x10013e60", "name": "LegoJetski::Notify`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10013e80", "recomp": "0x10013e70", "name": "LegoJetski::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10013e90", "recomp": "0x10013e80", "name": "LegoJetski::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10013ea0", "recomp": "0x10013e90", "name": "LegoJetski::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10013eb0", "recomp": "0x10013ea0", "name": "LegoJetski::IsA", "matching": 1.0, "diff": []}, {"address": "0x100140d0", "recomp": "0x100140c0", "name": "MxCore::IsA", "matching": 1.0, "diff": []}, {"address": "0x10014110", "recomp": "0x10014100", "name": "LegoJetski::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014120", "recomp": "0x10014110", "name": "LegoJetski::SetWorldSpeed`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014130", "recomp": "0x10014120", "name": "LegoRaceActor::VTable0x68`vtordisp{-4, 4294966912}'", "matching": 1.0, "diff": []}, {"address": "0x10014140", "recomp": "0x10014130", "name": "LegoJetski::VTable0x6c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014150", "recomp": "0x10014140", "name": "LegoJetski::VTable0x6c", "matching": 1.0, "diff": []}, {"address": "0x10014180", "recomp": "0x10014170", "name": "LegoJetski::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014190", "recomp": "0x10014180", "name": "LegoAnimActor::VTable0x74`vtordisp{-4, 4294966924}'", "matching": 1.0, "diff": []}, {"address": "0x100141a0", "recomp": "0x10014190", "name": "LegoRaceActor::VTable0x90`vtordisp{-4, 4294966912}'", "matching": 1.0, "diff": []}, {"address": "0x100141b0", "recomp": "0x100141a0", "name": "LegoJetski::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100141c0", "recomp": "0x100141b0", "name": "LegoJetski::SwitchBoundary`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100141d0", "recomp": "0x100141c0", "name": "LegoJetski::SwitchBoundary", "matching": 1.0, "diff": []}, {"address": "0x10014200", "recomp": "0x100141f0", "name": "LegoJetski::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014210", "recomp": "0x10014200", "name": "LegoJetski::VTable0x9c", "matching": 1.0, "diff": []}, {"address": "0x10014220", "recomp": "0x10014210", "name": "LegoJetskiRaceActor::VTable0x1c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014230", "recomp": "0x10014220", "name": "LegoRaceCar::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014240", "recomp": "0x10014230", "name": "LegoRaceCar::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10014280", "recomp": "0x10014270", "name": "LegoRaceCar::Notify`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014290", "recomp": "0x10014280", "name": "LegoRaceCar::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100142a0", "recomp": "0x10014290", "name": "LegoRaceCar::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100142b0", "recomp": "0x100142a0", "name": "LegoRaceCar::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100142c0", "recomp": "0x100142b0", "name": "LegoRaceCar::IsA", "matching": 1.0, "diff": []}, {"address": "0x100144c0", "recomp": "0x100144b0", "name": "MxCore::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100144d0", "recomp": "0x100144c0", "name": "LegoRaceCar::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100144e0", "recomp": "0x100144d0", "name": "LegoRaceCar::SetWorldSpeed`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100144f0", "recomp": "0x100144e0", "name": "LegoRaceCar::VTable0x6c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014500", "recomp": "0x100144f0", "name": "LegoRaceCar::VTable0x6c", "matching": 1.0, "diff": []}, {"address": "0x10014530", "recomp": "0x10014520", "name": "LegoRaceCar::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014540", "recomp": "0x10014530", "name": "LegoRaceCar::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014550", "recomp": "0x10014540", "name": "LegoRaceCar::SwitchBoundary`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014560", "recomp": "0x10014550", "name": "LegoRaceCar::SwitchBoundary", "matching": 1.0, "diff": []}, {"address": "0x10014580", "recomp": "0x10014570", "name": "LegoRaceCar::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100145d0", "recomp": "0x100145c0", "name": "LegoRaceActor::LegoRaceActor", "matching": 1.0, "diff": []}, {"address": "0x10014750", "recomp": "0x10014740", "name": "LegoRaceActor::VTable0x68", "matching": 1.0, "diff": []}, {"address": "0x100147f0", "recomp": "0x100147e0", "name": "LegoRaceActor::VTable0x90", "matching": 0.9640718562874252, "diff": [["@@ -0x100148d8,41 +0x100148c8,41 @@", [{"both": [["0x100148d8", "fld qword ptr [0.6000000238418579 (FLOAT)]", "0x100148c8"], ["0x100148de", "fsin ", "0x100148ce"], ["0x100148e0", "xor edx, edx", "0x100148d0"], ["0x100148e2", "mov eax, dword ptr [esp + 0x14]", "0x100148d2"], ["0x100148e6", "mov dword ptr [eax], edx", "0x100148d6"], ["0x100148e8", "mov dword ptr [eax + 4], edx", "0x100148d8"], ["0x100148eb", "lea edi, [esp + 0x38]", "0x100148db"], ["0x100148ef", "mov dword ptr [eax + 8], edx", "0x100148df"], ["0x100148f2", "mov ecx, 0x10", "0x100148e2"], ["0x100148f7", "mov esi, dword ptr [ebp + 4]", "0x100148e7"]]}, {"orig": [["0x100148fa", "fstp dword ptr [esp + 0x18]"]], "recomp": [["0x100148ea", "fstp dword ptr [esp + 0x1c]"]]}, {"both": [["0x100148fe", "fld qword ptr [0.6000000238418579 (FLOAT)]", "0x100148ee"], ["0x10014904", "fcos ", "0x100148f4"]]}, {"orig": [["0x10014906", "fstp dword ptr [esp + 0x1c]"]], "recomp": [["0x100148f6", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x1001490a", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100148fa"], ["0x1001490c", "jmp 0x4", "0x100148fc"], ["0x1001490e", "fstp dword ptr [esi + edx - 8]", "0x100148fe"], ["0x10014912", "lea ecx, [esp + edx + 0x3c]", "0x10014902"], ["0x10014916", "lea eax, [esp + edx + 0x40]", "0x10014906"], ["0x1001491a", "mov esi, dword ptr [ebp + 4]", "0x1001490a"], ["0x1001491d", "add edx, 0x10", "0x1001490d"], ["0x10014920", "fld dword ptr [ecx]", "0x10014910"]]}, {"orig": [], "recomp": [["0x10014912", "fmul dword ptr [esp + 0x18]"], ["0x10014916", "fld dword ptr [eax]"]]}, {"both": [["0x10014922", "fmul dword ptr [esp + 0x1c]", "0x10014918"]]}, {"orig": [["0x10014926", "fld dword ptr [eax]"], ["0x10014928", "fmul dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x1001492c", "cmp edx, 0x40", "0x1001491c"], ["0x1001492f", "fsubp st(1)", "0x1001491f"], ["0x10014931", "fstp dword ptr [esi + edx - 0xc]", "0x10014921"]]}, {"orig": [], "recomp": [["0x10014925", "fld dword ptr [eax]"], ["0x10014927", "fmul dword ptr [esp + 0x18]"]]}, {"both": [["0x10014935", "fld dword ptr [ecx]", "0x1001492b"]]}, {"orig": [["0x10014937", "fmul dword ptr [esp + 0x18]"], ["0x1001493b", "fld dword ptr [eax]"]], "recomp": []}, {"both": [["0x1001493d", "fmul dword ptr [esp + 0x1c]", "0x1001492d"], ["0x10014941", "mov esi, dword ptr [ebp + 4]", "0x10014931"], ["0x10014944", "faddp st(1)", "0x10014934"], ["0x10014946", "jl -0x3a", "0x10014936"], ["0x10014948", "fstp dword ptr [esi + edx - 8]", "0x10014938"], ["0x1001494c", "mov eax, dword ptr [esp + 0x24]", "0x1001493c"], ["0x10014950", "lea ecx, [esp + 0x10]", "0x10014940"], ["0x10014954", "mov esi, dword ptr [esp + 0x10]", "0x10014944"], ["0x10014958", "push eax", "0x10014948"], ["0x10014959", "call dword ptr [esi + 0x20]", "0x10014949"]]}]]]}, {"address": "0x10014a00", "recomp": "0x100149f0", "name": "LegoRaceActor::HitActor", "matching": 1.0, "effective": true, "diff": [["@@ -0x10014a12,22 +0x10014a02,22 @@", [{"both": [["0x10014a12", "jne 0x76", "0x10014a02"], ["0x10014a14", "cmp dword ptr [esi + 0xdc], 0", "0x10014a04"], ["0x10014a1b", "je 0xd", "0x10014a0b"], ["0x10014a1d", "mov eax, 0xffffffff", "0x10014a0d"], ["0x10014a22", "pop edi", "0x10014a12"], ["0x10014a23", "pop esi", "0x10014a13"], ["0x10014a24", "add esp, 0x50", "0x10014a14"], ["0x10014a27", "ret 8", "0x10014a17"], ["0x10014a2a", "cmp byte ptr [esp + 0x60], 0", "0x10014a1a"], ["0x10014a2f", "je 0x59", "0x10014a1f"]]}, {"orig": [], "recomp": [["0x10014a21", "mov edi, dword ptr [esi + 0x54]"]]}, {"both": [["0x10014a31", "lea eax, [esp + 0x18]", "0x10014a24"]]}, {"orig": [["0x10014a35", "mov edi, dword ptr [esi + 0x54]"]], "recomp": []}, {"both": [["0x10014a38", "mov dword ptr [esp + 0x10], MxMatrix::`vftable' (VTABLE)", "0x10014a28"], ["0x10014a40", "lea ecx, [edi + 0x10]", "0x10014a30"], ["0x10014a43", "mov dword ptr [esp + 0x14], eax", "0x10014a33"], ["0x10014a47", "push ecx", "0x10014a37"], ["0x10014a48", "lea ecx, [esp + 0x14]", "0x10014a38"], ["0x10014a4c", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x10014a3c"], ["0x10014a52", "mov eax, dword ptr [esp + 0x14]", "0x10014a42"], ["0x10014a56", "push LegoRaceActor::g_unk0x10102b08 (DATA)", "0x10014a46"], ["0x10014a5b", "add eax, 0x30", "0x10014a4b"], ["0x10014a5e", "lea ecx, [esp + 0xc]", "0x10014a4e"]]}]]]}, {"address": "0x10014aa0", "recomp": "0x10014a90", "name": "LegoRaceActor::FUN_10014aa0", "matching": 1.0, "diff": []}, {"address": "0x10014ab0", "recomp": "0x10014aa0", "name": "LegoRaceActor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014ac0", "recomp": "0x10014ab0", "name": "LegoRaceActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10014af0", "recomp": "0x10014ae0", "name": "LegoRaceActor::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014b00", "recomp": "0x10014af0", "name": "LegoRaceActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10014b10", "recomp": "0x10014b00", "name": "LegoRaceActor::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014b20", "recomp": "0x10014b10", "name": "LegoRaceActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x10014ca0", "recomp": "0x10014c90", "name": "LegoAnimActor::ParseAction`vtordisp{-4, 4294966924}'", "matching": 1.0, "diff": []}, {"address": "0x10014cb0", "recomp": "0x10014ca0", "name": "LegoAnimActor::SetWorldSpeed`vtordisp{-4, 4294966924}'", "matching": 1.0, "diff": []}, {"address": "0x10014cc0", "recomp": "0x10014cb0", "name": "LegoRaceActor::VTable0x68`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014cd0", "recomp": "0x10014cc0", "name": "LegoAnimActor::Animate`vtordisp{-4, 4294966924}'", "matching": 1.0, "diff": []}, {"address": "0x10014ce0", "recomp": "0x10014cd0", "name": "LegoRaceActor::VTable0x90`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014cf0", "recomp": "0x10014ce0", "name": "LegoRaceActor::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10014d00", "recomp": "0x10014cf0", "name": "LegoState::Playlist::Next", "matching": 1.0, "diff": []}, {"address": "0x10014de0", "recomp": "0x10014dd0", "name": "LegoState::Playlist::Contains", "matching": 1.0, "effective": true, "diff": [["@@ -0x10014de0,22 +0x10014dd0,22 @@", [{"both": [["0x10014de0", "push esi", "0x10014dd0"], ["0x10014de1", "push edi", "0x10014dd1"]]}, {"orig": [["0x10014de2", "xor si, si"], ["0x10014de5", "mov di, word ptr [ecx + 4]"]], "recomp": [["0x10014dd2", "xor di, di"], ["0x10014dd5", "mov si, word ptr [ecx + 4]"], ["0x10014dd9", "cmp si, di"], ["0x10014ddc", "jle 0x15"], ["0x10014dde", "mov ecx, dword ptr [ecx]"], ["0x10014de0", "mov eax, dword ptr [esp + 0xc]"], ["0x10014de4", "movsx edx, di"], ["0x10014de7", "cmp dword ptr [ecx + edx*4], eax"], ["0x10014dea", "je 0xe"], ["0x10014dec", "inc di"]]}, {"both": [["0x10014de9", "cmp di, si", "0x10014dee"]]}, {"orig": [["0x10014dec", "jle 0x15"], ["0x10014dee", "mov eax, dword ptr [ecx]"], ["0x10014df0", "mov ecx, dword ptr [esp + 0xc]"], ["0x10014df4", "movsx edx, si"], ["0x10014df7", "cmp dword ptr [eax + edx*4], ecx"], ["0x10014dfa", "je 0xe"], ["0x10014dfc", "inc si"], ["0x10014dfe", "cmp si, di"]], "recomp": []}, {"both": [["0x10014e01", "jl -0xf", "0x10014df1"], ["0x10014e03", "xor al, al", "0x10014df3"], ["0x10014e05", "pop edi", "0x10014df5"], ["0x10014e06", "pop esi", "0x10014df6"], ["0x10014e07", "ret 4", "0x10014df7"], ["0x10014e0a", "mov al, 1", "0x10014dfa"], ["0x10014e0c", "pop edi", "0x10014dfc"], ["0x10014e0d", "pop esi", "0x10014dfd"], ["0x10014e0e", "ret 4", "0x10014dfe"]]}]]]}, {"address": "0x10014e20", "recomp": "0x10014e10", "name": "BuildingEntity::BuildingEntity", "matching": 1.0, "diff": []}, {"address": "0x10014f20", "recomp": "0x10014f10", "name": "BuildingEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10014f30", "recomp": "0x10014f20", "name": "BuildingEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x10015010", "recomp": "0x10015000", "name": "BuildingEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10015030", "recomp": "0x10015020", "name": "BuildingEntity::~BuildingEntity", "matching": 1.0, "diff": []}, {"address": "0x100150a0", "recomp": "0x10015090", "name": "BuildingEntity::Notify", "matching": 1.0, "diff": []}, {"address": "0x100150c0", "recomp": "0x100150b0", "name": "InfoCenterEntity::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x100150c3,27 +0x100150b3,27 @@", [{"both": [["0x100150c3", "call GameState (FUNCTION)", "0x100150b3"], ["0x100150c8", "mov eax, dword ptr [eax + 0x10]", "0x100150b8"], ["0x100150cb", "test eax, eax", "0x100150bb"], ["0x100150cd", "je 0x13", "0x100150bd"], ["0x100150cf", "cmp eax, 1", "0x100150bf"], ["0x100150d2", "je 0x74", "0x100150c2"], ["0x100150d4", "cmp eax, 2", "0x100150c4"], ["0x100150d7", "je 0xa0", "0x100150c7"], ["0x100150dd", "jmp 0xb5", "0x100150cd"], ["0x100150e2", "call UserActor (FUNCTION)", "0x100150d2"]]}, {"orig": [["0x100150e7", "mov edi, dword ptr [eax]"]], "recomp": [["0x100150d7", "mov esi, dword ptr [eax]"]]}, {"both": [["0x100150e9", "mov ebx, eax", "0x100150d9"], ["0x100150eb", "call GameState (FUNCTION)", "0x100150db"]]}, {"orig": [["0x100150f0", "mov esi, eax"]], "recomp": [["0x100150e0", "mov edi, eax"]]}, {"both": [["0x100150f2", "mov ecx, ebx", "0x100150e2"]]}, {"orig": [["0x100150f4", "call dword ptr [edi + 0x60]"], ["0x100150f7", "cmp al, byte ptr [esi + 0xc]"]], "recomp": [["0x100150e4", "call dword ptr [esi + 0x60]"], ["0x100150e7", "cmp al, byte ptr [edi + 0xc]"]]}, {"both": [["0x100150fa", "je 0xf", "0x100150ea"], ["0x100150fc", "call UserActor (FUNCTION)", "0x100150ec"], ["0x10015101", "mov edx, dword ptr [eax]", "0x100150f1"], ["0x10015103", "mov ecx, eax", "0x100150f3"], ["0x10015105", "call dword ptr [edx + 0xe4]", "0x100150f5"], ["0x1001510b", "push 0", "0x100150fb"], ["0x1001510d", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100150fd"], ["0x10015112", "push eax", "0x10015102"], ["0x10015113", "call FindWorld (FUNCTION)", "0x10015103"], ["0x10015118", "mov ecx, eax", "0x10015108"]]}]]]}, {"address": "0x100151d0", "recomp": "0x100151c0", "name": "GasStationEntity::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10015270", "recomp": "0x10015260", "name": "HospitalEntity::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x10015278,27 +0x10015268,27 @@", [{"both": [["0x10015278", "test al, al", "0x10015268"], ["0x1001527a", "je 0x83", "0x1001526a"], ["0x10015280", "push 'Act1State' (STRING)", "0x10015270"], ["0x10015285", "call GameState (FUNCTION)", "0x10015275"], ["0x1001528a", "mov ecx, eax", "0x1001527a"], ["0x1001528c", "call LegoGameState::GetState (FUNCTION)", "0x1001527c"], ["0x10015291", "cmp dword ptr [eax + 0x18], 0xa", "0x10015281"], ["0x10015295", "je 0x6c", "0x10015285"], ["0x10015297", "mov dword ptr [eax + 0x18], 0", "0x10015287"], ["0x1001529e", "call UserActor (FUNCTION)", "0x1001528e"]]}, {"orig": [["0x100152a3", "mov edi, dword ptr [eax]"]], "recomp": [["0x10015293", "mov esi, dword ptr [eax]"], ["0x10015295", "mov edi, eax"], ["0x10015297", "call GameState (FUNCTION)"]]}, {"both": [["0x100152a5", "mov ebx, eax", "0x1001529c"]]}, {"orig": [["0x100152a7", "call GameState (FUNCTION)"], ["0x100152ac", "mov esi, eax"], ["0x100152ae", "mov ecx, ebx"], ["0x100152b0", "call dword ptr [edi + 0x60]"], ["0x100152b3", "cmp al, byte ptr [esi + 0xc]"]], "recomp": [["0x1001529e", "mov ecx, edi"], ["0x100152a0", "call dword ptr [esi + 0x60]"], ["0x100152a3", "cmp al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x100152b6", "je 0xf", "0x100152a6"], ["0x100152b8", "call UserActor (FUNCTION)", "0x100152a8"], ["0x100152bd", "mov ecx, eax", "0x100152ad"], ["0x100152bf", "mov eax, dword ptr [eax]", "0x100152af"], ["0x100152c1", "call dword ptr [eax + 0xe4]", "0x100152b1"], ["0x100152c7", "push 0", "0x100152b7"], ["0x100152c9", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100152b9"], ["0x100152ce", "push eax", "0x100152be"], ["0x100152cf", "call FindWorld (FUNCTION)", "0x100152bf"], ["0x100152d4", "add esp, 8", "0x100152c4"]]}]]]}, {"address": "0x10015310", "recomp": "0x10015300", "name": "PoliceEntity::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001531a,26 +0x1001530a,26 @@", [{"both": [["0x1001531a", "je 0x83", "0x1001530a"], ["0x10015320", "push 'Act1State' (STRING)", "0x10015310"], ["0x10015325", "call GameState (FUNCTION)", "0x10015315"], ["0x1001532a", "mov ecx, eax", "0x1001531a"], ["0x1001532c", "call LegoGameState::GetState (FUNCTION)", "0x1001531c"], ["0x10015331", "cmp dword ptr [eax + 0x18], 0xa", "0x10015321"], ["0x10015335", "je 0x6c", "0x10015325"], ["0x10015337", "mov dword ptr [eax + 0x18], 0", "0x10015327"], ["0x1001533e", "call UserActor (FUNCTION)", "0x1001532e"], ["0x10015343", "mov esi, dword ptr [eax]", "0x10015333"]]}, {"orig": [], "recomp": [["0x10015335", "mov edi, eax"], ["0x10015337", "call GameState (FUNCTION)"]]}, {"both": [["0x10015345", "mov ebx, eax", "0x1001533c"]]}, {"orig": [["0x10015347", "call GameState (FUNCTION)"], ["0x1001534c", "mov edi, eax"], ["0x1001534e", "mov ecx, ebx"]], "recomp": [["0x1001533e", "mov ecx, edi"]]}, {"both": [["0x10015350", "call dword ptr [esi + 0x60]", "0x10015340"]]}, {"orig": [["0x10015353", "cmp al, byte ptr [edi + 0xc]"]], "recomp": [["0x10015343", "cmp al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x10015356", "je 0xf", "0x10015346"], ["0x10015358", "call UserActor (FUNCTION)", "0x10015348"], ["0x1001535d", "mov ecx, eax", "0x1001534d"], ["0x1001535f", "mov eax, dword ptr [eax]", "0x1001534f"], ["0x10015361", "call dword ptr [eax + 0xe4]", "0x10015351"], ["0x10015367", "push 0", "0x10015357"], ["0x10015369", "mov eax, dword ptr [g_isleScript (DATA)]", "0x10015359"], ["0x1001536e", "push eax", "0x1001535e"], ["0x1001536f", "call FindWorld (FUNCTION)", "0x1001535f"], ["0x10015374", "add esp, 8", "0x10015364"]]}]]]}, {"address": "0x100153b0", "recomp": "0x100153a0", "name": "BeachHouseEntity::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x100153b2,27 +0x100153a2,27 @@", [{"both": [["0x100153b2", "push edi", "0x100153a2"], ["0x100153b3", "call FUN_1003ef60 (FUNCTION)", "0x100153a3"], ["0x100153b8", "test al, al", "0x100153a8"], ["0x100153ba", "je 0x7d", "0x100153aa"], ["0x100153bc", "push 'Act1State' (STRING)", "0x100153ac"], ["0x100153c1", "call GameState (FUNCTION)", "0x100153b1"], ["0x100153c6", "mov ecx, eax", "0x100153b6"], ["0x100153c8", "call LegoGameState::GetState (FUNCTION)", "0x100153b8"], ["0x100153cd", "mov dword ptr [eax + 0x18], 0", "0x100153bd"], ["0x100153d4", "call UserActor (FUNCTION)", "0x100153c4"]]}, {"orig": [["0x100153d9", "mov esi, dword ptr [eax]"], ["0x100153db", "mov edi, eax"]], "recomp": [["0x100153c9", "mov edi, dword ptr [eax]"], ["0x100153cb", "mov ebx, eax"]]}, {"both": [["0x100153dd", "call GameState (FUNCTION)", "0x100153cd"]]}, {"orig": [["0x100153e2", "mov ebx, eax"], ["0x100153e4", "mov ecx, edi"], ["0x100153e6", "call dword ptr [esi + 0x60]"], ["0x100153e9", "cmp al, byte ptr [ebx + 0xc]"]], "recomp": [["0x100153d2", "mov esi, eax"], ["0x100153d4", "mov ecx, ebx"], ["0x100153d6", "call dword ptr [edi + 0x60]"], ["0x100153d9", "cmp al, byte ptr [esi + 0xc]"]]}, {"both": [["0x100153ec", "je 0xf", "0x100153dc"], ["0x100153ee", "call UserActor (FUNCTION)", "0x100153de"], ["0x100153f3", "mov edx, dword ptr [eax]", "0x100153e3"], ["0x100153f5", "mov ecx, eax", "0x100153e5"], ["0x100153f7", "call dword ptr [edx + 0xe4]", "0x100153e7"], ["0x100153fd", "push 0", "0x100153ed"], ["0x100153ff", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100153ef"], ["0x10015404", "push eax", "0x100153f4"], ["0x10015405", "call FindWorld (FUNCTION)", "0x100153f5"], ["0x1001540a", "add esp, 8", "0x100153fa"]]}]]]}, {"address": "0x10015450", "recomp": "0x10015440", "name": "RaceStandsEntity::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x10015452,27 +0x10015442,27 @@", [{"both": [["0x10015452", "push edi", "0x10015442"], ["0x10015453", "call FUN_1003ef60 (FUNCTION)", "0x10015443"], ["0x10015458", "test al, al", "0x10015448"], ["0x1001545a", "je 0x7d", "0x1001544a"], ["0x1001545c", "push 'Act1State' (STRING)", "0x1001544c"], ["0x10015461", "call GameState (FUNCTION)", "0x10015451"], ["0x10015466", "mov ecx, eax", "0x10015456"], ["0x10015468", "call LegoGameState::GetState (FUNCTION)", "0x10015458"], ["0x1001546d", "mov dword ptr [eax + 0x18], 0", "0x1001545d"], ["0x10015474", "call UserActor (FUNCTION)", "0x10015464"]]}, {"orig": [["0x10015479", "mov esi, dword ptr [eax]"], ["0x1001547b", "mov edi, eax"]], "recomp": [["0x10015469", "mov edi, dword ptr [eax]"], ["0x1001546b", "mov ebx, eax"]]}, {"both": [["0x1001547d", "call GameState (FUNCTION)", "0x1001546d"]]}, {"orig": [["0x10015482", "mov ebx, eax"], ["0x10015484", "mov ecx, edi"], ["0x10015486", "call dword ptr [esi + 0x60]"], ["0x10015489", "cmp al, byte ptr [ebx + 0xc]"]], "recomp": [["0x10015472", "mov esi, eax"], ["0x10015474", "mov ecx, ebx"], ["0x10015476", "call dword ptr [edi + 0x60]"], ["0x10015479", "cmp al, byte ptr [esi + 0xc]"]]}, {"both": [["0x1001548c", "je 0xf", "0x1001547c"], ["0x1001548e", "call UserActor (FUNCTION)", "0x1001547e"], ["0x10015493", "mov edx, dword ptr [eax]", "0x10015483"], ["0x10015495", "mov ecx, eax", "0x10015485"], ["0x10015497", "call dword ptr [edx + 0xe4]", "0x10015487"], ["0x1001549d", "push 0", "0x1001548d"], ["0x1001549f", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001548f"], ["0x100154a4", "push eax", "0x10015494"], ["0x100154a5", "call FindWorld (FUNCTION)", "0x10015495"], ["0x100154aa", "add esp, 8", "0x1001549a"]]}]]]}, {"address": "0x100154f0", "recomp": "0x100154e0", "name": "JailEntity::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10015520", "recomp": "0x10015510", "name": "CaveEntity::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10015700", "recomp": "0x100156f0", "name": "Lego", "matching": 1.0, "diff": []}, {"address": "0x10015710", "recomp": "0x10015700", "name": "SoundManager", "matching": 1.0, "diff": []}, {"address": "0x10015720", "recomp": "0x10015710", "name": "VideoManager", "matching": 1.0, "diff": []}, {"address": "0x10015730", "recomp": "0x10015720", "name": "BackgroundAudioManager", "matching": 1.0, "diff": []}, {"address": "0x10015740", "recomp": "0x10015730", "name": "InputManager", "matching": 1.0, "diff": []}, {"address": "0x10015750", "recomp": "0x10015740", "name": "ControlManager", "matching": 1.0, "diff": []}, {"address": "0x10015760", "recomp": "0x10015750", "name": "GameState", "matching": 1.0, "diff": []}, {"address": "0x10015770", "recomp": "0x10015760", "name": "AnimationManager", "matching": 1.0, "diff": []}, {"address": "0x10015780", "recomp": "0x10015770", "name": "NavController", "matching": 1.0, "diff": []}, {"address": "0x10015790", "recomp": "0x10015780", "name": "UserActor", "matching": 1.0, "diff": []}, {"address": "0x100157a0", "recomp": "0x10015790", "name": "CurrentWorld", "matching": 1.0, "diff": []}, {"address": "0x100157b0", "recomp": "0x100157a0", "name": "CharacterManager", "matching": 1.0, "diff": []}, {"address": "0x100157c0", "recomp": "0x100157b0", "name": "GetViewManager", "matching": 1.0, "diff": []}, {"address": "0x100157e0", "recomp": "0x100157d0", "name": "PlantManager", "matching": 1.0, "diff": []}, {"address": "0x100157f0", "recomp": "0x100157e0", "name": "BuildingManager", "matching": 1.0, "diff": []}, {"address": "0x10015800", "recomp": "0x100157f0", "name": "TextureContainer", "matching": 1.0, "diff": []}, {"address": "0x10015810", "recomp": "0x10015800", "name": "GetViewLODListManager", "matching": 1.0, "diff": []}, {"address": "0x10015820", "recomp": "0x10015810", "name": "FUN_10015820", "matching": 1.0, "diff": []}, {"address": "0x10015840", "recomp": "0x10015830", "name": "FindROI", "matching": 1.0, "diff": []}, {"address": "0x10015860", "recomp": "0x10015850", "name": "SetROIVisible", "matching": 1.0, "diff": []}, {"address": "0x10015880", "recomp": "0x10015870", "name": "SetUserActor", "matching": 1.0, "diff": []}, {"address": "0x10015890", "recomp": "0x10015880", "name": "StartActionIfUnknown0x13c", "matching": 1.0, "diff": []}, {"address": "0x100158b0", "recomp": "0x100158a0", "name": "DeleteAction", "matching": 1.0, "diff": []}, {"address": "0x100158c0", "recomp": "0x100158b0", "name": "FindWorld", "matching": 1.0, "diff": []}, {"address": "0x100158e0", "recomp": "0x100158d0", "name": "GetCurrentAction", "matching": 1.0, "diff": []}, {"address": "0x100158f0", "recomp": "0x100158e0", "name": "SetCurrentWorld", "matching": 1.0, "diff": []}, {"address": "0x10015900", "recomp": "0x100158f0", "name": "TransitionManager", "matching": 1.0, "diff": []}, {"address": "0x10015910", "recomp": "0x10015900", "name": "PlayMusic", "matching": 1.0, "diff": []}, {"address": "0x100159c0", "recomp": "0x100159b0", "name": "SetIsWorldActive", "matching": 1.0, "diff": []}, {"address": "0x100159e0", "recomp": "0x100159d0", "name": "DeleteObjects", "matching": 1.0, "diff": []}, {"address": "0x10015aa0", "recomp": "0x10015a90", "name": "LegoRace::LegoRace", "matching": 1.0, "diff": []}, {"address": "0x10015b70", "recomp": "0x10015b60", "name": "LegoRace::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x10015b80", "recomp": "0x10015b70", "name": "LegoRace::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x10015b90", "recomp": "0x10015b80", "name": "LegoRace::Escape", "matching": 1.0, "diff": []}, {"address": "0x10015ba0", "recomp": "0x10015b90", "name": "LegoRace::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10015bb0", "recomp": "0x10015ba0", "name": "LegoRace::IsA", "matching": 1.0, "diff": []}, {"address": "0x10015cc0", "recomp": "0x10015cb0", "name": "LegoRace::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10015ce0", "recomp": "0x10015cd0", "name": "LegoRace::Create", "matching": 1.0, "diff": []}, {"address": "0x10015d40", "recomp": "0x10015d30", "name": "LegoRace::~LegoRace", "matching": 1.0, "diff": []}, {"address": "0x10015e00", "recomp": "0x10015df0", "name": "LegoRace::Notify", "matching": 1.0, "effective": true, "diff": [["@@ -0x10015ead,24 +0x10015e9d,24 @@", [{"both": [["0x10015ead", "0x5", "0x10015e9d"], ["0x10015eae", "0x1", "0x10015e9e"], ["0x10015eaf", "0x5", "0x10015e9f"], ["0x10015eb0", "0x5", "0x10015ea0"], ["0x10015eb1", "0x5", "0x10015ea1"], ["0x10015eb2", "0x5", "0x10015ea2"], ["0x10015eb3", "0x5", "0x10015ea3"], ["0x10015eb4", "0x5", "0x10015ea4"], ["0x10015eb5", "0x5", "0x10015ea5"], ["0x10015eb6", "0x5", "0x10015ea6"]]}, {"orig": [], "recomp": [["0x10015ea7", "0x2"]]}, {"both": [["0x10015eb7", "0x5", "0x10015ea8"], ["0x10015eb8", "0x5", "0x10015ea9"], ["0x10015eb9", "0x5", "0x10015eaa"], ["0x10015eba", "0x5", "0x10015eab"], ["0x10015ebb", "0x5", "0x10015eac"], ["0x10015ebc", "0x5", "0x10015ead"]]}, {"orig": [["0x10015ebd", "0x2"]], "recomp": []}, {"both": [["0x10015ebe", "0x5", "0x10015eae"], ["0x10015ebf", "0x3", "0x10015eaf"], ["0x10015ec0", "0x5", "0x10015eb0"], ["0x10015ec1", "0x5", "0x10015eb1"], ["0x10015ec2", "0x5", "0x10015eb2"], ["0x10015ec3", "0x5", "0x10015eb3"], ["0x10015ec4", "0x4", "0x10015eb4"]]}]]]}, {"address": "0x10015ed0", "recomp": "0x10015ec0", "name": "LegoRace::Enable", "matching": 1.0, "diff": []}, {"address": "0x10015f30", "recomp": "0x10015f20", "name": "RaceState::RaceState", "matching": 1.0, "diff": []}, {"address": "0x10016000", "recomp": "0x10015ff0", "name": "RaceState::Entry::Entry", "matching": 1.0, "diff": []}, {"address": "0x10016010", "recomp": "0x10016000", "name": "RaceState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10016020", "recomp": "0x10016010", "name": "RaceState::IsA", "matching": 1.0, "diff": []}, {"address": "0x100160d0", "recomp": "0x100160c0", "name": "RaceState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10016140", "recomp": "0x10016130", "name": "RaceState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10016280", "recomp": "0x10016270", "name": "RaceState::GetState", "matching": 1.0, "diff": []}, {"address": "0x100162c0", "recomp": "0x100162b0", "name": "JetskiRace::Create", "matching": 0.9154929577464789, "diff": [["@@ -0x10016312,38 +0x10016302,38 @@", [{"both": [["0x10016312", "mov dword ptr [esi + 0x140], eax", "0x10016302"], ["0x10016318", "test eax, eax", "0x10016308"], ["0x1001631a", "jne 0xc", "0x1001630a"], ["0x1001631c", "mov eax, 0xffffffff", "0x1001630c"], ["0x10016321", "pop ebp", "0x10016311"], ["0x10016322", "pop edi", "0x10016312"], ["0x10016323", "pop esi", "0x10016313"], ["0x10016324", "pop ebx", "0x10016314"], ["0x10016325", "ret 4", "0x10016315"], ["0x10016328", "mov ebx, 1", "0x10016318"]]}, {"orig": [], "recomp": [["0x1001631d", "add esi, 0xc"]]}, {"both": [["0x1001632d", "mov dword ptr [eax + 0x28], ebx", "0x10016320"]]}, {"orig": [["0x10016330", "mov dword ptr [esi + 0x130], 0x18d"], ["0x1001633a", "mov dword ptr [esi + 0x134], 0x13d"], ["0x10016344", "mov dword ptr [esi + 0x138], 0x21f"], ["0x1001634e", "mov dword ptr [esi + 0x13c], 0x14d"]], "recomp": [["0x10016323", "mov dword ptr [esi + 0x124], 0x18d"], ["0x1001632d", "mov dword ptr [esi + 0x128], 0x13d"], ["0x10016337", "mov dword ptr [esi + 0x12c], 0x21f"], ["0x10016341", "mov dword ptr [esi + 0x130], 0x14d"]]}, {"both": [["0x10016358", "call LegoRaceCar::FUN_10013670 (FUNCTION)", "0x1001634b"]]}, {"orig": [], "recomp": [["0x10016350", "push 0"]]}, {"both": [["0x1001635d", "mov eax, dword ptr [g_varJSWNSHY5 (DATA)]", "0x10016352"], ["0x10016362", "push eax", "0x10016357"], ["0x10016363", "call DuneBuggy::GetColorOffset (FUNCTION)", "0x10016358"], ["0x10016368", "add esp, 4", "0x1001635d"], ["0x1001636b", "lea ebp, [eax + eax*4 + 0xf]", "0x10016360"], ["0x1001636f", "mov eax, dword ptr [g_varJSFRNTY5 (DATA)]", "0x10016364"]]}, {"orig": [["0x10016374", "add esi, 0xc"]], "recomp": []}, {"both": [["0x10016377", "push eax", "0x10016369"], ["0x10016378", "call DuneBuggy::GetColorOffset (FUNCTION)", "0x1001636a"], ["0x1001637d", "add esp, 4", "0x1001636f"], ["0x10016380", "lea eax, [eax + ebp*2]", "0x10016372"]]}, {"orig": [["0x10016383", "push 0"]], "recomp": []}, {"both": [["0x10016385", "push eax", "0x10016375"], ["0x10016386", "push esi", "0x10016376"], ["0x10016387", "push 4", "0x10016377"], ["0x10016389", "call InvokeAction (FUNCTION)", "0x10016379"], ["0x1001638e", "add esp, 0x10", "0x1001637e"], ["0x10016391", "push 0", "0x10016381"], ["0x10016393", "push 0x61", "0x10016383"], ["0x10016395", "push esi", "0x10016385"], ["0x10016396", "push 4", "0x10016386"], ["0x10016398", "call InvokeAction (FUNCTION)", "0x10016388"]]}]]]}, {"address": "0x100163b0", "recomp": "0x100163a0", "name": "JetskiRace::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x10016520", "recomp": "0x10016510", "name": "JetskiRace::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x100165a0", "recomp": "0x10016590", "name": "JetskiRace::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x10016636,27 +0x10016626,27 @@", [{"both": [["0x10016636", "push '' (STRING)", "0x10016626"], ["0x1001663b", "mov dword ptr [eax + 0x18], 0", "0x1001662b"], ["0x10016642", "mov ecx, dword ptr [g_raceState (DATA)]", "0x10016632"], ["0x10016648", "push ecx", "0x10016638"], ["0x10016649", "call VariableTable (FUNCTION)", "0x10016639"], ["0x1001664e", "mov ecx, eax", "0x1001663e"], ["0x10016650", "call MxVariableTable::SetVariable (FUNCTION)", "0x10016640"], ["0x10016655", "push '' (STRING)", "0x10016645"], ["0x1001665a", "mov ecx, dword ptr [g_strHIT_WALL_SOUND (DATA)]", "0x1001664a"], ["0x10016660", "push ecx", "0x10016650"]]}, {"orig": [], "recomp": [["0x10016651", "mov edi, 1"]]}, {"both": [["0x10016661", "call VariableTable (FUNCTION)", "0x10016656"], ["0x10016666", "mov ecx, eax", "0x1001665b"], ["0x10016668", "call MxVariableTable::SetVariable (FUNCTION)", "0x1001665d"], ["0x1001666d", "call LegoRaceCar::FUN_10012de0 (FUNCTION)", "0x10016662"], ["0x10016672", "mov dword ptr [esi + 0x11c], 2", "0x10016667"], ["0x1001667c", "push 0", "0x10016671"], ["0x1001667e", "push 0", "0x10016673"], ["0x10016680", "push 0x32", "0x10016675"]]}, {"orig": [["0x10016682", "mov edi, 1"]], "recomp": []}, {"both": [["0x10016687", "push 3", "0x10016677"], ["0x10016689", "call TransitionManager (FUNCTION)", "0x10016679"], ["0x1001668e", "mov ecx, eax", "0x1001667e"], ["0x10016690", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10016680"], ["0x10016695", "mov eax, edi", "0x10016685"], ["0x10016697", "pop edi", "0x10016687"], ["0x10016698", "pop esi", "0x10016688"], ["0x10016699", "ret 4", "0x10016689"]]}]]]}, {"address": "0x100166a0", "recomp": "0x10016690", "name": "JetskiRace::HandlePathStruct", "matching": 0.8313253012048193, "diff": [["@@ -0x100166a0,38 +0x10016690,38 @@", [{"both": [["0x100166a0", "sub esp, 0x14", "0x10016690"], ["0x100166a3", "push ebx", "0x10016693"], ["0x100166a4", "push esi", "0x10016694"], ["0x100166a5", "push edi", "0x10016695"], ["0x100166a6", "mov esi, ecx", "0x10016696"], ["0x100166a8", "push ebp", "0x10016698"], ["0x100166a9", "xor edi, edi", "0x10016699"]]}, {"orig": [["0x100166ab", "mov ebp, dword ptr [esp + 0x28]"], ["0x100166af", "cmp byte ptr [ebp + 0xe], 0x44"], ["0x100166b3", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x1001669b", "mov ebx, dword ptr [esp + 0x28]"], ["0x1001669f", "cmp byte ptr [ebx + 0xe], 0x44"], ["0x100166a3", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x100166b6", "jne 0x25d", "0x100166a6"]]}, {"orig": [["0x100166bc", "movsx ebx, word ptr [ebp + 0xc]"]], "recomp": [["0x100166ac", "movsx ebp, word ptr [ebx + 0xc]"]]}, {"both": [["0x100166c0", "mov eax, dword ptr [eax + 8]", "0x100166b0"], ["0x100166c3", "cmp eax, 0xa", "0x100166b3"], ["0x100166c6", "je 0x17", "0x100166b6"], ["0x100166c8", "cmp eax, 0xb", "0x100166b8"], ["0x100166cb", "je 0x1a4", "0x100166bb"], ["0x100166d1", "cmp eax, 0xc", "0x100166c1"], ["0x100166d4", "je 0x1ea", "0x100166c4"], ["0x100166da", "jmp 0x23a", "0x100166ca"], ["0x100166df", "mov eax, dword ptr [esi + 0x104]", "0x100166cf"]]}, {"orig": [["0x100166e5", "cmp ebx, eax"], ["0x100166e7", "jle 0x22c"]], "recomp": [["0x100166d5", "cmp eax, ebp"], ["0x100166d7", "jge 0x22c"]]}, {"both": [["0x100166ed", "add eax, 5", "0x100166dd"]]}, {"orig": [["0x100166f0", "cmp eax, ebx"]], "recomp": [["0x100166e0", "cmp eax, ebp"]]}, {"both": [["0x100166f2", "jle 0x221", "0x100166e2"], ["0x100166f8", "fild dword ptr [esi + 0xf8]", "0x100166e8"]]}, {"orig": [["0x100166fe", "mov dword ptr [esi + 0x104], ebx"]], "recomp": [["0x100166ee", "mov dword ptr [esi + 0x104], ebp"]]}, {"both": [["0x10016704", "fmul qword ptr [20.0 (FLOAT)]", "0x100166f4"], ["0x1001670a", "sub esp, 8", "0x100166fa"], ["0x1001670d", "fiadd dword ptr [esi + 0x104]", "0x100166fd"], ["0x10016713", "fild dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)]", "0x10016703"], ["0x10016719", "lea edx, [esp + 0x18]", "0x10016709"], ["0x1001671d", "push '%g' (STRING)", "0x1001670d"], ["0x10016722", "push edx", "0x10016712"], ["0x10016723", "fmul qword ptr [20.0 (FLOAT)]", "0x10016713"], ["0x10016729", "fdivp st(1)", "0x10016719"], ["0x1001672b", "fmul qword ptr [0.936 (FLOAT)]", "0x1001671b"]]}]], ["@@ -0x1001674d,31 +0x1001673d,31 @@", [{"both": [["0x1001674d", "call VariableTable (FUNCTION)", "0x1001673d"], ["0x10016752", "mov ecx, eax", "0x10016742"], ["0x10016754", "call MxVariableTable::SetVariable (FUNCTION)", "0x10016744"], ["0x10016759", "mov eax, dword ptr [esi + 0x104]", "0x10016749"], ["0x1001675f", "cmp eax, 0x14", "0x1001674f"], ["0x10016762", "jne 0xdc", "0x10016752"], ["0x10016768", "mov dword ptr [esi + 0x104], 0", "0x10016758"], ["0x10016772", "mov ecx, dword ptr [esi + 0xf8]", "0x10016762"], ["0x10016778", "inc ecx", "0x10016768"], ["0x10016779", "mov dword ptr [esi + 0xf8], ecx", "0x10016769"]]}, {"orig": [["0x1001677f", "cmp dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)], ecx"]], "recomp": [["0x1001676f", "cmp ecx, dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)]"]]}, {"both": [["0x10016785", "jne 0xaf", "0x10016775"], ["0x1001678b", "mov eax, dword ptr [esi + 0xfc]", "0x1001677b"]]}, {"orig": [["0x10016791", "cmp eax, ecx"], ["0x10016793", "jge 0x13"]], "recomp": [["0x10016781", "cmp ecx, eax"], ["0x10016783", "jle 0x13"]]}, {"both": [["0x10016795", "cmp dword ptr [esi + 0x100], ecx", "0x10016785"], ["0x1001679b", "jge 0x7", "0x1001678b"], ["0x1001679d", "mov edi, 3", "0x1001678d"], ["0x100167a2", "jmp 0x16", "0x10016792"]]}, {"orig": [["0x100167a4", "cmp eax, ecx"], ["0x100167a6", "jl 0xd"]], "recomp": [["0x10016794", "cmp ecx, eax"], ["0x10016796", "jg 0xd"]]}, {"both": [["0x100167a8", "mov edi, 1", "0x10016798"], ["0x100167ad", "cmp dword ptr [esi + 0x100], ecx", "0x1001679d"], ["0x100167b3", "jge 0x5", "0x100167a3"], ["0x100167b5", "mov edi, 2", "0x100167a5"], ["0x100167ba", "push '' (STRING)", "0x100167aa"], ["0x100167bf", "mov eax, dword ptr [g_raceState (DATA)]", "0x100167af"], ["0x100167c4", "push eax", "0x100167b4"], ["0x100167c5", "call VariableTable (FUNCTION)", "0x100167b5"], ["0x100167ca", "mov ecx, eax", "0x100167ba"], ["0x100167cc", "call MxVariableTable::SetVariable (FUNCTION)", "0x100167bc"]]}]], ["@@ -0x10016853,59 +0x10016843,59 @@", [{"both": [["0x10016853", "lea ecx, [eax + eax*4]", "0x10016843"], ["0x10016856", "mov edi, 1", "0x10016846"], ["0x1001685b", "lea eax, [ecx + ecx*4]", "0x1001684b"], ["0x1001685e", "mov ecx, dword ptr [esi + 0xf0]", "0x1001684e"], ["0x10016864", "shl eax, 3", "0x10016854"], ["0x10016867", "add eax, 0x64", "0x10016857"], ["0x1001686a", "push eax", "0x1001685a"], ["0x1001686b", "call LegoHideAnimPresenter::FUN_1006db40 (FUNCTION)", "0x1001685b"], ["0x10016870", "jmp 0xa4", "0x10016860"], ["0x10016875", "mov eax, dword ptr [esi + 0x108]", "0x10016865"]]}, {"orig": [["0x1001687b", "cmp ebx, eax"], ["0x1001687d", "jle 0x96"]], "recomp": [["0x1001686b", "cmp eax, ebp"], ["0x1001686d", "jge 0x96"]]}, {"both": [["0x10016883", "add eax, 5", "0x10016873"]]}, {"orig": [["0x10016886", "cmp eax, ebx"]], "recomp": [["0x10016876", "cmp eax, ebp"]]}, {"both": [["0x10016888", "jle 0x8b", "0x10016878"]]}, {"orig": [["0x1001688e", "push ebx"]], "recomp": [["0x1001687e", "push ebp"]]}, {"both": [["0x1001688f", "mov ecx, esi", "0x1001687f"], ["0x10016891", "push 0xb", "0x10016881"], ["0x10016893", "call JetskiRace::FUN_10016930 (FUNCTION)", "0x10016883"]]}, {"orig": [["0x10016898", "mov dword ptr [esi + 0x108], ebx"], ["0x1001689e", "cmp ebx, 0x14"]], "recomp": [["0x10016888", "mov dword ptr [esi + 0x108], ebp"], ["0x1001688e", "cmp ebp, 0x14"]]}, {"both": [["0x100168a1", "jne 0x76", "0x10016891"], ["0x100168a3", "mov dword ptr [esi + 0x108], 0", "0x10016893"], ["0x100168ad", "mov eax, dword ptr [esi + 0xfc]", "0x1001689d"], ["0x100168b3", "inc eax", "0x100168a3"], ["0x100168b4", "mov dword ptr [esi + 0xfc], eax", "0x100168a4"]]}, {"orig": [["0x100168ba", "cmp dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)], eax"]], "recomp": [["0x100168aa", "cmp eax, dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)]"]]}, {"both": [["0x100168c0", "jne 0x57", "0x100168b0"], ["0x100168c2", "jmp 0x45", "0x100168b2"], ["0x100168c4", "mov eax, dword ptr [esi + 0x10c]", "0x100168b4"]]}, {"orig": [["0x100168ca", "cmp ebx, eax"], ["0x100168cc", "jle 0x4b"]], "recomp": [["0x100168ba", "cmp eax, ebp"], ["0x100168bc", "jge 0x4b"]]}, {"both": [["0x100168ce", "add eax, 5", "0x100168be"]]}, {"orig": [["0x100168d1", "cmp eax, ebx"]], "recomp": [["0x100168c1", "cmp eax, ebp"]]}, {"both": [["0x100168d3", "jle 0x44", "0x100168c3"]]}, {"orig": [["0x100168d5", "push ebx"]], "recomp": [["0x100168c5", "push ebp"]]}, {"both": [["0x100168d6", "mov ecx, esi", "0x100168c6"], ["0x100168d8", "push 0xc", "0x100168c8"], ["0x100168da", "call JetskiRace::FUN_10016930 (FUNCTION)", "0x100168ca"]]}, {"orig": [["0x100168df", "mov dword ptr [esi + 0x10c], ebx"], ["0x100168e5", "cmp ebx, 0x14"]], "recomp": [["0x100168cf", "mov dword ptr [esi + 0x10c], ebp"], ["0x100168d5", "cmp ebp, 0x14"]]}, {"both": [["0x100168e8", "jne 0x2f", "0x100168d8"], ["0x100168ea", "mov dword ptr [esi + 0x10c], 0", "0x100168da"], ["0x100168f4", "mov eax, dword ptr [esi + 0x100]", "0x100168e4"], ["0x100168fa", "inc eax", "0x100168ea"], ["0x100168fb", "mov dword ptr [esi + 0x100], eax", "0x100168eb"]]}, {"orig": [["0x10016901", "cmp dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)], eax"]], "recomp": [["0x100168f1", "cmp eax, dword ptr [JetskiRace::g_unk0x100f0c78 (DATA)]"]]}, {"both": [["0x10016907", "jne 0x10", "0x100168f7"]]}, {"orig": [["0x10016909", "mov ecx, dword ptr [ebp + 8]"]], "recomp": [["0x100168f9", "mov ecx, dword ptr [ebx + 8]"]]}, {"both": [["0x1001690c", "push 0x3dcccccd", "0x100168fc"], ["0x10016911", "mov eax, dword ptr [ecx]", "0x10016901"], ["0x10016913", "call dword ptr [eax + 0xac]", "0x10016903"], ["0x10016919", "mov eax, edi", "0x10016909"], ["0x1001691b", "pop ebp", "0x1001690b"], ["0x1001691c", "pop edi", "0x1001690c"], ["0x1001691d", "pop esi", "0x1001690d"], ["0x1001691e", "pop ebx", "0x1001690e"], ["0x1001691f", "add esp, 0x14", "0x1001690f"], ["0x10016922", "ret 4", "0x10016912"]]}]]]}, {"address": "0x10016930", "recomp": "0x10016920", "name": "JetskiRace::FUN_10016930", "matching": 1.0, "diff": []}, {"address": "0x10016a10", "recomp": "0x10016a00", "name": "JetskiRace::Escape", "matching": 1.0, "diff": []}, {"address": "0x10016a90", "recomp": "0x10016a80", "name": "CarRace::CarRace", "matching": 1.0, "diff": []}, {"address": "0x10016b20", "recomp": "0x10016b10", "name": "CarRace::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10016b30", "recomp": "0x10016b20", "name": "CarRace::IsA", "matching": 1.0, "diff": []}, {"address": "0x10016c70", "recomp": "0x10016c60", "name": "CarRace::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10016ce0", "recomp": "0x10016cd0", "name": "CarRace::Create", "matching": 1.0, "diff": []}, {"address": "0x10016dd0", "recomp": "0x10016dc0", "name": "CarRace::ReadyWorld", "matching": 1.0, "effective": true, "diff": [["@@ -0x10016e66,29 +0x10016e56,29 @@", [{"both": [["0x10016e66", "call LegoAnimationManager::Resume (FUNCTION)", "0x10016e56"], ["0x10016e6b", "push 7", "0x10016e5b"], ["0x10016e6d", "push 0", "0x10016e5d"], ["0x10016e6f", "call FUN_10015820 (FUNCTION)", "0x10016e5f"], ["0x10016e74", "add esp, 8", "0x10016e64"], ["0x10016e77", "call _rand (FUNCTION)", "0x10016e67"], ["0x10016e7c", "and eax, 7", "0x10016e6c"], ["0x10016e7f", "mov edx, dword ptr [ebp - 0x10]", "0x10016e6f"], ["0x10016e82", "push 1", "0x10016e72"], ["0x10016e84", "push 0", "0x10016e74"]]}, {"orig": [["0x10016e86", "mov eax, dword ptr [eax*4 + CarRace::g_unk0x100d5d10[0] (DATA)]"]], "recomp": [["0x10016e76", "mov ecx, dword ptr [eax*4 + CarRace::g_unk0x100d5d10[0] (DATA)]"]]}, {"both": [["0x10016e8d", "push 1", "0x10016e7d"], ["0x10016e8f", "push 0", "0x10016e7f"]]}, {"orig": [["0x10016e91", "mov dword ptr [edx + 0x144], eax"]], "recomp": [["0x10016e81", "mov dword ptr [edx + 0x144], ecx"]]}, {"both": [["0x10016e97", "push 0", "0x10016e87"], ["0x10016e99", "push 0", "0x10016e89"], ["0x10016e9b", "push 1", "0x10016e8b"], ["0x10016e9d", "push 0", "0x10016e8d"]]}, {"orig": [["0x10016e9f", "push eax"]], "recomp": [["0x10016e8f", "push ecx"]]}, {"both": [["0x10016ea0", "call AnimationManager (FUNCTION)", "0x10016e90"], ["0x10016ea5", "mov ecx, eax", "0x10016e95"], ["0x10016ea7", "call LegoAnimationManager::FUN_10060dc0 (FUNCTION)", "0x10016e97"], ["0x10016eac", "push 'CarLocator2' (STRING)", "0x10016e9c"], ["0x10016eb1", "push 'MxPresenter' (STRING)", "0x10016ea1"], ["0x10016eb6", "mov ecx, dword ptr [ebp - 0x10]", "0x10016ea6"], ["0x10016eb9", "call LegoWorld::Find (FUNCTION)", "0x10016ea9"], ["0x10016ebe", "mov edx, dword ptr [ebp - 0x10]", "0x10016eae"], ["0x10016ec1", "mov ecx, eax", "0x10016eb1"], ["0x10016ec3", "mov dword ptr [edx + 0x128], eax", "0x10016eb3"]]}]]]}, {"address": "0x10016f60", "recomp": "0x10016f50", "name": "CarRace::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x100170e0", "recomp": "0x100170d0", "name": "CarRace::HandlePathStruct", "matching": 0.9298486932599724, "diff": [["@@ -0x100170e0,36 +0x100170d0,36 @@", [{"both": [["0x100170e0", "sub esp, 0x14", "0x100170d0"], ["0x100170e3", "mov eax, dword ptr [esp + 0x18]", "0x100170d3"], ["0x100170e7", "push ebx", "0x100170d7"], ["0x100170e8", "push esi", "0x100170d8"], ["0x100170e9", "push edi", "0x100170d9"], ["0x100170ea", "push ebp", "0x100170da"], ["0x100170eb", "mov esi, ecx", "0x100170db"], ["0x100170ed", "xor edi, edi", "0x100170dd"], ["0x100170ef", "cmp byte ptr [eax + 0xe], 0x44", "0x100170df"]]}, {"orig": [["0x100170f3", "jne 0x54a"]], "recomp": [["0x100170e3", "jne 0x550"]]}, {"both": [["0x100170f9", "movsx ebx, word ptr [eax + 0xc]", "0x100170e9"], ["0x100170fd", "mov eax, dword ptr [eax + 8]", "0x100170ed"], ["0x10017100", "mov eax, dword ptr [eax + 8]", "0x100170f0"], ["0x10017103", "cmp eax, 0xa", "0x100170f3"], ["0x10017106", "je 0x17", "0x100170f6"], ["0x10017108", "cmp eax, 0xb", "0x100170f8"]]}, {"orig": [["0x1001710b", "je 0x38e"]], "recomp": [["0x100170fb", "je 0x394"]]}, {"both": [["0x10017111", "cmp eax, 0xc", "0x10017101"]]}, {"orig": [["0x10017114", "je 0x45c"], ["0x1001711a", "jmp 0x524"]], "recomp": [["0x10017104", "je 0x462"], ["0x1001710a", "jmp 0x52a"]]}, {"both": [["0x1001711f", "mov eax, dword ptr [esi + 0x104]", "0x1001710f"], ["0x10017125", "cmp ebx, eax", "0x10017115"]]}, {"orig": [["0x10017127", "jle 0x516"]], "recomp": [["0x10017117", "jle 0x51c"]]}, {"both": [["0x1001712d", "add eax, 5", "0x1001711d"], ["0x10017130", "cmp eax, ebx", "0x10017120"]]}, {"orig": [["0x10017132", "jle 0x50b"]], "recomp": [["0x10017122", "jle 0x511"]]}, {"both": [["0x10017138", "fild dword ptr [esi + 0xf8]", "0x10017128"], ["0x1001713e", "mov dword ptr [esi + 0x104], ebx", "0x1001712e"], ["0x10017144", "fmul qword ptr [20.0 (FLOAT)]", "0x10017134"], ["0x1001714a", "sub esp, 8", "0x1001713a"], ["0x1001714d", "fiadd dword ptr [esi + 0x104]", "0x1001713d"], ["0x10017153", "fild dword ptr [g_unk0x100f0c7c (DATA)]", "0x10017143"], ["0x10017159", "lea edx, [esp + 0x18]", "0x10017149"], ["0x1001715d", "push '%g' (STRING)", "0x1001714d"], ["0x10017162", "push edx", "0x10017152"], ["0x10017163", "fmul qword ptr [20.0 (FLOAT)]", "0x10017153"]]}]], ["@@ -0x10017177,27 +0x10017167,27 @@", [{"both": [["0x10017177", "fstp qword ptr [esp + 8]", "0x10017167"], ["0x1001717b", "call _sprintf (FUNCTION)", "0x1001716b"], ["0x10017180", "lea ecx, [esp + 0x20]", "0x10017170"], ["0x10017184", "add esp, 0x10", "0x10017174"], ["0x10017187", "push ecx", "0x10017177"], ["0x10017188", "push 'DISTANCE' (STRING)", "0x10017178"], ["0x1001718d", "call VariableTable (FUNCTION)", "0x1001717d"], ["0x10017192", "mov ecx, eax", "0x10017182"], ["0x10017194", "call MxVariableTable::SetVariable (FUNCTION)", "0x10017184"], ["0x10017199", "cmp dword ptr [esi + 0x104], 0x14", "0x10017189"]]}, {"orig": [["0x100171a0", "jne 0x49d"]], "recomp": [["0x10017190", "jne 0x4a3"]]}, {"both": [["0x100171a6", "mov dword ptr [esi + 0x104], 0", "0x10017196"], ["0x100171b0", "mov eax, dword ptr [esi + 0xf8]", "0x100171a0"], ["0x100171b6", "inc eax", "0x100171a6"], ["0x100171b7", "mov dword ptr [esi + 0xf8], eax", "0x100171a7"], ["0x100171bd", "cmp dword ptr [g_unk0x100f0c7c (DATA)], eax", "0x100171ad"]]}, {"orig": [["0x100171c3", "jne 0x2cc"]], "recomp": [["0x100171b3", "jne 0x2d2"]]}, {"both": [["0x100171c9", "push '' (STRING)", "0x100171b9"], ["0x100171ce", "mov eax, dword ptr [g_raceState (DATA)]", "0x100171be"], ["0x100171d3", "push eax", "0x100171c3"], ["0x100171d4", "call VariableTable (FUNCTION)", "0x100171c4"], ["0x100171d9", "mov ecx, eax", "0x100171c9"], ["0x100171db", "call MxVariableTable::SetVariable (FUNCTION)", "0x100171cb"], ["0x100171e0", "mov ecx, dword ptr [esi + 0x110]", "0x100171d0"], ["0x100171e6", "push 1", "0x100171d6"], ["0x100171e8", "mov eax, dword ptr [ecx + 4]", "0x100171d8"], ["0x100171eb", "mov edx, dword ptr [eax + 4]", "0x100171db"]]}]], ["@@ -0x100172c7,91 +0x100172b7,92 @@", [{"both": [["0x100172c7", "lea eax, [edx + ecx + 4]", "0x100172b7"], ["0x100172cb", "push eax", "0x100172bb"], ["0x100172cc", "mov ecx, esi", "0x100172bc"], ["0x100172ce", "call LegoWorld::RemoveActor (FUNCTION)", "0x100172be"], ["0x100172d3", "mov ecx, dword ptr [esi + 0x118]", "0x100172c3"], ["0x100172d9", "mov eax, dword ptr [ecx + 4]", "0x100172c9"], ["0x100172dc", "mov edx, dword ptr [eax + 8]", "0x100172cc"], ["0x100172df", "lea ecx, [edx + ecx + 4]", "0x100172cf"], ["0x100172e3", "mov eax, dword ptr [ecx]", "0x100172d3"], ["0x100172e5", "call dword ptr [eax + 0xc]", "0x100172d5"]]}, {"orig": [["0x100172e8", "mov eax, dword ptr [esi + 0xf8]"], ["0x100172ee", "mov ecx, dword ptr [esi + 0xfc]"], ["0x100172f4", "cmp eax, ecx"]], "recomp": [["0x100172d8", "mov ecx, dword ptr [esi + 0xf8]"], ["0x100172de", "mov eax, dword ptr [esi + 0xfc]"], ["0x100172e4", "cmp ecx, eax"]]}, {"both": [["0x100172f6", "jle 0x3c", "0x100172e6"]]}, {"orig": [["0x100172f8", "cmp dword ptr [esi + 0x100], eax"]], "recomp": [["0x100172e8", "cmp dword ptr [esi + 0x100], ecx"]]}, {"both": [["0x100172fe", "jge 0x30", "0x100172ee"], ["0x10017300", "mov edi, 3", "0x100172f0"], ["0x10017305", "call _rand (FUNCTION)", "0x100172f5"], ["0x1001730a", "cdq ", "0x100172fa"], ["0x1001730b", "idiv edi", "0x100172fb"], ["0x1001730d", "lea ebx, [esi + 0x148]", "0x100172fd"], ["0x10017313", "mov eax, dword ptr [edx*4 + CarRace::g_unk0x100d5d40[0] (DATA)]", "0x10017303"], ["0x1001731a", "mov dword ptr [ebx], eax", "0x1001730a"], ["0x1001731c", "call _rand (FUNCTION)", "0x1001730c"], ["0x10017321", "cdq ", "0x10017311"], ["0x10017322", "idiv edi", "0x10017312"]]}, {"orig": [["0x10017324", "mov eax, dword ptr [edx*4 + CarRace::g_unk0x100d5d60[0] (DATA)]"], ["0x1001732b", "jmp 0xba"], ["0x10017330", "cmp eax, ecx"], ["0x10017332", "jg 0x43"], ["0x10017334", "cmp dword ptr [esi + 0x100], eax"], ["0x1001733a", "jl 0x3b"]], "recomp": [["0x10017314", "mov edx, dword ptr [edx*4 + CarRace::g_unk0x100d5d60[0] (DATA)]"], ["0x1001731b", "jmp 0xc0"], ["0x10017320", "cmp ecx, eax"], ["0x10017322", "jg 0x49"], ["0x10017324", "cmp dword ptr [esi + 0x100], ecx"], ["0x1001732a", "jl 0x41"]]}, {"both": [["0x1001733c", "mov edi, 1", "0x1001732c"], ["0x10017341", "call _rand (FUNCTION)", "0x10017331"], ["0x10017346", "cdq ", "0x10017336"]]}, {"orig": [], "recomp": [["0x10017337", "lea ebx, [esi + 0x148]"]]}, {"both": [["0x10017347", "xor eax, edx", "0x1001733d"]]}, {"orig": [["0x10017349", "lea ebx, [esi + 0x148]"]], "recomp": []}, {"both": [["0x1001734f", "sub eax, edx", "0x1001733f"], ["0x10017351", "and eax, 3", "0x10017341"], ["0x10017354", "xor eax, edx", "0x10017344"], ["0x10017356", "sub eax, edx", "0x10017346"], ["0x10017358", "mov eax, dword ptr [eax*4 + CarRace::g_unk0x100d5d30[0] (DATA)]", "0x10017348"], ["0x1001735f", "mov dword ptr [ebx], eax", "0x1001734f"], ["0x10017361", "call _rand (FUNCTION)", "0x10017351"], ["0x10017366", "cdq ", "0x10017356"], ["0x10017367", "mov ecx, 3", "0x10017357"], ["0x1001736c", "idiv ecx", "0x1001735c"], ["0x1001736e", "mov eax, dword ptr [edx*4 + CarRace::g_unk0x100d5d50[0] (DATA)]", "0x1001735e"]]}, {"orig": [["0x10017375", "jmp 0x73"]], "recomp": [["0x10017365", "mov dword ptr [esi + 0x14c], eax"], ["0x1001736b", "jmp 0x79"]]}, {"both": [["0x10017377", "mov edi, 2", "0x1001736d"]]}, {"orig": [["0x1001737c", "cmp dword ptr [g_unk0x100f0c7c (DATA)], ecx"]], "recomp": [["0x10017372", "lea ebx, [esi + 0x148]"], ["0x10017378", "cmp dword ptr [g_unk0x100f0c7c (DATA)], eax"]]}, {"both": [["0x10017382", "jne 0x36", "0x1001737e"], ["0x10017384", "call _rand (FUNCTION)", "0x10017380"], ["0x10017389", "cdq ", "0x10017385"], ["0x1001738a", "xor eax, edx", "0x10017386"]]}, {"orig": [["0x1001738c", "lea ebx, [esi + 0x148]"]], "recomp": []}, {"both": [["0x10017392", "sub eax, edx", "0x10017388"], ["0x10017394", "and eax, 3", "0x1001738a"], ["0x10017397", "xor eax, edx", "0x1001738d"], ["0x10017399", "sub eax, edx", "0x1001738f"], ["0x1001739b", "mov eax, dword ptr [eax*4 + CarRace::g_unk0x100d5d30[0] (DATA)]", "0x10017391"], ["0x100173a2", "mov dword ptr [ebx], eax", "0x10017398"], ["0x100173a4", "call _rand (FUNCTION)", "0x1001739a"], ["0x100173a9", "cdq ", "0x1001739f"], ["0x100173aa", "mov ecx, 3", "0x100173a0"], ["0x100173af", "idiv ecx", "0x100173a5"], ["0x100173b1", "mov eax, dword ptr [edx*4 + CarRace::g_unk0x100d5d60[0] (DATA)]", "0x100173a7"]]}, {"orig": [], "recomp": [["0x100173ae", "mov dword ptr [esi + 0x14c], eax"]]}, {"both": [["0x100173b8", "jmp 0x30", "0x100173b4"]]}, {"orig": [["0x100173ba", "lea ebx, [esi + 0x148]"]], "recomp": []}, {"both": [["0x100173c0", "call _rand (FUNCTION)", "0x100173b6"], ["0x100173c5", "cdq ", "0x100173bb"], ["0x100173c6", "mov ecx, 3", "0x100173bc"], ["0x100173cb", "idiv ecx", "0x100173c1"], ["0x100173cd", "mov eax, dword ptr [edx*4 + CarRace::g_unk0x100d5d50[0] (DATA)]", "0x100173c3"], ["0x100173d4", "mov dword ptr [ebx], eax", "0x100173ca"], ["0x100173d6", "call _rand (FUNCTION)", "0x100173cc"], ["0x100173db", "cdq ", "0x100173d1"], ["0x100173dc", "mov ecx, 3", "0x100173d2"], ["0x100173e1", "idiv ecx", "0x100173d7"]]}, {"orig": [["0x100173e3", "mov eax, dword ptr [edx*4 + CarRace::g_unk0x100d5d40[0] (DATA)]"], ["0x100173ea", "mov dword ptr [esi + 0x14c], eax"]], "recomp": [["0x100173d9", "mov edx, dword ptr [edx*4 + CarRace::g_unk0x100d5d40[0] (DATA)]"], ["0x100173e0", "mov dword ptr [esi + 0x14c], edx"]]}, {"both": [["0x100173f0", "call InputManager (FUNCTION)", "0x100173e6"], ["0x100173f5", "mov byte ptr [eax + 0x88], 1", "0x100173eb"], ["0x100173fc", "mov byte ptr [eax + 0x336], 0", "0x100173f2"], ["0x10017403", "call InputManager (FUNCTION)", "0x100173f9"], ["0x10017408", "mov byte ptr [eax + 0x336], 1", "0x100173fe"], ["0x1001740f", "push '' (STRING)", "0x10017405"], ["0x10017414", "mov eax, dword ptr [g_strHIT_WALL_SOUND (DATA)]", "0x1001740a"], ["0x10017419", "push eax", "0x1001740f"], ["0x1001741a", "call VariableTable (FUNCTION)", "0x10017410"], ["0x1001741f", "mov ecx, eax", "0x10017415"]]}]]]}, {"address": "0x10017650", "recomp": "0x10017650", "name": "CarRace::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x100177e0", "recomp": "0x100177e0", "name": "CarRace::HandleType0Notification", "matching": 1.0, "diff": []}, {"address": "0x10017820", "recomp": "0x10017820", "name": "CarRace::FUN_10017820", "matching": 1.0, "diff": []}, {"address": "0x10017900", "recomp": "0x10017900", "name": "CarRace::Escape", "matching": 1.0, "diff": []}, {"address": "0x100179c0", "recomp": "0x100179c0", "name": "Pizzeria::Create", "matching": 1.0, "diff": []}, {"address": "0x100179f0", "recomp": "0x100179f0", "name": "Pizzeria::CreateState", "matching": 1.0, "diff": []}, {"address": "0x10017a50", "recomp": "0x10017a50", "name": "Pizzeria::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10017af0", "recomp": "0x10017af0", "name": "PizzeriaState::PizzeriaState", "matching": 0.8873239436619719, "diff": [["@@ -0x10017b7c,31 +0x10017b7c,31 @@", [{"both": [["0x10017b7c", "mov dword ptr [esi + 0x2c], PizzeriaState::g_nickActions[0] (DATA)", "0x10017b7c"], ["0x10017b83", "mov word ptr [esi + 0x1a], dx", "0x10017b83"], ["0x10017b87", "mov word ptr [esi + 0x24], ax", "0x10017b87"], ["0x10017b8b", "mov word ptr [esi + 0x28], cx", "0x10017b8b"], ["0x10017b8f", "mov dword ptr [esi + 0x38], PizzeriaState::g_lauraActions[0] (DATA)", "0x10017b8f"], ["0x10017b96", "mov word ptr [esi + 0x26], dx", "0x10017b96"], ["0x10017b9a", "mov word ptr [esi + 0x30], ax", "0x10017b9a"], ["0x10017b9e", "mov word ptr [esi + 0x34], cx", "0x10017b9e"], ["0x10017ba2", "mov word ptr [esi + 0x32], dx", "0x10017ba2"], ["0x10017ba6", "mov word ptr [esi + 0x3c], ax", "0x10017ba6"]]}, {"orig": [["0x10017baa", "lea eax, [esi + 0x44]"]], "recomp": [["0x10017baa", "mov eax, 0xffffffff"]]}, {"both": [["0x10017bad", "mov word ptr [esi + 0x40], cx", "0x10017baf"]]}, {"orig": [["0x10017bb1", "mov ecx, 0xffffffff"]], "recomp": [["0x10017bb3", "lea ecx, [esi + 0x44]"]]}, {"both": [["0x10017bb6", "mov word ptr [esi + 0x3e], dx", "0x10017bb6"]]}, {"orig": [["0x10017bba", "mov dword ptr [ebp - 4], ecx"], ["0x10017bbd", "mov dword ptr [eax], ecx"], ["0x10017bbf", "mov dword ptr [eax + 4], ecx"]], "recomp": [["0x10017bba", "mov dword ptr [ebp - 4], eax"], ["0x10017bbd", "mov dword ptr [ecx], eax"], ["0x10017bbf", "mov dword ptr [ecx + 4], eax"]]}, {"both": [["0x10017bc2", "pop edi", "0x10017bc2"]]}, {"orig": [["0x10017bc3", "mov dword ptr [eax + 8], ecx"], ["0x10017bc6", "mov dword ptr [eax + 0xc], ecx"], ["0x10017bc9", "mov dword ptr [eax + 0x10], ecx"]], "recomp": [["0x10017bc3", "mov dword ptr [ecx + 8], eax"], ["0x10017bc6", "mov dword ptr [ecx + 0xc], eax"], ["0x10017bc9", "mov dword ptr [ecx + 0x10], eax"]]}, {"both": [["0x10017bcc", "mov eax, esi", "0x10017bcc"], ["0x10017bce", "mov ecx, dword ptr [ebp - 0xc]", "0x10017bce"], ["0x10017bd1", "pop esi", "0x10017bd1"], ["0x10017bd2", "mov dword ptr fs:[0], ecx", "0x10017bd2"], ["0x10017bd9", "pop ebx", "0x10017bd9"], ["0x10017bda", "mov esp, ebp", "0x10017bda"], ["0x10017bdc", "pop ebp", "0x10017bdc"], ["0x10017bdd", "ret ", "0x10017bdd"], ["0x10017bde", "mov ecx, dword ptr [ebp - 0x10]", "0x10017bde"], ["0x10017be1", "jmp MxCore::~MxCore (FUNCTION)", "0x10017be1"]]}]]]}, {"address": "0x10017c00", "recomp": "0x10017c00", "name": "LegoState::Playlist::Playlist", "matching": 1.0, "diff": []}, {"address": "0x10017c20", "recomp": "0x10017c20", "name": "PizzeriaState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10017c30", "recomp": "0x10017c30", "name": "PizzeriaState::IsA", "matching": 1.0, "diff": []}, {"address": "0x10017ce0", "recomp": "0x10017ce0", "name": "PizzeriaState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10017d50", "recomp": "0x10017d50", "name": "PizzeriaState::FUN_10017d50", "matching": 1.0, "diff": []}, {"address": "0x10017d70", "recomp": "0x10017d70", "name": "PizzeriaState::NextAction", "matching": 1.0, "diff": []}, {"address": "0x10017da0", "recomp": "0x10017da0", "name": "PizzeriaState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10017e90", "recomp": "0x10017e90", "name": "ElevatorBottom::ElevatorBottom", "matching": 1.0, "diff": []}, {"address": "0x10017f10", "recomp": "0x10017f10", "name": "ElevatorBottom::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10017f20", "recomp": "0x10017f20", "name": "ElevatorBottom::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10017f30", "recomp": "0x10017f30", "name": "ElevatorBottom::IsA", "matching": 1.0, "diff": []}, {"address": "0x10018040", "recomp": "0x10018040", "name": "ElevatorBottom::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10018060", "recomp": "0x10018060", "name": "ElevatorBottom::~ElevatorBottom", "matching": 1.0, "diff": []}, {"address": "0x100180f0", "recomp": "0x100180f0", "name": "ElevatorBottom::Create", "matching": 1.0, "diff": []}, {"address": "0x10018150", "recomp": "0x10018150", "name": "ElevatorBottom::Notify", "matching": 1.0, "diff": []}, {"address": "0x100181b0", "recomp": "0x100181b0", "name": "ElevatorBottom::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x100181d0", "recomp": "0x100181d0", "name": "ElevatorBottom::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x100182c0", "recomp": "0x100182c0", "name": "ElevatorBottom::Enable", "matching": 1.0, "diff": []}, {"address": "0x10018310", "recomp": "0x10018310", "name": "ElevatorBottom::Escape", "matching": 1.0, "diff": []}, {"address": "0x10018340", "recomp": "0x10018340", "name": "LegoLoadCacheSoundPresenter::LegoLoadCacheSoundPresenter", "matching": 1.0, "diff": []}, {"address": "0x10018450", "recomp": "0x10018450", "name": "LegoLoadCacheSoundPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10018460", "recomp": "0x10018460", "name": "LegoLoadCacheSoundPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10018480", "recomp": "0x10018480", "name": "LegoLoadCacheSoundPresenter::~LegoLoadCacheSoundPresenter", "matching": 1.0, "diff": []}, {"address": "0x100184e0", "recomp": "0x100184e0", "name": "LegoLoadCacheSoundPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100184f0", "recomp": "0x100184f0", "name": "LegoLoadCacheSoundPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10018510", "recomp": "0x10018510", "name": "LegoLoadCacheSoundPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100185f0", "recomp": "0x100185f0", "name": "LegoLoadCacheSoundPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100186e0", "recomp": "0x100186e0", "name": "MxDSMediaAction::GetMediaSrcPath", "matching": 1.0, "diff": []}, {"address": "0x100186f0", "recomp": "0x100186f0", "name": "LegoLoadCacheSoundPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x10018700", "recomp": "0x10018700", "name": "LegoLoadCacheSoundPresenter::PutData", "matching": 1.0, "effective": true, "diff": [["@@ -0x10018700,21 +0x10018700,21 @@", [{"both": [["0x10018700", "push esi", "0x10018700"], ["0x10018701", "push edi", "0x10018701"]]}, {"orig": [["0x10018702", "lea edi, [ecx + 0x20]"], ["0x10018705", "mov esi, ecx"], ["0x10018707", "mov ecx, edi"]], "recomp": [["0x10018702", "lea esi, [ecx + 0x20]"], ["0x10018705", "mov edi, ecx"], ["0x10018707", "mov ecx, esi"]]}, {"both": [["0x10018709", "call MxCriticalSection::Enter (FUNCTION)", "0x10018709"]]}, {"orig": [["0x1001870e", "cmp dword ptr [esi + 8], 6"]], "recomp": [["0x1001870e", "cmp dword ptr [edi + 8], 6"]]}, {"both": [["0x10018712", "jne 0x18", "0x10018712"], ["0x10018714", "call SoundManager (FUNCTION)", "0x10018714"]]}, {"orig": [["0x10018719", "mov ecx, dword ptr [esi + 0x6c]"]], "recomp": [["0x10018719", "mov ecx, dword ptr [edi + 0x6c]"]]}, {"both": [["0x1001871c", "push ecx", "0x1001871c"], ["0x1001871d", "mov ecx, dword ptr [eax + 0x40]", "0x1001871d"], ["0x10018720", "call LegoCacheSoundManager::ManageSoundEntry (FUNCTION)", "0x10018720"]]}, {"orig": [["0x10018725", "mov byte ptr [esi + 0x7c], 1"], ["0x10018729", "mov dword ptr [esi + 0x6c], eax"], ["0x1001872c", "mov ecx, edi"]], "recomp": [["0x10018725", "mov byte ptr [edi + 0x7c], 1"], ["0x10018729", "mov dword ptr [edi + 0x6c], eax"], ["0x1001872c", "mov ecx, esi"]]}, {"both": [["0x1001872e", "call MxCriticalSection::Leave (FUNCTION)", "0x1001872e"], ["0x10018733", "xor eax, eax", "0x10018733"], ["0x10018735", "pop edi", "0x10018735"], ["0x10018736", "pop esi", "0x10018736"], ["0x10018737", "ret ", "0x10018737"]]}]]]}, {"address": "0x10018740", "recomp": "0x10018740", "name": "Act2GenActor::HitActor", "matching": 1.0, "diff": []}, {"address": "0x100187e0", "recomp": "0x100187e0", "name": "Act2Actor::Act2Actor", "matching": 1.0, "diff": []}, {"address": "0x10018940", "recomp": "0x10018940", "name": "Act2Actor::SetROI", "matching": 1.0, "diff": []}, {"address": "0x10018980", "recomp": "0x10018980", "name": "Act2Actor::FUN_10018980", "matching": 1.0, "diff": []}, {"address": "0x100189f0", "recomp": "0x100189f0", "name": "Act2Actor::HitActor", "matching": 1.0, "diff": []}, {"address": "0x10018a20", "recomp": "0x10018a20", "name": "Act2Actor::VTable0x9c", "matching": 1.0, "diff": []}, {"address": "0x10018b70", "recomp": "0x10018b70", "name": "List<LegoBoundaryEdge>::~List<LegoBoundaryEdge>", "matching": 1.0, "diff": []}, {"address": "0x10018bc0", "recomp": "0x10018bc0", "name": "list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::~list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x10018be3,21 +0x10018be3,21 @@", [{"both": [["0x10018be3", "mov eax, dword ptr [eax]", "0x10018be3"], ["0x10018be5", "mov dword ptr [ecx], eax", "0x10018be5"], ["0x10018be7", "mov ecx, dword ptr [edx]", "0x10018be7"], ["0x10018be9", "mov eax, dword ptr [esp + 8]", "0x10018be9"], ["0x10018bed", "push eax", "0x10018bed"], ["0x10018bee", "mov edx, dword ptr [eax]", "0x10018bee"], ["0x10018bf0", "mov dword ptr [edx + 4], ecx", "0x10018bf0"], ["0x10018bf3", "call ??3@YAXPAX@Z (FUNCTION)", "0x10018bf3"], ["0x10018bf8", "add esp, 4", "0x10018bf8"], ["0x10018bfb", "dec dword ptr [esi + 8]", "0x10018bfb"]]}, {"orig": [["0x10018bfe", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x10018bfe", "cmp edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x10018c02", "jne -0x2e", "0x10018c02"], ["0x10018c04", "mov eax, dword ptr [esi + 4]", "0x10018c04"], ["0x10018c07", "push eax", "0x10018c07"], ["0x10018c08", "call ??3@YAXPAX@Z (FUNCTION)", "0x10018c08"], ["0x10018c0d", "mov dword ptr [esi + 4], 0", "0x10018c0d"], ["0x10018c14", "add esp, 4", "0x10018c14"], ["0x10018c17", "mov dword ptr [esi + 8], 0", "0x10018c17"], ["0x10018c1e", "pop edi", "0x10018c1e"], ["0x10018c1f", "pop esi", "0x10018c1f"], ["0x10018c20", "add esp, 0xc", "0x10018c20"]]}]]]}, {"address": "0x10018c30", "recomp": "0x10018c30", "name": "Act2Actor::Animate", "matching": 0.7729357798165137, "diff": [["@@ -0x10018c30,339 +0x10018c30,339 @@", [{"orig": [["0x10018c30", "sub esp, 0xcc"]], "recomp": [["0x10018c30", "sub esp, 0xa8"], ["0x10018c36", "mov dword ptr [esp + 0x60], 0"]]}, {"both": [["0x10018c36", "test dword ptr [g_unk0x100f0f1c (DATA)], 0x7fffffff", "0x10018c3e"]]}, {"orig": [["0x10018c40", "mov dword ptr [esp + 0x84], 0"]], "recomp": []}, {"both": [["0x10018c4b", "push ebx", "0x10018c48"], ["0x10018c4c", "push esi", "0x10018c49"], ["0x10018c4d", "push edi", "0x10018c4a"], ["0x10018c4e", "push ebp", "0x10018c4b"], ["0x10018c4f", "mov ebp, ecx", "0x10018c4c"]]}, {"orig": [["0x10018c51", "je 0x14"], ["0x10018c53", "fld dword ptr [esp + 0xe0]"]], "recomp": [["0x10018c4e", "je 0x11"], ["0x10018c50", "fld dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018c5a", "fsub dword ptr [g_unk0x100f0f1c (DATA)]", "0x10018c57"]]}, {"orig": [["0x10018c60", "fstp dword ptr [esp + 0x94]"], ["0x10018c67", "mov eax, dword ptr [esp + 0xe0]"]], "recomp": [["0x10018c5d", "fstp dword ptr [esp + 0x70]"], ["0x10018c61", "mov eax, dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018c6e", "lea esi, [ebp - 0x34]", "0x10018c68"], ["0x10018c71", "push eax", "0x10018c6b"], ["0x10018c72", "mov ecx, esi", "0x10018c6c"], ["0x10018c74", "mov dword ptr [g_unk0x100f0f1c (DATA)], eax", "0x10018c6e"], ["0x10018c79", "call LegoAnimActor::Animate (FUNCTION)", "0x10018c73"], ["0x10018c7e", "test dword ptr [ebp - 0x10], 0x7fffffff", "0x10018c78"], ["0x10018c85", "je 0x32", "0x10018c7f"], ["0x10018c87", "fld dword ptr [ebp - 0x10]", "0x10018c81"]]}, {"orig": [["0x10018c8a", "fcomp dword ptr [esp + 0xe0]"]], "recomp": [["0x10018c84", "fcomp dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018c91", "fnstsw ax", "0x10018c8b"], ["0x10018c93", "test ah, 1", "0x10018c8d"], ["0x10018c96", "je 0x21", "0x10018c90"], ["0x10018c98", "mov eax, dword ptr [ebp - 0x50]", "0x10018c92"], ["0x10018c9b", "sub esp, 4", "0x10018c95"], ["0x10018c9e", "mov edx, dword ptr [eax + 4]", "0x10018c98"], ["0x10018ca1", "movsx eax, byte ptr [ebp - 0x2c]", "0x10018c9b"], ["0x10018ca5", "lea ecx, [edx + ebp - 0x50]", "0x10018c9f"]]}, {"orig": [["0x10018ca9", "mov dword ptr [esp + 0x3c], eax"], ["0x10018cad", "fild dword ptr [esp + 0x3c]"]], "recomp": [["0x10018ca3", "mov dword ptr [esp + 0x2c], eax"], ["0x10018ca7", "fild dword ptr [esp + 0x2c]"]]}, {"both": [["0x10018cb1", "fstp dword ptr [esp]", "0x10018cab"], ["0x10018cb4", "mov ebx, dword ptr [ecx]", "0x10018cae"], ["0x10018cb6", "call dword ptr [ebx + 0x30]", "0x10018cb0"], ["0x10018cb9", "cmp byte ptr [ebp - 0x35], 0", "0x10018cb3"], ["0x10018cbd", "je 0x16", "0x10018cb7"], ["0x10018cbf", "cmp dword ptr [esi], 0x44160000", "0x10018cb9"], ["0x10018cc5", "jle 0xca", "0x10018cbf"], ["0x10018ccb", "mov byte ptr [ebp - 0x35], 0", "0x10018cc5"], ["0x10018ccf", "mov dword ptr [esi], 0", "0x10018cc9"], ["0x10018cd5", "mov eax, dword ptr [ebp - 0x50]", "0x10018ccf"], ["0x10018cd8", "mov ecx, dword ptr [eax + 4]", "0x10018cd2"], ["0x10018cdb", "add ecx, ebp", "0x10018cd5"], ["0x10018cdd", "cmp dword ptr [ecx + 0xe4], 0", "0x10018cd7"], ["0x10018ce4", "jne 0x3f", "0x10018cde"], ["0x10018ce6", "mov al, byte ptr [ebp - 0x36]", "0x10018ce0"], ["0x10018ce9", "cmp al, 2", "0x10018ce3"]]}, {"orig": [["0x10018ceb", "jne 0x155"]], "recomp": [["0x10018ce5", "jne 0x143"]]}, {"both": [["0x10018cf1", "mov byte ptr [ebp - 0x36], 0", "0x10018ceb"], ["0x10018cf5", "mov ecx, dword ptr [ebp - 0x20]", "0x10018cef"], ["0x10018cf8", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x10018cf2"]]}, {"orig": [["0x10018cfd", "fadd dword ptr [esp + 0xe0]"], ["0x10018d04", "mov eax, dword ptr [ebp - 0x50]"], ["0x10018d07", "push 0"]], "recomp": [["0x10018cf7", "fadd dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018d09", "fst dword ptr [ebp - 0x28]", "0x10018cfe"], ["0x10018d0c", "fsub dword ptr [1300.0 (FLOAT)]", "0x10018d01"], ["0x10018d12", "fstp dword ptr [ebp - 0x24]", "0x10018d07"]]}, {"orig": [], "recomp": [["0x10018d0a", "mov eax, dword ptr [ebp - 0x50]"], ["0x10018d0d", "push 0"]]}, {"both": [["0x10018d15", "mov edx, dword ptr [eax + 4]", "0x10018d0f"], ["0x10018d18", "lea ecx, [edx + ebp - 0x50]", "0x10018d12"], ["0x10018d1c", "mov eax, dword ptr [ecx]", "0x10018d16"], ["0x10018d1e", "call dword ptr [eax + 0x30]", "0x10018d18"], ["0x10018d21", "mov byte ptr [ebp - 0x38], 0", "0x10018d1b"], ["0x10018d25", "mov al, byte ptr [ebp - 0x36]", "0x10018d1f"], ["0x10018d28", "cmp al, 5", "0x10018d22"]]}, {"orig": [["0x10018d2a", "je 0x50d"]], "recomp": [["0x10018d24", "je 0x4ef"]]}, {"both": [["0x10018d30", "cmp al, 4", "0x10018d2a"]]}, {"orig": [["0x10018d32", "je 0x505"]], "recomp": [["0x10018d2c", "je 0x4e7"]]}, {"both": [["0x10018d38", "cmp al, 3", "0x10018d32"]]}, {"orig": [["0x10018d3a", "jne 0x24a"], ["0x10018d40", "fld dword ptr [esp + 0xe0]"]], "recomp": [["0x10018d34", "jne 0x238"], ["0x10018d3a", "fld dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018d47", "fsub dword ptr [ebp - 0x30]", "0x10018d41"], ["0x10018d4a", "fcomp dword ptr [600.0 (FLOAT)]", "0x10018d44"], ["0x10018d50", "fnstsw ax", "0x10018d4a"], ["0x10018d52", "test ah, 0x41", "0x10018d4c"]]}, {"orig": [["0x10018d55", "jne 0x4e2"], ["0x10018d5b", "fld dword ptr [esp + 0xe0]"]], "recomp": [["0x10018d4f", "jne 0x4c4"], ["0x10018d55", "fld dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018d62", "fadd dword ptr [15000.0 (FLOAT)]", "0x10018d5c"]]}, {"orig": [], "recomp": [["0x10018d62", "mov byte ptr [ebp - 0x36], 2"]]}, {"both": [["0x10018d68", "movsx eax, byte ptr [ebp - 0x2c]", "0x10018d66"], ["0x10018d6c", "sub esp, 4", "0x10018d6a"], ["0x10018d6f", "add eax, 4", "0x10018d6d"]]}, {"orig": [], "recomp": [["0x10018d70", "lea ecx, [ebp - 0x54]"]]}, {"both": [["0x10018d72", "sub esp, 4", "0x10018d73"]]}, {"orig": [["0x10018d75", "lea ecx, [ebp - 0x54]"], ["0x10018d78", "mov byte ptr [ebp - 0x36], 2"]], "recomp": []}, {"both": [["0x10018d7c", "fstp dword ptr [esp + 4]", "0x10018d76"]]}, {"orig": [["0x10018d80", "mov dword ptr [esp + 0x40], eax"], ["0x10018d84", "fild dword ptr [esp + 0x40]"]], "recomp": [["0x10018d7a", "mov dword ptr [esp + 0x30], eax"], ["0x10018d7e", "fild dword ptr [esp + 0x30]"]]}, {"both": [["0x10018d88", "fstp dword ptr [esp]", "0x10018d82"], ["0x10018d8b", "call Act2Actor::FUN_10019250 (FUNCTION)", "0x10018d85"]]}, {"orig": [["0x10018d90", "jmp 0x4a8"]], "recomp": [["0x10018d8a", "jmp 0x48a"]]}, {"both": [["0x10018d95", "fld dword ptr [esi]", "0x10018d8f"]]}, {"orig": [["0x10018d97", "fadd dword ptr [esp + 0x94]"]], "recomp": [["0x10018d91", "fadd dword ptr [esp + 0x70]"], ["0x10018d95", "fstp dword ptr [esi]"]]}, {"both": [["0x10018d9e", "mov eax, dword ptr [ebp - 0x50]", "0x10018d97"], ["0x10018da1", "mov ebx, MxMatrix::`vftable' (VTABLE)", "0x10018d9a"]]}, {"orig": [["0x10018da6", "fstp dword ptr [esi]"]], "recomp": []}, {"both": [["0x10018da8", "mov edx, dword ptr [eax + 4]", "0x10018d9f"]]}, {"orig": [["0x10018dab", "lea eax, [esp + 0x40]"]], "recomp": [["0x10018da2", "lea eax, [esp + 0x30]"]]}, {"both": [["0x10018daf", "mov edi, eax", "0x10018da6"], ["0x10018db1", "mov ecx, dword ptr [edx + ebp + 4]", "0x10018da8"]]}, {"orig": [["0x10018db5", "mov dword ptr [esp + 0x3c], eax"], ["0x10018db9", "mov dword ptr [esp + 0x38], ebx"]], "recomp": [["0x10018dac", "mov dword ptr [esp + 0x2c], eax"], ["0x10018db0", "mov dword ptr [esp + 0x28], ebx"]]}, {"both": [["0x10018dbd", "mov esi, dword ptr [ecx + 0x14]", "0x10018db4"], ["0x10018dc0", "mov ecx, 0x10", "0x10018db7"], ["0x10018dc5", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10018dbc"]]}, {"orig": [["0x10018dc7", "mov eax, dword ptr [esp + 0x3c]"], ["0x10018dcb", "lea ecx, [esp + 0x38]"]], "recomp": [["0x10018dbe", "mov eax, dword ptr [esp + 0x2c]"], ["0x10018dc2", "lea ecx, [esp + 0x28]"]]}, {"both": [["0x10018dcf", "fld dword ptr [eax + 0x34]", "0x10018dc6"], ["0x10018dd2", "fadd dword ptr [3.0 (FLOAT)]", "0x10018dc9"], ["0x10018dd8", "fstp dword ptr [eax + 0x34]", "0x10018dcf"], ["0x10018ddb", "mov edx, dword ptr [ebp - 0x50]", "0x10018dd2"], ["0x10018dde", "add eax, 0x30", "0x10018dd5"], ["0x10018de1", "push ecx", "0x10018dd8"], ["0x10018de2", "mov eax, dword ptr [edx + 4]", "0x10018dd9"], ["0x10018de5", "mov ecx, dword ptr [eax + ebp + 4]", "0x10018ddc"], ["0x10018de9", "call OrientableROI::UpdateTransformationRelativeToParent (FUNCTION)", "0x10018de0"], ["0x10018dee", "push 'brickstr' (STRING)", "0x10018de5"], ["0x10018df3", "call FindROI (FUNCTION)", "0x10018dea"]]}, {"orig": [["0x10018df8", "lea ecx, [esp + 0xa0]"]], "recomp": [["0x10018def", "lea ecx, [esp + 0x7c]"]]}, {"both": [["0x10018dff", "add esp, 4", "0x10018df3"], ["0x10018e02", "mov edi, ecx", "0x10018df6"]]}, {"orig": [["0x10018e04", "mov dword ptr [esp + 0x98], ecx"]], "recomp": [["0x10018df8", "mov dword ptr [esp + 0x74], ecx"]]}, {"both": [["0x10018e0b", "mov ecx, 0x10", "0x10018dfc"]]}, {"orig": [["0x10018e10", "mov dword ptr [esp + 0x94], ebx"]], "recomp": [["0x10018e01", "mov dword ptr [esp + 0x70], ebx"]]}, {"both": [["0x10018e17", "mov esi, dword ptr [eax + 0x14]", "0x10018e05"], ["0x10018e1a", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10018e08"]]}, {"orig": [["0x10018e1c", "mov ecx, dword ptr [esp + 0x98]"], ["0x10018e23", "lea ebx, [esp + 0x94]"]], "recomp": [["0x10018e0a", "mov ecx, dword ptr [esp + 0x74]"], ["0x10018e0e", "lea ebx, [esp + 0x70]"]]}, {"both": [["0x10018e2a", "add ecx, 0x30", "0x10018e12"], ["0x10018e2d", "push ebx", "0x10018e15"], ["0x10018e2e", "fld dword ptr [ecx + 4]", "0x10018e16"], ["0x10018e31", "fadd dword ptr [3.0 (FLOAT)]", "0x10018e19"], ["0x10018e37", "fstp dword ptr [ecx + 4]", "0x10018e1f"], ["0x10018e3a", "mov ecx, eax", "0x10018e22"], ["0x10018e3c", "call OrientableROI::UpdateTransformationRelativeToParent (FUNCTION)", "0x10018e24"]]}, {"orig": [["0x10018e41", "jmp 0x3f7"]], "recomp": [["0x10018e29", "jmp 0x3eb"]]}, {"both": [["0x10018e46", "cmp al, 1", "0x10018e2e"], ["0x10018e48", "jne 0x81", "0x10018e30"], ["0x10018e4e", "push 'pwrbrik' (STRING)", "0x10018e36"], ["0x10018e53", "xor ebx, ebx", "0x10018e3b"], ["0x10018e55", "call FindROI (FUNCTION)", "0x10018e3d"], ["0x10018e5a", "add esp, 4", "0x10018e42"], ["0x10018e5d", "mov byte ptr [eax + 0xc], bl", "0x10018e45"], ["0x10018e60", "push 'debrick' (STRING)", "0x10018e48"], ["0x10018e65", "call FindROI (FUNCTION)", "0x10018e4d"], ["0x10018e6a", "add esp, 4", "0x10018e52"], ["0x10018e6d", "mov byte ptr [eax + 0xc], bl", "0x10018e55"], ["0x10018e70", "push 'ray' (STRING)", "0x10018e58"], ["0x10018e75", "call FindROI (FUNCTION)", "0x10018e5d"], ["0x10018e7a", "add esp, 4", "0x10018e62"], ["0x10018e7d", "mov byte ptr [eax + 0xc], bl", "0x10018e65"]]}, {"orig": [["0x10018e80", "mov eax, dword ptr [ebp - 0x50]"]], "recomp": []}, {"both": [["0x10018e83", "mov dword ptr [ebp - 8], ebx", "0x10018e68"], ["0x10018e86", "mov byte ptr [ebp - 0x36], 2", "0x10018e6b"]]}, {"orig": [], "recomp": [["0x10018e6f", "mov eax, dword ptr [ebp - 0x50]"]]}, {"both": [["0x10018e8a", "mov edx, dword ptr [eax + 4]", "0x10018e72"], ["0x10018e8d", "lea ecx, [edx + ebp - 0x50]", "0x10018e75"], ["0x10018e91", "mov eax, dword ptr [ecx]", "0x10018e79"], ["0x10018e93", "call dword ptr [eax + 0xa0]", "0x10018e7b"]]}, {"orig": [["0x10018e99", "fld dword ptr [esp + 0xe0]"]], "recomp": [["0x10018e81", "fld dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018ea0", "fadd dword ptr [3000.0 (FLOAT)]", "0x10018e88"], ["0x10018ea6", "movsx eax, byte ptr [ebp - 0x2c]", "0x10018e8e"], ["0x10018eaa", "sub esp, 4", "0x10018e92"], ["0x10018ead", "add eax, 3", "0x10018e95"], ["0x10018eb0", "lea ecx, [ebp - 0x54]", "0x10018e98"], ["0x10018eb3", "sub esp, 4", "0x10018e9b"], ["0x10018eb6", "fstp dword ptr [esp + 4]", "0x10018e9e"]]}, {"orig": [["0x10018eba", "mov dword ptr [esp + 0x40], eax"], ["0x10018ebe", "fild dword ptr [esp + 0x40]"]], "recomp": [["0x10018ea2", "mov dword ptr [esp + 0x30], eax"], ["0x10018ea6", "fild dword ptr [esp + 0x30]"]]}, {"both": [["0x10018ec2", "fstp dword ptr [esp]", "0x10018eaa"], ["0x10018ec5", "call Act2Actor::FUN_10019250 (FUNCTION)", "0x10018ead"]]}, {"orig": [["0x10018eca", "jmp -0x1aa"]], "recomp": [["0x10018eb2", "jmp -0x198"]]}, {"both": [["0x10018ecf", "test al, al", "0x10018eb7"], ["0x10018ed1", "jne 0x43", "0x10018eb9"], ["0x10018ed3", "cmp byte ptr [ebp - 0x14], 0", "0x10018ebb"], ["0x10018ed7", "je 0x1f", "0x10018ebf"], ["0x10018ed9", "mov byte ptr [ebp - 0x14], 0", "0x10018ec1"], ["0x10018edd", "mov ecx, dword ptr [ebp - 0x20]", "0x10018ec5"], ["0x10018ee0", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x10018ec8"]]}, {"orig": [["0x10018ee5", "fadd dword ptr [esp + 0xe0]"]], "recomp": [["0x10018ecd", "fadd dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018eec", "fst dword ptr [ebp - 0x28]", "0x10018ed4"], ["0x10018eef", "fsub dword ptr [1300.0 (FLOAT)]", "0x10018ed7"], ["0x10018ef5", "fstp dword ptr [ebp - 0x24]", "0x10018edd"]]}, {"orig": [["0x10018ef8", "mov eax, dword ptr [esp + 0xe0]"]], "recomp": [["0x10018ee0", "mov eax, dword ptr [esp + 0xbc]"]]}, {"both": [["0x10018eff", "lea ecx, [ebp - 0x54]", "0x10018ee7"], ["0x10018f02", "push eax", "0x10018eea"], ["0x10018f03", "call Act2Actor::FUN_10019700 (FUNCTION)", "0x10018eeb"], ["0x10018f08", "cmp eax, 1", "0x10018ef0"]]}, {"orig": [["0x10018f0b", "jne -0x1ec"], ["0x10018f11", "jmp 0x327"]], "recomp": [["0x10018ef3", "jne -0x1da"], ["0x10018ef9", "jmp 0x31b"]]}, {"both": [["0x10018f16", "cmp al, 5", "0x10018efe"], ["0x10018f18", "jne 0x40", "0x10018f00"], ["0x10018f1a", "push 'brickstr' (STRING)", "0x10018f02"], ["0x10018f1f", "call FindROI (FUNCTION)", "0x10018f07"], ["0x10018f24", "add esp, 4", "0x10018f0c"], ["0x10018f27", "xor ecx, ecx", "0x10018f0f"], ["0x10018f29", "mov byte ptr [eax + 0xc], cl", "0x10018f11"], ["0x10018f2c", "cmp ebp, 0x54", "0x10018f14"], ["0x10018f2f", "mov eax, dword ptr [ebp - 0x50]", "0x10018f17"], ["0x10018f32", "mov edx, dword ptr [eax + 4]", "0x10018f1a"], ["0x10018f35", "mov ebx, dword ptr [edx + ebp + 4]", "0x10018f1d"], ["0x10018f39", "mov byte ptr [ebx + 0xc], cl", "0x10018f21"], ["0x10018f3c", "je 0xa", "0x10018f24"], ["0x10018f3e", "mov eax, dword ptr [ebp - 0x50]", "0x10018f26"], ["0x10018f41", "mov edx, dword ptr [eax + 4]", "0x10018f29"], ["0x10018f44", "lea ecx, [edx + ebp - 0x50]", "0x10018f2c"], ["0x10018f48", "push ecx", "0x10018f30"], ["0x10018f49", "call CurrentWorld (FUNCTION)", "0x10018f31"], ["0x10018f4e", "mov ecx, eax", "0x10018f36"], ["0x10018f50", "call LegoWorld::RemoveActor (FUNCTION)", "0x10018f38"]]}, {"orig": [["0x10018f55", "jmp 0x2e3"]], "recomp": [["0x10018f3d", "jmp 0x2d7"]]}, {"both": [["0x10018f5a", "cmp al, 4", "0x10018f42"]]}, {"orig": [["0x10018f5c", "jne -0x23d"]], "recomp": [["0x10018f44", "jne -0x22b"]]}, {"both": [["0x10018f62", "test dword ptr [ecx], 0x7fffffff", "0x10018f4a"]]}, {"orig": [["0x10018f68", "je 0x2cf"]], "recomp": [["0x10018f50", "je 0x2c3"]]}, {"both": [["0x10018f6e", "mov eax, dword ptr [ecx - 0x50]", "0x10018f56"], ["0x10018f71", "sub ecx, 0x50", "0x10018f59"], ["0x10018f74", "push 0", "0x10018f5c"], ["0x10018f76", "call dword ptr [eax + 0x30]", "0x10018f5e"], ["0x10018f79", "call CurrentWorld (FUNCTION)", "0x10018f61"], ["0x10018f7e", "mov ecx, eax", "0x10018f66"], ["0x10018f80", "call LegoAct2::FUN_100517b0 (FUNCTION)", "0x10018f68"]]}, {"orig": [["0x10018f85", "jmp 0x2b3"]], "recomp": [["0x10018f6d", "jmp 0x2a7"]]}, {"both": [["0x10018f8a", "push 'pepper' (STRING)", "0x10018f72"], ["0x10018f8f", "call FindROI (FUNCTION)", "0x10018f77"], ["0x10018f94", "add esp, 4", "0x10018f7c"], ["0x10018f97", "mov esi, eax", "0x10018f7f"], ["0x10018f99", "test esi, esi", "0x10018f81"]]}, {"orig": [["0x10018f9b", "je 0x29c"]], "recomp": [["0x10018f83", "je 0x290"]]}, {"both": [["0x10018fa1", "call VideoManager (FUNCTION)", "0x10018f89"], ["0x10018fa6", "mov eax, dword ptr [eax + 0x68]", "0x10018f8e"], ["0x10018fa9", "mov ecx, dword ptr [eax + 8]", "0x10018f91"], ["0x10018fac", "mov eax, dword ptr [ebp - 0x50]", "0x10018f94"], ["0x10018faf", "mov edi, dword ptr [ecx + 0x88]", "0x10018f97"], ["0x10018fb5", "mov edx, dword ptr [eax + 4]", "0x10018f9d"], ["0x10018fb8", "mov ecx, dword ptr [edx + ebp + 4]", "0x10018fa0"], ["0x10018fbc", "mov eax, dword ptr [ecx]", "0x10018fa4"], ["0x10018fbe", "call dword ptr [eax + 0xc]", "0x10018fa6"], ["0x10018fc1", "push eax", "0x10018fa9"], ["0x10018fc2", "mov ecx, edi", "0x10018faa"], ["0x10018fc4", "call ViewManager::IsBoundingBoxInFrustum (FUNCTION)", "0x10018fac"], ["0x10018fc9", "test eax, eax", "0x10018fb1"]]}, {"orig": [["0x10018fcb", "je 0x26c"]], "recomp": [["0x10018fb3", "je 0x260"]]}, {"both": [["0x10018fd1", "mov edx, dword ptr [esi + 0x14]", "0x10018fb9"]]}, {"orig": [["0x10018fd4", "lea eax, [esp + 0x2c]"]], "recomp": [["0x10018fbc", "lea eax, [esp + 0x78]"]]}, {"both": [["0x10018fd8", "add edx, 0x20", "0x10018fc0"], ["0x10018fdb", "mov ecx, Mx3DPointFloat::`vftable' (VTABLE)", "0x10018fc3"], ["0x10018fe0", "mov edi, eax", "0x10018fc8"]]}, {"orig": [["0x10018fe2", "mov dword ptr [esp + 0x28], eax"], ["0x10018fe6", "mov dword ptr [esp + 0x24], ecx"]], "recomp": [["0x10018fca", "mov dword ptr [esp + 0x74], eax"], ["0x10018fce", "mov dword ptr [esp + 0x70], ecx"]]}, {"both": [["0x10018fea", "mov eax, dword ptr [edx]", "0x10018fd2"], ["0x10018fec", "mov dword ptr [edi], eax", "0x10018fd4"], ["0x10018fee", "mov ebx, dword ptr [edx + 4]", "0x10018fd6"], ["0x10018ff1", "mov dword ptr [edi + 4], ebx", "0x10018fd9"], ["0x10018ff4", "mov edx, dword ptr [edx + 8]", "0x10018fdc"], ["0x10018ff7", "mov dword ptr [edi + 8], edx", "0x10018fdf"], ["0x10018ffa", "mov eax, dword ptr [ebp - 0x50]", "0x10018fe2"], ["0x10018ffd", "mov ebx, dword ptr [eax + 4]", "0x10018fe5"]]}, {"orig": [["0x10019000", "lea eax, [esp + 0x18]"]], "recomp": [["0x10018fe8", "lea eax, [esp + 0x1c]"]]}, {"both": [["0x10019004", "mov edi, dword ptr [ebx + ebp + 4]", "0x10018fec"], ["0x10019008", "mov edx, dword ptr [edi + 0x14]", "0x10018ff0"], ["0x1001900b", "mov edi, eax", "0x10018ff3"], ["0x1001900d", "add edx, 0x30", "0x10018ff5"]]}, {"orig": [["0x10019010", "mov dword ptr [esp + 0x14], eax"], ["0x10019014", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x10018ff8", "mov dword ptr [esp + 0x18], eax"], ["0x10018ffc", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x10019018", "mov eax, dword ptr [edx]", "0x10019000"], ["0x1001901a", "mov dword ptr [edi], eax", "0x10019002"]]}, {"orig": [["0x1001901c", "lea eax, [esp + 0x88]"]], "recomp": [["0x10019004", "lea eax, [esp + 0x30]"]]}, {"both": [["0x10019023", "mov ebx, dword ptr [edx + 4]", "0x10019008"], ["0x10019026", "mov dword ptr [edi + 4], ebx", "0x1001900b"], ["0x10019029", "mov edx, dword ptr [edx + 8]", "0x1001900e"], ["0x1001902c", "mov dword ptr [edi + 8], edx", "0x10019011"], ["0x1001902f", "mov edx, dword ptr [esi + 0x14]", "0x10019014"], ["0x10019032", "add edx, 0x30", "0x10019017"]]}, {"orig": [["0x10019035", "mov dword ptr [esp + 0x84], eax"], ["0x1001903c", "mov dword ptr [esp + 0x80], ecx"]], "recomp": [["0x1001901a", "mov dword ptr [esp + 0x2c], eax"], ["0x1001901e", "mov dword ptr [esp + 0x28], ecx"]]}, {"both": [["0x10019043", "mov ecx, eax", "0x10019022"], ["0x10019045", "mov eax, dword ptr [edx]", "0x10019024"], ["0x10019047", "mov dword ptr [ecx], eax", "0x10019026"]]}, {"orig": [["0x10019049", "lea eax, [esp + 0x80]"]], "recomp": [["0x10019028", "lea eax, [esp + 0x28]"]]}, {"both": [["0x10019050", "mov ebx, dword ptr [edx + 4]", "0x1001902c"], ["0x10019053", "push eax", "0x1001902f"], ["0x10019054", "mov dword ptr [ecx + 4], ebx", "0x10019030"], ["0x10019057", "mov edx, dword ptr [edx + 8]", "0x10019033"], ["0x1001905a", "mov dword ptr [ecx + 8], edx", "0x10019036"]]}, {"orig": [], "recomp": [["0x10019039", "lea ecx, [esp + 0x18]"], ["0x1001903d", "mov ebx, dword ptr [esp + 0x18]"], ["0x10019041", "call dword ptr [ebx + 0x54]"]]}, {"both": [["0x1001905d", "lea ecx, [esp + 0x14]", "0x10019044"], ["0x10019061", "mov ebx, dword ptr [esp + 0x14]", "0x10019048"]]}, {"orig": [["0x10019065", "call dword ptr [ebx + 0x54]"], ["0x10019068", "lea ecx, [esp + 0x10]"], ["0x1001906c", "mov ebx, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x10019070", "call dword ptr [ebx + 0x40]", "0x1001904c"], ["0x10019073", "fcom dword ptr [0.0 (FLOAT)]", "0x1001904f"]]}, {"orig": [["0x10019079", "fstp dword ptr [esp + 0x38]"]], "recomp": [["0x10019055", "fstp dword ptr [esp + 0x10]"]]}, {"both": [["0x1001907d", "fnstsw ax", "0x10019059"], ["0x1001907f", "test ah, 0x41", "0x1001905b"], ["0x10019082", "jne 0x27", "0x1001905e"]]}, {"orig": [["0x10019084", "fld dword ptr [esp + 0x38]"]], "recomp": [["0x10019060", "fld dword ptr [esp + 0x10]"]]}, {"both": [["0x10019088", "fsqrt ", "0x10019064"], ["0x1001908a", "fcom dword ptr [0.0 (FLOAT)]", "0x10019066"]]}, {"orig": [["0x10019090", "fstp dword ptr [esp + 0x38]"]], "recomp": [["0x1001906c", "fstp dword ptr [esp + 0x10]"]]}, {"both": [["0x10019094", "fnstsw ax", "0x10019070"], ["0x10019096", "test ah, 0x41", "0x10019072"], ["0x10019099", "jne 0x10", "0x10019075"]]}, {"orig": [["0x1001909b", "lea eax, [esp + 0x38]"], ["0x1001909f", "lea ecx, [esp + 0x10]"], ["0x100190a3", "mov ebx, dword ptr [esp + 0x10]"]], "recomp": [["0x10019077", "lea eax, [esp + 0x10]"], ["0x1001907b", "lea ecx, [esp + 0x14]"], ["0x1001907f", "mov ebx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100190a7", "push eax", "0x10019083"], ["0x100190a8", "call dword ptr [ebx + 0x14]", "0x10019084"]]}, {"orig": [["0x100190ab", "mov eax, dword ptr [esp + 0x28]"], ["0x100190af", "mov ecx, dword ptr [esp + 0x14]"], ["0x100190b3", "mov ebx, dword ptr [esp + 0x24]"]], "recomp": [["0x10019087", "mov eax, dword ptr [esp + 0x74]"], ["0x1001908b", "mov ecx, dword ptr [esp + 0x18]"], ["0x1001908f", "mov ebx, dword ptr [esp + 0x70]"]]}, {"both": [["0x100190b7", "push eax", "0x10019093"], ["0x100190b8", "push ecx", "0x10019094"]]}, {"orig": [["0x100190b9", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x10019095", "lea ecx, [esp + 0x78]"]]}, {"both": [["0x100190bd", "call dword ptr [ebx + 0x18]", "0x10019099"], ["0x100190c0", "fcomp qword ptr [0.0 (FLOAT)]", "0x1001909c"], ["0x100190c6", "fnstsw ax", "0x100190a2"], ["0x100190c8", "test ah, 1", "0x100190a4"], ["0x100190cb", "jne 0x16c", "0x100190a7"], ["0x100190d1", "mov esi, dword ptr [esi + 0x14]", "0x100190ad"], ["0x100190d4", "mov ecx, dword ptr [ebp - 0x50]", "0x100190b0"]]}, {"orig": [["0x100190d7", "fld dword ptr [esi + 0x38]"]], "recomp": [["0x100190b3", "fld dword ptr [esi + 0x34]"]]}, {"both": [["0x100190da", "mov eax, dword ptr [ecx + 4]", "0x100190b6"], ["0x100190dd", "add esi, 0x30", "0x100190b9"], ["0x100190e0", "add ecx, 4", "0x100190bc"], ["0x100190e3", "mov edx, dword ptr [eax + ebp + 4]", "0x100190bf"], ["0x100190e7", "mov eax, dword ptr [edx + 0x14]", "0x100190c3"], ["0x100190ea", "add eax, 0x30", "0x100190c6"]]}, {"orig": [], "recomp": [["0x100190c9", "fsub dword ptr [eax + 4]"], ["0x100190cc", "fld dword ptr [esi + 8]"]]}, {"both": [["0x100190ed", "fsub dword ptr [eax + 8]", "0x100190cf"]]}, {"orig": [["0x100190f0", "fld dword ptr [esi + 4]"], ["0x100190f3", "fsub dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x100190f6", "fld dword ptr [esi]", "0x100190d2"], ["0x100190f8", "fsub dword ptr [eax]", "0x100190d4"], ["0x100190fa", "fxch st(2)", "0x100190d6"], ["0x100190fc", "fmul st(0), st(0)", "0x100190d8"], ["0x100190fe", "fxch st(1)", "0x100190da"], ["0x10019100", "fmul st(0), st(0)", "0x100190dc"], ["0x10019102", "faddp st(1)", "0x100190de"], ["0x10019104", "fxch st(1)", "0x100190e0"], ["0x10019106", "fmul st(0), st(0)", "0x100190e2"], ["0x10019108", "faddp st(1)", "0x100190e4"]]}]], ["@@ -0x1001912f,81 +0x1001910b,95 @@", [{"both": [["0x1001912f", "push 2", "0x1001910b"], ["0x10019131", "lea ecx, [ebp - 0x54]", "0x1001910d"], ["0x10019134", "call Act2Actor::FUN_100199f0 (FUNCTION)", "0x10019110"], ["0x10019139", "mov byte ptr [ebp - 0x36], 1", "0x10019115"], ["0x1001913d", "jmp 0xfb", "0x10019119"], ["0x10019142", "mov eax, dword ptr [ecx]", "0x1001911e"], ["0x10019144", "mov ecx, dword ptr [eax + ebp + 4]", "0x10019120"], ["0x10019148", "push ecx", "0x10019124"], ["0x10019149", "push 'windsd' (STRING)", "0x10019125"], ["0x1001914e", "call LegoROI::FindChildROI (FUNCTION)", "0x1001912a"]]}, {"orig": [], "recomp": [["0x1001912f", "fld dword ptr [esi + 8]"], ["0x10019132", "mov eax, dword ptr [eax + 0x14]"], ["0x10019135", "fsub dword ptr [eax + 0x38]"]]}, {"both": [["0x10019153", "fld dword ptr [esi + 4]", "0x10019138"]]}, {"orig": [["0x10019156", "mov eax, dword ptr [eax + 0x14]"]], "recomp": []}, {"both": [["0x10019159", "fsub dword ptr [eax + 0x34]", "0x1001913b"]]}, {"orig": [["0x1001915c", "fld dword ptr [esi + 8]"], ["0x1001915f", "fsub dword ptr [eax + 0x38]"]], "recomp": []}, {"both": [["0x10019162", "fld dword ptr [esi]", "0x1001913e"], ["0x10019164", "fsub dword ptr [eax + 0x30]", "0x10019140"], ["0x10019167", "fxch st(2)", "0x10019143"], ["0x10019169", "fmul st(0), st(0)", "0x10019145"], ["0x1001916b", "fxch st(1)", "0x10019147"], ["0x1001916d", "fmul st(0), st(0)", "0x10019149"]]}, {"orig": [["0x1001916f", "mov ecx, dword ptr [ebp - 0x50]"]], "recomp": []}, {"both": [["0x10019172", "faddp st(1)", "0x1001914b"], ["0x10019174", "fxch st(1)", "0x1001914d"], ["0x10019176", "fmul st(0), st(0)", "0x1001914f"], ["0x10019178", "faddp st(1)", "0x10019151"]]}, {"orig": [["0x1001917a", "fstp dword ptr [esp + 0x38]"]], "recomp": [["0x10019153", "fstp dword ptr [esp + 0x10]"], ["0x10019157", "mov ecx, dword ptr [ebp - 0x50]"], ["0x1001915a", "add eax, 0x30"]]}, {"both": [["0x1001917e", "mov edx, dword ptr [ecx + 4]", "0x1001915d"]]}, {"orig": [["0x10019181", "add eax, 0x30"]], "recomp": []}, {"both": [["0x10019184", "mov ecx, dword ptr [edx + ebp + 4]", "0x10019160"], ["0x10019188", "push ecx", "0x10019164"], ["0x10019189", "push 'reardr' (STRING)", "0x10019165"], ["0x1001918e", "call LegoROI::FindChildROI (FUNCTION)", "0x1001916a"]]}, {"orig": [["0x10019193", "fld dword ptr [esi + 4]"]], "recomp": [["0x1001916f", "fld dword ptr [esi + 8]"]]}, {"both": [["0x10019196", "mov eax, dword ptr [eax + 0x14]", "0x10019172"], ["0x10019199", "add eax, 0x30", "0x10019175"]]}, {"orig": [], "recomp": [["0x10019178", "fsub dword ptr [eax + 8]"], ["0x1001917b", "fld dword ptr [esi + 4]"]]}, {"both": [["0x1001919c", "fsub dword ptr [eax + 4]", "0x1001917e"]]}, {"orig": [["0x1001919f", "fld dword ptr [esi + 8]"], ["0x100191a2", "fsub dword ptr [eax + 8]"]], "recomp": []}, {"both": [["0x100191a5", "fld dword ptr [esi]", "0x10019181"], ["0x100191a7", "fsub dword ptr [eax]", "0x10019183"], ["0x100191a9", "fxch st(2)", "0x10019185"], ["0x100191ab", "fmul st(0), st(0)", "0x10019187"], ["0x100191ad", "fxch st(1)", "0x10019189"], ["0x100191af", "fmul st(0), st(0)", "0x1001918b"], ["0x100191b1", "faddp st(1)", "0x1001918d"], ["0x100191b3", "fxch st(1)", "0x1001918f"], ["0x100191b5", "fmul st(0), st(0)", "0x10019191"], ["0x100191b7", "faddp st(1)", "0x10019193"]]}, {"orig": [["0x100191b9", "fcomp dword ptr [esp + 0x38]"]], "recomp": [["0x10019195", "fcomp dword ptr [esp + 0x10]"]]}, {"both": [["0x100191bd", "fnstsw ax", "0x10019199"], ["0x100191bf", "test ah, 0x41", "0x1001919b"], ["0x100191c2", "jne 0xc", "0x1001919e"], ["0x100191c4", "push 0", "0x100191a0"], ["0x100191c6", "lea ecx, [ebp - 0x54]", "0x100191a2"], ["0x100191c9", "call Act2Actor::FUN_100199f0 (FUNCTION)", "0x100191a5"], ["0x100191ce", "jmp 0x6d", "0x100191aa"]]}, {"orig": [["0x100191d0", "fld dword ptr [esp + 0xe0]"]], "recomp": [["0x100191ac", "fld dword ptr [esp + 0xbc]"]]}, {"both": [["0x100191d7", "fsub dword ptr [ebp - 0x30]", "0x100191b3"], ["0x100191da", "fcomp dword ptr [3000.0 (FLOAT)]", "0x100191b6"], ["0x100191e0", "fnstsw ax", "0x100191bc"], ["0x100191e2", "test ah, 0x41", "0x100191be"], ["0x100191e5", "jne 0x56", "0x100191c1"], ["0x100191e7", "mov eax, dword ptr [ebp - 0x50]", "0x100191c3"], ["0x100191ea", "sub esp, 4", "0x100191c6"], ["0x100191ed", "mov edx, dword ptr [eax + 4]", "0x100191c9"], ["0x100191f0", "movsx eax, byte ptr [ebp - 0x2c]", "0x100191cc"], ["0x100191f4", "lea ecx, [edx + ebp - 0x50]", "0x100191d0"], ["0x100191f8", "dec eax", "0x100191d4"]]}, {"orig": [["0x100191f9", "mov dword ptr [esp + 0x3c], eax"], ["0x100191fd", "fild dword ptr [esp + 0x3c]"]], "recomp": [["0x100191d5", "mov dword ptr [esp + 0x14], eax"], ["0x100191d9", "fild dword ptr [esp + 0x14]"]]}, {"both": [["0x10019201", "fstp dword ptr [esp]", "0x100191dd"], ["0x10019204", "mov ebx, dword ptr [ecx]", "0x100191e0"], ["0x10019206", "call dword ptr [ebx + 0x30]", "0x100191e2"], ["0x10019209", "mov byte ptr [ebp - 0x36], 3", "0x100191e5"]]}, {"orig": [["0x1001920d", "mov ecx, dword ptr [esp + 0xe0]"]], "recomp": [["0x100191e9", "mov ecx, dword ptr [esp + 0xbc]"]]}, {"both": [["0x10019214", "mov dword ptr [ebp - 0x30], ecx", "0x100191f0"], ["0x10019217", "call CurrentWorld (FUNCTION)", "0x100191f3"], ["0x1001921c", "mov ecx, eax", "0x100191f8"], ["0x1001921e", "call LegoAct2::FUN_100516b0 (FUNCTION)", "0x100191fa"], ["0x10019223", "test eax, eax", "0x100191ff"]]}, {"orig": [], "recomp": [["0x10019201", "jne 0x16"], ["0x10019203", "push 1"], ["0x10019205", "lea ecx, [ebp - 0x54]"], ["0x10019208", "call Act2Actor::FUN_100199f0 (FUNCTION)"], ["0x1001920d", "jmp 0xa"], ["0x1001920f", "cmp byte ptr [ebp - 0x38], 0"], ["0x10019213", "je 0x4"], ["0x10019215", "mov byte ptr [ebp - 0x38], 0"], ["0x10019219", "pop ebp"], ["0x1001921a", "pop edi"], ["0x1001921b", "pop esi"], ["0x1001921c", "pop ebx"], ["0x1001921d", "add esp, 0xa8"], ["0x10019223", "ret 4"]]}]]]}, {"address": "0x10019250", "recomp": "0x10019230", "name": "Act2Actor::FUN_10019250", "matching": 1.0, "diff": []}, {"address": "0x10019280", "recomp": "0x10019260", "name": "Act2Actor::SetWorldSpeed", "matching": 1.0, "diff": []}, {"address": "0x100192a0", "recomp": "0x10019280", "name": "Act2Actor::FUN_100192a0", "matching": 1.0, "diff": []}, {"address": "0x100194f0", "recomp": "0x100194d0", "name": "list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >", "matching": 1.0, "diff": []}, {"address": "0x10019520", "recomp": "0x10019500", "name": "Act2Actor::FUN_10019520", "matching": 1.0, "diff": []}, {"address": "0x10019560", "recomp": "0x10019540", "name": "Act2Actor::FUN_10019560", "matching": 1.0, "diff": []}, {"address": "0x100195a0", "recomp": "0x10019580", "name": "Act2Actor::VTable0xa0", "matching": 1.0, "diff": []}, {"address": "0x10019700", "recomp": "0x100196e0", "name": "Act2Actor::FUN_10019700", "matching": 1.0, "effective": true, "diff": [["@@ -0x100197c9,22 +0x100197a9,22 @@", [{"both": [["0x100197c9", "fld dword ptr [ebp + 0x2c]", "0x100197a9"], ["0x100197cc", "fcomp dword ptr [esp + 0x7c]", "0x100197ac"], ["0x100197d0", "fnstsw ax", "0x100197b0"], ["0x100197d2", "test ah, 1", "0x100197b2"], ["0x100197d5", "je 0x47", "0x100197b5"], ["0x100197d7", "xor ebx, ebx", "0x100197b7"], ["0x100197d9", "push g_unk0x100f0f20 (DATA)", "0x100197b9"], ["0x100197de", "mov ecx, ebp", "0x100197be"], ["0x100197e0", "mov byte ptr [g_unk0x100f0f20 (DATA)], bl", "0x100197c0"], ["0x100197e6", "call Act2Actor::FUN_10019b90 (FUNCTION)", "0x100197c6"]]}, {"orig": [], "recomp": [["0x100197cb", "mov ecx, dword ptr [ebp + 0x34]"]]}, {"both": [["0x100197eb", "mov dword ptr [ebp + 0x4c], eax", "0x100197ce"]]}, {"orig": [["0x100197ee", "mov ecx, dword ptr [ebp + 0x34]"]], "recomp": []}, {"both": [["0x100197f1", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x100197d1"], ["0x100197f6", "fadd dword ptr [esp + 0x7c]", "0x100197d6"], ["0x100197fa", "xor eax, eax", "0x100197da"], ["0x100197fc", "fst dword ptr [ebp + 0x2c]", "0x100197dc"], ["0x100197ff", "fsub dword ptr [1300.0 (FLOAT)]", "0x100197df"], ["0x10019805", "fstp dword ptr [ebp + 0x30]", "0x100197e5"], ["0x10019808", "pop ebp", "0x100197e8"], ["0x10019809", "mov byte ptr [g_unk0x100f0f24 (DATA)], bl", "0x100197e9"], ["0x1001980f", "pop edi", "0x100197ef"], ["0x10019810", "mov byte ptr [g_unk0x100f0f28 (DATA)], bl", "0x100197f0"]]}]]]}, {"address": "0x100199f0", "recomp": "0x100199d0", "name": "Act2Actor::FUN_100199f0", "matching": 1.0, "diff": []}, {"address": "0x10019b90", "recomp": "0x10019b70", "name": "Act2Actor::FUN_10019b90", "matching": 0.7380191693290735, "diff": [["@@ -,305 +,305 @@", [{"both": [["0x10019b9e", "call BuildingManager (FUNCTION)", "0x10019b7e"], ["0x10019ba3", "mov ecx, eax", "0x10019b83"], ["0x10019ba5", "call LegoBuildingManager::GetInfoArray (FUNCTION)", "0x10019b85"], ["0x10019baa", "mov edi, eax", "0x10019b8a"], ["0x10019bac", "lea eax, [esp + 0x10]", "0x10019b8c"], ["0x10019bb0", "push eax", "0x10019b90"], ["0x10019bb1", "call PlantManager (FUNCTION)", "0x10019b91"], ["0x10019bb6", "mov ecx, eax", "0x10019b96"], ["0x10019bb8", "call LegoPlantManager::GetInfoArray (FUNCTION)", "0x10019b98"], ["0x10019bbd", "movsx ecx, byte ptr [esi + 0x1d]", "0x10019b9d"]]}, {"orig": [["0x10019bc1", "xor edx, edx"]], "recomp": [["0x10019ba1", "mov edx, eax"], ["0x10019ba3", "xor eax, eax"]]}, {"both": [["0x10019bc3", "cmp ecx, 8", "0x10019ba5"], ["0x10019bc6", "ja 0x475", "0x10019ba8"], ["0x10019bcc", "jmp dword ptr [ecx*4 + <OFFSET5>]", "0x10019bae"], ["0x10019bd3", "cmp byte ptr [edi + 0x221], 0", "0x10019bb5"], ["0x10019bda", "je 0xb", "0x10019bbc"]]}, {"orig": [["0x10019bdc", "mov edx, dword ptr [edi + 0x210]"]], "recomp": [["0x10019bbe", "mov eax, dword ptr [edi + 0x210]"]]}, {"both": [["0x10019be2", "jmp 0x453", "0x10019bc4"], ["0x10019be7", "cmp byte ptr [edi + 0x279], 0", "0x10019bc9"], ["0x10019bee", "je 0xb", "0x10019bd0"]]}, {"orig": [["0x10019bf0", "mov edx, dword ptr [edi + 0x268]"]], "recomp": [["0x10019bd2", "mov eax, dword ptr [edi + 0x268]"]]}, {"both": [["0x10019bf6", "jmp 0x43f", "0x10019bd8"], ["0x10019bfb", "xor ecx, ecx", "0x10019bdd"], ["0x10019bfd", "cmp dword ptr [g_unk0x100f0f30[0] (DATA)], -1", "0x10019bdf"], ["0x10019c04", "mov dword ptr [esp + 0x10], ecx", "0x10019be6"], ["0x10019c08", "je 0x433", "0x10019bea"], ["0x10019c0e", "mov ebx, 0xffffffff", "0x10019bf0"], ["0x10019c13", "mov edi, dword ptr [esp + 0x10]", "0x10019bf5"], ["0x10019c17", "mov edi, dword ptr [edi*4 + g_unk0x100f0f30[0] (DATA)]", "0x10019bf9"], ["0x10019c1e", "mov ebp, edi", "0x10019c00"], ["0x10019c20", "lea edi, [edi + edi*4]", "0x10019c02"], ["0x10019c23", "lea ebp, [ebp + edi*4]", "0x10019c05"]]}, {"orig": [["0x10019c27", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019c09", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019c2b", "jne 0x16", "0x10019c0d"], ["0x10019c2d", "inc dword ptr [esp + 0x10]", "0x10019c0f"], ["0x10019c31", "mov edi, dword ptr [esp + 0x10]", "0x10019c13"], ["0x10019c35", "cmp dword ptr [edi*4 + g_unk0x100f0f30[0] (DATA)], ebx", "0x10019c17"], ["0x10019c3c", "jne -0x2b", "0x10019c1e"], ["0x10019c3e", "jmp 0x3fe", "0x10019c20"]]}, {"orig": [["0x10019c43", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019c47", "mov ecx, dword ptr [ecx*4 + g_unk0x100f0f30[0] (DATA)]"], ["0x10019c4e", "lea ebx, [ecx + ecx*4]"], ["0x10019c51", "lea ecx, [ecx + ebx*4]"], ["0x10019c54", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019c25", "mov eax, dword ptr [esp + 0x10]"], ["0x10019c29", "mov eax, dword ptr [eax*4 + g_unk0x100f0f30[0] (DATA)]"], ["0x10019c30", "lea ebx, [eax + eax*4]"], ["0x10019c33", "lea eax, [eax + ebx*4]"], ["0x10019c36", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019c57", "jmp 0x3e5", "0x10019c39"], ["0x10019c5c", "cmp byte ptr [edi + 0x24d], 0", "0x10019c3e"], ["0x10019c63", "je 0xb", "0x10019c45"]]}, {"orig": [["0x10019c65", "mov edx, dword ptr [edi + 0x23c]"]], "recomp": [["0x10019c47", "mov eax, dword ptr [edi + 0x23c]"]]}, {"both": [["0x10019c6b", "jmp 0x3ca", "0x10019c4d"], ["0x10019c70", "xor ecx, ecx", "0x10019c52"], ["0x10019c72", "cmp dword ptr [g_unk0x100f0f50[0] (DATA)], -1", "0x10019c54"], ["0x10019c79", "mov dword ptr [esp + 0x10], ecx", "0x10019c5b"], ["0x10019c7d", "je 0x3be", "0x10019c5f"], ["0x10019c83", "mov ebx, 0xffffffff", "0x10019c65"], ["0x10019c88", "mov edi, dword ptr [esp + 0x10]", "0x10019c6a"], ["0x10019c8c", "mov edi, dword ptr [edi*4 + g_unk0x100f0f50[0] (DATA)]", "0x10019c6e"], ["0x10019c93", "mov ebp, edi", "0x10019c75"], ["0x10019c95", "lea edi, [edi + edi*4]", "0x10019c77"], ["0x10019c98", "lea ebp, [ebp + edi*4]", "0x10019c7a"]]}, {"orig": [["0x10019c9c", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019c7e", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019ca0", "jne 0x16", "0x10019c82"], ["0x10019ca2", "inc dword ptr [esp + 0x10]", "0x10019c84"], ["0x10019ca6", "mov edi, dword ptr [esp + 0x10]", "0x10019c88"], ["0x10019caa", "cmp dword ptr [edi*4 + g_unk0x100f0f50[0] (DATA)], ebx", "0x10019c8c"], ["0x10019cb1", "jne -0x2b", "0x10019c93"], ["0x10019cb3", "jmp 0x389", "0x10019c95"]]}, {"orig": [["0x10019cb8", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019cbc", "mov edx, dword ptr [ecx*4 + g_unk0x100f0f50[0] (DATA)]"], ["0x10019cc3", "lea ecx, [edx + edx*4]"], ["0x10019cc6", "lea edx, [edx + ecx*4]"], ["0x10019cc9", "mov edx, dword ptr [eax + edx*4]"]], "recomp": [["0x10019c9a", "mov eax, dword ptr [esp + 0x10]"], ["0x10019c9e", "mov ecx, dword ptr [eax*4 + g_unk0x100f0f50[0] (DATA)]"], ["0x10019ca5", "lea eax, [ecx + ecx*4]"], ["0x10019ca8", "lea ecx, [ecx + eax*4]"], ["0x10019cab", "mov eax, dword ptr [edx + ecx*4]"]]}, {"both": [["0x10019ccc", "jmp 0x370", "0x10019cae"], ["0x10019cd1", "cmp byte ptr [edi + 0x19d], 0", "0x10019cb3"], ["0x10019cd8", "je 0xb", "0x10019cba"]]}, {"orig": [["0x10019cda", "mov edx, dword ptr [edi + 0x18c]"]], "recomp": [["0x10019cbc", "mov eax, dword ptr [edi + 0x18c]"]]}, {"both": [["0x10019ce0", "jmp 0x355", "0x10019cc2"], ["0x10019ce5", "cmp byte ptr [edi + 0x1f5], 0", "0x10019cc7"], ["0x10019cec", "je 0xb", "0x10019cce"]]}, {"orig": [["0x10019cee", "mov edx, dword ptr [edi + 0x1e4]"]], "recomp": [["0x10019cd0", "mov eax, dword ptr [edi + 0x1e4]"]]}, {"both": [["0x10019cf4", "jmp 0x341", "0x10019cd6"], ["0x10019cf9", "xor ecx, ecx", "0x10019cdb"], ["0x10019cfb", "cmp dword ptr [g_unk0x100f0f90[0] (DATA)], -1", "0x10019cdd"], ["0x10019d02", "mov dword ptr [esp + 0x10], ecx", "0x10019ce4"], ["0x10019d06", "je 0x335", "0x10019ce8"], ["0x10019d0c", "mov ebx, 0xffffffff", "0x10019cee"], ["0x10019d11", "mov edi, dword ptr [esp + 0x10]", "0x10019cf3"], ["0x10019d15", "mov ebp, dword ptr [edi*4 + g_unk0x100f0f90[0] (DATA)]", "0x10019cf7"], ["0x10019d1c", "mov edi, ebp", "0x10019cfe"], ["0x10019d1e", "lea ebp, [ebp + ebp*4]", "0x10019d00"], ["0x10019d22", "lea edi, [edi + ebp*4]", "0x10019d04"]]}, {"orig": [["0x10019d25", "cmp byte ptr [eax + edi*4 + 0x16], cl"]], "recomp": [["0x10019d07", "cmp byte ptr [edx + edi*4 + 0x16], cl"]]}, {"both": [["0x10019d29", "jne 0x16", "0x10019d0b"], ["0x10019d2b", "inc dword ptr [esp + 0x10]", "0x10019d0d"], ["0x10019d2f", "mov edi, dword ptr [esp + 0x10]", "0x10019d11"], ["0x10019d33", "cmp dword ptr [edi*4 + g_unk0x100f0f90[0] (DATA)], ebx", "0x10019d15"], ["0x10019d3a", "jne -0x2b", "0x10019d1c"], ["0x10019d3c", "jmp 0x300", "0x10019d1e"]]}, {"orig": [["0x10019d41", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019d45", "mov ecx, dword ptr [ecx*4 + g_unk0x100f0f90[0] (DATA)]"], ["0x10019d4c", "lea ebx, [ecx + ecx*4]"], ["0x10019d4f", "lea ecx, [ecx + ebx*4]"], ["0x10019d52", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019d23", "mov eax, dword ptr [esp + 0x10]"], ["0x10019d27", "mov eax, dword ptr [eax*4 + g_unk0x100f0f90[0] (DATA)]"], ["0x10019d2e", "lea ebx, [eax + eax*4]"], ["0x10019d31", "lea eax, [eax + ebx*4]"], ["0x10019d34", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019d55", "jmp 0x2e7", "0x10019d37"], ["0x10019d5a", "cmp byte ptr [edi + 0x145], 0", "0x10019d3c"], ["0x10019d61", "je 0xb", "0x10019d43"]]}, {"orig": [["0x10019d63", "mov edx, dword ptr [edi + 0x134]"]], "recomp": [["0x10019d45", "mov eax, dword ptr [edi + 0x134]"]]}, {"both": [["0x10019d69", "jmp 0x2cc", "0x10019d4b"], ["0x10019d6e", "cmp byte ptr [edi + 0x171], 0", "0x10019d50"], ["0x10019d75", "je 0xb", "0x10019d57"]]}, {"orig": [["0x10019d77", "mov edx, dword ptr [edi + 0x160]"]], "recomp": [["0x10019d59", "mov eax, dword ptr [edi + 0x160]"]]}, {"both": [["0x10019d7d", "jmp 0x2b8", "0x10019d5f"], ["0x10019d82", "cmp byte ptr [edi + 0x95], 0", "0x10019d64"], ["0x10019d89", "je 0xb", "0x10019d6b"]]}, {"orig": [["0x10019d8b", "mov edx, dword ptr [edi + 0x84]"]], "recomp": [["0x10019d6d", "mov eax, dword ptr [edi + 0x84]"]]}, {"both": [["0x10019d91", "jmp 0x2a4", "0x10019d73"], ["0x10019d96", "xor ecx, ecx", "0x10019d78"], ["0x10019d98", "cmp dword ptr [g_unk0x100f0fa8[0] (DATA)], -1", "0x10019d7a"], ["0x10019d9f", "mov dword ptr [esp + 0x10], ecx", "0x10019d81"], ["0x10019da3", "je 0x298", "0x10019d85"], ["0x10019da9", "mov ebx, 0xffffffff", "0x10019d8b"], ["0x10019dae", "mov edi, dword ptr [esp + 0x10]", "0x10019d90"], ["0x10019db2", "mov edi, dword ptr [edi*4 + g_unk0x100f0fa8[0] (DATA)]", "0x10019d94"], ["0x10019db9", "mov ebp, edi", "0x10019d9b"], ["0x10019dbb", "lea edi, [edi + edi*4]", "0x10019d9d"], ["0x10019dbe", "lea ebp, [ebp + edi*4]", "0x10019da0"]]}, {"orig": [["0x10019dc2", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019da4", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019dc6", "jne 0x16", "0x10019da8"], ["0x10019dc8", "inc dword ptr [esp + 0x10]", "0x10019daa"], ["0x10019dcc", "mov edi, dword ptr [esp + 0x10]", "0x10019dae"], ["0x10019dd0", "cmp dword ptr [edi*4 + g_unk0x100f0fa8[0] (DATA)], ebx", "0x10019db2"], ["0x10019dd7", "jne -0x2b", "0x10019db9"], ["0x10019dd9", "jmp 0x263", "0x10019dbb"]]}, {"orig": [["0x10019dde", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019de2", "mov ecx, dword ptr [ecx*4 + g_unk0x100f0fa8[0] (DATA)]"], ["0x10019de9", "lea ebx, [ecx + ecx*4]"], ["0x10019dec", "lea ecx, [ecx + ebx*4]"], ["0x10019def", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019dc0", "mov eax, dword ptr [esp + 0x10]"], ["0x10019dc4", "mov eax, dword ptr [eax*4 + g_unk0x100f0fa8[0] (DATA)]"], ["0x10019dcb", "lea ebx, [eax + eax*4]"], ["0x10019dce", "lea eax, [eax + ebx*4]"], ["0x10019dd1", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019df2", "jmp 0x24a", "0x10019dd4"], ["0x10019df7", "cmp byte ptr [edi + 0xed], 0", "0x10019dd9"], ["0x10019dfe", "je 0xb", "0x10019de0"]]}, {"orig": [["0x10019e00", "mov edx, dword ptr [edi + 0xdc]"]], "recomp": [["0x10019de2", "mov eax, dword ptr [edi + 0xdc]"]]}, {"both": [["0x10019e06", "jmp 0x22f", "0x10019de8"], ["0x10019e0b", "cmp byte ptr [edi + 0x1c9], 0", "0x10019ded"], ["0x10019e12", "je 0xb", "0x10019df4"]]}, {"orig": [["0x10019e14", "mov edx, dword ptr [edi + 0x1b8]"]], "recomp": [["0x10019df6", "mov eax, dword ptr [edi + 0x1b8]"]]}, {"both": [["0x10019e1a", "jmp 0x21b", "0x10019dfc"], ["0x10019e1f", "xor ecx, ecx", "0x10019e01"], ["0x10019e21", "cmp dword ptr [g_unk0x100f0fb8[0] (DATA)], -1", "0x10019e03"], ["0x10019e28", "mov dword ptr [esp + 0x10], ecx", "0x10019e0a"], ["0x10019e2c", "je 0x20f", "0x10019e0e"], ["0x10019e32", "mov ebx, 0xffffffff", "0x10019e14"], ["0x10019e37", "mov edi, dword ptr [esp + 0x10]", "0x10019e19"], ["0x10019e3b", "mov ebp, dword ptr [edi*4 + g_unk0x100f0fb8[0] (DATA)]", "0x10019e1d"], ["0x10019e42", "mov edi, ebp", "0x10019e24"], ["0x10019e44", "lea ebp, [ebp + ebp*4]", "0x10019e26"], ["0x10019e48", "lea edi, [edi + ebp*4]", "0x10019e2a"]]}, {"orig": [["0x10019e4b", "cmp byte ptr [eax + edi*4 + 0x16], cl"]], "recomp": [["0x10019e2d", "cmp byte ptr [edx + edi*4 + 0x16], cl"]]}, {"both": [["0x10019e4f", "jne 0x16", "0x10019e31"], ["0x10019e51", "inc dword ptr [esp + 0x10]", "0x10019e33"], ["0x10019e55", "mov edi, dword ptr [esp + 0x10]", "0x10019e37"], ["0x10019e59", "cmp dword ptr [edi*4 + g_unk0x100f0fb8[0] (DATA)], ebx", "0x10019e3b"], ["0x10019e60", "jne -0x2b", "0x10019e42"], ["0x10019e62", "jmp 0x1da", "0x10019e44"]]}, {"orig": [["0x10019e67", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019e6b", "mov ecx, dword ptr [ecx*4 + g_unk0x100f0fb8[0] (DATA)]"], ["0x10019e72", "lea ebx, [ecx + ecx*4]"], ["0x10019e75", "lea ecx, [ecx + ebx*4]"], ["0x10019e78", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019e49", "mov eax, dword ptr [esp + 0x10]"], ["0x10019e4d", "mov eax, dword ptr [eax*4 + g_unk0x100f0fb8[0] (DATA)]"], ["0x10019e54", "lea ebx, [eax + eax*4]"], ["0x10019e57", "lea eax, [eax + ebx*4]"], ["0x10019e5a", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019e7b", "jmp 0x1c1", "0x10019e5d"], ["0x10019e80", "cmp byte ptr [edi + 0xc1], 0", "0x10019e62"], ["0x10019e87", "je 0xb", "0x10019e69"]]}, {"orig": [["0x10019e89", "mov edx, dword ptr [edi + 0xb0]"]], "recomp": [["0x10019e6b", "mov eax, dword ptr [edi + 0xb0]"]]}, {"both": [["0x10019e8f", "jmp 0x1a6", "0x10019e71"], ["0x10019e94", "xor ecx, ecx", "0x10019e76"], ["0x10019e96", "cmp dword ptr [g_unk0x100f0fe8[0] (DATA)], -1", "0x10019e78"], ["0x10019e9d", "mov dword ptr [esp + 0x10], ecx", "0x10019e7f"], ["0x10019ea1", "je 0x19a", "0x10019e83"], ["0x10019ea7", "mov ebx, 0xffffffff", "0x10019e89"], ["0x10019eac", "mov edi, dword ptr [esp + 0x10]", "0x10019e8e"], ["0x10019eb0", "mov edi, dword ptr [edi*4 + g_unk0x100f0fe8[0] (DATA)]", "0x10019e92"], ["0x10019eb7", "mov ebp, edi", "0x10019e99"], ["0x10019eb9", "lea edi, [edi + edi*4]", "0x10019e9b"], ["0x10019ebc", "lea ebp, [ebp + edi*4]", "0x10019e9e"]]}, {"orig": [["0x10019ec0", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019ea2", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019ec4", "jne 0x16", "0x10019ea6"], ["0x10019ec6", "inc dword ptr [esp + 0x10]", "0x10019ea8"], ["0x10019eca", "mov edi, dword ptr [esp + 0x10]", "0x10019eac"], ["0x10019ece", "cmp dword ptr [edi*4 + g_unk0x100f0fe8[0] (DATA)], ebx", "0x10019eb0"], ["0x10019ed5", "jne -0x2b", "0x10019eb7"], ["0x10019ed7", "jmp 0x165", "0x10019eb9"]]}, {"orig": [["0x10019edc", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019ee0", "mov ecx, dword ptr [ecx*4 + g_unk0x100f0fe8[0] (DATA)]"], ["0x10019ee7", "lea ebx, [ecx + ecx*4]"], ["0x10019eea", "lea ecx, [ecx + ebx*4]"], ["0x10019eed", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019ebe", "mov eax, dword ptr [esp + 0x10]"], ["0x10019ec2", "mov eax, dword ptr [eax*4 + g_unk0x100f0fe8[0] (DATA)]"], ["0x10019ec9", "lea ebx, [eax + eax*4]"], ["0x10019ecc", "lea eax, [eax + ebx*4]"], ["0x10019ecf", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019ef0", "jmp 0x14c", "0x10019ed2"], ["0x10019ef5", "cmp byte ptr [edi + 0x69], 0", "0x10019ed7"], ["0x10019ef9", "je 0x8", "0x10019edb"]]}, {"orig": [["0x10019efb", "mov edx, dword ptr [edi + 0x58]"]], "recomp": [["0x10019edd", "mov eax, dword ptr [edi + 0x58]"]]}, {"both": [["0x10019efe", "jmp 0x137", "0x10019ee0"], ["0x10019f03", "xor ecx, ecx", "0x10019ee5"], ["0x10019f05", "cmp dword ptr [g_unk0x100f1000[0] (DATA)], -1", "0x10019ee7"], ["0x10019f0c", "mov dword ptr [esp + 0x10], ecx", "0x10019eee"], ["0x10019f10", "je 0x12b", "0x10019ef2"], ["0x10019f16", "mov ebx, 0xffffffff", "0x10019ef8"], ["0x10019f1b", "mov edi, dword ptr [esp + 0x10]", "0x10019efd"], ["0x10019f1f", "mov edi, dword ptr [edi*4 + g_unk0x100f1000[0] (DATA)]", "0x10019f01"], ["0x10019f26", "mov ebp, edi", "0x10019f08"], ["0x10019f28", "lea edi, [edi + edi*4]", "0x10019f0a"], ["0x10019f2b", "lea ebp, [ebp + edi*4]", "0x10019f0d"]]}, {"orig": [["0x10019f2f", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019f11", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019f33", "jne 0x16", "0x10019f15"], ["0x10019f35", "inc dword ptr [esp + 0x10]", "0x10019f17"], ["0x10019f39", "mov edi, dword ptr [esp + 0x10]", "0x10019f1b"], ["0x10019f3d", "cmp dword ptr [edi*4 + g_unk0x100f1000[0] (DATA)], ebx", "0x10019f1f"], ["0x10019f44", "jne -0x2b", "0x10019f26"], ["0x10019f46", "jmp 0xf6", "0x10019f28"]]}, {"orig": [["0x10019f4b", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019f4f", "mov ecx, dword ptr [ecx*4 + g_unk0x100f1000[0] (DATA)]"], ["0x10019f56", "lea ebx, [ecx + ecx*4]"], ["0x10019f59", "lea ecx, [ecx + ebx*4]"], ["0x10019f5c", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019f2d", "mov eax, dword ptr [esp + 0x10]"], ["0x10019f31", "mov eax, dword ptr [eax*4 + g_unk0x100f1000[0] (DATA)]"], ["0x10019f38", "lea ebx, [eax + eax*4]"], ["0x10019f3b", "lea eax, [eax + ebx*4]"], ["0x10019f3e", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019f5f", "jmp 0xdd", "0x10019f41"], ["0x10019f64", "cmp byte ptr [edi + 0x119], 0", "0x10019f46"], ["0x10019f6b", "je 0xb", "0x10019f4d"]]}, {"orig": [["0x10019f6d", "mov edx, dword ptr [edi + 0x108]"]], "recomp": [["0x10019f4f", "mov eax, dword ptr [edi + 0x108]"]]}, {"both": [["0x10019f73", "jmp 0xc2", "0x10019f55"], ["0x10019f78", "xor ecx, ecx", "0x10019f5a"], ["0x10019f7a", "cmp dword ptr [g_unk0x100f1018[0] (DATA)], -1", "0x10019f5c"], ["0x10019f81", "mov dword ptr [esp + 0x10], ecx", "0x10019f63"], ["0x10019f85", "je 0xb6", "0x10019f67"], ["0x10019f8b", "mov ebx, 0xffffffff", "0x10019f6d"], ["0x10019f90", "mov edi, dword ptr [esp + 0x10]", "0x10019f72"], ["0x10019f94", "mov edi, dword ptr [edi*4 + g_unk0x100f1018[0] (DATA)]", "0x10019f76"], ["0x10019f9b", "mov ebp, edi", "0x10019f7d"], ["0x10019f9d", "lea edi, [edi + edi*4]", "0x10019f7f"], ["0x10019fa0", "lea ebp, [ebp + edi*4]", "0x10019f82"]]}, {"orig": [["0x10019fa4", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019f86", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019fa8", "jne 0x16", "0x10019f8a"], ["0x10019faa", "inc dword ptr [esp + 0x10]", "0x10019f8c"], ["0x10019fae", "mov edi, dword ptr [esp + 0x10]", "0x10019f90"], ["0x10019fb2", "cmp dword ptr [edi*4 + g_unk0x100f1018[0] (DATA)], ebx", "0x10019f94"], ["0x10019fb9", "jne -0x2b", "0x10019f9b"], ["0x10019fbb", "jmp 0x81", "0x10019f9d"]]}, {"orig": [["0x10019fc0", "mov ecx, dword ptr [esp + 0x10]"], ["0x10019fc4", "mov ecx, dword ptr [ecx*4 + g_unk0x100f1018[0] (DATA)]"], ["0x10019fcb", "lea ebx, [ecx + ecx*4]"], ["0x10019fce", "lea ecx, [ecx + ebx*4]"], ["0x10019fd1", "mov edx, dword ptr [eax + ecx*4]"]], "recomp": [["0x10019fa2", "mov eax, dword ptr [esp + 0x10]"], ["0x10019fa6", "mov eax, dword ptr [eax*4 + g_unk0x100f1018[0] (DATA)]"], ["0x10019fad", "lea ebx, [eax + eax*4]"], ["0x10019fb0", "lea eax, [eax + ebx*4]"], ["0x10019fb3", "mov eax, dword ptr [edx + eax*4]"]]}, {"both": [["0x10019fd4", "jmp 0x6b", "0x10019fb6"], ["0x10019fd6", "xor ecx, ecx", "0x10019fb8"], ["0x10019fd8", "cmp dword ptr [g_unk0x100f1030[0] (DATA)], -1", "0x10019fba"], ["0x10019fdf", "mov dword ptr [esp + 0x10], ecx", "0x10019fc1"], ["0x10019fe3", "je 0x42", "0x10019fc5"], ["0x10019fe5", "mov ebx, dword ptr [esp + 0x10]", "0x10019fc7"], ["0x10019fe9", "mov ebx, dword ptr [ebx*4 + g_unk0x100f1030[0] (DATA)]", "0x10019fcb"], ["0x10019ff0", "mov ebp, ebx", "0x10019fd2"], ["0x10019ff2", "lea ebx, [ebx + ebx*4]", "0x10019fd4"], ["0x10019ff5", "lea ebp, [ebp + ebx*4]", "0x10019fd7"]]}, {"orig": [["0x10019ff9", "cmp byte ptr [eax + ebp*4 + 0x16], cl"]], "recomp": [["0x10019fdb", "cmp byte ptr [edx + ebp*4 + 0x16], cl"]]}, {"both": [["0x10019ffd", "jne 0x14", "0x10019fdf"], ["0x10019fff", "inc dword ptr [esp + 0x10]", "0x10019fe1"], ["0x1001a003", "mov ebx, dword ptr [esp + 0x10]", "0x10019fe5"], ["0x1001a007", "cmp dword ptr [ebx*4 + g_unk0x100f1030[0] (DATA)], -1", "0x10019fe9"], ["0x1001a00f", "jne -0x2c", "0x10019ff1"], ["0x1001a011", "jmp 0x14", "0x10019ff3"]]}, {"orig": [["0x1001a013", "mov ecx, dword ptr [esp + 0x10]"], ["0x1001a017", "mov ecx, dword ptr [ecx*4 + g_unk0x100f1030[0] (DATA)]"], ["0x1001a01e", "lea ebx, [ecx + ecx*4]"], ["0x1001a021", "lea ecx, [ecx + ebx*4]"], ["0x1001a024", "mov edx, dword ptr [eax + ecx*4]"], ["0x1001a027", "test edx, edx"], ["0x1001a029", "jne 0x31"]], "recomp": [["0x10019ff5", "mov eax, dword ptr [esp + 0x10]"], ["0x10019ff9", "mov eax, dword ptr [eax*4 + g_unk0x100f1030[0] (DATA)]"], ["0x1001a000", "lea ebx, [eax + eax*4]"], ["0x1001a003", "lea eax, [eax + ebx*4]"], ["0x1001a006", "mov eax, dword ptr [edx + eax*4]"], ["0x1001a009", "test eax, eax"], ["0x1001a00b", "jne 0x32"]]}, {"both": [["0x1001a02b", "cmp byte ptr [edi + 0x2a5], 0", "0x1001a00d"], ["0x1001a032", "je 0xd", "0x1001a014"]]}, {"orig": [["0x1001a034", "mov edx, dword ptr [edi + 0x294]"], ["0x1001a03a", "mov eax, dword ptr [esp + 0x18]"], ["0x1001a03e", "mov byte ptr [eax], 1"], ["0x1001a041", "test edx, edx"], ["0x1001a043", "jne 0x17"], ["0x1001a045", "movsx eax, byte ptr [esi + 0x1d]"], ["0x1001a049", "shl eax, 5"], ["0x1001a04c", "add eax, g_brickstrLocations[0].m_unk0x1c (UNK)"], ["0x1001a051", "cmp byte ptr [eax], 0"]], "recomp": [["0x1001a016", "mov eax, dword ptr [edi + 0x294]"], ["0x1001a01c", "mov ecx, dword ptr [esp + 0x18]"], ["0x1001a020", "mov byte ptr [ecx], 1"], ["0x1001a023", "test eax, eax"], ["0x1001a025", "jne 0x18"], ["0x1001a027", "movsx ecx, byte ptr [esi + 0x1d]"], ["0x1001a02b", "shl ecx, 5"], ["0x1001a02e", "add ecx, g_brickstrLocations[0].m_unk0x1c (UNK)"], ["0x1001a034", "cmp byte ptr [ecx], 0"]]}, {"both": [["0x1001a054", "jne 0x6", "0x1001a037"]]}, {"orig": [["0x1001a056", "mov byte ptr [eax], 1"]], "recomp": [["0x1001a039", "mov byte ptr [ecx], 1"]]}, {"both": [["0x1001a059", "inc byte ptr [esi + 0x48]", "0x1001a03c"]]}, {"orig": [["0x1001a05c", "mov eax, edx"]], "recomp": []}, {"both": [["0x1001a05e", "pop ebp", "0x1001a03f"], ["0x1001a05f", "pop edi", "0x1001a040"], ["0x1001a060", "pop esi", "0x1001a041"], ["0x1001a061", "pop ebx", "0x1001a042"], ["0x1001a062", "add esp, 4", "0x1001a043"], ["0x1001a065", "ret 4", "0x1001a046"]]}, {"orig": [], "recomp": [["0x1001a049", "lea ecx, [ecx]"]]}, {"both": [["", "Jump table:", ""], ["0x1001a068", "Jump_dest_0", "0x1001a04c"], ["0x1001a06c", "Jump_dest_1", "0x1001a050"], ["0x1001a070", "Jump_dest_2", "0x1001a054"], ["0x1001a074", "Jump_dest_3", "0x1001a058"], ["0x1001a078", "Jump_dest_4", "0x1001a05c"], ["0x1001a07c", "Jump_dest_5", "0x1001a060"], ["0x1001a080", "Jump_dest_6", "0x1001a064"], ["0x1001a084", "Jump_dest_7", "0x1001a068"], ["0x1001a088", "Jump_dest_8", "0x1001a06c"]]}, {"orig": [["0x1001a08c", "Jump_dest_9"]], "recomp": []}]]]}, {"address": "0x1001a090", "recomp": "0x1001a070", "name": "Act2Actor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a0a0", "recomp": "0x1001a080", "name": "Act2Actor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001a120", "recomp": "0x1001a100", "name": "LegoAnimActor::ClassName`vtordisp{-4, 52}'", "matching": 1.0, "diff": []}, {"address": "0x1001a130", "recomp": "0x1001a110", "name": "LegoAnimActor::IsA`vtordisp{-4, 52}'", "matching": 1.0, "diff": []}, {"address": "0x1001a140", "recomp": "0x1001a120", "name": "LegoAnimActor::ParseAction`vtordisp{-4, 52}'", "matching": 1.0, "diff": []}, {"address": "0x1001a150", "recomp": "0x1001a130", "name": "Act2Actor::SetROI`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a160", "recomp": "0x1001a140", "name": "Act2Actor::SetWorldSpeed`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a170", "recomp": "0x1001a150", "name": "Act2Actor::VTable0x68`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a180", "recomp": "0x1001a160", "name": "Act2Actor::VTable0x68", "matching": 1.0, "diff": []}, {"address": "0x1001a1b0", "recomp": "0x1001a190", "name": "Act2Actor::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a1c0", "recomp": "0x1001a1a0", "name": "LegoAnimActor::VTable0x74`vtordisp{-4, 52}'", "matching": 1.0, "diff": []}, {"address": "0x1001a1d0", "recomp": "0x1001a1b0", "name": "Act2Actor::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a1e0", "recomp": "0x1001a1c0", "name": "Act2Actor::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a1f0", "recomp": "0x1001a1d0", "name": "Act2Actor::VTable0xa0`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1001a200", "recomp": "0x1001a1e0", "name": "IslePathActor::IslePathActor", "matching": 1.0, "diff": []}, {"address": "0x1001a280", "recomp": "0x1001a260", "name": "IslePathActor::Create", "matching": 1.0, "diff": []}, {"address": "0x1001a2a0", "recomp": "0x1001a280", "name": "IslePathActor::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001a2c0", "recomp": "0x1001a2a0", "name": "IslePathActor::Notify", "matching": 1.0, "diff": []}, {"address": "0x1001a350", "recomp": "0x1001a330", "name": "IslePathActor::Enter", "matching": 1.0, "diff": []}, {"address": "0x1001a3f0", "recomp": "0x1001a3d0", "name": "IslePathActor::Exit", "matching": 0.9405940594059405, "diff": [["@@ -0x1001a3f0,47 +0x1001a3d0,49 @@", [{"both": [["0x1001a3f0", "sub esp, 0x40", "0x1001a3d0"], ["0x1001a3f3", "push ebx", "0x1001a3d3"], ["0x1001a3f4", "push esi", "0x1001a3d4"], ["0x1001a3f5", "mov eax, dword ptr [ecx + 0x54]", "0x1001a3d5"], ["0x1001a3f8", "push edi", "0x1001a3d8"], ["0x1001a3f9", "push ebp", "0x1001a3d9"], ["0x1001a3fa", "mov esi, ecx", "0x1001a3da"]]}, {"orig": [["0x1001a3fc", "mov dword ptr [ecx + 0xdc], 0"]], "recomp": []}, {"both": [["0x1001a406", "mov byte ptr [eax + 0xc], 1", "0x1001a3dc"]]}, {"orig": [], "recomp": [["0x1001a3e0", "mov dword ptr [esi + 0xdc], 0"]]}, {"both": [["0x1001a40a", "mov eax, dword ptr [esi + 0x54]", "0x1001a3ea"], ["0x1001a40d", "push eax", "0x1001a3ed"], ["0x1001a40e", "call GetViewManager (FUNCTION)", "0x1001a3ee"], ["0x1001a413", "mov ecx, eax", "0x1001a3f3"], ["0x1001a415", "call ViewManager::Remove (FUNCTION)", "0x1001a3f5"], ["0x1001a41a", "mov ebx, dword ptr [esi + 0x54]", "0x1001a3fa"], ["0x1001a41d", "call GetViewManager (FUNCTION)", "0x1001a3fd"], ["0x1001a422", "mov edi, eax", "0x1001a402"], ["0x1001a424", "mov dword ptr [esp + 0x3c], ebx", "0x1001a404"], ["0x1001a428", "mov eax, dword ptr [edi + 0xc]", "0x1001a408"], ["0x1001a42b", "lea ebx, [eax + 4]", "0x1001a40b"], ["0x1001a42e", "mov ecx, dword ptr [ebx]", "0x1001a40e"], ["0x1001a430", "push ecx", "0x1001a410"], ["0x1001a431", "push eax", "0x1001a411"], ["0x1001a432", "lea ecx, [edi + 8]", "0x1001a412"], ["0x1001a435", "call list<ROI *,allocator<ROI *> >::_Buynode (FUNCTION)", "0x1001a415"], ["0x1001a43a", "mov ecx, eax", "0x1001a41a"], ["0x1001a43c", "mov dword ptr [ebx], eax", "0x1001a41c"]]}, {"orig": [], "recomp": [["0x1001a41e", "lea eax, [esp + 0x3c]"]]}, {"both": [["0x1001a43e", "mov edx, dword ptr [ecx + 4]", "0x1001a422"]]}, {"orig": [], "recomp": [["0x1001a425", "push eax"]]}, {"both": [["0x1001a441", "mov dword ptr [edx], ecx", "0x1001a426"], ["0x1001a443", "add ecx, 8", "0x1001a428"]]}, {"orig": [["0x1001a446", "je 0x6"], ["0x1001a448", "mov eax, dword ptr [esp + 0x3c]"], ["0x1001a44c", "mov dword ptr [ecx], eax"]], "recomp": [["0x1001a42b", "push ecx"], ["0x1001a42c", "call _Construct (FUNCTION)"], ["0x1001a431", "add esp, 8"], ["0x1001a434", "mov ecx, esi"]]}, {"both": [["0x1001a44e", "inc dword ptr [edi + 0x10]", "0x1001a436"], ["0x1001a451", "mov edi, dword ptr [esi]", "0x1001a439"], ["0x1001a453", "push 0", "0x1001a43b"]]}, {"orig": [["0x1001a455", "mov ecx, esi"]], "recomp": []}, {"both": [["0x1001a457", "call dword ptr [edi + 0x2c]", "0x1001a43d"], ["0x1001a45a", "push 0", "0x1001a440"], ["0x1001a45c", "mov ecx, esi", "0x1001a442"], ["0x1001a45e", "call dword ptr [edi + 0x78]", "0x1001a444"], ["0x1001a461", "mov eax, dword ptr [esi + 0x158]", "0x1001a447"], ["0x1001a467", "test eax, eax", "0x1001a44d"], ["0x1001a469", "je 0x1fa", "0x1001a44f"], ["0x1001a46f", "push eax", "0x1001a455"], ["0x1001a470", "call SetUserActor (FUNCTION)", "0x1001a456"], ["0x1001a475", "add esp, 4", "0x1001a45b"]]}]], ["@@ -0x1001a483,26 +0x1001a469,26 @@", [{"both": [["0x1001a483", "push 1", "0x1001a469"], ["0x1001a485", "mov dword ptr [eax + 0x28], edi", "0x1001a46b"], ["0x1001a488", "mov byte ptr [eax + 0x5c], 0", "0x1001a46e"], ["0x1001a48c", "mov ecx, dword ptr [esi + 0x158]", "0x1001a472"], ["0x1001a492", "mov ebx, dword ptr [ecx]", "0x1001a478"], ["0x1001a494", "call dword ptr [ebx + 0x2c]", "0x1001a47a"], ["0x1001a497", "mov ecx, dword ptr [esi + 0x158]", "0x1001a47d"], ["0x1001a49d", "push 1", "0x1001a483"], ["0x1001a49f", "mov ebx, dword ptr [ecx]", "0x1001a485"], ["0x1001a4a1", "call dword ptr [ebx + 0x78]", "0x1001a487"]]}, {"orig": [["0x1001a4a4", "mov edx, dword ptr [esi + 0x88]"], ["0x1001a4aa", "mov ecx, dword ptr [esi + 0x158]"], ["0x1001a4b0", "mov dword ptr [ecx + 0x88], edx"], ["0x1001a4b6", "mov edx, dword ptr [esi + 0x88]"]], "recomp": [["0x1001a48a", "mov ecx, dword ptr [esi + 0x88]"], ["0x1001a490", "mov eax, dword ptr [esi + 0x158]"], ["0x1001a496", "mov dword ptr [eax + 0x88], ecx"], ["0x1001a49c", "mov ecx, dword ptr [esi + 0x88]"]]}, {"both": [["0x1001a4bc", "mov dword ptr [esp + 0x10], 0", "0x1001a4a2"]]}, {"orig": [["0x1001a4c4", "cmp byte ptr [edx + 4], 0"]], "recomp": [["0x1001a4aa", "cmp byte ptr [ecx + 4], 0"]]}, {"both": [["0x1001a4c8", "jbe 0x137", "0x1001a4ae"], ["0x1001a4ce", "mov dword ptr [esp + 0x28], 0", "0x1001a4b4"], ["0x1001a4d6", "mov edx, dword ptr [esi + 0x88]", "0x1001a4bc"], ["0x1001a4dc", "mov eax, dword ptr [esp + 0x28]", "0x1001a4c2"], ["0x1001a4e0", "lea ebx, [esp + 0x1c]", "0x1001a4c6"], ["0x1001a4e4", "mov ecx, dword ptr [edx + 8]", "0x1001a4ca"], ["0x1001a4e7", "mov ecx, dword ptr [ecx + eax]", "0x1001a4cd"], ["0x1001a4ea", "mov dword ptr [esp + 0x18], ebx", "0x1001a4d0"], ["0x1001a4ee", "mov dword ptr [esp + 0x14], Mx3DPointFloat::`vftable' (VTABLE)", "0x1001a4d4"], ["0x1001a4f6", "mov eax, dword ptr [ecx + 0x2c]", "0x1001a4dc"]]}]], ["@@ -0x1001a5a2,21 +0x1001a588,21 @@", [{"both": [["0x1001a5a2", "mov ecx, dword ptr [esi + 0x88]", "0x1001a588"], ["0x1001a5a8", "xor eax, eax", "0x1001a58e"], ["0x1001a5aa", "add ebx, 0x18", "0x1001a590"], ["0x1001a5ad", "inc edi", "0x1001a593"], ["0x1001a5ae", "mov al, byte ptr [ecx + 4]", "0x1001a594"], ["0x1001a5b1", "cmp eax, edi", "0x1001a597"], ["0x1001a5b3", "jg -0x45", "0x1001a599"], ["0x1001a5b5", "mov eax, dword ptr [esi + 0x88]", "0x1001a59b"], ["0x1001a5bb", "xor ecx, ecx", "0x1001a5a1"], ["0x1001a5bd", "mov cl, byte ptr [eax + 4]", "0x1001a5a3"]]}, {"orig": [["0x1001a5c0", "cmp edi, ecx"]], "recomp": [["0x1001a5a6", "cmp ecx, edi"]]}, {"both": [["0x1001a5c2", "je 0x15", "0x1001a5a8"], ["0x1001a5c4", "add dword ptr [esp + 0x28], 4", "0x1001a5aa"], ["0x1001a5c9", "inc dword ptr [esp + 0x10]", "0x1001a5af"], ["0x1001a5cd", "cmp dword ptr [esp + 0x10], ecx", "0x1001a5b3"], ["0x1001a5d1", "jl -0x101", "0x1001a5b7"], ["0x1001a5d7", "jmp 0x2c", "0x1001a5bd"], ["0x1001a5d9", "lea eax, [esp + 0x28]", "0x1001a5bf"], ["0x1001a5dd", "push 1", "0x1001a5c3"], ["0x1001a5df", "push eax", "0x1001a5c5"], ["0x1001a5e0", "mov ecx, esi", "0x1001a5c6"]]}]]]}, {"address": "0x1001a690", "recomp": "0x1001a670", "name": "list<ROI *,allocator<ROI *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x1001a6f0", "recomp": "0x1001a6d0", "name": "IslePathActor::SpawnLocation::SpawnLocation", "matching": 1.0, "diff": []}, {"address": "0x1001a700", "recomp": "0x1001a6e0", "name": "IslePathActor::RegisterSpawnLocations", "matching": 0.9687943262411347, "diff": [["@@ -0x1001a700,22 +0x1001a6e0,22 @@", [{"both": [["0x1001a700", "sub esp, 0x38", "0x1001a6e0"]]}, {"orig": [], "recomp": [["0x1001a6e3", "mov dword ptr [esp], 0x16"], ["0x1001a6eb", "push ebx"]]}, {"both": [["0x1001a703", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a6ec"]]}, {"orig": [["0x1001a708", "mov dword ptr [esp], 0x16"], ["0x1001a710", "mov dword ptr [esp + 4], eax"], ["0x1001a714", "push ebx"]], "recomp": []}, {"both": [["0x1001a715", "push esi", "0x1001a6f1"], ["0x1001a716", "xor ebx, ebx", "0x1001a6f2"], ["0x1001a718", "push edi", "0x1001a6f4"], ["0x1001a719", "mov ecx, 0xffffffff", "0x1001a6f5"], ["0x1001a71e", "push ebp", "0x1001a6fa"]]}, {"orig": [], "recomp": [["0x1001a6fb", "mov edi, 'int35' (STRING)"], ["0x1001a700", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x1001a71f", "sub eax, eax", "0x1001a704"]]}, {"orig": [["0x1001a721", "mov edi, 'int35' (STRING)"]], "recomp": []}, {"both": [["0x1001a726", "mov dword ptr [esp + 0x18], ebx", "0x1001a706"], ["0x1001a72a", "repne scasb al, byte ptr es:[edi]", "0x1001a70a"], ["0x1001a72c", "not ecx", "0x1001a70c"], ["0x1001a72e", "sub edi, ecx", "0x1001a70e"], ["0x1001a730", "mov edx, ecx", "0x1001a710"], ["0x1001a732", "shr ecx, 2", "0x1001a712"], ["0x1001a735", "mov esi, edi", "0x1001a715"], ["0x1001a737", "lea edi, [esp + 0x1c]", "0x1001a717"], ["0x1001a73b", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1001a71b"], ["0x1001a73d", "mov ecx, edx", "0x1001a71d"]]}]], ["@@ -0x1001a74e,23 +0x1001a72e,23 @@", [{"both": [["0x1001a74e", "lea eax, [esp + 0x10]", "0x1001a72e"], ["0x1001a752", "push eax", "0x1001a732"], ["0x1001a753", "mov ecx, g_spawnLocations[0].m_area (DATA)", "0x1001a733"], ["0x1001a758", "mov dword ptr [esp + 0x38], 0x3f19999a", "0x1001a738"], ["0x1001a760", "mov word ptr [esp + 0x3c], 4", "0x1001a740"], ["0x1001a767", "mov dword ptr [esp + 0x40], 0x3ecccccd", "0x1001a747"], ["0x1001a76f", "mov dword ptr [esp + 0x44], 0x2a", "0x1001a74f"], ["0x1001a777", "mov dword ptr [esp + 0x48], 0x12", "0x1001a757"], ["0x1001a77f", "mov edi, 'edg00_49' (STRING)", "0x1001a75f"], ["0x1001a784", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001a764"]]}, {"orig": [], "recomp": [["0x1001a769", "mov dword ptr [esp + 0x10], 0x17"]]}, {"both": [["0x1001a789", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a771"], ["0x1001a78e", "mov ecx, 0xffffffff", "0x1001a776"]]}, {"orig": [["0x1001a793", "mov dword ptr [esp + 0x10], 0x17"]], "recomp": []}, {"both": [["0x1001a79b", "mov dword ptr [esp + 0x14], eax", "0x1001a77b"], ["0x1001a79f", "sub eax, eax", "0x1001a77f"], ["0x1001a7a1", "mov dword ptr [esp + 0x18], ebx", "0x1001a781"], ["0x1001a7a5", "repne scasb al, byte ptr es:[edi]", "0x1001a785"], ["0x1001a7a7", "not ecx", "0x1001a787"], ["0x1001a7a9", "sub edi, ecx", "0x1001a789"], ["0x1001a7ab", "mov edx, ecx", "0x1001a78b"], ["0x1001a7ad", "shr ecx, 2", "0x1001a78d"], ["0x1001a7b0", "mov esi, edi", "0x1001a790"], ["0x1001a7b2", "lea edi, [esp + 0x1c]", "0x1001a792"]]}]], ["@@ -0x1001a7c6,23 +0x1001a7a6,23 @@", [{"both": [["0x1001a7c6", "mov dword ptr [esp + 0x34], 0x3edc28f6", "0x1001a7a6"], ["0x1001a7ce", "mov word ptr [esp + 0x38], bp", "0x1001a7ae"], ["0x1001a7d3", "lea eax, [esp + 0x10]", "0x1001a7b3"], ["0x1001a7d7", "push eax", "0x1001a7b7"], ["0x1001a7d8", "mov ecx, g_spawnLocations[1].m_area (UNK)", "0x1001a7b8"], ["0x1001a7dd", "mov dword ptr [esp + 0x40], 0x3f19999a", "0x1001a7bd"], ["0x1001a7e5", "mov dword ptr [esp + 0x44], 0x27", "0x1001a7c5"], ["0x1001a7ed", "mov dword ptr [esp + 0x48], 0x12", "0x1001a7cd"], ["0x1001a7f5", "mov edi, 'edg00_191' (STRING)", "0x1001a7d5"], ["0x1001a7fa", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001a7da"]]}, {"orig": [], "recomp": [["0x1001a7df", "mov dword ptr [esp + 0x10], 0x18"]]}, {"both": [["0x1001a7ff", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a7e7"], ["0x1001a804", "mov ecx, 0xffffffff", "0x1001a7ec"]]}, {"orig": [["0x1001a809", "mov dword ptr [esp + 0x10], 0x18"]], "recomp": []}, {"both": [["0x1001a811", "mov dword ptr [esp + 0x14], eax", "0x1001a7f1"], ["0x1001a815", "sub eax, eax", "0x1001a7f5"], ["0x1001a817", "mov dword ptr [esp + 0x18], ebx", "0x1001a7f7"], ["0x1001a81b", "repne scasb al, byte ptr es:[edi]", "0x1001a7fb"], ["0x1001a81d", "not ecx", "0x1001a7fd"], ["0x1001a81f", "sub edi, ecx", "0x1001a7ff"], ["0x1001a821", "mov edx, ecx", "0x1001a801"], ["0x1001a823", "shr ecx, 2", "0x1001a803"], ["0x1001a826", "mov esi, edi", "0x1001a806"], ["0x1001a828", "lea edi, [esp + 0x1c]", "0x1001a808"]]}]], ["@@ -0x1001a83a,23 +0x1001a81a,23 @@", [{"both": [["0x1001a83a", "lea eax, [esp + 0x10]", "0x1001a81a"], ["0x1001a83e", "push eax", "0x1001a81e"], ["0x1001a83f", "mov ecx, g_spawnLocations[2].m_area (UNK)", "0x1001a81f"], ["0x1001a844", "mov dword ptr [esp + 0x38], 0x3f000000", "0x1001a824"], ["0x1001a84c", "mov word ptr [esp + 0x3c], bx", "0x1001a82c"], ["0x1001a851", "mov dword ptr [esp + 0x40], 0x3f0ccccd", "0x1001a831"], ["0x1001a859", "mov dword ptr [esp + 0x44], 0x26", "0x1001a839"], ["0x1001a861", "mov dword ptr [esp + 0x48], 0x12", "0x1001a841"], ["0x1001a869", "mov edi, 'int46' (STRING)", "0x1001a849"], ["0x1001a86e", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001a84e"]]}, {"orig": [], "recomp": [["0x1001a853", "mov dword ptr [esp + 0x10], 4"]]}, {"both": [["0x1001a873", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a85b"], ["0x1001a878", "mov ecx, 0xffffffff", "0x1001a860"]]}, {"orig": [["0x1001a87d", "mov dword ptr [esp + 0x10], 4"]], "recomp": []}, {"both": [["0x1001a885", "mov dword ptr [esp + 0x14], eax", "0x1001a865"], ["0x1001a889", "sub eax, eax", "0x1001a869"], ["0x1001a88b", "mov dword ptr [esp + 0x18], ebx", "0x1001a86b"], ["0x1001a88f", "repne scasb al, byte ptr es:[edi]", "0x1001a86f"], ["0x1001a891", "not ecx", "0x1001a871"], ["0x1001a893", "sub edi, ecx", "0x1001a873"], ["0x1001a895", "mov edx, ecx", "0x1001a875"], ["0x1001a897", "shr ecx, 2", "0x1001a877"], ["0x1001a89a", "mov esi, edi", "0x1001a87a"], ["0x1001a89c", "lea edi, [esp + 0x1c]", "0x1001a87c"]]}]], ["@@ -0x1001a8ae,23 +0x1001a88e,23 @@", [{"both": [["0x1001a8ae", "mov dword ptr [esp + 0x34], 0x3f000000", "0x1001a88e"], ["0x1001a8b6", "mov word ptr [esp + 0x38], bp", "0x1001a896"], ["0x1001a8bb", "lea eax, [esp + 0x10]", "0x1001a89b"], ["0x1001a8bf", "push eax", "0x1001a89f"], ["0x1001a8c0", "mov ecx, g_spawnLocations[3].m_area (UNK)", "0x1001a8a0"], ["0x1001a8c5", "mov dword ptr [esp + 0x40], 0x3f000000", "0x1001a8a5"], ["0x1001a8cd", "mov dword ptr [esp + 0x44], 0x10", "0x1001a8ad"], ["0x1001a8d5", "mov dword ptr [esp + 0x48], 0xb", "0x1001a8b5"], ["0x1001a8dd", "mov edi, 'EDG00_46' (STRING)", "0x1001a8bd"], ["0x1001a8e2", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001a8c2"]]}, {"orig": [], "recomp": [["0x1001a8c7", "mov dword ptr [esp + 0x10], 0x10"]]}, {"both": [["0x1001a8e7", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a8cf"], ["0x1001a8ec", "mov ecx, 0xffffffff", "0x1001a8d4"]]}, {"orig": [["0x1001a8f1", "mov dword ptr [esp + 0x10], 0x10"]], "recomp": []}, {"both": [["0x1001a8f9", "mov dword ptr [esp + 0x14], eax", "0x1001a8d9"], ["0x1001a8fd", "sub eax, eax", "0x1001a8dd"], ["0x1001a8ff", "mov dword ptr [esp + 0x18], ebx", "0x1001a8df"], ["0x1001a903", "repne scasb al, byte ptr es:[edi]", "0x1001a8e3"], ["0x1001a905", "not ecx", "0x1001a8e5"], ["0x1001a907", "sub edi, ecx", "0x1001a8e7"], ["0x1001a909", "mov edx, ecx", "0x1001a8e9"], ["0x1001a90b", "shr ecx, 2", "0x1001a8eb"], ["0x1001a90e", "mov esi, edi", "0x1001a8ee"], ["0x1001a910", "lea edi, [esp + 0x1c]", "0x1001a8f0"]]}]], ["@@ -0x1001a922,23 +0x1001a902,23 @@", [{"both": [["0x1001a922", "lea eax, [esp + 0x10]", "0x1001a902"], ["0x1001a926", "push eax", "0x1001a906"], ["0x1001a927", "mov ecx, g_spawnLocations[4].m_area (UNK)", "0x1001a907"], ["0x1001a92c", "mov dword ptr [esp + 0x38], 0x3f733333", "0x1001a90c"], ["0x1001a934", "mov word ptr [esp + 0x3c], bp", "0x1001a914"], ["0x1001a939", "mov dword ptr [esp + 0x40], 0x3e428f5c", "0x1001a919"], ["0x1001a941", "mov dword ptr [esp + 0x44], 0x17", "0x1001a921"], ["0x1001a949", "mov dword ptr [esp + 0x48], 0x11", "0x1001a929"], ["0x1001a951", "mov edi, 'EDG00_46' (STRING)", "0x1001a931"], ["0x1001a956", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001a936"]]}, {"orig": [], "recomp": [["0x1001a93b", "mov dword ptr [esp + 0x10], 0x11"]]}, {"both": [["0x1001a95b", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a943"], ["0x1001a960", "mov ecx, 0xffffffff", "0x1001a948"]]}, {"orig": [["0x1001a965", "mov dword ptr [esp + 0x10], 0x11"]], "recomp": []}, {"both": [["0x1001a96d", "mov dword ptr [esp + 0x14], eax", "0x1001a94d"], ["0x1001a971", "sub eax, eax", "0x1001a951"], ["0x1001a973", "mov dword ptr [esp + 0x18], ebx", "0x1001a953"], ["0x1001a977", "repne scasb al, byte ptr es:[edi]", "0x1001a957"], ["0x1001a979", "not ecx", "0x1001a959"], ["0x1001a97b", "sub edi, ecx", "0x1001a95b"], ["0x1001a97d", "mov edx, ecx", "0x1001a95d"], ["0x1001a97f", "shr ecx, 2", "0x1001a95f"], ["0x1001a982", "mov esi, edi", "0x1001a962"], ["0x1001a984", "lea edi, [esp + 0x1c]", "0x1001a964"]]}]], ["@@ -0x1001a998,23 +0x1001a978,23 @@", [{"both": [["0x1001a998", "mov dword ptr [esp + 0x34], 0x3f200000", "0x1001a978"], ["0x1001a9a0", "mov word ptr [esp + 0x38], bp", "0x1001a980"], ["0x1001a9a5", "lea eax, [esp + 0x10]", "0x1001a985"], ["0x1001a9a9", "push eax", "0x1001a989"], ["0x1001a9aa", "mov ecx, g_spawnLocations[5].m_area (UNK)", "0x1001a98a"], ["0x1001a9af", "mov dword ptr [esp + 0x40], 0x3cf5c28f", "0x1001a98f"], ["0x1001a9b7", "mov dword ptr [esp + 0x44], 0x18", "0x1001a997"], ["0x1001a9bf", "mov dword ptr [esp + 0x48], 0x11", "0x1001a99f"], ["0x1001a9c7", "mov edi, 'EDG10_63' (STRING)", "0x1001a9a7"], ["0x1001a9cc", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001a9ac"]]}, {"orig": [], "recomp": [["0x1001a9b1", "mov dword ptr [esp + 0x10], 0xf"]]}, {"both": [["0x1001a9d1", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001a9b9"], ["0x1001a9d6", "mov ecx, 0xffffffff", "0x1001a9be"]]}, {"orig": [["0x1001a9db", "mov dword ptr [esp + 0x10], 0xf"]], "recomp": []}, {"both": [["0x1001a9e3", "mov dword ptr [esp + 0x14], eax", "0x1001a9c3"], ["0x1001a9e7", "sub eax, eax", "0x1001a9c7"], ["0x1001a9e9", "mov dword ptr [esp + 0x18], ebx", "0x1001a9c9"], ["0x1001a9ed", "repne scasb al, byte ptr es:[edi]", "0x1001a9cd"], ["0x1001a9ef", "not ecx", "0x1001a9cf"], ["0x1001a9f1", "sub edi, ecx", "0x1001a9d1"], ["0x1001a9f3", "mov edx, ecx", "0x1001a9d3"], ["0x1001a9f5", "shr ecx, 2", "0x1001a9d5"], ["0x1001a9f8", "mov esi, edi", "0x1001a9d8"], ["0x1001a9fa", "lea edi, [esp + 0x1c]", "0x1001a9da"]]}]], ["@@ -0x1001aa0c,23 +0x1001a9ec,23 @@", [{"both": [["0x1001aa0c", "lea eax, [esp + 0x10]", "0x1001a9ec"], ["0x1001aa10", "push eax", "0x1001a9f0"], ["0x1001aa11", "mov ecx, g_spawnLocations[6].m_area (UNK)", "0x1001a9f1"], ["0x1001aa16", "mov dword ptr [esp + 0x38], 0x3e851eb8", "0x1001a9f6"], ["0x1001aa1e", "mov word ptr [esp + 0x3c], 1", "0x1001a9fe"], ["0x1001aa25", "mov dword ptr [esp + 0x40], 0x3c23d70a", "0x1001aa05"], ["0x1001aa2d", "mov dword ptr [esp + 0x44], ebx", "0x1001aa0d"], ["0x1001aa31", "mov edi, 'INT15' (STRING)", "0x1001aa11"], ["0x1001aa36", "mov dword ptr [esp + 0x48], 0xffffffff", "0x1001aa16"], ["0x1001aa3e", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001aa1e"]]}, {"orig": [], "recomp": [["0x1001aa23", "mov dword ptr [esp + 0x10], 0x13"]]}, {"both": [["0x1001aa43", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001aa2b"], ["0x1001aa48", "mov ecx, 0xffffffff", "0x1001aa30"]]}, {"orig": [["0x1001aa4d", "mov dword ptr [esp + 0x10], 0x13"]], "recomp": []}, {"both": [["0x1001aa55", "mov dword ptr [esp + 0x14], eax", "0x1001aa35"], ["0x1001aa59", "sub eax, eax", "0x1001aa39"], ["0x1001aa5b", "mov dword ptr [esp + 0x18], ebx", "0x1001aa3b"], ["0x1001aa5f", "repne scasb al, byte ptr es:[edi]", "0x1001aa3f"], ["0x1001aa61", "not ecx", "0x1001aa41"], ["0x1001aa63", "sub edi, ecx", "0x1001aa43"], ["0x1001aa65", "mov edx, ecx", "0x1001aa45"], ["0x1001aa67", "shr ecx, 2", "0x1001aa47"], ["0x1001aa6a", "mov esi, edi", "0x1001aa4a"], ["0x1001aa6c", "lea edi, [esp + 0x1c]", "0x1001aa4c"]]}]], ["@@ -0x1001aa80,23 +0x1001aa60,23 @@", [{"both": [["0x1001aa80", "mov dword ptr [esp + 0x34], 0x3f266666", "0x1001aa60"], ["0x1001aa88", "lea eax, [esp + 0x10]", "0x1001aa68"], ["0x1001aa8c", "mov ecx, g_spawnLocations[7].m_area (UNK)", "0x1001aa6c"], ["0x1001aa91", "mov word ptr [esp + 0x38], 1", "0x1001aa71"], ["0x1001aa98", "mov dword ptr [esp + 0x3c], 0x3f2e147b", "0x1001aa78"], ["0x1001aaa0", "mov dword ptr [esp + 0x40], 0x33", "0x1001aa80"], ["0x1001aaa8", "mov dword ptr [esp + 0x44], 0xe", "0x1001aa88"], ["0x1001aab0", "push eax", "0x1001aa90"], ["0x1001aab1", "mov edi, 'INT16' (STRING)", "0x1001aa91"], ["0x1001aab6", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001aa96"]]}, {"orig": [], "recomp": [["0x1001aa9b", "mov dword ptr [esp + 0x10], 0x14"]]}, {"both": [["0x1001aabb", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001aaa3"], ["0x1001aac0", "mov ecx, 0xffffffff", "0x1001aaa8"]]}, {"orig": [["0x1001aac5", "mov dword ptr [esp + 0x10], 0x14"]], "recomp": []}, {"both": [["0x1001aacd", "mov dword ptr [esp + 0x14], eax", "0x1001aaad"], ["0x1001aad1", "sub eax, eax", "0x1001aab1"], ["0x1001aad3", "mov dword ptr [esp + 0x18], ebx", "0x1001aab3"], ["0x1001aad7", "repne scasb al, byte ptr es:[edi]", "0x1001aab7"], ["0x1001aad9", "not ecx", "0x1001aab9"], ["0x1001aadb", "sub edi, ecx", "0x1001aabb"], ["0x1001aadd", "mov edx, ecx", "0x1001aabd"], ["0x1001aadf", "shr ecx, 2", "0x1001aabf"], ["0x1001aae2", "mov esi, edi", "0x1001aac2"], ["0x1001aae4", "lea edi, [esp + 0x1c]", "0x1001aac4"]]}]], ["@@ -0x1001aaf8,23 +0x1001aad8,23 @@", [{"both": [["0x1001aaf8", "mov dword ptr [esp + 0x34], 0x3dcccccd", "0x1001aad8"], ["0x1001ab00", "mov word ptr [esp + 0x38], bp", "0x1001aae0"], ["0x1001ab05", "lea eax, [esp + 0x10]", "0x1001aae5"], ["0x1001ab09", "push eax", "0x1001aae9"], ["0x1001ab0a", "mov ecx, g_spawnLocations[8].m_area (UNK)", "0x1001aaea"], ["0x1001ab0f", "mov dword ptr [esp + 0x40], ebx", "0x1001aaef"], ["0x1001ab13", "mov dword ptr [esp + 0x44], 0x34", "0x1001aaf3"], ["0x1001ab1b", "mov dword ptr [esp + 0x48], 0xe", "0x1001aafb"], ["0x1001ab23", "mov edi, 'INT62' (STRING)", "0x1001ab03"], ["0x1001ab28", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001ab08"]]}, {"orig": [], "recomp": [["0x1001ab0d", "mov dword ptr [esp + 0x10], 0x15"]]}, {"both": [["0x1001ab2d", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001ab15"], ["0x1001ab32", "mov ecx, 0xffffffff", "0x1001ab1a"]]}, {"orig": [["0x1001ab37", "mov dword ptr [esp + 0x10], 0x15"]], "recomp": []}, {"both": [["0x1001ab3f", "mov dword ptr [esp + 0x14], eax", "0x1001ab1f"], ["0x1001ab43", "sub eax, eax", "0x1001ab23"], ["0x1001ab45", "mov dword ptr [esp + 0x18], ebx", "0x1001ab25"], ["0x1001ab49", "repne scasb al, byte ptr es:[edi]", "0x1001ab29"], ["0x1001ab4b", "not ecx", "0x1001ab2b"], ["0x1001ab4d", "sub edi, ecx", "0x1001ab2d"], ["0x1001ab4f", "mov edx, ecx", "0x1001ab2f"], ["0x1001ab51", "shr ecx, 2", "0x1001ab31"], ["0x1001ab54", "mov esi, edi", "0x1001ab34"], ["0x1001ab56", "lea edi, [esp + 0x1c]", "0x1001ab36"]]}]], ["@@ -0x1001ab68,23 +0x1001ab48,23 @@", [{"both": [["0x1001ab68", "lea eax, [esp + 0x10]", "0x1001ab48"], ["0x1001ab6c", "push eax", "0x1001ab4c"], ["0x1001ab6d", "mov ecx, g_spawnLocations[9].m_area (UNK)", "0x1001ab4d"], ["0x1001ab72", "mov dword ptr [esp + 0x38], 0x3dcccccd", "0x1001ab52"], ["0x1001ab7a", "mov word ptr [esp + 0x3c], 3", "0x1001ab5a"], ["0x1001ab81", "mov dword ptr [esp + 0x40], 0x3f333333", "0x1001ab61"], ["0x1001ab89", "mov dword ptr [esp + 0x44], 0x36", "0x1001ab69"], ["0x1001ab91", "mov dword ptr [esp + 0x48], 0xe", "0x1001ab71"], ["0x1001ab99", "mov edi, 'INT24' (STRING)", "0x1001ab79"], ["0x1001ab9e", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001ab7e"]]}, {"orig": [], "recomp": [["0x1001ab83", "mov dword ptr [esp + 0x10], 0x19"]]}, {"both": [["0x1001aba3", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001ab8b"], ["0x1001aba8", "mov ecx, 0xffffffff", "0x1001ab90"]]}, {"orig": [["0x1001abad", "mov dword ptr [esp + 0x10], 0x19"]], "recomp": []}, {"both": [["0x1001abb5", "mov dword ptr [esp + 0x14], eax", "0x1001ab95"], ["0x1001abb9", "sub eax, eax", "0x1001ab99"], ["0x1001abbb", "mov dword ptr [esp + 0x18], ebx", "0x1001ab9b"], ["0x1001abbf", "repne scasb al, byte ptr es:[edi]", "0x1001ab9f"], ["0x1001abc1", "not ecx", "0x1001aba1"], ["0x1001abc3", "sub edi, ecx", "0x1001aba3"], ["0x1001abc5", "mov edx, ecx", "0x1001aba5"], ["0x1001abc7", "shr ecx, 2", "0x1001aba7"], ["0x1001abca", "mov esi, edi", "0x1001abaa"], ["0x1001abcc", "lea edi, [esp + 0x1c]", "0x1001abac"]]}]], ["@@ -0x1001abde,23 +0x1001abbe,23 @@", [{"both": [["0x1001abde", "lea eax, [esp + 0x10]", "0x1001abbe"], ["0x1001abe2", "push eax", "0x1001abc2"], ["0x1001abe3", "mov ecx, g_spawnLocations[10].m_area (UNK)", "0x1001abc3"], ["0x1001abe8", "mov dword ptr [esp + 0x38], 0x3f0ccccd", "0x1001abc8"], ["0x1001abf0", "mov word ptr [esp + 0x3c], bp", "0x1001abd0"], ["0x1001abf5", "mov dword ptr [esp + 0x40], 0x3f35c28f", "0x1001abd5"], ["0x1001abfd", "mov dword ptr [esp + 0x44], 8", "0x1001abdd"], ["0x1001ac05", "mov dword ptr [esp + 0x48], 0xf", "0x1001abe5"], ["0x1001ac0d", "mov edi, 'INT24' (STRING)", "0x1001abed"], ["0x1001ac12", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001abf2"]]}, {"orig": [], "recomp": [["0x1001abf7", "mov dword ptr [esp + 0x10], 0x1c"]]}, {"both": [["0x1001ac17", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001abff"], ["0x1001ac1c", "mov ecx, 0xffffffff", "0x1001ac04"]]}, {"orig": [["0x1001ac21", "mov dword ptr [esp + 0x10], 0x1c"]], "recomp": []}, {"both": [["0x1001ac29", "mov dword ptr [esp + 0x14], eax", "0x1001ac09"], ["0x1001ac2d", "sub eax, eax", "0x1001ac0d"], ["0x1001ac2f", "mov dword ptr [esp + 0x18], ebx", "0x1001ac0f"], ["0x1001ac33", "repne scasb al, byte ptr es:[edi]", "0x1001ac13"], ["0x1001ac35", "not ecx", "0x1001ac15"], ["0x1001ac37", "sub edi, ecx", "0x1001ac17"], ["0x1001ac39", "mov edx, ecx", "0x1001ac19"], ["0x1001ac3b", "shr ecx, 2", "0x1001ac1b"], ["0x1001ac3e", "mov esi, edi", "0x1001ac1e"], ["0x1001ac40", "lea edi, [esp + 0x1c]", "0x1001ac20"]]}]], ["@@ -0x1001ac52,23 +0x1001ac32,23 @@", [{"both": [["0x1001ac52", "lea eax, [esp + 0x10]", "0x1001ac32"], ["0x1001ac56", "push eax", "0x1001ac36"], ["0x1001ac57", "mov ecx, g_spawnLocations[11].m_area (UNK)", "0x1001ac37"], ["0x1001ac5c", "mov dword ptr [esp + 0x38], 0x3f3ae148", "0x1001ac3c"], ["0x1001ac64", "mov word ptr [esp + 0x3c], 4", "0x1001ac44"], ["0x1001ac6b", "mov dword ptr [esp + 0x40], 0x3f35c28f", "0x1001ac4b"], ["0x1001ac73", "mov dword ptr [esp + 0x44], 0xa", "0x1001ac53"], ["0x1001ac7b", "mov dword ptr [esp + 0x48], 0xf", "0x1001ac5b"], ["0x1001ac83", "mov edi, 'INT19' (STRING)", "0x1001ac63"], ["0x1001ac88", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001ac68"]]}, {"orig": [], "recomp": [["0x1001ac6d", "mov dword ptr [esp + 0x10], 0x1d"]]}, {"both": [["0x1001ac8d", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001ac75"], ["0x1001ac92", "mov ecx, 0xffffffff", "0x1001ac7a"]]}, {"orig": [["0x1001ac97", "mov dword ptr [esp + 0x10], 0x1d"]], "recomp": []}, {"both": [["0x1001ac9f", "mov dword ptr [esp + 0x14], eax", "0x1001ac7f"], ["0x1001aca3", "sub eax, eax", "0x1001ac83"], ["0x1001aca5", "mov dword ptr [esp + 0x18], ebx", "0x1001ac85"], ["0x1001aca9", "repne scasb al, byte ptr es:[edi]", "0x1001ac89"], ["0x1001acab", "not ecx", "0x1001ac8b"], ["0x1001acad", "sub edi, ecx", "0x1001ac8d"], ["0x1001acaf", "mov edx, ecx", "0x1001ac8f"], ["0x1001acb1", "shr ecx, 2", "0x1001ac91"], ["0x1001acb4", "mov esi, edi", "0x1001ac94"], ["0x1001acb6", "lea edi, [esp + 0x1c]", "0x1001ac96"]]}]], ["@@ -0x1001acc8,23 +0x1001aca8,23 @@", [{"both": [["0x1001acc8", "lea eax, [esp + 0x10]", "0x1001aca8"], ["0x1001accc", "push eax", "0x1001acac"], ["0x1001accd", "mov ecx, g_spawnLocations[12].m_area (UNK)", "0x1001acad"], ["0x1001acd2", "mov dword ptr [esp + 0x38], 0x3f59999a", "0x1001acb2"], ["0x1001acda", "mov word ptr [esp + 0x3c], 1", "0x1001acba"], ["0x1001ace1", "mov dword ptr [esp + 0x40], 0x3e8f5c29", "0x1001acc1"], ["0x1001ace9", "mov dword ptr [esp + 0x44], ebx", "0x1001acc9"], ["0x1001aced", "mov edi, 'EDG02_28' (STRING)", "0x1001accd"], ["0x1001acf2", "mov dword ptr [esp + 0x48], 0xa", "0x1001acd2"], ["0x1001acfa", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001acda"]]}, {"orig": [], "recomp": [["0x1001acdf", "mov dword ptr [esp + 0x10], 0x1f"]]}, {"both": [["0x1001acff", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001ace7"], ["0x1001ad04", "mov ecx, 0xffffffff", "0x1001acec"]]}, {"orig": [["0x1001ad09", "mov dword ptr [esp + 0x10], 0x1f"]], "recomp": []}, {"both": [["0x1001ad11", "mov dword ptr [esp + 0x14], eax", "0x1001acf1"], ["0x1001ad15", "sub eax, eax", "0x1001acf5"], ["0x1001ad17", "mov dword ptr [esp + 0x18], ebx", "0x1001acf7"], ["0x1001ad1b", "repne scasb al, byte ptr es:[edi]", "0x1001acfb"], ["0x1001ad1d", "not ecx", "0x1001acfd"], ["0x1001ad1f", "sub edi, ecx", "0x1001acff"], ["0x1001ad21", "mov edx, ecx", "0x1001ad01"], ["0x1001ad23", "shr ecx, 2", "0x1001ad03"], ["0x1001ad26", "mov esi, edi", "0x1001ad06"], ["0x1001ad28", "lea edi, [esp + 0x1c]", "0x1001ad08"]]}]], ["@@ -0x1001ad3c,23 +0x1001ad1c,23 @@", [{"both": [["0x1001ad3c", "mov dword ptr [esp + 0x34], 0x3ebd70a4", "0x1001ad1c"], ["0x1001ad44", "lea eax, [esp + 0x10]", "0x1001ad24"], ["0x1001ad48", "mov ecx, g_spawnLocations[13].m_area (UNK)", "0x1001ad28"], ["0x1001ad4d", "mov word ptr [esp + 0x38], 1", "0x1001ad2d"], ["0x1001ad54", "mov dword ptr [esp + 0x3c], 0x3f051eb8", "0x1001ad34"], ["0x1001ad5c", "mov dword ptr [esp + 0x40], 0xc", "0x1001ad3c"], ["0x1001ad64", "mov dword ptr [esp + 0x44], 0xa", "0x1001ad44"], ["0x1001ad6c", "push eax", "0x1001ad4c"], ["0x1001ad6d", "mov edi, 'INT33' (STRING)", "0x1001ad4d"], ["0x1001ad72", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001ad52"]]}, {"orig": [], "recomp": [["0x1001ad57", "mov dword ptr [esp + 0x10], 0x20"]]}, {"both": [["0x1001ad77", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001ad5f"], ["0x1001ad7c", "mov ecx, 0xffffffff", "0x1001ad64"]]}, {"orig": [["0x1001ad81", "mov dword ptr [esp + 0x10], 0x20"]], "recomp": []}, {"both": [["0x1001ad89", "mov dword ptr [esp + 0x14], eax", "0x1001ad69"], ["0x1001ad8d", "sub eax, eax", "0x1001ad6d"], ["0x1001ad8f", "mov dword ptr [esp + 0x18], ebx", "0x1001ad6f"], ["0x1001ad93", "repne scasb al, byte ptr es:[edi]", "0x1001ad73"], ["0x1001ad95", "not ecx", "0x1001ad75"], ["0x1001ad97", "sub edi, ecx", "0x1001ad77"], ["0x1001ad99", "mov edx, ecx", "0x1001ad79"], ["0x1001ad9b", "shr ecx, 2", "0x1001ad7b"], ["0x1001ad9e", "mov esi, edi", "0x1001ad7e"], ["0x1001ada0", "lea edi, [esp + 0x1c]", "0x1001ad80"]]}]], ["@@ -0x1001adb2,23 +0x1001ad92,23 @@", [{"both": [["0x1001adb2", "lea eax, [esp + 0x10]", "0x1001ad92"], ["0x1001adb6", "push eax", "0x1001ad96"], ["0x1001adb7", "mov ecx, g_spawnLocations[14].m_area (UNK)", "0x1001ad97"], ["0x1001adbc", "mov dword ptr [esp + 0x38], 0x3f6147ae", "0x1001ad9c"], ["0x1001adc4", "mov word ptr [esp + 0x3c], bp", "0x1001ada4"], ["0x1001adc9", "mov dword ptr [esp + 0x40], 0x3f3d70a4", "0x1001ada9"], ["0x1001add1", "mov dword ptr [esp + 0x44], 0x22", "0x1001adb1"], ["0x1001add9", "mov dword ptr [esp + 0x48], 0xc", "0x1001adb9"], ["0x1001ade1", "mov edi, 'EDG02_64' (STRING)", "0x1001adc1"], ["0x1001ade6", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001adc6"]]}, {"orig": [], "recomp": [["0x1001adcb", "mov dword ptr [esp + 0x10], 0x21"]]}, {"both": [["0x1001adeb", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001add3"], ["0x1001adf0", "mov ecx, 0xffffffff", "0x1001add8"]]}, {"orig": [["0x1001adf5", "mov dword ptr [esp + 0x10], 0x21"]], "recomp": []}, {"both": [["0x1001adfd", "mov dword ptr [esp + 0x14], eax", "0x1001addd"], ["0x1001ae01", "sub eax, eax", "0x1001ade1"], ["0x1001ae03", "mov dword ptr [esp + 0x18], ebx", "0x1001ade3"], ["0x1001ae07", "repne scasb al, byte ptr es:[edi]", "0x1001ade7"], ["0x1001ae09", "not ecx", "0x1001ade9"], ["0x1001ae0b", "sub edi, ecx", "0x1001adeb"], ["0x1001ae0d", "mov edx, ecx", "0x1001aded"], ["0x1001ae0f", "shr ecx, 2", "0x1001adef"], ["0x1001ae12", "mov esi, edi", "0x1001adf2"], ["0x1001ae14", "lea edi, [esp + 0x1c]", "0x1001adf4"]]}]], ["@@ -0x1001ae26,23 +0x1001ae06,23 @@", [{"both": [["0x1001ae26", "lea eax, [esp + 0x10]", "0x1001ae06"], ["0x1001ae2a", "push eax", "0x1001ae0a"], ["0x1001ae2b", "mov ecx, g_spawnLocations[15].m_area (UNK)", "0x1001ae0b"], ["0x1001ae30", "mov dword ptr [esp + 0x38], 0x3e75c28f", "0x1001ae10"], ["0x1001ae38", "mov word ptr [esp + 0x3c], bx", "0x1001ae18"], ["0x1001ae3d", "mov dword ptr [esp + 0x40], 0x3f570a3d", "0x1001ae1d"], ["0x1001ae45", "mov dword ptr [esp + 0x44], 0x23", "0x1001ae25"], ["0x1001ae4d", "mov dword ptr [esp + 0x48], 0xc", "0x1001ae2d"], ["0x1001ae55", "mov edi, 'edg02_51' (STRING)", "0x1001ae35"], ["0x1001ae5a", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001ae3a"]]}, {"orig": [], "recomp": [["0x1001ae3f", "mov dword ptr [esp + 0x10], 0x28"]]}, {"both": [["0x1001ae5f", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001ae47"], ["0x1001ae64", "mov ecx, 0xffffffff", "0x1001ae4c"]]}, {"orig": [["0x1001ae69", "mov dword ptr [esp + 0x10], 0x28"]], "recomp": []}, {"both": [["0x1001ae71", "mov dword ptr [esp + 0x14], eax", "0x1001ae51"], ["0x1001ae75", "sub eax, eax", "0x1001ae55"], ["0x1001ae77", "mov dword ptr [esp + 0x18], ebx", "0x1001ae57"], ["0x1001ae7b", "repne scasb al, byte ptr es:[edi]", "0x1001ae5b"], ["0x1001ae7d", "not ecx", "0x1001ae5d"], ["0x1001ae7f", "sub edi, ecx", "0x1001ae5f"], ["0x1001ae81", "mov edx, ecx", "0x1001ae61"], ["0x1001ae83", "shr ecx, 2", "0x1001ae63"], ["0x1001ae86", "mov esi, edi", "0x1001ae66"], ["0x1001ae88", "lea edi, [esp + 0x1c]", "0x1001ae68"]]}]], ["@@ -0x1001ae9a,23 +0x1001ae7a,23 @@", [{"both": [["0x1001ae9a", "lea eax, [esp + 0x10]", "0x1001ae7a"], ["0x1001ae9e", "push eax", "0x1001ae7e"], ["0x1001ae9f", "mov ecx, g_spawnLocations[16].m_area (UNK)", "0x1001ae7f"], ["0x1001aea4", "mov dword ptr [esp + 0x38], 0x3f2147ae", "0x1001ae84"], ["0x1001aeac", "mov word ptr [esp + 0x3c], 3", "0x1001ae8c"], ["0x1001aeb3", "mov dword ptr [esp + 0x40], 0x3c23d70a", "0x1001ae93"], ["0x1001aebb", "mov dword ptr [esp + 0x44], ebx", "0x1001ae9b"], ["0x1001aebf", "mov edi, 'edg02_51' (STRING)", "0x1001ae9f"], ["0x1001aec4", "mov dword ptr [esp + 0x48], 0xffffffff", "0x1001aea4"], ["0x1001aecc", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001aeac"]]}, {"orig": [], "recomp": [["0x1001aeb1", "mov dword ptr [esp + 0x10], 0x29"]]}, {"both": [["0x1001aed1", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001aeb9"], ["0x1001aed6", "mov ecx, 0xffffffff", "0x1001aebe"]]}, {"orig": [["0x1001aedb", "mov dword ptr [esp + 0x10], 0x29"]], "recomp": []}, {"both": [["0x1001aee3", "mov dword ptr [esp + 0x14], eax", "0x1001aec3"], ["0x1001aee7", "sub eax, eax", "0x1001aec7"], ["0x1001aee9", "mov dword ptr [esp + 0x18], ebx", "0x1001aec9"], ["0x1001aeed", "repne scasb al, byte ptr es:[edi]", "0x1001aecd"], ["0x1001aeef", "not ecx", "0x1001aecf"], ["0x1001aef1", "sub edi, ecx", "0x1001aed1"], ["0x1001aef3", "mov edx, ecx", "0x1001aed3"], ["0x1001aef5", "shr ecx, 2", "0x1001aed5"], ["0x1001aef8", "mov esi, edi", "0x1001aed8"], ["0x1001aefa", "lea edi, [esp + 0x1c]", "0x1001aeda"]]}]], ["@@ -0x1001af0c,23 +0x1001aeec,23 @@", [{"both": [["0x1001af0c", "lea eax, [esp + 0x10]", "0x1001aeec"], ["0x1001af10", "push eax", "0x1001aef0"], ["0x1001af11", "mov ecx, g_spawnLocations[17].m_area (UNK)", "0x1001aef1"], ["0x1001af16", "mov dword ptr [esp + 0x38], 0x3f2147ae", "0x1001aef6"], ["0x1001af1e", "mov word ptr [esp + 0x3c], bx", "0x1001aefe"], ["0x1001af23", "mov dword ptr [esp + 0x40], 0x3ecccccd", "0x1001af03"], ["0x1001af2b", "mov dword ptr [esp + 0x44], ebx", "0x1001af0b"], ["0x1001af2f", "mov edi, 'edg02_35' (STRING)", "0x1001af0f"], ["0x1001af34", "mov dword ptr [esp + 0x48], 0xffffffff", "0x1001af14"], ["0x1001af3c", "call IslePathActor::SpawnLocation::operator= (FUNCTION)", "0x1001af1c"]]}, {"orig": [], "recomp": [["0x1001af21", "mov dword ptr [esp + 0x10], 0x2b"]]}, {"both": [["0x1001af41", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1001af29"], ["0x1001af46", "mov ecx, 0xffffffff", "0x1001af2e"]]}, {"orig": [["0x1001af4b", "mov dword ptr [esp + 0x10], 0x2b"]], "recomp": []}, {"both": [["0x1001af53", "mov dword ptr [esp + 0x14], eax", "0x1001af33"], ["0x1001af57", "sub eax, eax", "0x1001af37"], ["0x1001af59", "mov dword ptr [esp + 0x18], ebx", "0x1001af39"], ["0x1001af5d", "repne scasb al, byte ptr es:[edi]", "0x1001af3d"], ["0x1001af5f", "not ecx", "0x1001af3f"], ["0x1001af61", "sub edi, ecx", "0x1001af41"], ["0x1001af63", "mov edx, ecx", "0x1001af43"], ["0x1001af65", "shr ecx, 2", "0x1001af45"], ["0x1001af68", "mov esi, edi", "0x1001af48"], ["0x1001af6a", "lea edi, [esp + 0x1c]", "0x1001af4a"]]}]]]}, {"address": "0x1001b1b0", "recomp": "0x1001b190", "name": "IslePathActor::SpawnLocation::SpawnLocation", "matching": 1.0, "diff": []}, {"address": "0x1001b230", "recomp": "0x1001b210", "name": "IslePathActor::SpawnLocation::operator=", "matching": 1.0, "diff": []}, {"address": "0x1001b2a0", "recomp": "0x1001b280", "name": "IslePathActor::SpawnPlayer", "matching": 0.9644128113879004, "diff": [["@@ -0x1001b2a0,36 +0x1001b280,36 @@", [{"both": [["0x1001b2a0", "mov eax, dword ptr fs:[0]", "0x1001b280"], ["0x1001b2a6", "push ebp", "0x1001b286"], ["0x1001b2a7", "mov ebp, esp", "0x1001b287"], ["0x1001b2a9", "push -1", "0x1001b289"], ["0x1001b2ab", "push <OFFSET1>", "0x1001b28b"], ["0x1001b2b0", "push eax", "0x1001b290"], ["0x1001b2b1", "mov dword ptr fs:[0], esp", "0x1001b291"], ["0x1001b2b8", "sub esp, 0x9c", "0x1001b298"]]}, {"orig": [["0x1001b2be", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x1001b29e", "xor ax, ax"]]}, {"both": [["0x1001b2c1", "push ebx", "0x1001b2a1"], ["0x1001b2c2", "push esi", "0x1001b2a2"], ["0x1001b2c3", "push edi", "0x1001b2a3"], ["0x1001b2c4", "mov esi, ecx", "0x1001b2a4"]]}, {"orig": [["0x1001b2c6", "xor cx, cx"], ["0x1001b2c9", "movsx edx, cx"]], "recomp": [["0x1001b2a6", "mov ecx, dword ptr [ebp + 8]"], ["0x1001b2a9", "movsx edx, ax"]]}, {"both": [["0x1001b2cc", "mov edi, edx", "0x1001b2ac"], ["0x1001b2ce", "shl edx, 3", "0x1001b2ae"], ["0x1001b2d1", "sub edx, edi", "0x1001b2b1"]]}, {"orig": [["0x1001b2d3", "cmp dword ptr [edx*8 + g_spawnLocations[0].m_area (DATA)], eax"]], "recomp": [["0x1001b2b3", "cmp dword ptr [edx*8 + g_spawnLocations[0].m_area (DATA)], ecx"]]}, {"both": [["0x1001b2da", "je 0x8", "0x1001b2ba"]]}, {"orig": [["0x1001b2dc", "inc cx"], ["0x1001b2de", "cmp cx, 0x1d"]], "recomp": [["0x1001b2bc", "inc ax"], ["0x1001b2be", "cmp ax, 0x1d"]]}, {"both": [["0x1001b2e2", "jl -0x1b", "0x1001b2c2"]]}, {"orig": [["0x1001b2e4", "cmp cx, 0x1d"]], "recomp": [["0x1001b2c4", "cmp ax, 0x1d"]]}, {"both": [["0x1001b2e8", "je 0x22a", "0x1001b2c8"]]}, {"orig": [["0x1001b2ee", "movsx eax, cx"]], "recomp": [["0x1001b2ce", "movsx eax, ax"]]}, {"both": [["0x1001b2f1", "mov ecx, eax", "0x1001b2d1"], ["0x1001b2f3", "shl eax, 3", "0x1001b2d3"], ["0x1001b2f6", "sub eax, ecx", "0x1001b2d6"], ["0x1001b2f8", "shl eax, 3", "0x1001b2d8"], ["0x1001b2fb", "mov dword ptr [ebp - 0x10], eax", "0x1001b2db"], ["0x1001b2fe", "mov ecx, dword ptr [eax + g_spawnLocations[0].m_entityId (UNK)]", "0x1001b2de"], ["0x1001b304", "push ecx", "0x1001b2e4"], ["0x1001b305", "mov edx, dword ptr [eax + g_spawnLocations[0].m_script (UNK)]", "0x1001b2e5"], ["0x1001b30b", "push edx", "0x1001b2eb"], ["0x1001b30c", "call FindWorld (FUNCTION)", "0x1001b2ec"]]}]], ["@@ -0x1001b36e,22 +0x1001b34e,22 @@", [{"both": [["0x1001b36e", "movsx edx, word ptr [eax + g_spawnLocations[0].m_src (UNK)]", "0x1001b34e"], ["0x1001b375", "mov ecx, dword ptr [eax + g_spawnLocations[0].m_srcScale (UNK)]", "0x1001b355"], ["0x1001b37b", "add eax, g_spawnLocations[0].m_name (UNK)", "0x1001b35b"], ["0x1001b380", "push ecx", "0x1001b360"], ["0x1001b381", "push edx", "0x1001b361"], ["0x1001b382", "push eax", "0x1001b362"], ["0x1001b383", "mov ecx, dword ptr [esi + 0x154]", "0x1001b363"], ["0x1001b389", "push esi", "0x1001b369"], ["0x1001b38a", "call LegoWorld::PlaceActor (FUNCTION)", "0x1001b36a"], ["0x1001b38f", "call GameState (FUNCTION)", "0x1001b36f"]]}, {"orig": [["0x1001b394", "mov cl, byte ptr [esi + 0x74]"], ["0x1001b397", "cmp byte ptr [eax + 0xc], cl"]], "recomp": [["0x1001b374", "mov al, byte ptr [eax + 0xc]"], ["0x1001b377", "cmp byte ptr [esi + 0x74], al"]]}, {"both": [["0x1001b39a", "je 0xc", "0x1001b37a"], ["0x1001b39c", "mov ecx, dword ptr [esi + 0x154]", "0x1001b37c"], ["0x1001b3a2", "push esi", "0x1001b382"], ["0x1001b3a3", "mov eax, dword ptr [ecx]", "0x1001b383"], ["0x1001b3a5", "call dword ptr [eax + 0x58]", "0x1001b385"], ["0x1001b3a8", "xor ebx, ebx", "0x1001b388"], ["0x1001b3aa", "xor edi, edi", "0x1001b38a"], ["0x1001b3ac", "test byte ptr [ebp + 0x10], 1", "0x1001b38c"], ["0x1001b3b0", "je 0xde", "0x1001b390"], ["0x1001b3b6", "mov eax, dword ptr [ebp - 0x10]", "0x1001b396"]]}]]]}, {"address": "0x1001b5b0", "recomp": "0x1001b590", "name": "IslePathActor::VTable0xec", "matching": 0.9583333333333334, "diff": [["@@ -0x1001b5f5,22 +0x1001b5d5,22 @@", [{"both": [["0x1001b5f5", "mov eax, dword ptr [esi]", "0x1001b5d5"], ["0x1001b5f7", "mov ecx, esi", "0x1001b5d7"], ["0x1001b5f9", "call dword ptr [eax + 0xe0]", "0x1001b5d9"], ["0x1001b5ff", "push esi", "0x1001b5df"], ["0x1001b600", "mov ecx, dword ptr [esi + 0x154]", "0x1001b5e0"], ["0x1001b606", "call LegoWorld::PlaceActor (FUNCTION)", "0x1001b5e6"], ["0x1001b60b", "mov ecx, dword ptr [esp + 0x50]", "0x1001b5eb"], ["0x1001b60f", "push esi", "0x1001b5ef"], ["0x1001b610", "call LegoPathBoundary::AddActor (FUNCTION)", "0x1001b5f0"], ["0x1001b615", "call GameState (FUNCTION)", "0x1001b5f5"]]}, {"orig": [["0x1001b61a", "mov al, byte ptr [eax + 0xc]"], ["0x1001b61d", "cmp byte ptr [esi + 0x74], al"]], "recomp": [["0x1001b5fa", "mov cl, byte ptr [esi + 0x74]"], ["0x1001b5fd", "cmp byte ptr [eax + 0xc], cl"]]}, {"both": [["0x1001b620", "je 0xc", "0x1001b600"], ["0x1001b622", "mov ecx, dword ptr [esi + 0x154]", "0x1001b602"], ["0x1001b628", "push esi", "0x1001b608"], ["0x1001b629", "mov eax, dword ptr [ecx]", "0x1001b609"], ["0x1001b62b", "call dword ptr [eax + 0x58]", "0x1001b60b"], ["0x1001b62e", "lea eax, [esp + 8]", "0x1001b60e"], ["0x1001b632", "mov ecx, dword ptr [esi + 0x54]", "0x1001b612"], ["0x1001b635", "push eax", "0x1001b615"], ["0x1001b636", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x1001b616"], ["0x1001b63b", "cmp byte ptr [esi + 0x58], 0", "0x1001b61b"]]}]]]}, {"address": "0x1001b660", "recomp": "0x1001b640", "name": "IslePathActor::FUN_1001b660", "matching": 1.0, "diff": []}, {"address": "0x1001b700", "recomp": "0x1001b700", "name": "LegoPathStruct::HandleTrigger", "matching": 1.0, "diff": []}, {"address": "0x1001b740", "recomp": "0x1001b740", "name": "LegoPathStruct::HandleTrigger", "matching": 0.8181818181818182, "diff": [["@@ -0x1001b740,38 +0x1001b740,38 @@", [{"both": [["0x1001b740", "mov eax, dword ptr fs:[0]", "0x1001b740"], ["0x1001b746", "push ebp", "0x1001b746"], ["0x1001b747", "mov ebp, esp", "0x1001b747"], ["0x1001b749", "push -1", "0x1001b749"], ["0x1001b74b", "push <OFFSET1>", "0x1001b74b"], ["0x1001b750", "push eax", "0x1001b750"], ["0x1001b751", "mov dword ptr fs:[0], esp", "0x1001b751"], ["0x1001b758", "sub esp, 0x24", "0x1001b758"]]}, {"orig": [], "recomp": [["0x1001b75b", "mov al, byte ptr [ebp + 0xc]"], ["0x1001b75e", "mov dword ptr [ebp - 0x24], ecx"]]}, {"both": [["0x1001b75b", "mov byte ptr [ebp - 0xd], 0", "0x1001b761"]]}, {"orig": [], "recomp": [["0x1001b765", "cmp byte ptr [ebp + 0x14], 0"]]}, {"both": [["0x1001b75f", "push ebx", "0x1001b769"]]}, {"orig": [["0x1001b760", "mov dword ptr [ebp - 0x14], ecx"]], "recomp": []}, {"both": [["0x1001b763", "push esi", "0x1001b76a"]]}, {"orig": [["0x1001b764", "mov cl, byte ptr [ebp + 0xc]"], ["0x1001b767", "cmp byte ptr [ebp + 0x14], 0"]], "recomp": []}, {"both": [["0x1001b76b", "push edi", "0x1001b76b"]]}, {"orig": [["0x1001b76c", "je 0x9"], ["0x1001b76e", "cmp cl, 1"], ["0x1001b771", "sbb al, al"], ["0x1001b773", "neg al"]], "recomp": [["0x1001b76c", "je 0x8"], ["0x1001b76e", "cmp al, 1"], ["0x1001b770", "sbb cl, cl"], ["0x1001b772", "neg cl"]]}, {"both": [["0x1001b775", "jmp 0x2", "0x1001b774"]]}, {"orig": [["0x1001b777", "mov al, cl"]], "recomp": [["0x1001b776", "mov cl, al"]]}, {"both": [["0x1001b779", "mov edi, dword ptr [ebp + 8]", "0x1001b778"], ["0x1001b77c", "cmp byte ptr [edi + 0x58], 1", "0x1001b77b"], ["0x1001b780", "sbb esi, esi", "0x1001b77f"], ["0x1001b782", "and esi, 0xd000000", "0x1001b781"]]}, {"orig": [["0x1001b788", "mov ebx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b787", "mov ebx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b78b", "add esi, 0x1000000", "0x1001b78a"]]}, {"orig": [["0x1001b791", "cmp al, 1"]], "recomp": [["0x1001b790", "cmp cl, 1"]]}, {"both": [["0x1001b793", "sbb edx, edx", "0x1001b793"], ["0x1001b795", "and edx, 0x10000000", "0x1001b795"], ["0x1001b79b", "add edx, 0x10000000", "0x1001b79b"], ["0x1001b7a1", "or esi, edx", "0x1001b7a1"], ["0x1001b7a3", "mov edx, dword ptr [ebx + 8]", "0x1001b7a3"], ["0x1001b7a6", "and edx, esi", "0x1001b7a6"], ["0x1001b7a8", "test edx, 0x70000000", "0x1001b7a8"], ["0x1001b7ae", "je 0x43", "0x1001b7ae"], ["0x1001b7b0", "test edx, 0xf000000", "0x1001b7b0"], ["0x1001b7b6", "je 0x3b", "0x1001b7b6"]]}]], ["@@ -0x1001b7c6,45 +0x1001b7c6,45 @@", [{"both": [["0x1001b7c6", "cmp ebx, 0x14", "0x1001b7c6"], ["0x1001b7c9", "ja 0x28", "0x1001b7c9"], ["0x1001b7cb", "xor edx, edx", "0x1001b7cb"], ["0x1001b7cd", "mov dl, byte ptr [ebx + <OFFSET2>]", "0x1001b7cd"], ["0x1001b7d3", "jmp dword ptr [edx*4 + <OFFSET3>]", "0x1001b7d3"], ["0x1001b7da", "test byte ptr [g_isleFlags (DATA)], 0x20", "0x1001b7da"], ["0x1001b7e1", "je 0x10", "0x1001b7e1"], ["0x1001b7e3", "push 1", "0x1001b7e3"], ["0x1001b7e5", "mov edx, dword ptr [ebp + 0x10]", "0x1001b7e5"], ["0x1001b7e8", "push edx", "0x1001b7e8"]]}, {"orig": [["0x1001b7e9", "push eax"]], "recomp": [["0x1001b7e9", "push ecx"]]}, {"both": [["0x1001b7ea", "push edi", "0x1001b7ea"], ["0x1001b7eb", "call PlayCamAnim (FUNCTION)", "0x1001b7eb"], ["0x1001b7f0", "add esp, 0x10", "0x1001b7f0"], ["0x1001b7f3", "mov al, byte ptr [ebp - 0xd]", "0x1001b7f3"], ["0x1001b7f6", "mov ecx, dword ptr [ebp - 0xc]", "0x1001b7f6"], ["0x1001b7f9", "mov dword ptr fs:[0], ecx", "0x1001b7f9"], ["0x1001b800", "pop edi", "0x1001b800"], ["0x1001b801", "pop esi", "0x1001b801"], ["0x1001b802", "pop ebx", "0x1001b802"], ["0x1001b803", "mov esp, ebp", "0x1001b803"], ["0x1001b805", "pop ebp", "0x1001b805"], ["0x1001b806", "ret 0x10", "0x1001b806"], ["0x1001b809", "mov esi, dword ptr [edi]", "0x1001b809"], ["0x1001b80b", "mov edx, dword ptr [ebp + 0x10]", "0x1001b80b"], ["0x1001b80e", "xor ebx, ebx", "0x1001b80e"], ["0x1001b810", "sub esp, 4", "0x1001b810"], ["0x1001b813", "mov ecx, edi", "0x1001b813"]]}, {"orig": [["0x1001b815", "mov dword ptr [ebp - 0x28], edx"], ["0x1001b818", "mov dword ptr [ebp - 0x24], ebx"], ["0x1001b81b", "fild qword ptr [ebp - 0x28]"]], "recomp": [["0x1001b815", "mov dword ptr [ebp - 0x18], edx"], ["0x1001b818", "mov dword ptr [ebp - 0x14], ebx"], ["0x1001b81b", "fild qword ptr [ebp - 0x18]"]]}, {"both": [["0x1001b81e", "fstp dword ptr [esp]", "0x1001b81e"], ["0x1001b821", "call dword ptr [esi + 0x58]", "0x1001b821"], ["0x1001b824", "mov cx, word ptr [ebp + 0x10]", "0x1001b824"]]}, {"orig": [["0x1001b828", "mov edx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b828", "mov edx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b82b", "mov dword ptr [ebp - 4], ebx", "0x1001b82b"], ["0x1001b82e", "mov eax, dword ptr [edx + 4]", "0x1001b82e"], ["0x1001b831", "mov edx, 0xffffffff", "0x1001b831"], ["0x1001b836", "mov dword ptr [ebp - 4], 1", "0x1001b836"], ["0x1001b83d", "mov al, byte ptr [eax + 2]", "0x1001b83d"], ["0x1001b840", "mov dword ptr [ebp - 0x20], MxParam::`vftable' (VTABLE)", "0x1001b840"], ["0x1001b847", "mov dword ptr [ebp - 0x1c], ebx", "0x1001b847"], ["0x1001b84a", "mov dword ptr [ebp - 0x18], ebx", "0x1001b84a"], ["0x1001b84d", "mov dword ptr [ebp - 0x20], MxNotificationParam::`vftable' (VTABLE)", "0x1001b84d"], ["0x1001b854", "mov dword ptr [ebp - 0x20], LegoPathStructNotificationParam::`vftable' (VTABLE)", "0x1001b854"]]}]], ["@@ -,133 +,133 @@", [{"both": [["0x1001b8a7", "lea ecx, [ebp - 0x20]", "0x1001b8a7"], ["0x1001b8aa", "jmp MxParam::~MxParam (FUNCTION)", "0x1001b8aa"], ["0x1001b8af", "lea ecx, [ebp - 0x20]", "0x1001b8af"], ["0x1001b8b2", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x1001b8b2"], ["0x1001b8b7", "lea ecx, [ebp - 0x20]", "0x1001b8b7"], ["0x1001b8ba", "jmp LegoPathStructNotificationParam::~LegoPathStructNotificationParam (FUNCTION)", "0x1001b8ba"], ["0x1001b8bf", "cmp byte ptr [ebp + 0x14], 1", "0x1001b8bf"], ["0x1001b8c3", "sbb al, al", "0x1001b8c3"], ["0x1001b8c5", "mov edx, dword ptr [ebp + 0x10]", "0x1001b8c5"], ["0x1001b8c8", "inc al", "0x1001b8c8"]]}, {"orig": [["0x1001b8ca", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b8ca", "mov ecx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b8cd", "push eax", "0x1001b8cd"], ["0x1001b8ce", "push edx", "0x1001b8ce"], ["0x1001b8cf", "push esi", "0x1001b8cf"], ["0x1001b8d0", "call LegoPathStruct::FUN_1001bc40 (FUNCTION)", "0x1001b8d0"], ["0x1001b8d5", "jmp -0xe7", "0x1001b8d5"]]}, {"orig": [["0x1001b8da", "mov edx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b8da", "mov edx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b8dd", "mov eax, dword ptr [edx + 0xc]", "0x1001b8dd"], ["0x1001b8e0", "mov ecx, dword ptr [eax + 0xf0]", "0x1001b8e0"], ["0x1001b8e6", "test ecx, ecx", "0x1001b8e6"], ["0x1001b8e8", "je -0xfb", "0x1001b8e8"], ["0x1001b8ee", "mov eax, dword ptr [ebp + 0x10]", "0x1001b8ee"], ["0x1001b8f1", "shl eax, 2", "0x1001b8f1"], ["0x1001b8f4", "lea edx, [eax + eax*4]", "0x1001b8f4"], ["0x1001b8f7", "lea ebx, [edx + edx*4]", "0x1001b8f7"], ["0x1001b8fa", "push ebx", "0x1001b8fa"], ["0x1001b8fb", "call LegoHideAnimPresenter::FUN_1006db40 (FUNCTION)", "0x1001b8fb"], ["0x1001b900", "jmp -0x112", "0x1001b900"], ["0x1001b905", "test byte ptr [g_isleFlags (DATA)], 0x40", "0x1001b905"], ["0x1001b90c", "je -0x11f", "0x1001b90c"], ["0x1001b912", "mov edx, dword ptr [ebp + 0x10]", "0x1001b912"]]}, {"orig": [], "recomp": [["0x1001b915", "mov ecx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b915", "push edx", "0x1001b918"]]}, {"orig": [["0x1001b916", "push ecx"], ["0x1001b917", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b919", "push eax"]]}, {"both": [["0x1001b91a", "call LegoPathStruct::PlayMusic (FUNCTION)", "0x1001b91a"], ["0x1001b91f", "jmp -0x131", "0x1001b91f"], ["0x1001b924", "xor esi, esi", "0x1001b924"], ["0x1001b926", "call CurrentWorld (FUNCTION)", "0x1001b926"], ["0x1001b92b", "mov ecx, eax", "0x1001b92b"], ["0x1001b92d", "test ecx, ecx", "0x1001b92d"], ["0x1001b92f", "je 0x79", "0x1001b92f"], ["0x1001b931", "mov bx, word ptr [ebp + 0x10]", "0x1001b931"]]}, {"orig": [["0x1001b935", "mov edx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b935", "mov edx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b938", "mov dword ptr [ebp - 4], 3", "0x1001b938"], ["0x1001b93f", "mov eax, dword ptr [edx + 4]", "0x1001b93f"], ["0x1001b942", "mov dword ptr [ebp - 4], 4", "0x1001b942"], ["0x1001b949", "mov al, byte ptr [eax + 2]", "0x1001b949"]]}, {"orig": [["0x1001b94c", "mov dword ptr [ebp - 0x30], MxParam::`vftable' (VTABLE)"], ["0x1001b953", "mov dword ptr [ebp - 0x2c], esi"], ["0x1001b956", "mov dword ptr [ebp - 0x28], esi"]], "recomp": [["0x1001b94c", "mov dword ptr [ebp - 0x20], MxParam::`vftable' (VTABLE)"], ["0x1001b953", "mov dword ptr [ebp - 0x1c], esi"], ["0x1001b956", "mov dword ptr [ebp - 0x18], esi"]]}, {"both": [["0x1001b959", "mov esi, 0xffffffff", "0x1001b959"]]}, {"orig": [["0x1001b95e", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)"], ["0x1001b965", "mov dword ptr [ebp - 0x30], LegoPathStructNotificationParam::`vftable' (VTABLE)"], ["0x1001b96c", "mov dword ptr [ebp - 0x2c], 0x13"]], "recomp": [["0x1001b95e", "mov dword ptr [ebp - 0x20], MxNotificationParam::`vftable' (VTABLE)"], ["0x1001b965", "mov dword ptr [ebp - 0x20], LegoPathStructNotificationParam::`vftable' (VTABLE)"], ["0x1001b96c", "mov dword ptr [ebp - 0x1c], 0x13"]]}, {"both": [["0x1001b973", "mov dword ptr [ebp - 4], 5", "0x1001b973"]]}, {"orig": [["0x1001b97a", "mov dword ptr [ebp - 0x28], edi"], ["0x1001b97d", "mov word ptr [ebp - 0x24], bx"], ["0x1001b981", "mov byte ptr [ebp - 0x22], al"], ["0x1001b984", "lea eax, [ebp - 0x30]"]], "recomp": [["0x1001b97a", "mov dword ptr [ebp - 0x18], edi"], ["0x1001b97d", "mov word ptr [ebp - 0x14], bx"], ["0x1001b981", "mov byte ptr [ebp - 0x12], al"], ["0x1001b984", "lea eax, [ebp - 0x20]"]]}, {"both": [["0x1001b987", "push eax", "0x1001b987"], ["0x1001b988", "mov ebx, dword ptr [ecx]", "0x1001b988"], ["0x1001b98a", "call dword ptr [ebx + 4]", "0x1001b98a"], ["0x1001b98d", "test eax, eax", "0x1001b98d"], ["0x1001b98f", "je 0xd", "0x1001b98f"], ["0x1001b991", "mov dword ptr [ebp - 4], esi", "0x1001b991"], ["0x1001b994", "call <OFFSET16>", "0x1001b994"], ["0x1001b999", "jmp -0x1ab", "0x1001b999"], ["0x1001b99e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001b99e"], ["0x1001b9a5", "call <OFFSET16>", "0x1001b9a5"], ["0x1001b9aa", "mov edx, dword ptr [ebp + 0x10]", "0x1001b9aa"]]}, {"orig": [["0x1001b9ad", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b9ad", "mov ecx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b9b0", "cmp byte ptr [ebp + 0x14], 1", "0x1001b9b0"], ["0x1001b9b4", "sbb al, al", "0x1001b9b4"], ["0x1001b9b6", "neg al", "0x1001b9b6"], ["0x1001b9b8", "push eax", "0x1001b9b8"], ["0x1001b9b9", "push edx", "0x1001b9b9"], ["0x1001b9ba", "mov eax, dword ptr [ecx + 4]", "0x1001b9ba"], ["0x1001b9bd", "push eax", "0x1001b9bd"], ["0x1001b9be", "call LegoPathStruct::FUN_1001bc40 (FUNCTION)", "0x1001b9be"], ["0x1001b9c3", "jmp -0x1d5", "0x1001b9c3"]]}, {"orig": [["0x1001b9c8", "lea ecx, [ebp - 0x30]"]], "recomp": [["0x1001b9c8", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x1001b9cb", "jmp MxParam::~MxParam (FUNCTION)", "0x1001b9cb"]]}, {"orig": [["0x1001b9d0", "lea ecx, [ebp - 0x30]"]], "recomp": [["0x1001b9d0", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x1001b9d3", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x1001b9d3"]]}, {"orig": [["0x1001b9d8", "lea ecx, [ebp - 0x30]"]], "recomp": [["0x1001b9d8", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x1001b9db", "jmp LegoPathStructNotificationParam::~LegoPathStructNotificationParam (FUNCTION)", "0x1001b9db"], ["0x1001b9e0", "xor esi, esi", "0x1001b9e0"], ["0x1001b9e2", "call CurrentWorld (FUNCTION)", "0x1001b9e2"], ["0x1001b9e7", "test eax, eax", "0x1001b9e7"], ["0x1001b9e9", "je -0x1fc", "0x1001b9e9"], ["0x1001b9ef", "mov bx, word ptr [ebp + 0x10]", "0x1001b9ef"]]}, {"orig": [["0x1001b9f3", "mov edx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1001b9f3", "mov edx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1001b9f6", "mov dword ptr [ebp - 4], 6", "0x1001b9f6"], ["0x1001b9fd", "mov ecx, dword ptr [edx + 4]", "0x1001b9fd"], ["0x1001ba00", "mov dword ptr [ebp - 4], 7", "0x1001ba00"], ["0x1001ba07", "mov cl, byte ptr [ecx + 2]", "0x1001ba07"]]}, {"orig": [["0x1001ba0a", "mov dword ptr [ebp - 0x20], MxParam::`vftable' (VTABLE)"], ["0x1001ba11", "mov dword ptr [ebp - 0x1c], esi"], ["0x1001ba14", "mov dword ptr [ebp - 0x18], esi"]], "recomp": [["0x1001ba0a", "mov dword ptr [ebp - 0x30], MxParam::`vftable' (VTABLE)"], ["0x1001ba11", "mov dword ptr [ebp - 0x2c], esi"], ["0x1001ba14", "mov dword ptr [ebp - 0x28], esi"]]}, {"both": [["0x1001ba17", "mov esi, 0xffffffff", "0x1001ba17"]]}, {"orig": [["0x1001ba1c", "mov dword ptr [ebp - 0x20], MxNotificationParam::`vftable' (VTABLE)"], ["0x1001ba23", "mov dword ptr [ebp - 0x20], LegoPathStructNotificationParam::`vftable' (VTABLE)"], ["0x1001ba2a", "mov dword ptr [ebp - 0x1c], 0x13"]], "recomp": [["0x1001ba1c", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)"], ["0x1001ba23", "mov dword ptr [ebp - 0x30], LegoPathStructNotificationParam::`vftable' (VTABLE)"], ["0x1001ba2a", "mov dword ptr [ebp - 0x2c], 0x13"]]}, {"both": [["0x1001ba31", "mov dword ptr [ebp - 4], 8", "0x1001ba31"]]}, {"orig": [["0x1001ba38", "mov dword ptr [ebp - 0x18], edi"], ["0x1001ba3b", "mov word ptr [ebp - 0x14], bx"], ["0x1001ba3f", "mov byte ptr [ebp - 0x12], cl"], ["0x1001ba42", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1001ba38", "mov dword ptr [ebp - 0x28], edi"], ["0x1001ba3b", "mov word ptr [ebp - 0x24], bx"], ["0x1001ba3f", "mov byte ptr [ebp - 0x22], cl"], ["0x1001ba42", "lea ecx, [ebp - 0x30]"]]}, {"both": [["0x1001ba45", "push ecx", "0x1001ba45"], ["0x1001ba46", "push eax", "0x1001ba46"], ["0x1001ba47", "call NotificationManager (FUNCTION)", "0x1001ba47"], ["0x1001ba4c", "mov ecx, eax", "0x1001ba4c"], ["0x1001ba4e", "call MxNotificationManager::Send (FUNCTION)", "0x1001ba4e"], ["0x1001ba53", "mov dword ptr [ebp - 4], esi", "0x1001ba53"], ["0x1001ba56", "call <OFFSET17>", "0x1001ba56"], ["0x1001ba5b", "jmp -0x26d", "0x1001ba5b"]]}, {"orig": [["0x1001ba60", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1001ba60", "lea ecx, [ebp - 0x30]"]]}, {"both": [["0x1001ba63", "jmp MxParam::~MxParam (FUNCTION)", "0x1001ba63"]]}, {"orig": [["0x1001ba68", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1001ba68", "lea ecx, [ebp - 0x30]"]]}, {"both": [["0x1001ba6b", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x1001ba6b"], ["0x1001ba70", "mov eax, <OFFSET18>", "0x1001ba70"], ["0x1001ba75", "jmp ___CxxFrameHandler (FUNCTION)", "0x1001ba75"]]}, {"orig": [["0x1001ba7a", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1001ba7a", "lea ecx, [ebp - 0x30]"]]}, {"both": [["0x1001ba7d", "jmp LegoPathStructNotificationParam::~LegoPathStructNotificationParam (FUNCTION)", "0x1001ba7d"], ["0x1001ba82", "mov edi, edi", "0x1001ba82"], ["", "Jump table:", ""], ["0x1001ba84", "Jump_dest_0", "0x1001ba84"], ["0x1001ba88", "Jump_dest_1", "0x1001ba88"], ["0x1001ba8c", "Jump_dest_2", "0x1001ba8c"], ["0x1001ba90", "Jump_dest_3", "0x1001ba90"], ["0x1001ba94", "Jump_dest_4", "0x1001ba94"], ["0x1001ba98", "Jump_dest_5", "0x1001ba98"], ["0x1001ba9c", "Jump_dest_6", "0x1001ba9c"]]}]]]}, {"address": "0x1001bac0", "recomp": "0x1001bac0", "name": "LegoPathStructNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x1001bb80", "recomp": "0x1001bb80", "name": "LegoPathStructNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001bbf0", "recomp": "0x1001bbf0", "name": "LegoPathStructNotificationParam::~LegoPathStructNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x1001bc40", "recomp": "0x1001bc40", "name": "LegoPathStruct::FUN_1001bc40", "matching": 1.0, "diff": []}, {"address": "0x1001bd10", "recomp": "0x1001bd10", "name": "LegoPathStruct::PlayMusic", "matching": 1.0, "diff": []}, {"address": "0x1001bf80", "recomp": "0x1001bf80", "name": "LegoAnimActorStruct::LegoAnimActorStruct", "matching": 1.0, "diff": []}, {"address": "0x1001c010", "recomp": "0x1001c010", "name": "vector<unsigned char *,allocator<unsigned char *> >::~vector<unsigned char *,allocator<unsigned char *> >", "matching": 0.6111111111111112, "diff": [["@@ -0x1001c010,18 +0x1001c010,18 @@", [{"both": [["0x1001c010", "push esi", "0x1001c010"]]}, {"orig": [["0x1001c011", "mov edx, dword ptr [ecx + 4]"]], "recomp": [["0x1001c011", "mov eax, dword ptr [ecx + 8]"]]}, {"both": [["0x1001c014", "mov esi, ecx", "0x1001c014"]]}, {"orig": [["0x1001c016", "mov eax, edx"], ["0x1001c018", "mov ecx, dword ptr [esi + 8]"], ["0x1001c01b", "cmp eax, ecx"]], "recomp": [["0x1001c016", "mov ecx, dword ptr [ecx + 4]"], ["0x1001c019", "cmp ecx, eax"], ["0x1001c01b", "mov edx, ecx"]]}, {"both": [["0x1001c01d", "je 0x7", "0x1001c01d"]]}, {"orig": [["0x1001c01f", "add eax, 4"], ["0x1001c022", "cmp eax, ecx"]], "recomp": [["0x1001c01f", "add edx, 4"], ["0x1001c022", "cmp edx, eax"]]}, {"both": [["0x1001c024", "jne -0x7", "0x1001c024"]]}, {"orig": [["0x1001c026", "push edx"]], "recomp": [["0x1001c026", "push ecx"]]}, {"both": [["0x1001c027", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001c027"], ["0x1001c02c", "mov dword ptr [esi + 4], 0", "0x1001c02c"], ["0x1001c033", "mov dword ptr [esi + 8], 0", "0x1001c033"], ["0x1001c03a", "add esp, 4", "0x1001c03a"], ["0x1001c03d", "mov dword ptr [esi + 0xc], 0", "0x1001c03d"], ["0x1001c044", "pop esi", "0x1001c044"], ["0x1001c045", "ret ", "0x1001c045"]]}]]]}, {"address": "0x1001c050", "recomp": "0x1001c050", "name": "Vector<unsigned char *>::~Vector<unsigned char *>", "matching": 1.0, "diff": []}, {"address": "0x1001c0a0", "recomp": "0x1001c0a0", "name": "LegoAnimActorStruct::~LegoAnimActorStruct", "matching": 1.0, "diff": []}, {"address": "0x1001c130", "recomp": "0x1001c130", "name": "LegoAnimActorStruct::GetDuration", "matching": 1.0, "diff": []}, {"address": "0x1001c140", "recomp": "0x1001c140", "name": "LegoAnimActor::~LegoAnimActor", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001c168,21 +0x1001c168,21 @@", [{"both": [["0x1001c168", "push esi", "0x1001c168"], ["0x1001c169", "push edi", "0x1001c169"], ["0x1001c16a", "mov esi, dword ptr [eax + 4]", "0x1001c16a"], ["0x1001c16d", "mov edx, dword ptr [ebp - 0x10]", "0x1001c16d"], ["0x1001c170", "mov dword ptr [esi + ecx - 0x1c], LegoAnimActor::`vftable'{for `LegoPathActor'} (VTABLE)", "0x1001c170"], ["0x1001c178", "mov eax, dword ptr [ecx - 0x1c]", "0x1001c178"], ["0x1001c17b", "xor esi, esi", "0x1001c17b"], ["0x1001c17d", "mov eax, dword ptr [eax + 4]", "0x1001c17d"], ["0x1001c180", "mov dword ptr [ebp - 4], esi", "0x1001c180"], ["0x1001c183", "lea ecx, [eax - 0x1c]", "0x1001c183"]]}, {"orig": [["0x1001c186", "mov dword ptr [edx + eax - 0x20], ecx"]], "recomp": [["0x1001c186", "mov dword ptr [eax + edx - 0x20], ecx"]]}, {"both": [["0x1001c18a", "mov edx, dword ptr [ebp - 0x10]", "0x1001c18a"], ["0x1001c18d", "mov eax, dword ptr [edx - 0x14]", "0x1001c18d"], ["0x1001c190", "test eax, eax", "0x1001c190"], ["0x1001c192", "jne 0x1b", "0x1001c192"], ["0x1001c194", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001c194"], ["0x1001c19b", "call <OFFSET4>", "0x1001c19b"], ["0x1001c1a0", "mov eax, dword ptr [ebp - 0xc]", "0x1001c1a0"], ["0x1001c1a3", "pop edi", "0x1001c1a3"], ["0x1001c1a4", "mov dword ptr fs:[0], eax", "0x1001c1a4"], ["0x1001c1aa", "pop esi", "0x1001c1aa"]]}]]]}, {"address": "0x1001c1f0", "recomp": "0x1001c1f0", "name": "LegoAnimActor::FUN_1001c1f0", "matching": 1.0, "diff": []}, {"address": "0x1001c240", "recomp": "0x1001c240", "name": "LegoAnimActor::VTable0x74", "matching": 1.0, "diff": []}, {"address": "0x1001c290", "recomp": "0x1001c290", "name": "LegoAnimActor::Animate", "matching": 1.0, "diff": []}, {"address": "0x1001c360", "recomp": "0x1001c360", "name": "LegoAnimActor::FUN_1001c360", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001c3c6,30 +0x1001c3c6,30 @@", [{"both": [["0x1001c3c6", "pop edi", "0x1001c3c6"], ["0x1001c3c7", "pop esi", "0x1001c3c7"], ["0x1001c3c8", "pop ebx", "0x1001c3c8"], ["0x1001c3c9", "ret 8", "0x1001c3c9"], ["0x1001c3cc", "mov eax, dword ptr [edx + 4]", "0x1001c3cc"], ["0x1001c3cf", "test ecx, ecx", "0x1001c3cf"], ["0x1001c3d1", "mov edx, dword ptr [ebp + 0x58]", "0x1001c3d1"], ["0x1001c3d4", "mov ebx, dword ptr [eax + 4]", "0x1001c3d4"], ["0x1001c3d7", "mov byte ptr [edx + 0xc], 1", "0x1001c3d7"], ["0x1001c3db", "je 0x1e", "0x1001c3db"]]}, {"orig": [["0x1001c3dd", "mov edx, edi"], ["0x1001c3df", "mov eax, dword ptr [edx]"], ["0x1001c3e1", "test eax, eax"]], "recomp": [["0x1001c3dd", "mov eax, edi"], ["0x1001c3df", "mov edx, dword ptr [eax]"], ["0x1001c3e1", "test edx, edx"]]}, {"both": [["0x1001c3e3", "je 0x10", "0x1001c3e3"], ["0x1001c3e5", "mov ebp, dword ptr [esi + 4]", "0x1001c3e5"], ["0x1001c3e8", "mov ebp, dword ptr [ebp + 4]", "0x1001c3e8"]]}, {"orig": [["0x1001c3eb", "cmp dword ptr [ebp + esi + 0x58], eax"]], "recomp": [["0x1001c3eb", "cmp dword ptr [ebp + esi + 0x58], edx"]]}, {"both": [["0x1001c3ef", "je 0x4", "0x1001c3ef"]]}, {"orig": [["0x1001c3f1", "mov byte ptr [eax + 0xc], 1"], ["0x1001c3f5", "add edx, 4"]], "recomp": [["0x1001c3f1", "mov byte ptr [edx + 0xc], 1"], ["0x1001c3f5", "add eax, 4"]]}, {"both": [["0x1001c3f8", "dec ecx", "0x1001c3f8"], ["0x1001c3f9", "jne -0x1c", "0x1001c3f9"], ["0x1001c3fb", "xor ebp, ebp", "0x1001c3fb"], ["0x1001c3fd", "cmp dword ptr [ebx + 8], ebp", "0x1001c3fd"], ["0x1001c400", "jbe 0x23", "0x1001c400"], ["0x1001c402", "fld dword ptr [esp + 0x14]", "0x1001c402"], ["0x1001c406", "push edi", "0x1001c406"], ["0x1001c407", "inc ebp", "0x1001c407"], ["0x1001c408", "call __ftol (FUNCTION)", "0x1001c408"], ["0x1001c40d", "push eax", "0x1001c40d"]]}]]]}, {"address": "0x1001c450", "recomp": "0x1001c450", "name": "LegoAnimActor::FUN_1001c450", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001c492,55 +0x1001c492,185 @@", [{"both": [["0x1001c492", "mov ecx, dword ptr [ebp + 0x10]", "0x1001c492"], ["0x1001c495", "push eax", "0x1001c495"], ["0x1001c496", "mov edx, dword ptr [ebp + 8]", "0x1001c496"], ["0x1001c499", "push ecx", "0x1001c499"], ["0x1001c49a", "mov eax, dword ptr [ebp + 0xc]", "0x1001c49a"], ["0x1001c49d", "push edx", "0x1001c49d"], ["0x1001c49e", "mov ecx, edi", "0x1001c49e"], ["0x1001c4a0", "push eax", "0x1001c4a0"], ["0x1001c4a1", "call LegoAnimActorStruct::LegoAnimActorStruct (FUNCTION)", "0x1001c4a1"], ["0x1001c4a6", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001c4a6"]]}, {"orig": [["0x1001c4ad", "mov edi, dword ptr [esi + 0xc]"], ["0x1001c4b0", "mov ebx, dword ptr [esi + 0x10]"]], "recomp": [["0x1001c4ad", "mov ebx, dword ptr [esi + 0xc]"], ["0x1001c4b0", "mov edi, dword ptr [esi + 0x10]"]]}, {"both": [["0x1001c4b3", "mov dword ptr [ebp - 0x10], eax", "0x1001c4b3"], ["0x1001c4b6", "cmp edi, ebx", "0x1001c4b6"], ["0x1001c4b8", "je 0x15", "0x1001c4b8"]]}, {"orig": [["0x1001c4ba", "mov eax, dword ptr [edi]"]], "recomp": [["0x1001c4ba", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x1001c4bc", "fld dword ptr [eax]", "0x1001c4bc"], ["0x1001c4be", "fcomp dword ptr [ebp + 0xc]", "0x1001c4be"], ["0x1001c4c1", "fnstsw ax", "0x1001c4c1"], ["0x1001c4c3", "test ah, 0x41", "0x1001c4c3"], ["0x1001c4c6", "je 0x33", "0x1001c4c6"]]}, {"orig": [["0x1001c4c8", "add edi, 4"]], "recomp": [["0x1001c4c8", "add ebx, 4"]]}, {"both": [["0x1001c4cb", "cmp edi, ebx", "0x1001c4cb"], ["0x1001c4cd", "jne -0x15", "0x1001c4cd"], ["0x1001c4cf", "mov eax, dword ptr [esi + 0x14]", "0x1001c4cf"]]}, {"orig": [["0x1001c4d2", "sub eax, ebx"]], "recomp": [["0x1001c4d2", "sub eax, edi"]]}, {"both": [["0x1001c4d4", "sar eax, 2", "0x1001c4d4"], ["0x1001c4d7", "cmp eax, 1", "0x1001c4d7"], ["0x1001c4da", "jae 0x230", "0x1001c4da"], ["0x1001c4e0", "lea ecx, [esi + 8]", "0x1001c4e0"], ["0x1001c4e3", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)", "0x1001c4e3"], ["0x1001c4e8", "cmp eax, 1", "0x1001c4e8"], ["0x1001c4eb", "ja 0x181", "0x1001c4eb"]]}, {"orig": [["0x1001c4f1", "mov edi, 1"]], "recomp": [["0x1001c4f1", "mov ebx, 1"]]}, {"both": [["0x1001c4f6", "jmp 0x181", "0x1001c4f6"], ["0x1001c4fb", "mov eax, dword ptr [esi + 0x14]", "0x1001c4fb"]]}, {"orig": [["0x1001c4fe", "sub eax, ebx"]], "recomp": [["0x1001c4fe", "sub eax, edi"]]}, {"both": [["0x1001c500", "sar eax, 2", "0x1001c500"], ["0x1001c503", "cmp eax, 1", "0x1001c503"], ["0x1001c506", "jae 0xb0", "0x1001c506"], ["0x1001c50c", "lea ecx, [esi + 8]", "0x1001c50c"]]}, {"orig": [["0x1001c50f", "mov ebx, 1"]], "recomp": [["0x1001c50f", "mov edi, 1"]]}, {"both": [["0x1001c514", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)", "0x1001c514"], ["0x1001c519", "cmp eax, 1", "0x1001c519"], ["0x1001c51c", "jbe 0xa", "0x1001c51c"]]}, {"orig": [], "recomp": [["0x1001c51e", "lea ecx, [esi + 8]"], ["0x1001c521", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)"], ["0x1001c526", "mov edi, eax"], ["0x1001c528", "lea ecx, [esi + 8]"], ["0x1001c52b", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)"], ["0x1001c530", "add eax, edi"], ["0x1001c532", "mov dword ptr [ebp - 0x14], eax"], ["0x1001c535", "jns 0x2"], ["0x1001c537", "xor eax, eax"], ["0x1001c539", "shl eax, 2"], ["0x1001c53c", "push eax"], ["0x1001c53d", "call ??2@YAPAXI@Z (FUNCTION)"], ["0x1001c542", "add esp, 4"], ["0x1001c545", "mov edi, eax"], ["0x1001c547", "mov eax, dword ptr [esi + 0xc]"], ["0x1001c54a", "push edi"], ["0x1001c54b", "push ebx"], ["0x1001c54c", "push eax"], ["0x1001c54d", "call uninitialized_copy (FUNCTION)"], ["0x1001c552", "add esp, 0xc"], ["0x1001c555", "mov dword ptr [ebp - 0x18], eax"], ["0x1001c558", "lea eax, [ebp - 0x10]"], ["0x1001c55b", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1001c55e", "push eax"], ["0x1001c55f", "push 1"], ["0x1001c561", "push ecx"], ["0x1001c562", "call uninitialized_fill_n (FUNCTION)"], ["0x1001c567", "add esp, 0xc"], ["0x1001c56a", "mov eax, dword ptr [ebp - 0x18]"], ["0x1001c56d", "add eax, 4"], ["0x1001c570", "mov ecx, dword ptr [esi + 0x10]"], ["0x1001c573", "push eax"], ["0x1001c574", "push ecx"], ["0x1001c575", "push ebx"], ["0x1001c576", "call uninitialized_copy (FUNCTION)"], ["0x1001c57b", "add esp, 0xc"], ["0x1001c57e", "mov ecx, dword ptr [esi + 0x10]"], ["0x1001c581", "mov edx, dword ptr [esi + 0xc]"], ["0x1001c584", "push ecx"], ["0x1001c585", "push edx"], ["0x1001c586", "lea ecx, [esi + 8]"], ["0x1001c589", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::_Destroy (FUNCTION)"], ["0x1001c58e", "mov ecx, dword ptr [esi + 0xc]"], ["0x1001c591", "push ecx"], ["0x1001c592", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x1001c597", "add esp, 4"], ["0x1001c59a", "mov ecx, dword ptr [ebp - 0x14]"], ["0x1001c59d", "lea edx, [edi + ecx*4]"], ["0x1001c5a0", "lea ecx, [esi + 8]"], ["0x1001c5a3", "mov dword ptr [esi + 0x14], edx"], ["0x1001c5a6", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)"], ["0x1001c5ab", "lea eax, [edi + eax*4]"], ["0x1001c5ae", "mov dword ptr [esi + 0xc], edi"], ["0x1001c5b1", "add eax, 4"], ["0x1001c5b4", "mov dword ptr [esi + 0x10], eax"], ["0x1001c5b7", "jmp 0x8d"], ["0x1001c5bc", "mov eax, edi"], ["0x1001c5be", "sub eax, ebx"], ["0x1001c5c0", "sar eax, 2"], ["0x1001c5c3", "cmp eax, 1"], ["0x1001c5c6", "jae 0x43"], ["0x1001c5c8", "lea eax, [ebx + 4]"], ["0x1001c5cb", "push eax"], ["0x1001c5cc", "push edi"], ["0x1001c5cd", "push ebx"], ["0x1001c5ce", "call uninitialized_copy (FUNCTION)"], ["0x1001c5d3", "add esp, 0xc"], ["0x1001c5d6", "mov edx, dword ptr [esi + 0x10]"], ["0x1001c5d9", "lea eax, [ebp - 0x10]"], ["0x1001c5dc", "mov ecx, edx"], ["0x1001c5de", "push eax"], ["0x1001c5df", "sub ecx, ebx"], ["0x1001c5e1", "sar ecx, 2"], ["0x1001c5e4", "mov eax, 1"], ["0x1001c5e9", "sub eax, ecx"], ["0x1001c5eb", "push eax"], ["0x1001c5ec", "push edx"], ["0x1001c5ed", "call uninitialized_fill_n (FUNCTION)"], ["0x1001c5f2", "add esp, 0xc"], ["0x1001c5f5", "mov eax, dword ptr [esi + 0x10]"], ["0x1001c5f8", "cmp eax, ebx"], ["0x1001c5fa", "je 0x49"], ["0x1001c5fc", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1001c5ff", "add ebx, 4"], ["0x1001c602", "cmp ebx, eax"], ["0x1001c604", "mov dword ptr [ebx - 4], ecx"], ["0x1001c607", "jne -0xd"], ["0x1001c609", "jmp 0x3a"], ["0x1001c60b", "push edi"], ["0x1001c60c", "push edi"], ["0x1001c60d", "sub edi, 4"], ["0x1001c610", "push edi"], ["0x1001c611", "call uninitialized_copy (FUNCTION)"], ["0x1001c616", "add esp, 0xc"], ["0x1001c619", "mov eax, dword ptr [esi + 0x10]"], ["0x1001c61c", "lea ecx, [eax - 4]"], ["0x1001c61f", "cmp ecx, ebx"], ["0x1001c621", "je 0xf"], ["0x1001c623", "mov edx, dword ptr [ecx - 4]"], ["0x1001c626", "sub eax, 4"], ["0x1001c629", "sub ecx, 4"], ["0x1001c62c", "mov dword ptr [eax], edx"], ["0x1001c62e", "cmp ecx, ebx"], ["0x1001c630", "jne -0xf"], ["0x1001c632", "mov ecx, ebx"], ["0x1001c634", "mov eax, dword ptr [ebp - 0x10]"], ["0x1001c637", "mov dword ptr [ecx], eax"], ["0x1001c639", "add ecx, 4"], ["0x1001c63c", "mov eax, ebx"], ["0x1001c63e", "sub eax, ecx"], ["0x1001c640", "cmp eax, -4"], ["0x1001c643", "jne -0x11"], ["0x1001c645", "add dword ptr [esi + 0x10], 4"], ["0x1001c649", "mov eax, dword ptr [esi + 4]"], ["0x1001c64c", "mov eax, dword ptr [eax + 4]"], ["0x1001c64f", "add eax, esi"], ["0x1001c651", "lea ecx, [eax + 4]"], ["0x1001c654", "mov edx, dword ptr [eax + 0x54]"], ["0x1001c657", "push edx"], ["0x1001c658", "mov eax, dword ptr [ecx]"], ["0x1001c65a", "call dword ptr [eax + 0x30]"], ["0x1001c65d", "xor eax, eax"], ["0x1001c65f", "mov ecx, dword ptr [ebp - 0xc]"], ["0x1001c662", "mov dword ptr fs:[0], ecx"], ["0x1001c669", "pop edi"], ["0x1001c66a", "pop esi"], ["0x1001c66b", "pop ebx"], ["0x1001c66c", "mov esp, ebp"], ["0x1001c66e", "pop ebp"], ["0x1001c66f", "ret 0x10"]]}, {"both": [["0x1001c51e", "lea ecx, [esi + 8]", "0x1001c672"], ["0x1001c521", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)", "0x1001c675"], ["0x1001c526", "mov ebx, eax", "0x1001c67a"], ["0x1001c528", "lea ecx, [esi + 8]", "0x1001c67c"], ["0x1001c52b", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)", "0x1001c67f"], ["0x1001c530", "add eax, ebx", "0x1001c684"], ["0x1001c532", "mov dword ptr [ebp - 0x14], eax", "0x1001c686"], ["0x1001c535", "jns 0x2", "0x1001c689"], ["0x1001c537", "xor eax, eax", "0x1001c68b"], ["0x1001c539", "shl eax, 2", "0x1001c68d"]]}]], ["@@ -0x1001c597,204 +0x1001c6eb,74 @@", [{"both": [["0x1001c597", "add esp, 4", "0x1001c6eb"], ["0x1001c59a", "mov ecx, dword ptr [ebp - 0x14]", "0x1001c6ee"], ["0x1001c59d", "lea edx, [ebx + ecx*4]", "0x1001c6f1"], ["0x1001c5a0", "lea ecx, [esi + 8]", "0x1001c6f4"], ["0x1001c5a3", "mov dword ptr [esi + 0x14], edx", "0x1001c6f7"], ["0x1001c5a6", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)", "0x1001c6fa"], ["0x1001c5ab", "lea eax, [ebx + eax*4]", "0x1001c6ff"], ["0x1001c5ae", "mov dword ptr [esi + 0xc], ebx", "0x1001c702"], ["0x1001c5b1", "add eax, 4", "0x1001c705"], ["0x1001c5b4", "mov dword ptr [esi + 0x10], eax", "0x1001c708"]]}, {"orig": [["0x1001c5b7", "jmp 0x8d"], ["0x1001c5bc", "mov eax, ebx"]], "recomp": [["0x1001c70b", "jmp -0xc7"], ["0x1001c710", "mov eax, edi"]]}, {"both": [["0x1001c5be", "sub eax, edi", "0x1001c712"], ["0x1001c5c0", "sar eax, 2", "0x1001c714"], ["0x1001c5c3", "cmp eax, 1", "0x1001c717"]]}, {"orig": [["0x1001c5c6", "jae 0x43"]], "recomp": [["0x1001c71a", "jae 0x4a"]]}, {"both": [["0x1001c5c8", "lea eax, [edi + 4]", "0x1001c71c"], ["0x1001c5cb", "push eax", "0x1001c71f"]]}, {"orig": [["0x1001c5cc", "push ebx"]], "recomp": [["0x1001c720", "push edi"]]}, {"both": [["0x1001c5cd", "push edi", "0x1001c721"], ["0x1001c5ce", "call uninitialized_copy (FUNCTION)", "0x1001c722"], ["0x1001c5d3", "add esp, 0xc", "0x1001c727"], ["0x1001c5d6", "mov edx, dword ptr [esi + 0x10]", "0x1001c72a"], ["0x1001c5d9", "lea eax, [ebp - 0x10]", "0x1001c72d"], ["0x1001c5dc", "mov ecx, edx", "0x1001c730"], ["0x1001c5de", "push eax", "0x1001c732"], ["0x1001c5df", "sub ecx, edi", "0x1001c733"], ["0x1001c5e1", "sar ecx, 2", "0x1001c735"], ["0x1001c5e4", "mov eax, 1", "0x1001c738"], ["0x1001c5e9", "sub eax, ecx", "0x1001c73d"], ["0x1001c5eb", "push eax", "0x1001c73f"], ["0x1001c5ec", "push edx", "0x1001c740"], ["0x1001c5ed", "call uninitialized_fill_n (FUNCTION)", "0x1001c741"], ["0x1001c5f2", "add esp, 0xc", "0x1001c746"], ["0x1001c5f5", "mov eax, dword ptr [esi + 0x10]", "0x1001c749"]]}, {"orig": [["0x1001c5f8", "cmp eax, edi"], ["0x1001c5fa", "je 0x49"]], "recomp": [["0x1001c74c", "cmp edi, eax"], ["0x1001c74e", "je -0x10f"]]}, {"both": [["0x1001c5fc", "mov ecx, dword ptr [ebp - 0x10]", "0x1001c754"], ["0x1001c5ff", "add edi, 4", "0x1001c757"], ["0x1001c602", "cmp edi, eax", "0x1001c75a"], ["0x1001c604", "mov dword ptr [edi - 4], ecx", "0x1001c75c"], ["0x1001c607", "jne -0xd", "0x1001c75f"]]}, {"orig": [["0x1001c609", "jmp 0x3a"], ["0x1001c60b", "push ebx"], ["0x1001c60c", "push ebx"], ["0x1001c60d", "sub ebx, 4"], ["0x1001c610", "push ebx"]], "recomp": [["0x1001c761", "jmp -0x121"], ["0x1001c766", "push edi"], ["0x1001c767", "lea eax, [edi - 4]"], ["0x1001c76a", "push edi"], ["0x1001c76b", "push eax"]]}, {"both": [["0x1001c611", "call uninitialized_copy (FUNCTION)", "0x1001c76c"], ["0x1001c616", "add esp, 0xc", "0x1001c771"], ["0x1001c619", "mov eax, dword ptr [esi + 0x10]", "0x1001c774"], ["0x1001c61c", "lea ecx, [eax - 4]", "0x1001c777"]]}, {"orig": [["0x1001c61f", "cmp edi, ecx"]], "recomp": [["0x1001c77a", "cmp ecx, edi"]]}, {"both": [["0x1001c621", "je 0xf", "0x1001c77c"], ["0x1001c623", "mov edx, dword ptr [ecx - 4]", "0x1001c77e"], ["0x1001c626", "sub eax, 4", "0x1001c781"], ["0x1001c629", "sub ecx, 4", "0x1001c784"], ["0x1001c62c", "mov dword ptr [eax], edx", "0x1001c787"]]}, {"orig": [["0x1001c62e", "cmp edi, ecx"]], "recomp": [["0x1001c789", "cmp ecx, edi"]]}, {"both": [["0x1001c630", "jne -0xf", "0x1001c78b"], ["0x1001c632", "mov ecx, edi", "0x1001c78d"], ["0x1001c634", "mov eax, dword ptr [ebp - 0x10]", "0x1001c78f"], ["0x1001c637", "mov dword ptr [ecx], eax", "0x1001c792"], ["0x1001c639", "add ecx, 4", "0x1001c794"], ["0x1001c63c", "mov eax, edi", "0x1001c797"]]}, {"orig": [["0x1001c63e", "sub eax, ecx"], ["0x1001c640", "cmp eax, -4"], ["0x1001c643", "jne -0x11"], ["0x1001c645", "add dword ptr [esi + 0x10], 4"], ["0x1001c649", "mov eax, dword ptr [esi + 4]"], ["0x1001c64c", "mov eax, dword ptr [eax + 4]"], ["0x1001c64f", "add eax, esi"], ["0x1001c651", "lea ecx, [eax + 4]"], ["0x1001c654", "mov edx, dword ptr [eax + 0x54]"], ["0x1001c657", "push edx"], ["0x1001c658", "mov eax, dword ptr [ecx]"], ["0x1001c65a", "call dword ptr [eax + 0x30]"], ["0x1001c65d", "xor eax, eax"], ["0x1001c65f", "mov ecx, dword ptr [ebp - 0xc]"], ["0x1001c662", "mov dword ptr fs:[0], ecx"], ["0x1001c669", "pop edi"], ["0x1001c66a", "pop esi"], ["0x1001c66b", "pop ebx"], ["0x1001c66c", "mov esp, ebp"], ["0x1001c66e", "pop ebp"], ["0x1001c66f", "ret 0x10"], ["0x1001c672", "lea ecx, [esi + 8]"], ["0x1001c675", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)"], ["0x1001c67a", "mov edi, eax"], ["0x1001c67c", "lea ecx, [esi + 8]"], ["0x1001c67f", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)"], ["0x1001c684", "add eax, edi"], ["0x1001c686", "mov dword ptr [ebp - 0x14], eax"], ["0x1001c689", "jns 0x2"], ["0x1001c68b", "xor eax, eax"], ["0x1001c68d", "shl eax, 2"], ["0x1001c690", "push eax"], ["0x1001c691", "call ??2@YAPAXI@Z (FUNCTION)"], ["0x1001c696", "add esp, 4"], ["0x1001c699", "mov edi, eax"], ["0x1001c69b", "mov eax, dword ptr [esi + 0xc]"], ["0x1001c69e", "push edi"], ["0x1001c69f", "push ebx"], ["0x1001c6a0", "push eax"], ["0x1001c6a1", "call uninitialized_copy (FUNCTION)"], ["0x1001c6a6", "add esp, 0xc"], ["0x1001c6a9", "mov dword ptr [ebp - 0x18], eax"], ["0x1001c6ac", "lea eax, [ebp - 0x10]"], ["0x1001c6af", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1001c6b2", "push eax"], ["0x1001c6b3", "push 1"], ["0x1001c6b5", "push ecx"], ["0x1001c6b6", "call uninitialized_fill_n (FUNCTION)"], ["0x1001c6bb", "add esp, 0xc"], ["0x1001c6be", "mov eax, dword ptr [ebp - 0x18]"], ["0x1001c6c1", "add eax, 4"], ["0x1001c6c4", "mov ecx, dword ptr [esi + 0x10]"], ["0x1001c6c7", "push eax"], ["0x1001c6c8", "push ecx"], ["0x1001c6c9", "push ebx"], ["0x1001c6ca", "call uninitialized_copy (FUNCTION)"], ["0x1001c6cf", "add esp, 0xc"], ["0x1001c6d2", "mov ecx, dword ptr [esi + 0x10]"], ["0x1001c6d5", "mov edx, dword ptr [esi + 0xc]"], ["0x1001c6d8", "push ecx"], ["0x1001c6d9", "push edx"], ["0x1001c6da", "lea ecx, [esi + 8]"], ["0x1001c6dd", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::_Destroy (FUNCTION)"], ["0x1001c6e2", "mov ecx, dword ptr [esi + 0xc]"], ["0x1001c6e5", "push ecx"], ["0x1001c6e6", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x1001c6eb", "add esp, 4"], ["0x1001c6ee", "mov ecx, dword ptr [ebp - 0x14]"], ["0x1001c6f1", "lea edx, [edi + ecx*4]"], ["0x1001c6f4", "lea ecx, [esi + 8]"], ["0x1001c6f7", "mov dword ptr [esi + 0x14], edx"], ["0x1001c6fa", "call vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size (FUNCTION)"], ["0x1001c6ff", "lea eax, [edi + eax*4]"], ["0x1001c702", "mov dword ptr [esi + 0xc], edi"], ["0x1001c705", "add eax, 4"], ["0x1001c708", "mov dword ptr [esi + 0x10], eax"], ["0x1001c70b", "jmp -0xc7"], ["0x1001c710", "mov eax, ebx"], ["0x1001c712", "sub eax, ebx"], ["0x1001c714", "sar eax, 2"], ["0x1001c717", "cmp eax, 1"], ["0x1001c71a", "jae 0x4a"], ["0x1001c71c", "lea eax, [ebx + 4]"], ["0x1001c71f", "push eax"], ["0x1001c720", "push ebx"], ["0x1001c721", "push ebx"], ["0x1001c722", "call uninitialized_copy (FUNCTION)"], ["0x1001c727", "add esp, 0xc"], ["0x1001c72a", "mov edx, dword ptr [esi + 0x10]"], ["0x1001c72d", "lea eax, [ebp - 0x10]"], ["0x1001c730", "mov ecx, edx"], ["0x1001c732", "push eax"], ["0x1001c733", "sub ecx, ebx"], ["0x1001c735", "sar ecx, 2"], ["0x1001c738", "mov eax, 1"], ["0x1001c73d", "sub eax, ecx"], ["0x1001c73f", "push eax"], ["0x1001c740", "push edx"], ["0x1001c741", "call uninitialized_fill_n (FUNCTION)"], ["0x1001c746", "add esp, 0xc"], ["0x1001c749", "mov eax, dword ptr [esi + 0x10]"], ["0x1001c74c", "cmp eax, ebx"], ["0x1001c74e", "je -0x10f"], ["0x1001c754", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1001c757", "add ebx, 4"], ["0x1001c75a", "cmp eax, ebx"], ["0x1001c75c", "mov dword ptr [ebx - 4], ecx"], ["0x1001c75f", "jne -0xd"], ["0x1001c761", "jmp -0x121"], ["0x1001c766", "push ebx"], ["0x1001c767", "lea eax, [ebx - 4]"], ["0x1001c76a", "push ebx"], ["0x1001c76b", "push eax"], ["0x1001c76c", "call uninitialized_copy (FUNCTION)"], ["0x1001c771", "add esp, 0xc"], ["0x1001c774", "mov eax, dword ptr [esi + 0x10]"], ["0x1001c777", "lea ecx, [eax - 4]"], ["0x1001c77a", "cmp ecx, ebx"], ["0x1001c77c", "je 0xf"], ["0x1001c77e", "mov edx, dword ptr [ecx - 4]"], ["0x1001c781", "sub eax, 4"], ["0x1001c784", "sub ecx, 4"], ["0x1001c787", "mov dword ptr [eax], edx"], ["0x1001c789", "cmp ecx, ebx"], ["0x1001c78b", "jne -0xf"], ["0x1001c78d", "mov ecx, ebx"], ["0x1001c78f", "mov eax, dword ptr [ebp - 0x10]"], ["0x1001c792", "mov dword ptr [ecx], eax"], ["0x1001c794", "add ecx, 4"], ["0x1001c797", "mov eax, ebx"]], "recomp": []}, {"both": [["0x1001c799", "sub eax, ecx", "0x1001c799"], ["0x1001c79b", "cmp eax, -4", "0x1001c79b"], ["0x1001c79e", "jne -0x11", "0x1001c79e"], ["0x1001c7a0", "jmp -0x160", "0x1001c7a0"], ["0x1001c7a5", "mov eax, <OFFSET9>", "0x1001c7a5"], ["0x1001c7aa", "jmp ___CxxFrameHandler (FUNCTION)", "0x1001c7aa"], ["0x1001c7af", "mov eax, dword ptr [ebp - 0x14]", "0x1001c7af"], ["0x1001c7b2", "push eax", "0x1001c7b2"], ["0x1001c7b3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001c7b3"], ["0x1001c7b8", "add esp, 4", "0x1001c7b8"]]}]]]}, {"address": "0x1001c7c0", "recomp": "0x1001c7c0", "name": "vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::size", "matching": 1.0, "diff": []}, {"address": "0x1001c7e0", "recomp": "0x1001c7e0", "name": "vector<LegoAnimActorStruct *,allocator<LegoAnimActorStruct *> >::_Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001c800", "recomp": "0x1001c800", "name": "LegoAnimActor::ClearMaps", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001c80c,25 +0x1001c80c,25 @@", [{"both": [["0x1001c80c", "jne 0x38", "0x1001c80c"], ["0x1001c80e", "mov edi, dword ptr [esi + 0xc]", "0x1001c80e"], ["0x1001c811", "mov eax, dword ptr [esi + 0x10]", "0x1001c811"], ["0x1001c814", "cmp eax, eax", "0x1001c814"], ["0x1001c816", "mov ecx, eax", "0x1001c816"], ["0x1001c818", "je 0xf", "0x1001c818"], ["0x1001c81a", "mov edx, dword ptr [ecx]", "0x1001c81a"], ["0x1001c81c", "add edi, 4", "0x1001c81c"], ["0x1001c81f", "add ecx, 4", "0x1001c81f"], ["0x1001c822", "mov dword ptr [edi - 4], edx", "0x1001c822"]]}, {"orig": [["0x1001c825", "cmp eax, ecx"]], "recomp": [["0x1001c825", "cmp ecx, eax"]]}, {"both": [["0x1001c827", "jne -0xf", "0x1001c827"], ["0x1001c829", "mov ecx, edi", "0x1001c829"], ["0x1001c82b", "mov eax, dword ptr [esi + 0x10]", "0x1001c82b"]]}, {"orig": [["0x1001c82e", "cmp edi, eax"]], "recomp": [["0x1001c82e", "cmp eax, edi"]]}, {"both": [["0x1001c830", "je 0x7", "0x1001c830"], ["0x1001c832", "add ecx, 4", "0x1001c832"], ["0x1001c835", "cmp ecx, eax", "0x1001c835"], ["0x1001c837", "jne -0x7", "0x1001c837"], ["0x1001c839", "mov word ptr [esi + 0x18], 0xffff", "0x1001c839"], ["0x1001c83f", "mov dword ptr [esi + 0x10], edi", "0x1001c83f"], ["0x1001c842", "pop edi", "0x1001c842"], ["0x1001c843", "pop esi", "0x1001c843"], ["0x1001c844", "pop ebx", "0x1001c844"], ["0x1001c845", "ret ", "0x1001c845"]]}]]]}, {"address": "0x1001c870", "recomp": "0x1001c870", "name": "LegoAnimActor::SetWorldSpeed", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001c8eb,22 +0x1001c8eb,22 @@", [{"both": [["0x1001c8eb", "pop esi", "0x1001c8eb"], ["0x1001c8ec", "pop ebx", "0x1001c8ec"], ["0x1001c8ed", "ret 4", "0x1001c8ed"], ["0x1001c8f0", "xor ebx, ebx", "0x1001c8f0"], ["0x1001c8f2", "test esi, esi", "0x1001c8f2"], ["0x1001c8f4", "jne 0x6", "0x1001c8f4"], ["0x1001c8f6", "pop edi", "0x1001c8f6"], ["0x1001c8f7", "pop esi", "0x1001c8f7"], ["0x1001c8f8", "pop ebx", "0x1001c8f8"], ["0x1001c8f9", "ret 4", "0x1001c8f9"]]}, {"orig": [["0x1001c8fc", "cmp ebx, edx"], ["0x1001c8fe", "jae 0x15"]], "recomp": [["0x1001c8fc", "cmp edx, ebx"], ["0x1001c8fe", "jbe 0x15"]]}, {"both": [["0x1001c900", "mov eax, dword ptr [esi + ebx*4]", "0x1001c900"], ["0x1001c903", "fld dword ptr [eax]", "0x1001c903"], ["0x1001c905", "fcomp dword ptr [edi]", "0x1001c905"], ["0x1001c907", "fnstsw ax", "0x1001c907"], ["0x1001c909", "test ah, 1", "0x1001c909"], ["0x1001c90c", "je 0x3", "0x1001c90c"], ["0x1001c90e", "inc ebx", "0x1001c90e"], ["0x1001c90f", "jmp -0x1f", "0x1001c90f"], ["0x1001c911", "mov word ptr [ecx - 8], bx", "0x1001c911"], ["0x1001c915", "pop edi", "0x1001c915"]]}]]]}, {"address": "0x1001c920", "recomp": "0x1001c920", "name": "LegoAnimActor::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x1001c9e0", "recomp": "0x1001c9e0", "name": "uninitialized_fill_n", "matching": 1.0, "diff": []}, {"address": "0x1001ca10", "recomp": "0x1001ca10", "name": "uninitialized_copy", "matching": 1.0, "diff": []}, {"address": "0x1001ca40", "recomp": "0x1001ca40", "name": "LegoWorld::LegoWorld", "matching": 1.0, "diff": []}, {"address": "0x1001cd00", "recomp": "0x1001cd00", "name": "MxPresenterList::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001cd20", "recomp": "0x1001cd20", "name": "MxCollection<MxPresenter *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001cd30", "recomp": "0x1001cd30", "name": "MxCollection<MxPresenter *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001cd40", "recomp": "0x1001cd40", "name": "MxList<MxPresenter *>::MxList<MxPresenter *>", "matching": 1.0, "diff": []}, {"address": "0x1001cdd0", "recomp": "0x1001cdd0", "name": "MxCollection<MxPresenter *>::~MxCollection<MxPresenter *>", "matching": 1.0, "diff": []}, {"address": "0x1001ce20", "recomp": "0x1001ce20", "name": "MxList<MxPresenter *>::~MxList<MxPresenter *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001ce29,33 +0x1001ce29,33 @@", [{"both": [["0x1001ce29", "push -1", "0x1001ce29"], ["0x1001ce2b", "push <OFFSET1>", "0x1001ce2b"], ["0x1001ce30", "push eax", "0x1001ce30"], ["0x1001ce31", "mov dword ptr fs:[0], esp", "0x1001ce31"], ["0x1001ce38", "mov dword ptr [ecx], MxList<MxPresenter *>::`vftable' (VTABLE)", "0x1001ce38"], ["0x1001ce3e", "sub esp, 4", "0x1001ce3e"], ["0x1001ce41", "mov dword ptr [ebp - 0x10], ecx", "0x1001ce41"], ["0x1001ce44", "mov dword ptr [ebp - 4], 0", "0x1001ce44"], ["0x1001ce4b", "push esi", "0x1001ce4b"], ["0x1001ce4c", "push edi", "0x1001ce4c"]]}, {"orig": [["0x1001ce4d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001ce50", "test esi, esi"]], "recomp": [["0x1001ce4d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001ce50", "test edi, edi"]]}, {"both": [["0x1001ce52", "je 0x1c", "0x1001ce52"]]}, {"orig": [["0x1001ce54", "mov edi, dword ptr [esi + 8]"], ["0x1001ce57", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001ce54", "mov esi, dword ptr [edi + 8]"], ["0x1001ce57", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001ce59", "push eax", "0x1001ce59"], ["0x1001ce5a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001ce5a"], ["0x1001ce5d", "call dword ptr [ecx + 0xc]", "0x1001ce5d"], ["0x1001ce60", "add esp, 4", "0x1001ce60"]]}, {"orig": [["0x1001ce63", "push esi"]], "recomp": [["0x1001ce63", "push edi"]]}, {"both": [["0x1001ce64", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001ce64"], ["0x1001ce69", "add esp, 4", "0x1001ce69"]]}, {"orig": [["0x1001ce6c", "mov esi, edi"]], "recomp": [["0x1001ce6c", "mov edi, esi"]]}, {"both": [["0x1001ce6e", "jmp -0x20", "0x1001ce6e"], ["0x1001ce70", "xor eax, eax", "0x1001ce70"], ["0x1001ce72", "mov ecx, dword ptr [ebp - 0x10]", "0x1001ce72"], ["0x1001ce75", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001ce75"], ["0x1001ce7c", "mov dword ptr [ecx + 8], eax", "0x1001ce7c"], ["0x1001ce7f", "mov dword ptr [ecx + 0x14], eax", "0x1001ce7f"], ["0x1001ce82", "mov dword ptr [ecx + 0x10], eax", "0x1001ce82"], ["0x1001ce85", "call <OFFSET4>", "0x1001ce85"], ["0x1001ce8a", "mov eax, dword ptr [ebp - 0xc]", "0x1001ce8a"], ["0x1001ce8d", "pop edi", "0x1001ce8d"]]}]]]}, {"address": "0x1001ceb0", "recomp": "0x1001ceb0", "name": "MxPresenterList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001cf20", "recomp": "0x1001cf20", "name": "MxPtrList<MxPresenter>::~MxPtrList<MxPresenter>", "matching": 1.0, "diff": []}, {"address": "0x1001cf70", "recomp": "0x1001cf70", "name": "MxCollection<MxPresenter *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001cfe0", "recomp": "0x1001cfe0", "name": "MxList<MxPresenter *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001cfe9,33 +0x1001cfe9,33 @@", [{"both": [["0x1001cfe9", "push -1", "0x1001cfe9"], ["0x1001cfeb", "push <OFFSET1>", "0x1001cfeb"], ["0x1001cff0", "push eax", "0x1001cff0"], ["0x1001cff1", "mov dword ptr fs:[0], esp", "0x1001cff1"], ["0x1001cff8", "mov dword ptr [ecx], MxList<MxPresenter *>::`vftable' (VTABLE)", "0x1001cff8"], ["0x1001cffe", "sub esp, 4", "0x1001cffe"], ["0x1001d001", "mov dword ptr [ebp - 0x10], ecx", "0x1001d001"], ["0x1001d004", "mov dword ptr [ebp - 4], 0", "0x1001d004"], ["0x1001d00b", "push esi", "0x1001d00b"], ["0x1001d00c", "push edi", "0x1001d00c"]]}, {"orig": [["0x1001d00d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001d010", "test esi, esi"]], "recomp": [["0x1001d00d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001d010", "test edi, edi"]]}, {"both": [["0x1001d012", "je 0x1c", "0x1001d012"]]}, {"orig": [["0x1001d014", "mov edi, dword ptr [esi + 8]"], ["0x1001d017", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001d014", "mov esi, dword ptr [edi + 8]"], ["0x1001d017", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001d019", "push eax", "0x1001d019"], ["0x1001d01a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001d01a"], ["0x1001d01d", "call dword ptr [ecx + 0xc]", "0x1001d01d"], ["0x1001d020", "add esp, 4", "0x1001d020"]]}, {"orig": [["0x1001d023", "push esi"]], "recomp": [["0x1001d023", "push edi"]]}, {"both": [["0x1001d024", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001d024"], ["0x1001d029", "add esp, 4", "0x1001d029"]]}, {"orig": [["0x1001d02c", "mov esi, edi"]], "recomp": [["0x1001d02c", "mov edi, esi"]]}, {"both": [["0x1001d02e", "jmp -0x20", "0x1001d02e"], ["0x1001d030", "xor eax, eax", "0x1001d030"], ["0x1001d032", "mov ecx, dword ptr [ebp - 0x10]", "0x1001d032"], ["0x1001d035", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001d035"], ["0x1001d03c", "mov dword ptr [ecx + 8], eax", "0x1001d03c"], ["0x1001d03f", "mov dword ptr [ecx + 0x14], eax", "0x1001d03f"], ["0x1001d042", "mov dword ptr [ecx + 0x10], eax", "0x1001d042"], ["0x1001d045", "call <OFFSET4>", "0x1001d045"], ["0x1001d04a", "test byte ptr [ebp + 8], 1", "0x1001d04a"], ["0x1001d04e", "je 0xc", "0x1001d04e"]]}]]]}, {"address": "0x1001d090", "recomp": "0x1001d090", "name": "MxPtrList<MxPresenter>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001d100", "recomp": "0x1001d100", "name": "MxPresenterList::~MxPresenterList", "matching": 1.0, "diff": []}, {"address": "0x1001d150", "recomp": "0x1001d150", "name": "Vector3::Vector3", "matching": 1.0, "diff": []}, {"address": "0x1001d170", "recomp": "0x1001d170", "name": "Mx3DPointFloat::Mx3DPointFloat", "matching": 1.0, "diff": []}, {"address": "0x1001d190", "recomp": "0x1001d190", "name": "MxEntity::MxEntity", "matching": 1.0, "diff": []}, {"address": "0x1001d210", "recomp": "0x1001d210", "name": "LegoPathControllerList::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001d230", "recomp": "0x1001d230", "name": "MxCollection<LegoPathController *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001d240", "recomp": "0x1001d240", "name": "MxList<LegoPathController *>::MxList<LegoPathController *>", "matching": 1.0, "diff": []}, {"address": "0x1001d2d0", "recomp": "0x1001d2d0", "name": "MxCollection<LegoPathController *>::~MxCollection<LegoPathController *>", "matching": 1.0, "diff": []}, {"address": "0x1001d320", "recomp": "0x1001d320", "name": "MxCollection<LegoPathController *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001d330", "recomp": "0x1001d330", "name": "MxList<LegoPathController *>::~MxList<LegoPathController *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001d339,33 +0x1001d339,33 @@", [{"both": [["0x1001d339", "push -1", "0x1001d339"], ["0x1001d33b", "push <OFFSET1>", "0x1001d33b"], ["0x1001d340", "push eax", "0x1001d340"], ["0x1001d341", "mov dword ptr fs:[0], esp", "0x1001d341"], ["0x1001d348", "mov dword ptr [ecx], MxList<LegoPathController *>::`vftable' (VTABLE)", "0x1001d348"], ["0x1001d34e", "sub esp, 4", "0x1001d34e"], ["0x1001d351", "mov dword ptr [ebp - 0x10], ecx", "0x1001d351"], ["0x1001d354", "mov dword ptr [ebp - 4], 0", "0x1001d354"], ["0x1001d35b", "push esi", "0x1001d35b"], ["0x1001d35c", "push edi", "0x1001d35c"]]}, {"orig": [["0x1001d35d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001d360", "test esi, esi"]], "recomp": [["0x1001d35d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001d360", "test edi, edi"]]}, {"both": [["0x1001d362", "je 0x1c", "0x1001d362"]]}, {"orig": [["0x1001d364", "mov edi, dword ptr [esi + 8]"], ["0x1001d367", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001d364", "mov esi, dword ptr [edi + 8]"], ["0x1001d367", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001d369", "push eax", "0x1001d369"], ["0x1001d36a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001d36a"], ["0x1001d36d", "call dword ptr [ecx + 0xc]", "0x1001d36d"], ["0x1001d370", "add esp, 4", "0x1001d370"]]}, {"orig": [["0x1001d373", "push esi"]], "recomp": [["0x1001d373", "push edi"]]}, {"both": [["0x1001d374", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001d374"], ["0x1001d379", "add esp, 4", "0x1001d379"]]}, {"orig": [["0x1001d37c", "mov esi, edi"]], "recomp": [["0x1001d37c", "mov edi, esi"]]}, {"both": [["0x1001d37e", "jmp -0x20", "0x1001d37e"], ["0x1001d380", "xor eax, eax", "0x1001d380"], ["0x1001d382", "mov ecx, dword ptr [ebp - 0x10]", "0x1001d382"], ["0x1001d385", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001d385"], ["0x1001d38c", "mov dword ptr [ecx + 8], eax", "0x1001d38c"], ["0x1001d38f", "mov dword ptr [ecx + 0x14], eax", "0x1001d38f"], ["0x1001d392", "mov dword ptr [ecx + 0x10], eax", "0x1001d392"], ["0x1001d395", "call <OFFSET4>", "0x1001d395"], ["0x1001d39a", "mov eax, dword ptr [ebp - 0xc]", "0x1001d39a"], ["0x1001d39d", "pop edi", "0x1001d39d"]]}]]]}, {"address": "0x1001d3c0", "recomp": "0x1001d3c0", "name": "MxPtrList<LegoPathController>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001d3d0", "recomp": "0x1001d3d0", "name": "LegoPathControllerList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001d440", "recomp": "0x1001d440", "name": "MxPtrList<LegoPathController>::~MxPtrList<LegoPathController>", "matching": 1.0, "diff": []}, {"address": "0x1001d490", "recomp": "0x1001d490", "name": "MxCollection<LegoPathController *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001d500", "recomp": "0x1001d500", "name": "MxList<LegoPathController *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001d509,33 +0x1001d509,33 @@", [{"both": [["0x1001d509", "push -1", "0x1001d509"], ["0x1001d50b", "push <OFFSET1>", "0x1001d50b"], ["0x1001d510", "push eax", "0x1001d510"], ["0x1001d511", "mov dword ptr fs:[0], esp", "0x1001d511"], ["0x1001d518", "mov dword ptr [ecx], MxList<LegoPathController *>::`vftable' (VTABLE)", "0x1001d518"], ["0x1001d51e", "sub esp, 4", "0x1001d51e"], ["0x1001d521", "mov dword ptr [ebp - 0x10], ecx", "0x1001d521"], ["0x1001d524", "mov dword ptr [ebp - 4], 0", "0x1001d524"], ["0x1001d52b", "push esi", "0x1001d52b"], ["0x1001d52c", "push edi", "0x1001d52c"]]}, {"orig": [["0x1001d52d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001d530", "test esi, esi"]], "recomp": [["0x1001d52d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001d530", "test edi, edi"]]}, {"both": [["0x1001d532", "je 0x1c", "0x1001d532"]]}, {"orig": [["0x1001d534", "mov edi, dword ptr [esi + 8]"], ["0x1001d537", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001d534", "mov esi, dword ptr [edi + 8]"], ["0x1001d537", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001d539", "push eax", "0x1001d539"], ["0x1001d53a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001d53a"], ["0x1001d53d", "call dword ptr [ecx + 0xc]", "0x1001d53d"], ["0x1001d540", "add esp, 4", "0x1001d540"]]}, {"orig": [["0x1001d543", "push esi"]], "recomp": [["0x1001d543", "push edi"]]}, {"both": [["0x1001d544", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001d544"], ["0x1001d549", "add esp, 4", "0x1001d549"]]}, {"orig": [["0x1001d54c", "mov esi, edi"]], "recomp": [["0x1001d54c", "mov edi, esi"]]}, {"both": [["0x1001d54e", "jmp -0x20", "0x1001d54e"], ["0x1001d550", "xor eax, eax", "0x1001d550"], ["0x1001d552", "mov ecx, dword ptr [ebp - 0x10]", "0x1001d552"], ["0x1001d555", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001d555"], ["0x1001d55c", "mov dword ptr [ecx + 8], eax", "0x1001d55c"], ["0x1001d55f", "mov dword ptr [ecx + 0x14], eax", "0x1001d55f"], ["0x1001d562", "mov dword ptr [ecx + 0x10], eax", "0x1001d562"], ["0x1001d565", "call <OFFSET4>", "0x1001d565"], ["0x1001d56a", "test byte ptr [ebp + 8], 1", "0x1001d56a"], ["0x1001d56e", "je 0xc", "0x1001d56e"]]}]]]}, {"address": "0x1001d5b0", "recomp": "0x1001d5b0", "name": "MxPtrList<LegoPathController>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001d620", "recomp": "0x1001d620", "name": "LegoPathControllerList::~LegoPathControllerList", "matching": 1.0, "diff": []}, {"address": "0x1001d670", "recomp": "0x1001d670", "name": "LegoWorld::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x1001d680", "recomp": "0x1001d680", "name": "LegoWorld::Escape", "matching": 1.0, "diff": []}, {"address": "0x1001d690", "recomp": "0x1001d690", "name": "LegoWorld::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1001d6a0", "recomp": "0x1001d6a0", "name": "LegoWorld::IsA", "matching": 1.0, "diff": []}, {"address": "0x1001d780", "recomp": "0x1001d780", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::~_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >", "matching": 1.0, "diff": []}, {"address": "0x1001d850", "recomp": "0x1001d850", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001d850,16 +0x1001d850,16 @@", [{"both": [["0x1001d850", "mov eax, dword ptr [ecx]", "0x1001d850"], ["0x1001d852", "mov edx, dword ptr [eax + 8]", "0x1001d852"]]}, {"orig": [["0x1001d855", "cmp edx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d855", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], edx"]]}, {"both": [["0x1001d85b", "je 0x11", "0x1001d85b"], ["0x1001d85d", "mov eax, dword ptr [edx]", "0x1001d85d"]]}, {"orig": [["0x1001d85f", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d85f", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001d865", "je 0x4", "0x1001d865"], ["0x1001d867", "mov edx, eax", "0x1001d867"], ["0x1001d869", "jmp -0xe", "0x1001d869"], ["0x1001d86b", "mov dword ptr [ecx], edx", "0x1001d86b"], ["0x1001d86d", "ret ", "0x1001d86d"], ["0x1001d86e", "mov edx, dword ptr [eax + 4]", "0x1001d86e"], ["0x1001d871", "cmp dword ptr [edx + 8], eax", "0x1001d871"], ["0x1001d874", "jne 0xc", "0x1001d874"], ["0x1001d876", "mov dword ptr [ecx], edx", "0x1001d876"], ["0x1001d878", "mov eax, edx", "0x1001d878"]]}]]]}, {"address": "0x1001d890", "recomp": "0x1001d890", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::erase", "matching": 0.6292749658002736, "diff": [["@@ -0x1001d890,61 +0x1001d890,61 @@", [{"both": [["0x1001d890", "mov eax, dword ptr [esp + 8]", "0x1001d890"], ["0x1001d894", "sub esp, 4", "0x1001d894"], ["0x1001d897", "mov dword ptr [esp], eax", "0x1001d897"], ["0x1001d89b", "push ebx", "0x1001d89b"], ["0x1001d89c", "push esi", "0x1001d89c"]]}, {"orig": [["0x1001d89d", "mov eax, dword ptr [eax + 8]"]], "recomp": []}, {"both": [["0x1001d8a0", "push edi", "0x1001d89d"]]}, {"orig": [], "recomp": [["0x1001d89e", "push ebp"]]}, {"both": [["0x1001d8a1", "mov esi, ecx", "0x1001d89f"]]}, {"orig": [["0x1001d8a3", "push ebp"], ["0x1001d8a4", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d8a1", "mov ecx, dword ptr [eax + 8]"], ["0x1001d8a4", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x1001d8aa", "je 0xe", "0x1001d8aa"]]}, {"orig": [["0x1001d8ac", "mov ecx, dword ptr [eax]"], ["0x1001d8ae", "cmp ecx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d8ac", "mov eax, dword ptr [ecx]"], ["0x1001d8ae", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001d8b4", "je 0x29", "0x1001d8b4"]]}, {"orig": [["0x1001d8b6", "mov eax, ecx"]], "recomp": [["0x1001d8b6", "mov ecx, eax"]]}, {"both": [["0x1001d8b8", "jmp -0xe", "0x1001d8b8"]]}, {"orig": [["0x1001d8ba", "mov ecx, dword ptr [esp + 0x1c]"], ["0x1001d8be", "mov eax, dword ptr [ecx + 4]"]], "recomp": [["0x1001d8ba", "mov eax, dword ptr [esp + 0x1c]"], ["0x1001d8be", "mov ecx, dword ptr [eax + 4]"], ["0x1001d8c1", "cmp dword ptr [ecx + 8], eax"], ["0x1001d8c4", "jne 0x10"], ["0x1001d8c6", "mov dword ptr [esp + 0x1c], ecx"], ["0x1001d8ca", "mov ecx, dword ptr [ecx + 4]"], ["0x1001d8cd", "mov eax, dword ptr [esp + 0x1c]"], ["0x1001d8d1", "cmp dword ptr [ecx + 8], eax"], ["0x1001d8d4", "je -0x10"], ["0x1001d8d6", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1001d8c1", "cmp dword ptr [eax + 8], ecx", "0x1001d8da"]]}, {"orig": [["0x1001d8c4", "jne 0x10"], ["0x1001d8c6", "mov dword ptr [esp + 0x1c], eax"], ["0x1001d8ca", "mov eax, dword ptr [eax + 4]"], ["0x1001d8cd", "mov ecx, dword ptr [esp + 0x1c]"], ["0x1001d8d1", "cmp dword ptr [eax + 8], ecx"], ["0x1001d8d4", "je -0x10"], ["0x1001d8d6", "mov ecx, dword ptr [esp + 0x1c]"], ["0x1001d8da", "cmp dword ptr [ecx + 8], eax"]], "recomp": []}, {"both": [["0x1001d8dd", "je 0x4", "0x1001d8dd"]]}, {"orig": [["0x1001d8df", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x1001d8df", "mov dword ptr [esp + 0x1c], ecx"]]}, {"both": [["0x1001d8e3", "mov ecx, dword ptr [esp + 0x10]", "0x1001d8e3"], ["0x1001d8e7", "mov ebx, dword ptr [ecx]", "0x1001d8e7"]]}, {"orig": [["0x1001d8e9", "cmp ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d8e9", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1001d8ef", "je 0x26", "0x1001d8ef"], ["0x1001d8f1", "lea edi, [ecx + 8]", "0x1001d8f1"], ["0x1001d8f4", "mov edx, dword ptr [edi]", "0x1001d8f4"]]}, {"orig": [["0x1001d8f6", "cmp edx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d8f6", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], edx"]]}, {"both": [["0x1001d8fc", "je 0x15", "0x1001d8fc"], ["0x1001d8fe", "mov eax, dword ptr [edx]", "0x1001d8fe"]]}, {"orig": [["0x1001d900", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d900", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001d906", "je 0x4", "0x1001d906"], ["0x1001d908", "mov edx, eax", "0x1001d908"], ["0x1001d90a", "jmp -0xe", "0x1001d90a"], ["0x1001d90c", "mov ecx, edx", "0x1001d90c"], ["0x1001d90e", "mov edx, dword ptr [edx + 8]", "0x1001d90e"], ["0x1001d911", "jmp 0xe", "0x1001d911"], ["0x1001d913", "mov edx, ebx", "0x1001d913"], ["0x1001d915", "jmp 0xa", "0x1001d915"], ["0x1001d917", "mov edi, dword ptr [esp + 0x10]", "0x1001d917"], ["0x1001d91b", "mov edx, dword ptr [edi + 8]", "0x1001d91b"], ["0x1001d91e", "add edi, 8", "0x1001d91e"]]}, {"orig": [["0x1001d921", "cmp dword ptr [esp + 0x10], ecx"]], "recomp": [["0x1001d921", "cmp ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x1001d925", "jne 0x8f", "0x1001d925"], ["0x1001d92b", "mov eax, dword ptr [ecx + 4]", "0x1001d92b"], ["0x1001d92e", "mov ebx, dword ptr [esp + 0x10]", "0x1001d92e"], ["0x1001d932", "mov dword ptr [edx + 4], eax", "0x1001d932"], ["0x1001d935", "mov eax, dword ptr [esi + 4]", "0x1001d935"], ["0x1001d938", "add eax, 4", "0x1001d938"], ["0x1001d93b", "cmp dword ptr [eax], ebx", "0x1001d93b"], ["0x1001d93d", "je 0xc", "0x1001d93d"], ["0x1001d93f", "mov eax, dword ptr [ebx + 4]", "0x1001d93f"], ["0x1001d942", "cmp dword ptr [eax], ebx", "0x1001d942"]]}]], ["@@ -0x1001d946,51 +0x1001d946,51 @@", [{"both": [["0x1001d946", "mov dword ptr [eax + 8], edx", "0x1001d946"], ["0x1001d949", "jmp 0x2", "0x1001d949"], ["0x1001d94b", "mov dword ptr [eax], edx", "0x1001d94b"], ["0x1001d94d", "mov ebx, dword ptr [esi + 4]", "0x1001d94d"], ["0x1001d950", "mov eax, dword ptr [esp + 0x10]", "0x1001d950"], ["0x1001d954", "cmp dword ptr [ebx], eax", "0x1001d954"], ["0x1001d956", "jne 0x26", "0x1001d956"], ["0x1001d958", "mov eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]", "0x1001d958"], ["0x1001d95d", "cmp dword ptr [edi], eax", "0x1001d95d"], ["0x1001d95f", "je 0x14", "0x1001d95f"]]}, {"orig": [["0x1001d961", "mov eax, edx"], ["0x1001d963", "mov edi, dword ptr [eax]"], ["0x1001d965", "cmp edi, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d961", "mov edi, edx"], ["0x1001d963", "mov eax, dword ptr [edi]"], ["0x1001d965", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001d96b", "je 0x4", "0x1001d96b"]]}, {"orig": [["0x1001d96d", "mov eax, edi"]], "recomp": [["0x1001d96d", "mov edi, eax"]]}, {"both": [["0x1001d96f", "jmp -0xe", "0x1001d96f"]]}, {"orig": [["0x1001d971", "mov dword ptr [ebx], eax"]], "recomp": [["0x1001d971", "mov dword ptr [ebx], edi"]]}, {"both": [["0x1001d973", "jmp 0x9", "0x1001d973"], ["0x1001d975", "mov eax, dword ptr [esp + 0x10]", "0x1001d975"], ["0x1001d979", "mov ebp, dword ptr [eax + 4]", "0x1001d979"], ["0x1001d97c", "mov dword ptr [ebx], ebp", "0x1001d97c"], ["0x1001d97e", "mov edi, dword ptr [esi + 4]", "0x1001d97e"], ["0x1001d981", "mov eax, dword ptr [esp + 0x10]", "0x1001d981"], ["0x1001d985", "add edi, 8", "0x1001d985"], ["0x1001d988", "cmp dword ptr [edi], eax", "0x1001d988"]]}, {"orig": [["0x1001d98a", "jne 0x8a"]], "recomp": [["0x1001d98a", "jne 0x88"]]}, {"both": [["0x1001d990", "mov ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]", "0x1001d990"], ["0x1001d996", "cmp dword ptr [eax], ebx", "0x1001d996"], ["0x1001d998", "je 0x15", "0x1001d998"], ["0x1001d99a", "mov eax, edx", "0x1001d99a"], ["0x1001d99c", "mov ebx, dword ptr [eax + 8]", "0x1001d99c"]]}, {"orig": [["0x1001d99f", "cmp ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001d99f", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1001d9a5", "je 0x4", "0x1001d9a5"], ["0x1001d9a7", "mov eax, ebx", "0x1001d9a7"], ["0x1001d9a9", "jmp -0xf", "0x1001d9a9"], ["0x1001d9ab", "mov dword ptr [edi], eax", "0x1001d9ab"]]}, {"orig": [["0x1001d9ad", "jmp 0x6b"]], "recomp": [["0x1001d9ad", "jmp 0x69"]]}, {"both": [["0x1001d9af", "mov eax, dword ptr [esp + 0x10]", "0x1001d9af"], ["0x1001d9b3", "mov ebx, dword ptr [eax + 4]", "0x1001d9b3"], ["0x1001d9b6", "mov dword ptr [edi], ebx", "0x1001d9b6"]]}, {"orig": [["0x1001d9b8", "jmp 0x60"]], "recomp": [["0x1001d9b8", "jmp 0x5e"]]}, {"both": [["0x1001d9ba", "mov eax, dword ptr [esp + 0x10]", "0x1001d9ba"], ["0x1001d9be", "mov dword ptr [ebx + 4], ecx", "0x1001d9be"], ["0x1001d9c1", "mov ebx, dword ptr [eax]", "0x1001d9c1"], ["0x1001d9c3", "mov dword ptr [ecx], ebx", "0x1001d9c3"], ["0x1001d9c5", "cmp dword ptr [edi], ecx", "0x1001d9c5"], ["0x1001d9c7", "jne 0x5", "0x1001d9c7"], ["0x1001d9c9", "mov dword ptr [edx + 4], ecx", "0x1001d9c9"], ["0x1001d9cc", "jmp 0x15", "0x1001d9cc"], ["0x1001d9ce", "mov eax, dword ptr [ecx + 4]", "0x1001d9ce"], ["0x1001d9d1", "mov dword ptr [edx + 4], eax", "0x1001d9d1"]]}]], ["@@ -0x1001d9ed,195 +0x1001d9ed,192 @@", [{"both": [["0x1001d9ed", "cmp dword ptr [eax], edi", "0x1001d9ed"], ["0x1001d9ef", "je 0xc", "0x1001d9ef"], ["0x1001d9f1", "mov eax, dword ptr [edi + 4]", "0x1001d9f1"], ["0x1001d9f4", "cmp dword ptr [eax], edi", "0x1001d9f4"], ["0x1001d9f6", "je 0x5", "0x1001d9f6"], ["0x1001d9f8", "mov dword ptr [eax + 8], ecx", "0x1001d9f8"], ["0x1001d9fb", "jmp 0x2", "0x1001d9fb"], ["0x1001d9fd", "mov dword ptr [eax], ecx", "0x1001d9fd"], ["0x1001d9ff", "mov eax, dword ptr [esp + 0x10]", "0x1001d9ff"], ["0x1001da03", "mov ebx, dword ptr [eax + 4]", "0x1001da03"]]}, {"orig": [["0x1001da06", "add eax, 0x10"]], "recomp": [["0x1001da06", "lea edi, [eax + 0x10]"]]}, {"both": [["0x1001da09", "mov dword ptr [ecx + 4], ebx", "0x1001da09"]]}, {"orig": [["0x1001da0c", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001da0f", "mov ebx, dword ptr [eax]"]], "recomp": [["0x1001da0c", "mov ebx, dword ptr [edi]"], ["0x1001da0e", "mov ebp, dword ptr [ecx + 0x10]"]]}, {"both": [["0x1001da11", "mov dword ptr [ecx + 0x10], ebx", "0x1001da11"]]}, {"orig": [["0x1001da14", "mov ecx, dword ptr [esp + 0x10]"], ["0x1001da18", "mov dword ptr [eax], edi"]], "recomp": [["0x1001da14", "mov ecx, eax"], ["0x1001da16", "mov dword ptr [edi], ebp"]]}, {"both": [["0x1001da1a", "cmp dword ptr [ecx + 0x10], 1", "0x1001da18"]]}, {"orig": [["0x1001da1e", "jne 0x29e"]], "recomp": [["0x1001da1c", "jne 0x296"]]}, {"both": [["0x1001da24", "mov eax, dword ptr [esi + 4]", "0x1001da22"], ["0x1001da27", "cmp dword ptr [eax + 4], edx", "0x1001da25"]]}, {"orig": [["0x1001da2a", "je 0x28b"]], "recomp": [["0x1001da28", "je 0x283"]]}, {"both": [["0x1001da30", "cmp dword ptr [edx + 0x10], 1", "0x1001da2e"]]}, {"orig": [["0x1001da34", "jne 0x281"]], "recomp": [["0x1001da32", "jne 0x279"]]}, {"both": [["0x1001da3a", "lea ebx, [edx + 4]", "0x1001da38"], ["0x1001da3d", "mov eax, dword ptr [ebx]", "0x1001da3b"], ["0x1001da3f", "mov edi, dword ptr [eax]", "0x1001da3d"]]}, {"orig": [["0x1001da41", "cmp edi, edx"], ["0x1001da43", "jne 0x76"]], "recomp": [["0x1001da3f", "cmp edx, edi"], ["0x1001da41", "jne 0x73"]]}, {"both": [["0x1001da45", "mov edi, dword ptr [eax + 8]", "0x1001da43"]]}, {"orig": [], "recomp": [["0x1001da46", "cmp dword ptr [edi + 0x10], 0"], ["0x1001da4a", "jne 0x4f"], ["0x1001da4c", "mov dword ptr [edi + 0x10], 1"], ["0x1001da53", "mov eax, dword ptr [ebx]"], ["0x1001da55", "mov dword ptr [eax + 0x10], 0"], ["0x1001da5c", "mov ebp, dword ptr [ebx]"], ["0x1001da5e", "mov eax, dword ptr [ebp + 8]"], ["0x1001da61", "mov edi, dword ptr [eax]"], ["0x1001da63", "mov dword ptr [ebp + 8], edi"], ["0x1001da66", "mov edi, dword ptr [eax]"], ["0x1001da68", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], edi"], ["0x1001da6e", "je 0x3"], ["0x1001da70", "mov dword ptr [edi + 4], ebp"], ["0x1001da73", "mov edi, dword ptr [ebp + 4]"], ["0x1001da76", "mov dword ptr [eax + 4], edi"], ["0x1001da79", "mov edi, dword ptr [esi + 4]"], ["0x1001da7c", "add edi, 4"], ["0x1001da7f", "cmp dword ptr [edi], ebp"], ["0x1001da81", "je 0xc"], ["0x1001da83", "mov edi, dword ptr [ebp + 4]"], ["0x1001da86", "cmp dword ptr [edi], ebp"], ["0x1001da88", "je 0x5"], ["0x1001da8a", "mov dword ptr [edi + 8], eax"], ["0x1001da8d", "jmp 0x2"], ["0x1001da8f", "mov dword ptr [edi], eax"], ["0x1001da91", "mov dword ptr [eax], ebp"], ["0x1001da93", "mov dword ptr [ebp + 4], eax"], ["0x1001da96", "mov eax, dword ptr [ebx]"], ["0x1001da98", "mov edi, dword ptr [eax + 8]"], ["0x1001da9b", "mov eax, dword ptr [edi]"], ["0x1001da9d", "cmp dword ptr [eax + 0x10], 1"], ["0x1001daa1", "jne 0x9a"], ["0x1001daa7", "mov eax, dword ptr [edi + 8]"], ["0x1001daaa", "cmp dword ptr [eax + 0x10], 1"], ["0x1001daae", "jne 0x8d"], ["0x1001dab4", "jmp 0x71"]]}, {"both": [["0x1001da48", "cmp dword ptr [edi + 0x10], 0", "0x1001dab6"], ["0x1001da4c", "jne 0x52", "0x1001daba"], ["0x1001da4e", "mov dword ptr [edi + 0x10], 1", "0x1001dabc"], ["0x1001da55", "mov eax, dword ptr [ebx]", "0x1001dac3"], ["0x1001da57", "mov dword ptr [eax + 0x10], 0", "0x1001dac5"]]}, {"orig": [["0x1001da5e", "mov eax, dword ptr [ebx]"], ["0x1001da60", "mov ebp, dword ptr [eax + 8]"]], "recomp": [["0x1001dacc", "mov ebp, dword ptr [ebx]"]]}, {"both": [["0x1001da63", "mov edi, dword ptr [ebp]", "0x1001dace"]]}, {"orig": [["0x1001da66", "mov dword ptr [eax + 8], edi"], ["0x1001da69", "mov edi, dword ptr [ebp]"], ["0x1001da6c", "cmp edi, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001dad1", "mov eax, dword ptr [edi + 8]"], ["0x1001dad4", "mov dword ptr [ebp], eax"], ["0x1001dad7", "mov eax, dword ptr [edi + 8]"], ["0x1001dada", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001da72", "je 0x3", "0x1001dae0"]]}, {"orig": [], "recomp": [["0x1001dae2", "mov dword ptr [eax + 4], ebp"], ["0x1001dae5", "mov eax, dword ptr [ebp + 4]"]]}, {"both": [["0x1001da74", "mov dword ptr [edi + 4], eax", "0x1001dae8"]]}, {"orig": [["0x1001da77", "mov edi, dword ptr [eax + 4]"]], "recomp": [["0x1001daeb", "mov eax, dword ptr [esi + 4]"], ["0x1001daee", "add eax, 4"], ["0x1001daf1", "cmp dword ptr [eax], ebp"], ["0x1001daf3", "je 0xd"], ["0x1001daf5", "mov eax, dword ptr [ebp + 4]"], ["0x1001daf8", "add eax, 8"], ["0x1001dafb", "cmp dword ptr [eax], ebp"], ["0x1001dafd", "je 0x3"], ["0x1001daff", "mov eax, dword ptr [ebp + 4]"], ["0x1001db02", "mov dword ptr [eax], edi"], ["0x1001db04", "mov dword ptr [edi + 8], ebp"]]}, {"both": [["0x1001da7a", "mov dword ptr [ebp + 4], edi", "0x1001db07"]]}, {"orig": [["0x1001da7d", "mov edi, dword ptr [esi + 4]"], ["0x1001da80", "add edi, 4"], ["0x1001da83", "cmp dword ptr [edi], eax"], ["0x1001da85", "je 0xc"], ["0x1001da87", "mov edi, dword ptr [eax + 4]"], ["0x1001da8a", "cmp dword ptr [edi], eax"], ["0x1001da8c", "je 0x5"], ["0x1001da8e", "mov dword ptr [edi + 8], ebp"], ["0x1001da91", "jmp 0x2"], ["0x1001da93", "mov dword ptr [edi], ebp"], ["0x1001da95", "mov dword ptr [ebp], eax"], ["0x1001da98", "mov dword ptr [eax + 4], ebp"], ["0x1001da9b", "mov eax, dword ptr [ebx]"], ["0x1001da9d", "mov edi, dword ptr [eax + 8]"], ["0x1001daa0", "mov eax, dword ptr [edi]"], ["0x1001daa2", "cmp dword ptr [eax + 0x10], 1"], ["0x1001daa6", "jne 0x98"], ["0x1001daac", "mov eax, dword ptr [edi + 8]"], ["0x1001daaf", "cmp dword ptr [eax + 0x10], 1"], ["0x1001dab3", "jne 0x8b"], ["0x1001dab9", "jmp 0x6f"], ["0x1001dabb", "cmp dword ptr [edi + 0x10], 0"], ["0x1001dabf", "jne 0x50"], ["0x1001dac1", "mov dword ptr [edi + 0x10], 1"], ["0x1001dac8", "mov eax, dword ptr [ebx]"], ["0x1001daca", "mov dword ptr [eax + 0x10], 0"], ["0x1001dad1", "mov eax, dword ptr [ebx]"], ["0x1001dad3", "mov ebp, dword ptr [eax]"], ["0x1001dad5", "mov edi, dword ptr [ebp + 8]"], ["0x1001dad8", "mov dword ptr [eax], edi"], ["0x1001dada", "mov edi, dword ptr [ebp + 8]"], ["0x1001dadd", "cmp edi, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"], ["0x1001dae3", "je 0x3"], ["0x1001dae5", "mov dword ptr [edi + 4], eax"], ["0x1001dae8", "mov edi, dword ptr [eax + 4]"], ["0x1001daeb", "mov dword ptr [ebp + 4], edi"], ["0x1001daee", "mov edi, dword ptr [esi + 4]"], ["0x1001daf1", "add edi, 4"], ["0x1001daf4", "cmp dword ptr [edi], eax"], ["0x1001daf6", "je 0xd"], ["0x1001daf8", "mov edi, dword ptr [eax + 4]"], ["0x1001dafb", "add edi, 8"], ["0x1001dafe", "cmp dword ptr [edi], eax"], ["0x1001db00", "je 0x3"], ["0x1001db02", "mov edi, dword ptr [eax + 4]"], ["0x1001db05", "mov dword ptr [edi], ebp"], ["0x1001db07", "mov dword ptr [ebp + 8], eax"], ["0x1001db0a", "mov dword ptr [eax + 4], ebp"]], "recomp": []}, {"both": [["0x1001db0d", "mov eax, dword ptr [ebx]", "0x1001db0a"], ["0x1001db0f", "mov edi, dword ptr [eax]", "0x1001db0c"], ["0x1001db11", "mov eax, dword ptr [edi + 8]", "0x1001db0e"], ["0x1001db14", "cmp dword ptr [eax + 0x10], 1", "0x1001db11"]]}, {"orig": [["0x1001db18", "jne 0xef"]], "recomp": [["0x1001db15", "jne 0xe7"]]}, {"both": [["0x1001db1e", "mov eax, dword ptr [edi]", "0x1001db1b"], ["0x1001db20", "cmp dword ptr [eax + 0x10], 1", "0x1001db1d"]]}, {"orig": [["0x1001db24", "jne 0xe3"]], "recomp": [["0x1001db21", "jne 0xdb"]]}, {"both": [["0x1001db2a", "mov dword ptr [edi + 0x10], 0", "0x1001db27"], ["0x1001db31", "mov edx, dword ptr [ebx]", "0x1001db2e"], ["0x1001db33", "mov eax, dword ptr [esi + 4]", "0x1001db30"], ["0x1001db36", "cmp dword ptr [eax + 4], edx", "0x1001db33"]]}, {"orig": [["0x1001db39", "jne -0x10f"], ["0x1001db3f", "jmp 0x177"]], "recomp": [["0x1001db36", "jne -0x10e"], ["0x1001db3c", "jmp 0x170"]]}, {"both": [["0x1001db44", "mov eax, dword ptr [edi + 8]", "0x1001db41"], ["0x1001db47", "cmp dword ptr [eax + 0x10], 1", "0x1001db44"]]}, {"orig": [["0x1001db4b", "jne 0x52"]], "recomp": [["0x1001db48", "jne 0x53"]]}, {"both": [["0x1001db4d", "mov eax, dword ptr [edi]", "0x1001db4a"], ["0x1001db4f", "mov dword ptr [eax + 0x10], 1", "0x1001db4c"], ["0x1001db56", "mov dword ptr [edi + 0x10], 0", "0x1001db53"], ["0x1001db5d", "mov ebx, dword ptr [edi]", "0x1001db5a"], ["0x1001db5f", "mov ebp, dword ptr [ebx + 8]", "0x1001db5c"], ["0x1001db62", "mov dword ptr [edi], ebp", "0x1001db5f"], ["0x1001db64", "mov eax, dword ptr [ebx + 8]", "0x1001db61"]]}, {"orig": [["0x1001db67", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001db64", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001db6d", "je 0x3", "0x1001db6a"], ["0x1001db6f", "mov dword ptr [eax + 4], edi", "0x1001db6c"], ["0x1001db72", "mov eax, dword ptr [edi + 4]", "0x1001db6f"], ["0x1001db75", "mov dword ptr [ebx + 4], eax", "0x1001db72"], ["0x1001db78", "mov eax, dword ptr [esi + 4]", "0x1001db75"], ["0x1001db7b", "add eax, 4", "0x1001db78"], ["0x1001db7e", "cmp dword ptr [eax], edi", "0x1001db7b"]]}, {"orig": [["0x1001db80", "je 0xf"], ["0x1001db82", "mov ebp, dword ptr [edi + 4]"], ["0x1001db85", "lea eax, [ebp + 8]"], ["0x1001db88", "cmp dword ptr [eax], edi"], ["0x1001db8a", "je 0x5"]], "recomp": [["0x1001db7d", "je 0x10"], ["0x1001db7f", "mov eax, dword ptr [edi + 4]"], ["0x1001db82", "lea ebp, [eax + 8]"], ["0x1001db85", "cmp dword ptr [ebp], edi"], ["0x1001db88", "jne 0x5"]]}, {"both": [["0x1001db8c", "mov dword ptr [ebp], ebx", "0x1001db8a"], ["0x1001db8f", "jmp 0x2", "0x1001db8d"], ["0x1001db91", "mov dword ptr [eax], ebx", "0x1001db8f"], ["0x1001db93", "mov dword ptr [ebx + 8], edi", "0x1001db91"], ["0x1001db96", "mov dword ptr [edi + 4], ebx", "0x1001db94"], ["0x1001db99", "mov eax, dword ptr [edx + 4]", "0x1001db97"], ["0x1001db9c", "mov edi, dword ptr [eax + 8]", "0x1001db9a"], ["0x1001db9f", "mov eax, dword ptr [edx + 4]", "0x1001db9d"], ["0x1001dba2", "mov ebx, dword ptr [eax + 0x10]", "0x1001dba0"], ["0x1001dba5", "mov dword ptr [edi + 0x10], ebx", "0x1001dba3"], ["0x1001dba8", "mov ebx, 1", "0x1001dba6"], ["0x1001dbad", "mov eax, dword ptr [edx + 4]", "0x1001dbab"], ["0x1001dbb0", "mov dword ptr [eax + 0x10], ebx", "0x1001dbae"], ["0x1001dbb3", "mov ebp, dword ptr [edi + 8]", "0x1001dbb1"], ["0x1001dbb6", "mov dword ptr [ebp + 0x10], ebx", "0x1001dbb4"], ["0x1001dbb9", "mov edi, dword ptr [edx + 4]", "0x1001dbb7"], ["0x1001dbbc", "mov ebx, dword ptr [edi + 8]", "0x1001dbba"], ["0x1001dbbf", "mov eax, dword ptr [ebx]", "0x1001dbbd"], ["0x1001dbc1", "mov dword ptr [edi + 8], eax", "0x1001dbbf"], ["0x1001dbc4", "mov eax, dword ptr [ebx]", "0x1001dbc2"]]}, {"orig": [["0x1001dbc6", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001dbc4", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001dbcc", "je 0x3", "0x1001dbca"], ["0x1001dbce", "mov dword ptr [eax + 4], edi", "0x1001dbcc"], ["0x1001dbd1", "mov eax, dword ptr [edi + 4]", "0x1001dbcf"], ["0x1001dbd4", "mov dword ptr [ebx + 4], eax", "0x1001dbd2"], ["0x1001dbd7", "mov eax, dword ptr [esi + 4]", "0x1001dbd5"], ["0x1001dbda", "add eax, 4", "0x1001dbd8"], ["0x1001dbdd", "cmp dword ptr [eax], edi", "0x1001dbdb"]]}, {"orig": [["0x1001dbdf", "je 0x20"]], "recomp": [["0x1001dbdd", "je 0x1a"]]}, {"both": [["0x1001dbe1", "mov eax, dword ptr [edi + 4]", "0x1001dbdf"], ["0x1001dbe4", "cmp dword ptr [eax], edi", "0x1001dbe2"]]}, {"orig": [["0x1001dbe6", "je 0xd"]], "recomp": [["0x1001dbe4", "je 0xa"]]}, {"both": [["0x1001dbe8", "mov dword ptr [eax + 8], ebx", "0x1001dbe6"], ["0x1001dbeb", "mov dword ptr [ebx], edi", "0x1001dbe9"]]}, {"orig": [["0x1001dbed", "mov dword ptr [edi + 4], ebx"], ["0x1001dbf0", "jmp 0xc6"]], "recomp": [["0x1001dbeb", "jmp 0xbe"]]}, {"both": [["0x1001dbf5", "mov dword ptr [eax], ebx", "0x1001dbf0"], ["0x1001dbf7", "mov dword ptr [ebx], edi", "0x1001dbf2"]]}, {"orig": [["0x1001dbf9", "mov dword ptr [edi + 4], ebx"], ["0x1001dbfc", "jmp 0xba"]], "recomp": [["0x1001dbf4", "jmp 0xb5"]]}, {"both": [["0x1001dc01", "mov dword ptr [eax], ebx", "0x1001dbf9"], ["0x1001dc03", "mov dword ptr [ebx], edi", "0x1001dbfb"]]}, {"orig": [["0x1001dc05", "mov dword ptr [edi + 4], ebx"], ["0x1001dc08", "jmp 0xae"]], "recomp": [["0x1001dbfd", "jmp 0xac"]]}, {"both": [["0x1001dc0d", "mov eax, dword ptr [edi]", "0x1001dc02"], ["0x1001dc0f", "cmp dword ptr [eax + 0x10], 1", "0x1001dc04"], ["0x1001dc13", "jne 0x4e", "0x1001dc08"], ["0x1001dc15", "mov eax, dword ptr [edi + 8]", "0x1001dc0a"], ["0x1001dc18", "mov dword ptr [eax + 0x10], 1", "0x1001dc0d"], ["0x1001dc1f", "mov dword ptr [edi + 0x10], 0", "0x1001dc14"], ["0x1001dc26", "mov ebx, dword ptr [edi + 8]", "0x1001dc1b"], ["0x1001dc29", "mov ebp, dword ptr [ebx]", "0x1001dc1e"], ["0x1001dc2b", "mov dword ptr [edi + 8], ebp", "0x1001dc20"], ["0x1001dc2e", "mov eax, dword ptr [ebx]", "0x1001dc23"]]}, {"orig": [["0x1001dc30", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001dc25", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001dc36", "je 0x3", "0x1001dc2b"], ["0x1001dc38", "mov dword ptr [eax + 4], edi", "0x1001dc2d"], ["0x1001dc3b", "mov eax, dword ptr [edi + 4]", "0x1001dc30"], ["0x1001dc3e", "mov dword ptr [ebx + 4], eax", "0x1001dc33"], ["0x1001dc41", "mov eax, dword ptr [esi + 4]", "0x1001dc36"], ["0x1001dc44", "add eax, 4", "0x1001dc39"], ["0x1001dc47", "cmp dword ptr [eax], edi", "0x1001dc3c"], ["0x1001dc49", "je 0xc", "0x1001dc3e"], ["0x1001dc4b", "mov eax, dword ptr [edi + 4]", "0x1001dc40"], ["0x1001dc4e", "cmp dword ptr [eax], edi", "0x1001dc43"]]}]], ["@@ -0x1001dc5e,41 +0x1001dc53,47 @@", [{"both": [["0x1001dc5e", "mov eax, dword ptr [edx + 4]", "0x1001dc53"], ["0x1001dc61", "mov edi, dword ptr [eax]", "0x1001dc56"], ["0x1001dc63", "mov eax, dword ptr [edx + 4]", "0x1001dc58"], ["0x1001dc66", "mov ebx, dword ptr [eax + 0x10]", "0x1001dc5b"], ["0x1001dc69", "mov dword ptr [edi + 0x10], ebx", "0x1001dc5e"], ["0x1001dc6c", "mov ebx, 1", "0x1001dc61"], ["0x1001dc71", "mov eax, dword ptr [edx + 4]", "0x1001dc66"], ["0x1001dc74", "mov dword ptr [eax + 0x10], ebx", "0x1001dc69"], ["0x1001dc77", "mov ebp, dword ptr [edi]", "0x1001dc6c"], ["0x1001dc79", "mov dword ptr [ebp + 0x10], ebx", "0x1001dc6e"]]}, {"orig": [["0x1001dc7c", "mov ebx, dword ptr [edx + 4]"], ["0x1001dc7f", "mov edi, dword ptr [ebx]"], ["0x1001dc81", "mov eax, dword ptr [edi + 8]"], ["0x1001dc84", "mov dword ptr [ebx], eax"], ["0x1001dc86", "mov eax, dword ptr [edi + 8]"], ["0x1001dc89", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001dc71", "mov edi, dword ptr [edx + 4]"], ["0x1001dc74", "mov ebx, dword ptr [edi]"], ["0x1001dc76", "mov eax, dword ptr [ebx + 8]"], ["0x1001dc79", "mov dword ptr [edi], eax"], ["0x1001dc7b", "mov eax, dword ptr [ebx + 8]"], ["0x1001dc7e", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1001dc8f", "je 0x3", "0x1001dc84"]]}, {"orig": [["0x1001dc91", "mov dword ptr [eax + 4], ebx"], ["0x1001dc94", "mov eax, dword ptr [ebx + 4]"], ["0x1001dc97", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1001dc86", "mov dword ptr [eax + 4], edi"], ["0x1001dc89", "mov eax, dword ptr [edi + 4]"], ["0x1001dc8c", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x1001dc9a", "mov eax, dword ptr [esi + 4]", "0x1001dc8f"], ["0x1001dc9d", "add eax, 4", "0x1001dc92"]]}, {"orig": [["0x1001dca0", "cmp dword ptr [eax], ebx"], ["0x1001dca2", "je 0xf"], ["0x1001dca4", "mov ebp, dword ptr [ebx + 4]"], ["0x1001dca7", "lea eax, [ebp + 8]"], ["0x1001dcaa", "cmp dword ptr [eax], ebx"], ["0x1001dcac", "je 0x5"], ["0x1001dcae", "mov dword ptr [ebp], edi"]], "recomp": [["0x1001dc95", "cmp dword ptr [eax], edi"], ["0x1001dc97", "je 0x10"], ["0x1001dc99", "mov eax, dword ptr [edi + 4]"], ["0x1001dc9c", "lea ebp, [eax + 8]"], ["0x1001dc9f", "cmp dword ptr [ebp], edi"], ["0x1001dca2", "jne 0x5"], ["0x1001dca4", "mov dword ptr [ebp], ebx"]]}, {"both": [["0x1001dcb1", "jmp 0x2", "0x1001dca7"]]}, {"orig": [["0x1001dcb3", "mov dword ptr [eax], edi"], ["0x1001dcb5", "mov dword ptr [edi + 8], ebx"], ["0x1001dcb8", "mov dword ptr [ebx + 4], edi"]], "recomp": [["0x1001dca9", "mov dword ptr [eax], ebx"], ["0x1001dcab", "mov dword ptr [ebx + 8], edi"], ["0x1001dcae", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x1001dcbb", "mov dword ptr [edx + 0x10], 1", "0x1001dcb1"], ["0x1001dcc2", "push ecx", "0x1001dcb8"], ["0x1001dcc3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001dcb9"], ["0x1001dcc8", "mov ecx, dword ptr [esp + 0x20]", "0x1001dcbe"], ["0x1001dccc", "mov eax, dword ptr [esp + 0x1c]", "0x1001dcc2"], ["0x1001dcd0", "add esp, 4", "0x1001dcc6"], ["0x1001dcd3", "dec dword ptr [esi + 0xc]", "0x1001dcc9"], ["0x1001dcd6", "mov dword ptr [eax], ecx", "0x1001dccc"]]}, {"orig": [], "recomp": [["0x1001dcce", "pop ebp"], ["0x1001dccf", "pop edi"], ["0x1001dcd0", "pop esi"], ["0x1001dcd1", "pop ebx"], ["0x1001dcd2", "add esp, 4"], ["0x1001dcd5", "ret 8"]]}]]]}, {"address": "0x1001dcf0", "recomp": "0x1001dce0", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x1001dcf0,23 +0x1001dce0,23 @@", [{"both": [["0x1001dcf0", "push ebx", "0x1001dce0"], ["0x1001dcf1", "push esi", "0x1001dce1"]]}, {"orig": [["0x1001dcf2", "mov esi, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x1001dcf6", "push edi", "0x1001dce2"]]}, {"orig": [["0x1001dcf7", "mov edi, ecx"], ["0x1001dcf9", "mov ebx, esi"], ["0x1001dcfb", "cmp esi, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001dce3", "mov esi, ecx"], ["0x1001dce5", "mov ebx, dword ptr [esp + 0x10]"], ["0x1001dce9", "mov edi, ebx"], ["0x1001dceb", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1001dd01", "je 0x20", "0x1001dcf1"]]}, {"orig": [["0x1001dd03", "mov eax, dword ptr [ebx + 8]"], ["0x1001dd06", "mov ecx, edi"]], "recomp": [["0x1001dcf3", "mov eax, dword ptr [edi + 8]"], ["0x1001dcf6", "mov ecx, esi"]]}, {"both": [["0x1001dd08", "push eax", "0x1001dcf8"], ["0x1001dd09", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Erase (FUNCTION)", "0x1001dcf9"]]}, {"orig": [["0x1001dd0e", "mov ebx, dword ptr [ebx]"], ["0x1001dd10", "push esi"], ["0x1001dd11", "mov esi, ebx"]], "recomp": [["0x1001dcfe", "mov edi, dword ptr [edi]"], ["0x1001dd00", "push ebx"], ["0x1001dd01", "mov ebx, edi"]]}, {"both": [["0x1001dd13", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001dd03"], ["0x1001dd18", "add esp, 4", "0x1001dd08"]]}, {"orig": [["0x1001dd1b", "cmp ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x1001dd0b", "cmp edi, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]]}, {"both": [["0x1001dd21", "jne -0x20", "0x1001dd11"], ["0x1001dd23", "pop edi", "0x1001dd13"], ["0x1001dd24", "pop esi", "0x1001dd14"], ["0x1001dd25", "pop ebx", "0x1001dd15"], ["0x1001dd26", "ret 4", "0x1001dd16"]]}]]]}, {"address": "0x1001dd30", "recomp": "0x1001dd20", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Init", "matching": 1.0, "diff": []}, {"address": "0x1001dde0", "recomp": "0x1001ddd0", "name": "_Lockit::~_Lockit", "matching": 1.0, "diff": []}, {"address": "0x1001ddf0", "recomp": "0x1001dde0", "name": "list<LegoROI *,allocator<LegoROI *> >::~list<LegoROI *,allocator<LegoROI *> >", "matching": 1.0, "diff": []}, {"address": "0x1001de60", "recomp": "0x1001de50", "name": "list<LegoROI *,allocator<LegoROI *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x1001de90", "recomp": "0x1001de80", "name": "set<MxCore *,CoreSetCompare,allocator<MxCore *> >::~set<MxCore *,CoreSetCompare,allocator<MxCore *> >", "matching": 1.0, "diff": []}, {"address": "0x1001dee0", "recomp": "0x1001ded0", "name": "LegoWorld::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001df00", "recomp": "0x1001def0", "name": "Set<MxCore *,CoreSetCompare>::~Set<MxCore *,CoreSetCompare>", "matching": 1.0, "diff": []}, {"address": "0x1001df50", "recomp": "0x1001df40", "name": "List<LegoROI *>::~List<LegoROI *>", "matching": 1.0, "diff": []}, {"address": "0x1001dfa0", "recomp": "0x1001df90", "name": "LegoWorld::~LegoWorld", "matching": 1.0, "diff": []}, {"address": "0x1001e0b0", "recomp": "0x1001e0a0", "name": "LegoWorld::Create", "matching": 1.0, "diff": []}, {"address": "0x1001e2d0", "recomp": "0x1001e2c0", "name": "LegoEntityList::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001e2f0", "recomp": "0x1001e2e0", "name": "MxCollection<LegoEntity *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001e300", "recomp": "0x1001e2f0", "name": "MxCollection<LegoEntity *>::~MxCollection<LegoEntity *>", "matching": 1.0, "diff": []}, {"address": "0x1001e350", "recomp": "0x1001e340", "name": "MxCollection<LegoEntity *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001e360", "recomp": "0x1001e350", "name": "MxList<LegoEntity *>::~MxList<LegoEntity *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001e369,33 +0x1001e359,33 @@", [{"both": [["0x1001e369", "push -1", "0x1001e359"], ["0x1001e36b", "push <OFFSET1>", "0x1001e35b"], ["0x1001e370", "push eax", "0x1001e360"], ["0x1001e371", "mov dword ptr fs:[0], esp", "0x1001e361"], ["0x1001e378", "mov dword ptr [ecx], MxList<LegoEntity *>::`vftable' (VTABLE)", "0x1001e368"], ["0x1001e37e", "sub esp, 4", "0x1001e36e"], ["0x1001e381", "mov dword ptr [ebp - 0x10], ecx", "0x1001e371"], ["0x1001e384", "mov dword ptr [ebp - 4], 0", "0x1001e374"], ["0x1001e38b", "push esi", "0x1001e37b"], ["0x1001e38c", "push edi", "0x1001e37c"]]}, {"orig": [["0x1001e38d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001e390", "test esi, esi"]], "recomp": [["0x1001e37d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001e380", "test edi, edi"]]}, {"both": [["0x1001e392", "je 0x1c", "0x1001e382"]]}, {"orig": [["0x1001e394", "mov edi, dword ptr [esi + 8]"], ["0x1001e397", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001e384", "mov esi, dword ptr [edi + 8]"], ["0x1001e387", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001e399", "push eax", "0x1001e389"], ["0x1001e39a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e38a"], ["0x1001e39d", "call dword ptr [ecx + 0xc]", "0x1001e38d"], ["0x1001e3a0", "add esp, 4", "0x1001e390"]]}, {"orig": [["0x1001e3a3", "push esi"]], "recomp": [["0x1001e393", "push edi"]]}, {"both": [["0x1001e3a4", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001e394"], ["0x1001e3a9", "add esp, 4", "0x1001e399"]]}, {"orig": [["0x1001e3ac", "mov esi, edi"]], "recomp": [["0x1001e39c", "mov edi, esi"]]}, {"both": [["0x1001e3ae", "jmp -0x20", "0x1001e39e"], ["0x1001e3b0", "xor eax, eax", "0x1001e3a0"], ["0x1001e3b2", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e3a2"], ["0x1001e3b5", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001e3a5"], ["0x1001e3bc", "mov dword ptr [ecx + 8], eax", "0x1001e3ac"], ["0x1001e3bf", "mov dword ptr [ecx + 0x14], eax", "0x1001e3af"], ["0x1001e3c2", "mov dword ptr [ecx + 0x10], eax", "0x1001e3b2"], ["0x1001e3c5", "call <OFFSET4>", "0x1001e3b5"], ["0x1001e3ca", "mov eax, dword ptr [ebp - 0xc]", "0x1001e3ba"], ["0x1001e3cd", "pop edi", "0x1001e3bd"]]}]]]}, {"address": "0x1001e3f0", "recomp": "0x1001e3e0", "name": "MxPtrList<LegoEntity>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001e400", "recomp": "0x1001e3f0", "name": "LegoEntityList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001e470", "recomp": "0x1001e460", "name": "MxPtrList<LegoEntity>::~MxPtrList<LegoEntity>", "matching": 1.0, "diff": []}, {"address": "0x1001e4c0", "recomp": "0x1001e4b0", "name": "MxCollection<LegoEntity *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001e530", "recomp": "0x1001e520", "name": "MxList<LegoEntity *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001e539,33 +0x1001e529,33 @@", [{"both": [["0x1001e539", "push -1", "0x1001e529"], ["0x1001e53b", "push <OFFSET1>", "0x1001e52b"], ["0x1001e540", "push eax", "0x1001e530"], ["0x1001e541", "mov dword ptr fs:[0], esp", "0x1001e531"], ["0x1001e548", "mov dword ptr [ecx], MxList<LegoEntity *>::`vftable' (VTABLE)", "0x1001e538"], ["0x1001e54e", "sub esp, 4", "0x1001e53e"], ["0x1001e551", "mov dword ptr [ebp - 0x10], ecx", "0x1001e541"], ["0x1001e554", "mov dword ptr [ebp - 4], 0", "0x1001e544"], ["0x1001e55b", "push esi", "0x1001e54b"], ["0x1001e55c", "push edi", "0x1001e54c"]]}, {"orig": [["0x1001e55d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001e560", "test esi, esi"]], "recomp": [["0x1001e54d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001e550", "test edi, edi"]]}, {"both": [["0x1001e562", "je 0x1c", "0x1001e552"]]}, {"orig": [["0x1001e564", "mov edi, dword ptr [esi + 8]"], ["0x1001e567", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001e554", "mov esi, dword ptr [edi + 8]"], ["0x1001e557", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001e569", "push eax", "0x1001e559"], ["0x1001e56a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e55a"], ["0x1001e56d", "call dword ptr [ecx + 0xc]", "0x1001e55d"], ["0x1001e570", "add esp, 4", "0x1001e560"]]}, {"orig": [["0x1001e573", "push esi"]], "recomp": [["0x1001e563", "push edi"]]}, {"both": [["0x1001e574", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001e564"], ["0x1001e579", "add esp, 4", "0x1001e569"]]}, {"orig": [["0x1001e57c", "mov esi, edi"]], "recomp": [["0x1001e56c", "mov edi, esi"]]}, {"both": [["0x1001e57e", "jmp -0x20", "0x1001e56e"], ["0x1001e580", "xor eax, eax", "0x1001e570"], ["0x1001e582", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e572"], ["0x1001e585", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001e575"], ["0x1001e58c", "mov dword ptr [ecx + 8], eax", "0x1001e57c"], ["0x1001e58f", "mov dword ptr [ecx + 0x14], eax", "0x1001e57f"], ["0x1001e592", "mov dword ptr [ecx + 0x10], eax", "0x1001e582"], ["0x1001e595", "call <OFFSET4>", "0x1001e585"], ["0x1001e59a", "test byte ptr [ebp + 8], 1", "0x1001e58a"], ["0x1001e59e", "je 0xc", "0x1001e58e"]]}]]]}, {"address": "0x1001e5e0", "recomp": "0x1001e5d0", "name": "MxPtrList<LegoEntity>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001e650", "recomp": "0x1001e640", "name": "LegoCacheSoundList::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001e670", "recomp": "0x1001e660", "name": "MxCollection<LegoCacheSound *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1001e680", "recomp": "0x1001e670", "name": "MxCollection<LegoCacheSound *>::~MxCollection<LegoCacheSound *>", "matching": 1.0, "diff": []}, {"address": "0x1001e6d0", "recomp": "0x1001e6c0", "name": "MxCollection<LegoCacheSound *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001e6e0", "recomp": "0x1001e6d0", "name": "MxList<LegoCacheSound *>::~MxList<LegoCacheSound *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001e6e9,33 +0x1001e6d9,33 @@", [{"both": [["0x1001e6e9", "push -1", "0x1001e6d9"], ["0x1001e6eb", "push <OFFSET1>", "0x1001e6db"], ["0x1001e6f0", "push eax", "0x1001e6e0"], ["0x1001e6f1", "mov dword ptr fs:[0], esp", "0x1001e6e1"], ["0x1001e6f8", "mov dword ptr [ecx], MxList<LegoCacheSound *>::`vftable' (VTABLE)", "0x1001e6e8"], ["0x1001e6fe", "sub esp, 4", "0x1001e6ee"], ["0x1001e701", "mov dword ptr [ebp - 0x10], ecx", "0x1001e6f1"], ["0x1001e704", "mov dword ptr [ebp - 4], 0", "0x1001e6f4"], ["0x1001e70b", "push esi", "0x1001e6fb"], ["0x1001e70c", "push edi", "0x1001e6fc"]]}, {"orig": [["0x1001e70d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001e710", "test esi, esi"]], "recomp": [["0x1001e6fd", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001e700", "test edi, edi"]]}, {"both": [["0x1001e712", "je 0x1c", "0x1001e702"]]}, {"orig": [["0x1001e714", "mov edi, dword ptr [esi + 8]"], ["0x1001e717", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001e704", "mov esi, dword ptr [edi + 8]"], ["0x1001e707", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001e719", "push eax", "0x1001e709"], ["0x1001e71a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e70a"], ["0x1001e71d", "call dword ptr [ecx + 0xc]", "0x1001e70d"], ["0x1001e720", "add esp, 4", "0x1001e710"]]}, {"orig": [["0x1001e723", "push esi"]], "recomp": [["0x1001e713", "push edi"]]}, {"both": [["0x1001e724", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001e714"], ["0x1001e729", "add esp, 4", "0x1001e719"]]}, {"orig": [["0x1001e72c", "mov esi, edi"]], "recomp": [["0x1001e71c", "mov edi, esi"]]}, {"both": [["0x1001e72e", "jmp -0x20", "0x1001e71e"], ["0x1001e730", "xor eax, eax", "0x1001e720"], ["0x1001e732", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e722"], ["0x1001e735", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001e725"], ["0x1001e73c", "mov dword ptr [ecx + 8], eax", "0x1001e72c"], ["0x1001e73f", "mov dword ptr [ecx + 0x14], eax", "0x1001e72f"], ["0x1001e742", "mov dword ptr [ecx + 0x10], eax", "0x1001e732"], ["0x1001e745", "call <OFFSET4>", "0x1001e735"], ["0x1001e74a", "mov eax, dword ptr [ebp - 0xc]", "0x1001e73a"], ["0x1001e74d", "pop edi", "0x1001e73d"]]}]]]}, {"address": "0x1001e770", "recomp": "0x1001e760", "name": "MxPtrList<LegoCacheSound>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1001e780", "recomp": "0x1001e770", "name": "LegoCacheSoundList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001e7f0", "recomp": "0x1001e7e0", "name": "MxPtrList<LegoCacheSound>::~MxPtrList<LegoCacheSound>", "matching": 1.0, "diff": []}, {"address": "0x1001e840", "recomp": "0x1001e830", "name": "MxCollection<LegoCacheSound *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001e8b0", "recomp": "0x1001e8a0", "name": "MxList<LegoCacheSound *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1001e8b9,33 +0x1001e8a9,33 @@", [{"both": [["0x1001e8b9", "push -1", "0x1001e8a9"], ["0x1001e8bb", "push <OFFSET1>", "0x1001e8ab"], ["0x1001e8c0", "push eax", "0x1001e8b0"], ["0x1001e8c1", "mov dword ptr fs:[0], esp", "0x1001e8b1"], ["0x1001e8c8", "mov dword ptr [ecx], MxList<LegoCacheSound *>::`vftable' (VTABLE)", "0x1001e8b8"], ["0x1001e8ce", "sub esp, 4", "0x1001e8be"], ["0x1001e8d1", "mov dword ptr [ebp - 0x10], ecx", "0x1001e8c1"], ["0x1001e8d4", "mov dword ptr [ebp - 4], 0", "0x1001e8c4"], ["0x1001e8db", "push esi", "0x1001e8cb"], ["0x1001e8dc", "push edi", "0x1001e8cc"]]}, {"orig": [["0x1001e8dd", "mov esi, dword ptr [ecx + 0x10]"], ["0x1001e8e0", "test esi, esi"]], "recomp": [["0x1001e8cd", "mov edi, dword ptr [ecx + 0x10]"], ["0x1001e8d0", "test edi, edi"]]}, {"both": [["0x1001e8e2", "je 0x1c", "0x1001e8d2"]]}, {"orig": [["0x1001e8e4", "mov edi, dword ptr [esi + 8]"], ["0x1001e8e7", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001e8d4", "mov esi, dword ptr [edi + 8]"], ["0x1001e8d7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001e8e9", "push eax", "0x1001e8d9"], ["0x1001e8ea", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e8da"], ["0x1001e8ed", "call dword ptr [ecx + 0xc]", "0x1001e8dd"], ["0x1001e8f0", "add esp, 4", "0x1001e8e0"]]}, {"orig": [["0x1001e8f3", "push esi"]], "recomp": [["0x1001e8e3", "push edi"]]}, {"both": [["0x1001e8f4", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001e8e4"], ["0x1001e8f9", "add esp, 4", "0x1001e8e9"]]}, {"orig": [["0x1001e8fc", "mov esi, edi"]], "recomp": [["0x1001e8ec", "mov edi, esi"]]}, {"both": [["0x1001e8fe", "jmp -0x20", "0x1001e8ee"], ["0x1001e900", "xor eax, eax", "0x1001e8f0"], ["0x1001e902", "mov ecx, dword ptr [ebp - 0x10]", "0x1001e8f2"], ["0x1001e905", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001e8f5"], ["0x1001e90c", "mov dword ptr [ecx + 8], eax", "0x1001e8fc"], ["0x1001e90f", "mov dword ptr [ecx + 0x14], eax", "0x1001e8ff"], ["0x1001e912", "mov dword ptr [ecx + 0x10], eax", "0x1001e902"], ["0x1001e915", "call <OFFSET4>", "0x1001e905"], ["0x1001e91a", "test byte ptr [ebp + 8], 1", "0x1001e90a"], ["0x1001e91e", "je 0xc", "0x1001e90e"]]}]]]}, {"address": "0x1001e960", "recomp": "0x1001e950", "name": "MxPtrList<LegoCacheSound>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001e9d0", "recomp": "0x1001e9c0", "name": "LegoWorld::Destroy", "matching": 0.9736842105263158, "diff": [["@@ -0x1001e9fd,33 +0x1001e9ed,33 @@", [{"both": [["0x1001e9fd", "cmp eax, dword ptr [ebp - 0x10]", "0x1001e9ed"], ["0x1001ea00", "jne 0x18", "0x1001e9f0"], ["0x1001ea02", "push 0", "0x1001e9f2"], ["0x1001ea04", "call ControlManager (FUNCTION)", "0x1001e9f4"], ["0x1001ea09", "mov ecx, eax", "0x1001e9f9"], ["0x1001ea0b", "call LegoControlManager::FUN_10028df0 (FUNCTION)", "0x1001e9fb"], ["0x1001ea10", "push 0", "0x1001ea00"], ["0x1001ea12", "call SetCurrentWorld (FUNCTION)", "0x1001ea02"], ["0x1001ea17", "add esp, 4", "0x1001ea07"], ["0x1001ea1a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001ea0a"]]}, {"orig": [["0x1001ea1d", "mov esi, dword ptr [ecx + 0x78]"], ["0x1001ea20", "test esi, esi"]], "recomp": [["0x1001ea0d", "mov edi, dword ptr [ecx + 0x78]"], ["0x1001ea10", "test edi, edi"]]}, {"both": [["0x1001ea22", "je 0x1c", "0x1001ea12"]]}, {"orig": [["0x1001ea24", "mov edi, dword ptr [esi + 8]"], ["0x1001ea27", "mov eax, dword ptr [esi]"]], "recomp": [["0x1001ea14", "mov esi, dword ptr [edi + 8]"], ["0x1001ea17", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1001ea29", "push eax", "0x1001ea19"], ["0x1001ea2a", "mov ecx, dword ptr [ebp - 0x10]", "0x1001ea1a"], ["0x1001ea2d", "call dword ptr [ecx + 0x74]", "0x1001ea1d"], ["0x1001ea30", "add esp, 4", "0x1001ea20"]]}, {"orig": [["0x1001ea33", "push esi"]], "recomp": [["0x1001ea23", "push edi"]]}, {"both": [["0x1001ea34", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001ea24"], ["0x1001ea39", "add esp, 4", "0x1001ea29"]]}, {"orig": [["0x1001ea3c", "mov esi, edi"]], "recomp": [["0x1001ea2c", "mov edi, esi"]]}, {"both": [["0x1001ea3e", "jmp -0x20", "0x1001ea2e"], ["0x1001ea40", "xor eax, eax", "0x1001ea30"], ["0x1001ea42", "mov ecx, dword ptr [ebp - 0x10]", "0x1001ea32"], ["0x1001ea45", "mov dword ptr [ecx + 0x70], eax", "0x1001ea35"], ["0x1001ea48", "mov dword ptr [ecx + 0x7c], eax", "0x1001ea38"], ["0x1001ea4b", "mov dword ptr [ecx + 0x78], eax", "0x1001ea3b"], ["0x1001ea4e", "mov ecx, dword ptr [ecx + 0x98]", "0x1001ea3e"], ["0x1001ea54", "test ecx, ecx", "0x1001ea44"], ["0x1001ea56", "je 0x13", "0x1001ea46"], ["0x1001ea58", "push 1", "0x1001ea48"]]}]], ["@@ -0x1001eb2b,57 +0x1001eb1b,56 @@", [{"both": [["0x1001eb2b", "push ebx", "0x1001eb1b"], ["0x1001eb2c", "push 0x80", "0x1001eb1c"], ["0x1001eb31", "push esi", "0x1001eb21"], ["0x1001eb32", "call FUN_100b7220 (FUNCTION)", "0x1001eb22"], ["0x1001eb37", "add esp, 0xc", "0x1001eb27"], ["0x1001eb3a", "mov ecx, dword ptr [ebp - 0x14]", "0x1001eb2a"], ["0x1001eb3d", "call dword ptr [edi + 0x40]", "0x1001eb2d"], ["0x1001eb40", "jmp -0x90", "0x1001eb30"], ["0x1001eb45", "mov ecx, dword ptr [ebp - 0x10]", "0x1001eb35"], ["0x1001eb48", "cmp dword ptr [ecx + 0xb4], 0", "0x1001eb38"]]}, {"orig": [["0x1001eb4f", "je 0x67"]], "recomp": [["0x1001eb3f", "je 0x64"]]}, {"both": [["0x1001eb51", "lea esi, [ecx + 0xa8]", "0x1001eb41"], ["0x1001eb57", "mov ecx, dword ptr [ebp - 0x10]", "0x1001eb47"], ["0x1001eb5a", "mov eax, dword ptr [ecx + 0xac]", "0x1001eb4a"], ["0x1001eb60", "mov ecx, esi", "0x1001eb50"], ["0x1001eb62", "mov edx, dword ptr [eax]", "0x1001eb52"], ["0x1001eb64", "lea eax, [ebp - 0x48]", "0x1001eb54"], ["0x1001eb67", "push edx", "0x1001eb57"], ["0x1001eb68", "push eax", "0x1001eb58"], ["0x1001eb69", "mov edi, dword ptr [edx + 0xc]", "0x1001eb59"], ["0x1001eb6c", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::erase (FUNCTION)", "0x1001eb5c"], ["0x1001eb71", "mov ebx, dword ptr [edi]", "0x1001eb61"], ["0x1001eb73", "push 'MxPresenter' (STRING)", "0x1001eb63"], ["0x1001eb78", "mov ecx, edi", "0x1001eb68"], ["0x1001eb7a", "call dword ptr [ebx + 0x10]", "0x1001eb6a"], ["0x1001eb7d", "test al, al", "0x1001eb6d"]]}, {"orig": [["0x1001eb7f", "je 0x21"], ["0x1001eb81", "mov dword ptr [ebp - 0x14], edi"]], "recomp": [["0x1001eb6f", "je 0x1e"]]}, {"both": [["0x1001eb84", "mov eax, dword ptr [edi + 0x1c]", "0x1001eb71"], ["0x1001eb87", "test eax, eax", "0x1001eb74"], ["0x1001eb89", "je 0x21", "0x1001eb76"], ["0x1001eb8b", "push 0", "0x1001eb78"], ["0x1001eb8d", "push 0x80", "0x1001eb7a"], ["0x1001eb92", "push eax", "0x1001eb7f"], ["0x1001eb93", "call FUN_100b7220 (FUNCTION)", "0x1001eb80"], ["0x1001eb98", "add esp, 0xc", "0x1001eb85"], ["0x1001eb9b", "mov ecx, edi", "0x1001eb88"], ["0x1001eb9d", "call dword ptr [ebx + 0x40]", "0x1001eb8a"], ["0x1001eba0", "jmp 0xa", "0x1001eb8d"], ["0x1001eba2", "test edi, edi", "0x1001eb8f"], ["0x1001eba4", "je 0x6", "0x1001eb91"], ["0x1001eba6", "push 1", "0x1001eb93"], ["0x1001eba8", "mov ecx, edi", "0x1001eb95"], ["0x1001ebaa", "call dword ptr [ebx]", "0x1001eb97"], ["0x1001ebac", "mov ecx, dword ptr [ebp - 0x10]", "0x1001eb99"], ["0x1001ebaf", "cmp dword ptr [ecx + 0xb4], 0", "0x1001eb9c"]]}, {"orig": [["0x1001ebb6", "jne -0x61"]], "recomp": [["0x1001eba3", "jne -0x5e"]]}, {"both": [["0x1001ebb8", "lea ecx, [ebp - 0x44]", "0x1001eba5"], ["0x1001ebbb", "xor esi, esi", "0x1001eba8"], ["0x1001ebbd", "call MxCore::MxCore (FUNCTION)", "0x1001ebaa"], ["0x1001ebc2", "mov byte ptr [ebp - 4], 4", "0x1001ebaf"], ["0x1001ebc6", "mov eax, dword ptr [ebp - 0x10]", "0x1001ebb3"], ["0x1001ebc9", "mov dword ptr [ebp - 0x38], esi", "0x1001ebb6"], ["0x1001ebcc", "mov dword ptr [ebp - 0x44], MxListCursor<MxPresenter *>::`vftable' (VTABLE)", "0x1001ebb9"], ["0x1001ebd3", "mov byte ptr [ebp - 4], 5", "0x1001ebc0"], ["0x1001ebd7", "mov dword ptr [ebp - 0x44], MxPtrListCursor<MxPresenter>::`vftable' (VTABLE)", "0x1001ebc4"], ["0x1001ebde", "mov byte ptr [ebp - 4], 6", "0x1001ebcb"]]}]], ["@@ -0x1001eea1,10 +0x1001ee8e,11 @@", [{"both": [["0x1001eea1", "jmp MxPresenterListCursor::~MxPresenterListCursor (FUNCTION)", "0x1001ee8e"], ["0x1001eea6", "lea ecx, [ebp - 0x34]", "0x1001ee93"], ["0x1001eea9", "jmp MxCore::~MxCore (FUNCTION)", "0x1001ee96"], ["0x1001eeae", "lea ecx, [ebp - 0x34]", "0x1001ee9b"], ["0x1001eeb1", "jmp MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *> (FUNCTION)", "0x1001ee9e"], ["0x1001eeb6", "lea ecx, [ebp - 0x34]", "0x1001eea3"], ["0x1001eeb9", "jmp MxPtrListCursor<MxPresenter>::~MxPtrListCursor<MxPresenter> (FUNCTION)", "0x1001eea6"], ["0x1001eebe", "mov eax, <OFFSET36>", "0x1001eeab"], ["0x1001eec3", "jmp ___CxxFrameHandler (FUNCTION)", "0x1001eeb0"], ["0x1001eec8", "lea ecx, [ebp - 0x34]", "0x1001eeb5"]]}, {"orig": [], "recomp": [["0x1001eeb8", "jmp MxPresenterListCursor::~MxPresenterListCursor (FUNCTION)"]]}]]]}, {"address": "0x1001eed0", "recomp": "0x1001eec0", "name": "MxPresenterListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001ef40", "recomp": "0x1001ef30", "name": "MxPtrListCursor<MxPresenter>::~MxPtrListCursor<MxPresenter>", "matching": 1.0, "diff": []}, {"address": "0x1001ef90", "recomp": "0x1001ef80", "name": "MxListCursor<MxPresenter *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f000", "recomp": "0x1001eff0", "name": "MxPtrListCursor<MxPresenter>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f070", "recomp": "0x1001f060", "name": "MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *>", "matching": 1.0, "diff": []}, {"address": "0x1001f0c0", "recomp": "0x1001f0b0", "name": "MxPresenterListCursor::~MxPresenterListCursor", "matching": 1.0, "diff": []}, {"address": "0x1001f110", "recomp": "0x1001f100", "name": "LegoEntityListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f180", "recomp": "0x1001f170", "name": "MxPtrListCursor<LegoEntity>::~MxPtrListCursor<LegoEntity>", "matching": 1.0, "diff": []}, {"address": "0x1001f1d0", "recomp": "0x1001f1c0", "name": "MxListCursor<LegoEntity *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f240", "recomp": "0x1001f230", "name": "MxPtrListCursor<LegoEntity>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f2b0", "recomp": "0x1001f2a0", "name": "MxListCursor<LegoEntity *>::~MxListCursor<LegoEntity *>", "matching": 1.0, "diff": []}, {"address": "0x1001f300", "recomp": "0x1001f2f0", "name": "LegoEntityListCursor::~LegoEntityListCursor", "matching": 1.0, "diff": []}, {"address": "0x1001f350", "recomp": "0x1001f340", "name": "LegoCacheSoundListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f3c0", "recomp": "0x1001f3b0", "name": "MxPtrListCursor<LegoCacheSound>::~MxPtrListCursor<LegoCacheSound>", "matching": 1.0, "diff": []}, {"address": "0x1001f410", "recomp": "0x1001f400", "name": "MxListCursor<LegoCacheSound *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f480", "recomp": "0x1001f470", "name": "MxPtrListCursor<LegoCacheSound>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f4f0", "recomp": "0x1001f4e0", "name": "MxListCursor<LegoCacheSound *>::~MxListCursor<LegoCacheSound *>", "matching": 1.0, "diff": []}, {"address": "0x1001f540", "recomp": "0x1001f530", "name": "LegoCacheSoundListCursor::~LegoCacheSoundListCursor", "matching": 1.0, "diff": []}, {"address": "0x1001f590", "recomp": "0x1001f580", "name": "list<LegoROI *,allocator<LegoROI *> >::erase", "matching": 1.0, "diff": []}, {"address": "0x1001f5e0", "recomp": "0x1001f5d0", "name": "LegoWorld::Notify", "matching": 1.0, "diff": []}, {"address": "0x1001f630", "recomp": "0x1001f620", "name": "LegoWorld::VTable0x54", "matching": 1.0, "diff": []}, {"address": "0x1001f720", "recomp": "0x1001f710", "name": "LegoWorld::PlaceActor", "matching": 1.0, "diff": []}, {"address": "0x1001f830", "recomp": "0x1001f820", "name": "LegoPathControllerListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f8a0", "recomp": "0x1001f890", "name": "MxPtrListCursor<LegoPathController>::~MxPtrListCursor<LegoPathController>", "matching": 1.0, "diff": []}, {"address": "0x1001f8f0", "recomp": "0x1001f8e0", "name": "MxListCursor<LegoPathController *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f960", "recomp": "0x1001f950", "name": "MxPtrListCursor<LegoPathController>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1001f9d0", "recomp": "0x1001f9c0", "name": "MxListCursor<LegoPathController *>::~MxListCursor<LegoPathController *>", "matching": 1.0, "diff": []}, {"address": "0x1001fa20", "recomp": "0x1001fa10", "name": "LegoPathControllerListCursor::~LegoPathControllerListCursor", "matching": 1.0, "diff": []}, {"address": "0x1001fa70", "recomp": "0x1001fa60", "name": "LegoWorld::PlaceActor", "matching": 1.0, "diff": []}, {"address": "0x1001fb70", "recomp": "0x1001fb60", "name": "LegoWorld::PlaceActor", "matching": 1.0, "diff": []}, {"address": "0x1001fc80", "recomp": "0x1001fc70", "name": "LegoWorld::RemoveActor", "matching": 1.0, "diff": []}, {"address": "0x1001fd70", "recomp": "0x1001fd60", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Lbound", "matching": 1.0, "diff": []}, {"address": "0x1001fda0", "recomp": "0x1001fd90", "name": "LegoWorld::FUN_1001fda0", "matching": 1.0, "diff": []}, {"address": "0x1001fe90", "recomp": "0x1001fe80", "name": "LegoWorld::FUN_1001fe90", "matching": 1.0, "diff": []}, {"address": "0x1001ff80", "recomp": "0x1001ff70", "name": "LegoWorld::AddPath", "matching": 0.8148148148148148, "diff": [["@@ -0x1001ff86,53 +0x1001ff76,53 @@", [{"both": [["0x1001ff86", "push ebp", "0x1001ff76"], ["0x1001ff87", "mov ebp, esp", "0x1001ff77"], ["0x1001ff89", "push -1", "0x1001ff79"], ["0x1001ff8b", "push <OFFSET1>", "0x1001ff7b"], ["0x1001ff90", "push eax", "0x1001ff80"], ["0x1001ff91", "mov dword ptr fs:[0], esp", "0x1001ff81"], ["0x1001ff98", "sub esp, 4", "0x1001ff88"], ["0x1001ff9b", "push ebx", "0x1001ff8b"], ["0x1001ff9c", "push esi", "0x1001ff8c"], ["0x1001ff9d", "push edi", "0x1001ff8d"]]}, {"orig": [["0x1001ff9e", "mov ebx, ecx"], ["0x1001ffa0", "push ebx"]], "recomp": [["0x1001ff8e", "mov esi, ecx"], ["0x1001ff90", "push esi"]]}, {"both": [["0x1001ffa1", "mov ecx, dword ptr [ebp + 8]", "0x1001ff91"], ["0x1001ffa4", "call LegoPathController::FUN_10046bb0 (FUNCTION)", "0x1001ff94"]]}, {"orig": [["0x1001ffa9", "mov esi, dword ptr [ebx + 0x7c]"]], "recomp": [["0x1001ff99", "mov ebx, dword ptr [esi + 0x7c]"]]}, {"both": [["0x1001ffac", "push 0xc", "0x1001ff9c"], ["0x1001ffae", "call ??2@YAPAXI@Z (FUNCTION)", "0x1001ff9e"], ["0x1001ffb3", "mov dword ptr [ebp - 0x10], eax", "0x1001ffa3"], ["0x1001ffb6", "add esp, 4", "0x1001ffa6"], ["0x1001ffb9", "mov edi, eax", "0x1001ffa9"], ["0x1001ffbb", "xor ecx, ecx", "0x1001ffab"], ["0x1001ffbd", "mov eax, 0", "0x1001ffad"], ["0x1001ffc2", "mov dword ptr [ebp - 4], ecx", "0x1001ffb2"], ["0x1001ffc5", "test edi, edi", "0x1001ffb5"], ["0x1001ffc7", "je 0xd", "0x1001ffb7"], ["0x1001ffc9", "mov eax, dword ptr [ebp + 8]", "0x1001ffb9"], ["0x1001ffcc", "mov dword ptr [edi], eax", "0x1001ffbc"], ["0x1001ffce", "mov eax, edi", "0x1001ffbe"]]}, {"orig": [["0x1001ffd0", "mov dword ptr [edi + 4], esi"]], "recomp": [["0x1001ffc0", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x1001ffd3", "mov dword ptr [edi + 8], ecx", "0x1001ffc3"], ["0x1001ffd6", "mov dword ptr [ebp - 4], 0xffffffff", "0x1001ffc6"]]}, {"orig": [["0x1001ffdd", "test esi, esi"]], "recomp": [["0x1001ffcd", "test ebx, ebx"]]}, {"both": [["0x1001ffdf", "je 0x1b", "0x1001ffcf"]]}, {"orig": [["0x1001ffe1", "mov dword ptr [esi + 8], eax"]], "recomp": [["0x1001ffd1", "mov dword ptr [ebx + 8], eax"]]}, {"both": [["0x1001ffe4", "pop edi", "0x1001ffd4"]]}, {"orig": [["0x1001ffe5", "mov dword ptr [ebx + 0x7c], eax"]], "recomp": [["0x1001ffd5", "mov dword ptr [esi + 0x7c], eax"]]}, {"both": [["0x1001ffe8", "mov eax, dword ptr [ebp - 0xc]", "0x1001ffd8"]]}, {"orig": [], "recomp": [["0x1001ffdb", "inc dword ptr [esi + 0x70]"], ["0x1001ffde", "mov dword ptr fs:[0], eax"]]}, {"both": [["0x1001ffeb", "pop esi", "0x1001ffe4"]]}, {"orig": [["0x1001ffec", "mov dword ptr fs:[0], eax"], ["0x1001fff2", "inc dword ptr [ebx + 0x70]"]], "recomp": []}, {"both": [["0x1001fff5", "pop ebx", "0x1001ffe5"], ["0x1001fff6", "mov esp, ebp", "0x1001ffe6"], ["0x1001fff8", "pop ebp", "0x1001ffe8"], ["0x1001fff9", "ret 4", "0x1001ffe9"]]}, {"orig": [["0x1001fffc", "mov dword ptr [ebx + 0x78], eax"]], "recomp": [["0x1001ffec", "mov dword ptr [esi + 0x78], eax"]]}, {"both": [["0x1001ffff", "jmp -0x1d", "0x1001ffef"], ["0x10020001", "mov eax, <OFFSET4>", "0x1001fff1"], ["0x10020006", "jmp ___CxxFrameHandler (FUNCTION)", "0x1001fff6"], ["0x1002000b", "mov eax, dword ptr [ebp - 0x10]", "0x1001fffb"], ["0x1002000e", "push eax", "0x1001fffe"], ["0x1002000f", "call ??3@YAXPAX@Z (FUNCTION)", "0x1001ffff"], ["0x10020014", "add esp, 4", "0x10020004"], ["0x10020017", "ret ", "0x10020007"]]}]]]}, {"address": "0x10020020", "recomp": "0x10020010", "name": "LegoWorld::FindPathBoundary", "matching": 1.0, "diff": []}, {"address": "0x10020120", "recomp": "0x10020110", "name": "LegoWorld::GetCurrPathInfo", "matching": 1.0, "diff": []}, {"address": "0x10020220", "recomp": "0x10020210", "name": "LegoWorld::Add", "matching": 1.0, "diff": []}, {"address": "0x10020760", "recomp": "0x10020750", "name": "MxListCursor<MxPresenter *>::MxListCursor<MxPresenter *>", "matching": 1.0, "diff": []}, {"address": "0x100207d0", "recomp": "0x100207c0", "name": "MxListCursor<LegoEntity *>::MxListCursor<LegoEntity *>", "matching": 1.0, "diff": []}, {"address": "0x10020840", "recomp": "0x10020830", "name": "MxListCursor<LegoCacheSound *>::MxListCursor<LegoCacheSound *>", "matching": 1.0, "diff": []}, {"address": "0x100208b0", "recomp": "0x100208a0", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::insert", "matching": 0.8038277511961722, "diff": [["@@ -0x100208b0,114 +0x100208a0,114 @@", [{"both": [["0x100208b0", "sub esp, 0xc", "0x100208a0"], ["0x100208b3", "push ebx", "0x100208a3"], ["0x100208b4", "push esi", "0x100208a4"], ["0x100208b5", "mov edx, dword ptr [ecx + 4]", "0x100208a5"], ["0x100208b8", "push edi", "0x100208a8"], ["0x100208b9", "push ebp", "0x100208a9"], ["0x100208ba", "mov esi, ecx", "0x100208aa"], ["0x100208bc", "mov ebx, dword ptr [edx + 4]", "0x100208ac"], ["0x100208bf", "mov ebp, edx", "0x100208af"], ["0x100208c1", "mov ecx, 1", "0x100208b1"]]}, {"orig": [["0x100208c6", "cmp ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x100208b6", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100208cc", "je 0x27", "0x100208bc"]]}, {"orig": [["0x100208ce", "mov eax, dword ptr [esp + 0x24]"], ["0x100208d2", "mov eax, dword ptr [eax]"]], "recomp": [["0x100208be", "mov ecx, dword ptr [esp + 0x24]"], ["0x100208c2", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100208d4", "mov ebp, ebx", "0x100208c4"], ["0x100208d6", "mov ecx, 1", "0x100208c6"], ["0x100208db", "cmp dword ptr [ebx + 0xc], eax", "0x100208cb"], ["0x100208de", "jg 0x2", "0x100208ce"], ["0x100208e0", "xor ecx, ecx", "0x100208d0"], ["0x100208e2", "test ecx, ecx", "0x100208d2"], ["0x100208e4", "jne 0x5", "0x100208d4"], ["0x100208e6", "mov ebx, dword ptr [ebx + 8]", "0x100208d6"], ["0x100208e9", "jmp 0x2", "0x100208d9"], ["0x100208eb", "mov ebx, dword ptr [ebx]", "0x100208db"]]}, {"orig": [["0x100208ed", "cmp ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x100208dd", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100208f3", "jne -0x21", "0x100208e3"], ["0x100208f5", "cmp dword ptr [esi + 8], 0", "0x100208e5"], ["0x100208f9", "je 0x34", "0x100208e9"]]}, {"orig": [["0x100208fb", "mov eax, dword ptr [esp + 0x24]"], ["0x100208ff", "lea ecx, [esp + 0x14]"]], "recomp": [["0x100208eb", "mov ecx, dword ptr [esp + 0x24]"], ["0x100208ef", "lea eax, [esp + 0x14]"]]}, {"both": [["0x10020903", "mov dword ptr [esp + 0x10], 1", "0x100208f3"]]}, {"orig": [["0x1002090b", "push eax"]], "recomp": [["0x100208fb", "push ecx"]]}, {"both": [["0x1002090c", "push ebp", "0x100208fc"], ["0x1002090d", "push ebx", "0x100208fd"]]}, {"orig": [["0x1002090e", "push ecx"]], "recomp": []}, {"both": [["0x1002090f", "mov ecx, esi", "0x100208fe"]]}, {"orig": [], "recomp": [["0x10020900", "push eax"]]}, {"both": [["0x10020911", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Insert (FUNCTION)", "0x10020901"], ["0x10020916", "mov ecx, dword ptr [eax]", "0x10020906"], ["0x10020918", "mov eax, dword ptr [esp + 0x20]", "0x10020908"], ["0x1002091c", "mov dword ptr [eax], ecx", "0x1002090c"], ["0x1002091e", "mov edx, dword ptr [esp + 0x10]", "0x1002090e"], ["0x10020922", "pop ebp", "0x10020912"], ["0x10020923", "pop edi", "0x10020913"], ["0x10020924", "mov dword ptr [eax + 4], edx", "0x10020914"], ["0x10020927", "pop esi", "0x10020917"], ["0x10020928", "pop ebx", "0x10020918"], ["0x10020929", "add esp, 0xc", "0x10020919"], ["0x1002092c", "ret 8", "0x1002091c"], ["0x1002092f", "mov dword ptr [esp + 0x18], ebp", "0x1002091f"], ["0x10020933", "test ecx, ecx", "0x10020923"], ["0x10020935", "je 0x41", "0x10020925"], ["0x10020937", "cmp dword ptr [edx], ebp", "0x10020927"], ["0x10020939", "jne 0x34", "0x10020929"]]}, {"orig": [["0x1002093b", "mov eax, dword ptr [esp + 0x24]"], ["0x1002093f", "lea ecx, [esp + 0x14]"]], "recomp": [["0x1002092b", "mov ecx, dword ptr [esp + 0x24]"], ["0x1002092f", "lea eax, [esp + 0x14]"]]}, {"both": [["0x10020943", "mov dword ptr [esp + 0x10], 1", "0x10020933"]]}, {"orig": [["0x1002094b", "push eax"]], "recomp": [["0x1002093b", "push ecx"]]}, {"both": [["0x1002094c", "push ebp", "0x1002093c"], ["0x1002094d", "push ebx", "0x1002093d"]]}, {"orig": [["0x1002094e", "push ecx"]], "recomp": []}, {"both": [["0x1002094f", "mov ecx, esi", "0x1002093e"]]}, {"orig": [], "recomp": [["0x10020940", "push eax"]]}, {"both": [["0x10020951", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Insert (FUNCTION)", "0x10020941"], ["0x10020956", "mov ecx, dword ptr [eax]", "0x10020946"], ["0x10020958", "mov eax, dword ptr [esp + 0x20]", "0x10020948"], ["0x1002095c", "mov dword ptr [eax], ecx", "0x1002094c"], ["0x1002095e", "mov edx, dword ptr [esp + 0x10]", "0x1002094e"], ["0x10020962", "pop ebp", "0x10020952"], ["0x10020963", "pop edi", "0x10020953"], ["0x10020964", "mov dword ptr [eax + 4], edx", "0x10020954"], ["0x10020967", "pop esi", "0x10020957"], ["0x10020968", "pop ebx", "0x10020958"], ["0x10020969", "add esp, 0xc", "0x10020959"], ["0x1002096c", "ret 8", "0x1002095c"], ["0x1002096f", "lea ecx, [esp + 0x18]", "0x1002095f"], ["0x10020973", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::iterator::_Dec (FUNCTION)", "0x10020963"]]}, {"orig": [["0x10020978", "mov ecx, dword ptr [esp + 0x18]"], ["0x1002097c", "mov eax, dword ptr [esp + 0x24]"], ["0x10020980", "mov edx, dword ptr [eax]"], ["0x10020982", "cmp dword ptr [ecx + 0xc], edx"]], "recomp": [["0x10020968", "mov eax, dword ptr [esp + 0x18]"], ["0x1002096c", "mov ecx, dword ptr [esp + 0x24]"], ["0x10020970", "mov edx, dword ptr [ecx]"], ["0x10020972", "cmp dword ptr [eax + 0xc], edx"]]}, {"both": [["0x10020985", "jge 0x16f", "0x10020975"], ["0x1002098b", "push 0", "0x1002097b"], ["0x1002098d", "mov ecx, esi", "0x1002097d"], ["0x1002098f", "mov dword ptr [esp + 0x14], 1", "0x1002097f"], ["0x10020997", "push ebp", "0x10020987"], ["0x10020998", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Buynode (FUNCTION)", "0x10020988"], ["0x1002099d", "mov edi, eax", "0x1002098d"], ["0x1002099f", "mov ecx, dword ptr [esp + 0x24]", "0x1002098f"], ["0x100209a3", "mov eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]", "0x10020993"], ["0x100209a8", "push ecx", "0x10020998"], ["0x100209a9", "lea edx, [edi + 0xc]", "0x10020999"], ["0x100209ac", "mov dword ptr [edi], eax", "0x1002099c"], ["0x100209ae", "mov eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]", "0x1002099e"], ["0x100209b3", "push edx", "0x100209a3"], ["0x100209b4", "mov dword ptr [edi + 8], eax", "0x100209a4"], ["0x100209b7", "call _Construct (FUNCTION)", "0x100209a7"], ["0x100209bc", "add esp, 8", "0x100209ac"], ["0x100209bf", "inc dword ptr [esi + 0xc]", "0x100209af"], ["0x100209c2", "cmp dword ptr [esi + 4], ebp", "0x100209b2"], ["0x100209c5", "je 0x24", "0x100209b5"]]}, {"orig": [["0x100209c7", "cmp ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x100209b7", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100209cd", "jne 0x1c", "0x100209bd"]]}, {"orig": [["0x100209cf", "mov eax, dword ptr [esp + 0x24]"], ["0x100209d3", "mov ecx, dword ptr [eax]"], ["0x100209d5", "cmp dword ptr [ebp + 0xc], ecx"]], "recomp": [["0x100209bf", "mov ecx, dword ptr [esp + 0x24]"], ["0x100209c3", "mov eax, dword ptr [ecx]"], ["0x100209c5", "cmp dword ptr [ebp + 0xc], eax"]]}, {"both": [["0x100209d8", "jg 0x11", "0x100209c8"], ["0x100209da", "mov dword ptr [ebp + 8], edi", "0x100209ca"], ["0x100209dd", "mov eax, dword ptr [esi + 4]", "0x100209cd"], ["0x100209e0", "add eax, 8", "0x100209d0"], ["0x100209e3", "cmp dword ptr [eax], ebp", "0x100209d3"], ["0x100209e5", "jne 0x1f", "0x100209d5"], ["0x100209e7", "mov dword ptr [eax], edi", "0x100209d7"], ["0x100209e9", "jmp 0x1b", "0x100209d9"], ["0x100209eb", "mov dword ptr [ebp], edi", "0x100209db"], ["0x100209ee", "mov eax, dword ptr [esi + 4]", "0x100209de"]]}]], ["@@ -0x100209f9,70 +0x100209e9,70 @@", [{"both": [["0x100209f9", "mov dword ptr [eax], edi", "0x100209e9"], ["0x100209fb", "jmp 0x9", "0x100209eb"], ["0x100209fd", "mov dword ptr [eax + 4], edi", "0x100209ed"], ["0x10020a00", "mov eax, dword ptr [esi + 4]", "0x100209f0"], ["0x10020a03", "mov dword ptr [eax + 8], edi", "0x100209f3"], ["0x10020a06", "mov ebx, edi", "0x100209f6"], ["0x10020a08", "mov eax, dword ptr [esi + 4]", "0x100209f8"], ["0x10020a0b", "cmp dword ptr [eax + 4], edi", "0x100209fb"], ["0x10020a0e", "je 0xc2", "0x100209fe"], ["0x10020a14", "lea ecx, [ebx + 4]", "0x10020a04"]]}, {"orig": [["0x10020a17", "mov edx, dword ptr [ecx]"], ["0x10020a19", "lea eax, [edx + 0x10]"], ["0x10020a1c", "cmp dword ptr [eax], 0"]], "recomp": [["0x10020a07", "mov ebp, dword ptr [ecx]"], ["0x10020a09", "lea edx, [ebp + 0x10]"], ["0x10020a0c", "cmp dword ptr [edx], 0"]]}, {"both": [["0x10020a1f", "jne 0xb1", "0x10020a0f"]]}, {"orig": [["0x10020a25", "mov ebp, dword ptr [edx + 4]"], ["0x10020a28", "mov ebp, dword ptr [ebp]"], ["0x10020a2b", "cmp ebp, edx"]], "recomp": [["0x10020a15", "mov eax, dword ptr [ebp + 4]"], ["0x10020a18", "mov eax, dword ptr [eax]"], ["0x10020a1a", "cmp eax, ebp"]]}, {"both": [["0x10020a2d", "jne 0x42", "0x10020a1c"]]}, {"orig": [["0x10020a2f", "mov ebp, dword ptr [edx + 4]"], ["0x10020a32", "mov ebp, dword ptr [ebp + 8]"], ["0x10020a35", "cmp dword ptr [ebp + 0x10], 0"], ["0x10020a39", "je 0x71"], ["0x10020a3b", "cmp dword ptr [edx + 8], ebx"]], "recomp": [["0x10020a1e", "mov eax, dword ptr [ebp + 4]"], ["0x10020a21", "mov eax, dword ptr [eax + 8]"], ["0x10020a24", "cmp dword ptr [eax + 0x10], 0"], ["0x10020a28", "je 0x72"], ["0x10020a2a", "cmp dword ptr [ebp + 8], ebx"]]}, {"both": [["0x10020a3e", "jne 0xa", "0x10020a2d"]]}, {"orig": [["0x10020a40", "push edx"], ["0x10020a41", "mov ebx, edx"]], "recomp": [["0x10020a2f", "push ebp"], ["0x10020a30", "mov ebx, ebp"]]}, {"both": [["0x10020a43", "mov ecx, esi", "0x10020a32"], ["0x10020a45", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Lrotate (FUNCTION)", "0x10020a34"], ["0x10020a4a", "mov eax, dword ptr [ebx + 4]", "0x10020a39"], ["0x10020a4d", "mov dword ptr [eax + 0x10], 1", "0x10020a3c"], ["0x10020a54", "mov eax, dword ptr [ebx + 4]", "0x10020a43"], ["0x10020a57", "mov ecx, dword ptr [eax + 4]", "0x10020a46"], ["0x10020a5a", "mov dword ptr [ecx + 0x10], 0", "0x10020a49"], ["0x10020a61", "mov eax, dword ptr [ebx + 4]", "0x10020a50"], ["0x10020a64", "mov ecx, dword ptr [eax + 4]", "0x10020a53"], ["0x10020a67", "push ecx", "0x10020a56"], ["0x10020a68", "mov ecx, esi", "0x10020a57"], ["0x10020a6a", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Rrotate (FUNCTION)", "0x10020a59"]]}, {"orig": [["0x10020a6f", "jmp 0x59"], ["0x10020a71", "cmp dword ptr [ebp + 0x10], 0"], ["0x10020a75", "je 0x35"], ["0x10020a77", "cmp dword ptr [edx], ebx"]], "recomp": [["0x10020a5e", "jmp 0x5a"], ["0x10020a60", "cmp dword ptr [eax + 0x10], 0"], ["0x10020a64", "je 0x36"], ["0x10020a66", "cmp dword ptr [ebp], ebx"]]}, {"both": [["0x10020a79", "jne 0xa", "0x10020a69"]]}, {"orig": [["0x10020a7b", "push edx"], ["0x10020a7c", "mov ebx, edx"]], "recomp": [["0x10020a6b", "push ebp"], ["0x10020a6c", "mov ebx, ebp"]]}, {"both": [["0x10020a7e", "mov ecx, esi", "0x10020a6e"], ["0x10020a80", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Rrotate (FUNCTION)", "0x10020a70"], ["0x10020a85", "mov eax, dword ptr [ebx + 4]", "0x10020a75"], ["0x10020a88", "mov dword ptr [eax + 0x10], 1", "0x10020a78"], ["0x10020a8f", "mov eax, dword ptr [ebx + 4]", "0x10020a7f"], ["0x10020a92", "mov ecx, dword ptr [eax + 4]", "0x10020a82"], ["0x10020a95", "mov dword ptr [ecx + 0x10], 0", "0x10020a85"], ["0x10020a9c", "mov eax, dword ptr [ebx + 4]", "0x10020a8c"], ["0x10020a9f", "mov ecx, dword ptr [eax + 4]", "0x10020a8f"], ["0x10020aa2", "push ecx", "0x10020a92"], ["0x10020aa3", "mov ecx, esi", "0x10020a93"], ["0x10020aa5", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Lrotate (FUNCTION)", "0x10020a95"], ["0x10020aaa", "jmp 0x1e", "0x10020a9a"]]}, {"orig": [["0x10020aac", "mov dword ptr [eax], 1"], ["0x10020ab2", "mov dword ptr [ebp + 0x10], 1"]], "recomp": [["0x10020a9c", "mov dword ptr [edx], 1"], ["0x10020aa2", "mov dword ptr [eax + 0x10], 1"]]}, {"both": [["0x10020ab9", "mov eax, dword ptr [ecx]", "0x10020aa9"], ["0x10020abb", "mov edx, dword ptr [eax + 4]", "0x10020aab"], ["0x10020abe", "mov dword ptr [edx + 0x10], 0", "0x10020aae"], ["0x10020ac5", "mov eax, dword ptr [ecx]", "0x10020ab5"], ["0x10020ac7", "mov ebx, dword ptr [eax + 4]", "0x10020ab7"], ["0x10020aca", "mov eax, dword ptr [esi + 4]", "0x10020aba"], ["0x10020acd", "cmp dword ptr [eax + 4], ebx", "0x10020abd"], ["0x10020ad0", "jne -0xc2", "0x10020ac0"], ["0x10020ad6", "mov eax, dword ptr [esi + 4]", "0x10020ac6"], ["0x10020ad9", "mov ecx, dword ptr [eax + 4]", "0x10020ac9"]]}]]]}, {"address": "0x10020b20", "recomp": "0x10020b10", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::iterator::_Dec", "matching": 1.0, "effective": true, "diff": [["@@ -0x10020b23,31 +0x10020b13,31 @@", [{"both": [["0x10020b23", "cmp dword ptr [esi + 0x10], 0", "0x10020b13"], ["0x10020b27", "jne 0xf", "0x10020b17"], ["0x10020b29", "mov eax, dword ptr [esi + 4]", "0x10020b19"], ["0x10020b2c", "cmp dword ptr [eax + 4], esi", "0x10020b1c"], ["0x10020b2f", "jne 0x7", "0x10020b1f"], ["0x10020b31", "mov eax, dword ptr [esi + 8]", "0x10020b21"], ["0x10020b34", "pop esi", "0x10020b24"], ["0x10020b35", "mov dword ptr [ecx], eax", "0x10020b25"], ["0x10020b37", "ret ", "0x10020b27"], ["0x10020b38", "mov edx, dword ptr [esi]", "0x10020b28"]]}, {"orig": [["0x10020b3a", "cmp edx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020b2a", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], edx"]]}, {"both": [["0x10020b40", "je 0x13", "0x10020b30"], ["0x10020b42", "mov eax, dword ptr [edx + 8]", "0x10020b32"]]}, {"orig": [["0x10020b45", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020b35", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020b4b", "je 0x4", "0x10020b3b"], ["0x10020b4d", "mov edx, eax", "0x10020b3d"], ["0x10020b4f", "jmp -0xf", "0x10020b3f"], ["0x10020b51", "pop esi", "0x10020b41"], ["0x10020b52", "mov dword ptr [ecx], edx", "0x10020b42"], ["0x10020b54", "ret ", "0x10020b44"]]}, {"orig": [["0x10020b55", "mov edx, dword ptr [esi + 4]"], ["0x10020b58", "cmp dword ptr [edx], esi"]], "recomp": [["0x10020b45", "mov eax, dword ptr [esi + 4]"], ["0x10020b48", "cmp dword ptr [eax], esi"]]}, {"both": [["0x10020b5a", "jne 0xb", "0x10020b4a"]]}, {"orig": [["0x10020b5c", "mov dword ptr [ecx], edx"], ["0x10020b5e", "mov eax, edx"], ["0x10020b60", "mov edx, dword ptr [edx + 4]"], ["0x10020b63", "cmp dword ptr [edx], eax"]], "recomp": [["0x10020b4c", "mov dword ptr [ecx], eax"], ["0x10020b4e", "mov edx, eax"], ["0x10020b50", "mov eax, dword ptr [eax + 4]"], ["0x10020b53", "cmp dword ptr [eax], edx"]]}, {"both": [["0x10020b65", "je -0xb", "0x10020b55"], ["0x10020b67", "pop esi", "0x10020b57"]]}, {"orig": [["0x10020b68", "mov dword ptr [ecx], edx"]], "recomp": [["0x10020b58", "mov dword ptr [ecx], eax"]]}, {"both": [["0x10020b6a", "ret ", "0x10020b5a"]]}]]]}, {"address": "0x10020b70", "recomp": "0x10020b60", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::lower_bound", "matching": 1.0, "diff": []}, {"address": "0x10020bb0", "recomp": "0x10020ba0", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x10020bd0", "recomp": "0x10020bc0", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Insert", "matching": 0.8411214953271028, "diff": [["@@ -0x10020c02,21 +0x10020bf2,21 @@", [{"both": [["0x10020c02", "mov dword ptr [eax - 0xc], ebx", "0x10020bf2"], ["0x10020c05", "mov ebx, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]", "0x10020bf5"], ["0x10020c0b", "mov dword ptr [eax - 4], ebx", "0x10020bfb"], ["0x10020c0e", "je 0x4", "0x10020bfe"], ["0x10020c10", "mov edx, dword ptr [edi]", "0x10020c00"], ["0x10020c12", "mov dword ptr [eax], edx", "0x10020c02"], ["0x10020c14", "inc dword ptr [esi + 0xc]", "0x10020c04"], ["0x10020c17", "cmp dword ptr [esi + 4], ecx", "0x10020c07"], ["0x10020c1a", "je 0x28", "0x10020c0a"], ["0x10020c1c", "mov eax, dword ptr [esp + 0x1c]", "0x10020c0c"]]}, {"orig": [["0x10020c20", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020c10", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020c26", "jne 0x1c", "0x10020c16"], ["0x10020c28", "mov eax, dword ptr [edi]", "0x10020c18"], ["0x10020c2a", "cmp dword ptr [ecx + 0xc], eax", "0x10020c1a"], ["0x10020c2d", "jg 0x15", "0x10020c1d"], ["0x10020c2f", "mov edx, dword ptr [esp + 0x10]", "0x10020c1f"], ["0x10020c33", "mov dword ptr [ecx + 8], edx", "0x10020c23"], ["0x10020c36", "mov eax, dword ptr [esi + 4]", "0x10020c26"], ["0x10020c39", "add eax, 8", "0x10020c29"], ["0x10020c3c", "cmp dword ptr [eax], ecx", "0x10020c2c"], ["0x10020c3e", "jne 0x26", "0x10020c2e"]]}]], ["@@ -0x10020c53,44 +0x10020c43,44 @@", [{"both": [["0x10020c53", "jne 0x11", "0x10020c43"], ["0x10020c55", "mov dword ptr [eax], edx", "0x10020c45"], ["0x10020c57", "jmp 0xd", "0x10020c47"], ["0x10020c59", "mov edx, dword ptr [esp + 0x10]", "0x10020c49"], ["0x10020c5d", "mov dword ptr [eax + 4], edx", "0x10020c4d"], ["0x10020c60", "mov eax, dword ptr [esi + 4]", "0x10020c50"], ["0x10020c63", "mov dword ptr [eax + 8], edx", "0x10020c53"], ["0x10020c66", "mov ecx, dword ptr [esp + 0x10]", "0x10020c56"], ["0x10020c6a", "mov eax, dword ptr [esi + 4]", "0x10020c5a"], ["0x10020c6d", "cmp dword ptr [eax + 4], ecx", "0x10020c5d"]]}, {"orig": [["0x10020c70", "je 0x1b6"]], "recomp": [["0x10020c60", "je 0x1b3"]]}, {"both": [["0x10020c76", "lea edx, [ecx + 4]", "0x10020c66"], ["0x10020c79", "mov eax, dword ptr [edx]", "0x10020c69"], ["0x10020c7b", "lea ebx, [eax + 0x10]", "0x10020c6b"], ["0x10020c7e", "cmp dword ptr [ebx], 0", "0x10020c6e"]]}, {"orig": [["0x10020c81", "jne 0x1a5"]], "recomp": [["0x10020c71", "jne 0x1a2"]]}, {"both": [["0x10020c87", "lea edi, [eax + 4]", "0x10020c77"], ["0x10020c8a", "mov ebp, dword ptr [edi]", "0x10020c7a"], ["0x10020c8c", "mov ebp, dword ptr [ebp]", "0x10020c7c"], ["0x10020c8f", "cmp ebp, eax", "0x10020c7f"]]}, {"orig": [["0x10020c91", "jne 0xbe"]], "recomp": [["0x10020c81", "jne 0xbb"]]}, {"both": [["0x10020c97", "mov ebp, dword ptr [edi]", "0x10020c87"], ["0x10020c99", "mov ebp, dword ptr [ebp + 8]", "0x10020c89"], ["0x10020c9c", "cmp dword ptr [ebp + 0x10], 0", "0x10020c8c"]]}, {"orig": [["0x10020ca0", "je 0x15c"]], "recomp": [["0x10020c90", "je 0x159"]]}, {"both": [["0x10020ca6", "lea ebx, [eax + 8]", "0x10020c96"], ["0x10020ca9", "mov edx, dword ptr [ebx]", "0x10020c99"], ["0x10020cab", "cmp ecx, edx", "0x10020c9b"], ["0x10020cad", "jne 0x33", "0x10020c9d"], ["0x10020caf", "mov ecx, eax", "0x10020c9f"], ["0x10020cb1", "mov eax, dword ptr [edx]", "0x10020ca1"], ["0x10020cb3", "mov dword ptr [ebx], eax", "0x10020ca3"], ["0x10020cb5", "mov eax, dword ptr [edx]", "0x10020ca5"]]}, {"orig": [["0x10020cb7", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020ca7", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020cbd", "je 0x3", "0x10020cad"], ["0x10020cbf", "mov dword ptr [eax + 4], ecx", "0x10020caf"], ["0x10020cc2", "mov eax, dword ptr [edi]", "0x10020cb2"], ["0x10020cc4", "mov dword ptr [edx + 4], eax", "0x10020cb4"], ["0x10020cc7", "mov eax, dword ptr [esi + 4]", "0x10020cb7"], ["0x10020cca", "add eax, 4", "0x10020cba"], ["0x10020ccd", "cmp dword ptr [eax], ecx", "0x10020cbd"], ["0x10020ccf", "je 0xb", "0x10020cbf"], ["0x10020cd1", "mov eax, dword ptr [edi]", "0x10020cc1"], ["0x10020cd3", "cmp dword ptr [eax], ecx", "0x10020cc3"]]}]], ["@@ -0x10020ce5,55 +0x10020cd5,54 @@", [{"both": [["0x10020ce5", "mov dword ptr [eax + 0x10], 1", "0x10020cd5"], ["0x10020cec", "mov eax, dword ptr [ecx + 4]", "0x10020cdc"], ["0x10020cef", "mov edx, dword ptr [eax + 4]", "0x10020cdf"], ["0x10020cf2", "mov dword ptr [edx + 0x10], 0", "0x10020ce2"], ["0x10020cf9", "mov eax, dword ptr [ecx + 4]", "0x10020ce9"], ["0x10020cfc", "mov edi, dword ptr [eax + 4]", "0x10020cec"], ["0x10020cff", "mov edx, dword ptr [edi]", "0x10020cef"], ["0x10020d01", "mov eax, dword ptr [edx + 8]", "0x10020cf1"], ["0x10020d04", "mov dword ptr [edi], eax", "0x10020cf4"], ["0x10020d06", "mov eax, dword ptr [edx + 8]", "0x10020cf6"]]}, {"orig": [["0x10020d09", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020cf9", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020d0f", "je 0x3", "0x10020cff"], ["0x10020d11", "mov dword ptr [eax + 4], edi", "0x10020d01"], ["0x10020d14", "mov eax, dword ptr [edi + 4]", "0x10020d04"], ["0x10020d17", "mov dword ptr [edx + 4], eax", "0x10020d07"], ["0x10020d1a", "mov eax, dword ptr [esi + 4]", "0x10020d0a"], ["0x10020d1d", "add eax, 4", "0x10020d0d"], ["0x10020d20", "cmp dword ptr [eax], edi", "0x10020d10"], ["0x10020d22", "je 0x24", "0x10020d12"], ["0x10020d24", "mov ebx, dword ptr [edi + 4]", "0x10020d14"], ["0x10020d27", "lea eax, [ebx + 8]", "0x10020d17"], ["0x10020d2a", "cmp dword ptr [eax], edi", "0x10020d1a"], ["0x10020d2c", "je 0xd", "0x10020d1c"], ["0x10020d2e", "mov dword ptr [ebx], edx", "0x10020d1e"], ["0x10020d30", "mov dword ptr [edx + 8], edi", "0x10020d20"], ["0x10020d33", "mov dword ptr [edi + 4], edx", "0x10020d23"]]}, {"orig": [["0x10020d36", "jmp 0xe5"]], "recomp": [["0x10020d26", "jmp 0xe2"]]}, {"both": [["0x10020d3b", "mov dword ptr [eax], edx", "0x10020d2b"], ["0x10020d3d", "mov dword ptr [edx + 8], edi", "0x10020d2d"], ["0x10020d40", "mov dword ptr [edi + 4], edx", "0x10020d30"]]}, {"orig": [["0x10020d43", "jmp 0xd8"]], "recomp": [["0x10020d33", "jmp 0xd5"]]}, {"both": [["0x10020d48", "mov dword ptr [eax], edx", "0x10020d38"], ["0x10020d4a", "mov dword ptr [edx + 8], edi", "0x10020d3a"]]}, {"orig": [["0x10020d4d", "mov dword ptr [edi + 4], edx"], ["0x10020d50", "jmp 0xcb"]], "recomp": [["0x10020d3d", "jmp 0xa8"]]}, {"both": [["0x10020d55", "cmp dword ptr [ebp + 0x10], 0", "0x10020d42"], ["0x10020d59", "je 0xa3", "0x10020d46"], ["0x10020d5f", "mov edx, dword ptr [eax]", "0x10020d4c"], ["0x10020d61", "cmp ecx, edx", "0x10020d4e"], ["0x10020d63", "jne 0x38", "0x10020d50"], ["0x10020d65", "mov ecx, eax", "0x10020d52"], ["0x10020d67", "mov eax, dword ptr [edx + 8]", "0x10020d54"], ["0x10020d6a", "mov dword ptr [ecx], eax", "0x10020d57"], ["0x10020d6c", "mov eax, dword ptr [edx + 8]", "0x10020d59"]]}, {"orig": [["0x10020d6f", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020d5c", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020d75", "je 0x3", "0x10020d62"], ["0x10020d77", "mov dword ptr [eax + 4], ecx", "0x10020d64"], ["0x10020d7a", "mov eax, dword ptr [edi]", "0x10020d67"], ["0x10020d7c", "mov dword ptr [edx + 4], eax", "0x10020d69"], ["0x10020d7f", "mov eax, dword ptr [esi + 4]", "0x10020d6c"], ["0x10020d82", "add eax, 4", "0x10020d6f"], ["0x10020d85", "cmp dword ptr [eax], ecx", "0x10020d72"], ["0x10020d87", "je 0xd", "0x10020d74"], ["0x10020d89", "mov ebx, dword ptr [edi]", "0x10020d76"], ["0x10020d8b", "lea eax, [ebx + 8]", "0x10020d78"]]}]], ["@@ -0x10020d94,60 +0x10020d81,61 @@", [{"both": [["0x10020d94", "jmp 0x2", "0x10020d81"], ["0x10020d96", "mov dword ptr [eax], edx", "0x10020d83"], ["0x10020d98", "mov dword ptr [edx + 8], ecx", "0x10020d85"], ["0x10020d9b", "mov dword ptr [edi], edx", "0x10020d88"], ["0x10020d9d", "mov eax, dword ptr [ecx + 4]", "0x10020d8a"], ["0x10020da0", "mov dword ptr [eax + 0x10], 1", "0x10020d8d"], ["0x10020da7", "mov eax, dword ptr [ecx + 4]", "0x10020d94"], ["0x10020daa", "mov edx, dword ptr [eax + 4]", "0x10020d97"], ["0x10020dad", "mov dword ptr [edx + 0x10], 0", "0x10020d9a"], ["0x10020db4", "mov eax, dword ptr [ecx + 4]", "0x10020da1"]]}, {"orig": [["0x10020db7", "mov edx, dword ptr [eax + 4]"], ["0x10020dba", "mov edi, dword ptr [edx + 8]"], ["0x10020dbd", "mov eax, dword ptr [edi]"], ["0x10020dbf", "mov dword ptr [edx + 8], eax"], ["0x10020dc2", "mov eax, dword ptr [edi]"], ["0x10020dc4", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020da4", "mov edi, dword ptr [eax + 4]"], ["0x10020da7", "mov edx, dword ptr [edi + 8]"], ["0x10020daa", "mov eax, dword ptr [edx]"], ["0x10020dac", "mov dword ptr [edi + 8], eax"], ["0x10020daf", "mov eax, dword ptr [edx]"], ["0x10020db1", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020dca", "je 0x3", "0x10020db7"]]}, {"orig": [["0x10020dcc", "mov dword ptr [eax + 4], edx"], ["0x10020dcf", "mov eax, dword ptr [edx + 4]"], ["0x10020dd2", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x10020db9", "mov dword ptr [eax + 4], edi"], ["0x10020dbc", "mov eax, dword ptr [edi + 4]"], ["0x10020dbf", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x10020dd5", "mov eax, dword ptr [esi + 4]", "0x10020dc2"], ["0x10020dd8", "add eax, 4", "0x10020dc5"]]}, {"orig": [["0x10020ddb", "cmp dword ptr [eax], edx"]], "recomp": [["0x10020dc8", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10020ddd", "je 0x1a", "0x10020dca"]]}, {"orig": [["0x10020ddf", "mov eax, dword ptr [edx + 4]"], ["0x10020de2", "cmp dword ptr [eax], edx"]], "recomp": [["0x10020dcc", "mov eax, dword ptr [edi + 4]"], ["0x10020dcf", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10020de4", "je 0xa", "0x10020dd1"]]}, {"orig": [["0x10020de6", "mov dword ptr [eax + 8], edi"], ["0x10020de9", "mov dword ptr [edi], edx"], ["0x10020deb", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x10020dd3", "mov dword ptr [eax + 8], edx"], ["0x10020dd6", "mov dword ptr [edx], edi"], ["0x10020dd8", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x10020dee", "jmp 0x30", "0x10020ddb"]]}, {"orig": [["0x10020df0", "mov dword ptr [eax], edi"], ["0x10020df2", "mov dword ptr [edi], edx"], ["0x10020df4", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x10020ddd", "mov dword ptr [eax], edx"], ["0x10020ddf", "mov dword ptr [edx], edi"], ["0x10020de1", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x10020df7", "jmp 0x27", "0x10020de4"]]}, {"orig": [["0x10020df9", "mov dword ptr [eax], edi"], ["0x10020dfb", "mov dword ptr [edi], edx"], ["0x10020dfd", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x10020de6", "mov dword ptr [eax], edx"], ["0x10020de8", "mov dword ptr [edx], edi"], ["0x10020dea", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x10020e00", "jmp 0x1e", "0x10020ded"], ["0x10020e02", "mov dword ptr [ebx], 1", "0x10020def"], ["0x10020e08", "mov dword ptr [ebp + 0x10], 1", "0x10020df5"], ["0x10020e0f", "mov eax, dword ptr [edx]", "0x10020dfc"], ["0x10020e11", "mov ecx, dword ptr [eax + 4]", "0x10020dfe"], ["0x10020e14", "mov dword ptr [ecx + 0x10], 0", "0x10020e01"], ["0x10020e1b", "mov eax, dword ptr [edx]", "0x10020e08"], ["0x10020e1d", "mov ecx, dword ptr [eax + 4]", "0x10020e0a"], ["0x10020e20", "mov eax, dword ptr [esi + 4]", "0x10020e0d"], ["0x10020e23", "cmp dword ptr [eax + 4], ecx", "0x10020e10"]]}, {"orig": [["0x10020e26", "jne -0x1b6"]], "recomp": [["0x10020e13", "jne -0x1b3"]]}, {"both": [["0x10020e2c", "mov eax, dword ptr [esi + 4]", "0x10020e19"], ["0x10020e2f", "mov edx, dword ptr [esp + 0x10]", "0x10020e1c"], ["0x10020e33", "mov ecx, dword ptr [eax + 4]", "0x10020e20"], ["0x10020e36", "mov eax, dword ptr [esp + 0x18]", "0x10020e23"], ["0x10020e3a", "pop ebp", "0x10020e27"], ["0x10020e3b", "pop edi", "0x10020e28"], ["0x10020e3c", "mov dword ptr [ecx + 0x10], 1", "0x10020e29"], ["0x10020e43", "pop esi", "0x10020e30"], ["0x10020e44", "mov dword ptr [eax], edx", "0x10020e31"], ["0x10020e46", "pop ebx", "0x10020e33"], ["0x10020e47", "add esp, 4", "0x10020e34"]]}, {"orig": [], "recomp": [["0x10020e37", "ret 0x10"]]}]]]}, {"address": "0x10020e50", "recomp": "0x10020e40", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Lrotate", "matching": 1.0, "effective": true, "diff": [["@@ -0x10020e50,17 +0x10020e40,17 @@", [{"both": [["0x10020e50", "push esi", "0x10020e40"], ["0x10020e51", "mov esi, dword ptr [esp + 8]", "0x10020e41"], ["0x10020e55", "mov edx, dword ptr [esi + 8]", "0x10020e45"], ["0x10020e58", "mov eax, dword ptr [edx]", "0x10020e48"], ["0x10020e5a", "mov dword ptr [esi + 8], eax", "0x10020e4a"], ["0x10020e5d", "mov eax, dword ptr [edx]", "0x10020e4d"]]}, {"orig": [["0x10020e5f", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020e4f", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020e65", "je 0x3", "0x10020e55"], ["0x10020e67", "mov dword ptr [eax + 4], esi", "0x10020e57"], ["0x10020e6a", "mov eax, dword ptr [esi + 4]", "0x10020e5a"], ["0x10020e6d", "mov dword ptr [edx + 4], eax", "0x10020e5d"], ["0x10020e70", "mov eax, dword ptr [ecx + 4]", "0x10020e60"], ["0x10020e73", "add eax, 4", "0x10020e63"], ["0x10020e76", "cmp dword ptr [eax], esi", "0x10020e66"], ["0x10020e78", "je 0x1e", "0x10020e68"], ["0x10020e7a", "mov eax, dword ptr [esi + 4]", "0x10020e6a"], ["0x10020e7d", "cmp dword ptr [eax], esi", "0x10020e6d"]]}]]]}, {"address": "0x10020eb0", "recomp": "0x10020ea0", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Rrotate", "matching": 0.38235294117647056, "diff": [["@@ -0x10020eb0,34 +0x10020ea0,34 @@", [{"orig": [], "recomp": [["0x10020ea0", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x10020eb0", "push esi", "0x10020ea4"]]}, {"orig": [["0x10020eb1", "mov esi, dword ptr [esp + 8]"], ["0x10020eb5", "mov edx, dword ptr [esi]"], ["0x10020eb7", "mov eax, dword ptr [edx + 8]"], ["0x10020eba", "mov dword ptr [esi], eax"], ["0x10020ebc", "mov eax, dword ptr [edx + 8]"], ["0x10020ebf", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10020ea5", "mov esi, dword ptr [edx]"], ["0x10020ea7", "mov eax, dword ptr [esi + 8]"], ["0x10020eaa", "mov dword ptr [edx], eax"], ["0x10020eac", "mov eax, dword ptr [esi + 8]"], ["0x10020eaf", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10020ec5", "je 0x3", "0x10020eb5"]]}, {"orig": [["0x10020ec7", "mov dword ptr [eax + 4], esi"], ["0x10020eca", "mov eax, dword ptr [esi + 4]"], ["0x10020ecd", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x10020eb7", "mov dword ptr [eax + 4], edx"], ["0x10020eba", "mov eax, dword ptr [edx + 4]"], ["0x10020ebd", "mov dword ptr [esi + 4], eax"]]}, {"both": [["0x10020ed0", "mov eax, dword ptr [ecx + 4]", "0x10020ec0"], ["0x10020ed3", "add eax, 4", "0x10020ec3"]]}, {"orig": [["0x10020ed6", "cmp dword ptr [eax], esi"]], "recomp": [["0x10020ec6", "cmp dword ptr [eax], edx"]]}, {"both": [["0x10020ed8", "je 0x22", "0x10020ec8"]]}, {"orig": [["0x10020eda", "mov ecx, dword ptr [esi + 4]"]], "recomp": [["0x10020eca", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x10020edd", "lea eax, [ecx + 8]", "0x10020ecd"]]}, {"orig": [["0x10020ee0", "cmp dword ptr [eax], esi"]], "recomp": [["0x10020ed0", "cmp dword ptr [eax], edx"]]}, {"both": [["0x10020ee2", "je 0xc", "0x10020ed2"]]}, {"orig": [["0x10020ee4", "mov dword ptr [ecx], edx"], ["0x10020ee6", "mov dword ptr [edx + 8], esi"], ["0x10020ee9", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x10020ed4", "mov dword ptr [ecx], esi"], ["0x10020ed6", "mov dword ptr [esi + 8], edx"], ["0x10020ed9", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x10020eec", "pop esi", "0x10020edc"], ["0x10020eed", "ret 4", "0x10020edd"]]}, {"orig": [["0x10020ef0", "mov dword ptr [eax], edx"], ["0x10020ef2", "mov dword ptr [edx + 8], esi"], ["0x10020ef5", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x10020ee0", "mov dword ptr [eax], esi"], ["0x10020ee2", "mov dword ptr [esi + 8], edx"], ["0x10020ee5", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x10020ef8", "pop esi", "0x10020ee8"], ["0x10020ef9", "ret 4", "0x10020ee9"]]}, {"orig": [["0x10020efc", "mov dword ptr [eax], edx"], ["0x10020efe", "mov dword ptr [edx + 8], esi"], ["0x10020f01", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x10020eec", "mov dword ptr [eax], esi"], ["0x10020eee", "mov dword ptr [esi + 8], edx"], ["0x10020ef1", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x10020f04", "pop esi", "0x10020ef4"], ["0x10020f05", "ret 4", "0x10020ef5"]]}]]]}, {"address": "0x10020f10", "recomp": "0x10020f00", "name": "LegoWorld::Remove", "matching": 1.0, "diff": []}, {"address": "0x10021340", "recomp": "0x10021330", "name": "_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::find", "matching": 0.7941176470588235, "diff": [["@@ -0x10021340,32 +0x10021330,32 @@", [{"both": [["0x10021340", "sub esp, 8", "0x10021330"]]}, {"orig": [], "recomp": [["0x10021333", "mov edx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10021343", "push esi", "0x10021337"], ["0x10021344", "push edi", "0x10021338"], ["0x10021345", "mov edi, dword ptr [ecx + 4]", "0x10021339"]]}, {"orig": [["0x10021348", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x1002134c", "mov esi, edi", "0x1002133c"], ["0x1002134e", "mov eax, dword ptr [edi + 4]", "0x1002133e"]]}, {"orig": [["0x10021351", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10021341", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10021357", "je 0x18", "0x10021347"]]}, {"orig": [["0x10021359", "mov edx, dword ptr [ecx]"], ["0x1002135b", "cmp dword ptr [eax + 0xc], edx"]], "recomp": [["0x10021349", "mov ecx, dword ptr [edx]"], ["0x1002134b", "cmp dword ptr [eax + 0xc], ecx"]]}, {"both": [["0x1002135e", "jl 0x6", "0x1002134e"], ["0x10021360", "mov esi, eax", "0x10021350"], ["0x10021362", "mov eax, dword ptr [eax]", "0x10021352"], ["0x10021364", "jmp 0x3", "0x10021354"], ["0x10021366", "mov eax, dword ptr [eax + 8]", "0x10021356"]]}, {"orig": [["0x10021369", "cmp eax, dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)]"]], "recomp": [["0x10021359", "cmp dword ptr [_Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1002136f", "jne -0x16", "0x1002135f"], ["0x10021371", "mov dword ptr [esp + 8], esi", "0x10021361"]]}, {"orig": [["0x10021375", "cmp edi, esi"]], "recomp": [["0x10021365", "cmp esi, edi"]]}, {"both": [["0x10021377", "je 0xb", "0x10021367"]]}, {"orig": [["0x10021379", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10021369", "mov eax, dword ptr [edx]"]]}, {"both": [["0x1002137b", "cmp dword ptr [esi + 0xc], eax", "0x1002136b"], ["0x1002137e", "lea eax, [esp + 8]", "0x1002136e"], ["0x10021382", "jle 0x8", "0x10021372"], ["0x10021384", "lea eax, [esp + 0xc]", "0x10021374"], ["0x10021388", "mov dword ptr [esp + 0xc], edi", "0x10021378"], ["0x1002138c", "mov ecx, dword ptr [eax]", "0x1002137c"], ["0x1002138e", "mov eax, dword ptr [esp + 0x14]", "0x1002137e"], ["0x10021392", "pop edi", "0x10021382"], ["0x10021393", "pop esi", "0x10021383"], ["0x10021394", "mov dword ptr [eax], ecx", "0x10021384"]]}]]]}, {"address": "0x100213a0", "recomp": "0x10021390", "name": "LegoWorld::Find", "matching": 1.0, "effective": true, "diff": [["@@ -0x100216c7,21 +0x100216b7,21 @@", [{"both": [["0x100216c7", "jmp MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *> (FUNCTION)", "0x100216b7"], ["0x100216cc", "lea ecx, [ebp - 0x1c]", "0x100216bc"], ["0x100216cf", "jmp MxPtrListCursor<MxPresenter>::~MxPtrListCursor<MxPresenter> (FUNCTION)", "0x100216bf"], ["0x100216d4", "mov eax, <OFFSET18>", "0x100216c4"], ["0x100216d9", "jmp ___CxxFrameHandler (FUNCTION)", "0x100216c9"], ["0x100216de", "lea ecx, [ebp - 0x1c]", "0x100216ce"], ["0x100216e1", "jmp MxPresenterListCursor::~MxPresenterListCursor (FUNCTION)", "0x100216d1"], ["0x100216e6", "mov eax, dword ptr [edi + 0xac]", "0x100216d6"], ["0x100216ec", "mov ecx, dword ptr [eax]", "0x100216dc"], ["0x100216ee", "mov dword ptr [ebp - 0x24], ecx", "0x100216de"]]}, {"orig": [["0x100216f1", "cmp ecx, eax"]], "recomp": [["0x100216e1", "cmp eax, ecx"]]}, {"both": [["0x100216f3", "je 0x71", "0x100216e3"], ["0x100216f5", "mov esi, dword ptr [ebp + 0xc]", "0x100216e5"], ["0x100216f8", "mov eax, dword ptr [ebp - 0x24]", "0x100216e8"], ["0x100216fb", "push ebx", "0x100216eb"], ["0x100216fc", "mov ecx, dword ptr [eax + 0xc]", "0x100216ec"], ["0x100216ff", "mov eax, dword ptr [ecx]", "0x100216ef"], ["0x10021701", "call dword ptr [eax + 0x10]", "0x100216f1"], ["0x10021704", "test al, al", "0x100216f4"], ["0x10021706", "je 0x4b", "0x100216f6"], ["0x10021708", "mov eax, dword ptr [ebp - 0x24]", "0x100216f8"]]}]]]}, {"address": "0x10021790", "recomp": "0x10021780", "name": "LegoWorld::Find", "matching": 1.0, "diff": []}, {"address": "0x10021a70", "recomp": "0x10021a60", "name": "LegoWorld::Enable", "matching": 0.8422301304863582, "diff": [["@@ -0x10021a80,26 +0x10021a70,26 @@", [{"both": [["0x10021a80", "push eax", "0x10021a70"], ["0x10021a81", "mov dword ptr fs:[0], esp", "0x10021a71"], ["0x10021a88", "mov al, byte ptr [ebp + 8]", "0x10021a78"], ["0x10021a8b", "sub esp, 0x40", "0x10021a7b"], ["0x10021a8e", "mov dword ptr [ebp - 0x10], ecx", "0x10021a7e"], ["0x10021a91", "push ebx", "0x10021a81"], ["0x10021a92", "push esi", "0x10021a82"], ["0x10021a93", "push edi", "0x10021a83"], ["0x10021a94", "xor ebx, ebx", "0x10021a84"], ["0x10021a96", "test al, al", "0x10021a86"]]}, {"orig": [["0x10021a98", "je 0x272"]], "recomp": [["0x10021a88", "je 0x268"]]}, {"both": [["0x10021a9e", "cmp dword ptr [ecx + 0xdc], ebx", "0x10021a8e"]]}, {"orig": [["0x10021aa4", "je 0x262"]], "recomp": [["0x10021a94", "je 0x258"]]}, {"both": [["0x10021aaa", "call CurrentWorld (FUNCTION)", "0x10021a9a"], ["0x10021aaf", "cmp eax, dword ptr [ebp - 0x10]", "0x10021a9f"]]}, {"orig": [["0x10021ab2", "je 0x242"]], "recomp": [["0x10021aa2", "je 0x238"]]}, {"both": [["0x10021ab8", "call CurrentWorld (FUNCTION)", "0x10021aa8"], ["0x10021abd", "test eax, eax", "0x10021aad"], ["0x10021abf", "je 0xcd", "0x10021aaf"], ["0x10021ac5", "push ebx", "0x10021ab5"], ["0x10021ac6", "call AnimationManager (FUNCTION)", "0x10021ab6"], ["0x10021acb", "mov ecx, eax", "0x10021abb"], ["0x10021acd", "call LegoAnimationManager::FUN_10061010 (FUNCTION)", "0x10021abd"], ["0x10021ad2", "call CurrentWorld (FUNCTION)", "0x10021ac2"], ["0x10021ad7", "push ebx", "0x10021ac7"], ["0x10021ad8", "mov edx, dword ptr [eax]", "0x10021ac8"]]}]], ["@@ -0x10021b2d,90 +0x10021b1d,89 @@", [{"both": [["0x10021b2d", "mov eax, dword ptr [ebp - 0x1c]", "0x10021b1d"], ["0x10021b30", "mov ecx, dword ptr [eax + 0x10]", "0x10021b20"], ["0x10021b33", "jmp 0x6", "0x10021b23"], ["0x10021b35", "mov eax, dword ptr [ebp - 0x18]", "0x10021b25"], ["0x10021b38", "mov ecx, dword ptr [eax + 8]", "0x10021b28"], ["0x10021b3b", "mov dword ptr [ebp - 0x18], ecx", "0x10021b2b"], ["0x10021b3e", "cmp dword ptr [ebp - 0x18], ebx", "0x10021b2e"], ["0x10021b41", "je 0x43", "0x10021b31"], ["0x10021b43", "mov eax, dword ptr [ebp - 0x18]", "0x10021b33"], ["0x10021b46", "mov ecx, dword ptr [eax]", "0x10021b36"]]}, {"orig": [["0x10021b48", "mov dword ptr [ebp - 0x28], ecx"]], "recomp": [["0x10021b38", "mov dword ptr [ebp - 0x14], ecx"]]}, {"both": [["0x10021b4b", "cmp dword ptr [ebp - 0x18], ebx", "0x10021b3b"], ["0x10021b4e", "je 0x36", "0x10021b3e"]]}, {"orig": [["0x10021b50", "mov eax, dword ptr [ebp - 0x28]"]], "recomp": [["0x10021b40", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x10021b53", "mov ecx, dword ptr [eax + 0x54]", "0x10021b43"], ["0x10021b56", "add eax, 0x54", "0x10021b46"], ["0x10021b59", "test ecx, ecx", "0x10021b49"], ["0x10021b5b", "je -0x35", "0x10021b4b"]]}, {"orig": [["0x10021b5d", "mov edx, dword ptr [ebp - 0x28]"]], "recomp": [["0x10021b4d", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x10021b60", "mov dword ptr [ecx + 0x104], edx", "0x10021b50"], ["0x10021b66", "mov esi, dword ptr [eax]", "0x10021b56"], ["0x10021b68", "call GetViewManager (FUNCTION)", "0x10021b58"]]}, {"orig": [["0x10021b6d", "lea edx, [ebp - 0x30]"], ["0x10021b70", "mov dword ptr [ebp - 0x48], esi"]], "recomp": [["0x10021b5d", "lea edx, [ebp - 0x48]"], ["0x10021b60", "mov dword ptr [ebp - 0x40], esi"]]}, {"both": [["0x10021b73", "mov ecx, dword ptr [eax + 0xc]", "0x10021b63"]]}, {"orig": [["0x10021b76", "lea esi, [ebp - 0x48]"]], "recomp": [["0x10021b66", "lea esi, [ebp - 0x40]"]]}, {"both": [["0x10021b79", "push esi", "0x10021b69"], ["0x10021b7a", "push ecx", "0x10021b6a"], ["0x10021b7b", "push edx", "0x10021b6b"], ["0x10021b7c", "lea ecx, [eax + 8]", "0x10021b6c"], ["0x10021b7f", "call list<ROI *,allocator<ROI *> >::insert (FUNCTION)", "0x10021b6f"], ["0x10021b84", "jmp -0x5e", "0x10021b74"], ["0x10021b86", "mov dword ptr [ebp - 4], 0xffffffff", "0x10021b76"], ["0x10021b8d", "call <OFFSET11>", "0x10021b7d"], ["0x10021b92", "mov ecx, dword ptr [ebp - 0x10]", "0x10021b82"], ["0x10021b95", "cmp dword ptr [ecx + 0xdc], 0", "0x10021b85"]]}, {"orig": [["0x10021b9c", "je 0x8e"]], "recomp": [["0x10021b8c", "je 0x84"]]}, {"both": [["0x10021ba2", "lea esi, [ecx + 0xd0]", "0x10021b92"], ["0x10021ba8", "mov ecx, dword ptr [ebp - 0x10]", "0x10021b98"], ["0x10021bab", "push 'MxPresenter' (STRING)", "0x10021b9b"], ["0x10021bb0", "mov eax, dword ptr [ecx + 0xd4]", "0x10021ba0"], ["0x10021bb6", "mov edx, dword ptr [eax]", "0x10021ba6"], ["0x10021bb8", "mov dword ptr [ebp - 0x14], edx", "0x10021ba8"]]}, {"orig": [["0x10021bbb", "mov ecx, dword ptr [edx + 0xc]"]], "recomp": [["0x10021bab", "lea edi, [edx + 0xc]"], ["0x10021bae", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x10021bbe", "mov eax, dword ptr [ecx]", "0x10021bb0"], ["0x10021bc0", "call dword ptr [eax + 0x10]", "0x10021bb2"]]}, {"orig": [], "recomp": [["0x10021bb5", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x10021bc3", "test al, al", "0x10021bb7"]]}, {"orig": [["0x10021bc5", "mov eax, dword ptr [ebp - 0x14]"], ["0x10021bc8", "mov ecx, dword ptr [eax + 0xc]"]], "recomp": []}, {"both": [["0x10021bcb", "je 0x29", "0x10021bb9"], ["0x10021bcd", "push 1", "0x10021bbb"]]}, {"orig": [["0x10021bcf", "mov ebx, dword ptr [ecx]"], ["0x10021bd1", "call dword ptr [ebx + 0x54]"], ["0x10021bd4", "jmp 0x3b"]], "recomp": [["0x10021bbd", "mov eax, dword ptr [ecx]"], ["0x10021bbf", "call dword ptr [eax + 0x54]"], ["0x10021bc2", "jmp 0x37"]]}, {"both": [["0x10021bd6", "lea ecx, [ebp - 0x24]", "0x10021bc4"], ["0x10021bd9", "jmp MxCore::~MxCore (FUNCTION)", "0x10021bc7"], ["0x10021bde", "lea ecx, [ebp - 0x24]", "0x10021bcc"], ["0x10021be1", "jmp MxListCursor<LegoEntity *>::~MxListCursor<LegoEntity *> (FUNCTION)", "0x10021bcf"], ["0x10021be6", "lea ecx, [ebp - 0x24]", "0x10021bd4"], ["0x10021be9", "jmp MxPtrListCursor<LegoEntity>::~MxPtrListCursor<LegoEntity> (FUNCTION)", "0x10021bd7"], ["0x10021bee", "lea ecx, [ebp - 0x24]", "0x10021bdc"], ["0x10021bf1", "jmp LegoEntityListCursor::~LegoEntityListCursor (FUNCTION)", "0x10021bdf"], ["0x10021bf6", "push 'LegoPathController' (STRING)", "0x10021be4"]]}, {"orig": [["0x10021bfb", "mov ebx, dword ptr [ecx]"], ["0x10021bfd", "call dword ptr [ebx + 0x10]"]], "recomp": [["0x10021be9", "mov eax, dword ptr [ecx]"], ["0x10021beb", "call dword ptr [eax + 0x10]"]]}, {"both": [["0x10021c00", "test al, al", "0x10021bee"]]}, {"orig": [["0x10021c02", "je 0xd"]], "recomp": [["0x10021bf0", "je 0x9"]]}, {"both": [["0x10021c04", "push 1", "0x10021bf2"]]}, {"orig": [["0x10021c06", "mov eax, dword ptr [ebp - 0x14]"], ["0x10021c09", "mov ecx, dword ptr [eax + 0xc]"]], "recomp": [["0x10021bf4", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x10021c0c", "call LegoPathController::Enable (FUNCTION)", "0x10021bf6"], ["0x10021c11", "mov eax, dword ptr [ebp - 0x14]", "0x10021bfb"]]}, {"orig": [["0x10021c14", "lea ecx, [ebp - 0x48]"]], "recomp": [["0x10021bfe", "lea ecx, [ebp - 0x28]"]]}, {"both": [["0x10021c17", "push eax", "0x10021c01"], ["0x10021c18", "push ecx", "0x10021c02"], ["0x10021c19", "mov ecx, esi", "0x10021c03"], ["0x10021c1b", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::erase (FUNCTION)", "0x10021c05"], ["0x10021c20", "mov ecx, dword ptr [ebp - 0x10]", "0x10021c0a"], ["0x10021c23", "cmp dword ptr [ecx + 0xdc], 0", "0x10021c0d"]]}, {"orig": [["0x10021c2a", "jne -0x88"]], "recomp": [["0x10021c14", "jne -0x7e"]]}, {"both": [["0x10021c30", "mov ecx, dword ptr [ebp - 0x10]", "0x10021c16"], ["0x10021c33", "push ecx", "0x10021c19"], ["0x10021c34", "call SetCurrentWorld (FUNCTION)", "0x10021c1a"], ["0x10021c39", "add esp, 4", "0x10021c1f"], ["0x10021c3c", "mov eax, dword ptr [ebp - 0x10]", "0x10021c22"], ["0x10021c3f", "add eax, 0xb8", "0x10021c25"], ["0x10021c44", "push eax", "0x10021c2a"], ["0x10021c45", "call ControlManager (FUNCTION)", "0x10021c2b"], ["0x10021c4a", "mov ecx, eax", "0x10021c30"], ["0x10021c4c", "call LegoControlManager::FUN_10028df0 (FUNCTION)", "0x10021c32"]]}]], ["@@ -0x10021cfe,104 +0x10021ce4,103 @@", [{"both": [["0x10021cfe", "mov dword ptr fs:[0], eax", "0x10021ce4"], ["0x10021d04", "pop esi", "0x10021cea"], ["0x10021d05", "pop ebx", "0x10021ceb"], ["0x10021d06", "mov esp, ebp", "0x10021cec"], ["0x10021d08", "pop ebp", "0x10021cee"], ["0x10021d09", "ret 4", "0x10021cef"], ["0x10021d0c", "test al, al", "0x10021cf2"], ["0x10021d0e", "jne -0x16", "0x10021cf4"], ["0x10021d10", "mov ecx, dword ptr [ebp - 0x10]", "0x10021cf6"], ["0x10021d13", "cmp dword ptr [ecx + 0xdc], 0", "0x10021cf9"]]}, {"orig": [["0x10021d1a", "jne -0x22"]], "recomp": [["0x10021d00", "je -0x22"]]}, {"both": [["0x10021d1c", "call UserActor (FUNCTION)", "0x10021d02"], ["0x10021d21", "test eax, eax", "0x10021d07"], ["0x10021d23", "je 0x9", "0x10021d09"], ["0x10021d25", "push eax", "0x10021d0b"], ["0x10021d26", "mov ecx, dword ptr [ebp - 0x10]", "0x10021d0c"], ["0x10021d29", "call LegoWorld::RemoveActor (FUNCTION)", "0x10021d0f"], ["0x10021d2e", "push 0", "0x10021d14"], ["0x10021d30", "call AnimationManager (FUNCTION)", "0x10021d16"], ["0x10021d35", "mov ecx, eax", "0x10021d1b"], ["0x10021d37", "call LegoAnimationManager::Reset (FUNCTION)", "0x10021d1d"], ["0x10021d3c", "mov ecx, dword ptr [ebp - 0x10]", "0x10021d22"], ["0x10021d3f", "lea eax, [ebp - 0x44]", "0x10021d25"], ["0x10021d42", "mov dword ptr [ebp - 0x28], ecx", "0x10021d28"]]}, {"orig": [], "recomp": [["0x10021d2b", "lea esi, [ecx + 0xd0]"]]}, {"both": [["0x10021d45", "lea ecx, [ebp - 0x28]", "0x10021d31"]]}, {"orig": [["0x10021d48", "mov esi, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x10021d4b", "push ecx", "0x10021d34"]]}, {"orig": [["0x10021d4c", "add esi, 0xd0"]], "recomp": []}, {"both": [["0x10021d52", "push eax", "0x10021d35"], ["0x10021d53", "mov ecx, esi", "0x10021d36"], ["0x10021d55", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::insert (FUNCTION)", "0x10021d38"], ["0x10021d5a", "mov ecx, dword ptr [ebp - 0x10]", "0x10021d3d"], ["0x10021d5d", "mov eax, dword ptr [ecx + 0xec]", "0x10021d40"], ["0x10021d63", "cmp eax, -1", "0x10021d46"], ["0x10021d66", "je 0x19", "0x10021d49"], ["0x10021d68", "push eax", "0x10021d4b"], ["0x10021d69", "call PlantManager (FUNCTION)", "0x10021d4c"], ["0x10021d6e", "mov ecx, eax", "0x10021d51"], ["0x10021d70", "call LegoPlantManager::Reset (FUNCTION)", "0x10021d53"], ["0x10021d75", "call BuildingManager (FUNCTION)", "0x10021d58"], ["0x10021d7a", "mov ecx, eax", "0x10021d5d"], ["0x10021d7c", "call LegoBuildingManager::Reset (FUNCTION)", "0x10021d5f"]]}, {"orig": [["0x10021d81", "lea ecx, [ebp - 0x3c]"]], "recomp": [["0x10021d64", "lea ecx, [ebp - 0x24]"]]}, {"both": [["0x10021d84", "xor ebx, ebx", "0x10021d67"], ["0x10021d86", "call MxCore::MxCore (FUNCTION)", "0x10021d69"], ["0x10021d8b", "mov dword ptr [ebp - 4], 4", "0x10021d6e"]]}, {"orig": [["0x10021d92", "mov dword ptr [ebp - 0x3c], MxListCursor<MxPresenter *>::`vftable' (VTABLE)"]], "recomp": [["0x10021d75", "mov dword ptr [ebp - 0x24], MxListCursor<MxPresenter *>::`vftable' (VTABLE)"]]}, {"both": [["0x10021d99", "mov dword ptr [ebp - 4], 5", "0x10021d7c"], ["0x10021da0", "mov dword ptr [ebp - 4], 6", "0x10021d83"], ["0x10021da7", "mov eax, dword ptr [ebp - 0x10]", "0x10021d8a"], ["0x10021daa", "mov dword ptr [ebp - 4], 7", "0x10021d8d"], ["0x10021db1", "add eax, 0xb8", "0x10021d94"]]}, {"orig": [["0x10021db6", "mov dword ptr [ebp - 0x34], eax"]], "recomp": [["0x10021d99", "mov dword ptr [ebp - 0x1c], eax"]]}, {"both": [["0x10021db9", "mov eax, 0xffffffff", "0x10021d9c"]]}, {"orig": [["0x10021dbe", "mov dword ptr [ebp - 0x30], ebx"], ["0x10021dc1", "mov dword ptr [ebp - 0x3c], MxPtrListCursor<MxPresenter>::`vftable' (VTABLE)"], ["0x10021dc8", "mov dword ptr [ebp - 0x3c], MxPresenterListCursor::`vftable' (VTABLE)"], ["0x10021dcf", "cmp dword ptr [ebp - 0x30], ebx"]], "recomp": [["0x10021da1", "mov dword ptr [ebp - 0x18], ebx"], ["0x10021da4", "mov dword ptr [ebp - 0x24], MxPtrListCursor<MxPresenter>::`vftable' (VTABLE)"], ["0x10021dab", "mov dword ptr [ebp - 0x24], MxPresenterListCursor::`vftable' (VTABLE)"], ["0x10021db2", "cmp dword ptr [ebp - 0x18], ebx"]]}, {"both": [["0x10021dd2", "jne 0x8", "0x10021db5"]]}, {"orig": [["0x10021dd4", "mov eax, dword ptr [ebp - 0x34]"]], "recomp": [["0x10021db7", "mov eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x10021dd7", "mov ecx, dword ptr [eax + 0x10]", "0x10021dba"], ["0x10021dda", "jmp 0x6", "0x10021dbd"]]}, {"orig": [["0x10021ddc", "mov eax, dword ptr [ebp - 0x30]"]], "recomp": [["0x10021dbf", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x10021ddf", "mov ecx, dword ptr [eax + 8]", "0x10021dc2"]]}, {"orig": [["0x10021de2", "mov dword ptr [ebp - 0x30], ecx"], ["0x10021de5", "cmp dword ptr [ebp - 0x30], ebx"]], "recomp": [["0x10021dc5", "mov dword ptr [ebp - 0x18], ecx"], ["0x10021dc8", "cmp dword ptr [ebp - 0x18], ebx"]]}, {"both": [["0x10021de8", "je 0x39", "0x10021dcb"]]}, {"orig": [["0x10021dea", "mov eax, dword ptr [ebp - 0x30]"]], "recomp": [["0x10021dcd", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x10021ded", "mov ecx, dword ptr [eax]", "0x10021dd0"], ["0x10021def", "mov dword ptr [ebp - 0x28], ecx", "0x10021dd2"]]}, {"orig": [["0x10021df2", "cmp dword ptr [ebp - 0x30], ebx"]], "recomp": [["0x10021dd5", "cmp dword ptr [ebp - 0x18], ebx"]]}, {"both": [["0x10021df5", "je 0x2c", "0x10021dd8"], ["0x10021df7", "mov ecx, dword ptr [ebp - 0x28]", "0x10021dda"], ["0x10021dfa", "call MxPresenter::IsEnabled (FUNCTION)", "0x10021ddd"], ["0x10021dff", "test al, al", "0x10021de2"], ["0x10021e01", "je -0x34", "0x10021de4"], ["0x10021e03", "mov eax, dword ptr [ebp - 0x28]", "0x10021de6"], ["0x10021e06", "lea ecx, [ebp - 0x4c]", "0x10021de9"], ["0x10021e09", "mov dword ptr [ebp - 0x40], eax", "0x10021dec"], ["0x10021e0c", "lea eax, [ebp - 0x40]", "0x10021def"], ["0x10021e0f", "push eax", "0x10021df2"], ["0x10021e10", "push ecx", "0x10021df3"], ["0x10021e11", "mov ecx, esi", "0x10021df4"], ["0x10021e13", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::insert (FUNCTION)", "0x10021df6"], ["0x10021e18", "push ebx", "0x10021dfb"], ["0x10021e19", "mov ecx, dword ptr [ebp - 0x28]", "0x10021dfc"], ["0x10021e1c", "mov edi, dword ptr [ecx]", "0x10021dff"], ["0x10021e1e", "call dword ptr [edi + 0x54]", "0x10021e01"], ["0x10021e21", "jmp -0x54", "0x10021e04"], ["0x10021e23", "mov ecx, dword ptr [ebp - 0x10]", "0x10021e06"]]}, {"orig": [["0x10021e26", "mov ecx, dword ptr [ecx + 0xac]"], ["0x10021e2c", "mov eax, dword ptr [ecx]"], ["0x10021e2e", "mov dword ptr [ebp - 0x14], eax"], ["0x10021e31", "cmp eax, ecx"]], "recomp": [["0x10021e09", "mov eax, dword ptr [ecx + 0xac]"], ["0x10021e0f", "mov edx, dword ptr [eax]"], ["0x10021e11", "mov dword ptr [ebp - 0x14], edx"], ["0x10021e14", "cmp eax, edx"]]}, {"both": [["0x10021e33", "je 0x6c", "0x10021e16"], ["0x10021e35", "mov eax, dword ptr [ebp - 0x14]", "0x10021e18"], ["0x10021e38", "push 'LegoActionControlPresenter' (STRING)", "0x10021e1b"], ["0x10021e3d", "mov ecx, dword ptr [eax + 0xc]", "0x10021e20"], ["0x10021e40", "mov ebx, dword ptr [ecx]", "0x10021e23"], ["0x10021e42", "call dword ptr [ebx + 0x10]", "0x10021e25"], ["0x10021e45", "test al, al", "0x10021e28"], ["0x10021e47", "jne 0x23", "0x10021e2a"], ["0x10021e49", "mov eax, dword ptr [ebp - 0x14]", "0x10021e2c"], ["0x10021e4c", "push 'MxPresenter' (STRING)", "0x10021e2f"]]}]], ["@@ -0x10021efe,49 +0x10021ee1,49 @@", [{"both": [["0x10021efe", "call InputManager (FUNCTION)", "0x10021ee1"], ["0x10021f03", "mov ecx, eax", "0x10021ee6"], ["0x10021f05", "call LegoInputManager::UnRegister (FUNCTION)", "0x10021ee8"], ["0x10021f0a", "call NavController (FUNCTION)", "0x10021eed"], ["0x10021f0f", "mov ecx, dword ptr [ebp - 0x10]", "0x10021ef2"], ["0x10021f12", "mov edx, dword ptr [ecx + 0x98]", "0x10021ef5"], ["0x10021f18", "cmp eax, dword ptr [edx + 0x30]", "0x10021efb"], ["0x10021f1b", "jne 0xf", "0x10021efe"], ["0x10021f1d", "call Lego (FUNCTION)", "0x10021f00"], ["0x10021f22", "mov dword ptr [eax + 0x84], 0", "0x10021f05"]]}, {"orig": [["0x10021f2c", "lea ecx, [ebp - 0x24]"]], "recomp": [["0x10021f0f", "lea ecx, [ebp - 0x3c]"]]}, {"both": [["0x10021f2f", "xor edi, edi", "0x10021f12"], ["0x10021f31", "call MxCore::MxCore (FUNCTION)", "0x10021f14"], ["0x10021f36", "mov byte ptr [ebp - 4], 8", "0x10021f19"]]}, {"orig": [["0x10021f3a", "mov dword ptr [ebp - 0x24], MxListCursor<LegoPathController *>::`vftable' (VTABLE)"]], "recomp": [["0x10021f1d", "mov dword ptr [ebp - 0x3c], MxListCursor<LegoPathController *>::`vftable' (VTABLE)"]]}, {"both": [["0x10021f41", "mov byte ptr [ebp - 4], 9", "0x10021f24"], ["0x10021f45", "mov byte ptr [ebp - 4], 0xa", "0x10021f28"], ["0x10021f49", "mov eax, dword ptr [ebp - 0x10]", "0x10021f2c"], ["0x10021f4c", "mov byte ptr [ebp - 4], 0xb", "0x10021f2f"], ["0x10021f50", "add eax, 0x68", "0x10021f33"]]}, {"orig": [["0x10021f53", "mov dword ptr [ebp - 0x1c], eax"]], "recomp": [["0x10021f36", "mov dword ptr [ebp - 0x34], eax"]]}, {"both": [["0x10021f56", "mov eax, 7", "0x10021f39"]]}, {"orig": [["0x10021f5b", "mov dword ptr [ebp - 0x18], edi"], ["0x10021f5e", "mov dword ptr [ebp - 0x24], MxPtrListCursor<LegoPathController>::`vftable' (VTABLE)"], ["0x10021f65", "mov dword ptr [ebp - 0x24], LegoPathControllerListCursor::`vftable' (VTABLE)"], ["0x10021f6c", "cmp dword ptr [ebp - 0x18], edi"]], "recomp": [["0x10021f3e", "mov dword ptr [ebp - 0x30], edi"], ["0x10021f41", "mov dword ptr [ebp - 0x3c], MxPtrListCursor<LegoPathController>::`vftable' (VTABLE)"], ["0x10021f48", "mov dword ptr [ebp - 0x3c], LegoPathControllerListCursor::`vftable' (VTABLE)"], ["0x10021f4f", "cmp dword ptr [ebp - 0x30], edi"]]}, {"both": [["0x10021f6f", "jne 0x8", "0x10021f52"]]}, {"orig": [["0x10021f71", "mov eax, dword ptr [ebp - 0x1c]"]], "recomp": [["0x10021f54", "mov eax, dword ptr [ebp - 0x34]"]]}, {"both": [["0x10021f74", "mov ecx, dword ptr [eax + 0x10]", "0x10021f57"], ["0x10021f77", "jmp 0x6", "0x10021f5a"]]}, {"orig": [["0x10021f79", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x10021f5c", "mov eax, dword ptr [ebp - 0x30]"]]}, {"both": [["0x10021f7c", "mov ecx, dword ptr [eax + 8]", "0x10021f5f"]]}, {"orig": [["0x10021f7f", "mov dword ptr [ebp - 0x18], ecx"], ["0x10021f82", "cmp dword ptr [ebp - 0x18], edi"]], "recomp": [["0x10021f62", "mov dword ptr [ebp - 0x30], ecx"], ["0x10021f65", "cmp dword ptr [ebp - 0x30], edi"]]}, {"both": [["0x10021f85", "je 0x2d", "0x10021f68"]]}, {"orig": [["0x10021f87", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x10021f6a", "mov eax, dword ptr [ebp - 0x30]"], ["0x10021f6d", "cmp dword ptr [ebp - 0x30], edi"]]}, {"both": [["0x10021f8a", "mov ecx, dword ptr [eax]", "0x10021f70"], ["0x10021f8c", "mov dword ptr [ebp - 0x10], ecx", "0x10021f72"]]}, {"orig": [["0x10021f8f", "cmp dword ptr [ebp - 0x18], edi"]], "recomp": []}, {"both": [["0x10021f92", "je 0x20", "0x10021f75"], ["0x10021f94", "push edi", "0x10021f77"], ["0x10021f95", "mov ecx, dword ptr [ebp - 0x10]", "0x10021f78"], ["0x10021f98", "call LegoPathController::Enable (FUNCTION)", "0x10021f7b"], ["0x10021f9d", "mov eax, dword ptr [ebp - 0x10]", "0x10021f80"], ["0x10021fa0", "lea ecx, [ebp - 0x44]", "0x10021f83"], ["0x10021fa3", "mov dword ptr [ebp - 0x28], eax", "0x10021f86"], ["0x10021fa6", "lea eax, [ebp - 0x28]", "0x10021f89"], ["0x10021fa9", "push eax", "0x10021f8c"], ["0x10021faa", "push ecx", "0x10021f8d"]]}]], ["@@ -0x10021fad,26 +0x10021f90,29 @@", [{"both": [["0x10021fad", "call _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::insert (FUNCTION)", "0x10021f90"], ["0x10021fb2", "jmp -0x48", "0x10021f95"], ["0x10021fb4", "push 0", "0x10021f97"], ["0x10021fb6", "call GetViewManager (FUNCTION)", "0x10021f99"], ["0x10021fbb", "mov ecx, eax", "0x10021f9e"], ["0x10021fbd", "call ViewManager::RemoveAll (FUNCTION)", "0x10021fa0"], ["0x10021fc2", "mov byte ptr [ebp - 4], 7", "0x10021fa5"], ["0x10021fc6", "call <OFFSET51>", "0x10021fa9"], ["0x10021fcb", "mov dword ptr [ebp - 4], 0xffffffff", "0x10021fae"], ["0x10021fd2", "call <OFFSET52>", "0x10021fb5"]]}, {"orig": [["0x10021fd7", "jmp -0x2e2"]], "recomp": [["0x10021fba", "jmp -0x2df"], ["0x10021fbf", "lea ecx, [ebp - 0x3c]"], ["0x10021fc2", "jmp MxCore::~MxCore (FUNCTION)"], ["0x10021fc7", "lea ecx, [ebp - 0x3c]"], ["0x10021fca", "jmp MxListCursor<LegoPathController *>::~MxListCursor<LegoPathController *> (FUNCTION)"], ["0x10021fcf", "lea ecx, [ebp - 0x3c]"], ["0x10021fd2", "jmp MxPtrListCursor<LegoPathController>::~MxPtrListCursor<LegoPathController> (FUNCTION)"], ["0x10021fd7", "lea ecx, [ebp - 0x3c]"], ["0x10021fda", "jmp LegoPathControllerListCursor::~LegoPathControllerListCursor (FUNCTION)"]]}, {"both": [["0x10021fdc", "lea ecx, [ebp - 0x24]", "0x10021fdf"], ["0x10021fdf", "jmp MxCore::~MxCore (FUNCTION)", "0x10021fe2"], ["0x10021fe4", "lea ecx, [ebp - 0x24]", "0x10021fe7"]]}, {"orig": [["0x10021fe7", "jmp MxListCursor<LegoPathController *>::~MxListCursor<LegoPathController *> (FUNCTION)"]], "recomp": [["0x10021fea", "jmp MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *> (FUNCTION)"]]}, {"both": [["0x10021fec", "lea ecx, [ebp - 0x24]", "0x10021fef"]]}, {"orig": [["0x10021fef", "jmp MxPtrListCursor<LegoPathController>::~MxPtrListCursor<LegoPathController> (FUNCTION)"], ["0x10021ff4", "lea ecx, [ebp - 0x24]"], ["0x10021ff7", "jmp LegoPathControllerListCursor::~LegoPathControllerListCursor (FUNCTION)"], ["0x10021ffc", "lea ecx, [ebp - 0x3c]"], ["0x10021fff", "jmp MxCore::~MxCore (FUNCTION)"], ["0x10022004", "lea ecx, [ebp - 0x3c]"], ["0x10022007", "jmp MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *> (FUNCTION)"], ["0x1002200c", "lea ecx, [ebp - 0x3c]"]], "recomp": []}, {"both": [["0x1002200f", "jmp MxPtrListCursor<MxPresenter>::~MxPtrListCursor<MxPresenter> (FUNCTION)", "0x10021ff2"], ["0x10022014", "mov eax, <OFFSET53>", "0x10021ff7"]]}, {"orig": [], "recomp": [["0x10021ffc", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x10022001", "lea ecx, [ebp - 0x24]"], ["0x10022004", "jmp MxPresenterListCursor::~MxPresenterListCursor (FUNCTION)"]]}]]]}, {"address": "0x10022030", "recomp": "0x10022010", "name": "list<ROI *,allocator<ROI *> >::insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x10022030,28 +0x10022010,28 @@", [{"both": [["0x10022030", "push ebx", "0x10022010"], ["0x10022031", "push esi", "0x10022011"], ["0x10022032", "push edi", "0x10022012"], ["0x10022033", "mov esi, ecx", "0x10022013"]]}, {"orig": [["0x10022035", "mov ebx, dword ptr [esp + 0x14]"]], "recomp": [["0x10022015", "mov edi, dword ptr [esp + 0x14]"]]}, {"both": [["0x10022039", "push 0xc", "0x10022019"]]}, {"orig": [["0x1002203b", "mov edi, dword ptr [ebx + 4]"]], "recomp": [["0x1002201b", "mov ebx, dword ptr [edi + 4]"]]}, {"both": [["0x1002203e", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002201e"], ["0x10022043", "add esp, 4", "0x10022023"]]}, {"orig": [["0x10022046", "test edi, edi"]], "recomp": [["0x10022026", "test ebx, ebx"]]}, {"both": [["0x10022048", "je 0x7", "0x10022028"]]}, {"orig": [["0x1002204a", "mov dword ptr [eax], ebx"], ["0x1002204c", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x1002202a", "mov dword ptr [eax], edi"], ["0x1002202c", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x1002204f", "jmp 0x5", "0x1002202f"], ["0x10022051", "mov dword ptr [eax], eax", "0x10022031"], ["0x10022053", "mov dword ptr [eax + 4], eax", "0x10022033"], ["0x10022056", "lea edx, [eax + 8]", "0x10022036"]]}, {"orig": [["0x10022059", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x10022039", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1002205c", "mov ecx, dword ptr [eax + 4]", "0x1002203c"], ["0x1002205f", "test edx, edx", "0x1002203f"], ["0x10022061", "mov dword ptr [ecx], eax", "0x10022041"], ["0x10022063", "je 0x8", "0x10022043"], ["0x10022065", "mov ecx, dword ptr [esp + 0x18]", "0x10022045"], ["0x10022069", "mov ebx, dword ptr [ecx]", "0x10022049"], ["0x1002206b", "mov dword ptr [edx], ebx", "0x1002204b"], ["0x1002206d", "mov ecx, dword ptr [esp + 0x10]", "0x1002204d"], ["0x10022071", "inc dword ptr [esi + 8]", "0x10022051"], ["0x10022074", "pop edi", "0x10022054"]]}]]]}, {"address": "0x10022080", "recomp": "0x10022060", "name": "LegoWorld::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100220e0", "recomp": "0x100220c0", "name": "LegoWorld::PresentersPending", "matching": 1.0, "diff": []}, {"address": "0x10022340", "recomp": "0x10022320", "name": "LegoWorld::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x10022360", "recomp": "0x1004b600", "name": "_Construct", "matching": 1.0, "diff": []}, {"address": "0x10022380", "recomp": "0x10022340", "name": "MxList<MxPresenter *>::InsertEntry", "matching": 1.0, "diff": []}, {"address": "0x10022430", "recomp": "0x10022410", "name": "MxList<LegoEntity *>::InsertEntry", "matching": 1.0, "diff": []}, {"address": "0x100224e0", "recomp": "0x100224c0", "name": "MxList<LegoCacheSound *>::InsertEntry", "matching": 1.0, "diff": []}, {"address": "0x10022590", "recomp": "0x10022570", "name": "MxListCursor<LegoCacheSound *>::Find", "matching": 1.0, "diff": []}, {"address": "0x100225e0", "recomp": "0x100225c0", "name": "MxList<MxPresenter *>::DeleteEntry", "matching": 1.0, "diff": []}, {"address": "0x10022630", "recomp": "0x10022610", "name": "MxList<LegoEntity *>::DeleteEntry", "matching": 1.0, "diff": []}, {"address": "0x10022680", "recomp": "0x10022660", "name": "MxList<LegoCacheSound *>::DeleteEntry", "matching": 1.0, "diff": []}, {"address": "0x100226d0", "recomp": "0x100226b0", "name": "LegoCarBuild::LegoCarBuild", "matching": 1.0, "effective": true, "diff": [["@@ -0x100227cb,23 +0x100227ab,23 @@", [{"both": [["0x100227cb", "mov dword ptr [edi], Mx4DPointFloat::`vftable' (VTABLE)", "0x100227ab"], ["0x100227d1", "lea ecx, [esi + 0x2c4]", "0x100227b1"], ["0x100227d7", "mov dword ptr [esi + 0x28c], ebx", "0x100227b7"], ["0x100227dd", "mov dword ptr [esi + 0x2a8], eax", "0x100227bd"], ["0x100227e3", "mov dword ptr [esi + 0x2c0], ecx", "0x100227c3"], ["0x100227e9", "mov dword ptr [esi + 0x2a4], Vector2::`vftable' (VTABLE)", "0x100227c9"], ["0x100227f3", "mov dword ptr [esi + 0x2a4], Mx4DPointFloat::`vftable' (VTABLE)", "0x100227d3"], ["0x100227fd", "mov dword ptr [esi + 0x2bc], Vector2::`vftable' (VTABLE)", "0x100227dd"], ["0x10022807", "mov dword ptr [esi + 0x2bc], Mx4DPointFloat::`vftable' (VTABLE)", "0x100227e7"], ["0x10022811", "mov dword ptr [esi], LegoCarBuild::`vftable' (VTABLE)", "0x100227f1"]]}, {"orig": [], "recomp": [["0x100227f7", "mov dword ptr [esi + 0x100], ebx"], ["0x100227fd", "mov edi, 0xffffffff"]]}, {"both": [["0x10022817", "mov dword ptr [esi + 0x110], ebx", "0x10022802"]]}, {"orig": [["0x1002281d", "mov edi, 0xffffffff"], ["0x10022822", "mov dword ptr [esi + 0x100], ebx"]], "recomp": []}, {"both": [["0x10022828", "mov dword ptr [esi + 0xf8], edi", "0x10022808"], ["0x1002282e", "mov byte ptr [esi + 0x2d4], bl", "0x1002280e"], ["0x10022834", "mov dword ptr [esi + 0x258], ebx", "0x10022814"], ["0x1002283a", "mov dword ptr [esi + 0x2d8], ebx", "0x1002281a"], ["0x10022840", "mov dword ptr [esi + 0x2dc], ebx", "0x10022820"], ["0x10022846", "mov dword ptr [esi + 0x2e0], ebx", "0x10022826"], ["0x1002284c", "mov dword ptr [esi + 0x2e4], ebx", "0x1002282c"], ["0x10022852", "mov dword ptr [esi + 0x2e8], ebx", "0x10022832"], ["0x10022858", "mov dword ptr [esi + 0x2ec], ebx", "0x10022838"], ["0x1002285e", "mov dword ptr [esi + 0x2f0], ebx", "0x1002283e"]]}]]]}, {"address": "0x10022930", "recomp": "0x10022910", "name": "LegoCarBuild::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10022940", "recomp": "0x10022920", "name": "LegoCarBuild::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10022950", "recomp": "0x10022930", "name": "LegoCarBuild::IsA", "matching": 1.0, "diff": []}, {"address": "0x10022a60", "recomp": "0x10022a40", "name": "LegoCarBuild::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10022a80", "recomp": "0x10022a60", "name": "LegoCarBuild::~LegoCarBuild", "matching": 1.0, "diff": []}, {"address": "0x10022b70", "recomp": "0x10022b50", "name": "LegoCarBuild::Create", "matching": 0.9142857142857143, "diff": [["@@ -0x10022b70,19 +0x10022b50,19 @@", [{"both": [["0x10022b70", "mov eax, dword ptr [esp + 4]", "0x10022b50"], ["0x10022b74", "push ebx", "0x10022b54"], ["0x10022b75", "push esi", "0x10022b55"], ["0x10022b76", "push edi", "0x10022b56"], ["0x10022b77", "mov esi, ecx", "0x10022b57"], ["0x10022b79", "push eax", "0x10022b59"], ["0x10022b7a", "call LegoWorld::Create (FUNCTION)", "0x10022b5a"], ["0x10022b7f", "test eax, eax", "0x10022b5f"]]}, {"orig": [["0x10022b81", "jne 0x13f"]], "recomp": [["0x10022b61", "jne 0x13b"]]}, {"both": [["0x10022b87", "push esi", "0x10022b67"], ["0x10022b88", "call InputManager (FUNCTION)", "0x10022b68"], ["0x10022b8d", "mov ecx, eax", "0x10022b6d"], ["0x10022b8f", "call LegoInputManager::SetWorld (FUNCTION)", "0x10022b6f"], ["0x10022b94", "push esi", "0x10022b74"], ["0x10022b95", "call ControlManager (FUNCTION)", "0x10022b75"], ["0x10022b9a", "mov ecx, eax", "0x10022b7a"], ["0x10022b9c", "call LegoControlManager::Register (FUNCTION)", "0x10022b7c"], ["0x10022ba1", "push 0", "0x10022b81"], ["0x10022ba3", "call SetIsWorldActive (FUNCTION)", "0x10022b83"]]}]], ["@@ -0x10022c5f,29 +0x10022c3f,32 @@", [{"both": [["0x10022c5f", "call GameState (FUNCTION)", "0x10022c3f"], ["0x10022c64", "mov ecx, eax", "0x10022c44"], ["0x10022c66", "mov ebx, eax", "0x10022c46"], ["0x10022c68", "push edi", "0x10022c48"], ["0x10022c69", "call LegoGameState::GetState (FUNCTION)", "0x10022c49"], ["0x10022c6e", "test eax, eax", "0x10022c4e"], ["0x10022c70", "jne 0x8", "0x10022c50"], ["0x10022c72", "push edi", "0x10022c52"], ["0x10022c73", "mov ecx, ebx", "0x10022c53"], ["0x10022c75", "call LegoGameState::CreateState (FUNCTION)", "0x10022c55"]]}, {"orig": [["0x10022c7a", "push 0"]], "recomp": [["0x10022c5a", "xor edi, edi"]]}, {"both": [["0x10022c7c", "mov dword ptr [esi + 0x32c], eax", "0x10022c5c"], ["0x10022c82", "mov al, byte ptr [eax + 0x4d]", "0x10022c62"]]}, {"orig": [], "recomp": [["0x10022c65", "push edi"]]}, {"both": [["0x10022c85", "mov byte ptr [esi + 0x174], al", "0x10022c66"], ["0x10022c8b", "call GameState (FUNCTION)", "0x10022c6c"], ["0x10022c90", "mov ecx, eax", "0x10022c71"], ["0x10022c92", "call LegoGameState::StopArea (FUNCTION)", "0x10022c73"]]}, {"orig": [["0x10022c97", "mov eax, dword ptr [esi + 0x32c]"], ["0x10022c9d", "mov dword ptr [eax + 0x48], 1"], ["0x10022ca4", "mov dword ptr [esi + 0x100], 0"]], "recomp": [["0x10022c78", "mov ecx, dword ptr [esi + 0x32c]"], ["0x10022c7e", "mov dword ptr [ecx + 0x48], 1"], ["0x10022c85", "mov dword ptr [esi + 0x100], edi"]]}, {"both": [["0x10022cae", "call BackgroundAudioManager (FUNCTION)", "0x10022c8b"], ["0x10022cb3", "mov ecx, eax", "0x10022c90"], ["0x10022cb5", "call MxBackgroundAudioManager::Stop (FUNCTION)", "0x10022c92"]]}, {"orig": [["0x10022cba", "push 0"]], "recomp": [["0x10022c97", "push edi"]]}, {"both": [["0x10022cbc", "call EnableAnimations (FUNCTION)", "0x10022c98"], ["0x10022cc1", "add esp, 4", "0x10022c9d"], ["0x10022cc4", "xor eax, eax", "0x10022ca0"], ["0x10022cc6", "pop edi", "0x10022ca2"], ["0x10022cc7", "pop esi", "0x10022ca3"]]}, {"orig": [], "recomp": [["0x10022ca4", "pop ebx"], ["0x10022ca5", "ret 4"]]}]]]}, {"address": "0x10022cd0", "recomp": "0x10022cb0", "name": "LegoCarBuild::GetPlacedPartCount", "matching": 1.0, "diff": []}, {"address": "0x10022cf0", "recomp": "0x10022cd0", "name": "LegoCarBuild::SetPlacedPartCount", "matching": 1.0, "diff": []}, {"address": "0x10022d10", "recomp": "0x10022cf0", "name": "LegoCarBuild::InitPresenters", "matching": 1.0, "diff": []}, {"address": "0x10022f00", "recomp": "0x10022ee0", "name": "LegoCarBuild::FUN_10022f00", "matching": 1.0, "diff": []}, {"address": "0x10022f30", "recomp": "0x10022f10", "name": "LegoCarBuild::FUN_10022f30", "matching": 1.0, "diff": []}, {"address": "0x10022fc0", "recomp": "0x10022fa0", "name": "LegoCarBuild::VTable0x6c", "matching": 1.0, "diff": []}, {"address": "0x10023020", "recomp": "0x10023000", "name": "LegoCarBuild::VTable0x70", "matching": 0.863013698630137, "diff": [["@@ -0x1002309d,33 +0x1002307d,35 @@", [{"both": [["0x1002309d", "call TransformWorldToScreen (FUNCTION)", "0x1002307d"], ["0x100230a2", "fld dword ptr [esp + 0x1c]", "0x10023082"], ["0x100230a6", "fdiv dword ptr [esp + 0x28]", "0x10023086"], ["0x100230aa", "add esp, 8", "0x1002308a"], ["0x100230ad", "call __ftol (FUNCTION)", "0x1002308d"], ["0x100230b2", "fld dword ptr [esp + 0x18]", "0x10023092"], ["0x100230b6", "fdiv dword ptr [esp + 0x20]", "0x10023096"], ["0x100230ba", "mov edi, eax", "0x1002309a"], ["0x100230bc", "mov dword ptr [esi + 0x298], edi", "0x1002309c"], ["0x100230c2", "call __ftol (FUNCTION)", "0x100230a2"]]}, {"orig": [["0x100230c7", "sub edi, dword ptr [esi + 0x290]"]], "recomp": [["0x100230a7", "mov ecx, dword ptr [esi + 0x294]"]]}, {"both": [["0x100230cd", "mov dword ptr [esi + 0x29c], eax", "0x100230ad"]]}, {"orig": [["0x100230d3", "imul edi, edi"], ["0x100230d6", "sub eax, dword ptr [esi + 0x294]"]], "recomp": [["0x100230b3", "sub ecx, eax"], ["0x100230b5", "mov eax, dword ptr [esi + 0x290]"], ["0x100230bb", "sub eax, edi"], ["0x100230bd", "imul ecx, ecx"], ["0x100230c0", "imul eax, eax"], ["0x100230c3", "add ecx, eax"], ["0x100230c5", "lea eax, [esi + 0x25c]"], ["0x100230cb", "mov dword ptr [esp + 0x24], ecx"]]}, {"both": [["0x100230dc", "lea ecx, [esi + 0x178]", "0x100230cf"]]}, {"orig": [["0x100230e2", "imul eax, eax"], ["0x100230e5", "add edi, eax"], ["0x100230e7", "lea eax, [esi + 0x25c]"], ["0x100230ed", "mov dword ptr [esp + 0x24], edi"], ["0x100230f1", "push eax"], ["0x100230f2", "fild dword ptr [esp + 0x28]"]], "recomp": [["0x100230d5", "fild dword ptr [esp + 0x24]"]]}, {"both": [["0x100230f6", "fsqrt ", "0x100230d9"], ["0x100230f8", "fstp dword ptr [esi + 0x2a0]", "0x100230db"]]}, {"orig": [], "recomp": [["0x100230e1", "push eax"]]}, {"both": [["0x100230fe", "mov edi, dword ptr [ecx]", "0x100230e2"], ["0x10023100", "call dword ptr [edi + 0x40]", "0x100230e4"], ["0x10023103", "lea ecx, [esi + 0x208]", "0x100230e7"], ["0x10023109", "lea eax, [esi + 0x274]", "0x100230ed"], ["0x1002310f", "or dword ptr [esi + 0x28c], 1", "0x100230f3"], ["0x10023116", "push eax", "0x100230fa"], ["0x10023117", "mov edi, dword ptr [ecx]", "0x100230fb"], ["0x10023119", "call dword ptr [edi + 0x40]", "0x100230fd"], ["0x1002311c", "or dword ptr [esi + 0x28c], 2", "0x10023100"], ["0x10023123", "pop edi", "0x10023107"]]}]]]}, {"address": "0x10023130", "recomp": "0x10023110", "name": "LegoCarBuild::FUN_10023130", "matching": 0.9070631970260223, "diff": [["@@ -0x10023178,36 +0x10023158,36 @@", [{"both": [["0x10023178", "fild dword ptr [esp + 0x54]", "0x10023158"], ["0x1002317c", "fstp dword ptr [esp + 0x3c]", "0x1002315c"], ["0x10023180", "mov eax, dword ptr [esp + 0x3c]", "0x10023160"], ["0x10023184", "lea edx, [esp + 0xa8]", "0x10023164"], ["0x1002318b", "mov dword ptr [esp + 0x4c], eax", "0x1002316b"], ["0x1002318f", "push edx", "0x1002316f"], ["0x10023190", "lea eax, [esp + 0xa0]", "0x10023170"], ["0x10023197", "mov dword ptr [esp + 0x58], ebx", "0x10023177"], ["0x1002319b", "fild dword ptr [esp + 0x58]", "0x1002317b"], ["0x1002319f", "push eax", "0x1002317f"]]}, {"orig": [["0x100231a0", "fstp dword ptr [esp + 0x20]"], ["0x100231a4", "mov ecx, dword ptr [esp + 0x20]"]], "recomp": [["0x10023180", "fstp dword ptr [esp + 0x5c]"], ["0x10023184", "mov ecx, dword ptr [esp + 0x5c]"]]}, {"both": [["0x100231a8", "mov dword ptr [esp + 0x58], ecx", "0x10023188"], ["0x100231ac", "lea ecx, [esp + 0x54]", "0x1002318c"], ["0x100231b0", "push ecx", "0x10023190"], ["0x100231b1", "call FUN_1003ded0 (FUNCTION)", "0x10023191"], ["0x100231b6", "add esp, 0xc", "0x10023196"], ["0x100231b9", "test al, al", "0x10023199"], ["0x100231bb", "je 0x329", "0x1002319b"], ["0x100231c1", "mov eax, dword ptr [esp + 0x3c]", "0x100231a1"]]}, {"orig": [["0x100231c5", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x100231a5", "mov dword ptr [esp + 0x28], ebp"], ["0x100231a9", "lea edx, [esp + 0x5c]"]]}, {"both": [["0x100231c9", "mov dword ptr [esp + 0x34], eax", "0x100231ad"]]}, {"orig": [], "recomp": [["0x100231b1", "mov ecx, dword ptr [esp + 0x54]"], ["0x100231b5", "mov eax, dword ptr [esi + 0x294]"]]}, {"both": [["0x100231cd", "mov dword ptr [esp + 0x38], ecx", "0x100231bb"]]}, {"orig": [["0x100231d1", "lea edx, [esp + 0x5c]"], ["0x100231d5", "mov eax, dword ptr [esi + 0x294]"], ["0x100231db", "mov dword ptr [esp + 0x28], ebp"]], "recomp": []}, {"both": [["0x100231df", "mov dword ptr [esp + 0x2c], ebp", "0x100231bf"], ["0x100231e3", "mov dword ptr [esp + 0x30], ebp", "0x100231c3"], ["0x100231e7", "cmp ebx, eax", "0x100231c7"], ["0x100231e9", "mov dword ptr [esp + 0x58], edx", "0x100231c9"], ["0x100231ed", "mov dword ptr [esp + 0x54], MxMatrix::`vftable' (VTABLE)", "0x100231cd"], ["0x100231f5", "jge 0x13", "0x100231d5"], ["0x100231f7", "lea eax, [esp + 0x28]", "0x100231d7"], ["0x100231fb", "lea ecx, [esp + 0x34]", "0x100231db"], ["0x100231ff", "push eax", "0x100231df"], ["0x10023200", "mov ebp, dword ptr [esi]", "0x100231e0"]]}]], ["@@ -0x1002324e,106 +0x1002322e,106 @@", [{"both": [["0x1002324e", "lea eax, [esp + 0x3c]", "0x1002322e"], ["0x10023252", "mov dword ptr [esp + 0x3c], ebx", "0x10023232"], ["0x10023256", "mov dword ptr [esp + 0x14], eax", "0x10023236"], ["0x1002325a", "fild dword ptr [esp + 0x3c]", "0x1002323a"], ["0x1002325e", "mov dword ptr [esp + 0x10], Vector4::`vftable' (VTABLE)", "0x1002323e"], ["0x10023266", "mov eax, dword ptr [esi + 0x28c]", "0x10023246"], ["0x1002326c", "fsqrt ", "0x1002324c"], ["0x1002326e", "cmp eax, 1", "0x1002324e"], ["0x10023271", "fdiv dword ptr [esi + 0x2a0]", "0x10023251"], ["0x10023277", "jne 0x4c", "0x10023257"]]}, {"orig": [["0x10023279", "fstp dword ptr [esp + 0x20]"]], "recomp": [["0x10023259", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x1002327d", "mov eax, dword ptr [esi + 0x260]", "0x1002325d"], ["0x10023283", "lea ecx, [esp + 0x10]", "0x10023263"], ["0x10023287", "push eax", "0x10023267"], ["0x10023288", "call dword ptr [->Vector4::EqualsImpl (FUNCTION)]", "0x10023268"]]}, {"orig": [["0x1002328e", "fld dword ptr [esp + 0x20]"]], "recomp": [["0x1002326e", "fld dword ptr [esp + 0x18]"]]}, {"both": [["0x10023292", "mov edi, dword ptr [esp + 0x14]", "0x10023272"], ["0x10023296", "add edi, 0xc", "0x10023276"], ["0x10023299", "fld dword ptr [edi]", "0x10023279"], ["0x1002329b", "call __CIacos (FUNCTION)", "0x1002327b"], ["0x100232a0", "fld qword ptr [1.0 (FLOAT)]", "0x10023280"], ["0x100232a6", "fsubrp st(2)", "0x10023286"], ["0x100232a8", "fmulp st(1)", "0x10023288"], ["0x100232aa", "fmul qword ptr [2.0 (FLOAT)]", "0x1002328a"], ["0x100232b0", "fstp dword ptr [edi]", "0x10023290"], ["0x100232b2", "mov eax, dword ptr [esp + 0x10]", "0x10023292"], ["0x100232b6", "lea ecx, [esp + 0x10]", "0x10023296"], ["0x100232ba", "call dword ptr [eax + 0x90]", "0x1002329a"], ["0x100232c0", "jmp 0x1ba", "0x100232a0"]]}, {"orig": [["0x100232c5", "fstp dword ptr [esp + 0x20]"]], "recomp": [["0x100232a5", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x100232c9", "cmp eax, 2", "0x100232a9"], ["0x100232cc", "jne 0x3f", "0x100232ac"], ["0x100232ce", "lea eax, [esi + 0x274]", "0x100232ae"], ["0x100232d4", "lea ecx, [esp + 0x10]", "0x100232b4"], ["0x100232d8", "push eax", "0x100232b8"], ["0x100232d9", "call Vector3::operator= (FUNCTION)", "0x100232b9"]]}, {"orig": [["0x100232de", "fld dword ptr [esp + 0x20]"]], "recomp": [["0x100232be", "fld dword ptr [esp + 0x18]"]]}, {"both": [["0x100232e2", "mov edi, dword ptr [esp + 0x14]", "0x100232c2"], ["0x100232e6", "add edi, 0xc", "0x100232c6"], ["0x100232e9", "fld dword ptr [edi]", "0x100232c9"], ["0x100232eb", "call __CIacos (FUNCTION)", "0x100232cb"], ["0x100232f0", "fmulp st(1)", "0x100232d0"], ["0x100232f2", "fmul qword ptr [2.0 (FLOAT)]", "0x100232d2"], ["0x100232f8", "fstp dword ptr [edi]", "0x100232d8"], ["0x100232fa", "mov eax, dword ptr [esp + 0x10]", "0x100232da"], ["0x100232fe", "lea ecx, [esp + 0x10]", "0x100232de"], ["0x10023302", "call dword ptr [eax + 0x90]", "0x100232e2"], ["0x10023308", "jmp 0x172", "0x100232e8"], ["0x1002330d", "cmp eax, 3", "0x100232ed"], ["0x10023310", "jne 0x164", "0x100232f0"], ["0x10023316", "lea eax, [esi + 0x274]", "0x100232f6"], ["0x1002331c", "lea ecx, [esi + 0x25c]", "0x100232fc"], ["0x10023322", "push eax", "0x10023302"], ["0x10023323", "push ecx", "0x10023303"], ["0x10023324", "lea ecx, [esp + 0x18]", "0x10023304"], ["0x10023328", "call dword ptr [->Vector2::Dot (FUNCTION)]", "0x10023308"]]}, {"orig": [["0x1002332e", "fst qword ptr [esp + 0x18]"]], "recomp": [["0x1002330e", "fst qword ptr [esp + 0x20]"]]}, {"both": [["0x10023332", "fadd qword ptr [1.0 (FLOAT)]", "0x10023312"], ["0x10023338", "fcomp qword ptr [1e-05 (FLOAT)]", "0x10023318"], ["0x1002333e", "fnstsw ax", "0x1002331e"], ["0x10023340", "test ah, 0x41", "0x10023320"], ["0x10023343", "jne 0x9b", "0x10023323"], ["0x10023349", "fld qword ptr [1.0 (FLOAT)]", "0x10023329"]]}, {"orig": [["0x1002334f", "fsub qword ptr [esp + 0x18]"]], "recomp": [["0x1002332f", "fsub qword ptr [esp + 0x20]"]]}, {"both": [["0x10023353", "fcomp qword ptr [1e-05 (FLOAT)]", "0x10023333"], ["0x10023359", "fnstsw ax", "0x10023339"], ["0x1002335b", "test ah, 0x41", "0x1002333b"], ["0x1002335e", "jne 0x33", "0x1002333e"]]}, {"orig": [["0x10023360", "fld qword ptr [esp + 0x18]"]], "recomp": [["0x10023340", "fld qword ptr [esp + 0x20]"]]}, {"both": [["0x10023364", "call __CIacos (FUNCTION)", "0x10023344"], ["0x10023369", "fld st(0)", "0x10023349"], ["0x1002336b", "fsin ", "0x1002334b"]]}, {"orig": [["0x1002336d", "fld dword ptr [esp + 0x20]"]], "recomp": [["0x1002334d", "fld dword ptr [esp + 0x18]"]]}, {"both": [["0x10023371", "fld qword ptr [1.0 (FLOAT)]", "0x10023351"], ["0x10023377", "fsub st(1)", "0x10023357"], ["0x10023379", "fmul st(3)", "0x10023359"], ["0x1002337b", "fsin ", "0x1002335b"], ["0x1002337d", "fdiv st(2)", "0x1002335d"]]}, {"orig": [["0x1002337f", "fstp qword ptr [esp + 0x18]"]], "recomp": [["0x1002335f", "fstp qword ptr [esp + 0x20]"]]}, {"both": [["0x10023383", "fmul st(2), st(0)", "0x10023363"], ["0x10023385", "fxch st(2)", "0x10023365"], ["0x10023387", "fsin ", "0x10023367"], ["0x10023389", "fdivrp st(1)", "0x10023369"]]}, {"orig": [["0x1002338b", "fstp qword ptr [esp + 0x20]"]], "recomp": [["0x1002336b", "fstp qword ptr [esp + 0x18]"]]}, {"both": [["0x1002338f", "fstp st(0)", "0x1002336f"], ["0x10023391", "jmp 0x14", "0x10023371"]]}, {"orig": [["0x10023393", "fld dword ptr [esp + 0x20]"]], "recomp": [["0x10023373", "fld dword ptr [esp + 0x18]"]]}, {"both": [["0x10023397", "fld qword ptr [1.0 (FLOAT)]", "0x10023377"], ["0x1002339d", "fsub st(1)", "0x1002337d"]]}, {"orig": [], "recomp": [["0x1002337f", "fstp qword ptr [esp + 0x20]"]]}, {"both": [["0x1002339f", "fstp qword ptr [esp + 0x18]", "0x10023383"]]}, {"orig": [["0x100233a3", "fstp qword ptr [esp + 0x20]"]], "recomp": []}, {"both": [["0x100233a7", "xor ecx, ecx", "0x10023387"], ["0x100233a9", "jmp 0x4", "0x10023389"], ["0x100233ab", "fstp dword ptr [ebx + ecx - 4]", "0x1002338b"]]}, {"orig": [["0x100233af", "mov eax, dword ptr [esi + 0x278]"], ["0x100233b5", "mov edx, dword ptr [esi + 0x260]"]], "recomp": [["0x1002338f", "mov eax, dword ptr [esi + 0x260]"], ["0x10023395", "mov edx, dword ptr [esi + 0x278]"]]}, {"both": [["0x100233bb", "mov ebx, dword ptr [esp + 0x14]", "0x1002339b"], ["0x100233bf", "add ecx, 4", "0x1002339f"], ["0x100233c2", "cmp ecx, 0x10", "0x100233a2"], ["0x100233c5", "fld dword ptr [eax + ecx - 4]", "0x100233a5"], ["0x100233c9", "fmul qword ptr [esp + 0x20]", "0x100233a9"], ["0x100233cd", "fld dword ptr [edx + ecx - 4]", "0x100233ad"], ["0x100233d1", "fmul qword ptr [esp + 0x18]", "0x100233b1"], ["0x100233d5", "faddp st(1)", "0x100233b5"], ["0x100233d7", "jl -0x2e", "0x100233b7"], ["0x100233d9", "fstp dword ptr [ebx + ecx - 4]", "0x100233b9"]]}]], ["@@ -0x100233f3,45 +0x100233d3,45 @@", [{"both": [["0x100233f3", "fstp dword ptr [ecx]", "0x100233d3"], ["0x100233f5", "mov eax, dword ptr [esi + 0x260]", "0x100233d5"], ["0x100233fb", "mov ecx, dword ptr [esp + 0x14]", "0x100233db"], ["0x100233ff", "mov edx, dword ptr [eax]", "0x100233df"], ["0x10023401", "mov dword ptr [ecx + 4], edx", "0x100233e1"], ["0x10023404", "mov ecx, dword ptr [esp + 0x14]", "0x100233e4"], ["0x10023408", "mov eax, dword ptr [esi + 0x260]", "0x100233e8"], ["0x1002340e", "fld dword ptr [eax + 0xc]", "0x100233ee"], ["0x10023411", "fchs ", "0x100233f1"], ["0x10023413", "fstp dword ptr [ecx + 8]", "0x100233f3"]]}, {"orig": [["0x10023416", "fld dword ptr [esp + 0x20]"]], "recomp": [["0x100233f6", "fld dword ptr [esp + 0x18]"]]}, {"both": [["0x1002341a", "fld qword ptr [1.0 (FLOAT)]", "0x100233fa"], ["0x10023420", "fsub st(1)", "0x10023400"], ["0x10023422", "mov eax, dword ptr [esi + 0x260]", "0x10023402"], ["0x10023428", "mov ecx, dword ptr [esp + 0x14]", "0x10023408"], ["0x1002342c", "fmul qword ptr [1.570796326794895 (FLOAT)]", "0x1002340c"], ["0x10023432", "mov edx, dword ptr [eax + 8]", "0x10023412"], ["0x10023435", "mov dword ptr [ecx + 0xc], edx", "0x10023415"], ["0x10023438", "xor edx, edx", "0x10023418"], ["0x1002343a", "fsin ", "0x1002341a"]]}, {"orig": [["0x1002343c", "fstp qword ptr [esp + 0x18]"]], "recomp": [["0x1002341c", "fstp qword ptr [esp + 0x20]"]]}, {"both": [["0x10023440", "fmul qword ptr [1.570796326794895 (FLOAT)]", "0x10023420"], ["0x10023446", "fsin ", "0x10023426"]]}, {"orig": [["0x10023448", "fstp qword ptr [esp + 0x20]"]], "recomp": [["0x10023428", "fstp qword ptr [esp + 0x18]"]]}, {"both": [["0x1002344c", "jmp 0x2", "0x1002342c"], ["0x1002344e", "fstp dword ptr [eax]", "0x1002342e"], ["0x10023450", "mov eax, dword ptr [esp + 0x14]", "0x10023430"], ["0x10023454", "mov ecx, dword ptr [esi + 0x260]", "0x10023434"], ["0x1002345a", "add eax, edx", "0x1002343a"], ["0x1002345c", "add edx, 4", "0x1002343c"], ["0x1002345f", "cmp edx, 0xc", "0x1002343f"], ["0x10023462", "fld dword ptr [ecx + edx - 4]", "0x10023442"]]}, {"orig": [], "recomp": [["0x10023446", "fmul qword ptr [esp + 0x20]"], ["0x1002344a", "fld dword ptr [eax]"]]}, {"both": [["0x10023466", "fmul qword ptr [esp + 0x18]", "0x1002344c"]]}, {"orig": [["0x1002346a", "fld dword ptr [eax]"], ["0x1002346c", "fmul qword ptr [esp + 0x20]"]], "recomp": []}, {"both": [["0x10023470", "faddp st(1)", "0x10023450"], ["0x10023472", "jl -0x26", "0x10023452"], ["0x10023474", "fstp dword ptr [eax]", "0x10023454"], ["0x10023476", "xor eax, eax", "0x10023456"], ["0x10023478", "jmp 0x5", "0x10023458"], ["0x1002347a", "mov eax, 0xffffffff", "0x1002345a"], ["0x1002347f", "test eax, eax", "0x1002345f"], ["0x10023481", "jne 0x10", "0x10023461"], ["0x10023483", "lea eax, [esp + 0x10]", "0x10023463"], ["0x10023487", "lea ecx, [esp + 0x54]", "0x10023467"]]}]]]}, {"address": "0x10023500", "recomp": "0x100234e0", "name": "LegoCarBuild::VTable0x74", "matching": 1.0, "effective": true, "diff": [["@@ -0x10023514,22 +0x100234f4,22 @@", [{"both": [["0x10023514", "push edx", "0x100234f4"], ["0x10023515", "call FUN_1003ded0 (FUNCTION)", "0x100234f5"], ["0x1002351a", "add esp, 0xc", "0x100234fa"], ["0x1002351d", "mov eax, dword ptr [esi + 0x2a8]", "0x100234fd"], ["0x10023523", "fld dword ptr [eax + 8]", "0x10023503"], ["0x10023526", "fsub dword ptr [esp + 0x18]", "0x10023506"], ["0x1002352a", "mov ecx, dword ptr [esp + 0x24]", "0x1002350a"], ["0x1002352e", "fdiv dword ptr [esp + 0xc]", "0x1002350e"], ["0x10023532", "fld dword ptr [esp + 4]", "0x10023512"], ["0x10023536", "fmul st(1)", "0x10023516"]]}, {"orig": [], "recomp": [["0x10023518", "fadd dword ptr [esp + 0x10]"]]}, {"both": [["0x10023538", "fsub dword ptr [eax]", "0x1002351c"]]}, {"orig": [["0x1002353a", "fadd dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x1002353e", "fstp dword ptr [ecx]", "0x1002351e"], ["0x10023540", "fmul dword ptr [esp + 8]", "0x10023520"], ["0x10023544", "mov eax, dword ptr [esi + 0x2a8]", "0x10023524"]]}, {"orig": [], "recomp": [["0x1002352a", "fadd dword ptr [esp + 0x14]"], ["0x1002352e", "pop esi"]]}, {"both": [["0x1002354a", "fsub dword ptr [eax + 4]", "0x1002352f"], ["0x1002354d", "mov dword ptr [ecx + 8], 0", "0x10023532"]]}, {"orig": [["0x10023554", "fadd dword ptr [esp + 0x14]"], ["0x10023558", "pop esi"]], "recomp": []}, {"both": [["0x10023559", "fstp dword ptr [ecx + 4]", "0x10023539"], ["0x1002355c", "add esp, 0x18", "0x1002353c"], ["0x1002355f", "ret 8", "0x1002353f"]]}]]]}, {"address": "0x10023570", "recomp": "0x10023550", "name": "LegoCarBuild::VTable0x78", "matching": 1.0, "diff": []}, {"address": "0x10023620", "recomp": "0x10023600", "name": "LegoCarBuild::VTable0x7c", "matching": 1.0, "diff": []}, {"address": "0x100236a0", "recomp": "0x10023680", "name": "LegoCarBuild::VTable0x80", "matching": 1.0, "diff": []}, {"address": "0x100236d0", "recomp": "0x100236b0", "name": "LegoCarBuild::FUN_100236d0", "matching": 1.0, "diff": []}, {"address": "0x100238b0", "recomp": "0x10023890", "name": "LegoCarBuild::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10024050", "recomp": "0x10024030", "name": "LegoCarBuild::Notify", "matching": 1.0, "diff": []}, {"address": "0x10024250", "recomp": "0x10024230", "name": "LegoCarBuild::FUN_10024250", "matching": 1.0, "diff": []}, {"address": "0x100242c0", "recomp": "0x100242a0", "name": "LegoCarBuild::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x100243a0", "recomp": "0x10024380", "name": "LegoCarBuild::FUN_100243a0", "matching": 1.0, "diff": []}, {"address": "0x10024480", "recomp": "0x10024460", "name": "LegoCarBuild::FUN_10024480", "matching": 1.0, "diff": []}, {"address": "0x100244e0", "recomp": "0x100244c0", "name": "LegoCarBuild::FUN_100244e0", "matching": 1.0, "diff": []}, {"address": "0x100246e0", "recomp": "0x100246c0", "name": "LegoCarBuild::FUN_100246e0", "matching": 0.9230769230769231, "diff": [["@@ -0x100246e0,20 +0x100246c0,20 @@", [{"both": [["0x100246e0", "push esi", "0x100246c0"]]}, {"orig": [], "recomp": [["0x100246c1", "mov eax, dword ptr [ecx + 0x100]"], ["0x100246c7", "mov esi, ecx"], ["0x100246c9", "cmp eax, 3"], ["0x100246cc", "je 0x10"], ["0x100246ce", "cmp eax, 4"], ["0x100246d1", "je 0x1b"], ["0x100246d3", "cmp eax, 6"], ["0x100246d6", "je 0x26"]]}, {"both": [["0x100246e1", "xor eax, eax", "0x100246d8"]]}, {"orig": [["0x100246e3", "mov esi, ecx"], ["0x100246e5", "mov ecx, dword ptr [ecx + 0x100]"], ["0x100246eb", "cmp ecx, 3"], ["0x100246ee", "je 0xe"], ["0x100246f0", "cmp ecx, 4"], ["0x100246f3", "je 0x19"], ["0x100246f5", "cmp ecx, 6"], ["0x100246f8", "je 0x24"]], "recomp": []}, {"both": [["0x100246fa", "pop esi", "0x100246da"], ["0x100246fb", "ret 8", "0x100246db"], ["0x100246fe", "mov ecx, esi", "0x100246de"], ["0x10024700", "call LegoCarBuild::FUN_10022f30 (FUNCTION)", "0x100246e0"], ["0x10024705", "mov eax, 1", "0x100246e5"], ["0x1002470a", "pop esi", "0x100246ea"], ["0x1002470b", "ret 8", "0x100246eb"], ["0x1002470e", "mov ecx, esi", "0x100246ee"], ["0x10024710", "call LegoCarBuild::FUN_10022f00 (FUNCTION)", "0x100246f0"], ["0x10024715", "mov eax, 1", "0x100246f5"]]}]]]}, {"address": "0x10024850", "recomp": "0x10024830", "name": "LegoCarBuild::FUN_10024850", "matching": 1.0, "diff": []}, {"address": "0x10024890", "recomp": "0x10024870", "name": "LegoCarBuild::FUN_10024890", "matching": 1.0, "diff": []}, {"address": "0x10024c20", "recomp": "0x10024c00", "name": "LegoCarBuild::FUN_10024c20", "matching": 1.0, "diff": []}, {"address": "0x10024ef0", "recomp": "0x10024ed0", "name": "LegoCarBuild::FUN_10024ef0", "matching": 1.0, "diff": []}, {"address": "0x10024f30", "recomp": "0x10024f10", "name": "LegoCarBuild::FUN_10024f30", "matching": 1.0, "diff": []}, {"address": "0x10024f50", "recomp": "0x10024f30", "name": "LegoCarBuild::FUN_10024f50", "matching": 1.0, "diff": []}, {"address": "0x10024f70", "recomp": "0x10024f50", "name": "LegoCarBuild::FUN_10024f70", "matching": 1.0, "diff": []}, {"address": "0x10024fa0", "recomp": "0x10024f80", "name": "LegoCarBuild::SetPresentersEnabled", "matching": 1.0, "diff": []}, {"address": "0x10025010", "recomp": "0x10024ff0", "name": "LegoCarBuild::TogglePresentersEnabled", "matching": 1.0, "diff": []}, {"address": "0x100250e0", "recomp": "0x100250c0", "name": "LegoCarBuild::FUN_100250e0", "matching": 1.0, "diff": []}, {"address": "0x10025350", "recomp": "0x10025330", "name": "LegoCarBuild::FUN_10025350", "matching": 1.0, "effective": true, "diff": [["@@ -0x10025350,18 +0x10025330,18 @@", [{"both": [["0x10025350", "sub esp, 0x100", "0x10025330"], ["0x10025356", "push esi", "0x10025336"], ["0x10025357", "push edi", "0x10025337"], ["0x10025358", "cmp dword ptr [ecx + 0x110], 0", "0x10025338"], ["0x1002535f", "mov esi, ecx", "0x1002533f"], ["0x10025361", "je 0xda", "0x10025341"]]}, {"orig": [], "recomp": [["0x10025347", "mov ecx, dword ptr [esp + 0x10c]"]]}, {"both": [["0x10025367", "mov eax, dword ptr [esi + 0x2dc]", "0x1002534e"]]}, {"orig": [["0x1002536d", "mov ecx, dword ptr [esp + 0x10c]"]], "recomp": []}, {"both": [["0x10025374", "mov edx, dword ptr [eax + 0x1c]", "0x10025354"], ["0x10025377", "cmp dword ptr [edx + 0x1c], ecx", "0x10025357"], ["0x1002537a", "jne 0x7", "0x1002535a"], ["0x1002537c", "mov edi, 'lego yellow' (STRING)", "0x1002535c"], ["0x10025381", "jmp 0x67", "0x10025361"], ["0x10025383", "mov eax, dword ptr [esi + 0x2e0]", "0x10025363"], ["0x10025389", "mov edx, dword ptr [eax + 0x1c]", "0x10025369"], ["0x1002538c", "cmp dword ptr [edx + 0x1c], ecx", "0x1002536c"], ["0x1002538f", "jne 0x7", "0x1002536f"], ["0x10025391", "mov edi, 'lego red' (STRING)", "0x10025371"]]}]]]}, {"address": "0x10025450", "recomp": "0x10025430", "name": "LegoCarBuild::FUN_10025450", "matching": 0.956268221574344, "diff": [["@@ -0x1002546b,32 +0x1002544b,32 @@", [{"both": [["0x1002546b", "mov ecx, edi", "0x1002544b"], ["0x1002546d", "call dword ptr [ebx + 0x28]", "0x1002544d"], ["0x10025470", "push edi", "0x10025450"], ["0x10025471", "mov ebp, dword ptr [esi + 0x1c0]", "0x10025451"], ["0x10025477", "lea ecx, [esi + 0x1c0]", "0x10025457"], ["0x1002547d", "call dword ptr [ebp + 0x48]", "0x1002545d"], ["0x10025480", "mov eax, dword ptr [esi + 0x1c4]", "0x10025460"], ["0x10025486", "mov ecx, dword ptr [esi + 0x258]", "0x10025466"], ["0x1002548c", "mov dword ptr [esp + 0x18], Vector3::`vftable' (VTABLE)", "0x1002546c"], ["0x10025494", "add eax, 0x30", "0x10025474"]]}, {"orig": [["0x10025497", "lea ebp, [esi + 0x178]"]], "recomp": [["0x10025477", "lea ebx, [esi + 0x178]"]]}, {"both": [["0x1002549d", "mov dword ptr [esp + 0x1c], eax", "0x1002547d"], ["0x100254a1", "mov eax, dword ptr [ecx + 0xe4]", "0x10025481"], ["0x100254a7", "add eax, 0x30", "0x10025487"], ["0x100254aa", "lea ecx, [esp + 0x18]", "0x1002548a"], ["0x100254ae", "push eax", "0x1002548e"], ["0x100254af", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x1002548f"]]}, {"orig": [["0x100254b5", "mov ecx, dword ptr [ebp]"]], "recomp": [["0x10025495", "mov ecx, dword ptr [ebx]"]]}, {"both": [["0x100254b8", "push edi", "0x10025497"]]}, {"orig": [["0x100254b9", "mov ebx, dword ptr [ecx + 0x48]"], ["0x100254bc", "mov ecx, ebp"], ["0x100254be", "call ebx"]], "recomp": [["0x10025498", "mov ebp, dword ptr [ecx + 0x48]"], ["0x1002549b", "mov ecx, ebx"], ["0x1002549d", "call ebp"]]}, {"both": [["0x100254c0", "mov ecx, dword ptr [esi + 0x110]", "0x1002549f"], ["0x100254c6", "mov eax, dword ptr [ecx + 0xe4]", "0x100254a5"], ["0x100254cc", "mov ecx, dword ptr [esi + 0x258]", "0x100254ab"], ["0x100254d2", "push eax", "0x100254b1"], ["0x100254d3", "call LegoCarBuildAnimPresenter::PartIsPlaced (FUNCTION)", "0x100254b2"], ["0x100254d8", "test al, al", "0x100254b7"], ["0x100254da", "mov eax, dword ptr [esi + 0x110]", "0x100254b9"], ["0x100254e0", "je 0xd4", "0x100254bf"], ["0x100254e6", "mov eax, dword ptr [eax + 0x14]", "0x100254c5"], ["0x100254e9", "lea ecx, [esi + 0x2a4]", "0x100254c8"]]}]], ["@@ -0x10025586,23 +0x10025565,23 @@", [{"both": [["0x10025586", "fstp dword ptr [ecx]", "0x10025565"], ["0x10025588", "mov ecx, dword ptr [esi + 0x2a8]", "0x10025567"], ["0x1002558e", "mov edx, dword ptr [esi + 0x1c4]", "0x1002556d"], ["0x10025594", "add ecx, 8", "0x10025573"], ["0x10025597", "mov eax, dword ptr [esi + 0x20c]", "0x10025576"], ["0x1002559d", "fld dword ptr [edx + 0x38]", "0x1002557c"], ["0x100255a0", "fsub dword ptr [eax + 0x38]", "0x1002557f"], ["0x100255a3", "fadd dword ptr [ecx]", "0x10025582"], ["0x100255a5", "fstp dword ptr [ecx]", "0x10025584"], ["0x100255a7", "add esi, 0x1c0", "0x10025586"]]}, {"orig": [["0x100255ad", "mov ecx, ebp"]], "recomp": [["0x1002558c", "mov ecx, ebx"]]}, {"both": [["0x100255af", "push esi", "0x1002558e"]]}, {"orig": [["0x100255b0", "call ebx"]], "recomp": [["0x1002558f", "call ebp"]]}, {"both": [["0x100255b2", "pop ebp", "0x10025591"], ["0x100255b3", "pop edi", "0x10025592"], ["0x100255b4", "pop esi", "0x10025593"], ["0x100255b5", "pop ebx", "0x10025594"], ["0x100255b6", "add esp, 0x10", "0x10025595"], ["0x100255b9", "ret ", "0x10025598"], ["0x100255ba", "mov ecx, dword ptr [eax + 0xe4]", "0x10025599"], ["0x100255c0", "push ecx", "0x1002559f"], ["0x100255c1", "mov ecx, dword ptr [esi + 0x258]", "0x100255a0"], ["0x100255c7", "call LegoCarBuildAnimPresenter::FUN_10079c30 (FUNCTION)", "0x100255a6"]]}]], ["@@ -0x1002569c,10 +0x1002567b,11 @@", [{"both": [["0x1002569c", "pop edi", "0x1002567b"], ["0x1002569d", "fadd dword ptr [ecx]", "0x1002567c"], ["0x1002569f", "fstp dword ptr [ecx]", "0x1002567e"], ["0x100256a1", "mov eax, dword ptr [esi + 0x1c4]", "0x10025680"], ["0x100256a7", "mov ecx, dword ptr [esi + 0x17c]", "0x10025686"], ["0x100256ad", "pop esi", "0x1002568c"], ["0x100256ae", "pop ebx", "0x1002568d"], ["0x100256af", "mov edx, dword ptr [eax + 0x38]", "0x1002568e"], ["0x100256b2", "mov dword ptr [ecx + 0x38], edx", "0x10025691"], ["0x100256b5", "add esp, 0x10", "0x10025694"]]}, {"orig": [], "recomp": [["0x10025697", "ret "]]}]]]}, {"address": "0x100256c0", "recomp": "0x100256a0", "name": "LegoCarBuild::Enable", "matching": 1.0, "diff": []}, {"address": "0x10025720", "recomp": "0x10025700", "name": "LegoCarBuild::FUN_10025720", "matching": 1.0, "diff": []}, {"address": "0x10025d10", "recomp": "0x10025cf0", "name": "LegoCarBuild::FUN_10025d10", "matching": 1.0, "diff": []}, {"address": "0x10025d70", "recomp": "0x10025d50", "name": "LegoCarBuild::FUN_10025d70", "matching": 1.0, "diff": []}, {"address": "0x10025db0", "recomp": "0x10025d90", "name": "LegoCarBuild::FUN_10025db0", "matching": 1.0, "effective": true, "diff": [["@@ -0x10025dc7,21 +0x10025da7,21 @@", [{"both": [["0x10025dc7", "mov ecx, 5", "0x10025da7"], ["0x10025dcc", "sub edx, edx", "0x10025dac"], ["0x10025dce", "mov dword ptr [esi + 0x33c], eax", "0x10025dae"], ["0x10025dd4", "mov eax, dword ptr [esp + 0x10]", "0x10025db4"], ["0x10025dd8", "div ecx", "0x10025db8"], ["0x10025dda", "and ax, di", "0x10025dba"], ["0x10025ddd", "mov ecx, dword ptr [esi + 0x33c]", "0x10025dbd"], ["0x10025de3", "sub di, ax", "0x10025dc3"], ["0x10025de6", "cmp dword ptr [esi + 0x2dc], ecx", "0x10025dc6"], ["0x10025dec", "jne 0x1c", "0x10025dcc"]]}, {"orig": [["0x10025dee", "cmp di, word ptr [LegoCarBuild::g_unk0x100f11cc (DATA)]"]], "recomp": [["0x10025dce", "cmp word ptr [LegoCarBuild::g_unk0x100f11cc (DATA)], di"]]}, {"both": [["0x10025df5", "je 0x36", "0x10025dd5"], ["0x10025df7", "mov ecx, esi", "0x10025dd7"], ["0x10025df9", "call LegoCarBuild::TogglePresentersEnabled (FUNCTION)", "0x10025dd9"], ["0x10025dfe", "mov word ptr [LegoCarBuild::g_unk0x100f11cc (DATA)], di", "0x10025dde"], ["0x10025e05", "pop edi", "0x10025de5"], ["0x10025e06", "pop esi", "0x10025de6"], ["0x10025e07", "ret 8", "0x10025de7"], ["0x10025e0a", "cmp word ptr [ecx + 0x4e], di", "0x10025dea"], ["0x10025e0e", "je 0x6", "0x10025dee"], ["0x10025e10", "push edi", "0x10025df0"]]}]]]}, {"address": "0x10025e40", "recomp": "0x10025e20", "name": "LegoCarBuild::FUN_10025e40", "matching": 1.0, "diff": []}, {"address": "0x10025e70", "recomp": "0x10025e50", "name": "LegoCarBuild::Escape", "matching": 1.0, "effective": true, "diff": [["@@ -0x10025e70,20 +0x10025e50,20 @@", [{"both": [["0x10025e70", "push esi", "0x10025e50"], ["0x10025e71", "mov esi, ecx", "0x10025e51"], ["0x10025e73", "call BackgroundAudioManager (FUNCTION)", "0x10025e53"], ["0x10025e78", "mov ecx, eax", "0x10025e58"], ["0x10025e7a", "call MxBackgroundAudioManager::Init (FUNCTION)", "0x10025e5a"]]}, {"orig": [], "recomp": [["0x10025e5f", "mov eax, dword ptr [esi + 0x330]"], ["0x10025e65", "mov ecx, esi"], ["0x10025e67", "push eax"], ["0x10025e68", "call LegoCarBuild::FUN_10025ee0 (FUNCTION)"]]}, {"both": [["0x10025e7f", "push 0", "0x10025e6d"]]}, {"orig": [["0x10025e81", "mov eax, dword ptr [esi + 0x330]"], ["0x10025e87", "push eax"], ["0x10025e88", "mov ecx, esi"], ["0x10025e8a", "call LegoCarBuild::FUN_10025ee0 (FUNCTION)"]], "recomp": []}, {"both": [["0x10025e8f", "push eax", "0x10025e6f"], ["0x10025e90", "mov eax, dword ptr [g_jukeboxScript (DATA)]", "0x10025e70"], ["0x10025e95", "push eax", "0x10025e75"], ["0x10025e96", "push 5", "0x10025e76"], ["0x10025e98", "call InvokeAction (FUNCTION)", "0x10025e78"], ["0x10025e9d", "add esp, 0x10", "0x10025e7d"], ["0x10025ea0", "lea eax, [esi + 0xc]", "0x10025e80"], ["0x10025ea3", "push 0x3e7", "0x10025e83"], ["0x10025ea8", "push 0x1f4", "0x10025e88"], ["0x10025ead", "push eax", "0x10025e8d"]]}]]]}, {"address": "0x10025ee0", "recomp": "0x10025ec0", "name": "LegoCarBuild::FUN_10025ee0", "matching": 1.0, "diff": []}, {"address": "0x10025f30", "recomp": "0x10025f10", "name": "LegoVehicleBuildState::LegoVehicleBuildState", "matching": 1.0, "diff": []}, {"address": "0x10025ff0", "recomp": "0x10025fd0", "name": "LegoVehicleBuildState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10026000", "recomp": "0x10025fe0", "name": "LegoVehicleBuildState::IsA", "matching": 1.0, "diff": []}, {"address": "0x100260a0", "recomp": "0x10026080", "name": "LegoVehicleBuildState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10026120", "recomp": "0x10026100", "name": "LegoVehicleBuildState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10026220", "recomp": "0x10026200", "name": "LegoPlantManager::LegoPlantManager", "matching": 1.0, "diff": []}, {"address": "0x10026290", "recomp": "0x10026270", "name": "LegoPlantManager::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100262a0", "recomp": "0x10026280", "name": "LegoPlantManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100262c0", "recomp": "0x100262a0", "name": "LegoPlantManager::~LegoPlantManager", "matching": 1.0, "diff": []}, {"address": "0x10026330", "recomp": "0x10026310", "name": "LegoPlantManager::Init", "matching": 1.0, "diff": []}, {"address": "0x10026360", "recomp": "0x10026340", "name": "LegoPlantManager::LoadWorldInfo", "matching": 1.0, "diff": []}, {"address": "0x100263a0", "recomp": "0x10026380", "name": "LegoPlantManager::Reset", "matching": 1.0, "diff": []}, {"address": "0x10026410", "recomp": "0x100263f0", "name": "LegoPlantManager::FUN_10026410", "matching": 1.0, "effective": true, "diff": [["@@ -0x10026519,22 +0x100264f9,22 @@", [{"both": [["0x10026519", "mov ebp, dword ptr [esp + 0x14]", "0x100264f9"], ["0x1002651d", "push eax", "0x100264fd"], ["0x1002651e", "call dword ptr [ebp + 0x18]", "0x100264fe"], ["0x10026521", "fadd dword ptr [ebx + 0xc]", "0x10026501"], ["0x10026524", "fcomp qword ptr [-0.001 (FLOAT)]", "0x10026504"], ["0x1002652a", "fnstsw ax", "0x1002650a"], ["0x1002652c", "test ah, 1", "0x1002650c"], ["0x1002652f", "je 0x1e", "0x1002650f"], ["0x10026531", "mov ecx, dword ptr [edi + 4]", "0x10026511"], ["0x10026534", "mov eax, dword ptr [esp + 0x14]", "0x10026514"]]}, {"orig": [["0x10026538", "fld dword ptr [eax + 8]"], ["0x1002653b", "fmul dword ptr [ecx + 8]"]], "recomp": [["0x10026518", "fld dword ptr [ecx + 8]"], ["0x1002651b", "fmul dword ptr [eax + 8]"]]}, {"both": [["0x1002653e", "fld dword ptr [eax]", "0x1002651e"], ["0x10026540", "fmul dword ptr [ecx]", "0x10026520"], ["0x10026542", "faddp st(1)", "0x10026522"], ["0x10026544", "fadd dword ptr [ecx + 0xc]", "0x10026524"], ["0x10026547", "fdiv dword ptr [ecx + 4]", "0x10026527"], ["0x1002654a", "fchs ", "0x1002652a"], ["0x1002654c", "fstp dword ptr [esi - 8]", "0x1002652c"], ["0x1002654f", "add esi, 0x54", "0x1002652f"], ["0x10026552", "cmp esi, g_buildingInfo[0].m_mood (UNK)", "0x10026532"], ["0x10026558", "jb -0x124", "0x10026538"]]}]]]}, {"address": "0x10026570", "recomp": "0x10026550", "name": "LegoPlantManager::GetInfoArray", "matching": 1.0, "diff": []}, {"address": "0x10026590", "recomp": "0x10026570", "name": "LegoPlantManager::CreatePlant", "matching": 1.0, "diff": []}, {"address": "0x100266c0", "recomp": "0x100266a0", "name": "LegoPlantManager::RemovePlant", "matching": 1.0, "diff": []}, {"address": "0x10026720", "recomp": "0x10026700", "name": "LegoPlantManager::Write", "matching": 0.9836065573770492, "diff": [["@@ -0x10026779,19 +0x10026759,19 @@", [{"both": [["0x10026779", "test eax, eax", "0x10026759"], ["0x1002677b", "jne 0x1b", "0x1002675b"], ["0x1002677d", "push 1", "0x1002675d"], ["0x1002677f", "lea eax, [ebx + 0x17]", "0x1002675f"], ["0x10026782", "push eax", "0x10026762"], ["0x10026783", "mov ecx, esi", "0x10026763"], ["0x10026785", "call ebp", "0x10026765"], ["0x10026787", "test eax, eax", "0x10026767"], ["0x10026789", "jne 0xd", "0x10026769"], ["0x1002678b", "add ebx, 0x54", "0x1002676b"]]}, {"orig": [["0x1002678e", "cmp ebx, 0x10104c14"]], "recomp": [["0x1002676e", "cmp ebx, 0x10103d0c"]]}, {"both": [["0x10026794", "jb -0x5f", "0x10026774"], ["0x10026796", "xor edi, edi", "0x10026776"], ["0x10026798", "mov eax, edi", "0x10026778"], ["0x1002679a", "pop ebp", "0x1002677a"], ["0x1002679b", "pop edi", "0x1002677b"], ["0x1002679c", "pop esi", "0x1002677c"], ["0x1002679d", "pop ebx", "0x1002677d"], ["0x1002679e", "ret 4", "0x1002677e"]]}]]]}, {"address": "0x100267b0", "recomp": "0x10026790", "name": "LegoPlantManager::Read", "matching": 0.6901408450704225, "diff": [["@@ -0x100267b0,71 +0x10026790,71 @@", [{"both": [["0x100267b0", "sub esp, 8", "0x10026790"], ["0x100267b3", "mov dword ptr [esp + 4], ecx", "0x10026793"], ["0x100267b7", "push ebx", "0x10026797"], ["0x100267b8", "push esi", "0x10026798"]]}, {"orig": [["0x100267b9", "xor ebx, ebx"], ["0x100267bb", "mov dword ptr [esp + 8], 0xffffffff"]], "recomp": [["0x10026799", "mov ebx, g_plantInfo[0].m_entity (DATA)"]]}, {"both": [["0x100267c3", "push edi", "0x1002679e"]]}, {"orig": [], "recomp": [["0x1002679f", "xor esi, esi"], ["0x100267a1", "mov dword ptr [esp + 0xc], 0xffffffff"]]}, {"both": [["0x100267c4", "push ebp", "0x100267a9"]]}, {"orig": [["0x100267c5", "mov edi, g_plantInfo[0].m_entity (DATA)"]], "recomp": []}, {"both": [["0x100267ca", "mov ebp, dword ptr [esp + 0x1c]", "0x100267aa"], ["0x100267ce", "mov eax, dword ptr [ebp]", "0x100267ae"]]}, {"orig": [["0x100267d1", "mov esi, dword ptr [eax + 4]"]], "recomp": [["0x100267b1", "mov edi, dword ptr [eax + 4]"]]}, {"both": [["0x100267d4", "push 1", "0x100267b4"]]}, {"orig": [["0x100267d6", "lea eax, [edi + 8]"]], "recomp": [["0x100267b6", "lea eax, [ebx + 8]"]]}, {"both": [["0x100267d9", "push eax", "0x100267b9"], ["0x100267da", "mov ecx, ebp", "0x100267ba"]]}, {"orig": [["0x100267dc", "call esi"]], "recomp": [["0x100267bc", "call edi"]]}, {"both": [["0x100267de", "test eax, eax", "0x100267be"], ["0x100267e0", "jne 0x6a", "0x100267c0"], ["0x100267e2", "push 4", "0x100267c2"]]}, {"orig": [["0x100267e4", "lea eax, [edi + 0xc]"]], "recomp": [["0x100267c4", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x100267e7", "push eax", "0x100267c7"], ["0x100267e8", "mov ecx, ebp", "0x100267c8"]]}, {"orig": [["0x100267ea", "call esi"]], "recomp": [["0x100267ca", "call edi"]]}, {"both": [["0x100267ec", "test eax, eax", "0x100267cc"], ["0x100267ee", "jne 0x5c", "0x100267ce"], ["0x100267f0", "push 4", "0x100267d0"]]}, {"orig": [["0x100267f2", "lea eax, [edi + 0x10]"]], "recomp": [["0x100267d2", "lea eax, [ebx + 0x10]"]]}, {"both": [["0x100267f5", "push eax", "0x100267d5"], ["0x100267f6", "mov ecx, ebp", "0x100267d6"]]}, {"orig": [["0x100267f8", "call esi"]], "recomp": [["0x100267d8", "call edi"]]}, {"both": [["0x100267fa", "test eax, eax", "0x100267da"], ["0x100267fc", "jne 0x4e", "0x100267dc"], ["0x100267fe", "push 1", "0x100267de"]]}, {"orig": [["0x10026800", "lea eax, [edi + 0x14]"]], "recomp": [["0x100267e0", "lea eax, [ebx + 0x14]"]]}, {"both": [["0x10026803", "push eax", "0x100267e3"], ["0x10026804", "mov ecx, ebp", "0x100267e4"]]}, {"orig": [["0x10026806", "call esi"]], "recomp": [["0x100267e6", "call edi"]]}, {"both": [["0x10026808", "test eax, eax", "0x100267e8"], ["0x1002680a", "jne 0x40", "0x100267ea"], ["0x1002680c", "push 1", "0x100267ec"]]}, {"orig": [["0x1002680e", "lea eax, [edi + 0x15]"]], "recomp": [["0x100267ee", "lea eax, [ebx + 0x15]"]]}, {"both": [["0x10026811", "push eax", "0x100267f1"], ["0x10026812", "mov ecx, ebp", "0x100267f2"]]}, {"orig": [["0x10026814", "call esi"]], "recomp": [["0x100267f4", "call edi"]]}, {"both": [["0x10026816", "test eax, eax", "0x100267f6"], ["0x10026818", "jne 0x32", "0x100267f8"], ["0x1002681a", "push 1", "0x100267fa"]]}, {"orig": [["0x1002681c", "lea eax, [edi + 0x16]"]], "recomp": [["0x100267fc", "lea eax, [ebx + 0x16]"]]}, {"both": [["0x1002681f", "push eax", "0x100267ff"], ["0x10026820", "mov ecx, ebp", "0x10026800"]]}, {"orig": [["0x10026822", "call esi"]], "recomp": [["0x10026802", "call edi"]]}, {"both": [["0x10026824", "test eax, eax", "0x10026804"], ["0x10026826", "jne 0x24", "0x10026806"]]}, {"orig": [["0x10026828", "mov al, byte ptr [edi + 0x16]"], ["0x1002682b", "push ebx"], ["0x1002682c", "mov byte ptr [edi + 0x17], al"]], "recomp": [["0x10026808", "mov al, byte ptr [ebx + 0x16]"], ["0x1002680b", "push esi"], ["0x1002680c", "mov byte ptr [ebx + 0x17], al"]]}, {"both": [["0x1002682f", "mov ecx, dword ptr [esp + 0x18]", "0x1002680f"]]}, {"orig": [["0x10026833", "add edi, 0x54"]], "recomp": [["0x10026813", "add ebx, 0x54"]]}, {"both": [["0x10026836", "call LegoPlantManager::FUN_10026860 (FUNCTION)", "0x10026816"]]}, {"orig": [["0x1002683b", "inc ebx"], ["0x1002683c", "cmp edi, 0x10104c14"]], "recomp": [["0x1002681b", "inc esi"], ["0x1002681c", "cmp ebx, 0x10103d0c"]]}, {"both": [["0x10026842", "jb -0x70", "0x10026822"], ["0x10026844", "mov dword ptr [esp + 0x10], 0", "0x10026824"], ["0x1002684c", "mov eax, dword ptr [esp + 0x10]", "0x1002682c"], ["0x10026850", "pop ebp", "0x10026830"], ["0x10026851", "pop edi", "0x10026831"], ["0x10026852", "pop esi", "0x10026832"], ["0x10026853", "pop ebx", "0x10026833"], ["0x10026854", "add esp, 8", "0x10026834"], ["0x10026857", "ret 4", "0x10026837"]]}]]]}, {"address": "0x10026860", "recomp": "0x10026840", "name": "LegoPlantManager::FUN_10026860", "matching": 1.0, "effective": true, "diff": [["@@ -0x10026860,18 +0x10026840,18 @@", [{"both": [["0x10026860", "mov eax, dword ptr [esp + 4]", "0x10026840"], ["0x10026864", "sub esp, 4", "0x10026844"], ["0x10026867", "push ebx", "0x10026847"], ["0x10026868", "lea ecx, [eax + eax*4]", "0x10026848"], ["0x1002686b", "lea ecx, [eax + ecx*4]", "0x1002684b"], ["0x1002686e", "shl ecx, 2", "0x1002684e"]]}, {"orig": [], "recomp": [["0x10026851", "mov bl, byte ptr [ecx + g_plantInfo[0].m_variant (UNK)]"]]}, {"both": [["0x10026871", "mov al, byte ptr [ecx + g_plantInfo[0].m_unk0x16 (UNK)]", "0x10026857"]]}, {"orig": [["0x10026877", "mov bl, byte ptr [ecx + g_plantInfo[0].m_variant (UNK)]"]], "recomp": []}, {"both": [["0x1002687d", "test al, al", "0x1002685d"], ["0x1002687f", "jl 0x33", "0x1002685f"], ["0x10026881", "xor edx, edx", "0x10026861"], ["0x10026883", "mov dl, bl", "0x10026863"], ["0x10026885", "xor ebx, ebx", "0x10026865"], ["0x10026887", "movsx eax, al", "0x10026867"], ["0x1002688a", "mov bl, byte ptr [edx + g_unk0x100f16c0[0] (DATA)]", "0x1002686a"], ["0x10026890", "sub ebx, eax", "0x10026870"], ["0x10026892", "mov dword ptr [esp + 4], ebx", "0x10026872"], ["0x10026896", "fild dword ptr [esp + 4]", "0x10026876"]]}]]]}, {"address": "0x100268d0", "recomp": "0x100268b0", "name": "LegoPlantManager::GetNumPlants", "matching": 1.0, "diff": []}, {"address": "0x100268e0", "recomp": "0x100268c0", "name": "LegoPlantManager::GetInfo", "matching": 0.5882352941176471, "diff": [["@@ -0x100268e0,17 +0x100268c0,17 @@", [{"both": [["0x100268e0", "xor edx, edx", "0x100268c0"]]}, {"orig": [["0x100268e2", "mov eax, g_plantInfo[0].m_entity (DATA)"], ["0x100268e7", "mov ecx, dword ptr [esp + 4]"], ["0x100268eb", "cmp dword ptr [eax], ecx"], ["0x100268ed", "je 0xb"], ["0x100268ef", "add eax, 0x54"]], "recomp": [["0x100268c2", "mov ecx, g_plantInfo[0].m_entity (DATA)"], ["0x100268c7", "mov eax, dword ptr [esp + 4]"], ["0x100268cb", "cmp dword ptr [ecx], eax"], ["0x100268cd", "je 0xc"], ["0x100268cf", "add ecx, 0x54"]]}, {"both": [["0x100268f2", "inc edx", "0x100268d2"]]}, {"orig": [["0x100268f3", "cmp eax, 0x10104c14"], ["0x100268f8", "jb -0xf"]], "recomp": [["0x100268d3", "cmp ecx, 0x10103d0c"], ["0x100268d9", "jb -0x10"]]}, {"both": [["0x100268fa", "cmp edx, 0x51", "0x100268db"], ["0x100268fd", "jae 0x10", "0x100268de"], ["0x100268ff", "lea eax, [edx + edx*4]", "0x100268e0"], ["0x10026902", "lea ecx, [edx + eax*4]", "0x100268e3"], ["0x10026905", "lea eax, [ecx*4 + g_plantInfo[0].m_entity (DATA)]", "0x100268e6"], ["0x1002690c", "ret 4", "0x100268ed"], ["0x1002690f", "xor eax, eax", "0x100268f0"], ["0x10026911", "ret 4", "0x100268f2"]]}]]]}, {"address": "0x10026920", "recomp": "0x10026900", "name": "LegoPlantManager::SwitchColor", "matching": 1.0, "diff": []}, {"address": "0x100269e0", "recomp": "0x100269c0", "name": "LegoPlantManager::SwitchVariant", "matching": 1.0, "diff": []}, {"address": "0x10026ad0", "recomp": "0x10026ab0", "name": "LegoPlantManager::SwitchSound", "matching": 1.0, "diff": []}, {"address": "0x10026b00", "recomp": "0x10026ae0", "name": "LegoPlantManager::SwitchMove", "matching": 1.0, "diff": []}, {"address": "0x10026b40", "recomp": "0x10026b20", "name": "LegoPlantManager::SwitchMood", "matching": 1.0, "diff": []}, {"address": "0x10026b70", "recomp": "0x10026b50", "name": "LegoPlantManager::GetAnimationId", "matching": 1.0, "diff": []}, {"address": "0x10026ba0", "recomp": "0x10026b80", "name": "LegoPlantManager::GetSoundId", "matching": 1.0, "diff": []}, {"address": "0x10026be0", "recomp": "0x10026bc0", "name": "LegoPlantManager::SetCustomizeAnimFile", "matching": 1.0, "diff": []}, {"address": "0x10026c50", "recomp": "0x10026c30", "name": "LegoPlantManager::FUN_10026c50", "matching": 1.0, "diff": []}, {"address": "0x10026c80", "recomp": "0x10026c60", "name": "LegoPlantManager::FUN_10026c80", "matching": 1.0, "diff": []}, {"address": "0x10026d70", "recomp": "0x10026d50", "name": "LegoPlantManager::ScheduleAnimation", "matching": 1.0, "effective": true, "diff": [["@@ -0x10026d8a,36 +0x10026d6a,36 @@", [{"both": [["0x10026d8a", "mov edx, dword ptr [eax]", "0x10026d6a"], ["0x10026d8c", "push esi", "0x10026d6c"], ["0x10026d8d", "mov ecx, eax", "0x10026d6d"], ["0x10026d8f", "call dword ptr [edx + 0x14]", "0x10026d6f"], ["0x10026d92", "push 0xc", "0x10026d72"], ["0x10026d94", "call ??2@YAPAXI@Z (FUNCTION)", "0x10026d74"], ["0x10026d99", "movsx ecx, byte ptr [esi + 0x24]", "0x10026d79"], ["0x10026d9d", "add esp, 4", "0x10026d7d"], ["0x10026da0", "mov dword ptr [esi + ecx*4 + 0x10], eax", "0x10026d80"], ["0x10026da4", "mov cl, byte ptr [esi + 0x24]", "0x10026d84"]]}, {"orig": [["0x10026da7", "mov edi, dword ptr [esp + 0x10]"]], "recomp": [["0x10026d87", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10026dab", "movsx eax, cl", "0x10026d8b"], ["0x10026dae", "inc cl", "0x10026d8e"]]}, {"orig": [["0x10026db0", "mov ebx, dword ptr [esi + eax*4 + 0x10]"]], "recomp": [["0x10026d90", "mov edi, dword ptr [esi + eax*4 + 0x10]"]]}, {"both": [["0x10026db4", "mov byte ptr [esi + 0x24], cl", "0x10026d94"]]}, {"orig": [["0x10026db7", "mov dword ptr [ebx], edi"], ["0x10026db9", "mov eax, dword ptr [edi + 0x54]"], ["0x10026dbc", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x10026d97", "mov dword ptr [edi], ebx"], ["0x10026d99", "mov eax, dword ptr [ebx + 0x54]"], ["0x10026d9c", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x10026dbf", "call Timer (FUNCTION)", "0x10026d9f"], ["0x10026dc4", "cmp byte ptr [eax + 0xc], 0", "0x10026da4"], ["0x10026dc8", "je 0x8", "0x10026da8"], ["0x10026dca", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10026daa"], ["0x10026dd0", "jmp 0x9", "0x10026db0"], ["0x10026dd2", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10026db2"], ["0x10026dd8", "sub ecx, dword ptr [eax + 8]", "0x10026db8"], ["0x10026ddb", "add ecx, dword ptr [esp + 0x14]", "0x10026dbb"], ["0x10026ddf", "push -1", "0x10026dbf"], ["0x10026de1", "add ecx, 0x3e8", "0x10026dc1"]]}, {"orig": [["0x10026de7", "push edi"], ["0x10026de8", "mov dword ptr [ebx + 8], ecx"]], "recomp": [["0x10026dc7", "push ebx"], ["0x10026dc8", "mov dword ptr [edi + 8], ecx"]]}, {"both": [["0x10026deb", "mov ecx, esi", "0x10026dcb"], ["0x10026ded", "call LegoPlantManager::FUN_100271b0 (FUNCTION)", "0x10026dcd"], ["0x10026df2", "pop edi", "0x10026dd2"], ["0x10026df3", "pop esi", "0x10026dd3"], ["0x10026df4", "pop ebx", "0x10026dd4"], ["0x10026df5", "ret 8", "0x10026dd5"]]}]]]}, {"address": "0x10026e00", "recomp": "0x10026de0", "name": "LegoPlantManager::Tickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002707a,41 +0x1002705a,41 @@", [{"both": [["0x1002707a", "push eax", "0x1002705a"], ["0x1002707b", "mov ecx, dword ptr [esi]", "0x1002705b"], ["0x1002707d", "call LegoEntity::SetLocation (FUNCTION)", "0x1002705d"], ["0x10027082", "push ebp", "0x10027062"], ["0x10027083", "call ??3@YAXPAX@Z (FUNCTION)", "0x10027063"], ["0x10027088", "add esp, 4", "0x10027068"], ["0x1002708b", "mov al, byte ptr [ebx + 0x24]", "0x1002706b"], ["0x1002708e", "dec al", "0x1002706e"], ["0x10027090", "mov byte ptr [ebx + 0x24], al", "0x10027070"], ["0x10027093", "movsx eax, al", "0x10027073"]]}, {"orig": [["0x10027096", "cmp dword ptr [esp + 0x10], eax"]], "recomp": [["0x10027076", "cmp eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x1002709a", "je 0x1a", "0x1002707a"], ["0x1002709c", "mov ecx, dword ptr [ebx + eax*4 + 0x10]", "0x1002707c"], ["0x100270a0", "dec dword ptr [esp + 0x10]", "0x10027080"], ["0x100270a4", "mov eax, dword ptr [esp + 0x1c]", "0x10027084"], ["0x100270a8", "mov dword ptr [eax], ecx", "0x10027088"], ["0x100270aa", "movsx edx, byte ptr [ebx + 0x24]", "0x1002708a"], ["0x100270ae", "mov dword ptr [ebx + edx*4 + 0x10], 0", "0x1002708e"], ["0x100270b6", "movsx eax, byte ptr [ebx + 0x24]", "0x10027096"], ["0x100270ba", "inc dword ptr [esp + 0x10]", "0x1002709a"], ["0x100270be", "cmp eax, dword ptr [esp + 0x10]", "0x1002709e"], ["0x100270c2", "jg -0x280", "0x100270a2"], ["0x100270c8", "jmp 0x41", "0x100270a8"], ["0x100270ca", "push ebp", "0x100270aa"], ["0x100270cb", "call ??3@YAXPAX@Z (FUNCTION)", "0x100270ab"], ["0x100270d0", "add esp, 4", "0x100270b0"], ["0x100270d3", "mov al, byte ptr [ebx + 0x24]", "0x100270b3"], ["0x100270d6", "dec al", "0x100270b6"], ["0x100270d8", "mov byte ptr [ebx + 0x24], al", "0x100270b8"], ["0x100270db", "movsx eax, al", "0x100270bb"]]}, {"orig": [["0x100270de", "cmp dword ptr [esp + 0x10], eax"]], "recomp": [["0x100270be", "cmp eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x100270e2", "je 0x27", "0x100270c2"], ["0x100270e4", "mov ecx, dword ptr [ebx + eax*4 + 0x10]", "0x100270c4"], ["0x100270e8", "mov eax, dword ptr [esp + 0x10]", "0x100270c8"], ["0x100270ec", "mov dword ptr [ebx + eax*4 + 0x10], ecx", "0x100270cc"], ["0x100270f0", "movsx edx, byte ptr [ebx + 0x24]", "0x100270d0"], ["0x100270f4", "mov dword ptr [ebx + edx*4 + 0x10], 0", "0x100270d4"], ["0x100270fc", "jmp 0xd", "0x100270dc"], ["0x100270fe", "call TickleManager (FUNCTION)", "0x100270de"], ["0x10027103", "mov ecx, eax", "0x100270e3"], ["0x10027105", "push ebx", "0x100270e5"]]}]]]}, {"address": "0x10027120", "recomp": "0x10027100", "name": "LegoPlantManager::FUN_10027120", "matching": 0.9782608695652174, "diff": [["@@ -0x10027176,18 +0x10027156,18 @@", [{"both": [["0x10027176", "mov dword ptr [esp + 0x2c], eax", "0x10027156"], ["0x1002717a", "lea eax, [esp + 0x20]", "0x1002715a"], ["0x1002717e", "push edx", "0x1002715e"], ["0x1002717f", "lea edx, [esp + 0x2c]", "0x1002715f"], ["0x10027183", "push eax", "0x10027163"], ["0x10027184", "mov dword ptr [esp + 0x30], ebp", "0x10027164"], ["0x10027188", "push edx", "0x10027168"], ["0x10027189", "call LegoEntity::SetLocation (FUNCTION)", "0x10027169"], ["0x1002718e", "add edi, 0x54", "0x1002716e"], ["0x10027191", "inc esi", "0x10027171"]]}, {"orig": [["0x10027192", "cmp edi, 0x10104c14"]], "recomp": [["0x10027172", "cmp edi, 0x10103d0c"]]}, {"both": [["0x10027198", "jb -0x59", "0x10027178"], ["0x1002719a", "pop ebp", "0x1002717a"], ["0x1002719b", "pop edi", "0x1002717b"], ["0x1002719c", "pop esi", "0x1002717c"], ["0x1002719d", "pop ebx", "0x1002717d"], ["0x1002719e", "add esp, 0x1c", "0x1002717e"], ["0x100271a1", "ret ", "0x10027181"]]}]]]}, {"address": "0x100271b0", "recomp": "0x10027190", "name": "LegoPlantManager::FUN_100271b0", "matching": 1.0, "diff": []}, {"address": "0x10027200", "recomp": "0x100271e0", "name": "LegoPlantManager::FUN_10027200", "matching": 1.0, "diff": []}, {"address": "0x10027220", "recomp": "0x10027200", "name": "BumpBouy::BumpBouy", "matching": 1.0, "diff": []}, {"address": "0x10027360", "recomp": "0x10027340", "name": "BumpBouy::~BumpBouy", "matching": 1.0, "diff": []}, {"address": "0x10027400", "recomp": "0x100273e0", "name": "BumpBouy::Notify", "matching": 1.0, "diff": []}, {"address": "0x10027490", "recomp": "0x10027470", "name": "BumpBouy::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100274a0", "recomp": "0x10027480", "name": "BumpBouy::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100274d0", "recomp": "0x100274b0", "name": "BumpBouy::Notify`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100274e0", "recomp": "0x100274c0", "name": "BumpBouy::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100274f0", "recomp": "0x100274d0", "name": "BumpBouy::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10027500", "recomp": "0x100274e0", "name": "BumpBouy::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10027510", "recomp": "0x100274f0", "name": "BumpBouy::IsA", "matching": 1.0, "diff": []}, {"address": "0x10027690", "recomp": "0x10027670", "name": "ModelDbModel::Free", "matching": 1.0, "diff": []}, {"address": "0x100276b0", "recomp": "0x10027690", "name": "ModelDbModel::Read", "matching": 1.0, "diff": []}, {"address": "0x10027850", "recomp": "0x10027830", "name": "ModelDbPart::Read", "matching": 1.0, "diff": []}, {"address": "0x10027910", "recomp": "0x100278f0", "name": "ReadModelDbWorlds", "matching": 1.0, "effective": true, "diff": [["@@ -0x10027b2e,40 +0x10027b0e,40 @@", [{"both": [["0x10027b2e", "push 1", "0x10027b0e"], ["0x10027b30", "push 4", "0x10027b10"], ["0x10027b32", "push esi", "0x10027b12"], ["0x10027b33", "call _fread (FUNCTION)", "0x10027b13"], ["0x10027b38", "add esp, 0x10", "0x10027b18"], ["0x10027b3b", "cmp eax, 1", "0x10027b1b"], ["0x10027b3e", "jne 0xc9", "0x10027b1e"], ["0x10027b44", "mov eax, dword ptr [esi]", "0x10027b24"], ["0x10027b46", "mov ecx, eax", "0x10027b26"], ["0x10027b48", "shl eax, 3", "0x10027b28"]]}, {"orig": [["0x10027b4b", "xor edi, edi"]], "recomp": [["0x10027b2b", "xor ebx, ebx"]]}, {"both": [["0x10027b4d", "sub eax, ecx", "0x10027b2d"], ["0x10027b4f", "shl eax, 3", "0x10027b2f"], ["0x10027b52", "push eax", "0x10027b32"], ["0x10027b53", "call ??2@YAPAXI@Z (FUNCTION)", "0x10027b33"], ["0x10027b58", "add esp, 4", "0x10027b38"], ["0x10027b5b", "mov dword ptr [esi - 4], eax", "0x10027b3b"]]}, {"orig": [["0x10027b5e", "cmp dword ptr [esi], edi"]], "recomp": [["0x10027b3e", "cmp dword ptr [esi], ebx"]]}, {"both": [["0x10027b60", "jle 0x20", "0x10027b40"]]}, {"orig": [["0x10027b62", "xor ebx, ebx"]], "recomp": [["0x10027b42", "xor edi, edi"]]}, {"both": [["0x10027b64", "mov eax, dword ptr [ebp + 8]", "0x10027b44"], ["0x10027b67", "mov ecx, dword ptr [esi - 4]", "0x10027b47"], ["0x10027b6a", "push eax", "0x10027b4a"]]}, {"orig": [["0x10027b6b", "add ecx, ebx"]], "recomp": [["0x10027b4b", "add ecx, edi"]]}, {"both": [["0x10027b6d", "call ModelDbModel::Read (FUNCTION)", "0x10027b4d"], ["0x10027b72", "test eax, eax", "0x10027b52"], ["0x10027b74", "jne 0x9a", "0x10027b54"]]}, {"orig": [["0x10027b7a", "add ebx, 0x38"], ["0x10027b7d", "inc edi"], ["0x10027b7e", "cmp dword ptr [esi], edi"]], "recomp": [["0x10027b5a", "add edi, 0x38"], ["0x10027b5d", "inc ebx"], ["0x10027b5e", "cmp dword ptr [esi], ebx"]]}, {"both": [["0x10027b80", "jg -0x1e", "0x10027b60"], ["0x10027b82", "add esi, 0x18", "0x10027b62"], ["0x10027b85", "inc dword ptr [ebp - 0x20]", "0x10027b65"], ["0x10027b88", "mov eax, dword ptr [ebp - 0x20]", "0x10027b68"], ["0x10027b8b", "cmp eax, dword ptr [ebp - 0x18]", "0x10027b6b"], ["0x10027b8e", "jl -0x208", "0x10027b6e"], ["0x10027b94", "mov eax, dword ptr [ebp + 0xc]", "0x10027b74"], ["0x10027b97", "mov ecx, dword ptr [ebp - 0x1c]", "0x10027b77"], ["0x10027b9a", "mov edx, dword ptr [ebp - 0x18]", "0x10027b7a"], ["0x10027b9d", "mov dword ptr [eax], ecx", "0x10027b7d"]]}]]]}, {"address": "0x10027c40", "recomp": "0x10027c20", "name": "ModelDbPartList::Compare", "matching": 1.0, "diff": []}, {"address": "0x10027c70", "recomp": "0x10027c50", "name": "MxCollection<ModelDbPart *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x10027c80", "recomp": "0x10027c60", "name": "MxCollection<ModelDbPart *>::~MxCollection<ModelDbPart *>", "matching": 1.0, "diff": []}, {"address": "0x10027cd0", "recomp": "0x10027cb0", "name": "MxCollection<ModelDbPart *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10027ce0", "recomp": "0x10027cc0", "name": "MxList<ModelDbPart *>::~MxList<ModelDbPart *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x10027ce9,33 +0x10027cc9,33 @@", [{"both": [["0x10027ce9", "push -1", "0x10027cc9"], ["0x10027ceb", "push <OFFSET1>", "0x10027ccb"], ["0x10027cf0", "push eax", "0x10027cd0"], ["0x10027cf1", "mov dword ptr fs:[0], esp", "0x10027cd1"], ["0x10027cf8", "mov dword ptr [ecx], MxList<ModelDbPart *>::`vftable' (VTABLE)", "0x10027cd8"], ["0x10027cfe", "sub esp, 4", "0x10027cde"], ["0x10027d01", "mov dword ptr [ebp - 0x10], ecx", "0x10027ce1"], ["0x10027d04", "mov dword ptr [ebp - 4], 0", "0x10027ce4"], ["0x10027d0b", "push esi", "0x10027ceb"], ["0x10027d0c", "push edi", "0x10027cec"]]}, {"orig": [["0x10027d0d", "mov esi, dword ptr [ecx + 0x10]"], ["0x10027d10", "test esi, esi"]], "recomp": [["0x10027ced", "mov edi, dword ptr [ecx + 0x10]"], ["0x10027cf0", "test edi, edi"]]}, {"both": [["0x10027d12", "je 0x1c", "0x10027cf2"]]}, {"orig": [["0x10027d14", "mov edi, dword ptr [esi + 8]"], ["0x10027d17", "mov eax, dword ptr [esi]"]], "recomp": [["0x10027cf4", "mov esi, dword ptr [edi + 8]"], ["0x10027cf7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10027d19", "push eax", "0x10027cf9"], ["0x10027d1a", "mov ecx, dword ptr [ebp - 0x10]", "0x10027cfa"], ["0x10027d1d", "call dword ptr [ecx + 0xc]", "0x10027cfd"], ["0x10027d20", "add esp, 4", "0x10027d00"]]}, {"orig": [["0x10027d23", "push esi"]], "recomp": [["0x10027d03", "push edi"]]}, {"both": [["0x10027d24", "call ??3@YAXPAX@Z (FUNCTION)", "0x10027d04"], ["0x10027d29", "add esp, 4", "0x10027d09"]]}, {"orig": [["0x10027d2c", "mov esi, edi"]], "recomp": [["0x10027d0c", "mov edi, esi"]]}, {"both": [["0x10027d2e", "jmp -0x20", "0x10027d0e"], ["0x10027d30", "xor eax, eax", "0x10027d10"], ["0x10027d32", "mov ecx, dword ptr [ebp - 0x10]", "0x10027d12"], ["0x10027d35", "mov dword ptr [ebp - 4], 0xffffffff", "0x10027d15"], ["0x10027d3c", "mov dword ptr [ecx + 8], eax", "0x10027d1c"], ["0x10027d3f", "mov dword ptr [ecx + 0x14], eax", "0x10027d1f"], ["0x10027d42", "mov dword ptr [ecx + 0x10], eax", "0x10027d22"], ["0x10027d45", "call <OFFSET4>", "0x10027d25"], ["0x10027d4a", "mov eax, dword ptr [ebp - 0xc]", "0x10027d2a"], ["0x10027d4d", "pop edi", "0x10027d2d"]]}]]]}, {"address": "0x10027d70", "recomp": "0x10027d50", "name": "ModelDbPartList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10027de0", "recomp": "0x10027dc0", "name": "MxCollection<ModelDbPart *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10027e50", "recomp": "0x10027e30", "name": "MxList<ModelDbPart *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x10027e59,33 +0x10027e39,33 @@", [{"both": [["0x10027e59", "push -1", "0x10027e39"], ["0x10027e5b", "push <OFFSET1>", "0x10027e3b"], ["0x10027e60", "push eax", "0x10027e40"], ["0x10027e61", "mov dword ptr fs:[0], esp", "0x10027e41"], ["0x10027e68", "mov dword ptr [ecx], MxList<ModelDbPart *>::`vftable' (VTABLE)", "0x10027e48"], ["0x10027e6e", "sub esp, 4", "0x10027e4e"], ["0x10027e71", "mov dword ptr [ebp - 0x10], ecx", "0x10027e51"], ["0x10027e74", "mov dword ptr [ebp - 4], 0", "0x10027e54"], ["0x10027e7b", "push esi", "0x10027e5b"], ["0x10027e7c", "push edi", "0x10027e5c"]]}, {"orig": [["0x10027e7d", "mov esi, dword ptr [ecx + 0x10]"], ["0x10027e80", "test esi, esi"]], "recomp": [["0x10027e5d", "mov edi, dword ptr [ecx + 0x10]"], ["0x10027e60", "test edi, edi"]]}, {"both": [["0x10027e82", "je 0x1c", "0x10027e62"]]}, {"orig": [["0x10027e84", "mov edi, dword ptr [esi + 8]"], ["0x10027e87", "mov eax, dword ptr [esi]"]], "recomp": [["0x10027e64", "mov esi, dword ptr [edi + 8]"], ["0x10027e67", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10027e89", "push eax", "0x10027e69"], ["0x10027e8a", "mov ecx, dword ptr [ebp - 0x10]", "0x10027e6a"], ["0x10027e8d", "call dword ptr [ecx + 0xc]", "0x10027e6d"], ["0x10027e90", "add esp, 4", "0x10027e70"]]}, {"orig": [["0x10027e93", "push esi"]], "recomp": [["0x10027e73", "push edi"]]}, {"both": [["0x10027e94", "call ??3@YAXPAX@Z (FUNCTION)", "0x10027e74"], ["0x10027e99", "add esp, 4", "0x10027e79"]]}, {"orig": [["0x10027e9c", "mov esi, edi"]], "recomp": [["0x10027e7c", "mov edi, esi"]]}, {"both": [["0x10027e9e", "jmp -0x20", "0x10027e7e"], ["0x10027ea0", "xor eax, eax", "0x10027e80"], ["0x10027ea2", "mov ecx, dword ptr [ebp - 0x10]", "0x10027e82"], ["0x10027ea5", "mov dword ptr [ebp - 4], 0xffffffff", "0x10027e85"], ["0x10027eac", "mov dword ptr [ecx + 8], eax", "0x10027e8c"], ["0x10027eaf", "mov dword ptr [ecx + 0x14], eax", "0x10027e8f"], ["0x10027eb2", "mov dword ptr [ecx + 0x10], eax", "0x10027e92"], ["0x10027eb5", "call <OFFSET4>", "0x10027e95"], ["0x10027eba", "test byte ptr [ebp + 8], 1", "0x10027e9a"], ["0x10027ebe", "je 0xc", "0x10027e9e"]]}]]]}, {"address": "0x10027f00", "recomp": "0x10028060", "name": "ModelDbPartListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10027f70", "recomp": "0x100280d0", "name": "MxListCursor<ModelDbPart *>::~MxListCursor<ModelDbPart *>", "matching": 1.0, "diff": []}, {"address": "0x10027fc0", "recomp": "0x10028120", "name": "MxListCursor<ModelDbPart *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10028030", "recomp": "0x10028190", "name": "ModelDbPartListCursor::~ModelDbPartListCursor", "matching": 1.0, "diff": []}, {"address": "0x10028080", "recomp": "0x10027ee0", "name": "FreeModelDbWorlds", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002814b,30 +0x10027fab,30 @@", [{"both": [["0x1002814b", "add esp, 4", "0x10027fab"], ["0x1002814e", "jmp -0x4e", "0x10027fae"], ["0x10028150", "mov eax, dword ptr [ebp - 0x10]", "0x10027fb0"], ["0x10028153", "mov ecx, dword ptr [eax]", "0x10027fb3"], ["0x10028155", "test ecx, ecx", "0x10027fb5"], ["0x10028157", "je 0x6", "0x10027fb7"], ["0x10028159", "push 1", "0x10027fb9"], ["0x1002815b", "mov eax, dword ptr [ecx]", "0x10027fbb"], ["0x1002815d", "call dword ptr [eax]", "0x10027fbd"], ["0x1002815f", "mov eax, dword ptr [ebp - 0x10]", "0x10027fbf"]]}, {"orig": [["0x10028162", "xor edi, edi"], ["0x10028164", "mov esi, dword ptr [eax + 4]"], ["0x10028167", "cmp dword ptr [eax + 8], edi"]], "recomp": [["0x10027fc2", "xor esi, esi"], ["0x10027fc4", "mov edi, dword ptr [eax + 4]"], ["0x10027fc7", "cmp dword ptr [eax + 8], esi"]]}, {"both": [["0x1002816a", "jle 0x13", "0x10027fca"]]}, {"orig": [["0x1002816c", "mov ecx, esi"], ["0x1002816e", "inc edi"], ["0x1002816f", "add esi, 0x38"]], "recomp": [["0x10027fcc", "mov ecx, edi"], ["0x10027fce", "inc esi"], ["0x10027fcf", "add edi, 0x38"]]}, {"both": [["0x10028172", "call ModelDbModel::Free (FUNCTION)", "0x10027fd2"], ["0x10028177", "mov eax, dword ptr [ebp - 0x10]", "0x10027fd7"]]}, {"orig": [["0x1002817a", "cmp dword ptr [eax + 8], edi"]], "recomp": [["0x10027fda", "cmp dword ptr [eax + 8], esi"]]}, {"both": [["0x1002817d", "jg -0x13", "0x10027fdd"], ["0x1002817f", "mov eax, dword ptr [ebp - 0x10]", "0x10027fdf"], ["0x10028182", "mov ecx, dword ptr [eax + 4]", "0x10027fe2"], ["0x10028185", "push ecx", "0x10027fe5"], ["0x10028186", "call ??3@YAXPAX@Z (FUNCTION)", "0x10027fe6"], ["0x1002818b", "mov dword ptr [ebp - 4], 0xffffffff", "0x10027feb"], ["0x10028192", "add esp, 4", "0x10027ff2"], ["0x10028195", "call <OFFSET8>", "0x10027ff5"], ["0x1002819a", "add dword ptr [ebp - 0x10], 0x18", "0x10027ffa"], ["0x1002819e", "inc dword ptr [ebp - 0x28]", "0x10027ffe"]]}]]]}, {"address": "0x10028200", "recomp": "0x100281e0", "name": "RaceCar::RaceCar", "matching": 1.0, "diff": []}, {"address": "0x10028270", "recomp": "0x10028250", "name": "RaceCar::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10028280", "recomp": "0x10028260", "name": "RaceCar::IsA", "matching": 1.0, "diff": []}, {"address": "0x10028400", "recomp": "0x100283e0", "name": "RaceCar::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10028420", "recomp": "0x10028400", "name": "RaceCar::~RaceCar", "matching": 1.0, "diff": []}, {"address": "0x10028490", "recomp": "0x10028470", "name": "RaceCar::Create", "matching": 1.0, "diff": []}, {"address": "0x100284d0", "recomp": "0x100284b0", "name": "RaceCar::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10028520", "recomp": "0x10028500", "name": "LegoControlManager::LegoControlManager", "matching": 1.0, "diff": []}, {"address": "0x10028690", "recomp": "0x10028670", "name": "LegoEventNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x10028770", "recomp": "0x10028750", "name": "LegoEventNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100287e0", "recomp": "0x100287c0", "name": "LegoEventNotificationParam::~LegoEventNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x10028830", "recomp": "0x10028810", "name": "LegoNotifyList::Compare", "matching": 1.0, "diff": []}, {"address": "0x10028850", "recomp": "0x10028830", "name": "MxCollection<MxCore *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x10028860", "recomp": "0x10028840", "name": "MxCollection<MxCore *>::~MxCollection<MxCore *>", "matching": 1.0, "diff": []}, {"address": "0x100288b0", "recomp": "0x10028890", "name": "MxCollection<MxCore *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100288c0", "recomp": "0x100288a0", "name": "MxList<MxCore *>::~MxList<MxCore *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100288c9,33 +0x100288a9,33 @@", [{"both": [["0x100288c9", "push -1", "0x100288a9"], ["0x100288cb", "push <OFFSET1>", "0x100288ab"], ["0x100288d0", "push eax", "0x100288b0"], ["0x100288d1", "mov dword ptr fs:[0], esp", "0x100288b1"], ["0x100288d8", "mov dword ptr [ecx], MxList<MxCore *>::`vftable' (VTABLE)", "0x100288b8"], ["0x100288de", "sub esp, 4", "0x100288be"], ["0x100288e1", "mov dword ptr [ebp - 0x10], ecx", "0x100288c1"], ["0x100288e4", "mov dword ptr [ebp - 4], 0", "0x100288c4"], ["0x100288eb", "push esi", "0x100288cb"], ["0x100288ec", "push edi", "0x100288cc"]]}, {"orig": [["0x100288ed", "mov esi, dword ptr [ecx + 0x10]"], ["0x100288f0", "test esi, esi"]], "recomp": [["0x100288cd", "mov edi, dword ptr [ecx + 0x10]"], ["0x100288d0", "test edi, edi"]]}, {"both": [["0x100288f2", "je 0x1c", "0x100288d2"]]}, {"orig": [["0x100288f4", "mov edi, dword ptr [esi + 8]"], ["0x100288f7", "mov eax, dword ptr [esi]"]], "recomp": [["0x100288d4", "mov esi, dword ptr [edi + 8]"], ["0x100288d7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100288f9", "push eax", "0x100288d9"], ["0x100288fa", "mov ecx, dword ptr [ebp - 0x10]", "0x100288da"], ["0x100288fd", "call dword ptr [ecx + 0xc]", "0x100288dd"], ["0x10028900", "add esp, 4", "0x100288e0"]]}, {"orig": [["0x10028903", "push esi"]], "recomp": [["0x100288e3", "push edi"]]}, {"both": [["0x10028904", "call ??3@YAXPAX@Z (FUNCTION)", "0x100288e4"], ["0x10028909", "add esp, 4", "0x100288e9"]]}, {"orig": [["0x1002890c", "mov esi, edi"]], "recomp": [["0x100288ec", "mov edi, esi"]]}, {"both": [["0x1002890e", "jmp -0x20", "0x100288ee"], ["0x10028910", "xor eax, eax", "0x100288f0"], ["0x10028912", "mov ecx, dword ptr [ebp - 0x10]", "0x100288f2"], ["0x10028915", "mov dword ptr [ebp - 4], 0xffffffff", "0x100288f5"], ["0x1002891c", "mov dword ptr [ecx + 8], eax", "0x100288fc"], ["0x1002891f", "mov dword ptr [ecx + 0x14], eax", "0x100288ff"], ["0x10028922", "mov dword ptr [ecx + 0x10], eax", "0x10028902"], ["0x10028925", "call <OFFSET4>", "0x10028905"], ["0x1002892a", "mov eax, dword ptr [ebp - 0xc]", "0x1002890a"], ["0x1002892d", "pop edi", "0x1002890d"]]}]]]}, {"address": "0x10028950", "recomp": "0x10028930", "name": "LegoNotifyList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100289c0", "recomp": "0x100289a0", "name": "MxPtrList<MxCore>::~MxPtrList<MxCore>", "matching": 1.0, "diff": []}, {"address": "0x10028a10", "recomp": "0x100289f0", "name": "MxCollection<MxCore *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10028a80", "recomp": "0x10028a60", "name": "MxList<MxCore *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x10028a89,33 +0x10028a69,33 @@", [{"both": [["0x10028a89", "push -1", "0x10028a69"], ["0x10028a8b", "push <OFFSET1>", "0x10028a6b"], ["0x10028a90", "push eax", "0x10028a70"], ["0x10028a91", "mov dword ptr fs:[0], esp", "0x10028a71"], ["0x10028a98", "mov dword ptr [ecx], MxList<MxCore *>::`vftable' (VTABLE)", "0x10028a78"], ["0x10028a9e", "sub esp, 4", "0x10028a7e"], ["0x10028aa1", "mov dword ptr [ebp - 0x10], ecx", "0x10028a81"], ["0x10028aa4", "mov dword ptr [ebp - 4], 0", "0x10028a84"], ["0x10028aab", "push esi", "0x10028a8b"], ["0x10028aac", "push edi", "0x10028a8c"]]}, {"orig": [["0x10028aad", "mov esi, dword ptr [ecx + 0x10]"], ["0x10028ab0", "test esi, esi"]], "recomp": [["0x10028a8d", "mov edi, dword ptr [ecx + 0x10]"], ["0x10028a90", "test edi, edi"]]}, {"both": [["0x10028ab2", "je 0x1c", "0x10028a92"]]}, {"orig": [["0x10028ab4", "mov edi, dword ptr [esi + 8]"], ["0x10028ab7", "mov eax, dword ptr [esi]"]], "recomp": [["0x10028a94", "mov esi, dword ptr [edi + 8]"], ["0x10028a97", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10028ab9", "push eax", "0x10028a99"], ["0x10028aba", "mov ecx, dword ptr [ebp - 0x10]", "0x10028a9a"], ["0x10028abd", "call dword ptr [ecx + 0xc]", "0x10028a9d"], ["0x10028ac0", "add esp, 4", "0x10028aa0"]]}, {"orig": [["0x10028ac3", "push esi"]], "recomp": [["0x10028aa3", "push edi"]]}, {"both": [["0x10028ac4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10028aa4"], ["0x10028ac9", "add esp, 4", "0x10028aa9"]]}, {"orig": [["0x10028acc", "mov esi, edi"]], "recomp": [["0x10028aac", "mov edi, esi"]]}, {"both": [["0x10028ace", "jmp -0x20", "0x10028aae"], ["0x10028ad0", "xor eax, eax", "0x10028ab0"], ["0x10028ad2", "mov ecx, dword ptr [ebp - 0x10]", "0x10028ab2"], ["0x10028ad5", "mov dword ptr [ebp - 4], 0xffffffff", "0x10028ab5"], ["0x10028adc", "mov dword ptr [ecx + 8], eax", "0x10028abc"], ["0x10028adf", "mov dword ptr [ecx + 0x14], eax", "0x10028abf"], ["0x10028ae2", "mov dword ptr [ecx + 0x10], eax", "0x10028ac2"], ["0x10028ae5", "call <OFFSET4>", "0x10028ac5"], ["0x10028aea", "test byte ptr [ebp + 8], 1", "0x10028aca"], ["0x10028aee", "je 0xc", "0x10028ace"]]}]]]}, {"address": "0x10028b30", "recomp": "0x10028b10", "name": "MxPtrList<MxCore>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10028ba0", "recomp": "0x10028b80", "name": "LegoNotifyList::~LegoNotifyList", "matching": 1.0, "diff": []}, {"address": "0x10028bf0", "recomp": "0x10028bd0", "name": "LegoControlManagerNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10028c60", "recomp": "0x10028c40", "name": "LegoControlManagerNotificationParam::~LegoControlManagerNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x10028cb0", "recomp": "0x10028c90", "name": "LegoControlManager::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10028cc0", "recomp": "0x10028ca0", "name": "LegoControlManager::IsA", "matching": 1.0, "diff": []}, {"address": "0x10028d40", "recomp": "0x10028d20", "name": "LegoControlManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10028d60", "recomp": "0x10028d40", "name": "LegoControlManager::~LegoControlManager", "matching": 1.0, "diff": []}, {"address": "0x10028df0", "recomp": "0x10028dd0", "name": "LegoControlManager::FUN_10028df0", "matching": 1.0, "diff": []}, {"address": "0x10028e10", "recomp": "0x10028df0", "name": "LegoControlManager::Register", "matching": 1.0, "diff": []}, {"address": "0x10028ea0", "recomp": "0x10028e80", "name": "LegoControlManager::Unregister", "matching": 1.0, "diff": []}, {"address": "0x10028fd0", "recomp": "0x10028fb0", "name": "LegoNotifyListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10029040", "recomp": "0x10029020", "name": "MxPtrListCursor<MxCore>::~MxPtrListCursor<MxCore>", "matching": 1.0, "diff": []}, {"address": "0x10029090", "recomp": "0x10029070", "name": "MxListCursor<MxCore *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10029100", "recomp": "0x100290e0", "name": "MxPtrListCursor<MxCore>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10029170", "recomp": "0x10029150", "name": "MxListCursor<MxCore *>::~MxListCursor<MxCore *>", "matching": 1.0, "diff": []}, {"address": "0x100291c0", "recomp": "0x100291a0", "name": "LegoNotifyListCursor::~LegoNotifyListCursor", "matching": 1.0, "diff": []}, {"address": "0x10029210", "recomp": "0x100291f0", "name": "LegoControlManager::FUN_10029210", "matching": 1.0, "diff": []}, {"address": "0x100292e0", "recomp": "0x100292c0", "name": "LegoControlManager::FUN_100292e0", "matching": 1.0, "diff": []}, {"address": "0x100293c0", "recomp": "0x100293a0", "name": "LegoControlManager::FUN_100293c0", "matching": 0.8625, "diff": [["@@ -0x100293cb,65 +0x100293ab,64 @@", [{"both": [["0x100293cb", "push <OFFSET1>", "0x100293ab"], ["0x100293d0", "push eax", "0x100293b0"], ["0x100293d1", "mov dword ptr fs:[0], esp", "0x100293b1"], ["0x100293d8", "sub esp, 0x14", "0x100293b8"], ["0x100293db", "push ebx", "0x100293bb"], ["0x100293dc", "push esi", "0x100293bc"], ["0x100293dd", "push edi", "0x100293bd"], ["0x100293de", "mov esi, dword ptr [ecx + 0x44]", "0x100293be"], ["0x100293e1", "xor edi, edi", "0x100293c1"], ["0x100293e3", "test esi, esi", "0x100293c3"]]}, {"orig": [["0x100293e5", "je 0xb7"]], "recomp": [["0x100293c5", "je 0xb3"]]}, {"both": [["0x100293eb", "lea ecx, [ebp - 0x20]", "0x100293cb"], ["0x100293ee", "call MxCore::MxCore (FUNCTION)", "0x100293ce"], ["0x100293f3", "mov eax, 0xffffffff", "0x100293d3"], ["0x100293f8", "mov dword ptr [ebp - 4], edi", "0x100293d8"], ["0x100293fb", "mov dword ptr [ebp - 0x18], esi", "0x100293db"], ["0x100293fe", "mov dword ptr [ebp - 0x14], edi", "0x100293de"], ["0x10029401", "mov dword ptr [ebp - 0x20], MxListCursor<MxPresenter *>::`vftable' (VTABLE)", "0x100293e1"]]}, {"orig": [["0x10029408", "mov bx, word ptr [ebp + 0x10]"]], "recomp": []}, {"both": [["0x1002940c", "mov esi, dword ptr [ebp + 8]", "0x100293e8"]]}, {"orig": [], "recomp": [["0x100293eb", "mov ebx, dword ptr [ebp + 0xc]"]]}, {"both": [["0x1002940f", "mov dword ptr [ebp - 4], 1", "0x100293ee"], ["0x10029416", "mov dword ptr [ebp - 0x20], MxPtrListCursor<MxPresenter>::`vftable' (VTABLE)", "0x100293f5"], ["0x1002941d", "mov dword ptr [ebp - 4], 2", "0x100293fc"], ["0x10029424", "mov dword ptr [ebp - 0x20], MxPresenterListCursor::`vftable' (VTABLE)", "0x10029403"], ["0x1002942b", "mov dword ptr [ebp - 4], 3", "0x1002940a"], ["0x10029432", "cmp dword ptr [ebp - 0x14], edi", "0x10029411"], ["0x10029435", "jne 0x8", "0x10029414"], ["0x10029437", "mov eax, dword ptr [ebp - 0x18]", "0x10029416"], ["0x1002943a", "mov ecx, dword ptr [eax + 0x10]", "0x10029419"], ["0x1002943d", "jmp 0x6", "0x1002941c"], ["0x1002943f", "mov eax, dword ptr [ebp - 0x14]", "0x1002941e"], ["0x10029442", "mov ecx, dword ptr [eax + 8]", "0x10029421"], ["0x10029445", "mov dword ptr [ebp - 0x14], ecx", "0x10029424"], ["0x10029448", "cmp dword ptr [ebp - 0x14], edi", "0x10029427"]]}, {"orig": [["0x1002944b", "je 0x49"]], "recomp": [["0x1002942a", "je 0x46"]]}, {"both": [["0x1002944d", "mov eax, dword ptr [ebp - 0x14]", "0x1002942c"], ["0x10029450", "cmp dword ptr [ebp - 0x14], edi", "0x1002942f"], ["0x10029453", "mov ecx, dword ptr [eax]", "0x10029432"], ["0x10029455", "mov dword ptr [ebp - 0x10], ecx", "0x10029434"]]}, {"orig": [["0x10029458", "je 0x3c"]], "recomp": [["0x10029437", "je 0x39"]]}, {"both": [["0x1002945a", "mov eax, dword ptr [ebp - 0x10]", "0x10029439"], ["0x1002945d", "mov eax, dword ptr [eax + 0x1c]", "0x1002943c"], ["0x10029460", "cmp dword ptr [eax + 0x1c], esi", "0x1002943f"], ["0x10029463", "jne -0x33", "0x10029442"]]}, {"orig": [["0x10029465", "mov ecx, dword ptr [ebp + 0xc]"], ["0x10029468", "cmp dword ptr [eax + 0x20], ecx"], ["0x1002946b", "jne -0x3b"], ["0x1002946d", "push ebx"], ["0x1002946e", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x10029444", "cmp dword ptr [eax + 0x20], ebx"], ["0x10029447", "jne -0x38"], ["0x10029449", "mov eax, dword ptr [ebp + 0x10]"]]}, {"both": [["0x10029471", "mov ecx, dword ptr [ebp - 0x10]", "0x1002944c"]]}, {"orig": [["0x10029474", "mov eax, dword ptr [eax]"]], "recomp": [["0x1002944f", "push eax"], ["0x10029450", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x10029476", "call dword ptr [eax + 0x6c]", "0x10029452"], ["0x10029479", "mov ecx, dword ptr [ebp - 0x10]", "0x10029455"], ["0x1002947c", "cmp word ptr [ecx + 0x4e], di", "0x10029458"]]}, {"orig": [["0x10029480", "jne -0x50"]], "recomp": [["0x1002945c", "jne -0x4d"]]}, {"both": [["0x10029482", "mov dword ptr [g_unk0x100f31b0 (DATA)], 0xffffffff", "0x1002945e"], ["0x1002948c", "mov dword ptr [g_unk0x100f31b4 (DATA)], 0", "0x10029468"], ["0x10029496", "mov dword ptr [ebp - 4], 0xffffffff", "0x10029472"], ["0x1002949d", "call <OFFSET8>", "0x10029479"], ["0x100294a2", "mov eax, dword ptr [ebp - 0xc]", "0x1002947e"], ["0x100294a5", "pop edi", "0x10029481"], ["0x100294a6", "mov dword ptr fs:[0], eax", "0x10029482"], ["0x100294ac", "pop esi", "0x10029488"], ["0x100294ad", "pop ebx", "0x10029489"], ["0x100294ae", "mov esp, ebp", "0x1002948a"]]}]], ["@@ -0x100294b1,10 +0x1002948d,11 @@", [{"both": [["0x100294b1", "ret 0xc", "0x1002948d"], ["0x100294b4", "lea ecx, [ebp - 0x20]", "0x10029490"], ["0x100294b7", "jmp MxCore::~MxCore (FUNCTION)", "0x10029493"], ["0x100294bc", "lea ecx, [ebp - 0x20]", "0x10029498"], ["0x100294bf", "jmp MxListCursor<MxPresenter *>::~MxListCursor<MxPresenter *> (FUNCTION)", "0x1002949b"], ["0x100294c4", "lea ecx, [ebp - 0x20]", "0x100294a0"], ["0x100294c7", "jmp MxPtrListCursor<MxPresenter>::~MxPtrListCursor<MxPresenter> (FUNCTION)", "0x100294a3"], ["0x100294cc", "mov eax, <OFFSET9>", "0x100294a8"], ["0x100294d1", "jmp ___CxxFrameHandler (FUNCTION)", "0x100294ad"], ["0x100294d6", "lea ecx, [ebp - 0x20]", "0x100294b2"]]}, {"orig": [], "recomp": [["0x100294b5", "jmp MxPresenterListCursor::~MxPresenterListCursor (FUNCTION)"]]}]]]}, {"address": "0x100294e0", "recomp": "0x100294c0", "name": "LegoControlManager::FUN_100294e0", "matching": 1.0, "effective": true, "diff": [["@@ -0x10029518,50 +0x100294f8,50 @@", [{"both": [["0x10029518", "mov dword ptr [ebp - 4], ebx", "0x100294f8"], ["0x1002951b", "mov dword ptr [ebp - 0x14], esi", "0x100294fb"], ["0x1002951e", "mov dword ptr [ebp - 0x10], ebx", "0x100294fe"], ["0x10029521", "mov dword ptr [ebp - 0x1c], MxListCursor<MxPresenter *>::`vftable' (VTABLE)", "0x10029501"], ["0x10029528", "mov dword ptr [ebp - 4], 1", "0x10029508"], ["0x1002952f", "mov dword ptr [ebp - 0x1c], MxPtrListCursor<MxPresenter>::`vftable' (VTABLE)", "0x1002950f"], ["0x10029536", "mov dword ptr [ebp - 4], 2", "0x10029516"], ["0x1002953d", "mov dword ptr [ebp - 0x1c], MxPresenterListCursor::`vftable' (VTABLE)", "0x1002951d"], ["0x10029544", "mov dword ptr [ebp - 4], 3", "0x10029524"], ["0x1002954b", "call VideoManager (FUNCTION)", "0x1002952b"]]}, {"orig": [["0x10029550", "mov esi, dword ptr [eax]"]], "recomp": [["0x10029530", "mov edi, dword ptr [eax]"]]}, {"both": [["0x10029552", "mov ecx, eax", "0x10029532"], ["0x10029554", "mov eax, dword ptr [ebp + 0xc]", "0x10029534"]]}, {"orig": [["0x10029557", "mov edi, dword ptr [ebp + 8]"]], "recomp": [["0x10029537", "mov esi, dword ptr [ebp + 8]"]]}, {"both": [["0x1002955a", "push eax", "0x1002953a"]]}, {"orig": [["0x1002955b", "push edi"], ["0x1002955c", "call dword ptr [esi + 0x38]"], ["0x1002955f", "mov esi, eax"], ["0x10029561", "test esi, esi"]], "recomp": [["0x1002953b", "push esi"], ["0x1002953c", "call dword ptr [edi + 0x38]"], ["0x1002953f", "mov edi, eax"], ["0x10029541", "test edi, edi"]]}, {"both": [["0x10029563", "je 0x4b", "0x10029543"], ["0x10029565", "cmp dword ptr [ebp - 0x10], ebx", "0x10029545"], ["0x10029568", "jne 0x8", "0x10029548"], ["0x1002956a", "mov eax, dword ptr [ebp - 0x14]", "0x1002954a"], ["0x1002956d", "mov ecx, dword ptr [eax + 0x10]", "0x1002954d"], ["0x10029570", "jmp 0x6", "0x10029550"], ["0x10029572", "mov eax, dword ptr [ebp - 0x10]", "0x10029552"], ["0x10029575", "mov ecx, dword ptr [eax + 8]", "0x10029555"], ["0x10029578", "mov dword ptr [ebp - 0x10], ecx", "0x10029558"], ["0x1002957b", "cmp dword ptr [ebp - 0x10], ebx", "0x1002955b"], ["0x1002957e", "je 0x30", "0x1002955e"], ["0x10029580", "mov eax, dword ptr [ebp - 0x10]", "0x10029560"], ["0x10029583", "cmp dword ptr [ebp - 0x10], ebx", "0x10029563"], ["0x10029586", "mov ecx, dword ptr [eax]", "0x10029566"], ["0x10029588", "mov dword ptr [ebp - 0x20], ecx", "0x10029568"], ["0x1002958b", "je 0x23", "0x1002956b"]]}, {"orig": [["0x1002958d", "push esi"]], "recomp": [["0x1002956d", "push edi"]]}, {"both": [["0x1002958e", "mov eax, dword ptr [ebp + 0xc]", "0x1002956e"], ["0x10029591", "push eax", "0x10029571"], ["0x10029592", "mov ecx, dword ptr [ebp - 0x20]", "0x10029572"]]}, {"orig": [["0x10029595", "push edi"]], "recomp": [["0x10029575", "push esi"]]}, {"both": [["0x10029596", "call MxControlPresenter::FUN_10044270 (FUNCTION)", "0x10029576"], ["0x1002959b", "test al, al", "0x1002957b"], ["0x1002959d", "je -0x3a", "0x1002957d"], ["0x1002959f", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002957f"], ["0x100295a6", "call <OFFSET8>", "0x10029586"], ["0x100295ab", "mov eax, dword ptr [ebp - 0x20]", "0x1002958b"], ["0x100295ae", "jmp 0xe", "0x1002958e"], ["0x100295b0", "mov dword ptr [ebp - 4], 0xffffffff", "0x10029590"], ["0x100295b7", "call <OFFSET8>", "0x10029597"], ["0x100295bc", "xor eax, eax", "0x1002959c"]]}]]]}, {"address": "0x10029600", "recomp": "0x100295e0", "name": "LegoControlManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10029630", "recomp": "0x10029610", "name": "LegoControlManager::FUN_10029630", "matching": 1.0, "diff": []}, {"address": "0x10029750", "recomp": "0x10029730", "name": "LegoControlManager::FUN_10029750", "matching": 1.0, "diff": []}, {"address": "0x100298a0", "recomp": "0x10029880", "name": "LegoSoundManager::LegoSoundManager", "matching": 1.0, "diff": []}, {"address": "0x10029910", "recomp": "0x100298f0", "name": "MxAudioManager::GetVolume", "matching": 1.0, "diff": []}, {"address": "0x10029920", "recomp": "0x10029900", "name": "LegoSoundManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10029940", "recomp": "0x10029920", "name": "LegoSoundManager::~LegoSoundManager", "matching": 1.0, "diff": []}, {"address": "0x100299a0", "recomp": "0x10029980", "name": "LegoSoundManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100299b0", "recomp": "0x10029990", "name": "LegoSoundManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100299f0", "recomp": "0x100299d0", "name": "LegoSoundManager::Create", "matching": 1.0, "diff": []}, {"address": "0x10029c30", "recomp": "0x10029c10", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::~_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEnt", "matching": 0.961038961038961, "diff": [["@@ -0x10029c30,22 +0x10029c10,22 @@", [{"both": [["0x10029c30", "sub esp, 0x10", "0x10029c10"], ["0x10029c33", "push ebx", "0x10029c13"], ["0x10029c34", "push esi", "0x10029c14"], ["0x10029c35", "push edi", "0x10029c15"], ["0x10029c36", "mov esi, ecx", "0x10029c16"], ["0x10029c38", "push ebp", "0x10029c18"], ["0x10029c39", "mov ecx, dword ptr [esi + 4]", "0x10029c19"]]}, {"orig": [["0x10029c3c", "cmp dword ptr [esi + 0xc], 0"]], "recomp": [["0x10029c1c", "mov dword ptr [esp + 0x18], ecx"]]}, {"both": [["0x10029c40", "mov eax, dword ptr [ecx]", "0x10029c20"]]}, {"orig": [["0x10029c42", "mov dword ptr [esp + 0x18], ecx"]], "recomp": []}, {"both": [["0x10029c46", "mov dword ptr [esp + 0x10], eax", "0x10029c22"], ["0x10029c4a", "mov dword ptr [esp + 0x14], eax", "0x10029c26"]]}, {"orig": [], "recomp": [["0x10029c2a", "cmp dword ptr [esi + 0xc], 0"]]}, {"both": [["0x10029c4e", "je 0x65", "0x10029c2e"], ["0x10029c50", "cmp dword ptr [ecx], eax", "0x10029c30"], ["0x10029c52", "jne 0x61", "0x10029c32"], ["0x10029c54", "cmp ecx, ecx", "0x10029c34"], ["0x10029c56", "jne 0x5d", "0x10029c36"], ["0x10029c58", "mov edi, dword ptr [ecx + 4]", "0x10029c38"], ["0x10029c5b", "xor ebp, ebp", "0x10029c3b"], ["0x10029c5d", "mov ebx, edi", "0x10029c3d"], ["0x10029c5f", "cmp ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]", "0x10029c3f"], ["0x10029c65", "je 0x2f", "0x10029c45"]]}]], ["@@ -0x10029c81,22 +0x10029c61,22 @@", [{"both": [["0x10029c81", "call ??3@YAXPAX@Z (FUNCTION)", "0x10029c61"], ["0x10029c86", "add esp, 4", "0x10029c66"], ["0x10029c89", "push edi", "0x10029c69"], ["0x10029c8a", "call ??3@YAXPAX@Z (FUNCTION)", "0x10029c6a"], ["0x10029c8f", "add esp, 4", "0x10029c6f"], ["0x10029c92", "mov edi, ebx", "0x10029c72"], ["0x10029c94", "jmp -0x37", "0x10029c74"], ["0x10029c96", "mov eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]", "0x10029c76"], ["0x10029c9b", "mov ecx, dword ptr [esi + 4]", "0x10029c7b"], ["0x10029c9e", "mov dword ptr [ecx + 4], eax", "0x10029c7e"]]}, {"orig": [], "recomp": [["0x10029c81", "mov dword ptr [esi + 0xc], 0"]]}, {"both": [["0x10029ca1", "mov eax, dword ptr [esi + 4]", "0x10029c88"]]}, {"orig": [["0x10029ca4", "mov dword ptr [esi + 0xc], 0"]], "recomp": []}, {"both": [["0x10029cab", "mov dword ptr [eax], eax", "0x10029c8b"], ["0x10029cad", "mov eax, dword ptr [esi + 4]", "0x10029c8d"], ["0x10029cb0", "mov dword ptr [eax + 8], eax", "0x10029c90"], ["0x10029cb3", "jmp 0x36", "0x10029c93"], ["0x10029cb5", "mov eax, dword ptr [esp + 0x18]", "0x10029c95"], ["0x10029cb9", "cmp dword ptr [esp + 0x10], eax", "0x10029c99"], ["0x10029cbd", "je 0x2c", "0x10029c9d"], ["0x10029cbf", "mov eax, dword ptr [esp + 0x14]", "0x10029c9f"], ["0x10029cc3", "lea ecx, [esp + 0x14]", "0x10029ca3"], ["0x10029cc7", "mov dword ptr [esp + 0x1c], eax", "0x10029ca7"]]}]]]}, {"address": "0x10029d10", "recomp": "0x10029cf0", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x10029d10,16 +0x10029cf0,16 @@", [{"both": [["0x10029d10", "mov eax, dword ptr [ecx]", "0x10029cf0"], ["0x10029d12", "mov edx, dword ptr [eax + 8]", "0x10029cf2"]]}, {"orig": [["0x10029d15", "cmp edx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029cf5", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], edx"]]}, {"both": [["0x10029d1b", "je 0x11", "0x10029cfb"], ["0x10029d1d", "mov eax, dword ptr [edx]", "0x10029cfd"]]}, {"orig": [["0x10029d1f", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029cff", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x10029d25", "je 0x4", "0x10029d05"], ["0x10029d27", "mov edx, eax", "0x10029d07"], ["0x10029d29", "jmp -0xe", "0x10029d09"], ["0x10029d2b", "mov dword ptr [ecx], edx", "0x10029d0b"], ["0x10029d2d", "ret ", "0x10029d0d"], ["0x10029d2e", "mov edx, dword ptr [eax + 4]", "0x10029d0e"], ["0x10029d31", "cmp dword ptr [edx + 8], eax", "0x10029d11"], ["0x10029d34", "jne 0xc", "0x10029d14"], ["0x10029d36", "mov dword ptr [ecx], edx", "0x10029d16"], ["0x10029d38", "mov eax, edx", "0x10029d18"]]}]]]}, {"address": "0x10029d50", "recomp": "0x10029d30", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::erase", "matching": 0.6862483311081442, "diff": [["@@ -0x10029d50,49 +0x10029d30,49 @@", [{"both": [["0x10029d50", "mov eax, dword ptr [esp + 8]", "0x10029d30"], ["0x10029d54", "sub esp, 4", "0x10029d34"], ["0x10029d57", "mov dword ptr [esp], eax", "0x10029d37"], ["0x10029d5b", "push ebx", "0x10029d3b"], ["0x10029d5c", "push esi", "0x10029d3c"], ["0x10029d5d", "mov eax, dword ptr [eax + 8]", "0x10029d3d"], ["0x10029d60", "push edi", "0x10029d40"], ["0x10029d61", "mov esi, ecx", "0x10029d41"], ["0x10029d63", "push ebp", "0x10029d43"]]}, {"orig": [["0x10029d64", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029d44", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x10029d6a", "je 0xe", "0x10029d4a"], ["0x10029d6c", "mov ecx, dword ptr [eax]", "0x10029d4c"]]}, {"orig": [["0x10029d6e", "cmp ecx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029d4e", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ecx"]]}, {"both": [["0x10029d74", "je 0x29", "0x10029d54"], ["0x10029d76", "mov eax, ecx", "0x10029d56"], ["0x10029d78", "jmp -0xe", "0x10029d58"], ["0x10029d7a", "mov ecx, dword ptr [esp + 0x1c]", "0x10029d5a"], ["0x10029d7e", "mov eax, dword ptr [ecx + 4]", "0x10029d5e"], ["0x10029d81", "cmp dword ptr [eax + 8], ecx", "0x10029d61"], ["0x10029d84", "jne 0x10", "0x10029d64"], ["0x10029d86", "mov dword ptr [esp + 0x1c], eax", "0x10029d66"], ["0x10029d8a", "mov eax, dword ptr [eax + 4]", "0x10029d6a"], ["0x10029d8d", "mov ecx, dword ptr [esp + 0x1c]", "0x10029d6d"], ["0x10029d91", "cmp dword ptr [eax + 8], ecx", "0x10029d71"], ["0x10029d94", "je -0x10", "0x10029d74"], ["0x10029d96", "mov ecx, dword ptr [esp + 0x1c]", "0x10029d76"], ["0x10029d9a", "cmp dword ptr [ecx + 8], eax", "0x10029d7a"], ["0x10029d9d", "je 0x4", "0x10029d7d"], ["0x10029d9f", "mov dword ptr [esp + 0x1c], eax", "0x10029d7f"], ["0x10029da3", "mov edi, dword ptr [esp + 0x10]", "0x10029d83"], ["0x10029da7", "mov ebx, dword ptr [edi]", "0x10029d87"]]}, {"orig": [["0x10029da9", "cmp ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029d89", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10029daf", "je 0x26", "0x10029d8f"], ["0x10029db1", "lea edx, [edi + 8]", "0x10029d91"], ["0x10029db4", "mov ecx, dword ptr [edx]", "0x10029d94"]]}, {"orig": [["0x10029db6", "cmp ecx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029d96", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ecx"]]}, {"both": [["0x10029dbc", "je 0x15", "0x10029d9c"], ["0x10029dbe", "mov eax, dword ptr [ecx]", "0x10029d9e"]]}, {"orig": [["0x10029dc0", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029da0", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x10029dc6", "je 0x4", "0x10029da6"], ["0x10029dc8", "mov ecx, eax", "0x10029da8"], ["0x10029dca", "jmp -0xe", "0x10029daa"], ["0x10029dcc", "mov edi, ecx", "0x10029dac"], ["0x10029dce", "mov ecx, dword ptr [ecx + 8]", "0x10029dae"], ["0x10029dd1", "jmp 0xe", "0x10029db1"], ["0x10029dd3", "mov ecx, ebx", "0x10029db3"], ["0x10029dd5", "jmp 0xa", "0x10029db5"], ["0x10029dd7", "mov edx, dword ptr [esp + 0x10]", "0x10029db7"], ["0x10029ddb", "mov ecx, dword ptr [edx + 8]", "0x10029dbb"]]}]], ["@@ -0x10029e0b,49 +0x10029deb,49 @@", [{"both": [["0x10029e0b", "mov dword ptr [eax], ecx", "0x10029deb"], ["0x10029e0d", "mov ebx, dword ptr [esi + 4]", "0x10029ded"], ["0x10029e10", "mov eax, dword ptr [esp + 0x10]", "0x10029df0"], ["0x10029e14", "cmp dword ptr [ebx], eax", "0x10029df4"], ["0x10029e16", "jne 0x26", "0x10029df6"], ["0x10029e18", "mov eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]", "0x10029df8"], ["0x10029e1d", "cmp dword ptr [edx], eax", "0x10029dfd"], ["0x10029e1f", "je 0x14", "0x10029dff"], ["0x10029e21", "mov eax, ecx", "0x10029e01"], ["0x10029e23", "mov edx, dword ptr [eax]", "0x10029e03"]]}, {"orig": [["0x10029e25", "cmp edx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029e05", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], edx"]]}, {"both": [["0x10029e2b", "je 0x4", "0x10029e0b"], ["0x10029e2d", "mov eax, edx", "0x10029e0d"], ["0x10029e2f", "jmp -0xe", "0x10029e0f"], ["0x10029e31", "mov dword ptr [ebx], eax", "0x10029e11"], ["0x10029e33", "jmp 0x9", "0x10029e13"], ["0x10029e35", "mov eax, dword ptr [esp + 0x10]", "0x10029e15"], ["0x10029e39", "mov edx, dword ptr [eax + 4]", "0x10029e19"], ["0x10029e3c", "mov dword ptr [ebx], edx", "0x10029e1c"], ["0x10029e3e", "mov edx, dword ptr [esi + 4]", "0x10029e1e"], ["0x10029e41", "mov eax, dword ptr [esp + 0x10]", "0x10029e21"], ["0x10029e45", "add edx, 8", "0x10029e25"], ["0x10029e48", "cmp dword ptr [edx], eax", "0x10029e28"]]}, {"orig": [["0x10029e4a", "jne 0x8a"]], "recomp": [["0x10029e2a", "jne 0x88"]]}, {"both": [["0x10029e50", "mov ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]", "0x10029e30"], ["0x10029e56", "cmp dword ptr [eax], ebx", "0x10029e36"], ["0x10029e58", "je 0x15", "0x10029e38"]]}, {"orig": [["0x10029e5a", "mov eax, ecx"], ["0x10029e5c", "mov ebx, dword ptr [eax + 8]"], ["0x10029e5f", "cmp ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029e3a", "mov ebx, ecx"], ["0x10029e3c", "mov eax, dword ptr [ebx + 8]"], ["0x10029e3f", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x10029e65", "je 0x4", "0x10029e45"]]}, {"orig": [["0x10029e67", "mov eax, ebx"]], "recomp": [["0x10029e47", "mov ebx, eax"]]}, {"both": [["0x10029e69", "jmp -0xf", "0x10029e49"]]}, {"orig": [["0x10029e6b", "mov dword ptr [edx], eax"], ["0x10029e6d", "jmp 0x6b"]], "recomp": [["0x10029e4b", "mov dword ptr [edx], ebx"], ["0x10029e4d", "jmp 0x69"]]}, {"both": [["0x10029e6f", "mov eax, dword ptr [esp + 0x10]", "0x10029e4f"], ["0x10029e73", "mov ebx, dword ptr [eax + 4]", "0x10029e53"], ["0x10029e76", "mov dword ptr [edx], ebx", "0x10029e56"]]}, {"orig": [["0x10029e78", "jmp 0x60"]], "recomp": [["0x10029e58", "jmp 0x5e"]]}, {"both": [["0x10029e7a", "mov eax, dword ptr [esp + 0x10]", "0x10029e5a"], ["0x10029e7e", "mov dword ptr [ebx + 4], edi", "0x10029e5e"], ["0x10029e81", "mov ebx, dword ptr [eax]", "0x10029e61"], ["0x10029e83", "mov dword ptr [edi], ebx", "0x10029e63"], ["0x10029e85", "cmp dword ptr [edx], edi", "0x10029e65"], ["0x10029e87", "jne 0x5", "0x10029e67"], ["0x10029e89", "mov dword ptr [ecx + 4], edi", "0x10029e69"], ["0x10029e8c", "jmp 0x15", "0x10029e6c"], ["0x10029e8e", "mov eax, dword ptr [edi + 4]", "0x10029e6e"], ["0x10029e91", "mov dword ptr [ecx + 4], eax", "0x10029e71"]]}]], ["@@ -0x10029ead,192 +0x10029e8d,192 @@", [{"both": [["0x10029ead", "cmp dword ptr [eax], edx", "0x10029e8d"], ["0x10029eaf", "je 0xc", "0x10029e8f"], ["0x10029eb1", "mov eax, dword ptr [edx + 4]", "0x10029e91"], ["0x10029eb4", "cmp dword ptr [eax], edx", "0x10029e94"], ["0x10029eb6", "je 0x5", "0x10029e96"], ["0x10029eb8", "mov dword ptr [eax + 8], edi", "0x10029e98"], ["0x10029ebb", "jmp 0x2", "0x10029e9b"], ["0x10029ebd", "mov dword ptr [eax], edi", "0x10029e9d"], ["0x10029ebf", "mov eax, dword ptr [esp + 0x10]", "0x10029e9f"], ["0x10029ec3", "mov edx, dword ptr [eax + 4]", "0x10029ea3"]]}, {"orig": [["0x10029ec6", "add eax, 0x14"]], "recomp": []}, {"both": [["0x10029ec9", "mov dword ptr [edi + 4], edx", "0x10029ea6"]]}, {"orig": [], "recomp": [["0x10029ea9", "lea edx, [eax + 0x14]"]]}, {"both": [["0x10029ecc", "mov ebp, dword ptr [edi + 0x14]", "0x10029eac"]]}, {"orig": [["0x10029ecf", "mov ebx, dword ptr [eax]"]], "recomp": [["0x10029eaf", "mov ebx, dword ptr [edx]"]]}, {"both": [["0x10029ed1", "mov dword ptr [edi + 0x14], ebx", "0x10029eb1"]]}, {"orig": [["0x10029ed4", "mov edi, dword ptr [esp + 0x10]"], ["0x10029ed8", "mov dword ptr [eax], ebp"]], "recomp": [["0x10029eb4", "mov edi, eax"], ["0x10029eb6", "mov dword ptr [edx], ebp"]]}, {"both": [["0x10029eda", "cmp dword ptr [edi + 0x14], 1", "0x10029eb8"], ["0x10029ede", "jne 0x295", "0x10029ebc"], ["0x10029ee4", "mov eax, dword ptr [esi + 4]", "0x10029ec2"], ["0x10029ee7", "cmp dword ptr [eax + 4], ecx", "0x10029ec5"], ["0x10029eea", "je 0x282", "0x10029ec8"], ["0x10029ef0", "cmp dword ptr [ecx + 0x14], 1", "0x10029ece"], ["0x10029ef4", "jne 0x278", "0x10029ed2"], ["0x10029efa", "lea ebx, [ecx + 4]", "0x10029ed8"], ["0x10029efd", "mov eax, dword ptr [ebx]", "0x10029edb"], ["0x10029eff", "mov edx, dword ptr [eax]", "0x10029edd"], ["0x10029f01", "cmp ecx, edx", "0x10029edf"]]}, {"orig": [["0x10029f03", "jne 0x73"]], "recomp": [["0x10029ee1", "jne 0x76"]]}, {"both": [["0x10029f05", "mov edx, dword ptr [eax + 8]", "0x10029ee3"]]}, {"orig": [["0x10029f08", "cmp dword ptr [edx + 0x14], 0"], ["0x10029f0c", "jne 0x4f"], ["0x10029f0e", "mov dword ptr [edx + 0x14], 1"], ["0x10029f15", "mov eax, dword ptr [ebx]"], ["0x10029f17", "mov dword ptr [eax + 0x14], 0"], ["0x10029f1e", "mov ebp, dword ptr [ebx]"], ["0x10029f20", "mov edx, dword ptr [ebp + 8]"], ["0x10029f23", "mov eax, dword ptr [edx]"], ["0x10029f25", "mov dword ptr [ebp + 8], eax"], ["0x10029f28", "mov eax, dword ptr [edx]"], ["0x10029f2a", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"], ["0x10029f30", "je 0x3"], ["0x10029f32", "mov dword ptr [eax + 4], ebp"], ["0x10029f35", "mov eax, dword ptr [ebp + 4]"], ["0x10029f38", "mov dword ptr [edx + 4], eax"], ["0x10029f3b", "mov eax, dword ptr [esi + 4]"], ["0x10029f3e", "add eax, 4"], ["0x10029f41", "cmp dword ptr [eax], ebp"], ["0x10029f43", "je 0xc"], ["0x10029f45", "mov eax, dword ptr [ebp + 4]"], ["0x10029f48", "cmp dword ptr [eax], ebp"], ["0x10029f4a", "je 0x5"], ["0x10029f4c", "mov dword ptr [eax + 8], edx"], ["0x10029f4f", "jmp 0x2"], ["0x10029f51", "mov dword ptr [eax], edx"], ["0x10029f53", "mov dword ptr [edx], ebp"], ["0x10029f55", "mov dword ptr [ebp + 4], edx"], ["0x10029f58", "mov eax, dword ptr [ebx]"], ["0x10029f5a", "mov edx, dword ptr [eax + 8]"], ["0x10029f5d", "mov eax, dword ptr [edx]"], ["0x10029f5f", "cmp dword ptr [eax + 0x14], 1"], ["0x10029f63", "jne 0x9a"], ["0x10029f69", "mov eax, dword ptr [edx + 8]"], ["0x10029f6c", "cmp dword ptr [eax + 0x14], 1"], ["0x10029f70", "jne 0x8d"], ["0x10029f76", "jmp 0x71"]], "recomp": []}, {"both": [["0x10029f78", "cmp dword ptr [edx + 0x14], 0", "0x10029ee6"], ["0x10029f7c", "jne 0x52", "0x10029eea"], ["0x10029f7e", "mov dword ptr [edx + 0x14], 1", "0x10029eec"], ["0x10029f85", "mov eax, dword ptr [ebx]", "0x10029ef3"], ["0x10029f87", "mov dword ptr [eax + 0x14], 0", "0x10029ef5"]]}, {"orig": [["0x10029f8e", "mov ebp, dword ptr [ebx]"], ["0x10029f90", "mov edx, dword ptr [ebp]"], ["0x10029f93", "mov eax, dword ptr [edx + 8]"], ["0x10029f96", "mov dword ptr [ebp], eax"], ["0x10029f99", "mov eax, dword ptr [edx + 8]"], ["0x10029f9c", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x10029efc", "mov edx, dword ptr [ebx]"], ["0x10029efe", "mov ebp, dword ptr [edx + 8]"], ["0x10029f01", "mov eax, dword ptr [ebp]"], ["0x10029f04", "mov dword ptr [edx + 8], eax"], ["0x10029f07", "mov eax, dword ptr [ebp]"], ["0x10029f0a", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x10029fa2", "je 0x3", "0x10029f10"]]}, {"orig": [["0x10029fa4", "mov dword ptr [eax + 4], ebp"], ["0x10029fa7", "mov eax, dword ptr [ebp + 4]"], ["0x10029faa", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x10029f12", "mov dword ptr [eax + 4], edx"], ["0x10029f15", "mov eax, dword ptr [edx + 4]"], ["0x10029f18", "mov dword ptr [ebp + 4], eax"]]}, {"both": [["0x10029fad", "mov eax, dword ptr [esi + 4]", "0x10029f1b"], ["0x10029fb0", "add eax, 4", "0x10029f1e"]]}, {"orig": [["0x10029fb3", "cmp dword ptr [eax], ebp"]], "recomp": [["0x10029f21", "cmp dword ptr [eax], edx"], ["0x10029f23", "je 0xc"], ["0x10029f25", "mov eax, dword ptr [edx + 4]"], ["0x10029f28", "cmp dword ptr [eax], edx"], ["0x10029f2a", "je 0x5"], ["0x10029f2c", "mov dword ptr [eax + 8], ebp"], ["0x10029f2f", "jmp 0x2"], ["0x10029f31", "mov dword ptr [eax], ebp"], ["0x10029f33", "mov dword ptr [ebp], edx"], ["0x10029f36", "mov dword ptr [edx + 4], ebp"], ["0x10029f39", "mov eax, dword ptr [ebx]"], ["0x10029f3b", "mov edx, dword ptr [eax + 8]"], ["0x10029f3e", "mov eax, dword ptr [edx]"], ["0x10029f40", "cmp dword ptr [eax + 0x14], 1"], ["0x10029f44", "jne 0x98"], ["0x10029f4a", "mov eax, dword ptr [edx + 8]"], ["0x10029f4d", "cmp dword ptr [eax + 0x14], 1"], ["0x10029f51", "jne 0x8b"], ["0x10029f57", "jmp 0x6f"], ["0x10029f59", "cmp dword ptr [edx + 0x14], 0"], ["0x10029f5d", "jne 0x50"], ["0x10029f5f", "mov dword ptr [edx + 0x14], 1"], ["0x10029f66", "mov eax, dword ptr [ebx]"], ["0x10029f68", "mov dword ptr [eax + 0x14], 0"], ["0x10029f6f", "mov edx, dword ptr [ebx]"], ["0x10029f71", "mov ebp, dword ptr [edx]"], ["0x10029f73", "mov eax, dword ptr [ebp + 8]"], ["0x10029f76", "mov dword ptr [edx], eax"], ["0x10029f78", "mov eax, dword ptr [ebp + 8]"], ["0x10029f7b", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"], ["0x10029f81", "je 0x3"], ["0x10029f83", "mov dword ptr [eax + 4], edx"], ["0x10029f86", "mov eax, dword ptr [edx + 4]"], ["0x10029f89", "mov dword ptr [ebp + 4], eax"], ["0x10029f8c", "mov eax, dword ptr [esi + 4]"], ["0x10029f8f", "add eax, 4"], ["0x10029f92", "cmp dword ptr [eax], edx"]]}, {"both": [["0x10029fb5", "je 0xd", "0x10029f94"]]}, {"orig": [["0x10029fb7", "mov eax, dword ptr [ebp + 4]"]], "recomp": [["0x10029f96", "mov eax, dword ptr [edx + 4]"]]}, {"both": [["0x10029fba", "add eax, 8", "0x10029f99"]]}, {"orig": [["0x10029fbd", "cmp dword ptr [eax], ebp"]], "recomp": [["0x10029f9c", "cmp dword ptr [eax], edx"]]}, {"both": [["0x10029fbf", "je 0x3", "0x10029f9e"]]}, {"orig": [["0x10029fc1", "mov eax, dword ptr [ebp + 4]"], ["0x10029fc4", "mov dword ptr [eax], edx"], ["0x10029fc6", "mov dword ptr [edx + 8], ebp"], ["0x10029fc9", "mov dword ptr [ebp + 4], edx"]], "recomp": [["0x10029fa0", "mov eax, dword ptr [edx + 4]"], ["0x10029fa3", "mov dword ptr [eax], ebp"], ["0x10029fa5", "mov dword ptr [ebp + 8], edx"], ["0x10029fa8", "mov dword ptr [edx + 4], ebp"]]}, {"both": [["0x10029fcc", "mov eax, dword ptr [ebx]", "0x10029fab"], ["0x10029fce", "mov edx, dword ptr [eax]", "0x10029fad"], ["0x10029fd0", "mov eax, dword ptr [edx + 8]", "0x10029faf"], ["0x10029fd3", "cmp dword ptr [eax + 0x14], 1", "0x10029fb2"]]}, {"orig": [["0x10029fd7", "jne 0xe7"]], "recomp": [["0x10029fb6", "jne 0xe6"]]}, {"both": [["0x10029fdd", "mov eax, dword ptr [edx]", "0x10029fbc"], ["0x10029fdf", "cmp dword ptr [eax + 0x14], 1", "0x10029fbe"]]}, {"orig": [["0x10029fe3", "jne 0xdb"]], "recomp": [["0x10029fc2", "jne 0xda"]]}, {"both": [["0x10029fe9", "mov dword ptr [edx + 0x14], 0", "0x10029fc8"], ["0x10029ff0", "mov ecx, dword ptr [ebx]", "0x10029fcf"], ["0x10029ff2", "mov eax, dword ptr [esi + 4]", "0x10029fd1"], ["0x10029ff5", "cmp dword ptr [eax + 4], ecx", "0x10029fd4"]]}, {"orig": [["0x10029ff8", "jne -0x10e"], ["0x10029ffe", "jmp 0x16f"]], "recomp": [["0x10029fd7", "jne -0x10f"], ["0x10029fdd", "jmp 0x16e"]]}, {"both": [["0x1002a003", "mov eax, dword ptr [edx + 8]", "0x10029fe2"], ["0x1002a006", "cmp dword ptr [eax + 0x14], 1", "0x10029fe5"]]}, {"orig": [["0x1002a00a", "jne 0x53"]], "recomp": [["0x10029fe9", "jne 0x52"]]}, {"both": [["0x1002a00c", "mov eax, dword ptr [edx]", "0x10029feb"], ["0x1002a00e", "mov dword ptr [eax + 0x14], 1", "0x10029fed"], ["0x1002a015", "mov dword ptr [edx + 0x14], 0", "0x10029ff4"], ["0x1002a01c", "mov ebx, dword ptr [edx]", "0x10029ffb"], ["0x1002a01e", "mov ebp, dword ptr [ebx + 8]", "0x10029ffd"], ["0x1002a021", "mov dword ptr [edx], ebp", "0x1002a000"], ["0x1002a023", "mov eax, dword ptr [ebx + 8]", "0x1002a002"]]}, {"orig": [["0x1002a026", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1002a005", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x1002a02c", "je 0x3", "0x1002a00b"], ["0x1002a02e", "mov dword ptr [eax + 4], edx", "0x1002a00d"], ["0x1002a031", "mov eax, dword ptr [edx + 4]", "0x1002a010"], ["0x1002a034", "mov dword ptr [ebx + 4], eax", "0x1002a013"], ["0x1002a037", "mov eax, dword ptr [esi + 4]", "0x1002a016"], ["0x1002a03a", "add eax, 4", "0x1002a019"], ["0x1002a03d", "cmp dword ptr [eax], edx", "0x1002a01c"]]}, {"orig": [["0x1002a03f", "je 0x10"], ["0x1002a041", "mov eax, dword ptr [edx + 4]"], ["0x1002a044", "lea ebp, [eax + 8]"], ["0x1002a047", "cmp dword ptr [ebp], edx"], ["0x1002a04a", "jne 0x5"]], "recomp": [["0x1002a01e", "je 0xf"], ["0x1002a020", "mov ebp, dword ptr [edx + 4]"], ["0x1002a023", "lea eax, [ebp + 8]"], ["0x1002a026", "cmp dword ptr [eax], edx"], ["0x1002a028", "je 0x5"]]}, {"both": [["0x1002a04c", "mov dword ptr [ebp], ebx", "0x1002a02a"], ["0x1002a04f", "jmp 0x2", "0x1002a02d"], ["0x1002a051", "mov dword ptr [eax], ebx", "0x1002a02f"], ["0x1002a053", "mov dword ptr [ebx + 8], edx", "0x1002a031"], ["0x1002a056", "mov dword ptr [edx + 4], ebx", "0x1002a034"], ["0x1002a059", "mov eax, dword ptr [ecx + 4]", "0x1002a037"], ["0x1002a05c", "mov edx, dword ptr [eax + 8]", "0x1002a03a"], ["0x1002a05f", "mov eax, dword ptr [ecx + 4]", "0x1002a03d"], ["0x1002a062", "mov ebx, dword ptr [eax + 0x14]", "0x1002a040"], ["0x1002a065", "mov dword ptr [edx + 0x14], ebx", "0x1002a043"], ["0x1002a068", "mov ebx, 1", "0x1002a046"], ["0x1002a06d", "mov eax, dword ptr [ecx + 4]", "0x1002a04b"], ["0x1002a070", "mov dword ptr [eax + 0x14], ebx", "0x1002a04e"], ["0x1002a073", "mov edx, dword ptr [edx + 8]", "0x1002a051"], ["0x1002a076", "mov dword ptr [edx + 0x14], ebx", "0x1002a054"]]}, {"orig": [["0x1002a079", "mov edx, dword ptr [ecx + 4]"], ["0x1002a07c", "mov ebx, dword ptr [edx + 8]"], ["0x1002a07f", "mov eax, dword ptr [ebx]"], ["0x1002a081", "mov dword ptr [edx + 8], eax"], ["0x1002a084", "mov eax, dword ptr [ebx]"], ["0x1002a086", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1002a057", "mov ebx, dword ptr [ecx + 4]"], ["0x1002a05a", "mov edx, dword ptr [ebx + 8]"], ["0x1002a05d", "mov eax, dword ptr [edx]"], ["0x1002a05f", "mov dword ptr [ebx + 8], eax"], ["0x1002a062", "mov eax, dword ptr [edx]"], ["0x1002a064", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x1002a08c", "je 0x3", "0x1002a06a"]]}, {"orig": [["0x1002a08e", "mov dword ptr [eax + 4], edx"], ["0x1002a091", "mov eax, dword ptr [edx + 4]"], ["0x1002a094", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1002a06c", "mov dword ptr [eax + 4], ebx"], ["0x1002a06f", "mov eax, dword ptr [ebx + 4]"], ["0x1002a072", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x1002a097", "mov eax, dword ptr [esi + 4]", "0x1002a075"], ["0x1002a09a", "add eax, 4", "0x1002a078"]]}, {"orig": [["0x1002a09d", "cmp dword ptr [eax], edx"]], "recomp": [["0x1002a07b", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1002a09f", "je 0x1a", "0x1002a07d"]]}, {"orig": [["0x1002a0a1", "mov eax, dword ptr [edx + 4]"], ["0x1002a0a4", "cmp dword ptr [eax], edx"]], "recomp": [["0x1002a07f", "mov eax, dword ptr [ebx + 4]"], ["0x1002a082", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1002a0a6", "je 0xa", "0x1002a084"]]}, {"orig": [["0x1002a0a8", "mov dword ptr [eax + 8], ebx"], ["0x1002a0ab", "mov dword ptr [ebx], edx"]], "recomp": [["0x1002a086", "mov dword ptr [eax + 8], edx"], ["0x1002a089", "mov dword ptr [edx], ebx"]]}, {"both": [["0x1002a0ad", "jmp 0xbd", "0x1002a08b"]]}, {"orig": [["0x1002a0b2", "mov dword ptr [eax], ebx"], ["0x1002a0b4", "mov dword ptr [ebx], edx"]], "recomp": [["0x1002a090", "mov dword ptr [eax], edx"], ["0x1002a092", "mov dword ptr [edx], ebx"]]}, {"both": [["0x1002a0b6", "jmp 0xb4", "0x1002a094"]]}, {"orig": [["0x1002a0bb", "mov dword ptr [eax], ebx"], ["0x1002a0bd", "mov dword ptr [ebx], edx"]], "recomp": [["0x1002a099", "mov dword ptr [eax], edx"], ["0x1002a09b", "mov dword ptr [edx], ebx"]]}, {"both": [["0x1002a0bf", "jmp 0xab", "0x1002a09d"], ["0x1002a0c4", "mov eax, dword ptr [edx]", "0x1002a0a2"], ["0x1002a0c6", "cmp dword ptr [eax + 0x14], 1", "0x1002a0a4"], ["0x1002a0ca", "jne 0x4e", "0x1002a0a8"], ["0x1002a0cc", "mov eax, dword ptr [edx + 8]", "0x1002a0aa"], ["0x1002a0cf", "mov dword ptr [eax + 0x14], 1", "0x1002a0ad"], ["0x1002a0d6", "mov dword ptr [edx + 0x14], 0", "0x1002a0b4"], ["0x1002a0dd", "mov ebx, dword ptr [edx + 8]", "0x1002a0bb"], ["0x1002a0e0", "mov ebp, dword ptr [ebx]", "0x1002a0be"], ["0x1002a0e2", "mov dword ptr [edx + 8], ebp", "0x1002a0c0"], ["0x1002a0e5", "mov eax, dword ptr [ebx]", "0x1002a0c3"]]}, {"orig": [["0x1002a0e7", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1002a0c5", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x1002a0ed", "je 0x3", "0x1002a0cb"], ["0x1002a0ef", "mov dword ptr [eax + 4], edx", "0x1002a0cd"], ["0x1002a0f2", "mov eax, dword ptr [edx + 4]", "0x1002a0d0"], ["0x1002a0f5", "mov dword ptr [ebx + 4], eax", "0x1002a0d3"], ["0x1002a0f8", "mov eax, dword ptr [esi + 4]", "0x1002a0d6"], ["0x1002a0fb", "add eax, 4", "0x1002a0d9"], ["0x1002a0fe", "cmp dword ptr [eax], edx", "0x1002a0dc"], ["0x1002a100", "je 0xc", "0x1002a0de"], ["0x1002a102", "mov eax, dword ptr [edx + 4]", "0x1002a0e0"], ["0x1002a105", "cmp dword ptr [eax], edx", "0x1002a0e3"]]}]], ["@@ -0x1002a115,43 +0x1002a0f3,43 @@", [{"both": [["0x1002a115", "mov eax, dword ptr [ecx + 4]", "0x1002a0f3"], ["0x1002a118", "mov edx, dword ptr [eax]", "0x1002a0f6"], ["0x1002a11a", "mov eax, dword ptr [ecx + 4]", "0x1002a0f8"], ["0x1002a11d", "mov ebx, dword ptr [eax + 0x14]", "0x1002a0fb"], ["0x1002a120", "mov dword ptr [edx + 0x14], ebx", "0x1002a0fe"], ["0x1002a123", "mov ebx, 1", "0x1002a101"], ["0x1002a128", "mov eax, dword ptr [ecx + 4]", "0x1002a106"], ["0x1002a12b", "mov dword ptr [eax + 0x14], ebx", "0x1002a109"], ["0x1002a12e", "mov edx, dword ptr [edx]", "0x1002a10c"], ["0x1002a130", "mov dword ptr [edx + 0x14], ebx", "0x1002a10e"]]}, {"orig": [["0x1002a133", "mov edx, dword ptr [ecx + 4]"], ["0x1002a136", "mov ebx, dword ptr [edx]"], ["0x1002a138", "mov eax, dword ptr [ebx + 8]"], ["0x1002a13b", "mov dword ptr [edx], eax"], ["0x1002a13d", "mov eax, dword ptr [ebx + 8]"], ["0x1002a140", "cmp eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1002a111", "mov ebx, dword ptr [ecx + 4]"], ["0x1002a114", "mov edx, dword ptr [ebx]"], ["0x1002a116", "mov eax, dword ptr [edx + 8]"], ["0x1002a119", "mov dword ptr [ebx], eax"], ["0x1002a11b", "mov eax, dword ptr [edx + 8]"], ["0x1002a11e", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]]}, {"both": [["0x1002a146", "je 0x3", "0x1002a124"]]}, {"orig": [["0x1002a148", "mov dword ptr [eax + 4], edx"], ["0x1002a14b", "mov eax, dword ptr [edx + 4]"], ["0x1002a14e", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1002a126", "mov dword ptr [eax + 4], ebx"], ["0x1002a129", "mov eax, dword ptr [ebx + 4]"], ["0x1002a12c", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x1002a151", "mov eax, dword ptr [esi + 4]", "0x1002a12f"], ["0x1002a154", "add eax, 4", "0x1002a132"]]}, {"orig": [["0x1002a157", "cmp dword ptr [eax], edx"]], "recomp": [["0x1002a135", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1002a159", "je 0xf", "0x1002a137"]]}, {"orig": [["0x1002a15b", "mov ebp, dword ptr [edx + 4]"]], "recomp": [["0x1002a139", "mov ebp, dword ptr [ebx + 4]"]]}, {"both": [["0x1002a15e", "lea eax, [ebp + 8]", "0x1002a13c"]]}, {"orig": [["0x1002a161", "cmp dword ptr [eax], edx"]], "recomp": [["0x1002a13f", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1002a163", "je 0x5", "0x1002a141"]]}, {"orig": [["0x1002a165", "mov dword ptr [ebp], ebx"]], "recomp": [["0x1002a143", "mov dword ptr [ebp], edx"]]}, {"both": [["0x1002a168", "jmp 0x2", "0x1002a146"]]}, {"orig": [["0x1002a16a", "mov dword ptr [eax], ebx"], ["0x1002a16c", "mov dword ptr [ebx + 8], edx"], ["0x1002a16f", "mov dword ptr [edx + 4], ebx"]], "recomp": [["0x1002a148", "mov dword ptr [eax], edx"], ["0x1002a14a", "mov dword ptr [edx + 8], ebx"], ["0x1002a14d", "mov dword ptr [ebx + 4], edx"]]}, {"both": [["0x1002a172", "mov dword ptr [ecx + 0x14], 1", "0x1002a150"], ["0x1002a179", "cmp dword ptr [edi + 0xc], 0", "0x1002a157"], ["0x1002a17d", "jne 0x10", "0x1002a15b"], ["0x1002a17f", "mov eax, dword ptr [edi + 0x10]", "0x1002a15d"], ["0x1002a182", "test eax, eax", "0x1002a160"], ["0x1002a184", "je 0x9", "0x1002a162"], ["0x1002a186", "push eax", "0x1002a164"], ["0x1002a187", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002a165"], ["0x1002a18c", "add esp, 4", "0x1002a16a"], ["0x1002a18f", "push edi", "0x1002a16d"]]}]], ["@@ -0x1002a195,10 +0x1002a173,11 @@", [{"both": [["0x1002a195", "mov ecx, dword ptr [esp + 0x20]", "0x1002a173"], ["0x1002a199", "mov eax, dword ptr [esp + 0x1c]", "0x1002a177"], ["0x1002a19d", "add esp, 4", "0x1002a17b"], ["0x1002a1a0", "dec dword ptr [esi + 0xc]", "0x1002a17e"], ["0x1002a1a3", "mov dword ptr [eax], ecx", "0x1002a181"], ["0x1002a1a5", "pop ebp", "0x1002a183"], ["0x1002a1a6", "pop edi", "0x1002a184"], ["0x1002a1a7", "pop esi", "0x1002a185"], ["0x1002a1a8", "pop ebx", "0x1002a186"], ["0x1002a1a9", "add esp, 4", "0x1002a187"]]}, {"orig": [], "recomp": [["0x1002a18a", "ret 8"]]}]]]}, {"address": "0x1002a1b0", "recomp": "0x1002a190", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Erase", "matching": 0.7058823529411765, "diff": [["@@ -0x1002a1b0,34 +0x1002a190,34 @@", [{"both": [["0x1002a1b0", "push ebx", "0x1002a190"], ["0x1002a1b1", "push esi", "0x1002a191"], ["0x1002a1b2", "push edi", "0x1002a192"], ["0x1002a1b3", "mov esi, ecx", "0x1002a193"]]}, {"orig": [["0x1002a1b5", "mov ebx, dword ptr [esp + 0x10]"]], "recomp": [["0x1002a195", "mov edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x1002a1b9", "push ebp", "0x1002a199"]]}, {"orig": [["0x1002a1ba", "mov edi, ebx"], ["0x1002a1bc", "cmp ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1002a19a", "mov ebx, edi"], ["0x1002a19c", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], edi"]]}, {"both": [["0x1002a1c2", "je 0x37", "0x1002a1a2"], ["0x1002a1c4", "xor ebp, ebp", "0x1002a1a4"]]}, {"orig": [["0x1002a1c6", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x1002a1a6", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x1002a1c9", "mov ecx, esi", "0x1002a1a9"], ["0x1002a1cb", "push eax", "0x1002a1ab"], ["0x1002a1cc", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Erase (FUNCTION)", "0x1002a1ac"]]}, {"orig": [["0x1002a1d1", "mov edi, dword ptr [edi]"], ["0x1002a1d3", "cmp dword ptr [ebx + 0xc], ebp"]], "recomp": [["0x1002a1b1", "mov ebx, dword ptr [ebx]"], ["0x1002a1b3", "cmp dword ptr [edi + 0xc], ebp"]]}, {"both": [["0x1002a1d6", "jne 0x10", "0x1002a1b6"]]}, {"orig": [["0x1002a1d8", "mov eax, dword ptr [ebx + 0x10]"]], "recomp": [["0x1002a1b8", "mov eax, dword ptr [edi + 0x10]"]]}, {"both": [["0x1002a1db", "test eax, eax", "0x1002a1bb"], ["0x1002a1dd", "je 0x9", "0x1002a1bd"], ["0x1002a1df", "push eax", "0x1002a1bf"], ["0x1002a1e0", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002a1c0"], ["0x1002a1e5", "add esp, 4", "0x1002a1c5"]]}, {"orig": [["0x1002a1e8", "push ebx"]], "recomp": [["0x1002a1c8", "push edi"]]}, {"both": [["0x1002a1e9", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002a1c9"], ["0x1002a1ee", "add esp, 4", "0x1002a1ce"]]}, {"orig": [["0x1002a1f1", "mov ebx, edi"], ["0x1002a1f3", "cmp edi, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1002a1d1", "mov edi, ebx"], ["0x1002a1d3", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1002a1f9", "jne -0x35", "0x1002a1d9"], ["0x1002a1fb", "pop ebp", "0x1002a1db"], ["0x1002a1fc", "pop edi", "0x1002a1dc"], ["0x1002a1fd", "pop esi", "0x1002a1dd"], ["0x1002a1fe", "pop ebx", "0x1002a1de"], ["0x1002a1ff", "ret 4", "0x1002a1df"]]}]]]}, {"address": "0x1002a210", "recomp": "0x1002a1f0", "name": "list<LegoCacheSoundEntry,allocator<LegoCacheSoundEntry> >::~list<LegoCacheSoundEntry,allocator<LegoCacheSoundEntry> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002a210,20 +0x1002a1f0,20 @@", [{"both": [["0x1002a210", "sub esp, 0xc", "0x1002a1f0"], ["0x1002a213", "push ebx", "0x1002a1f3"], ["0x1002a214", "push esi", "0x1002a1f4"], ["0x1002a215", "mov eax, dword ptr [ecx + 4]", "0x1002a1f5"], ["0x1002a218", "push edi", "0x1002a1f8"], ["0x1002a219", "mov esi, ecx", "0x1002a1f9"], ["0x1002a21b", "mov dword ptr [esp + 0x14], eax", "0x1002a1fb"], ["0x1002a21f", "mov ecx, dword ptr [eax]", "0x1002a1ff"], ["0x1002a221", "mov edi, ecx", "0x1002a201"]]}, {"orig": [["0x1002a223", "cmp ecx, eax"]], "recomp": [["0x1002a203", "cmp eax, ecx"]]}, {"both": [["0x1002a225", "je 0x49", "0x1002a205"], ["0x1002a227", "xor ebx, ebx", "0x1002a207"], ["0x1002a229", "lea edx, [edi + 4]", "0x1002a209"], ["0x1002a22c", "mov dword ptr [esp + 0xc], edi", "0x1002a20c"], ["0x1002a230", "mov eax, edi", "0x1002a210"], ["0x1002a232", "mov edi, dword ptr [edi]", "0x1002a212"], ["0x1002a234", "mov ecx, dword ptr [edx]", "0x1002a214"], ["0x1002a236", "mov eax, dword ptr [eax]", "0x1002a216"], ["0x1002a238", "mov dword ptr [ecx], eax", "0x1002a218"], ["0x1002a23a", "mov ecx, dword ptr [edx]", "0x1002a21a"]]}]]]}, {"address": "0x1002a2a0", "recomp": "0x1002a320", "name": "set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::~set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >", "matching": 1.0, "diff": []}, {"address": "0x1002a2f0", "recomp": "0x1002a280", "name": "Set<LegoCacheSoundEntry,Set100d6b4cComparator>::~Set<LegoCacheSoundEntry,Set100d6b4cComparator>", "matching": 1.0, "diff": []}, {"address": "0x1002a340", "recomp": "0x1002a2d0", "name": "List<LegoCacheSoundEntry>::~List<LegoCacheSoundEntry>", "matching": 1.0, "diff": []}, {"address": "0x1002a390", "recomp": "0x1002a370", "name": "LegoSoundManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1002a3a0", "recomp": "0x1002a380", "name": "LegoSoundManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x1002a410", "recomp": "0x1002a3f0", "name": "LegoSoundManager::UpdateListener", "matching": 1.0, "diff": []}, {"address": "0x1002a500", "recomp": "0x1002a4e0", "name": "LegoExtraActor::LegoExtraActor", "matching": 1.0, "diff": []}, {"address": "0x1002a6b0", "recomp": "0x1002a690", "name": "LegoExtraActor::~LegoExtraActor", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002a6b5,21 +0x1002a695,21 @@", [{"both": [["0x1002a6b5", "mov esi, ecx", "0x1002a695"], ["0x1002a6b7", "mov dword ptr [ecx - 0x6c], LegoExtraActor::`vftable' (VTABLE)", "0x1002a697"], ["0x1002a6be", "mov ecx, dword ptr [eax + 4]", "0x1002a69e"], ["0x1002a6c1", "mov dword ptr [ecx + esi - 0x68], LegoExtraActor::`vftable'{for `LegoPathActor'} (VTABLE)", "0x1002a6a1"], ["0x1002a6c9", "mov eax, dword ptr [esi - 0x68]", "0x1002a6a9"], ["0x1002a6cc", "mov edx, dword ptr [eax + 8]", "0x1002a6ac"], ["0x1002a6cf", "mov dword ptr [edx + esi - 0x68], LegoExtraActor::`vftable'{for `LegoAnimActor'} (VTABLE)", "0x1002a6af"], ["0x1002a6d7", "mov eax, dword ptr [esi - 0x68]", "0x1002a6b7"], ["0x1002a6da", "mov eax, dword ptr [eax + 4]", "0x1002a6ba"], ["0x1002a6dd", "lea ecx, [eax - 0x68]", "0x1002a6bd"]]}, {"orig": [["0x1002a6e0", "mov dword ptr [eax + esi - 0x6c], ecx"]], "recomp": [["0x1002a6c0", "mov dword ptr [esi + eax - 0x6c], ecx"]]}, {"both": [["0x1002a6e4", "mov edi, dword ptr [esi - 0xc]", "0x1002a6c4"], ["0x1002a6e7", "test edi, edi", "0x1002a6c7"], ["0x1002a6e9", "je 0x10", "0x1002a6c9"], ["0x1002a6eb", "mov ecx, edi", "0x1002a6cb"], ["0x1002a6ed", "call LegoAnimActorStruct::~LegoAnimActorStruct (FUNCTION)", "0x1002a6cd"], ["0x1002a6f2", "push edi", "0x1002a6d2"], ["0x1002a6f3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002a6d3"], ["0x1002a6f8", "add esp, 4", "0x1002a6d8"], ["0x1002a6fb", "mov esi, dword ptr [esi - 8]", "0x1002a6db"], ["0x1002a6fe", "test esi, esi", "0x1002a6de"]]}]]]}, {"address": "0x1002a720", "recomp": "0x1002a700", "name": "LegoExtraActor::VTable0x90", "matching": 0.8664259927797834, "diff": [["@@ -0x1002a74c,26 +0x1002a72c,26 @@", [{"both": [["0x1002a74c", "pop ebx", "0x1002a72c"], ["0x1002a74d", "add esp, 0x68", "0x1002a72d"], ["0x1002a750", "ret 8", "0x1002a730"], ["0x1002a753", "mov eax, 1", "0x1002a733"], ["0x1002a758", "pop ebp", "0x1002a738"], ["0x1002a759", "pop edi", "0x1002a739"], ["0x1002a75a", "pop esi", "0x1002a73a"], ["0x1002a75b", "pop ebx", "0x1002a73b"], ["0x1002a75c", "add esp, 0x68", "0x1002a73c"], ["0x1002a75f", "ret 8", "0x1002a73f"]]}, {"orig": [["0x1002a762", "fld dword ptr [2000.0 (FLOAT)]"], ["0x1002a768", "fadd dword ptr [esp + 0x7c]"]], "recomp": [["0x1002a742", "fld dword ptr [esp + 0x7c]"], ["0x1002a746", "fadd dword ptr [2000.0 (FLOAT)]"]]}, {"both": [["0x1002a76c", "fstp dword ptr [ebx - 0x64]", "0x1002a74c"]]}, {"orig": [], "recomp": [["0x1002a74f", "fld dword ptr [esp + 0x7c]"]]}, {"both": [["0x1002a76f", "mov eax, dword ptr [ecx]", "0x1002a753"], ["0x1002a771", "mov dword ptr [eax + ebx + 0x74], 3", "0x1002a755"]]}, {"orig": [["0x1002a779", "fld dword ptr [esp + 0x7c]"]], "recomp": []}, {"both": [["0x1002a77d", "mov ecx, dword ptr [ebx - 0x68]", "0x1002a75d"], ["0x1002a780", "mov eax, dword ptr [ecx + 4]", "0x1002a760"], ["0x1002a783", "add eax, ebx", "0x1002a763"], ["0x1002a785", "fsub dword ptr [eax + 0x1c]", "0x1002a765"], ["0x1002a788", "fmul dword ptr [eax - 0x18]", "0x1002a768"], ["0x1002a78b", "fadd dword ptr [eax + 0x18]", "0x1002a76b"], ["0x1002a78e", "fstp dword ptr [eax + 0x18]", "0x1002a76e"], ["0x1002a791", "mov ecx, dword ptr [ebx - 0x68]", "0x1002a771"], ["0x1002a794", "mov eax, dword ptr [esp + 0x7c]", "0x1002a774"], ["0x1002a798", "pop ebp", "0x1002a778"]]}]], ["@@ -0x1002a812,75 +0x1002a7f2,75 @@", [{"both": [["0x1002a812", "mov dword ptr [ecx + 8], eax", "0x1002a7f2"], ["0x1002a815", "mov al, byte ptr [ebx - 0x5f]", "0x1002a7f5"], ["0x1002a818", "cmp eax, 3", "0x1002a7f8"], ["0x1002a81b", "ja 0x1b3", "0x1002a7fb"], ["0x1002a821", "jmp dword ptr [eax*4 + <OFFSET6>]", "0x1002a801"], ["0x1002a828", "fld qword ptr [0.699999988079071 (FLOAT)]", "0x1002a808"], ["0x1002a82e", "fsin ", "0x1002a80e"], ["0x1002a830", "mov esi, dword ptr [ebp + 4]", "0x1002a810"], ["0x1002a833", "mov ecx, 0x10", "0x1002a813"], ["0x1002a838", "lea edi, [esp + 0x38]", "0x1002a818"]]}, {"orig": [], "recomp": [["0x1002a81c", "fstp dword ptr [esp + 0x10]"], ["0x1002a820", "fld qword ptr [0.699999988079071 (FLOAT)]"], ["0x1002a826", "fcos "]]}, {"both": [["0x1002a83c", "fstp dword ptr [esp + 0x14]", "0x1002a828"]]}, {"orig": [["0x1002a840", "fld qword ptr [0.699999988079071 (FLOAT)]"]], "recomp": [["0x1002a82c", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x1002a82e", "xor esi, esi"], ["0x1002a830", "jmp 0x4"], ["0x1002a832", "fstp dword ptr [edx + esi - 0xc]"], ["0x1002a836", "lea ecx, [esp + esi + 0x38]"], ["0x1002a83a", "lea eax, [esp + esi + 0x3c]"], ["0x1002a83e", "mov edx, dword ptr [ebp + 4]"], ["0x1002a841", "add esi, 0x10"], ["0x1002a844", "fld dword ptr [ecx]"], ["0x1002a846", "fmul dword ptr [esp + 0x14]"], ["0x1002a84a", "fld dword ptr [eax]"], ["0x1002a84c", "fmul dword ptr [esp + 0x10]"], ["0x1002a850", "cmp esi, 0x40"], ["0x1002a853", "fsubp st(1)"], ["0x1002a855", "fstp dword ptr [edx + esi - 0x10]"], ["0x1002a859", "fld dword ptr [ecx]"], ["0x1002a85b", "fmul dword ptr [esp + 0x10]"], ["0x1002a85f", "fld dword ptr [eax]"], ["0x1002a861", "fmul dword ptr [esp + 0x14]"], ["0x1002a865", "mov edx, dword ptr [ebp + 4]"], ["0x1002a868", "faddp st(1)"], ["0x1002a86a", "jl -0x3a"], ["0x1002a86c", "fstp dword ptr [edx + esi - 0xc]"], ["0x1002a870", "jmp 0x13f"], ["0x1002a875", "fld qword ptr [-0.699999988079071 (FLOAT)]"], ["0x1002a87b", "fsin "], ["0x1002a87d", "mov esi, dword ptr [ebp + 4]"], ["0x1002a880", "mov ecx, 0x10"], ["0x1002a885", "lea edi, [esp + 0x38]"], ["0x1002a889", "fstp dword ptr [esp + 0x14]"], ["0x1002a88d", "fld qword ptr [-0.699999988079071 (FLOAT)]"]]}, {"both": [["0x1002a846", "fcos ", "0x1002a893"], ["0x1002a848", "fstp dword ptr [esp + 0x10]", "0x1002a895"], ["0x1002a84c", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1002a899"], ["0x1002a84e", "xor esi, esi", "0x1002a89b"], ["0x1002a850", "jmp 0x4", "0x1002a89d"], ["0x1002a852", "fstp dword ptr [edx + esi - 0xc]", "0x1002a89f"], ["0x1002a856", "lea ecx, [esp + esi + 0x38]", "0x1002a8a3"], ["0x1002a85a", "lea eax, [esp + esi + 0x3c]", "0x1002a8a7"], ["0x1002a85e", "mov edx, dword ptr [ebp + 4]", "0x1002a8ab"], ["0x1002a861", "add esi, 0x10", "0x1002a8ae"], ["0x1002a864", "fld dword ptr [ecx]", "0x1002a8b1"], ["0x1002a866", "fmul dword ptr [esp + 0x10]", "0x1002a8b3"], ["0x1002a86a", "fld dword ptr [eax]", "0x1002a8b7"], ["0x1002a86c", "fmul dword ptr [esp + 0x14]", "0x1002a8b9"], ["0x1002a870", "cmp esi, 0x40", "0x1002a8bd"], ["0x1002a873", "fsubp st(1)", "0x1002a8c0"], ["0x1002a875", "fstp dword ptr [edx + esi - 0x10]", "0x1002a8c2"], ["0x1002a879", "fld dword ptr [eax]", "0x1002a8c6"], ["0x1002a87b", "fmul dword ptr [esp + 0x10]", "0x1002a8c8"], ["0x1002a87f", "fld dword ptr [ecx]", "0x1002a8cc"]]}, {"orig": [["0x1002a881", "fmul dword ptr [esp + 0x14]"], ["0x1002a885", "mov edx, dword ptr [ebp + 4]"], ["0x1002a888", "faddp st(1)"], ["0x1002a88a", "jl -0x3a"], ["0x1002a88c", "fstp dword ptr [edx + esi - 0xc]"], ["0x1002a890", "jmp 0x13f"], ["0x1002a895", "fld qword ptr [-0.699999988079071 (FLOAT)]"], ["0x1002a89b", "fsin "], ["0x1002a89d", "mov esi, dword ptr [ebp + 4]"], ["0x1002a8a0", "mov ecx, 0x10"], ["0x1002a8a5", "lea edi, [esp + 0x38]"], ["0x1002a8a9", "fstp dword ptr [esp + 0x10]"], ["0x1002a8ad", "fld qword ptr [-0.699999988079071 (FLOAT)]"], ["0x1002a8b3", "fcos "], ["0x1002a8b5", "fstp dword ptr [esp + 0x14]"], ["0x1002a8b9", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x1002a8bb", "xor esi, esi"], ["0x1002a8bd", "jmp 0x4"], ["0x1002a8bf", "fstp dword ptr [edx + esi - 0xc]"], ["0x1002a8c3", "lea ecx, [esp + esi + 0x38]"], ["0x1002a8c7", "lea eax, [esp + esi + 0x3c]"], ["0x1002a8cb", "mov edx, dword ptr [ebp + 4]"], ["0x1002a8ce", "add esi, 0x10"], ["0x1002a8d1", "fld dword ptr [ecx]"], ["0x1002a8d3", "fmul dword ptr [esp + 0x14]"], ["0x1002a8d7", "fld dword ptr [eax]"], ["0x1002a8d9", "fmul dword ptr [esp + 0x10]"], ["0x1002a8dd", "cmp esi, 0x40"], ["0x1002a8e0", "fsubp st(1)"], ["0x1002a8e2", "fstp dword ptr [edx + esi - 0x10]"], ["0x1002a8e6", "fld dword ptr [ecx]"], ["0x1002a8e8", "fmul dword ptr [esp + 0x10]"], ["0x1002a8ec", "fld dword ptr [eax]"]], "recomp": []}, {"both": [["0x1002a8ee", "fmul dword ptr [esp + 0x14]", "0x1002a8ce"], ["0x1002a8f2", "mov edx, dword ptr [ebp + 4]", "0x1002a8d2"], ["0x1002a8f5", "faddp st(1)", "0x1002a8d5"], ["0x1002a8f7", "jl -0x3a", "0x1002a8d7"], ["0x1002a8f9", "fstp dword ptr [edx + esi - 0xc]", "0x1002a8d9"], ["0x1002a8fd", "jmp 0xd2", "0x1002a8dd"], ["0x1002a902", "fld qword ptr [0.699999988079071 (FLOAT)]", "0x1002a8e2"], ["0x1002a908", "fsin ", "0x1002a8e8"], ["0x1002a90a", "mov esi, dword ptr [ebp + 4]", "0x1002a8ea"], ["0x1002a90d", "mov ecx, 0x10", "0x1002a8ed"]]}]]]}, {"address": "0x1002aa90", "recomp": "0x1002aa70", "name": "LegoExtraActor::VTable0xa4", "matching": 1.0, "diff": []}, {"address": "0x1002aae0", "recomp": "0x1002aac0", "name": "LegoExtraActor::FUN_1002aae0", "matching": 1.0, "diff": []}, {"address": "0x1002aba0", "recomp": "0x1002ab80", "name": "LegoExtraActor::HitActor", "matching": 0.888646288209607, "diff": [["@@ -0x1002abab,45 +0x1002ab8b,45 @@", [{"both": [["0x1002abab", "push <OFFSET1>", "0x1002ab8b"], ["0x1002abb0", "push eax", "0x1002ab90"], ["0x1002abb1", "mov dword ptr fs:[0], esp", "0x1002ab91"], ["0x1002abb8", "mov eax, dword ptr [ebp + 8]", "0x1002ab98"], ["0x1002abbb", "sub esp, 0xd4", "0x1002ab9b"], ["0x1002abc1", "cmp dword ptr [eax + 0xdc], 0", "0x1002aba1"], ["0x1002abc8", "push ebx", "0x1002aba8"], ["0x1002abc9", "push esi", "0x1002aba9"], ["0x1002abca", "push edi", "0x1002abaa"], ["0x1002abcb", "mov ebx, ecx", "0x1002abab"]]}, {"orig": [["0x1002abcd", "jne 0x606"]], "recomp": [["0x1002abad", "jne 0x5d0"]]}, {"both": [["0x1002abd3", "mov eax, dword ptr [ebx - 0x68]", "0x1002abb3"], ["0x1002abd6", "mov ecx, dword ptr [eax + 4]", "0x1002abb6"], ["0x1002abd9", "cmp dword ptr [ecx + ebx + 0x74], 0", "0x1002abb9"]]}, {"orig": [["0x1002abde", "jne 0x5f5"]], "recomp": [["0x1002abbe", "jne 0x5bf"]]}, {"both": [["0x1002abe4", "cmp byte ptr [ebp + 0xc], 0", "0x1002abc4"], ["0x1002abe8", "je 0x1c", "0x1002abc8"], ["0x1002abea", "cmp byte ptr [ebx - 0x57], 0", "0x1002abca"]]}, {"orig": [["0x1002abee", "jne 0x5e5"]], "recomp": [["0x1002abce", "jne 0x5af"]]}, {"both": [["0x1002abf4", "lea ecx, [ebx - 0x6c]", "0x1002abd4"], ["0x1002abf7", "mov byte ptr [ebx - 0x57], 0x64", "0x1002abd7"], ["0x1002abfb", "mov eax, dword ptr [ecx]", "0x1002abdb"], ["0x1002abfd", "call dword ptr [eax]", "0x1002abdd"], ["0x1002abff", "xor eax, eax", "0x1002abdf"]]}, {"orig": [["0x1002ac01", "jmp 0x5d8"]], "recomp": [["0x1002abe1", "jmp 0x5a2"]]}, {"both": [["0x1002ac06", "mov dword ptr [ebp - 0x18], 0", "0x1002abe6"], ["0x1002ac0d", "inc dword ptr [g_unk0x100f31dc (DATA)]", "0x1002abed"], ["0x1002ac13", "mov eax, dword ptr [g_unk0x100f31dc (DATA)]", "0x1002abf3"], ["0x1002ac18", "cdq ", "0x1002abf8"], ["0x1002ac19", "xor eax, edx", "0x1002abf9"], ["0x1002ac1b", "sub eax, edx", "0x1002abfb"], ["0x1002ac1d", "and eax, 1", "0x1002abfd"], ["0x1002ac20", "xor eax, edx", "0x1002ac00"], ["0x1002ac22", "sub eax, edx", "0x1002ac02"]]}, {"orig": [["0x1002ac24", "jne 0x43f"]], "recomp": [["0x1002ac04", "jne 0x409"]]}, {"both": [["0x1002ac2a", "lea eax, [ebp - 0xd8]", "0x1002ac0a"], ["0x1002ac30", "mov edx, MxMatrix::`vftable' (VTABLE)", "0x1002ac10"], ["0x1002ac35", "mov ecx, dword ptr [ebp + 8]", "0x1002ac15"], ["0x1002ac38", "lea edi, [ebp - 0xd8]", "0x1002ac18"], ["0x1002ac3e", "mov dword ptr [ebp - 0xdc], eax", "0x1002ac1e"], ["0x1002ac44", "mov dword ptr [ebp - 0xe0], edx", "0x1002ac24"], ["0x1002ac4a", "mov eax, dword ptr [ecx + 0x54]", "0x1002ac2a"], ["0x1002ac4d", "mov ecx, 0x10", "0x1002ac2d"], ["0x1002ac52", "mov esi, dword ptr [eax + 0x14]", "0x1002ac32"], ["0x1002ac55", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1002ac35"]]}]], ["@@ -0x1002ad1e,32 +0x1002acfe,32 @@", [{"both": [["0x1002ad1e", "push eax", "0x1002acfe"], ["0x1002ad1f", "mov eax, dword ptr [ebp - 0x30]", "0x1002acff"], ["0x1002ad22", "call dword ptr [eax + 0x18]", "0x1002ad02"], ["0x1002ad25", "mov ecx, dword ptr [edi + 4]", "0x1002ad05"], ["0x1002ad28", "fadd dword ptr [ecx + 0xc]", "0x1002ad08"], ["0x1002ad2b", "fcomp qword ptr [-0.001 (FLOAT)]", "0x1002ad0b"], ["0x1002ad31", "fnstsw ax", "0x1002ad11"], ["0x1002ad33", "test ah, 1", "0x1002ad13"], ["0x1002ad36", "jne 0x1c", "0x1002ad16"], ["0x1002ad38", "add esi, 0x18", "0x1002ad18"]]}, {"orig": [], "recomp": [["0x1002ad1b", "inc dword ptr [ebp - 0x10]"]]}, {"both": [["0x1002ad3b", "mov eax, dword ptr [ebx - 0x68]", "0x1002ad1e"]]}, {"orig": [["0x1002ad3e", "inc dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x1002ad41", "mov ecx, dword ptr [eax + 4]", "0x1002ad21"], ["0x1002ad44", "mov edx, dword ptr [ecx + ebx + 0x20]", "0x1002ad24"], ["0x1002ad48", "xor ecx, ecx", "0x1002ad28"], ["0x1002ad4a", "mov cl, byte ptr [edx + 4]", "0x1002ad2a"], ["0x1002ad4d", "cmp ecx, dword ptr [ebp - 0x10]", "0x1002ad2d"], ["0x1002ad50", "jg -0x4d", "0x1002ad30"], ["0x1002ad52", "jmp 0x7", "0x1002ad32"], ["0x1002ad54", "mov dword ptr [ebp - 0x18], 1", "0x1002ad34"], ["0x1002ad5b", "cmp dword ptr [ebp - 0x18], 0", "0x1002ad3b"]]}, {"orig": [["0x1002ad5f", "jne 0x30e"]], "recomp": [["0x1002ad3f", "jne 0x2d8"]]}, {"both": [["0x1002ad65", "lea eax, [ebp - 0x98]", "0x1002ad45"], ["0x1002ad6b", "mov ecx, dword ptr [ebx - 0x68]", "0x1002ad4b"], ["0x1002ad6e", "push eax", "0x1002ad4e"], ["0x1002ad6f", "mov edx, dword ptr [ecx + 4]", "0x1002ad4f"], ["0x1002ad72", "mov ecx, dword ptr [edx + ebx - 0x14]", "0x1002ad52"], ["0x1002ad76", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x1002ad56"], ["0x1002ad7b", "mov ecx, dword ptr [ebx - 0x68]", "0x1002ad5b"], ["0x1002ad7e", "mov edx, dword ptr [ecx + 4]", "0x1002ad5e"], ["0x1002ad81", "mov ecx, dword ptr [edx + ebx - 0x14]", "0x1002ad61"], ["0x1002ad85", "mov eax, dword ptr [ecx]", "0x1002ad65"]]}]], ["@@ -0x1002adf0,92 +0x1002add0,73 @@", [{"both": [["0x1002adf0", "push eax", "0x1002add0"], ["0x1002adf1", "xor edi, edi", "0x1002add1"], ["0x1002adf3", "call LegoLocomotionAnimPresenter::FUN_1006d680 (FUNCTION)", "0x1002add3"], ["0x1002adf8", "mov eax, dword ptr [ebx - 0x68]", "0x1002add8"], ["0x1002adfb", "mov edx, dword ptr [eax + 8]", "0x1002addb"], ["0x1002adfe", "add edx, ebx", "0x1002adde"], ["0x1002ae00", "mov ecx, dword ptr [edx - 0x5c]", "0x1002ade0"], ["0x1002ae03", "test ecx, ecx", "0x1002ade3"], ["0x1002ae05", "jne 0x1a", "0x1002ade5"], ["0x1002ae07", "cmp dword ptr [ebx - 8], 0", "0x1002ade7"]]}, {"orig": [["0x1002ae0b", "jne 0x113"]], "recomp": [["0x1002adeb", "jne 0xdd"]]}, {"both": [["0x1002ae11", "cmp ebx, 0x6c", "0x1002adf1"]]}, {"orig": [["0x1002ae14", "jne 0xde"]], "recomp": [["0x1002adf4", "jne 0xa8"]]}, {"both": [["0x1002ae1a", "xor eax, eax", "0x1002adfa"]]}, {"orig": [["0x1002ae1c", "jmp 0xe1"]], "recomp": [["0x1002adfc", "jmp 0xab"]]}, {"both": [["0x1002ae21", "mov eax, dword ptr [edx - 0x58]", "0x1002ae01"], ["0x1002ae24", "sub eax, ecx", "0x1002ae04"], ["0x1002ae26", "sar eax, 2", "0x1002ae06"], ["0x1002ae29", "cmp eax, edi", "0x1002ae09"], ["0x1002ae2b", "jbe -0x26", "0x1002ae0b"], ["0x1002ae2d", "mov eax, dword ptr [ecx + edi*4]", "0x1002ae0d"], ["0x1002ae30", "cmp dword ptr [eax], 0xc1a00000", "0x1002ae10"], ["0x1002ae36", "je 0x3", "0x1002ae16"], ["0x1002ae38", "inc edi", "0x1002ae18"], ["0x1002ae39", "jmp -0x38", "0x1002ae19"], ["0x1002ae3b", "push 0x20", "0x1002ae1b"], ["0x1002ae3d", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002ae1d"], ["0x1002ae42", "mov dword ptr [ebp - 0x10], eax", "0x1002ae22"], ["0x1002ae45", "add esp, 4", "0x1002ae25"], ["0x1002ae48", "mov dword ptr [ebp - 4], 0", "0x1002ae28"], ["0x1002ae4f", "mov esi, eax", "0x1002ae2f"], ["0x1002ae51", "test esi, esi", "0x1002ae31"]]}, {"orig": [["0x1002ae53", "je 0x81"]], "recomp": [["0x1002ae33", "je 0x4f"]]}, {"both": [["0x1002ae59", "mov eax, dword ptr [ebx - 0x68]", "0x1002ae35"], ["0x1002ae5c", "mov ecx, dword ptr [eax + 8]", "0x1002ae38"], ["0x1002ae5f", "mov edx, dword ptr [ecx + ebx - 0x5c]", "0x1002ae3b"]]}, {"orig": [["0x1002ae63", "mov edi, dword ptr [edx + edi*4]"], ["0x1002ae66", "mov eax, dword ptr [edi]"]], "recomp": [["0x1002ae3f", "mov ecx, dword ptr [edx + edi*4]"], ["0x1002ae42", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x1002ae68", "mov dword ptr [esi], eax", "0x1002ae44"]]}, {"orig": [["0x1002ae6a", "mov ecx, dword ptr [edi + 4]"], ["0x1002ae6d", "add edi, 0x10"], ["0x1002ae70", "mov dword ptr [esi + 4], ecx"], ["0x1002ae73", "mov edx, dword ptr [edi - 8]"], ["0x1002ae76", "mov dword ptr [esi + 8], edx"], ["0x1002ae79", "mov eax, dword ptr [edi - 4]"]], "recomp": [["0x1002ae46", "mov edx, dword ptr [ecx + 4]"], ["0x1002ae49", "add ecx, 0x10"], ["0x1002ae4c", "push ecx"], ["0x1002ae4d", "mov dword ptr [esi + 4], edx"], ["0x1002ae50", "mov edi, dword ptr [ecx - 8]"], ["0x1002ae53", "mov dword ptr [esi + 8], edi"], ["0x1002ae56", "lea edi, [esi + 0x10]"], ["0x1002ae59", "mov eax, dword ptr [ecx - 4]"], ["0x1002ae5c", "mov ecx, edi"]]}, {"both": [["0x1002ae7c", "mov dword ptr [esi + 0xc], eax", "0x1002ae5e"]]}, {"orig": [["0x1002ae7f", "mov cl, byte ptr [edi]"], ["0x1002ae81", "mov byte ptr [esi + 0x10], cl"], ["0x1002ae84", "mov ecx, edi"], ["0x1002ae86", "call <OFFSET18>"], ["0x1002ae8b", "test eax, eax"], ["0x1002ae8d", "jge 0x2"], ["0x1002ae8f", "xor eax, eax"], ["0x1002ae91", "shl eax, 2"], ["0x1002ae94", "push eax"], ["0x1002ae95", "call ??2@YAPAXI@Z (FUNCTION)"], ["0x1002ae9a", "add esp, 4"], ["0x1002ae9d", "mov dword ptr [esi + 0x14], eax"], ["0x1002aea0", "mov ecx, dword ptr [edi + 8]"], ["0x1002aea3", "mov edx, dword ptr [edi + 4]"], ["0x1002aea6", "push eax"], ["0x1002aea7", "push ecx"], ["0x1002aea8", "push edx"], ["0x1002aea9", "call <OFFSET19>"], ["0x1002aeae", "add esp, 0xc"], ["0x1002aeb1", "mov dword ptr [esi + 0x18], eax"], ["0x1002aeb4", "mov byte ptr [ebp - 4], 1"], ["0x1002aeb8", "mov dword ptr [esi + 0x1c], eax"], ["0x1002aebb", "xor eax, eax"], ["0x1002aebd", "mov byte ptr [ebp - 4], al"]], "recomp": [["0x1002ae61", "call vector<unsigned char *,allocator<unsigned char *> >::vector<unsigned char *,allocator<unsigned char *> > (FUNCTION)"], ["0x1002ae66", "mov byte ptr [ebp - 4], 0"]]}, {"both": [["0x1002aec0", "mov eax, esi", "0x1002ae6a"], ["0x1002aec2", "jmp 0x18", "0x1002ae6c"], ["0x1002aec4", "mov ecx, dword ptr [ebp - 0x10]", "0x1002ae6e"], ["0x1002aec7", "add ecx, 0x10", "0x1002ae71"], ["0x1002aeca", "jmp vector<unsigned char *,allocator<unsigned char *> >::~vector<unsigned char *,allocator<unsigned char *> > (FUNCTION)", "0x1002ae74"], ["0x1002aecf", "mov ecx, dword ptr [ebp - 0x10]", "0x1002ae79"], ["0x1002aed2", "add ecx, 0x10", "0x1002ae7c"], ["0x1002aed5", "jmp Vector<unsigned char *>::~Vector<unsigned char *> (FUNCTION)", "0x1002ae7f"], ["0x1002aeda", "xor eax, eax", "0x1002ae84"], ["0x1002aedc", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002ae86"], ["0x1002aee3", "mov dword ptr [ebx - 0xc], eax", "0x1002ae8d"]]}, {"orig": [["0x1002aee6", "jmp -0xe4"]], "recomp": [["0x1002ae90", "jmp -0xae"]]}, {"both": [["0x1002aeeb", "mov eax, dword ptr [ebp - 0x10]", "0x1002ae95"], ["0x1002aeee", "push eax", "0x1002ae98"], ["0x1002aeef", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002ae99"], ["0x1002aef4", "add esp, 4", "0x1002ae9e"], ["0x1002aef7", "ret ", "0x1002aea1"], ["0x1002aef8", "mov eax, dword ptr [ebx - 0x68]", "0x1002aea2"], ["0x1002aefb", "mov ecx, dword ptr [eax + 8]", "0x1002aea5"], ["0x1002aefe", "lea eax, [ecx + ebx - 0x68]", "0x1002aea8"], ["0x1002af02", "push 0xc1a80000", "0x1002aeac"], ["0x1002af07", "mov ecx, dword ptr [m_disAnimP (DATA)]", "0x1002aeb1"]]}]], ["@@ -0x1002afd0,51 +0x1002af7a,51 @@", [{"both": [["0x1002afd0", "mov ecx, dword ptr [ebp - 0x10]", "0x1002af7a"], ["0x1002afd3", "add ecx, 0x10", "0x1002af7d"], ["0x1002afd6", "jmp vector<unsigned char *,allocator<unsigned char *> >::~vector<unsigned char *,allocator<unsigned char *> > (FUNCTION)", "0x1002af80"], ["0x1002afdb", "mov ecx, dword ptr [ebp - 0x10]", "0x1002af85"], ["0x1002afde", "add ecx, 0x10", "0x1002af88"], ["0x1002afe1", "jmp Vector<unsigned char *>::~Vector<unsigned char *> (FUNCTION)", "0x1002af8b"], ["0x1002afe6", "xor eax, eax", "0x1002af90"], ["0x1002afe8", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002af92"], ["0x1002afef", "mov dword ptr [ebx - 8], eax", "0x1002af99"], ["0x1002aff2", "jmp -0xd3", "0x1002af9c"]]}, {"orig": [["0x1002aff7", "mov eax, <OFFSET27>"]], "recomp": [["0x1002afa1", "mov eax, <OFFSET25>"]]}, {"both": [["0x1002affc", "jmp ___CxxFrameHandler (FUNCTION)", "0x1002afa6"], ["0x1002b001", "mov eax, dword ptr [ebp - 0x10]", "0x1002afab"], ["0x1002b004", "push eax", "0x1002afae"], ["0x1002b005", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002afaf"], ["0x1002b00a", "add esp, 4", "0x1002afb4"], ["0x1002b00d", "ret ", "0x1002afb7"], ["0x1002b00e", "mov esi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x1002afb8"], ["0x1002b014", "sub esi, dword ptr [eax + 8]", "0x1002afbe"], ["0x1002b017", "mov ecx, dword ptr [ebx - 8]", "0x1002afc1"], ["0x1002b01a", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x1002afc4"], ["0x1002b01f", "mov dword ptr [ebp - 0x10], esi", "0x1002afc9"]]}, {"orig": [["0x1002b022", "mov ecx, dword ptr [ebx - 0x68]"]], "recomp": []}, {"both": [["0x1002b025", "fiadd dword ptr [ebp - 0x10]", "0x1002afcc"], ["0x1002b028", "fstp dword ptr [ebx - 0x64]", "0x1002afcf"]]}, {"orig": [], "recomp": [["0x1002afd2", "mov ecx, dword ptr [ebx - 0x68]"]]}, {"both": [["0x1002b02b", "mov eax, dword ptr [ecx + 4]", "0x1002afd5"], ["0x1002b02e", "add ecx, 4", "0x1002afd8"], ["0x1002b031", "mov edx, dword ptr [eax + ebx - 0x18]", "0x1002afdb"], ["0x1002b035", "mov dword ptr [ebx - 0x5c], edx", "0x1002afdf"], ["0x1002b038", "mov eax, dword ptr [ecx]", "0x1002afe2"], ["0x1002b03a", "lea ecx, [eax + ebx - 0x68]", "0x1002afe4"], ["0x1002b03e", "mov eax, dword ptr [ecx]", "0x1002afe8"], ["0x1002b040", "call dword ptr [eax + 0xc4]", "0x1002afea"], ["0x1002b046", "mov ecx, dword ptr [ebx - 0x68]", "0x1002aff0"], ["0x1002b049", "push 0", "0x1002aff3"], ["0x1002b04b", "mov edx, dword ptr [ecx + 4]", "0x1002aff5"], ["0x1002b04e", "lea ecx, [edx + ebx - 0x68]", "0x1002aff8"], ["0x1002b052", "mov eax, dword ptr [ecx]", "0x1002affc"], ["0x1002b054", "call dword ptr [eax + 0x30]", "0x1002affe"]]}, {"orig": [], "recomp": [["0x1002b001", "mov byte ptr [ebx - 0x58], 1"]]}, {"both": [["0x1002b057", "mov ecx, dword ptr [ebx - 0x68]", "0x1002b005"]]}, {"orig": [["0x1002b05a", "mov byte ptr [ebx - 0x58], 1"]], "recomp": []}, {"both": [["0x1002b05e", "mov edx, dword ptr [ecx + 4]", "0x1002b008"], ["0x1002b061", "mov dword ptr [edx + ebx + 0x74], 0x101", "0x1002b00b"], ["0x1002b069", "cmp dword ptr [ebp - 0x18], 0", "0x1002b013"], ["0x1002b06d", "je 0x162", "0x1002b017"], ["0x1002b073", "mov eax, dword ptr [ebx - 0x68]", "0x1002b01d"], ["0x1002b076", "mov ecx, dword ptr [eax + 4]", "0x1002b020"], ["0x1002b079", "mov edx, dword ptr [ecx + ebx - 0x14]", "0x1002b023"], ["0x1002b07d", "mov dword ptr [ebp - 0x18], edx", "0x1002b027"], ["0x1002b080", "call SoundManager (FUNCTION)", "0x1002b02a"], ["0x1002b085", "push 0", "0x1002b02f"]]}]], ["@@ -0x1002b173,25 +0x1002b11d,46 @@", [{"both": [["0x1002b173", "mov dword ptr [ebp - 0x48], 0", "0x1002b11d"], ["0x1002b17a", "mov dword ptr [ebp - 0x44], 0", "0x1002b124"], ["0x1002b181", "mov dword ptr [ebp - 0x40], edi", "0x1002b12b"], ["0x1002b184", "mov ecx, dword ptr [ebp - 0x4c]", "0x1002b12e"], ["0x1002b187", "mov edx, dword ptr [ebp - 0x38]", "0x1002b131"], ["0x1002b18a", "push ecx", "0x1002b134"], ["0x1002b18b", "mov eax, dword ptr [ebp - 0x3c]", "0x1002b135"], ["0x1002b18e", "push edx", "0x1002b138"], ["0x1002b18f", "lea ecx, [ebp - 0x3c]", "0x1002b139"], ["0x1002b192", "call dword ptr [eax + 0x18]", "0x1002b13c"]]}, {"orig": [], "recomp": [["0x1002b13f", "fld dword ptr [ebp - 0x18]"]]}, {"both": [["0x1002b195", "fstp qword ptr [ebp - 0x14]", "0x1002b142"]]}, {"orig": [["0x1002b198", "fld dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x1002b19b", "fstp qword ptr [ebp - 0x1c]", "0x1002b145"], ["0x1002b19e", "fld qword ptr [ebp - 0x14]", "0x1002b148"], ["0x1002b1a1", "fabs ", "0x1002b14b"], ["0x1002b1a3", "fld qword ptr [ebp - 0x1c]", "0x1002b14d"], ["0x1002b1a6", "fabs ", "0x1002b150"], ["0x1002b1a8", "fcompp ", "0x1002b152"], ["0x1002b1aa", "fnstsw ax", "0x1002b154"], ["0x1002b1ac", "fldz ", "0x1002b156"]]}, {"orig": [["0x1002b1ae", "test ah, 0x41"], ["0x1002b1b1", "jne 0x12"]], "recomp": [["0x1002b158", "test ah, 1"], ["0x1002b15b", "je 0x12"], ["0x1002b15d", "fcomp qword ptr [ebp - 0x14]"], ["0x1002b160", "fnstsw ax"], ["0x1002b162", "test ah, 1"], ["0x1002b165", "sete al"], ["0x1002b168", "mov byte ptr [ebx - 0x5f], al"], ["0x1002b16b", "xor eax, eax"], ["0x1002b16d", "jmp 0x19"]]}, {"both": [["0x1002b1b3", "fcomp qword ptr [ebp - 0x1c]", "0x1002b16f"], ["0x1002b1b6", "fnstsw ax", "0x1002b172"], ["0x1002b1b8", "test ah, 1", "0x1002b174"]]}, {"orig": [], "recomp": [["0x1002b177", "sete al"], ["0x1002b17a", "add al, 2"], ["0x1002b17c", "mov byte ptr [ebx - 0x5f], al"], ["0x1002b17f", "xor eax, eax"], ["0x1002b181", "jmp 0x5"], ["0x1002b183", "mov eax, 0xffffffff"], ["0x1002b188", "mov ecx, dword ptr [ebp - 0xc]"], ["0x1002b18b", "pop edi"], ["0x1002b18c", "mov dword ptr fs:[0], ecx"], ["0x1002b193", "pop esi"], ["0x1002b194", "pop ebx"], ["0x1002b195", "mov esp, ebp"], ["0x1002b197", "pop ebp"], ["0x1002b198", "ret 8"]]}]]]}, {"address": "0x1002b200", "recomp": "0x1002b1a0", "name": "vector<unsigned char *,allocator<unsigned char *> >::vector<unsigned char *,allocator<unsigned char *> >", "matching": 1.0, "diff": []}, {"address": "0x1002b290", "recomp": "0x1002b210", "name": "LegoExtraActor::VTable0x9c", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002b29a,43 +0x1002b21a,43 @@", [{"both": [["0x1002b29a", "mov esi, ecx", "0x1002b21a"], ["0x1002b29c", "mov ecx, dword ptr [eax + 4]", "0x1002b21c"], ["0x1002b29f", "add ecx, esi", "0x1002b21f"], ["0x1002b2a1", "mov ebx, dword ptr [ecx + 0x20]", "0x1002b221"], ["0x1002b2a4", "sub ecx, 0x68", "0x1002b224"], ["0x1002b2a7", "call LegoPathActor::VTable0x9c (FUNCTION)", "0x1002b227"], ["0x1002b2ac", "mov edi, eax", "0x1002b22c"], ["0x1002b2ae", "mov eax, dword ptr [esi - 0x68]", "0x1002b22e"], ["0x1002b2b1", "mov ecx, dword ptr [eax + 4]", "0x1002b231"], ["0x1002b2b4", "mov ebp, dword ptr [ecx + esi + 0x20]", "0x1002b234"]]}, {"orig": [["0x1002b2b8", "cmp ebp, ebx"]], "recomp": [["0x1002b238", "cmp ebx, ebp"]]}, {"both": [["0x1002b2ba", "je 0xa5", "0x1002b23a"], ["0x1002b2c0", "mov eax, dword ptr [ebp + 0x68]", "0x1002b240"], ["0x1002b2c3", "xor ebx, ebx", "0x1002b243"], ["0x1002b2c5", "add ebp, 0x64", "0x1002b245"], ["0x1002b2c8", "mov ecx, dword ptr [eax]", "0x1002b248"], ["0x1002b2ca", "mov dword ptr [esp + 0x10], ecx", "0x1002b24a"], ["0x1002b2ce", "cmp ecx, eax", "0x1002b24e"], ["0x1002b2d0", "je 0x6e", "0x1002b250"], ["0x1002b2d2", "mov eax, dword ptr [esp + 0x10]", "0x1002b252"], ["0x1002b2d6", "lea edx, [esp + 0x14]", "0x1002b256"], ["0x1002b2da", "push edx", "0x1002b25a"], ["0x1002b2db", "mov ecx, dword ptr [eax + 0xc]", "0x1002b25b"], ["0x1002b2de", "mov eax, dword ptr [ecx]", "0x1002b25e"], ["0x1002b2e0", "call dword ptr [eax + 0x9c]", "0x1002b260"], ["0x1002b2e6", "test eax, eax", "0x1002b266"], ["0x1002b2e8", "jne 0x51", "0x1002b268"], ["0x1002b2ea", "mov eax, dword ptr [esp + 0x10]", "0x1002b26a"], ["0x1002b2ee", "mov ecx, dword ptr [eax + 8]", "0x1002b26e"]]}, {"orig": [["0x1002b2f1", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ecx"]], "recomp": [["0x1002b271", "cmp ecx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x1002b2f7", "je 0xe", "0x1002b277"], ["0x1002b2f9", "mov eax, dword ptr [ecx]", "0x1002b279"]]}, {"orig": [["0x1002b2fb", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002b27b", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x1002b301", "je 0x29", "0x1002b281"], ["0x1002b303", "mov ecx, eax", "0x1002b283"], ["0x1002b305", "jmp -0xe", "0x1002b285"], ["0x1002b307", "mov eax, dword ptr [esp + 0x10]", "0x1002b287"], ["0x1002b30b", "mov ecx, dword ptr [eax + 4]", "0x1002b28b"], ["0x1002b30e", "cmp dword ptr [ecx + 8], eax", "0x1002b28e"], ["0x1002b311", "jne 0x10", "0x1002b291"], ["0x1002b313", "mov dword ptr [esp + 0x10], ecx", "0x1002b293"], ["0x1002b317", "mov ecx, dword ptr [ecx + 4]", "0x1002b297"], ["0x1002b31a", "mov eax, dword ptr [esp + 0x10]", "0x1002b29a"]]}]]]}, {"address": "0x1002b370", "recomp": "0x1002b2f0", "name": "LegoExtraActor::Restart", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002b3a1,24 +0x1002b321,24 @@", [{"both": [["0x1002b3a1", "mov eax, dword ptr [esp + 0xc]", "0x1002b321"], ["0x1002b3a5", "lea edx, [esp + 0x10]", "0x1002b325"], ["0x1002b3a9", "push edx", "0x1002b329"], ["0x1002b3aa", "mov ecx, dword ptr [eax + 0xc]", "0x1002b32a"], ["0x1002b3ad", "mov eax, dword ptr [ecx]", "0x1002b32d"], ["0x1002b3af", "call dword ptr [eax + 0x9c]", "0x1002b32f"], ["0x1002b3b5", "test eax, eax", "0x1002b335"], ["0x1002b3b7", "jne 0x57", "0x1002b337"], ["0x1002b3b9", "mov eax, dword ptr [esp + 0xc]", "0x1002b339"], ["0x1002b3bd", "mov eax, dword ptr [eax + 8]", "0x1002b33d"]]}, {"orig": [["0x1002b3c0", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002b340", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x1002b3c6", "je 0x14", "0x1002b346"], ["0x1002b3c8", "mov ecx, dword ptr [eax]", "0x1002b348"]]}, {"orig": [["0x1002b3ca", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ecx"]], "recomp": [["0x1002b34a", "cmp ecx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x1002b3d0", "je 0x4", "0x1002b350"], ["0x1002b3d2", "mov eax, ecx", "0x1002b352"], ["0x1002b3d4", "jmp -0xe", "0x1002b354"], ["0x1002b3d6", "mov dword ptr [esp + 0xc], eax", "0x1002b356"], ["0x1002b3da", "jmp 0x29", "0x1002b35a"], ["0x1002b3dc", "mov eax, dword ptr [esp + 0xc]", "0x1002b35c"], ["0x1002b3e0", "mov ecx, dword ptr [eax + 4]", "0x1002b360"], ["0x1002b3e3", "cmp dword ptr [ecx + 8], eax", "0x1002b363"], ["0x1002b3e6", "jne 0x10", "0x1002b366"], ["0x1002b3e8", "mov dword ptr [esp + 0xc], ecx", "0x1002b368"]]}]]]}, {"address": "0x1002b440", "recomp": "0x1002b3c0", "name": "LegoExtraActor::Animate", "matching": 1.0, "diff": []}, {"address": "0x1002b5d0", "recomp": "0x1002b550", "name": "LegoExtraActor::VTable0x74", "matching": 1.0, "diff": []}, {"address": "0x1002b5f0", "recomp": "0x1002b570", "name": "LegoExtraActor::SetWorldSpeed", "matching": 1.0, "diff": []}, {"address": "0x1002b630", "recomp": "0x1002b5b0", "name": "LegoExtraActor::VTable0xc4", "matching": 1.0, "diff": []}, {"address": "0x1002b6f0", "recomp": "0x1002b670", "name": "LegoExtraActor::VTable0x68", "matching": 1.0, "diff": []}, {"address": "0x1002b750", "recomp": "0x1002b6a0", "name": "LegoExtraActor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002b760", "recomp": "0x1002b6b0", "name": "LegoExtraActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1002b7a0", "recomp": "0x1002b6f0", "name": "LegoExtraActor::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002b7b0", "recomp": "0x1002b700", "name": "LegoExtraActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1002b7c0", "recomp": "0x1002b710", "name": "LegoExtraActor::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002b7d0", "recomp": "0x1002b720", "name": "LegoExtraActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x1002b950", "recomp": "0x1002b8a0", "name": "LegoExtraActor::SetWorldSpeed`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002b960", "recomp": "0x1002b8b0", "name": "LegoExtraActor::VTable0x68`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002b970", "recomp": "0x1002b8c0", "name": "LegoExtraActor::VTable0x6c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002b980", "recomp": "0x1002b8d0", "name": "LegoExtraActor::VTable0x6c", "matching": 0.9071428571428571, "diff": [["@@ -0x1002b998,65 +0x1002b8e8,63 @@", [{"both": [["0x1002b998", "sub esp, 0x98", "0x1002b8e8"], ["0x1002b99e", "mov dword ptr [ebp - 0x14], ecx", "0x1002b8ee"], ["0x1002b9a1", "push ebx", "0x1002b8f1"], ["0x1002b9a2", "push esi", "0x1002b8f2"], ["0x1002b9a3", "push edi", "0x1002b8f3"], ["0x1002b9a4", "mov esi, dword ptr [ebp + 8]", "0x1002b8f4"], ["0x1002b9a7", "mov eax, dword ptr [esi + 0x68]", "0x1002b8f7"], ["0x1002b9aa", "lea edi, [esi + 0x64]", "0x1002b8fa"], ["0x1002b9ad", "mov ecx, dword ptr [eax]", "0x1002b8fd"], ["0x1002b9af", "mov dword ptr [ebp - 0x10], ecx", "0x1002b8ff"]]}, {"orig": [["0x1002b9b2", "cmp ecx, eax"], ["0x1002b9b4", "je 0x77"]], "recomp": [["0x1002b902", "cmp eax, ecx"], ["0x1002b904", "je 0x72"]]}, {"both": [["0x1002b9b6", "mov eax, dword ptr [ebp - 0x10]", "0x1002b906"], ["0x1002b9b9", "mov edx, dword ptr [ebp + 0x1c]", "0x1002b909"], ["0x1002b9bc", "push edx", "0x1002b90c"], ["0x1002b9bd", "mov ebx, dword ptr [ebp + 0x14]", "0x1002b90d"], ["0x1002b9c0", "mov ecx, dword ptr [eax + 0xc]", "0x1002b910"], ["0x1002b9c3", "mov edx, dword ptr [ebp + 0x10]", "0x1002b913"], ["0x1002b9c6", "mov eax, dword ptr [ebp + 0x18]", "0x1002b916"], ["0x1002b9c9", "push eax", "0x1002b919"], ["0x1002b9ca", "push ebx", "0x1002b91a"], ["0x1002b9cb", "push edx", "0x1002b91b"], ["0x1002b9cc", "mov eax, dword ptr [ebp + 0xc]", "0x1002b91c"], ["0x1002b9cf", "push eax", "0x1002b91f"], ["0x1002b9d0", "mov ebx, dword ptr [ecx]", "0x1002b920"], ["0x1002b9d2", "call dword ptr [ebx + 0x94]", "0x1002b922"], ["0x1002b9d8", "test eax, eax", "0x1002b928"]]}, {"orig": [["0x1002b9da", "jne 0x10b"]], "recomp": [["0x1002b92a", "jne 0x106"]]}, {"both": [["0x1002b9e0", "mov eax, dword ptr [ebp - 0x10]", "0x1002b930"]]}, {"orig": [["0x1002b9e3", "mov eax, dword ptr [eax + 8]"], ["0x1002b9e6", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"], ["0x1002b9ec", "je 0x13"], ["0x1002b9ee", "mov ecx, dword ptr [eax]"], ["0x1002b9f0", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ecx"], ["0x1002b9f6", "je 0x4"], ["0x1002b9f8", "mov eax, ecx"]], "recomp": [["0x1002b933", "mov ecx, dword ptr [eax + 8]"], ["0x1002b936", "cmp ecx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x1002b93c", "je 0xe"], ["0x1002b93e", "mov eax, dword ptr [ecx]"], ["0x1002b940", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x1002b946", "je 0x25"], ["0x1002b948", "mov ecx, eax"]]}, {"both": [["0x1002b9fa", "jmp -0xe", "0x1002b94a"]]}, {"orig": [["0x1002b9fc", "mov dword ptr [ebp - 0x10], eax"], ["0x1002b9ff", "jmp 0x24"]], "recomp": []}, {"both": [["0x1002ba01", "mov eax, dword ptr [ebp - 0x10]", "0x1002b94c"], ["0x1002ba04", "mov ecx, dword ptr [eax + 4]", "0x1002b94f"], ["0x1002ba07", "cmp dword ptr [ecx + 8], eax", "0x1002b952"], ["0x1002ba0a", "jne 0xe", "0x1002b955"], ["0x1002ba0c", "mov dword ptr [ebp - 0x10], ecx", "0x1002b957"], ["0x1002ba0f", "mov ecx, dword ptr [ecx + 4]", "0x1002b95a"], ["0x1002ba12", "mov eax, dword ptr [ebp - 0x10]", "0x1002b95d"], ["0x1002ba15", "cmp dword ptr [ecx + 8], eax", "0x1002b960"], ["0x1002ba18", "je -0xe", "0x1002b963"], ["0x1002ba1a", "mov eax, dword ptr [ebp - 0x10]", "0x1002b965"], ["0x1002ba1d", "cmp dword ptr [eax + 8], ecx", "0x1002b968"], ["0x1002ba20", "je 0x3", "0x1002b96b"], ["0x1002ba22", "mov dword ptr [ebp - 0x10], ecx", "0x1002b96d"], ["0x1002ba25", "mov eax, dword ptr [ebp - 0x10]", "0x1002b970"], ["0x1002ba28", "cmp dword ptr [edi + 4], eax", "0x1002b973"]]}, {"orig": [["0x1002ba2b", "jne -0x77"]], "recomp": [["0x1002b976", "jne -0x72"]]}, {"both": [["0x1002ba2d", "mov al, byte ptr [esi + 0x54]", "0x1002b978"], ["0x1002ba30", "add esi, 0x54", "0x1002b97b"], ["0x1002ba33", "mov dword ptr [ebp - 0x24], esi", "0x1002b97e"], ["0x1002ba36", "mov byte ptr [ebp - 0x34], al", "0x1002b981"], ["0x1002ba39", "mov cl, byte ptr [esi + 1]", "0x1002b984"], ["0x1002ba3c", "mov byte ptr [ebp - 0x33], cl", "0x1002b987"], ["0x1002ba3f", "mov eax, dword ptr [esi + 8]", "0x1002b98a"], ["0x1002ba42", "xor esi, esi", "0x1002b98d"], ["0x1002ba44", "mov dword ptr [ebp - 0x2c], eax", "0x1002b98f"], ["0x1002ba47", "mov dword ptr [ebp - 4], esi", "0x1002b992"]]}]], ["@@ -0x1002ba97,31 +0x1002b9e2,31 @@", [{"both": [["0x1002ba97", "mov eax, dword ptr [ebp - 0x30]", "0x1002b9e2"], ["0x1002ba9a", "push edx", "0x1002b9e5"], ["0x1002ba9b", "lea ecx, [ebp - 0x34]", "0x1002b9e6"], ["0x1002ba9e", "mov dword ptr [eax + 8], eax", "0x1002b9e9"], ["0x1002baa1", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy (FUNCTION)", "0x1002b9ec"], ["0x1002baa6", "mov eax, dword ptr [ebp - 0x30]", "0x1002b9f1"], ["0x1002baa9", "mov dword ptr [ebp - 4], 3", "0x1002b9f4"], ["0x1002bab0", "mov ecx, dword ptr [eax]", "0x1002b9fb"], ["0x1002bab2", "mov dword ptr [ebp - 0x10], ecx", "0x1002b9fd"], ["0x1002bab5", "cmp ecx, eax", "0x1002ba00"]]}, {"orig": [["0x1002bab7", "je 0x30f"]], "recomp": [["0x1002ba02", "je 0x314"]]}, {"both": [["0x1002babd", "mov eax, dword ptr [ebp - 0x24]", "0x1002ba08"], ["0x1002bac0", "mov edi, dword ptr [ebp - 0x10]", "0x1002ba0b"], ["0x1002bac3", "add edi, 0xc", "0x1002ba0e"], ["0x1002bac6", "mov ecx, dword ptr [ebp - 0x24]", "0x1002ba11"], ["0x1002bac9", "mov esi, dword ptr [eax + 4]", "0x1002ba14"], ["0x1002bacc", "push edi", "0x1002ba17"], ["0x1002bacd", "lea eax, [ebp - 0x54]", "0x1002ba18"], ["0x1002bad0", "push eax", "0x1002ba1b"], ["0x1002bad1", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::find (FUNCTION)", "0x1002ba1c"]]}, {"orig": [["0x1002bad6", "cmp esi, dword ptr [ebp - 0x54]"]], "recomp": [["0x1002ba21", "cmp dword ptr [ebp - 0x54], esi"]]}, {"both": [["0x1002bad9", "je 0x2a1", "0x1002ba24"], ["0x1002badf", "cmp dword ptr [ebp - 0x14], 0x6c", "0x1002ba2a"], ["0x1002bae3", "mov ebx, dword ptr [edi]", "0x1002ba2e"], ["0x1002bae5", "jne 0x1c", "0x1002ba30"], ["0x1002bae7", "xor eax, eax", "0x1002ba32"], ["0x1002bae9", "jmp 0x25", "0x1002ba34"], ["0x1002baeb", "mov eax, 1", "0x1002ba36"], ["0x1002baf0", "mov ecx, dword ptr [ebp - 0xc]", "0x1002ba3b"], ["0x1002baf3", "pop edi", "0x1002ba3e"], ["0x1002baf4", "mov dword ptr fs:[0], ecx", "0x1002ba3f"]]}]], ["@@ -0x1002bb88,21 +0x1002bad3,21 @@", [{"both": [["0x1002bb88", "je 0x1f2", "0x1002bad3"], ["0x1002bb8e", "mov ecx, dword ptr [ebp - 0x14]", "0x1002bad9"], ["0x1002bb91", "push 1", "0x1002badc"], ["0x1002bb93", "push ebx", "0x1002bade"], ["0x1002bb94", "mov eax, dword ptr [ecx - 0x68]", "0x1002badf"], ["0x1002bb97", "mov edx, dword ptr [eax + 4]", "0x1002bae2"], ["0x1002bb9a", "lea ecx, [edx + ecx - 0x68]", "0x1002bae5"], ["0x1002bb9e", "mov eax, dword ptr [ecx]", "0x1002bae9"], ["0x1002bba0", "call dword ptr [eax + 0x94]", "0x1002baeb"], ["0x1002bba6", "test eax, eax", "0x1002baf1"]]}, {"orig": [["0x1002bba8", "jge 0x240"]], "recomp": [["0x1002baf3", "jge 0x245"]]}, {"both": [["0x1002bbae", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002baf9"], ["0x1002bbb5", "call <OFFSET9>", "0x1002bb00"], ["0x1002bbba", "xor eax, eax", "0x1002bb05"], ["0x1002bbbc", "jmp -0xd1", "0x1002bb07"], ["0x1002bbc1", "lea eax, [ebp - 0x9c]", "0x1002bb0c"], ["0x1002bbc7", "mov ecx, 0x10", "0x1002bb12"], ["0x1002bbcc", "mov edi, eax", "0x1002bb17"], ["0x1002bbce", "mov dword ptr [ebp - 0xa0], eax", "0x1002bb19"], ["0x1002bbd4", "mov dword ptr [ebp - 0xa4], MxMatrix::`vftable' (VTABLE)", "0x1002bb1f"], ["0x1002bbde", "mov esi, dword ptr [esi + 0x14]", "0x1002bb29"]]}]], ["@@ -0x1002bc50,21 +0x1002bb9b,21 @@", [{"both": [["0x1002bc50", "mov eax, dword ptr [ebp - 0x50]", "0x1002bb9b"], ["0x1002bc53", "push ecx", "0x1002bb9e"], ["0x1002bc54", "push ecx", "0x1002bb9f"], ["0x1002bc55", "lea ecx, [ebp - 0x50]", "0x1002bba0"], ["0x1002bc58", "call dword ptr [eax + 0x18]", "0x1002bba3"], ["0x1002bc5b", "fstp dword ptr [ebp - 0x1c]", "0x1002bba6"], ["0x1002bc5e", "mov ecx, dword ptr [ebp - 0x14]", "0x1002bba9"], ["0x1002bc61", "cmp byte ptr [ecx - 0x57], 0", "0x1002bbac"], ["0x1002bc65", "je 0xd", "0x1002bbb0"], ["0x1002bc67", "cmp dword ptr [ebp - 0x1c], 0x41200000", "0x1002bbb2"]]}, {"orig": [["0x1002bc6e", "jl 0x1b3"]], "recomp": [["0x1002bbb9", "jl 0x1b8"]]}, {"both": [["0x1002bc74", "fld dword ptr [ebp - 0x1c]", "0x1002bbbf"], ["0x1002bc77", "fsub dword ptr [1.0 (FLOAT)]", "0x1002bbc2"], ["0x1002bc7d", "fstp dword ptr [ebp - 0x1c]", "0x1002bbc8"], ["0x1002bc80", "fld dword ptr [ebp - 0x18]", "0x1002bbcb"], ["0x1002bc83", "fcom qword ptr [0.001 (FLOAT)]", "0x1002bbce"], ["0x1002bc89", "fstp qword ptr [ebp - 0x3c]", "0x1002bbd4"], ["0x1002bc8c", "fnstsw ax", "0x1002bbd7"], ["0x1002bc8e", "test ah, 1", "0x1002bbd9"], ["0x1002bc91", "je 0x14", "0x1002bbdc"], ["0x1002bc93", "fld qword ptr [ebp - 0x3c]", "0x1002bbde"]]}]], ["@@ -0x1002bd0f,134 +0x1002bc5a,136 @@", [{"both": [["0x1002bd0f", "fnstsw ax", "0x1002bc5a"], ["0x1002bd11", "test ah, 1", "0x1002bc5c"], ["0x1002bd14", "je 0xf", "0x1002bc5f"], ["0x1002bd16", "mov eax, dword ptr [ebp - 0x1c]", "0x1002bc61"], ["0x1002bd19", "mov ecx, dword ptr [ebp - 0x18]", "0x1002bc64"], ["0x1002bd1c", "mov dword ptr [ebp - 0x38], eax", "0x1002bc67"], ["0x1002bd1f", "mov dword ptr [ebp - 0x1c], ecx", "0x1002bc6a"], ["0x1002bd22", "mov dword ptr [ebp - 0x18], eax", "0x1002bc6d"], ["0x1002bd25", "cmp dword ptr [ebp - 0x1c], 0x80000000", "0x1002bc70"], ["0x1002bd2c", "ja 0x11", "0x1002bc77"]]}, {"orig": [["0x1002bd2e", "fld dword ptr [ebp - 0x1c]"], ["0x1002bd31", "fcomp dword ptr [ebp + 0x14]"]], "recomp": [["0x1002bc79", "fld dword ptr [ebp + 0x14]"], ["0x1002bc7c", "fcomp dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1002bd34", "fnstsw ax", "0x1002bc7f"]]}, {"orig": [["0x1002bd36", "test ah, 0x41"], ["0x1002bd39", "jne 0xfb"]], "recomp": [["0x1002bc81", "test ah, 1"], ["0x1002bc84", "je 0x100"]]}, {"both": [["0x1002bd3f", "cmp dword ptr [ebp - 0x18], 0x80000000", "0x1002bc8a"], ["0x1002bd46", "ja 0x11", "0x1002bc91"]]}, {"orig": [["0x1002bd48", "fld dword ptr [ebp - 0x18]"], ["0x1002bd4b", "fcomp dword ptr [ebp + 0x14]"]], "recomp": [["0x1002bc93", "fld dword ptr [ebp + 0x14]"], ["0x1002bc96", "fcomp dword ptr [ebp - 0x18]"]]}, {"both": [["0x1002bd4e", "fnstsw ax", "0x1002bc99"]]}, {"orig": [["0x1002bd50", "test ah, 0x41"], ["0x1002bd53", "jne 0xe1"]], "recomp": [["0x1002bc9b", "test ah, 1"], ["0x1002bc9e", "je 0xe6"]]}, {"both": [["0x1002bd59", "fld dword ptr [ebp - 0x1c]", "0x1002bca4"], ["0x1002bd5c", "fcomp qword ptr [-0.01 (FLOAT)]", "0x1002bca7"], ["0x1002bd62", "fnstsw ax", "0x1002bcad"], ["0x1002bd64", "test ah, 0x41", "0x1002bcaf"], ["0x1002bd67", "je 0x17", "0x1002bcb2"], ["0x1002bd69", "fld dword ptr [ebp + 0x14]", "0x1002bcb4"], ["0x1002bd6c", "fadd qword ptr [0.01 (FLOAT)]", "0x1002bcb7"], ["0x1002bd72", "fcomp dword ptr [ebp - 0x18]", "0x1002bcbd"], ["0x1002bd75", "fnstsw ax", "0x1002bcc0"], ["0x1002bd77", "test ah, 0x41", "0x1002bcc2"]]}, {"orig": [["0x1002bd7a", "jne 0xba"]], "recomp": [["0x1002bcc5", "jne 0xbf"]]}, {"both": [["0x1002bd80", "mov eax, dword ptr [ebp - 0x10]", "0x1002bccb"]]}, {"orig": [["0x1002bd83", "mov ecx, dword ptr [eax + 8]"], ["0x1002bd86", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ecx"], ["0x1002bd8c", "je 0xe"], ["0x1002bd8e", "mov eax, dword ptr [ecx]"], ["0x1002bd90", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"], ["0x1002bd96", "je 0x25"], ["0x1002bd98", "mov ecx, eax"]], "recomp": [["0x1002bcce", "mov eax, dword ptr [eax + 8]"], ["0x1002bcd1", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"], ["0x1002bcd7", "je 0x13"], ["0x1002bcd9", "mov ecx, dword ptr [eax]"], ["0x1002bcdb", "cmp ecx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"], ["0x1002bce1", "je 0x4"], ["0x1002bce3", "mov eax, ecx"]]}, {"both": [["0x1002bd9a", "jmp -0xe", "0x1002bce5"]]}, {"orig": [], "recomp": [["0x1002bce7", "mov dword ptr [ebp - 0x10], eax"], ["0x1002bcea", "jmp 0x24"]]}, {"both": [["0x1002bd9c", "mov eax, dword ptr [ebp - 0x10]", "0x1002bcec"], ["0x1002bd9f", "mov ecx, dword ptr [eax + 4]", "0x1002bcef"], ["0x1002bda2", "cmp dword ptr [ecx + 8], eax", "0x1002bcf2"], ["0x1002bda5", "jne 0xe", "0x1002bcf5"], ["0x1002bda7", "mov dword ptr [ebp - 0x10], ecx", "0x1002bcf7"], ["0x1002bdaa", "mov ecx, dword ptr [ecx + 4]", "0x1002bcfa"], ["0x1002bdad", "mov eax, dword ptr [ebp - 0x10]", "0x1002bcfd"], ["0x1002bdb0", "cmp dword ptr [ecx + 8], eax", "0x1002bd00"], ["0x1002bdb3", "je -0xe", "0x1002bd03"], ["0x1002bdb5", "mov eax, dword ptr [ebp - 0x10]", "0x1002bd05"], ["0x1002bdb8", "cmp dword ptr [eax + 8], ecx", "0x1002bd08"], ["0x1002bdbb", "je 0x3", "0x1002bd0b"], ["0x1002bdbd", "mov dword ptr [ebp - 0x10], ecx", "0x1002bd0d"], ["0x1002bdc0", "mov eax, dword ptr [ebp - 0x30]", "0x1002bd10"], ["0x1002bdc3", "cmp dword ptr [ebp - 0x10], eax", "0x1002bd13"]]}, {"orig": [["0x1002bdc6", "jne -0x30f"]], "recomp": [["0x1002bd16", "jne -0x314"]]}, {"both": [["0x1002bdcc", "mov ecx, dword ptr [ebp - 0x14]", "0x1002bd1c"], ["0x1002bdcf", "mov al, byte ptr [ecx - 0x57]", "0x1002bd1f"], ["0x1002bdd2", "test al, al", "0x1002bd22"], ["0x1002bdd4", "je 0x5", "0x1002bd24"], ["0x1002bdd6", "dec al", "0x1002bd26"], ["0x1002bdd8", "mov byte ptr [ecx - 0x57], al", "0x1002bd28"], ["0x1002bddb", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002bd2b"], ["0x1002bde2", "call <OFFSET9>", "0x1002bd32"], ["0x1002bde7", "xor eax, eax", "0x1002bd37"]]}, {"orig": [["0x1002bde9", "jmp -0x2fe"]], "recomp": [["0x1002bd39", "jmp -0x303"]]}, {"both": [["0x1002bdee", "cmp dword ptr [ebp - 0x14], 0x6c", "0x1002bd3e"], ["0x1002bdf2", "mov eax, 0", "0x1002bd42"], ["0x1002bdf7", "je 0xd", "0x1002bd47"], ["0x1002bdf9", "mov ecx, dword ptr [ebp - 0x14]", "0x1002bd49"], ["0x1002bdfc", "mov eax, dword ptr [ecx - 0x68]", "0x1002bd4c"], ["0x1002bdff", "mov edx, dword ptr [eax + 4]", "0x1002bd4f"], ["0x1002be02", "lea eax, [edx + ecx - 0x68]", "0x1002bd52"], ["0x1002be06", "push 0", "0x1002bd56"], ["0x1002be08", "mov ecx, ebx", "0x1002bd58"], ["0x1002be0a", "push eax", "0x1002bd5a"], ["0x1002be0b", "call dword ptr [edi + 0x94]", "0x1002bd5b"], ["0x1002be11", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002bd61"], ["0x1002be18", "call <OFFSET9>", "0x1002bd68"], ["0x1002be1d", "mov eax, 2", "0x1002bd6d"]]}, {"orig": [["0x1002be22", "jmp -0x337"]], "recomp": [["0x1002bd72", "jmp -0x33c"]]}, {"both": [["0x1002be27", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002bd77"], ["0x1002be2e", "call <OFFSET9>", "0x1002bd7e"], ["0x1002be33", "xor eax, eax", "0x1002bd83"]]}, {"orig": [["0x1002be35", "jmp -0x34a"]], "recomp": [["0x1002bd85", "jmp -0x34f"]]}, {"both": [["0x1002be3a", "mov eax, dword ptr [ebp + 0xc]", "0x1002bd8a"], ["0x1002be3d", "mov edx, dword ptr [ebp + 0x1c]", "0x1002bd8d"], ["0x1002be40", "mov ecx, dword ptr [eax + 4]", "0x1002bd90"], ["0x1002be43", "mov eax, dword ptr [edx]", "0x1002bd93"], ["0x1002be45", "push ecx", "0x1002bd95"], ["0x1002be46", "mov ecx, edx", "0x1002bd96"], ["0x1002be48", "call dword ptr [eax + 0x20]", "0x1002bd98"], ["0x1002be4b", "mov ecx, dword ptr [ebp - 0x14]", "0x1002bd9b"], ["0x1002be4e", "push 1", "0x1002bd9e"], ["0x1002be50", "push ebx", "0x1002bda0"], ["0x1002be51", "mov edx, dword ptr [ecx - 0x68]", "0x1002bda1"], ["0x1002be54", "mov eax, dword ptr [edx + 4]", "0x1002bda4"], ["0x1002be57", "lea ecx, [eax + ecx - 0x68]", "0x1002bda7"], ["0x1002be5b", "mov eax, dword ptr [ecx]", "0x1002bdab"], ["0x1002be5d", "call dword ptr [eax + 0x94]", "0x1002bdad"], ["0x1002be63", "test eax, eax", "0x1002bdb3"], ["0x1002be65", "jge 0x13", "0x1002bdb5"], ["0x1002be67", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002bdb7"], ["0x1002be6e", "call <OFFSET9>", "0x1002bdbe"], ["0x1002be73", "xor eax, eax", "0x1002bdc3"]]}, {"orig": [["0x1002be75", "jmp -0x38a"]], "recomp": [["0x1002bdc5", "jmp -0x38f"]]}, {"both": [["0x1002be7a", "cmp dword ptr [ebp - 0x14], 0x6c", "0x1002bdca"], ["0x1002be7e", "mov eax, 0", "0x1002bdce"], ["0x1002be83", "je 0xd", "0x1002bdd3"], ["0x1002be85", "mov ecx, dword ptr [ebp - 0x14]", "0x1002bdd5"], ["0x1002be88", "mov eax, dword ptr [ecx - 0x68]", "0x1002bdd8"], ["0x1002be8b", "mov edx, dword ptr [eax + 4]", "0x1002bddb"], ["0x1002be8e", "lea eax, [edx + ecx - 0x68]", "0x1002bdde"], ["0x1002be92", "push 0", "0x1002bde2"], ["0x1002be94", "mov ecx, ebx", "0x1002bde4"], ["0x1002be96", "push eax", "0x1002bde6"], ["0x1002be97", "mov eax, dword ptr [ebx]", "0x1002bde7"], ["0x1002be99", "call dword ptr [eax + 0x94]", "0x1002bde9"], ["0x1002be9f", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002bdef"], ["0x1002bea6", "call <OFFSET9>", "0x1002bdf6"], ["0x1002beab", "mov eax, 2", "0x1002bdfb"]]}, {"orig": [["0x1002beb0", "jmp -0x3c5"]], "recomp": [["0x1002be00", "jmp -0x3ca"]]}, {"both": [["0x1002beb5", "lea ecx, [ebp - 0xd]", "0x1002be05"], ["0x1002beb8", "jmp _Lockit::~_Lockit (FUNCTION)", "0x1002be08"], ["0x1002bebd", "lea ecx, [ebp - 0x34]", "0x1002be0d"], ["0x1002bec0", "jmp _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,a (FUNCTION)", "0x1002be10"], ["0x1002bec5", "lea ecx, [ebp - 0x34]", "0x1002be15"], ["0x1002bec8", "jmp set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> > (FUNCTION)", "0x1002be18"], ["0x1002becd", "mov eax, <OFFSET20>", "0x1002be1d"], ["0x1002bed2", "jmp ___CxxFrameHandler (FUNCTION)", "0x1002be22"], ["0x1002bed7", "lea ecx, [ebp - 0x34]", "0x1002be27"], ["0x1002beda", "jmp Set<LegoPathActor *,LegoPathActorSetCompare>::~Set<LegoPathActor *,LegoPathActorSetCompare> (FUNCTION)", "0x1002be2a"]]}]]]}, {"address": "0x1002bee0", "recomp": "0x1002be30", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,a", "matching": 0.8939393939393939, "diff": [["@@ -0x1002beec,31 +0x1002be3c,31 @@", [{"both": [["0x1002beec", "mov ecx, dword ptr [esi + 4]", "0x1002be3c"], ["0x1002beef", "mov dword ptr [esp + 0x10], ecx", "0x1002be3f"], ["0x1002bef3", "mov eax, dword ptr [ecx]", "0x1002be43"], ["0x1002bef5", "mov dword ptr [esp + 0xc], eax", "0x1002be45"], ["0x1002bef9", "mov dword ptr [esp + 0x14], eax", "0x1002be49"], ["0x1002befd", "je 0x4e", "0x1002be4d"], ["0x1002beff", "cmp dword ptr [ecx], eax", "0x1002be4f"], ["0x1002bf01", "jne 0x4a", "0x1002be51"], ["0x1002bf03", "cmp ecx, ecx", "0x1002be53"], ["0x1002bf05", "jne 0x46", "0x1002be55"]]}, {"orig": [["0x1002bf07", "mov edi, dword ptr [ecx + 4]"], ["0x1002bf0a", "mov ebx, edi"], ["0x1002bf0c", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1002be57", "mov ebx, dword ptr [ecx + 4]"], ["0x1002be5a", "mov edi, ebx"], ["0x1002be5c", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002bf12", "je 0x1a", "0x1002be62"]]}, {"orig": [["0x1002bf14", "mov eax, dword ptr [ebx + 8]"]], "recomp": [["0x1002be64", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x1002bf17", "mov ecx, esi", "0x1002be67"], ["0x1002bf19", "push eax", "0x1002be69"], ["0x1002bf1a", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase (FUNCTION)", "0x1002be6a"]]}, {"orig": [["0x1002bf1f", "mov ebx, dword ptr [ebx]"], ["0x1002bf21", "push edi"], ["0x1002bf22", "mov edi, ebx"]], "recomp": [["0x1002be6f", "mov edi, dword ptr [edi]"], ["0x1002be71", "push ebx"], ["0x1002be72", "mov ebx, edi"]]}, {"both": [["0x1002bf24", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002be74"], ["0x1002bf29", "add esp, 4", "0x1002be79"], ["0x1002bf2c", "jmp -0x22", "0x1002be7c"], ["0x1002bf2e", "mov eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x1002be7e"], ["0x1002bf33", "mov ecx, dword ptr [esi + 4]", "0x1002be83"], ["0x1002bf36", "mov dword ptr [ecx + 4], eax", "0x1002be86"], ["0x1002bf39", "mov eax, dword ptr [esi + 4]", "0x1002be89"], ["0x1002bf3c", "mov dword ptr [esi + 0xc], 0", "0x1002be8c"], ["0x1002bf43", "mov dword ptr [eax], eax", "0x1002be93"], ["0x1002bf45", "mov eax, dword ptr [esi + 4]", "0x1002be95"]]}]]]}, {"address": "0x1002bfb0", "recomp": "0x1002bf00", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002bfb0,16 +0x1002bf00,16 @@", [{"both": [["0x1002bfb0", "mov eax, dword ptr [ecx]", "0x1002bf00"], ["0x1002bfb2", "mov edx, dword ptr [eax + 8]", "0x1002bf02"]]}, {"orig": [["0x1002bfb5", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx"]], "recomp": [["0x1002bf05", "cmp edx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002bfbb", "je 0x11", "0x1002bf0b"], ["0x1002bfbd", "mov eax, dword ptr [edx]", "0x1002bf0d"]]}, {"orig": [["0x1002bfbf", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002bf0f", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002bfc5", "je 0x4", "0x1002bf15"], ["0x1002bfc7", "mov edx, eax", "0x1002bf17"], ["0x1002bfc9", "jmp -0xe", "0x1002bf19"], ["0x1002bfcb", "mov dword ptr [ecx], edx", "0x1002bf1b"], ["0x1002bfcd", "ret ", "0x1002bf1d"], ["0x1002bfce", "mov edx, dword ptr [eax + 4]", "0x1002bf1e"], ["0x1002bfd1", "cmp dword ptr [edx + 8], eax", "0x1002bf21"], ["0x1002bfd4", "jne 0xc", "0x1002bf24"], ["0x1002bfd6", "mov dword ptr [ecx], edx", "0x1002bf26"], ["0x1002bfd8", "mov eax, edx", "0x1002bf28"]]}]]]}, {"address": "0x1002bff0", "recomp": "0x1002bf40", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::erase", "matching": 0.8392370572207084, "diff": [["@@ -0x1002bff0,61 +0x1002bf40,61 @@", [{"both": [["0x1002bff0", "mov eax, dword ptr [esp + 8]", "0x1002bf40"], ["0x1002bff4", "sub esp, 4", "0x1002bf44"], ["0x1002bff7", "mov dword ptr [esp], eax", "0x1002bf47"], ["0x1002bffb", "push ebx", "0x1002bf4b"], ["0x1002bffc", "push esi", "0x1002bf4c"]]}, {"orig": [["0x1002bffd", "mov eax, dword ptr [eax + 8]"]], "recomp": []}, {"both": [["0x1002c000", "push edi", "0x1002bf4d"]]}, {"orig": [], "recomp": [["0x1002bf4e", "push ebp"]]}, {"both": [["0x1002c001", "mov esi, ecx", "0x1002bf4f"]]}, {"orig": [["0x1002c003", "push ebp"], ["0x1002c004", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002bf51", "mov ecx, dword ptr [eax + 8]"], ["0x1002bf54", "cmp ecx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c00a", "je 0xe", "0x1002bf5a"]]}, {"orig": [["0x1002c00c", "mov ecx, dword ptr [eax]"], ["0x1002c00e", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ecx"]], "recomp": [["0x1002bf5c", "mov eax, dword ptr [ecx]"], ["0x1002bf5e", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c014", "je 0x29", "0x1002bf64"]]}, {"orig": [["0x1002c016", "mov eax, ecx"]], "recomp": [["0x1002bf66", "mov ecx, eax"]]}, {"both": [["0x1002c018", "jmp -0xe", "0x1002bf68"]]}, {"orig": [["0x1002c01a", "mov ecx, dword ptr [esp + 0x1c]"], ["0x1002c01e", "mov eax, dword ptr [ecx + 4]"]], "recomp": [["0x1002bf6a", "mov eax, dword ptr [esp + 0x1c]"], ["0x1002bf6e", "mov ecx, dword ptr [eax + 4]"], ["0x1002bf71", "cmp dword ptr [ecx + 8], eax"], ["0x1002bf74", "jne 0x10"], ["0x1002bf76", "mov dword ptr [esp + 0x1c], ecx"], ["0x1002bf7a", "mov ecx, dword ptr [ecx + 4]"], ["0x1002bf7d", "mov eax, dword ptr [esp + 0x1c]"], ["0x1002bf81", "cmp dword ptr [ecx + 8], eax"], ["0x1002bf84", "je -0x10"], ["0x1002bf86", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1002c021", "cmp dword ptr [eax + 8], ecx", "0x1002bf8a"]]}, {"orig": [["0x1002c024", "jne 0x10"], ["0x1002c026", "mov dword ptr [esp + 0x1c], eax"], ["0x1002c02a", "mov eax, dword ptr [eax + 4]"], ["0x1002c02d", "mov ecx, dword ptr [esp + 0x1c]"], ["0x1002c031", "cmp dword ptr [eax + 8], ecx"], ["0x1002c034", "je -0x10"], ["0x1002c036", "mov ecx, dword ptr [esp + 0x1c]"], ["0x1002c03a", "cmp dword ptr [ecx + 8], eax"]], "recomp": []}, {"both": [["0x1002c03d", "je 0x4", "0x1002bf8d"]]}, {"orig": [["0x1002c03f", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x1002bf8f", "mov dword ptr [esp + 0x1c], ecx"]]}, {"both": [["0x1002c043", "mov ecx, dword ptr [esp + 0x10]", "0x1002bf93"], ["0x1002c047", "mov ebx, dword ptr [ecx]", "0x1002bf97"]]}, {"orig": [["0x1002c049", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1002bf99", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c04f", "je 0x26", "0x1002bf9f"], ["0x1002c051", "lea edi, [ecx + 8]", "0x1002bfa1"], ["0x1002c054", "mov edx, dword ptr [edi]", "0x1002bfa4"]]}, {"orig": [["0x1002c056", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx"]], "recomp": [["0x1002bfa6", "cmp edx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c05c", "je 0x15", "0x1002bfac"], ["0x1002c05e", "mov eax, dword ptr [edx]", "0x1002bfae"]]}, {"orig": [["0x1002c060", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002bfb0", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c066", "je 0x4", "0x1002bfb6"], ["0x1002c068", "mov edx, eax", "0x1002bfb8"], ["0x1002c06a", "jmp -0xe", "0x1002bfba"], ["0x1002c06c", "mov ecx, edx", "0x1002bfbc"], ["0x1002c06e", "mov edx, dword ptr [edx + 8]", "0x1002bfbe"], ["0x1002c071", "jmp 0xe", "0x1002bfc1"], ["0x1002c073", "mov edx, ebx", "0x1002bfc3"], ["0x1002c075", "jmp 0xa", "0x1002bfc5"], ["0x1002c077", "mov edi, dword ptr [esp + 0x10]", "0x1002bfc7"], ["0x1002c07b", "mov edx, dword ptr [edi + 8]", "0x1002bfcb"], ["0x1002c07e", "add edi, 8", "0x1002bfce"]]}, {"orig": [["0x1002c081", "cmp ecx, dword ptr [esp + 0x10]"]], "recomp": [["0x1002bfd1", "cmp dword ptr [esp + 0x10], ecx"]]}, {"both": [["0x1002c085", "jne 0x8f", "0x1002bfd5"], ["0x1002c08b", "mov eax, dword ptr [ecx + 4]", "0x1002bfdb"], ["0x1002c08e", "mov ebx, dword ptr [esp + 0x10]", "0x1002bfde"], ["0x1002c092", "mov dword ptr [edx + 4], eax", "0x1002bfe2"], ["0x1002c095", "mov eax, dword ptr [esi + 4]", "0x1002bfe5"], ["0x1002c098", "add eax, 4", "0x1002bfe8"], ["0x1002c09b", "cmp dword ptr [eax], ebx", "0x1002bfeb"], ["0x1002c09d", "je 0xc", "0x1002bfed"], ["0x1002c09f", "mov eax, dword ptr [ebx + 4]", "0x1002bfef"], ["0x1002c0a2", "cmp dword ptr [eax], ebx", "0x1002bff2"]]}]], ["@@ -0x1002c0ab,40 +0x1002bffb,40 @@", [{"both": [["0x1002c0ab", "mov dword ptr [eax], edx", "0x1002bffb"], ["0x1002c0ad", "mov ebx, dword ptr [esi + 4]", "0x1002bffd"], ["0x1002c0b0", "mov eax, dword ptr [esp + 0x10]", "0x1002c000"], ["0x1002c0b4", "cmp dword ptr [ebx], eax", "0x1002c004"], ["0x1002c0b6", "jne 0x26", "0x1002c006"], ["0x1002c0b8", "mov eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x1002c008"], ["0x1002c0bd", "cmp dword ptr [edi], eax", "0x1002c00d"], ["0x1002c0bf", "je 0x14", "0x1002c00f"], ["0x1002c0c1", "mov eax, edx", "0x1002c011"], ["0x1002c0c3", "mov edi, dword ptr [eax]", "0x1002c013"]]}, {"orig": [["0x1002c0c5", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edi"]], "recomp": [["0x1002c015", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c0cb", "je 0x4", "0x1002c01b"], ["0x1002c0cd", "mov eax, edi", "0x1002c01d"], ["0x1002c0cf", "jmp -0xe", "0x1002c01f"], ["0x1002c0d1", "mov dword ptr [ebx], eax", "0x1002c021"], ["0x1002c0d3", "jmp 0x9", "0x1002c023"], ["0x1002c0d5", "mov eax, dword ptr [esp + 0x10]", "0x1002c025"], ["0x1002c0d9", "mov ebp, dword ptr [eax + 4]", "0x1002c029"], ["0x1002c0dc", "mov dword ptr [ebx], ebp", "0x1002c02c"], ["0x1002c0de", "mov edi, dword ptr [esi + 4]", "0x1002c02e"], ["0x1002c0e1", "mov eax, dword ptr [esp + 0x10]", "0x1002c031"], ["0x1002c0e5", "add edi, 8", "0x1002c035"], ["0x1002c0e8", "cmp dword ptr [edi], eax", "0x1002c038"], ["0x1002c0ea", "jne 0x8a", "0x1002c03a"], ["0x1002c0f0", "mov ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x1002c040"], ["0x1002c0f6", "cmp dword ptr [eax], ebx", "0x1002c046"], ["0x1002c0f8", "je 0x15", "0x1002c048"], ["0x1002c0fa", "mov ebx, edx", "0x1002c04a"], ["0x1002c0fc", "mov eax, dword ptr [ebx + 8]", "0x1002c04c"]]}, {"orig": [["0x1002c0ff", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c04f", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c105", "je 0x4", "0x1002c055"], ["0x1002c107", "mov ebx, eax", "0x1002c057"], ["0x1002c109", "jmp -0xf", "0x1002c059"], ["0x1002c10b", "mov dword ptr [edi], ebx", "0x1002c05b"], ["0x1002c10d", "jmp 0x6b", "0x1002c05d"], ["0x1002c10f", "mov eax, dword ptr [esp + 0x10]", "0x1002c05f"], ["0x1002c113", "mov ebx, dword ptr [eax + 4]", "0x1002c063"], ["0x1002c116", "mov dword ptr [edi], ebx", "0x1002c066"], ["0x1002c118", "jmp 0x60", "0x1002c068"], ["0x1002c11a", "mov eax, dword ptr [esp + 0x10]", "0x1002c06a"]]}]], ["@@ -0x1002c15f,153 +0x1002c0af,153 @@", [{"both": [["0x1002c15f", "mov eax, dword ptr [esp + 0x10]", "0x1002c0af"], ["0x1002c163", "mov ebx, dword ptr [eax + 4]", "0x1002c0b3"], ["0x1002c166", "add eax, 0x10", "0x1002c0b6"], ["0x1002c169", "mov dword ptr [ecx + 4], ebx", "0x1002c0b9"], ["0x1002c16c", "mov edi, dword ptr [ecx + 0x10]", "0x1002c0bc"], ["0x1002c16f", "mov ebx, dword ptr [eax]", "0x1002c0bf"], ["0x1002c171", "mov dword ptr [ecx + 0x10], ebx", "0x1002c0c1"], ["0x1002c174", "mov ecx, dword ptr [esp + 0x10]", "0x1002c0c4"], ["0x1002c178", "mov dword ptr [eax], edi", "0x1002c0c8"], ["0x1002c17a", "cmp dword ptr [ecx + 0x10], 1", "0x1002c0ca"]]}, {"orig": [["0x1002c17e", "jne 0x294"]], "recomp": [["0x1002c0ce", "jne 0x298"]]}, {"both": [["0x1002c184", "mov eax, dword ptr [esi + 4]", "0x1002c0d4"], ["0x1002c187", "cmp dword ptr [eax + 4], edx", "0x1002c0d7"]]}, {"orig": [["0x1002c18a", "je 0x281"]], "recomp": [["0x1002c0da", "je 0x285"]]}, {"both": [["0x1002c190", "cmp dword ptr [edx + 0x10], 1", "0x1002c0e0"]]}, {"orig": [["0x1002c194", "jne 0x277"]], "recomp": [["0x1002c0e4", "jne 0x27b"]]}, {"both": [["0x1002c19a", "lea ebx, [edx + 4]", "0x1002c0ea"], ["0x1002c19d", "mov eax, dword ptr [ebx]", "0x1002c0ed"], ["0x1002c19f", "mov edi, dword ptr [eax]", "0x1002c0ef"], ["0x1002c1a1", "cmp edx, edi", "0x1002c0f1"]]}, {"orig": [["0x1002c1a3", "jne 0x73"]], "recomp": [["0x1002c0f3", "jne 0x76"]]}, {"both": [["0x1002c1a5", "mov edi, dword ptr [eax + 8]", "0x1002c0f5"], ["0x1002c1a8", "cmp dword ptr [edi + 0x10], 0", "0x1002c0f8"]]}, {"orig": [["0x1002c1ac", "jne 0x4f"]], "recomp": [["0x1002c0fc", "jne 0x52"]]}, {"both": [["0x1002c1ae", "mov dword ptr [edi + 0x10], 1", "0x1002c0fe"], ["0x1002c1b5", "mov eax, dword ptr [ebx]", "0x1002c105"], ["0x1002c1b7", "mov dword ptr [eax + 0x10], 0", "0x1002c107"]]}, {"orig": [["0x1002c1be", "mov ebp, dword ptr [ebx]"], ["0x1002c1c0", "mov edi, dword ptr [ebp + 8]"], ["0x1002c1c3", "mov eax, dword ptr [edi]"], ["0x1002c1c5", "mov dword ptr [ebp + 8], eax"], ["0x1002c1c8", "mov eax, dword ptr [edi]"], ["0x1002c1ca", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c10e", "mov edi, dword ptr [ebx]"], ["0x1002c110", "mov ebp, dword ptr [edi + 8]"], ["0x1002c113", "mov eax, dword ptr [ebp]"], ["0x1002c116", "mov dword ptr [edi + 8], eax"], ["0x1002c119", "mov eax, dword ptr [ebp]"], ["0x1002c11c", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c1d0", "je 0x3", "0x1002c122"]]}, {"orig": [["0x1002c1d2", "mov dword ptr [eax + 4], ebp"], ["0x1002c1d5", "mov eax, dword ptr [ebp + 4]"], ["0x1002c1d8", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1002c124", "mov dword ptr [eax + 4], edi"], ["0x1002c127", "mov eax, dword ptr [edi + 4]"], ["0x1002c12a", "mov dword ptr [ebp + 4], eax"]]}, {"both": [["0x1002c1db", "mov eax, dword ptr [esi + 4]", "0x1002c12d"], ["0x1002c1de", "add eax, 4", "0x1002c130"]]}, {"orig": [["0x1002c1e1", "cmp dword ptr [eax], ebp"]], "recomp": [["0x1002c133", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1002c1e3", "je 0xc", "0x1002c135"]]}, {"orig": [["0x1002c1e5", "mov eax, dword ptr [ebp + 4]"], ["0x1002c1e8", "cmp dword ptr [eax], ebp"]], "recomp": [["0x1002c137", "mov eax, dword ptr [edi + 4]"], ["0x1002c13a", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1002c1ea", "je 0x5", "0x1002c13c"]]}, {"orig": [["0x1002c1ec", "mov dword ptr [eax + 8], edi"]], "recomp": [["0x1002c13e", "mov dword ptr [eax + 8], ebp"]]}, {"both": [["0x1002c1ef", "jmp 0x2", "0x1002c141"]]}, {"orig": [["0x1002c1f1", "mov dword ptr [eax], edi"], ["0x1002c1f3", "mov dword ptr [edi], ebp"], ["0x1002c1f5", "mov dword ptr [ebp + 4], edi"]], "recomp": [["0x1002c143", "mov dword ptr [eax], ebp"], ["0x1002c145", "mov dword ptr [ebp], edi"], ["0x1002c148", "mov dword ptr [edi + 4], ebp"]]}, {"both": [["0x1002c1f8", "mov eax, dword ptr [ebx]", "0x1002c14b"], ["0x1002c1fa", "mov edi, dword ptr [eax + 8]", "0x1002c14d"], ["0x1002c1fd", "mov eax, dword ptr [edi]", "0x1002c150"], ["0x1002c1ff", "cmp dword ptr [eax + 0x10], 1", "0x1002c152"], ["0x1002c203", "jne 0x9a", "0x1002c156"], ["0x1002c209", "mov eax, dword ptr [edi + 8]", "0x1002c15c"], ["0x1002c20c", "cmp dword ptr [eax + 0x10], 1", "0x1002c15f"], ["0x1002c210", "jne 0x8d", "0x1002c163"], ["0x1002c216", "jmp 0x71", "0x1002c169"], ["0x1002c218", "cmp dword ptr [edi + 0x10], 0", "0x1002c16b"], ["0x1002c21c", "jne 0x52", "0x1002c16f"], ["0x1002c21e", "mov dword ptr [edi + 0x10], 1", "0x1002c171"], ["0x1002c225", "mov eax, dword ptr [ebx]", "0x1002c178"], ["0x1002c227", "mov dword ptr [eax + 0x10], 0", "0x1002c17a"], ["0x1002c22e", "mov ebp, dword ptr [ebx]", "0x1002c181"], ["0x1002c230", "mov edi, dword ptr [ebp]", "0x1002c183"], ["0x1002c233", "mov eax, dword ptr [edi + 8]", "0x1002c186"], ["0x1002c236", "mov dword ptr [ebp], eax", "0x1002c189"], ["0x1002c239", "mov eax, dword ptr [edi + 8]", "0x1002c18c"]]}, {"orig": [["0x1002c23c", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c18f", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c242", "je 0x3", "0x1002c195"], ["0x1002c244", "mov dword ptr [eax + 4], ebp", "0x1002c197"], ["0x1002c247", "mov eax, dword ptr [ebp + 4]", "0x1002c19a"], ["0x1002c24a", "mov dword ptr [edi + 4], eax", "0x1002c19d"], ["0x1002c24d", "mov eax, dword ptr [esi + 4]", "0x1002c1a0"], ["0x1002c250", "add eax, 4", "0x1002c1a3"], ["0x1002c253", "cmp dword ptr [eax], ebp", "0x1002c1a6"], ["0x1002c255", "je 0xd", "0x1002c1a8"], ["0x1002c257", "mov eax, dword ptr [ebp + 4]", "0x1002c1aa"], ["0x1002c25a", "add eax, 8", "0x1002c1ad"], ["0x1002c25d", "cmp dword ptr [eax], ebp", "0x1002c1b0"], ["0x1002c25f", "je 0x3", "0x1002c1b2"], ["0x1002c261", "mov eax, dword ptr [ebp + 4]", "0x1002c1b4"], ["0x1002c264", "mov dword ptr [eax], edi", "0x1002c1b7"], ["0x1002c266", "mov dword ptr [edi + 8], ebp", "0x1002c1b9"], ["0x1002c269", "mov dword ptr [ebp + 4], edi", "0x1002c1bc"], ["0x1002c26c", "mov eax, dword ptr [ebx]", "0x1002c1bf"], ["0x1002c26e", "mov edi, dword ptr [eax]", "0x1002c1c1"], ["0x1002c270", "mov eax, dword ptr [edi + 8]", "0x1002c1c3"], ["0x1002c273", "cmp dword ptr [eax + 0x10], 1", "0x1002c1c6"]]}, {"orig": [["0x1002c277", "jne 0xe6"]], "recomp": [["0x1002c1ca", "jne 0xe7"]]}, {"both": [["0x1002c27d", "mov eax, dword ptr [edi]", "0x1002c1d0"], ["0x1002c27f", "cmp dword ptr [eax + 0x10], 1", "0x1002c1d2"]]}, {"orig": [["0x1002c283", "jne 0xda"]], "recomp": [["0x1002c1d6", "jne 0xdb"]]}, {"both": [["0x1002c289", "mov dword ptr [edi + 0x10], 0", "0x1002c1dc"], ["0x1002c290", "mov edx, dword ptr [ebx]", "0x1002c1e3"], ["0x1002c292", "mov eax, dword ptr [esi + 4]", "0x1002c1e5"], ["0x1002c295", "cmp dword ptr [eax + 4], edx", "0x1002c1e8"]]}, {"orig": [["0x1002c298", "jne -0x10e"], ["0x1002c29e", "jmp 0x16e"]], "recomp": [["0x1002c1eb", "jne -0x111"], ["0x1002c1f1", "jmp 0x16f"]]}, {"both": [["0x1002c2a3", "mov eax, dword ptr [edi + 8]", "0x1002c1f6"], ["0x1002c2a6", "cmp dword ptr [eax + 0x10], 1", "0x1002c1f9"]]}, {"orig": [["0x1002c2aa", "jne 0x52"]], "recomp": [["0x1002c1fd", "jne 0x53"]]}, {"both": [["0x1002c2ac", "mov eax, dword ptr [edi]", "0x1002c1ff"], ["0x1002c2ae", "mov dword ptr [eax + 0x10], 1", "0x1002c201"], ["0x1002c2b5", "mov dword ptr [edi + 0x10], 0", "0x1002c208"], ["0x1002c2bc", "mov ebx, dword ptr [edi]", "0x1002c20f"], ["0x1002c2be", "mov ebp, dword ptr [ebx + 8]", "0x1002c211"], ["0x1002c2c1", "mov dword ptr [edi], ebp", "0x1002c214"], ["0x1002c2c3", "mov eax, dword ptr [ebx + 8]", "0x1002c216"]]}, {"orig": [["0x1002c2c6", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c219", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c2cc", "je 0x3", "0x1002c21f"], ["0x1002c2ce", "mov dword ptr [eax + 4], edi", "0x1002c221"], ["0x1002c2d1", "mov eax, dword ptr [edi + 4]", "0x1002c224"], ["0x1002c2d4", "mov dword ptr [ebx + 4], eax", "0x1002c227"], ["0x1002c2d7", "mov eax, dword ptr [esi + 4]", "0x1002c22a"], ["0x1002c2da", "add eax, 4", "0x1002c22d"], ["0x1002c2dd", "cmp dword ptr [eax], edi", "0x1002c230"]]}, {"orig": [["0x1002c2df", "je 0xf"], ["0x1002c2e1", "mov ebp, dword ptr [edi + 4]"], ["0x1002c2e4", "lea eax, [ebp + 8]"], ["0x1002c2e7", "cmp dword ptr [eax], edi"], ["0x1002c2e9", "je 0x5"]], "recomp": [["0x1002c232", "je 0x10"], ["0x1002c234", "mov eax, dword ptr [edi + 4]"], ["0x1002c237", "lea ebp, [eax + 8]"], ["0x1002c23a", "cmp dword ptr [ebp], edi"], ["0x1002c23d", "jne 0x5"]]}, {"both": [["0x1002c2eb", "mov dword ptr [ebp], ebx", "0x1002c23f"], ["0x1002c2ee", "jmp 0x2", "0x1002c242"], ["0x1002c2f0", "mov dword ptr [eax], ebx", "0x1002c244"], ["0x1002c2f2", "mov dword ptr [ebx + 8], edi", "0x1002c246"], ["0x1002c2f5", "mov dword ptr [edi + 4], ebx", "0x1002c249"], ["0x1002c2f8", "mov eax, dword ptr [edx + 4]", "0x1002c24c"], ["0x1002c2fb", "mov edi, dword ptr [eax + 8]", "0x1002c24f"], ["0x1002c2fe", "mov eax, dword ptr [edx + 4]", "0x1002c252"], ["0x1002c301", "mov ebx, dword ptr [eax + 0x10]", "0x1002c255"], ["0x1002c304", "mov dword ptr [edi + 0x10], ebx", "0x1002c258"], ["0x1002c307", "mov ebx, 1", "0x1002c25b"], ["0x1002c30c", "mov eax, dword ptr [edx + 4]", "0x1002c260"], ["0x1002c30f", "mov dword ptr [eax + 0x10], ebx", "0x1002c263"], ["0x1002c312", "mov ebp, dword ptr [edi + 8]", "0x1002c266"], ["0x1002c315", "mov dword ptr [ebp + 0x10], ebx", "0x1002c269"], ["0x1002c318", "mov edi, dword ptr [edx + 4]", "0x1002c26c"], ["0x1002c31b", "mov ebx, dword ptr [edi + 8]", "0x1002c26f"], ["0x1002c31e", "mov eax, dword ptr [ebx]", "0x1002c272"], ["0x1002c320", "mov dword ptr [edi + 8], eax", "0x1002c274"], ["0x1002c323", "mov eax, dword ptr [ebx]", "0x1002c277"]]}, {"orig": [["0x1002c325", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c279", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c32b", "je 0x3", "0x1002c27f"], ["0x1002c32d", "mov dword ptr [eax + 4], edi", "0x1002c281"], ["0x1002c330", "mov eax, dword ptr [edi + 4]", "0x1002c284"], ["0x1002c333", "mov dword ptr [ebx + 4], eax", "0x1002c287"], ["0x1002c336", "mov eax, dword ptr [esi + 4]", "0x1002c28a"], ["0x1002c339", "add eax, 4", "0x1002c28d"], ["0x1002c33c", "cmp dword ptr [eax], edi", "0x1002c290"], ["0x1002c33e", "je 0x1a", "0x1002c292"], ["0x1002c340", "mov eax, dword ptr [edi + 4]", "0x1002c294"], ["0x1002c343", "cmp dword ptr [eax], edi", "0x1002c297"]]}]], ["@@ -0x1002c363,21 +0x1002c2b7,21 @@", [{"both": [["0x1002c363", "mov eax, dword ptr [edi]", "0x1002c2b7"], ["0x1002c365", "cmp dword ptr [eax + 0x10], 1", "0x1002c2b9"], ["0x1002c369", "jne 0x4e", "0x1002c2bd"], ["0x1002c36b", "mov eax, dword ptr [edi + 8]", "0x1002c2bf"], ["0x1002c36e", "mov dword ptr [eax + 0x10], 1", "0x1002c2c2"], ["0x1002c375", "mov dword ptr [edi + 0x10], 0", "0x1002c2c9"], ["0x1002c37c", "mov ebx, dword ptr [edi + 8]", "0x1002c2d0"], ["0x1002c37f", "mov ebp, dword ptr [ebx]", "0x1002c2d3"], ["0x1002c381", "mov dword ptr [edi + 8], ebp", "0x1002c2d5"], ["0x1002c384", "mov eax, dword ptr [ebx]", "0x1002c2d8"]]}, {"orig": [["0x1002c386", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c2da", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c38c", "je 0x3", "0x1002c2e0"], ["0x1002c38e", "mov dword ptr [eax + 4], edi", "0x1002c2e2"], ["0x1002c391", "mov eax, dword ptr [edi + 4]", "0x1002c2e5"], ["0x1002c394", "mov dword ptr [ebx + 4], eax", "0x1002c2e8"], ["0x1002c397", "mov eax, dword ptr [esi + 4]", "0x1002c2eb"], ["0x1002c39a", "add eax, 4", "0x1002c2ee"], ["0x1002c39d", "cmp dword ptr [eax], edi", "0x1002c2f1"], ["0x1002c39f", "je 0xc", "0x1002c2f3"], ["0x1002c3a1", "mov eax, dword ptr [edi + 4]", "0x1002c2f5"], ["0x1002c3a4", "cmp dword ptr [eax], edi", "0x1002c2f8"]]}]], ["@@ -0x1002c3c2,21 +0x1002c316,21 @@", [{"both": [["0x1002c3c2", "mov ebx, 1", "0x1002c316"], ["0x1002c3c7", "mov eax, dword ptr [edx + 4]", "0x1002c31b"], ["0x1002c3ca", "mov dword ptr [eax + 0x10], ebx", "0x1002c31e"], ["0x1002c3cd", "mov ebp, dword ptr [edi]", "0x1002c321"], ["0x1002c3cf", "mov dword ptr [ebp + 0x10], ebx", "0x1002c323"], ["0x1002c3d2", "mov edi, dword ptr [edx + 4]", "0x1002c326"], ["0x1002c3d5", "mov ebx, dword ptr [edi]", "0x1002c329"], ["0x1002c3d7", "mov eax, dword ptr [ebx + 8]", "0x1002c32b"], ["0x1002c3da", "mov dword ptr [edi], eax", "0x1002c32e"], ["0x1002c3dc", "mov eax, dword ptr [ebx + 8]", "0x1002c330"]]}, {"orig": [["0x1002c3df", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c333", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c3e5", "je 0x3", "0x1002c339"], ["0x1002c3e7", "mov dword ptr [eax + 4], edi", "0x1002c33b"], ["0x1002c3ea", "mov eax, dword ptr [edi + 4]", "0x1002c33e"], ["0x1002c3ed", "mov dword ptr [ebx + 4], eax", "0x1002c341"], ["0x1002c3f0", "mov eax, dword ptr [esi + 4]", "0x1002c344"], ["0x1002c3f3", "add eax, 4", "0x1002c347"], ["0x1002c3f6", "cmp dword ptr [eax], edi", "0x1002c34a"], ["0x1002c3f8", "je 0xf", "0x1002c34c"], ["0x1002c3fa", "mov ebp, dword ptr [edi + 4]", "0x1002c34e"], ["0x1002c3fd", "lea eax, [ebp + 8]", "0x1002c351"]]}]]]}, {"address": "0x1002c440", "recomp": "0x1002c390", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::find", "matching": 0.6764705882352942, "diff": [["@@ -0x1002c440,32 +0x1002c390,32 @@", [{"both": [["0x1002c440", "sub esp, 8", "0x1002c390"]]}, {"orig": [["0x1002c443", "mov edx, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x1002c447", "push esi", "0x1002c393"], ["0x1002c448", "push edi", "0x1002c394"], ["0x1002c449", "mov esi, dword ptr [ecx + 4]", "0x1002c395"]]}, {"orig": [], "recomp": [["0x1002c398", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x1002c44c", "mov edi, esi", "0x1002c39c"]]}, {"orig": [["0x1002c44e", "mov ecx, dword ptr [esi + 4]"], ["0x1002c451", "cmp ecx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x1002c39e", "mov edx, dword ptr [esi + 4]"], ["0x1002c3a1", "cmp edx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c457", "je 0x18", "0x1002c3a7"]]}, {"orig": [["0x1002c459", "mov eax, dword ptr [edx]"], ["0x1002c45b", "cmp dword ptr [ecx + 0xc], eax"]], "recomp": [["0x1002c3a9", "mov eax, dword ptr [ecx]"], ["0x1002c3ab", "cmp dword ptr [edx + 0xc], eax"]]}, {"both": [["0x1002c45e", "jl 0x6", "0x1002c3ae"]]}, {"orig": [["0x1002c460", "mov edi, ecx"], ["0x1002c462", "mov ecx, dword ptr [ecx]"]], "recomp": [["0x1002c3b0", "mov edi, edx"], ["0x1002c3b2", "mov edx, dword ptr [edx]"]]}, {"both": [["0x1002c464", "jmp 0x3", "0x1002c3b4"]]}, {"orig": [["0x1002c466", "mov ecx, dword ptr [ecx + 8]"], ["0x1002c469", "cmp ecx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x1002c3b6", "mov edx, dword ptr [edx + 8]"], ["0x1002c3b9", "cmp edx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c46f", "jne -0x16", "0x1002c3bf"], ["0x1002c471", "mov dword ptr [esp + 8], edi", "0x1002c3c1"]]}, {"orig": [["0x1002c475", "cmp esi, edi"]], "recomp": [["0x1002c3c5", "cmp edi, esi"]]}, {"both": [["0x1002c477", "je 0xb", "0x1002c3c7"]]}, {"orig": [["0x1002c479", "mov eax, dword ptr [edx]"]], "recomp": [["0x1002c3c9", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x1002c47b", "cmp dword ptr [edi + 0xc], eax", "0x1002c3cb"], ["0x1002c47e", "lea eax, [esp + 8]", "0x1002c3ce"], ["0x1002c482", "jle 0x8", "0x1002c3d2"], ["0x1002c484", "lea eax, [esp + 0xc]", "0x1002c3d4"], ["0x1002c488", "mov dword ptr [esp + 0xc], esi", "0x1002c3d8"], ["0x1002c48c", "mov ecx, dword ptr [eax]", "0x1002c3dc"], ["0x1002c48e", "mov eax, dword ptr [esp + 0x14]", "0x1002c3de"], ["0x1002c492", "pop edi", "0x1002c3e2"], ["0x1002c493", "pop esi", "0x1002c3e3"], ["0x1002c494", "mov dword ptr [eax], ecx", "0x1002c3e4"]]}]]]}, {"address": "0x1002c4a0", "recomp": "0x1002c3f0", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x1002c4c0", "recomp": "0x1002c410", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy", "matching": 0.8928571428571429, "diff": [["@@ -0x1002c4c8,30 +0x1002c418,30 @@", [{"both": [["0x1002c4c8", "push esi", "0x1002c418"], ["0x1002c4c9", "push edi", "0x1002c419"], ["0x1002c4ca", "push ebp", "0x1002c41a"], ["0x1002c4cb", "mov esi, dword ptr [ecx + 4]", "0x1002c41b"], ["0x1002c4ce", "mov ecx, dword ptr [esp + 0x20]", "0x1002c41e"], ["0x1002c4d2", "lea eax, [esi + 4]", "0x1002c422"], ["0x1002c4d5", "mov dword ptr [esp + 0x18], eax", "0x1002c425"], ["0x1002c4d9", "mov eax, dword ptr [ecx + 4]", "0x1002c429"], ["0x1002c4dc", "mov ebx, dword ptr [eax + 4]", "0x1002c42c"], ["0x1002c4df", "mov dword ptr [esp + 0x14], ebx", "0x1002c42f"]]}, {"orig": [["0x1002c4e3", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1002c433", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c4e9", "je 0x44", "0x1002c439"], ["0x1002c4eb", "mov ebp, dword ptr [ebx + 0x10]", "0x1002c43b"], ["0x1002c4ee", "push 0x14", "0x1002c43e"], ["0x1002c4f0", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002c440"], ["0x1002c4f5", "mov dword ptr [eax + 4], esi", "0x1002c445"], ["0x1002c4f8", "add esp, 4", "0x1002c448"], ["0x1002c4fb", "mov dword ptr [eax + 0x10], ebp", "0x1002c44b"], ["0x1002c4fe", "mov edi, eax", "0x1002c44e"]]}, {"orig": [["0x1002c500", "cmp dword ptr [esp + 0x14], ebx"]], "recomp": [["0x1002c450", "cmp ebx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1002c504", "jne 0x4", "0x1002c454"], ["0x1002c506", "mov dword ptr [esp + 0x14], edi", "0x1002c456"], ["0x1002c50a", "push edi", "0x1002c45a"], ["0x1002c50b", "mov eax, dword ptr [ebx + 8]", "0x1002c45b"], ["0x1002c50e", "mov ecx, dword ptr [esp + 0x14]", "0x1002c45e"], ["0x1002c512", "push eax", "0x1002c462"], ["0x1002c513", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy (FUNCTION)", "0x1002c463"], ["0x1002c518", "mov dword ptr [edi + 8], eax", "0x1002c468"], ["0x1002c51b", "lea eax, [edi + 0xc]", "0x1002c46b"], ["0x1002c51e", "test eax, eax", "0x1002c46e"]]}]], ["@@ -0x1002c534,43 +0x1002c484,43 @@", [{"both": [["0x1002c534", "mov ecx, dword ptr [esp + 0x18]", "0x1002c484"], ["0x1002c538", "mov edx, dword ptr [esp + 0x14]", "0x1002c488"], ["0x1002c53c", "mov dword ptr [esi], eax", "0x1002c48c"], ["0x1002c53e", "mov eax, dword ptr [esp + 0x20]", "0x1002c48e"], ["0x1002c542", "mov dword ptr [ecx], edx", "0x1002c492"], ["0x1002c544", "mov edx, dword ptr [esp + 0x10]", "0x1002c494"], ["0x1002c548", "mov ecx, dword ptr [eax + 0xc]", "0x1002c498"], ["0x1002c54b", "mov dword ptr [edx + 0xc], ecx", "0x1002c49b"], ["0x1002c54e", "mov ecx, dword ptr [edx + 4]", "0x1002c49e"], ["0x1002c551", "mov eax, dword ptr [ecx + 4]", "0x1002c4a1"]]}, {"orig": [["0x1002c554", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c4a4", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c55a", "jne 0x12", "0x1002c4aa"], ["0x1002c55c", "pop ebp", "0x1002c4ac"], ["0x1002c55d", "mov dword ptr [ecx], ecx", "0x1002c4ad"], ["0x1002c55f", "mov eax, dword ptr [edx + 4]", "0x1002c4af"], ["0x1002c562", "pop edi", "0x1002c4b2"], ["0x1002c563", "pop esi", "0x1002c4b3"], ["0x1002c564", "pop ebx", "0x1002c4b4"], ["0x1002c565", "mov dword ptr [eax + 8], eax", "0x1002c4b5"], ["0x1002c568", "add esp, 0xc", "0x1002c4b8"], ["0x1002c56b", "ret 4", "0x1002c4bb"], ["0x1002c56e", "mov edx, dword ptr [eax]", "0x1002c4be"]]}, {"orig": [["0x1002c570", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx"]], "recomp": [["0x1002c4c0", "cmp edx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c576", "je 0x4", "0x1002c4c6"], ["0x1002c578", "mov eax, edx", "0x1002c4c8"], ["0x1002c57a", "jmp -0xe", "0x1002c4ca"], ["0x1002c57c", "mov dword ptr [ecx], eax", "0x1002c4cc"], ["0x1002c57e", "mov eax, dword ptr [esp + 0x10]", "0x1002c4ce"], ["0x1002c582", "mov eax, dword ptr [eax + 4]", "0x1002c4d2"], ["0x1002c585", "lea edx, [eax + 8]", "0x1002c4d5"]]}, {"orig": [["0x1002c588", "mov ecx, dword ptr [eax + 4]"], ["0x1002c58b", "mov eax, dword ptr [ecx + 8]"], ["0x1002c58e", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002c4d8", "mov eax, dword ptr [eax + 4]"], ["0x1002c4db", "mov ecx, dword ptr [eax + 8]"], ["0x1002c4de", "cmp ecx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c594", "je 0x4", "0x1002c4e4"]]}, {"orig": [["0x1002c596", "mov ecx, eax"]], "recomp": [["0x1002c4e6", "mov eax, ecx"]]}, {"both": [["0x1002c598", "jmp -0xf", "0x1002c4e8"], ["0x1002c59a", "pop ebp", "0x1002c4ea"]]}, {"orig": [["0x1002c59b", "mov dword ptr [edx], ecx"]], "recomp": [["0x1002c4eb", "mov dword ptr [edx], eax"]]}, {"both": [["0x1002c59d", "pop edi", "0x1002c4ed"], ["0x1002c59e", "pop esi", "0x1002c4ee"], ["0x1002c59f", "pop ebx", "0x1002c4ef"], ["0x1002c5a0", "add esp, 0xc", "0x1002c4f0"], ["0x1002c5a3", "ret 4", "0x1002c4f3"]]}]]]}, {"address": "0x1002c5b0", "recomp": "0x1002c500", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy", "matching": 0.6304347826086957, "diff": [["@@ -0x1002c5b0,46 +0x1002c500,46 @@", [{"both": [["0x1002c5b0", "sub esp, 8", "0x1002c500"], ["0x1002c5b3", "mov dword ptr [esp + 4], ecx", "0x1002c503"], ["0x1002c5b7", "push ebx", "0x1002c507"]]}, {"orig": [], "recomp": [["0x1002c508", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x1002c5b8", "push esi", "0x1002c50c"]]}, {"orig": [], "recomp": [["0x1002c50d", "mov dword ptr [esp + 8], ebx"]]}, {"both": [["0x1002c5b9", "push edi", "0x1002c511"]]}, {"orig": [["0x1002c5ba", "mov esi, dword ptr [esp + 0x18]"]], "recomp": [["0x1002c512", "mov edi, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1002c5be", "push ebp", "0x1002c516"]]}, {"orig": [["0x1002c5bf", "mov edi, dword ptr [esp + 0x20]"], ["0x1002c5c3", "mov dword ptr [esp + 0x10], esi"], ["0x1002c5c7", "cmp esi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x1002c517", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c5cd", "je 0x4a", "0x1002c51d"]]}, {"orig": [["0x1002c5cf", "mov ebp, dword ptr [esi + 0x10]"]], "recomp": [["0x1002c51f", "mov ebp, dword ptr [ebx + 0x10]"]]}, {"both": [["0x1002c5d2", "push 0x14", "0x1002c522"], ["0x1002c5d4", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002c524"], ["0x1002c5d9", "mov dword ptr [eax + 4], edi", "0x1002c529"], ["0x1002c5dc", "add esp, 4", "0x1002c52c"], ["0x1002c5df", "mov dword ptr [eax + 0x10], ebp", "0x1002c52f"]]}, {"orig": [["0x1002c5e2", "mov ebx, eax"], ["0x1002c5e4", "cmp esi, dword ptr [esp + 0x10]"]], "recomp": [["0x1002c532", "mov esi, eax"], ["0x1002c534", "cmp dword ptr [esp + 0x10], ebx"]]}, {"both": [["0x1002c5e8", "jne 0x4", "0x1002c538"]]}, {"orig": [["0x1002c5ea", "mov dword ptr [esp + 0x10], ebx"], ["0x1002c5ee", "push ebx"], ["0x1002c5ef", "mov eax, dword ptr [esi + 8]"]], "recomp": [["0x1002c53a", "mov dword ptr [esp + 0x10], esi"], ["0x1002c53e", "push esi"], ["0x1002c53f", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x1002c5f2", "mov ecx, dword ptr [esp + 0x18]", "0x1002c542"], ["0x1002c5f6", "push eax", "0x1002c546"], ["0x1002c5f7", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy (FUNCTION)", "0x1002c547"]]}, {"orig": [["0x1002c5fc", "mov dword ptr [ebx + 8], eax"], ["0x1002c5ff", "lea eax, [ebx + 0xc]"]], "recomp": [["0x1002c54c", "mov dword ptr [esi + 8], eax"], ["0x1002c54f", "lea eax, [esi + 0xc]"]]}, {"both": [["0x1002c602", "test eax, eax", "0x1002c552"], ["0x1002c604", "je 0x5", "0x1002c554"]]}, {"orig": [["0x1002c606", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x1002c556", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x1002c609", "mov dword ptr [eax], ecx", "0x1002c559"]]}, {"orig": [["0x1002c60b", "mov dword ptr [edi], ebx"], ["0x1002c60d", "mov edi, ebx"], ["0x1002c60f", "mov esi, dword ptr [esi]"], ["0x1002c611", "cmp esi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x1002c55b", "mov dword ptr [edi], esi"], ["0x1002c55d", "mov edi, esi"], ["0x1002c55f", "mov ebx, dword ptr [ebx]"], ["0x1002c561", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c617", "jne -0x4a", "0x1002c567"], ["0x1002c619", "mov eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x1002c569"], ["0x1002c61e", "mov dword ptr [edi], eax", "0x1002c56e"], ["0x1002c620", "mov eax, dword ptr [esp + 0x10]", "0x1002c570"], ["0x1002c624", "pop ebp", "0x1002c574"], ["0x1002c625", "pop edi", "0x1002c575"], ["0x1002c626", "pop esi", "0x1002c576"], ["0x1002c627", "pop ebx", "0x1002c577"], ["0x1002c628", "add esp, 8", "0x1002c578"], ["0x1002c62b", "ret 8", "0x1002c57b"]]}]]]}, {"address": "0x1002c630", "recomp": "0x1002c580", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x1002c630,23 +0x1002c580,23 @@", [{"both": [["0x1002c630", "push ebx", "0x1002c580"], ["0x1002c631", "push esi", "0x1002c581"]]}, {"orig": [["0x1002c632", "mov esi, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x1002c636", "push edi", "0x1002c582"]]}, {"orig": [["0x1002c637", "mov edi, ecx"], ["0x1002c639", "mov ebx, esi"], ["0x1002c63b", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], esi"]], "recomp": [["0x1002c583", "mov ebx, ecx"], ["0x1002c585", "mov edi, dword ptr [esp + 0x10]"], ["0x1002c589", "mov esi, edi"], ["0x1002c58b", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c641", "je 0x20", "0x1002c591"]]}, {"orig": [["0x1002c643", "mov eax, dword ptr [ebx + 8]"], ["0x1002c646", "mov ecx, edi"]], "recomp": [["0x1002c593", "mov eax, dword ptr [esi + 8]"], ["0x1002c596", "mov ecx, ebx"]]}, {"both": [["0x1002c648", "push eax", "0x1002c598"], ["0x1002c649", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase (FUNCTION)", "0x1002c599"]]}, {"orig": [["0x1002c64e", "mov ebx, dword ptr [ebx]"], ["0x1002c650", "push esi"], ["0x1002c651", "mov esi, ebx"]], "recomp": [["0x1002c59e", "mov esi, dword ptr [esi]"], ["0x1002c5a0", "push edi"], ["0x1002c5a1", "mov edi, esi"]]}, {"both": [["0x1002c653", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002c5a3"], ["0x1002c658", "add esp, 4", "0x1002c5a8"]]}, {"orig": [["0x1002c65b", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1002c5ab", "cmp esi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x1002c661", "jne -0x20", "0x1002c5b1"], ["0x1002c663", "pop edi", "0x1002c5b3"], ["0x1002c664", "pop esi", "0x1002c5b4"], ["0x1002c665", "pop ebx", "0x1002c5b5"], ["0x1002c666", "ret 4", "0x1002c5b6"]]}]]]}, {"address": "0x1002c670", "recomp": "0x1002c5c0", "name": "set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >", "matching": 1.0, "diff": []}, {"address": "0x1002c6c0", "recomp": "0x1002c610", "name": "Set<LegoPathActor *,LegoPathActorSetCompare>::~Set<LegoPathActor *,LegoPathActorSetCompare>", "matching": 1.0, "diff": []}, {"address": "0x1002c710", "recomp": "0x1002c660", "name": "LegoExtraActor::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c720", "recomp": "0x1002c670", "name": "LegoExtraActor::VTable0x74`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c730", "recomp": "0x1002c680", "name": "LegoExtraActor::VTable0x90`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c740", "recomp": "0x1002c690", "name": "LegoExtraActor::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c750", "recomp": "0x1002c6a0", "name": "LegoExtraActor::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c760", "recomp": "0x1002c6b0", "name": "LegoExtraActor::VTable0xa4`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c770", "recomp": "0x1002c6c0", "name": "LegoExtraActor::VTable0xc4`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1002c780", "recomp": "0x1002c6d0", "name": "IsleActor::Create", "matching": 1.0, "diff": []}, {"address": "0x1002c7b0", "recomp": "0x1002c700", "name": "IsleActor::Notify", "matching": 1.0, "diff": []}, {"address": "0x1002c850", "recomp": "0x1002c7a0", "name": "Radio::Radio", "matching": 1.0, "diff": []}, {"address": "0x1002c8e0", "recomp": "0x1002c830", "name": "Radio::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1002c8f0", "recomp": "0x1002c840", "name": "Radio::IsA", "matching": 1.0, "diff": []}, {"address": "0x1002c970", "recomp": "0x1002c8c0", "name": "Radio::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1002c990", "recomp": "0x1002c8e0", "name": "Radio::~Radio", "matching": 1.0, "diff": []}, {"address": "0x1002ca30", "recomp": "0x1002c980", "name": "Radio::Notify", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002ca30,20 +0x1002c980,20 @@", [{"both": [["0x1002ca30", "push esi", "0x1002c980"], ["0x1002ca31", "xor eax, eax", "0x1002c981"], ["0x1002ca33", "cmp byte ptr [ecx + 0xc], al", "0x1002c983"], ["0x1002ca36", "je 0x25", "0x1002c986"]]}, {"orig": [["0x1002ca38", "mov edx, dword ptr [esp + 8]"], ["0x1002ca3c", "mov esi, dword ptr [edx + 4]"], ["0x1002ca3f", "cmp esi, 2"]], "recomp": [["0x1002c988", "mov esi, dword ptr [esp + 8]"], ["0x1002c98c", "mov edx, dword ptr [esi + 4]"], ["0x1002c98f", "cmp edx, 2"]]}, {"both": [["0x1002ca42", "je 0x9", "0x1002c992"]]}, {"orig": [["0x1002ca44", "cmp esi, 0x11"]], "recomp": [["0x1002c994", "cmp edx, 0x11"]]}, {"both": [["0x1002ca47", "je 0xe", "0x1002c997"], ["0x1002ca49", "pop esi", "0x1002c999"], ["0x1002ca4a", "ret 4", "0x1002c99a"]]}, {"orig": [["0x1002ca4d", "push edx"]], "recomp": [["0x1002c99d", "push esi"]]}, {"both": [["0x1002ca4e", "call Radio::HandleEndAction (FUNCTION)", "0x1002c99e"], ["0x1002ca53", "pop esi", "0x1002c9a3"], ["0x1002ca54", "ret 4", "0x1002c9a4"]]}, {"orig": [["0x1002ca57", "push edx"]], "recomp": [["0x1002c9a7", "push esi"]]}, {"both": [["0x1002ca58", "call Radio::HandleControl (FUNCTION)", "0x1002c9a8"], ["0x1002ca5d", "pop esi", "0x1002c9ad"], ["0x1002ca5e", "ret 4", "0x1002c9ae"]]}]]]}, {"address": "0x1002ca70", "recomp": "0x1002c9c0", "name": "Radio::Play", "matching": 1.0, "diff": []}, {"address": "0x1002cb70", "recomp": "0x1002cac0", "name": "Radio::Stop", "matching": 1.0, "diff": []}, {"address": "0x1002cbc0", "recomp": "0x1002cb10", "name": "Radio::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x1002ccc0", "recomp": "0x1002cc10", "name": "Radio::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x1002cdc0", "recomp": "0x1002cd10", "name": "Radio::Initialize", "matching": 1.0, "diff": []}, {"address": "0x1002cde0", "recomp": "0x1002cd30", "name": "Radio::CreateState", "matching": 0.7647058823529411, "diff": [["@@ -0x1002cde0,17 +0x1002cd30,17 @@", [{"both": [["0x1002cde0", "push esi", "0x1002cd30"], ["0x1002cde1", "push edi", "0x1002cd31"]]}, {"orig": [["0x1002cde2", "mov edi, ecx"]], "recomp": [["0x1002cd32", "mov esi, ecx"]]}, {"both": [["0x1002cde4", "call GameState (FUNCTION)", "0x1002cd34"], ["0x1002cde9", "mov ecx, eax", "0x1002cd39"]]}, {"orig": [["0x1002cdeb", "mov esi, eax"]], "recomp": [["0x1002cd3b", "mov edi, eax"]]}, {"both": [["0x1002cded", "push 'RadioState' (STRING)", "0x1002cd3d"], ["0x1002cdf2", "call LegoGameState::GetState (FUNCTION)", "0x1002cd42"], ["0x1002cdf7", "test eax, eax", "0x1002cd47"], ["0x1002cdf9", "jne 0xc", "0x1002cd49"], ["0x1002cdfb", "push 'RadioState' (STRING)", "0x1002cd4b"]]}, {"orig": [["0x1002ce00", "mov ecx, esi"]], "recomp": [["0x1002cd50", "mov ecx, edi"]]}, {"both": [["0x1002ce02", "call LegoGameState::CreateState (FUNCTION)", "0x1002cd52"]]}, {"orig": [["0x1002ce07", "mov dword ptr [edi + 8], eax"]], "recomp": []}, {"both": [["0x1002ce0a", "pop edi", "0x1002cd57"]]}, {"orig": [], "recomp": [["0x1002cd58", "mov dword ptr [esi + 8], eax"]]}, {"both": [["0x1002ce0b", "pop esi", "0x1002cd5b"], ["0x1002ce0c", "ret ", "0x1002cd5c"]]}]]]}, {"address": "0x1002ce10", "recomp": "0x1002cd60", "name": "RadioState::RadioState", "matching": 1.0, "diff": []}, {"address": "0x1002cf50", "recomp": "0x1002cea0", "name": "RadioState::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x1002cf60", "recomp": "0x1002ceb0", "name": "RadioState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1002cf70", "recomp": "0x1002cec0", "name": "RadioState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1002d020", "recomp": "0x1002cf70", "name": "RadioState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1002d090", "recomp": "0x1002cfe0", "name": "RadioState::FUN_1002d090", "matching": 1.0, "diff": []}, {"address": "0x1002d0c0", "recomp": "0x1002d010", "name": "RadioState::FUN_1002d0c0", "matching": 1.0, "diff": []}, {"address": "0x1002d110", "recomp": "0x1002d060", "name": "LegoActor::LegoActor", "matching": 1.0, "diff": []}, {"address": "0x1002d210", "recomp": "0x1002d160", "name": "LegoActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1002d220", "recomp": "0x1002d170", "name": "LegoActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x1002d300", "recomp": "0x1002d250", "name": "LegoActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1002d320", "recomp": "0x1002d270", "name": "LegoActor::~LegoActor", "matching": 1.0, "diff": []}, {"address": "0x1002d390", "recomp": "0x1002d2e0", "name": "LegoActor::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x1002d660", "recomp": "0x1002d5b0", "name": "LegoActor::GetActorName", "matching": 1.0, "diff": []}, {"address": "0x1002d670", "recomp": "0x1002d5c0", "name": "LegoActor::SetROI", "matching": 0.7848101265822784, "diff": [["@@ -0x1002d670,39 +0x1002d5c0,40 @@", [{"both": [["0x1002d670", "sub esp, 4", "0x1002d5c0"], ["0x1002d673", "mov dword ptr [esp], ecx", "0x1002d5c3"], ["0x1002d677", "push ebx", "0x1002d5c7"], ["0x1002d678", "push esi", "0x1002d5c8"], ["0x1002d679", "push edi", "0x1002d5c9"], ["0x1002d67a", "mov esi, dword ptr [esp + 0x14]", "0x1002d5ca"], ["0x1002d67e", "push ebp", "0x1002d5ce"], ["0x1002d67f", "test esi, esi", "0x1002d5cf"]]}, {"orig": [["0x1002d681", "je 0x3a"], ["0x1002d683", "mov edi, dword ptr [esi + 0xe4]"]], "recomp": [["0x1002d5d1", "je 0x39"], ["0x1002d5d3", "mov ebp, dword ptr [esi + 0xe4]"]]}, {"both": [["0x1002d689", "mov ebx, 1", "0x1002d5d9"]]}, {"orig": [["0x1002d68e", "mov ebp, g_actorNames[1] (UNK)"], ["0x1002d693", "mov eax, dword ptr [ebp]"]], "recomp": [["0x1002d5de", "mov edi, g_actorNames[1] (UNK)"], ["0x1002d5e3", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1002d696", "push eax", "0x1002d5e5"]]}, {"orig": [["0x1002d697", "push edi"]], "recomp": [["0x1002d5e6", "push ebp"]]}, {"both": [["0x1002d698", "call __strcmpi (FUNCTION)", "0x1002d5e7"], ["0x1002d69d", "add esp, 8", "0x1002d5ec"], ["0x1002d6a0", "test eax, eax", "0x1002d5ef"], ["0x1002d6a2", "je 0xe", "0x1002d5f1"]]}, {"orig": [["0x1002d6a4", "add ebp, 4"]], "recomp": [["0x1002d5f3", "add edi, 4"]]}, {"both": [["0x1002d6a7", "inc ebx", "0x1002d5f6"]]}, {"orig": [["0x1002d6a8", "cmp ebp, g_actorNames[5] (UNK)"], ["0x1002d6ae", "jbe -0x1d"]], "recomp": [["0x1002d5f7", "cmp edi, g_actorNames[5] (UNK)"], ["0x1002d5fd", "jbe -0x1c"]]}, {"both": [["0x1002d6b0", "jmp 0xb", "0x1002d5ff"], ["0x1002d6b2", "mov eax, dword ptr [esp + 0x10]", "0x1002d601"], ["0x1002d6b6", "mov byte ptr [eax + 0x59], 0", "0x1002d605"], ["0x1002d6ba", "mov byte ptr [eax + 0x74], bl", "0x1002d609"], ["0x1002d6bd", "mov eax, dword ptr [esp + 0x20]", "0x1002d60c"], ["0x1002d6c1", "mov ecx, dword ptr [esp + 0x1c]", "0x1002d610"], ["0x1002d6c5", "push eax", "0x1002d614"], ["0x1002d6c6", "push ecx", "0x1002d615"], ["0x1002d6c7", "mov ecx, dword ptr [esp + 0x18]", "0x1002d616"], ["0x1002d6cb", "push esi", "0x1002d61a"], ["0x1002d6cc", "call LegoEntity::SetROI (FUNCTION)", "0x1002d61b"], ["0x1002d6d1", "pop ebp", "0x1002d620"], ["0x1002d6d2", "pop edi", "0x1002d621"], ["0x1002d6d3", "pop esi", "0x1002d622"], ["0x1002d6d4", "pop ebx", "0x1002d623"], ["0x1002d6d5", "add esp, 4", "0x1002d624"]]}, {"orig": [], "recomp": [["0x1002d627", "ret 0xc"]]}]]]}, {"address": "0x1002d6e0", "recomp": "0x1002d630", "name": "LegoActor::Mute", "matching": 1.0, "diff": []}, {"address": "0x1002d700", "recomp": "0x1002d650", "name": "LegoPathActor::LegoPathActor", "matching": 1.0, "diff": []}, {"address": "0x1002d800", "recomp": "0x1002d750", "name": "LegoPathActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1002d820", "recomp": "0x1002d770", "name": "LegoPathActor::~LegoPathActor", "matching": 1.0, "diff": []}, {"address": "0x1002d8d0", "recomp": "0x1002d820", "name": "LegoPathActor::VTable0x80", "matching": 0.9342105263157895, "diff": [["@@ -0x1002d8fd,29 +0x1002d84d,29 @@", [{"both": [["0x1002d8fd", "push ebx", "0x1002d84d"], ["0x1002d8fe", "mov dword ptr [esp + 0x28], eax", "0x1002d84e"], ["0x1002d902", "mov dword ptr [esp + 0x24], ecx", "0x1002d852"], ["0x1002d906", "lea ecx, [esp + 0x10]", "0x1002d856"], ["0x1002d90a", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x1002d85a"], ["0x1002d910", "mov edi, dword ptr [esp + 0x4c]", "0x1002d860"], ["0x1002d914", "lea ecx, [esp + 0xc]", "0x1002d864"], ["0x1002d918", "mov eax, dword ptr [esp + 0xc]", "0x1002d868"], ["0x1002d91c", "push edi", "0x1002d86c"], ["0x1002d91d", "call dword ptr [eax + 0x54]", "0x1002d86d"]]}, {"orig": [["0x1002d920", "mov edx, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x1002d924", "mov ecx, dword ptr [esp + 0x10]", "0x1002d870"]]}, {"orig": [["0x1002d928", "add edx, 4"], ["0x1002d92b", "add ecx, 8"]], "recomp": []}, {"both": [["0x1002d92e", "mov eax, dword ptr [esp + 0x10]", "0x1002d874"]]}, {"orig": [], "recomp": [["0x1002d878", "add ecx, 4"], ["0x1002d87b", "add eax, 8"], ["0x1002d87e", "fld dword ptr [ecx]"], ["0x1002d880", "fmul dword ptr [ecx]"]]}, {"both": [["0x1002d932", "fld dword ptr [eax]", "0x1002d882"], ["0x1002d934", "fmul dword ptr [eax]", "0x1002d884"]]}, {"orig": [["0x1002d936", "fld dword ptr [edx]"], ["0x1002d938", "fmul dword ptr [edx]"]], "recomp": [["0x1002d886", "mov ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x1002d93a", "faddp st(1)", "0x1002d88a"], ["0x1002d93c", "fld dword ptr [ecx]", "0x1002d88c"], ["0x1002d93e", "fmul dword ptr [ecx]", "0x1002d88e"], ["0x1002d940", "faddp st(1)", "0x1002d890"], ["0x1002d942", "fstp dword ptr [esi + 0x78]", "0x1002d892"], ["0x1002d945", "cmp dword ptr [esi + 0x78], 0", "0x1002d895"], ["0x1002d949", "jle 0x5c", "0x1002d899"], ["0x1002d94b", "fld dword ptr [esi + 0x78]", "0x1002d89b"], ["0x1002d94e", "fsqrt ", "0x1002d89e"], ["0x1002d950", "lea ecx, [esp + 0x34]", "0x1002d8a0"]]}]]]}, {"address": "0x1002d9c0", "recomp": "0x1002d910", "name": "LegoPathActor::VTable0x88", "matching": 0.9250936329588015, "diff": [["@@ -0x1002d9e5,57 +0x1002d935,59 @@", [{"both": [["0x1002d9e5", "mov ecx, ebx", "0x1002d935"], ["0x1002d9e7", "call LegoEdge::CCWVertex (FUNCTION)", "0x1002d937"], ["0x1002d9ec", "mov ecx, dword ptr [esp + 0xf8]", "0x1002d93c"], ["0x1002d9f3", "push edi", "0x1002d943"], ["0x1002d9f4", "mov dword ptr [esp + 0x14], eax", "0x1002d944"], ["0x1002d9f8", "call LegoEdge::CWVertex (FUNCTION)", "0x1002d948"], ["0x1002d9fd", "mov ebx, eax", "0x1002d94d"], ["0x1002d9ff", "push edi", "0x1002d94f"], ["0x1002da00", "mov ecx, dword ptr [esp + 0xfc]", "0x1002d950"], ["0x1002da07", "call LegoEdge::CCWVertex (FUNCTION)", "0x1002d957"]]}, {"orig": [["0x1002da0c", "lea ecx, [esp + 0x24]"]], "recomp": [["0x1002d95c", "lea ecx, [esp + 0x44]"]]}, {"both": [["0x1002da10", "mov dword ptr [esp + 0x84], eax", "0x1002d960"], ["0x1002da17", "lea eax, [esp + 0x4c]", "0x1002d967"]]}, {"orig": [["0x1002da1b", "push ecx"], ["0x1002da1c", "lea ecx, [esp + 0x20]"], ["0x1002da20", "mov dword ptr [esp + 0x4c], eax"], ["0x1002da24", "mov dword ptr [esp + 0x48], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x1002d96b", "push eax"]]}, {"both": [["0x1002da2c", "call Vector2::Vector2 (FUNCTION)", "0x1002d96c"]]}, {"orig": [], "recomp": [["0x1002d971", "lea eax, [esp + 0x24]"], ["0x1002d975", "lea ecx, [esp + 0x1c]"], ["0x1002d979", "mov dword ptr [esp + 0x44], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1002d981", "push eax"], ["0x1002d982", "call Vector2::Vector2 (FUNCTION)"], ["0x1002d987", "lea eax, [esp + 0x90]"], ["0x1002d98e", "lea ecx, [esp + 0x88]"]]}, {"both": [["0x1002da31", "mov dword ptr [esp + 0x1c], Mx3DPointFloat::`vftable' (VTABLE)", "0x1002d995"]]}, {"orig": [["0x1002da39", "lea ecx, [esp + 0x90]"], ["0x1002da40", "push ecx"], ["0x1002da41", "lea ecx, [esp + 0x8c]"]], "recomp": [["0x1002d99d", "push eax"]]}, {"both": [["0x1002da48", "call Vector2::Vector2 (FUNCTION)", "0x1002d99e"]]}, {"orig": [], "recomp": [["0x1002d9a3", "lea eax, [esp + 0x38]"], ["0x1002d9a7", "lea ecx, [esp + 0x30]"]]}, {"both": [["0x1002da4d", "mov dword ptr [esp + 0x88], Mx3DPointFloat::`vftable' (VTABLE)", "0x1002d9ab"]]}, {"orig": [["0x1002da58", "lea ecx, [esp + 0x38]"], ["0x1002da5c", "push ecx"], ["0x1002da5d", "lea ecx, [esp + 0x34]"]], "recomp": [["0x1002d9b6", "push eax"]]}, {"both": [["0x1002da61", "call Vector2::Vector2 (FUNCTION)", "0x1002d9b7"]]}, {"orig": [], "recomp": [["0x1002d9bc", "lea eax, [esp + 0x68]"], ["0x1002d9c0", "lea ecx, [esp + 0x60]"]]}, {"both": [["0x1002da66", "mov dword ptr [esp + 0x30], Mx3DPointFloat::`vftable' (VTABLE)", "0x1002d9c4"]]}, {"orig": [["0x1002da6e", "lea ecx, [esp + 0x68]"], ["0x1002da72", "push ecx"], ["0x1002da73", "lea ecx, [esp + 0x64]"]], "recomp": [["0x1002d9cc", "push eax"]]}, {"both": [["0x1002da77", "call Vector2::Vector2 (FUNCTION)", "0x1002d9cd"], ["0x1002da7c", "mov dword ptr [esp + 0x60], Mx3DPointFloat::`vftable' (VTABLE)", "0x1002d9d2"]]}, {"orig": [["0x1002da84", "mov ecx, dword ptr [esp + 0x10]"], ["0x1002da88", "mov eax, dword ptr [esp + 0x44]"], ["0x1002da8c", "push ecx"], ["0x1002da8d", "lea ecx, [esp + 0x48]"]], "recomp": [["0x1002d9da", "mov eax, dword ptr [esp + 0x10]"], ["0x1002d9de", "lea ecx, [esp + 0x44]"], ["0x1002d9e2", "push eax"], ["0x1002d9e3", "mov eax, dword ptr [esp + 0x48]"]]}, {"both": [["0x1002da91", "call dword ptr [eax + 0x88]", "0x1002d9e7"], ["0x1002da97", "mov eax, dword ptr [esp + 0x44]", "0x1002d9ed"], ["0x1002da9b", "lea ecx, [esp + 0x44]", "0x1002d9f1"], ["0x1002da9f", "push ebp", "0x1002d9f5"], ["0x1002daa0", "call dword ptr [eax + 0x54]", "0x1002d9f6"], ["0x1002daa3", "lea ecx, [esp + 0xf4]", "0x1002d9f9"]]}, {"orig": [["0x1002daaa", "mov eax, dword ptr [esp + 0x44]"]], "recomp": []}, {"both": [["0x1002daae", "push ecx", "0x1002da00"], ["0x1002daaf", "lea ecx, [esp + 0x48]", "0x1002da01"]]}, {"orig": [], "recomp": [["0x1002da05", "mov eax, dword ptr [esp + 0x48]"]]}, {"both": [["0x1002dab3", "call dword ptr [eax + 0x5c]", "0x1002da09"], ["0x1002dab6", "lea ecx, [esp + 0x44]", "0x1002da0c"], ["0x1002daba", "push ebp", "0x1002da10"], ["0x1002dabb", "mov ebp, dword ptr [esp + 0x48]", "0x1002da11"], ["0x1002dabf", "call dword ptr [ebp + 0x48]", "0x1002da15"], ["0x1002dac2", "mov ecx, dword ptr [esp + 0x84]", "0x1002da18"], ["0x1002dac9", "mov eax, dword ptr [esp + 0x1c]", "0x1002da1f"], ["0x1002dacd", "push ecx", "0x1002da23"], ["0x1002dace", "lea ecx, [esp + 0x20]", "0x1002da24"], ["0x1002dad2", "call dword ptr [eax + 0x88]", "0x1002da28"]]}]]]}, {"address": "0x1002ddc0", "recomp": "0x1002dd10", "name": "LegoUnknown100db7f4::FUN_1002ddc0", "matching": 1.0, "diff": []}, {"address": "0x1002de10", "recomp": "0x1002dd60", "name": "LegoPathActor::VTable0x84", "matching": 0.5989583333333334, "diff": [["@@ -0x1002de10,93 +0x1002dd60,75 @@", [{"both": [["0x1002de10", "sub esp, 0xa8", "0x1002dd60"], ["0x1002de16", "push ebx", "0x1002dd66"], ["0x1002de17", "push esi", "0x1002dd67"]]}, {"orig": [], "recomp": [["0x1002dd68", "mov esi, dword ptr [esp + 0xb4]"]]}, {"both": [["0x1002de18", "push edi", "0x1002dd6f"]]}, {"orig": [["0x1002de19", "mov esi, ecx"], ["0x1002de1b", "mov edi, dword ptr [esp + 0xb8]"]], "recomp": []}, {"both": [["0x1002de22", "push ebp", "0x1002dd70"]]}, {"orig": [["0x1002de23", "mov ebx, dword ptr [esp + 0xcc]"], ["0x1002de2a", "push edi"], ["0x1002de2b", "mov ecx, ebx"]], "recomp": [["0x1002dd71", "mov edi, ecx"], ["0x1002dd73", "mov ecx, dword ptr [esp + 0xcc]"], ["0x1002dd7a", "push esi"]]}, {"both": [["0x1002de2d", "call LegoEdge::CWVertex (FUNCTION)", "0x1002dd7b"]]}, {"orig": [], "recomp": [["0x1002dd80", "mov ebx, eax"], ["0x1002dd82", "push esi"], ["0x1002dd83", "mov ecx, dword ptr [esp + 0xd0]"], ["0x1002dd8a", "call LegoEdge::CCWVertex (FUNCTION)"]]}, {"both": [["0x1002de32", "mov ebp, eax", "0x1002dd8f"]]}, {"orig": [["0x1002de34", "push edi"], ["0x1002de35", "mov ecx, ebx"], ["0x1002de37", "call LegoEdge::CCWVertex (FUNCTION)"]], "recomp": []}, {"both": [["0x1002de3c", "lea ecx, [esp + 0x64]", "0x1002dd91"]]}, {"orig": [["0x1002de40", "mov dword ptr [esp + 0x10], eax"]], "recomp": []}, {"both": [["0x1002de44", "lea eax, [esp + 0x2c]", "0x1002dd95"], ["0x1002de48", "push ecx", "0x1002dd99"], ["0x1002de49", "lea ecx, [esp + 0x60]", "0x1002dd9a"], ["0x1002de4d", "mov dword ptr [esp + 0x2c], eax", "0x1002dd9e"], ["0x1002de51", "mov dword ptr [esp + 0x28], Mx3DPointFloat::`vftable' (VTABLE)", "0x1002dda2"], ["0x1002de59", "call Vector2::Vector2 (FUNCTION)", "0x1002ddaa"], ["0x1002de5e", "mov dword ptr [esp + 0x5c], Mx3DPointFloat::`vftable' (VTABLE)", "0x1002ddaf"], ["0x1002de66", "lea ecx, [esp + 0x40]", "0x1002ddb7"], ["0x1002de6a", "push ecx", "0x1002ddbb"], ["0x1002de6b", "lea ecx, [esp + 0x3c]", "0x1002ddbc"], ["0x1002de6f", "call Vector2::Vector2 (FUNCTION)", "0x1002ddc0"]]}, {"orig": [["0x1002de74", "mov dword ptr [esp + 0x38], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1002de7c", "mov ecx, dword ptr [esp + 0x10]"], ["0x1002de80", "mov eax, dword ptr [esp + 0x24]"], ["0x1002de84", "push ecx"], ["0x1002de85", "lea ecx, [esp + 0x28]"], ["0x1002de89", "call dword ptr [eax + 0x88]"], ["0x1002de8f", "mov eax, dword ptr [esp + 0x24]"], ["0x1002de93", "lea ecx, [esp + 0x24]"], ["0x1002de97", "push ebp"], ["0x1002de98", "call dword ptr [eax + 0x54]"], ["0x1002de9b", "lea ecx, [esp + 0xd0]"], ["0x1002dea2", "mov eax, dword ptr [esp + 0x24]"], ["0x1002dea6", "push ecx"], ["0x1002dea7", "lea ecx, [esp + 0x28]"], ["0x1002deab", "call dword ptr [eax + 0x5c]"]], "recomp": []}, {"both": [["0x1002deae", "lea ecx, [esp + 0x24]", "0x1002ddc5"], ["0x1002deb2", "push ebp", "0x1002ddc9"], ["0x1002deb3", "mov ebp, dword ptr [esp + 0x28]", "0x1002ddca"]]}, {"orig": [["0x1002deb7", "call dword ptr [ebp + 0x48]"]], "recomp": [["0x1002ddce", "mov dword ptr [esp + 0x3c], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1002ddd6", "call dword ptr [ebp + 0x88]"], ["0x1002dddc", "mov eax, dword ptr [esp + 0x24]"], ["0x1002dde0", "lea ecx, [esp + 0x24]"], ["0x1002dde4", "push ebx"], ["0x1002dde5", "call dword ptr [eax + 0x54]"], ["0x1002dde8", "lea eax, [esp + 0xd0]"], ["0x1002ddef", "lea ecx, [esp + 0x24]"], ["0x1002ddf3", "mov ebp, dword ptr [esp + 0x24]"], ["0x1002ddf7", "push eax"], ["0x1002ddf8", "call dword ptr [ebp + 0x5c]"], ["0x1002ddfb", "lea ecx, [esp + 0x24]"], ["0x1002ddff", "push ebx"], ["0x1002de00", "mov ebx, dword ptr [esp + 0x28]"], ["0x1002de04", "call dword ptr [ebx + 0x48]"], ["0x1002de07", "mov eax, dword ptr [esp + 0xcc]"]]}, {"both": [["0x1002deba", "mov ecx, dword ptr [esp + 0xd0]", "0x1002de0e"]]}, {"orig": [["0x1002dec1", "mov eax, dword ptr [esp + 0xc0]"], ["0x1002dec8", "mov dword ptr [esi + 0x88], edi"], ["0x1002dece", "mov dword ptr [esi + 0xe0], ebx"], ["0x1002ded4", "mov dword ptr [esi + 0xe4], ecx"], ["0x1002deda", "mov dword ptr [esi + 0x84], eax"], ["0x1002dee0", "mov dword ptr [esi + 0x7c], 0"], ["0x1002dee7", "mov dword ptr [esi + 0x80], eax"], ["0x1002deed", "cmp dword ptr [ebx + 4], edi"], ["0x1002def0", "jne 0x2d"], ["0x1002def2", "mov eax, dword ptr [ebx + 0x2c]"], ["0x1002def5", "mov ecx, dword ptr [esp + 0x60]"], ["0x1002def9", "fld dword ptr [eax]"], ["0x1002defb", "fchs "], ["0x1002defd", "fstp dword ptr [ecx]"], ["0x1002deff", "mov eax, dword ptr [ebx + 0x2c]"], ["0x1002df02", "mov ecx, dword ptr [esp + 0x60]"], ["0x1002df06", "fld dword ptr [eax + 4]"], ["0x1002df09", "fchs "], ["0x1002df0b", "fstp dword ptr [ecx + 4]"], ["0x1002df0e", "mov eax, dword ptr [ebx + 0x2c]"], ["0x1002df11", "mov ecx, dword ptr [esp + 0x60]"], ["0x1002df15", "fld dword ptr [eax + 8]"], ["0x1002df18", "fchs "], ["0x1002df1a", "fstp dword ptr [ecx + 8]"], ["0x1002df1d", "jmp 0xd"], ["0x1002df1f", "add ebx, 0x28"], ["0x1002df22", "lea ecx, [esp + 0x5c]"], ["0x1002df26", "push ebx"], ["0x1002df27", "call Vector3::operator= (FUNCTION)"], ["0x1002df2c", "lea eax, [esp + 0x78]"], ["0x1002df30", "lea ecx, [esp + 0xa8]"], ["0x1002df37", "mov dword ptr [esp + 0x74], eax"], ["0x1002df3b", "mov dword ptr [esp + 0x50], ecx"]], "recomp": [["0x1002de15", "mov edx, dword ptr [esp + 0xc0]"], ["0x1002de1c", "mov dword ptr [edi + 0x88], esi"], ["0x1002de22", "mov dword ptr [edi + 0xe0], eax"], ["0x1002de28", "lea eax, [esp + 0x5c]"], ["0x1002de2c", "push eax"], ["0x1002de2d", "mov dword ptr [edi + 0xe4], ecx"], ["0x1002de33", "mov ecx, dword ptr [esp + 0xd0]"], ["0x1002de3a", "push esi"], ["0x1002de3b", "mov dword ptr [edi + 0x7c], 0"], ["0x1002de42", "mov dword ptr [edi + 0x84], edx"], ["0x1002de48", "mov dword ptr [edi + 0x80], edx"], ["0x1002de4e", "call LegoUnknown100db7f4::FUN_1002ddc0 (FUNCTION)"], ["0x1002de53", "lea ecx, [esp + 0x78]"], ["0x1002de57", "mov dword ptr [esp + 0x74], ecx"], ["0x1002de5b", "lea edx, [esp + 0xa8]"]]}, {"both": [["0x1002df3f", "mov ecx, Vector3::`vftable' (VTABLE)", "0x1002de62"], ["0x1002df44", "lea eax, [esp + 0x98]", "0x1002de67"]]}, {"orig": [], "recomp": [["0x1002de6e", "mov dword ptr [esp + 0x50], edx"]]}, {"both": [["0x1002df4b", "lea edx, [esp + 0x88]", "0x1002de72"], ["0x1002df52", "mov dword ptr [esp + 0x4c], ecx", "0x1002de79"], ["0x1002df56", "mov dword ptr [esp + 0x18], eax", "0x1002de7d"], ["0x1002df5a", "mov dword ptr [esp + 0x14], ecx", "0x1002de81"], ["0x1002df5e", "lea ebx, [esp + 0x78]", "0x1002de85"], ["0x1002df62", "mov dword ptr [esp + 0x20], edx", "0x1002de89"], ["0x1002df66", "mov dword ptr [esp + 0x1c], ecx", "0x1002de8d"], ["0x1002df6a", "mov dword ptr [esp + 0x58], ebx", "0x1002de91"], ["0x1002df6e", "mov dword ptr [esp + 0x70], MxMatrix::`vftable' (VTABLE)", "0x1002de95"], ["0x1002df76", "mov dword ptr [esp + 0x54], ecx", "0x1002de9d"]]}]], ["@@ -0x1002dfaf,87 +0x1002ded6,103 @@", [{"both": [["0x1002dfaf", "mov eax, dword ptr [ebx + 4]", "0x1002ded6"], ["0x1002dfb2", "mov ebp, dword ptr [esp + 0x4c]", "0x1002ded9"], ["0x1002dfb6", "push eax", "0x1002dedd"], ["0x1002dfb7", "call dword ptr [ebp + 0x20]", "0x1002dede"], ["0x1002dfba", "mov ebp, dword ptr [esp + 0xc8]", "0x1002dee1"], ["0x1002dfc1", "lea ecx, [esp + 0x14]", "0x1002dee8"], ["0x1002dfc5", "mov eax, dword ptr [ebp + 4]", "0x1002deec"], ["0x1002dfc8", "push eax", "0x1002deef"], ["0x1002dfc9", "mov eax, dword ptr [esp + 0x18]", "0x1002def0"], ["0x1002dfcd", "call dword ptr [eax + 0x20]", "0x1002def4"]]}, {"orig": [["0x1002dfd0", "mov ecx, dword ptr [esi + 0x88]"]], "recomp": [["0x1002def7", "mov ecx, dword ptr [edi + 0x88]"]]}, {"both": [["0x1002dfd6", "mov eax, dword ptr [esp + 0x1c]", "0x1002defd"], ["0x1002dfda", "mov edx, dword ptr [ecx + 0x18]", "0x1002df01"], ["0x1002dfdd", "lea ecx, [esp + 0x1c]", "0x1002df04"], ["0x1002dfe1", "push edx", "0x1002df08"], ["0x1002dfe2", "call dword ptr [eax + 0x20]", "0x1002df09"]]}, {"orig": [["0x1002dfe5", "cmp byte ptr [esi + 0x58], 0"]], "recomp": [["0x1002df0c", "cmp byte ptr [edi + 0x58], 0"]]}, {"both": [["0x1002dfe9", "je 0x9", "0x1002df10"]]}, {"orig": [["0x1002dfeb", "cmp byte ptr [esi + 0xea], 0"]], "recomp": [["0x1002df12", "cmp byte ptr [edi + 0xea], 0"]]}, {"both": [["0x1002dff2", "jne 0x18", "0x1002df19"], ["0x1002dff4", "lea eax, [esp + 0x10]", "0x1002df1b"], ["0x1002dff8", "lea ecx, [esp + 0x14]", "0x1002df1f"], ["0x1002dffc", "mov dword ptr [esp + 0x10], 0xbf800000", "0x1002df23"], ["0x1002e004", "push eax", "0x1002df2b"], ["0x1002e005", "mov eax, dword ptr [esp + 0x18]", "0x1002df2c"], ["0x1002e009", "call dword ptr [eax + 0x5c]", "0x1002df30"], ["0x1002e00c", "mov eax, dword ptr [esp + 0x18]", "0x1002df33"], ["0x1002e010", "mov ecx, dword ptr [esp + 0x20]", "0x1002df37"], ["0x1002e014", "push eax", "0x1002df3b"], ["0x1002e015", "push ecx", "0x1002df3c"], ["0x1002e016", "lea ecx, [esp + 0x5c]", "0x1002df3d"], ["0x1002e01a", "mov eax, dword ptr [esp + 0x5c]", "0x1002df41"], ["0x1002e01e", "call dword ptr [eax + 0x74]", "0x1002df45"], ["0x1002e021", "lea ecx, [esp + 0x70]", "0x1002df48"], ["0x1002e025", "push ecx", "0x1002df4c"]]}, {"orig": [["0x1002e026", "mov ecx, dword ptr [esi + 0x54]"]], "recomp": [["0x1002df4d", "mov ecx, dword ptr [edi + 0x54]"]]}, {"both": [["0x1002e029", "call OrientableROI::UpdateTransformationRelativeToParent (FUNCTION)", "0x1002df50"]]}, {"orig": [["0x1002e02e", "cmp byte ptr [esi + 0x58], 0"]], "recomp": [["0x1002df55", "cmp byte ptr [edi + 0x58], 0"]]}, {"both": [["0x1002e032", "je 0x1e", "0x1002df59"]]}, {"orig": [["0x1002e034", "cmp byte ptr [esi + 0xea], 0"]], "recomp": [["0x1002df5b", "cmp byte ptr [edi + 0xea], 0"]]}, {"both": [["0x1002e03b", "je 0x15", "0x1002df62"]]}, {"orig": [["0x1002e03d", "push esi"], ["0x1002e03e", "mov ecx, dword ptr [esi + 0x88]"]], "recomp": [["0x1002df64", "push edi"], ["0x1002df65", "mov ecx, dword ptr [edi + 0x88]"]]}, {"both": [["0x1002e044", "call LegoPathBoundary::AddActor (FUNCTION)", "0x1002df6b"]]}, {"orig": [["0x1002e049", "mov ecx, esi"]], "recomp": [["0x1002df70", "mov ecx, edi"]]}, {"both": [["0x1002e04b", "call LegoEntity::FUN_10010c30 (FUNCTION)", "0x1002df72"], ["0x1002e050", "jmp 0x7d", "0x1002df77"], ["0x1002e052", "mov eax, dword ptr [esp + 0x60]", "0x1002df79"]]}, {"orig": [["0x1002e056", "mov ecx, dword ptr [edi + 0x18]"], ["0x1002e059", "mov edi, dword ptr [esp + 0x38]"]], "recomp": [["0x1002df7d", "mov ecx, dword ptr [esi + 0x18]"], ["0x1002df80", "mov esi, dword ptr [esp + 0x38]"]]}, {"both": [["0x1002e05d", "push eax", "0x1002df84"], ["0x1002e05e", "push ecx", "0x1002df85"], ["0x1002e05f", "lea ecx, [esp + 0x40]", "0x1002df86"]]}, {"orig": [["0x1002e063", "call dword ptr [edi + 0x74]"]], "recomp": [["0x1002df8a", "call dword ptr [esi + 0x74]"]]}, {"both": [["0x1002e066", "lea ecx, [esp + 0x38]", "0x1002df8d"]]}, {"orig": [["0x1002e06a", "mov edi, dword ptr [esp + 0x38]"], ["0x1002e06e", "call dword ptr [edi + 0x40]"]], "recomp": [["0x1002df91", "mov esi, dword ptr [esp + 0x38]"], ["0x1002df95", "call dword ptr [esi + 0x40]"]]}, {"both": [["0x1002e071", "fcom dword ptr [0.0 (FLOAT)]", "0x1002df98"], ["0x1002e077", "fstp dword ptr [esp + 0x10]", "0x1002df9e"], ["0x1002e07b", "fnstsw ax", "0x1002dfa2"], ["0x1002e07d", "test ah, 0x41", "0x1002dfa4"], ["0x1002e080", "jne 0x27", "0x1002dfa7"], ["0x1002e082", "fld dword ptr [esp + 0x10]", "0x1002dfa9"], ["0x1002e086", "fsqrt ", "0x1002dfad"], ["0x1002e088", "fcom dword ptr [0.0 (FLOAT)]", "0x1002dfaf"], ["0x1002e08e", "fstp dword ptr [esp + 0x10]", "0x1002dfb5"], ["0x1002e092", "fnstsw ax", "0x1002dfb9"], ["0x1002e094", "test ah, 0x41", "0x1002dfbb"], ["0x1002e097", "jne 0x10", "0x1002dfbe"], ["0x1002e099", "lea eax, [esp + 0x10]", "0x1002dfc0"], ["0x1002e09d", "lea ecx, [esp + 0x38]", "0x1002dfc4"]]}, {"orig": [["0x1002e0a1", "mov edi, dword ptr [esp + 0x38]"]], "recomp": [["0x1002dfc8", "mov esi, dword ptr [esp + 0x38]"]]}, {"both": [["0x1002e0a5", "push eax", "0x1002dfcc"]]}, {"orig": [["0x1002e0a6", "call dword ptr [edi + 0x14]"]], "recomp": [["0x1002dfcd", "call dword ptr [esi + 0x14]"]]}, {"both": [["0x1002e0a9", "lea eax, [esp + 0x38]", "0x1002dfd0"], ["0x1002e0ad", "lea ecx, [esp + 0x24]", "0x1002dfd4"], ["0x1002e0b1", "push eax", "0x1002dfd8"], ["0x1002e0b2", "push ecx", "0x1002dfd9"], ["0x1002e0b3", "push ebp", "0x1002dfda"]]}, {"orig": [["0x1002e0b4", "mov ecx, esi"]], "recomp": [["0x1002dfdb", "mov ecx, edi"]]}, {"both": [["0x1002e0b6", "push ebx", "0x1002dfdd"]]}, {"orig": [["0x1002e0b7", "mov ebx, dword ptr [esi]"]], "recomp": [["0x1002dfde", "mov ebx, dword ptr [edi]"]]}, {"both": [["0x1002e0b9", "call dword ptr [ebx + 0x80]", "0x1002dfe0"], ["0x1002e0bf", "test eax, eax", "0x1002dfe6"], ["0x1002e0c1", "jne 0x22", "0x1002dfe8"]]}, {"orig": [["0x1002e0c3", "push esi"], ["0x1002e0c4", "mov ecx, dword ptr [esi + 0x88]"]], "recomp": [["0x1002dfea", "push edi"], ["0x1002dfeb", "mov ecx, dword ptr [edi + 0x88]"], ["0x1002dff1", "call LegoPathBoundary::AddActor (FUNCTION)"], ["0x1002dff6", "lea ecx, [edi + 0xec]"], ["0x1002dffc", "mov eax, dword ptr [edi + 0x54]"], ["0x1002dfff", "add eax, 0x10"], ["0x1002e002", "mov ebx, dword ptr [ecx]"], ["0x1002e004", "push eax"], ["0x1002e005", "call dword ptr [ebx + 0x28]"], ["0x1002e008", "xor eax, eax"], ["0x1002e00a", "jmp 0x5"], ["0x1002e00c", "mov eax, 0xffffffff"], ["0x1002e011", "pop ebp"], ["0x1002e012", "pop edi"], ["0x1002e013", "pop esi"], ["0x1002e014", "pop ebx"], ["0x1002e015", "add esp, 0xa8"], ["0x1002e01b", "ret 0x18"]]}]]]}, {"address": "0x1002e100", "recomp": "0x1002e020", "name": "LegoPathActor::VTable0x8c", "matching": 0.9582366589327146, "diff": [["@@ -0x1002e100,77 +0x1002e020,77 @@", [{"both": [["0x1002e100", "sub esp, 0xb0", "0x1002e020"], ["0x1002e106", "push ebx", "0x1002e026"], ["0x1002e107", "push esi", "0x1002e027"], ["0x1002e108", "push edi", "0x1002e028"], ["0x1002e109", "mov esi, ecx", "0x1002e029"], ["0x1002e10b", "push ebp", "0x1002e02b"], ["0x1002e10c", "cmp byte ptr [esi + 0xea], 0", "0x1002e02c"]]}, {"orig": [["0x1002e113", "je 0x48a"]], "recomp": [["0x1002e033", "je 0x48e"]]}, {"both": [["0x1002e119", "cmp dword ptr [esi + 0xdc], 0", "0x1002e039"]]}, {"orig": [["0x1002e120", "jne 0x47d"]], "recomp": [["0x1002e040", "jne 0x481"]]}, {"both": [["0x1002e126", "mov eax, dword ptr [esp + 0xc4]", "0x1002e046"], ["0x1002e12d", "lea ecx, [esp + 0xac]", "0x1002e04d"], ["0x1002e134", "mov edi, Mx3DPointFloat::`vftable' (VTABLE)", "0x1002e054"], ["0x1002e139", "mov dword ptr [esi + 0x84], eax", "0x1002e059"], ["0x1002e13f", "lea eax, [esp + 0x4c]", "0x1002e05f"], ["0x1002e143", "mov dword ptr [esp + 0xa8], ecx", "0x1002e063"], ["0x1002e14a", "lea ecx, [esp + 0x84]", "0x1002e06a"], ["0x1002e151", "lea edx, [esp + 0x98]", "0x1002e071"], ["0x1002e158", "mov dword ptr [esp + 0xa4], edi", "0x1002e078"], ["0x1002e15f", "mov dword ptr [esp + 0x48], eax", "0x1002e07f"], ["0x1002e163", "lea eax, [esp + 0x70]", "0x1002e083"], ["0x1002e167", "mov dword ptr [esp + 0x44], edi", "0x1002e087"], ["0x1002e16b", "mov dword ptr [esp + 0x80], ecx", "0x1002e08b"]]}, {"orig": [], "recomp": [["0x1002e092", "mov dword ptr [esp + 0x94], edx"], ["0x1002e099", "mov dword ptr [esp + 0x7c], edi"]]}, {"both": [["0x1002e172", "mov ecx, dword ptr [esi + 0x54]", "0x1002e09d"]]}, {"orig": [["0x1002e175", "mov dword ptr [esp + 0x7c], edi"], ["0x1002e179", "mov dword ptr [esp + 0x94], edx"]], "recomp": []}, {"both": [["0x1002e180", "mov ebx, Vector3::`vftable' (VTABLE)", "0x1002e0a0"], ["0x1002e185", "mov dword ptr [esp + 0x90], edi", "0x1002e0a5"], ["0x1002e18c", "mov dword ptr [esp + 0x6c], eax", "0x1002e0ac"], ["0x1002e190", "mov dword ptr [esp + 0x68], edi", "0x1002e0b0"], ["0x1002e194", "mov eax, dword ptr [ecx + 0x14]", "0x1002e0b4"], ["0x1002e197", "lea ecx, [esp + 0x1c]", "0x1002e0b7"], ["0x1002e19b", "add eax, 0x20", "0x1002e0bb"], ["0x1002e19e", "push ecx", "0x1002e0be"], ["0x1002e19f", "lea ecx, [esp + 0x6c]", "0x1002e0bf"], ["0x1002e1a3", "mov dword ptr [esp + 0x24], eax", "0x1002e0c3"], ["0x1002e1a7", "mov dword ptr [esp + 0x20], ebx", "0x1002e0c7"], ["0x1002e1ab", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x1002e0cb"], ["0x1002e1b1", "mov eax, dword ptr [esi + 0x54]", "0x1002e0d1"], ["0x1002e1b4", "lea ecx, [esp + 0x90]", "0x1002e0d4"]]}, {"orig": [], "recomp": [["0x1002e0db", "mov ebp, dword ptr [esp + 0x90]"]]}, {"both": [["0x1002e1bb", "mov eax, dword ptr [eax + 0x14]", "0x1002e0e2"], ["0x1002e1be", "add eax, 0x30", "0x1002e0e5"], ["0x1002e1c1", "mov dword ptr [esp + 0x20], eax", "0x1002e0e8"], ["0x1002e1c5", "mov dword ptr [esp + 0x1c], ebx", "0x1002e0ec"], ["0x1002e1c9", "lea ebx, [esp + 0x1c]", "0x1002e0f0"]]}, {"orig": [["0x1002e1cd", "mov ebp, dword ptr [esp + 0x90]"]], "recomp": []}, {"both": [["0x1002e1d4", "push ebx", "0x1002e0f4"], ["0x1002e1d5", "call dword ptr [ebp + 0x88]", "0x1002e0f5"], ["0x1002e1db", "call NavController (FUNCTION)", "0x1002e0fb"], ["0x1002e1e0", "mov ebx, eax", "0x1002e100"], ["0x1002e1e2", "lea ecx, [esp + 0xa4]", "0x1002e102"], ["0x1002e1e9", "lea edx, [esp + 0x44]", "0x1002e109"], ["0x1002e1ed", "mov eax, dword ptr [ebx + 0x18]", "0x1002e10d"], ["0x1002e1f0", "mov dword ptr [esi + 0x50], eax", "0x1002e110"], ["0x1002e1f3", "mov eax, dword ptr [esi + 0x88]", "0x1002e113"], ["0x1002e1f9", "add eax, 0x14", "0x1002e119"], ["0x1002e1fc", "push eax", "0x1002e11c"], ["0x1002e1fd", "push ecx", "0x1002e11d"], ["0x1002e1fe", "lea eax, [esp + 0x70]", "0x1002e11e"], ["0x1002e202", "push edx", "0x1002e122"], ["0x1002e203", "lea ecx, [esp + 0x9c]", "0x1002e123"], ["0x1002e20a", "push eax", "0x1002e12a"], ["0x1002e20b", "push ecx", "0x1002e12b"], ["0x1002e20c", "mov ecx, ebx", "0x1002e12c"], ["0x1002e20e", "call LegoNavController::CalculateNewPosDir (FUNCTION)", "0x1002e12e"], ["0x1002e213", "test al, al", "0x1002e133"]]}, {"orig": [["0x1002e215", "je 0x509"]], "recomp": [["0x1002e135", "je 0x50d"]]}, {"both": [["0x1002e21b", "lea eax, [esp + 0x24]", "0x1002e13b"], ["0x1002e21f", "mov ecx, dword ptr [esp + 0x48]", "0x1002e13f"], ["0x1002e223", "mov dword ptr [esp + 0x20], eax", "0x1002e143"], ["0x1002e227", "push ecx", "0x1002e147"], ["0x1002e228", "lea ecx, [esp + 0x20]", "0x1002e148"], ["0x1002e22c", "mov dword ptr [esp + 0x20], edi", "0x1002e14c"], ["0x1002e230", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x1002e150"], ["0x1002e236", "mov ebp, dword ptr [esp + 0x50]", "0x1002e156"], ["0x1002e23a", "lea ecx, [esp + 0x4c]", "0x1002e15a"], ["0x1002e23e", "lea edx, [esp + 0x24]", "0x1002e15e"]]}]], ["@@ -0x1002e26e,21 +0x1002e18e,21 @@", [{"both": [["0x1002e26e", "push ebp", "0x1002e18e"], ["0x1002e26f", "mov eax, dword ptr [eax + 0x14]", "0x1002e18f"], ["0x1002e272", "push ecx", "0x1002e192"], ["0x1002e273", "push eax", "0x1002e193"], ["0x1002e274", "mov ecx, dword ptr [esi + 0x88]", "0x1002e194"], ["0x1002e27a", "call LegoPathBoundary::Intersect (FUNCTION)", "0x1002e19a"], ["0x1002e27f", "xor ecx, ecx", "0x1002e19f"], ["0x1002e281", "mov byte ptr [esi + 0xe9], al", "0x1002e1a1"], ["0x1002e287", "mov cl, al", "0x1002e1a7"], ["0x1002e289", "cmp ecx, -1", "0x1002e1a9"]]}, {"orig": [["0x1002e28c", "je 0x492"]], "recomp": [["0x1002e1ac", "je 0x496"]]}, {"both": [["0x1002e292", "test al, al", "0x1002e1b2"], ["0x1002e294", "je 0x2e", "0x1002e1b4"], ["0x1002e296", "mov eax, dword ptr [esp + 0x80]", "0x1002e1b6"], ["0x1002e29d", "lea ecx, [esp + 0x44]", "0x1002e1bd"], ["0x1002e2a1", "mov ebp, dword ptr [esp + 0x44]", "0x1002e1c1"], ["0x1002e2a5", "push eax", "0x1002e1c5"], ["0x1002e2a6", "call dword ptr [ebp + 0x20]", "0x1002e1c6"], ["0x1002e2a9", "lea ecx, [esp + 0x84]", "0x1002e1c9"], ["0x1002e2b0", "lea edx, [esp + 0x4c]", "0x1002e1d0"], ["0x1002e2b4", "mov eax, dword ptr [ecx]", "0x1002e1d4"]]}]], ["@@ -0x1002e2c8,35 +0x1002e1e8,35 @@", [{"both": [["0x1002e2c8", "lea ecx, [esp + 0x44]", "0x1002e1e8"], ["0x1002e2cc", "lea edx, [esp + 0x90]", "0x1002e1ec"], ["0x1002e2d3", "push eax", "0x1002e1f3"], ["0x1002e2d4", "push ecx", "0x1002e1f4"], ["0x1002e2d5", "mov eax, dword ptr [esi]", "0x1002e1f5"], ["0x1002e2d7", "push edx", "0x1002e1f7"], ["0x1002e2d8", "mov ecx, esi", "0x1002e1f8"], ["0x1002e2da", "call dword ptr [eax + 0x68]", "0x1002e1fa"], ["0x1002e2dd", "mov edi, eax", "0x1002e1fd"], ["0x1002e2df", "test edi, edi", "0x1002e1ff"]]}, {"orig": [["0x1002e2e1", "jle 0x39"]], "recomp": [["0x1002e201", "jle 0x3d"]]}, {"both": [["0x1002e2e3", "mov eax, dword ptr [esp + 0x94]", "0x1002e203"], ["0x1002e2ea", "lea ecx, [esp + 0x44]", "0x1002e20a"], ["0x1002e2ee", "mov ebp, dword ptr [esp + 0x44]", "0x1002e20e"], ["0x1002e2f2", "push eax", "0x1002e212"], ["0x1002e2f3", "call dword ptr [ebp + 0x20]", "0x1002e213"]]}, {"orig": [], "recomp": [["0x1002e216", "mov ebp, dword ptr [esp + 0x9c]"]]}, {"both": [["0x1002e2f6", "lea ecx, [esp + 0x98]", "0x1002e21d"]]}, {"orig": [], "recomp": [["0x1002e224", "mov byte ptr [esi + 0xe9], 0"]]}, {"both": [["0x1002e2fd", "lea edx, [esp + 0x4c]", "0x1002e22b"]]}, {"orig": [["0x1002e301", "mov byte ptr [esi + 0xe9], 0"]], "recomp": []}, {"both": [["0x1002e308", "mov eax, dword ptr [ecx]", "0x1002e22f"]]}, {"orig": [], "recomp": [["0x1002e231", "mov ecx, dword ptr [ecx + 8]"]]}, {"both": [["0x1002e30a", "xor edi, edi", "0x1002e234"], ["0x1002e30c", "mov dword ptr [edx], eax", "0x1002e236"]]}, {"orig": [["0x1002e30e", "mov ebp, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x1002e311", "mov dword ptr [edx + 4], ebp", "0x1002e238"]]}, {"orig": [["0x1002e314", "mov ecx, dword ptr [ecx + 8]"]], "recomp": []}, {"both": [["0x1002e317", "mov dword ptr [edx + 8], ecx", "0x1002e23b"], ["0x1002e31a", "jmp 0x19", "0x1002e23e"], ["0x1002e31c", "lea eax, [esp + 0x44]", "0x1002e240"], ["0x1002e320", "push esi", "0x1002e244"], ["0x1002e321", "lea ecx, [esp + 0x94]", "0x1002e245"], ["0x1002e328", "push eax", "0x1002e24c"], ["0x1002e329", "push ecx", "0x1002e24d"], ["0x1002e32a", "mov ecx, dword ptr [esi + 0x88]", "0x1002e24e"], ["0x1002e330", "call LegoPathBoundary::FUN_100575b0 (FUNCTION)", "0x1002e254"], ["0x1002e335", "cmp byte ptr [esi + 0xe9], 0", "0x1002e259"]]}]], ["@@ -0x1002e42f,32 +0x1002e353,32 @@", [{"both": [["0x1002e42f", "fcom dword ptr [0.0 (FLOAT)]", "0x1002e353"], ["0x1002e435", "fstp dword ptr [esp + 0x10]", "0x1002e359"], ["0x1002e439", "fnstsw ax", "0x1002e35d"], ["0x1002e43b", "test ah, 0x41", "0x1002e35f"], ["0x1002e43e", "jne 0x6d", "0x1002e362"], ["0x1002e440", "lea eax, [esp + 0x10]", "0x1002e364"], ["0x1002e444", "lea ecx, [esp + 0x30]", "0x1002e368"], ["0x1002e448", "mov ebx, dword ptr [esp + 0x30]", "0x1002e36c"], ["0x1002e44c", "push eax", "0x1002e370"], ["0x1002e44d", "call dword ptr [ebx + 0x14]", "0x1002e371"]]}, {"orig": [], "recomp": [["0x1002e374", "mov edx, dword ptr [esp + 0xa8]"]]}, {"both": [["0x1002e450", "mov ecx, dword ptr [esp + 0xa8]", "0x1002e37b"]]}, {"orig": [["0x1002e457", "mov edx, dword ptr [esp + 0xa8]"], ["0x1002e45e", "add ecx, 4"], ["0x1002e461", "add edx, 8"]], "recomp": [["0x1002e382", "add edx, 4"], ["0x1002e385", "add ecx, 8"]]}, {"both": [["0x1002e464", "mov eax, dword ptr [esp + 0xa8]", "0x1002e388"], ["0x1002e46b", "fld dword ptr [eax]", "0x1002e38f"], ["0x1002e46d", "fmul dword ptr [eax]", "0x1002e391"]]}, {"orig": [], "recomp": [["0x1002e393", "fld dword ptr [edx]"], ["0x1002e395", "fmul dword ptr [edx]"], ["0x1002e397", "faddp st(1)"]]}, {"both": [["0x1002e46f", "fld dword ptr [ecx]", "0x1002e399"], ["0x1002e471", "fmul dword ptr [ecx]", "0x1002e39b"]]}, {"orig": [["0x1002e473", "faddp st(1)"], ["0x1002e475", "fld dword ptr [edx]"], ["0x1002e477", "fmul dword ptr [edx]"]], "recomp": []}, {"both": [["0x1002e479", "lea ecx, [esp + 0x10]", "0x1002e39d"], ["0x1002e47d", "push ecx", "0x1002e3a1"], ["0x1002e47e", "faddp st(1)", "0x1002e3a2"], ["0x1002e480", "fsqrt ", "0x1002e3a4"], ["0x1002e482", "fmul dword ptr [esi + 0x140]", "0x1002e3a6"], ["0x1002e488", "fstp dword ptr [esp + 0x14]", "0x1002e3ac"], ["0x1002e48c", "mov ebx, dword ptr [esp + 0x34]", "0x1002e3b0"], ["0x1002e490", "lea ecx, [esp + 0x34]", "0x1002e3b4"], ["0x1002e494", "call dword ptr [ebx + 0x5c]", "0x1002e3b8"], ["0x1002e497", "lea ecx, [esp + 0x30]", "0x1002e3bb"]]}]], ["@@ -0x1002e5b8,22 +0x1002e4dc,22 @@", [{"both": [["0x1002e5b8", "jle 0x166", "0x1002e4dc"], ["0x1002e5be", "fld dword ptr [esi + 0x78]", "0x1002e4e2"], ["0x1002e5c1", "fsub dword ptr [esi + 0x7c]", "0x1002e4e5"], ["0x1002e5c4", "fdiv dword ptr [esi + 0x50]", "0x1002e4e8"], ["0x1002e5c7", "fadd dword ptr [esi + 0x84]", "0x1002e4eb"], ["0x1002e5cd", "fcom dword ptr [esp + 0xc4]", "0x1002e4f1"], ["0x1002e5d4", "fstp dword ptr [esp + 0x68]", "0x1002e4f8"], ["0x1002e5d8", "fnstsw ax", "0x1002e4fc"], ["0x1002e5da", "test ah, 1", "0x1002e4fe"], ["0x1002e5dd", "je 0x11", "0x1002e501"]]}, {"orig": [], "recomp": [["0x1002e503", "mov eax, dword ptr [esi + 0x78]"]]}, {"both": [["0x1002e5df", "lea edi, [esi + 0xe9]", "0x1002e506"]]}, {"orig": [["0x1002e5e5", "mov eax, dword ptr [esi + 0x78]"]], "recomp": []}, {"both": [["0x1002e5e8", "mov dword ptr [esi + 0x7c], eax", "0x1002e50c"], ["0x1002e5eb", "mov byte ptr [edi], 1", "0x1002e50f"], ["0x1002e5ee", "jmp 0x2a", "0x1002e512"], ["0x1002e5f0", "fld dword ptr [esp + 0xc4]", "0x1002e514"], ["0x1002e5f7", "fsub dword ptr [esi + 0x84]", "0x1002e51b"], ["0x1002e5fd", "mov eax, dword ptr [esp + 0xc4]", "0x1002e521"], ["0x1002e604", "lea edi, [esi + 0xe9]", "0x1002e528"], ["0x1002e60a", "mov dword ptr [esp + 0x68], eax", "0x1002e52e"], ["0x1002e60e", "mov byte ptr [edi], 0", "0x1002e532"], ["0x1002e611", "fmul dword ptr [esi + 0x50]", "0x1002e535"]]}]]]}, {"address": "0x1002e740", "recomp": "0x1002e660", "name": "LegoPathActor::VTable0x74", "matching": 1.0, "diff": []}, {"address": "0x1002e790", "recomp": "0x1002e6b0", "name": "LegoPathActor::Animate", "matching": 1.0, "diff": []}, {"address": "0x1002e8b0", "recomp": "0x1002e7d0", "name": "LegoPathActor::SwitchBoundary", "matching": 1.0, "diff": []}, {"address": "0x1002e8d0", "recomp": "0x1002e7f0", "name": "LegoPathActor::VTable0x6c", "matching": 0.9193548387096774, "diff": [["@@ -0x1002e914,21 +0x1002e834,21 @@", [{"both": [["0x1002e914", "mov eax, dword ptr [ebp + 0x10]", "0x1002e834"], ["0x1002e917", "mov edx, dword ptr [ebp + 0xc]", "0x1002e837"], ["0x1002e91a", "push eax", "0x1002e83a"], ["0x1002e91b", "push edx", "0x1002e83b"], ["0x1002e91c", "mov eax, dword ptr [ecx]", "0x1002e83c"], ["0x1002e91e", "call dword ptr [eax + 0x94]", "0x1002e83e"], ["0x1002e924", "test eax, eax", "0x1002e844"], ["0x1002e926", "jne 0xec", "0x1002e846"], ["0x1002e92c", "mov eax, dword ptr [ebp - 0x10]", "0x1002e84c"], ["0x1002e92f", "mov eax, dword ptr [eax + 8]", "0x1002e84f"]]}, {"orig": [["0x1002e932", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x1002e852", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x1002e938", "je 0xe", "0x1002e858"], ["0x1002e93a", "push eax", "0x1002e85a"], ["0x1002e93b", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Min (FUNCTION)", "0x1002e85b"], ["0x1002e940", "add esp, 4", "0x1002e860"], ["0x1002e943", "mov dword ptr [ebp - 0x10], eax", "0x1002e863"], ["0x1002e946", "jmp 0x24", "0x1002e866"], ["0x1002e948", "mov eax, dword ptr [ebp - 0x10]", "0x1002e868"], ["0x1002e94b", "mov ecx, dword ptr [eax + 4]", "0x1002e86b"], ["0x1002e94e", "cmp dword ptr [ecx + 8], eax", "0x1002e86e"], ["0x1002e951", "jne 0xe", "0x1002e871"]]}]], ["@@ -0x1002e991,31 +0x1002e8b1,31 @@", [{"both": [["0x1002e991", "push esi", "0x1002e8b1"], ["0x1002e992", "lea ecx, [ebp - 0x24]", "0x1002e8b2"], ["0x1002e995", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy (FUNCTION)", "0x1002e8b5"], ["0x1002e99a", "mov dword ptr [ebp - 4], 0", "0x1002e8ba"], ["0x1002e9a1", "mov eax, 0xffffffff", "0x1002e8c1"], ["0x1002e9a6", "mov eax, dword ptr [ebp - 0x20]", "0x1002e8c6"], ["0x1002e9a9", "mov dword ptr [ebp - 4], 2", "0x1002e8c9"], ["0x1002e9b0", "mov ecx, dword ptr [eax]", "0x1002e8d0"], ["0x1002e9b2", "mov dword ptr [ebp - 0x10], ecx", "0x1002e8d2"], ["0x1002e9b5", "cmp ecx, eax", "0x1002e8d5"]]}, {"orig": [["0x1002e9b7", "je 0xdf"]], "recomp": [["0x1002e8d7", "je 0xe4"]]}, {"both": [["0x1002e9bd", "mov ebx, dword ptr [esi + 4]", "0x1002e8dd"], ["0x1002e9c0", "mov eax, dword ptr [ebp - 0x10]", "0x1002e8e0"], ["0x1002e9c3", "add eax, 0xc", "0x1002e8e3"], ["0x1002e9c6", "lea ecx, [ebp - 0x28]", "0x1002e8e6"], ["0x1002e9c9", "push eax", "0x1002e8e9"], ["0x1002e9ca", "mov dword ptr [ebp - 0x14], eax", "0x1002e8ea"], ["0x1002e9cd", "push ecx", "0x1002e8ed"], ["0x1002e9ce", "mov ecx, esi", "0x1002e8ee"], ["0x1002e9d0", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::find (FUNCTION)", "0x1002e8f0"]]}, {"orig": [["0x1002e9d5", "cmp ebx, dword ptr [ebp - 0x28]"]], "recomp": [["0x1002e8f5", "cmp dword ptr [ebp - 0x28], ebx"]]}, {"both": [["0x1002e9d8", "je 0x76", "0x1002e8f8"], ["0x1002e9da", "mov eax, dword ptr [ebp - 0x14]", "0x1002e8fa"], ["0x1002e9dd", "mov ebx, dword ptr [eax]", "0x1002e8fd"], ["0x1002e9df", "cmp edi, ebx", "0x1002e8ff"], ["0x1002e9e1", "je 0x6d", "0x1002e901"], ["0x1002e9e3", "test byte ptr [ebx + 0xdd], 1", "0x1002e903"], ["0x1002e9ea", "jne 0x64", "0x1002e90a"], ["0x1002e9ec", "mov ecx, dword ptr [ebx + 0x54]", "0x1002e90c"], ["0x1002e9ef", "test ecx, ecx", "0x1002e90f"], ["0x1002e9f1", "je 0x5d", "0x1002e911"]]}]], ["@@ -0x1002ea39,62 +0x1002e959,64 @@", [{"both": [["0x1002ea39", "push eax", "0x1002e959"], ["0x1002ea3a", "push edx", "0x1002e95a"], ["0x1002ea3b", "mov eax, dword ptr [ebp + 0x14]", "0x1002e95b"], ["0x1002ea3e", "mov edx, dword ptr [ebp + 0x10]", "0x1002e95e"], ["0x1002ea41", "push eax", "0x1002e961"], ["0x1002ea42", "push edx", "0x1002e962"], ["0x1002ea43", "mov eax, dword ptr [ebp + 0xc]", "0x1002e963"], ["0x1002ea46", "push eax", "0x1002e966"], ["0x1002ea47", "call LegoROI::FUN_100a9410 (FUNCTION)", "0x1002e967"], ["0x1002ea4c", "test eax, eax", "0x1002e96c"]]}, {"orig": [["0x1002ea4e", "jne 0x5f"]], "recomp": [["0x1002e96e", "jne 0x64"]]}, {"both": [["0x1002ea50", "mov eax, dword ptr [ebp - 0x10]", "0x1002e970"]]}, {"orig": [["0x1002ea53", "mov ecx, dword ptr [eax + 8]"], ["0x1002ea56", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ecx"], ["0x1002ea5c", "je 0xe"], ["0x1002ea5e", "mov eax, dword ptr [ecx]"], ["0x1002ea60", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"], ["0x1002ea66", "je 0x25"], ["0x1002ea68", "mov ecx, eax"]], "recomp": [["0x1002e973", "mov eax, dword ptr [eax + 8]"], ["0x1002e976", "cmp eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"], ["0x1002e97c", "je 0x13"], ["0x1002e97e", "mov ecx, dword ptr [eax]"], ["0x1002e980", "cmp ecx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"], ["0x1002e986", "je 0x4"], ["0x1002e988", "mov eax, ecx"]]}, {"both": [["0x1002ea6a", "jmp -0xe", "0x1002e98a"]]}, {"orig": [], "recomp": [["0x1002e98c", "mov dword ptr [ebp - 0x10], eax"], ["0x1002e98f", "jmp 0x24"]]}, {"both": [["0x1002ea6c", "mov eax, dword ptr [ebp - 0x10]", "0x1002e991"], ["0x1002ea6f", "mov ecx, dword ptr [eax + 4]", "0x1002e994"], ["0x1002ea72", "cmp dword ptr [ecx + 8], eax", "0x1002e997"], ["0x1002ea75", "jne 0xe", "0x1002e99a"], ["0x1002ea77", "mov dword ptr [ebp - 0x10], ecx", "0x1002e99c"], ["0x1002ea7a", "mov ecx, dword ptr [ecx + 4]", "0x1002e99f"], ["0x1002ea7d", "mov eax, dword ptr [ebp - 0x10]", "0x1002e9a2"], ["0x1002ea80", "cmp dword ptr [ecx + 8], eax", "0x1002e9a5"], ["0x1002ea83", "je -0xe", "0x1002e9a8"], ["0x1002ea85", "mov eax, dword ptr [ebp - 0x10]", "0x1002e9aa"], ["0x1002ea88", "cmp dword ptr [eax + 8], ecx", "0x1002e9ad"], ["0x1002ea8b", "je 0x3", "0x1002e9b0"], ["0x1002ea8d", "mov dword ptr [ebp - 0x10], ecx", "0x1002e9b2"], ["0x1002ea90", "mov eax, dword ptr [ebp - 0x20]", "0x1002e9b5"], ["0x1002ea93", "cmp dword ptr [ebp - 0x10], eax", "0x1002e9b8"]]}, {"orig": [["0x1002ea96", "jne -0xdf"]], "recomp": [["0x1002e9bb", "jne -0xe4"]]}, {"both": [["0x1002ea9c", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002e9c1"], ["0x1002eaa3", "call <OFFSET9>", "0x1002e9c8"], ["0x1002eaa8", "xor eax, eax", "0x1002e9cd"]]}, {"orig": [["0x1002eaaa", "jmp -0x92"]], "recomp": [["0x1002e9cf", "jmp -0x97"]]}, {"both": [["0x1002eaaf", "push 1", "0x1002e9d4"], ["0x1002eab1", "mov eax, dword ptr [edi]", "0x1002e9d6"], ["0x1002eab3", "push ebx", "0x1002e9d8"], ["0x1002eab4", "mov ecx, edi", "0x1002e9d9"], ["0x1002eab6", "call dword ptr [eax + 0x94]", "0x1002e9db"], ["0x1002eabc", "push 0", "0x1002e9e1"], ["0x1002eabe", "mov eax, dword ptr [ebx]", "0x1002e9e3"], ["0x1002eac0", "push edi", "0x1002e9e5"], ["0x1002eac1", "mov ecx, ebx", "0x1002e9e6"], ["0x1002eac3", "call dword ptr [eax + 0x94]", "0x1002e9e8"], ["0x1002eac9", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002e9ee"], ["0x1002ead0", "call <OFFSET9>", "0x1002e9f5"], ["0x1002ead5", "mov eax, 2", "0x1002e9fa"]]}, {"orig": [["0x1002eada", "jmp -0xc2"]], "recomp": [["0x1002e9ff", "jmp -0xc7"]]}, {"both": [["0x1002eadf", "lea ecx, [ebp - 0x24]", "0x1002ea04"], ["0x1002eae2", "jmp _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,a (FUNCTION)", "0x1002ea07"], ["0x1002eae7", "lea ecx, [ebp - 0x24]", "0x1002ea0c"], ["0x1002eaea", "jmp set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> > (FUNCTION)", "0x1002ea0f"], ["0x1002eaef", "mov eax, <OFFSET10>", "0x1002ea14"], ["0x1002eaf4", "jmp ___CxxFrameHandler (FUNCTION)", "0x1002ea19"], ["0x1002eaf9", "lea ecx, [ebp - 0x24]", "0x1002ea1e"], ["0x1002eafc", "jmp Set<LegoPathActor *,LegoPathActorSetCompare>::~Set<LegoPathActor *,LegoPathActorSetCompare> (FUNCTION)", "0x1002ea21"]]}]]]}, {"address": "0x1002eb10", "recomp": "0x1002ea30", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Init", "matching": 1.0, "diff": []}, {"address": "0x1002ebc0", "recomp": "0x1002eae0", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Min", "matching": 1.0, "diff": []}, {"address": "0x1002ebe0", "recomp": "0x1002eb00", "name": "LegoPathActor::VTable0x68", "matching": 0.631578947368421, "diff": [["@@ -0x1002ebe0,171 +0x1002eb00,171 @@", [{"both": [["0x1002ebe0", "mov eax, dword ptr fs:[0]", "0x1002eb00"], ["0x1002ebe6", "push ebp", "0x1002eb06"], ["0x1002ebe7", "mov ebp, esp", "0x1002eb07"], ["0x1002ebe9", "push -1", "0x1002eb09"], ["0x1002ebeb", "push <OFFSET1>", "0x1002eb0b"], ["0x1002ebf0", "push eax", "0x1002eb10"], ["0x1002ebf1", "mov dword ptr fs:[0], esp", "0x1002eb11"]]}, {"orig": [["0x1002ebf8", "sub esp, 0x44"], ["0x1002ebfb", "lea eax, [ebp - 0x40]"], ["0x1002ebfe", "mov dword ptr [ebp - 0x18], ecx"]], "recomp": [["0x1002eb18", "sub esp, 0x40"], ["0x1002eb1b", "lea eax, [ebp - 0x3c]"], ["0x1002eb1e", "mov dword ptr [ebp - 0x14], ecx"]]}, {"both": [["0x1002ec01", "push ebx", "0x1002eb21"], ["0x1002ec02", "mov edx, dword ptr [ebp + 0xc]", "0x1002eb22"], ["0x1002ec05", "push esi", "0x1002eb25"]]}, {"orig": [["0x1002ec06", "mov dword ptr [ebp - 0x44], eax"], ["0x1002ec09", "mov dword ptr [ebp - 0x48], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x1002eb26", "mov dword ptr [ebp - 0x40], eax"]]}, {"both": [["0x1002ec10", "push edi", "0x1002eb29"], ["0x1002ec11", "mov ecx, dword ptr [edx + 4]", "0x1002eb2a"]]}, {"orig": [], "recomp": [["0x1002eb2d", "mov dword ptr [ebp - 0x44], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x1002ec14", "mov edx, eax", "0x1002eb34"], ["0x1002ec16", "mov eax, dword ptr [ecx]", "0x1002eb36"], ["0x1002ec18", "mov esi, dword ptr [ebp + 8]", "0x1002eb38"], ["0x1002ec1b", "mov dword ptr [edx], eax", "0x1002eb3b"], ["0x1002ec1d", "mov ebx, dword ptr [ecx + 4]", "0x1002eb3d"], ["0x1002ec20", "push esi", "0x1002eb40"], ["0x1002ec21", "mov dword ptr [edx + 4], ebx", "0x1002eb41"], ["0x1002ec24", "mov ecx, dword ptr [ecx + 8]", "0x1002eb44"], ["0x1002ec27", "mov dword ptr [edx + 8], ecx", "0x1002eb47"]]}, {"orig": [["0x1002ec2a", "lea ecx, [ebp - 0x48]"], ["0x1002ec2d", "mov eax, dword ptr [ebp - 0x48]"]], "recomp": [["0x1002eb4a", "lea ecx, [ebp - 0x44]"], ["0x1002eb4d", "mov eax, dword ptr [ebp - 0x44]"]]}, {"both": [["0x1002ec30", "call dword ptr [eax + 0x54]", "0x1002eb50"]]}, {"orig": [["0x1002ec33", "mov edx, dword ptr [ebp - 0x44]"], ["0x1002ec36", "mov ecx, dword ptr [ebp - 0x44]"], ["0x1002ec39", "add edx, 4"]], "recomp": [["0x1002eb53", "mov ecx, dword ptr [ebp - 0x40]"], ["0x1002eb56", "mov eax, dword ptr [ebp - 0x40]"]]}, {"both": [["0x1002ec3c", "add ecx, 8", "0x1002eb59"]]}, {"orig": [["0x1002ec3f", "mov eax, dword ptr [ebp - 0x44]"]], "recomp": [["0x1002eb5c", "add eax, 4"], ["0x1002eb5f", "fld dword ptr [ecx]"], ["0x1002eb61", "fmul dword ptr [ecx]"]]}, {"both": [["0x1002ec42", "fld dword ptr [eax]", "0x1002eb63"], ["0x1002ec44", "fmul dword ptr [eax]", "0x1002eb65"]]}, {"orig": [["0x1002ec46", "fld dword ptr [edx]"], ["0x1002ec48", "fmul dword ptr [edx]"]], "recomp": [["0x1002eb67", "mov ecx, dword ptr [ebp - 0x40]"]]}, {"both": [["0x1002ec4a", "faddp st(1)", "0x1002eb6a"], ["0x1002ec4c", "fld dword ptr [ecx]", "0x1002eb6c"], ["0x1002ec4e", "fmul dword ptr [ecx]", "0x1002eb6e"], ["0x1002ec50", "faddp st(1)", "0x1002eb70"], ["0x1002ec52", "fcom qword ptr [0.001 (FLOAT)]", "0x1002eb72"], ["0x1002ec58", "fstp dword ptr [ebp - 0x1c]", "0x1002eb78"], ["0x1002ec5b", "fnstsw ax", "0x1002eb7b"], ["0x1002ec5d", "test ah, 0x41", "0x1002eb7d"], ["0x1002ec60", "je 0x15", "0x1002eb80"], ["0x1002ec62", "xor eax, eax", "0x1002eb82"], ["0x1002ec64", "mov ecx, dword ptr [ebp - 0xc]", "0x1002eb84"], ["0x1002ec67", "pop edi", "0x1002eb87"], ["0x1002ec68", "mov dword ptr fs:[0], ecx", "0x1002eb88"], ["0x1002ec6f", "pop esi", "0x1002eb8f"], ["0x1002ec70", "pop ebx", "0x1002eb90"], ["0x1002ec71", "mov esp, ebp", "0x1002eb91"], ["0x1002ec73", "pop ebp", "0x1002eb93"], ["0x1002ec74", "ret 0xc", "0x1002eb94"], ["0x1002ec77", "fld dword ptr [ebp - 0x1c]", "0x1002eb97"], ["0x1002ec7a", "fsqrt ", "0x1002eb9a"]]}, {"orig": [["0x1002ec7c", "mov ebx, dword ptr [ebp - 0x48]"]], "recomp": [["0x1002eb9c", "mov ebx, dword ptr [ebp - 0x44]"]]}, {"both": [["0x1002ec7f", "lea eax, [ebp - 0x1c]", "0x1002eb9f"]]}, {"orig": [["0x1002ec82", "lea ecx, [ebp - 0x48]"]], "recomp": [["0x1002eba2", "lea ecx, [ebp - 0x44]"]]}, {"both": [["0x1002ec85", "push eax", "0x1002eba5"], ["0x1002ec86", "fstp dword ptr [ebp - 0x1c]", "0x1002eba6"], ["0x1002ec89", "call dword ptr [ebx + 0x68]", "0x1002eba9"]]}, {"orig": [["0x1002ec8c", "mov edx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1002ebac", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1002ec8f", "mov ecx, dword ptr [edx + 0x54]", "0x1002ebaf"], ["0x1002ec92", "mov eax, dword ptr [ecx]", "0x1002ebb2"], ["0x1002ec94", "call dword ptr [eax + 0x10]", "0x1002ebb4"], ["0x1002ec97", "mov ecx, dword ptr [eax + 0x14]", "0x1002ebb7"], ["0x1002ec9a", "mov dl, byte ptr [ebp - 0xd]", "0x1002ebba"], ["0x1002ec9d", "push 0xc", "0x1002ebbd"], ["0x1002ec9f", "mov dword ptr [ebp - 0x30], ecx", "0x1002ebbf"], ["0x1002eca2", "xor edi, edi", "0x1002ebc2"], ["0x1002eca4", "mov byte ptr [ebp - 0x28], dl", "0x1002ebc4"], ["0x1002eca7", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002ebc7"], ["0x1002ecac", "add esp, 4", "0x1002ebcc"], ["0x1002ecaf", "mov dword ptr [eax], eax", "0x1002ebcf"]]}, {"orig": [["0x1002ecb1", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1002ebd1", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1002ecb4", "mov dword ptr [eax + 4], eax", "0x1002ebd4"], ["0x1002ecb7", "mov dword ptr [ebp - 0x24], eax", "0x1002ebd7"], ["0x1002ecba", "mov dword ptr [ebp - 0x20], edi", "0x1002ebda"], ["0x1002ecbd", "mov dword ptr [ebp - 4], 1", "0x1002ebdd"], ["0x1002ecc4", "mov eax, dword ptr [ebp - 0x1c]", "0x1002ebe4"], ["0x1002ecc7", "mov edx, dword ptr [ecx + 0x88]", "0x1002ebe7"], ["0x1002eccd", "mov ecx, dword ptr [ebp - 0x30]", "0x1002ebed"], ["0x1002ecd0", "mov dword ptr [ebp - 0x2c], eax", "0x1002ebf0"]]}, {"orig": [], "recomp": [["0x1002ebf3", "mov eax, dword ptr [ebp + 0x10]"]]}, {"both": [["0x1002ecd3", "mov dword ptr [ebp - 0x10], edx", "0x1002ebf6"]]}, {"orig": [], "recomp": [["0x1002ebf9", "push eax"]]}, {"both": [["0x1002ecd6", "mov edx, dword ptr [ebp - 0x2c]", "0x1002ebfa"]]}, {"orig": [["0x1002ecd9", "mov eax, dword ptr [ebp + 0x10]"]], "recomp": [["0x1002ebfd", "push ecx"], ["0x1002ebfe", "lea eax, [ebp - 0x44]"], ["0x1002ec01", "push edx"], ["0x1002ec02", "mov ecx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1002ecdc", "push eax", "0x1002ec05"]]}, {"orig": [["0x1002ecdd", "push ecx"], ["0x1002ecde", "push edx"], ["0x1002ecdf", "lea eax, [ebp - 0x48]"], ["0x1002ece2", "push eax"], ["0x1002ece3", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1002ec06", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1002ece6", "push esi", "0x1002ec09"]]}, {"orig": [["0x1002ece7", "mov edx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x1002ecea", "push ecx", "0x1002ec0a"], ["0x1002eceb", "mov eax, dword ptr [edx]", "0x1002ec0b"], ["0x1002eced", "mov ecx, edx", "0x1002ec0d"], ["0x1002ecef", "call dword ptr [eax + 0x6c]", "0x1002ec0f"], ["0x1002ecf2", "test eax, eax", "0x1002ec12"]]}, {"orig": [["0x1002ecf4", "jne 0x9a"]], "recomp": [["0x1002ec14", "jne 0x86"]]}, {"both": [["0x1002ecfa", "mov eax, dword ptr [ebp - 0x24]", "0x1002ec1a"], ["0x1002ecfd", "lea ecx, [ebp - 0x10]", "0x1002ec1d"], ["0x1002ed00", "push ecx", "0x1002ec20"]]}, {"orig": [["0x1002ed01", "lea edx, [ebp - 0x14]"]], "recomp": [["0x1002ec21", "lea edx, [ebp - 0x18]"]]}, {"both": [["0x1002ed04", "push eax", "0x1002ec24"], ["0x1002ed05", "lea ecx, [ebp - 0x28]", "0x1002ec25"], ["0x1002ed08", "push edx", "0x1002ec28"]]}, {"orig": [["0x1002ed09", "xor edi, edi"]], "recomp": []}, {"both": [["0x1002ed0b", "xor ebx, ebx", "0x1002ec29"], ["0x1002ed0d", "call list<LegoPathBoundary *,allocator<LegoPathBoundary *> >::insert (FUNCTION)", "0x1002ec2b"], ["0x1002ed12", "mov edx, dword ptr [ebp - 0x10]", "0x1002ec30"], ["0x1002ed15", "xor ecx, ecx", "0x1002ec33"], ["0x1002ed17", "mov cl, byte ptr [edx + 4]", "0x1002ec35"]]}, {"orig": [["0x1002ed1a", "mov dword ptr [ebp - 0x50], ecx"], ["0x1002ed1d", "cmp edi, dword ptr [ebp - 0x50]"], ["0x1002ed20", "jge 0x69"]], "recomp": [["0x1002ec38", "mov dword ptr [ebp - 0x4c], ecx"], ["0x1002ec3b", "cmp ebx, dword ptr [ebp - 0x4c]"], ["0x1002ec3e", "jge 0x5e"]]}, {"both": [["0x1002ed22", "mov eax, dword ptr [ebp - 0x10]", "0x1002ec40"]]}, {"orig": [["0x1002ed25", "mov edx, dword ptr [eax + 8]"], ["0x1002ed28", "mov ecx, dword ptr [edx + ebx]"], ["0x1002ed2b", "mov eax, dword ptr [ecx + 4]"], ["0x1002ed2e", "cmp dword ptr [ebp - 0x10], eax"]], "recomp": [["0x1002ec43", "mov ecx, dword ptr [eax + 8]"], ["0x1002ec46", "mov eax, dword ptr [ecx + edi]"], ["0x1002ec49", "mov ecx, dword ptr [eax + 4]"], ["0x1002ec4c", "cmp dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x1002ed31", "jne 0x3", "0x1002ec4f"]]}, {"orig": [["0x1002ed33", "mov eax, dword ptr [ecx + 8]"], ["0x1002ed36", "mov dword ptr [ebp - 0x14], eax"], ["0x1002ed39", "cmp dword ptr [ebp - 0x14], 0"], ["0x1002ed3d", "je 0x46"]], "recomp": [["0x1002ec51", "mov ecx, dword ptr [eax + 8]"], ["0x1002ec54", "test ecx, ecx"], ["0x1002ec56", "je 0x40"]]}, {"both": [["0x1002ed3f", "mov eax, dword ptr [ebp - 0x24]", "0x1002ec58"]]}, {"orig": [["0x1002ed42", "mov ecx, dword ptr [eax]"], ["0x1002ed44", "cmp eax, ecx"], ["0x1002ed46", "mov eax, ecx"], ["0x1002ed48", "je 0xf"], ["0x1002ed4a", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1002ec5b", "mov edx, dword ptr [eax]"], ["0x1002ec5d", "cmp eax, edx"], ["0x1002ec5f", "mov eax, edx"], ["0x1002ec61", "je 0xc"]]}, {"both": [["0x1002ed4d", "cmp dword ptr [eax + 8], ecx", "0x1002ec63"], ["0x1002ed50", "je 0x7", "0x1002ec66"], ["0x1002ed52", "mov eax, dword ptr [eax]", "0x1002ec68"], ["0x1002ed54", "cmp dword ptr [ebp - 0x24], eax", "0x1002ec6a"]]}, {"orig": [["0x1002ed57", "jne -0xf"]], "recomp": [["0x1002ec6d", "jne -0xc"]]}, {"both": [["0x1002ed59", "cmp dword ptr [ebp - 0x24], eax", "0x1002ec6f"]]}, {"orig": [["0x1002ed5c", "jne 0x27"]], "recomp": [["0x1002ec72", "jne 0x24"]]}, {"both": [["0x1002ed5e", "push 1", "0x1002ec74"], ["0x1002ed60", "mov eax, dword ptr [ebp + 0x10]", "0x1002ec76"], ["0x1002ed63", "push eax", "0x1002ec79"]]}, {"orig": [["0x1002ed64", "mov ecx, dword ptr [ebp - 0x30]"]], "recomp": [["0x1002ec7a", "mov edx, dword ptr [ebp - 0x30]"], ["0x1002ec7d", "push edx"], ["0x1002ec7e", "mov eax, dword ptr [ebp - 0x2c]"], ["0x1002ec81", "push eax"], ["0x1002ec82", "lea edx, [ebp - 0x44]"], ["0x1002ec85", "push edx"], ["0x1002ec86", "push esi"]]}, {"both": [["0x1002ed67", "push ecx", "0x1002ec87"]]}, {"orig": [["0x1002ed68", "mov edx, dword ptr [ebp - 0x2c]"], ["0x1002ed6b", "push edx"], ["0x1002ed6c", "lea eax, [ebp - 0x48]"], ["0x1002ed6f", "push eax"]], "recomp": [["0x1002ec88", "lea ecx, [ebp - 0x28]"], ["0x1002ec8b", "push ecx"]]}, {"both": [["0x1002ed70", "mov ecx, dword ptr [ebp - 0x14]", "0x1002ec8c"]]}, {"orig": [["0x1002ed73", "push esi"], ["0x1002ed74", "lea edx, [ebp - 0x28]"], ["0x1002ed77", "push ecx"], ["0x1002ed78", "push edx"], ["0x1002ed79", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x1002ed7c", "call LegoPathActor::FUN_1002edd0 (FUNCTION)", "0x1002ec8f"], ["0x1002ed81", "test eax, eax", "0x1002ec94"]]}, {"orig": [["0x1002ed83", "jne 0xf"], ["0x1002ed85", "add ebx, 4"], ["0x1002ed88", "inc edi"], ["0x1002ed89", "jmp -0x6e"], ["0x1002ed8b", "mov dword ptr [ebp - 0x10], 0"], ["0x1002ed92", "jmp 0x3"]], "recomp": [["0x1002ec96", "jne 0x8"], ["0x1002ec98", "add edi, 4"], ["0x1002ec9b", "inc ebx"], ["0x1002ec9c", "jmp -0x63"], ["0x1002ec9e", "xor eax, eax"], ["0x1002eca0", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x1002ed94", "mov dword ptr [ebp - 0x10], eax", "0x1002eca7"]]}, {"orig": [["0x1002ed97", "mov dword ptr [ebp - 4], 0xffffffff"]], "recomp": []}, {"both": [["0x1002ed9e", "call <OFFSET7>", "0x1002ecaa"], ["0x1002eda3", "mov eax, dword ptr [ebp - 0x10]", "0x1002ecaf"]]}, {"orig": [["0x1002eda6", "jmp -0x147"]], "recomp": [["0x1002ecb2", "jmp -0x133"]]}, {"both": [["0x1002edab", "lea ecx, [ebp - 0x28]", "0x1002ecb7"]]}, {"orig": [], "recomp": [["0x1002ecba", "jmp list<LegoPathBoundary *,allocator<LegoPathBoundary *> >::~list<LegoPathBoundary *,allocator<LegoPathBoundary *> > (FUNCTION)"], ["0x1002ecbf", "mov eax, <OFFSET8>"], ["0x1002ecc4", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x1002ecc9", "lea ecx, [ebp - 0x28]"], ["0x1002eccc", "jmp List<LegoPathBoundary *>::~List<LegoPathBoundary *> (FUNCTION)"]]}]]]}, {"address": "0x1002edd0", "recomp": "0x1002edf0", "name": "LegoPathActor::FUN_1002edd0", "matching": 0.5253456221198156, "diff": [["@@ -0x1002edd0,103 +0x1002edf0,114 @@", [{"both": [["0x1002edd0", "mov eax, dword ptr [esp + 0x1c]", "0x1002edf0"]]}, {"orig": [["0x1002edd4", "sub esp, 0x18"], ["0x1002edd7", "mov dword ptr [esp + 8], ecx"]], "recomp": [["0x1002edf4", "sub esp, 0x10"], ["0x1002edf7", "mov dword ptr [esp + 4], ecx"]]}, {"both": [["0x1002eddb", "push ebx", "0x1002edfb"]]}, {"orig": [["0x1002eddc", "mov ecx, dword ptr [esp + 0x34]"]], "recomp": [["0x1002edfc", "mov ecx, dword ptr [esp + 0x2c]"]]}, {"both": [["0x1002ede0", "push esi", "0x1002ee00"]]}, {"orig": [["0x1002ede1", "mov edx, dword ptr [esp + 0x34]"]], "recomp": [["0x1002ee01", "mov edx, dword ptr [esp + 0x2c]"]]}, {"both": [["0x1002ede5", "push edi", "0x1002ee05"], ["0x1002ede6", "push ebp", "0x1002ee06"], ["0x1002ede7", "push eax", "0x1002ee07"]]}, {"orig": [["0x1002ede8", "mov eax, dword ptr [esp + 0x3c]"]], "recomp": [["0x1002ee08", "mov eax, dword ptr [esp + 0x34]"]]}, {"both": [["0x1002edec", "push ecx", "0x1002ee0c"]]}, {"orig": [["0x1002eded", "mov ecx, dword ptr [esp + 0x3c]"]], "recomp": [["0x1002ee0d", "mov ecx, dword ptr [esp + 0x34]"]]}, {"both": [["0x1002edf1", "push edx", "0x1002ee11"]]}, {"orig": [["0x1002edf2", "mov edx, dword ptr [esp + 0x3c]"]], "recomp": [["0x1002ee12", "mov edx, dword ptr [esp + 0x34]"]]}, {"both": [["0x1002edf6", "push eax", "0x1002ee16"]]}, {"orig": [["0x1002edf7", "mov eax, dword ptr [esp + 0x28]"]], "recomp": [["0x1002ee17", "mov eax, dword ptr [esp + 0x24]"]]}, {"both": [["0x1002edfb", "push ecx", "0x1002ee1b"], ["0x1002edfc", "mov ebx, dword ptr [eax]", "0x1002ee1c"], ["0x1002edfe", "push edx", "0x1002ee1e"], ["0x1002edff", "mov ecx, eax", "0x1002ee1f"], ["0x1002ee01", "call dword ptr [ebx + 0x6c]", "0x1002ee21"], ["0x1002ee04", "test eax, eax", "0x1002ee24"]]}, {"orig": [["0x1002ee06", "jne 0xf7"], ["0x1002ee0c", "mov esi, dword ptr [esp + 0x2c]"]], "recomp": [["0x1002ee26", "jne 0xd5"], ["0x1002ee2c", "mov esi, dword ptr [esp + 0x24]"]]}, {"both": [["0x1002ee10", "push 0xc", "0x1002ee30"], ["0x1002ee12", "mov eax, dword ptr [esi + 4]", "0x1002ee32"], ["0x1002ee15", "mov dword ptr [esp + 0x14], eax", "0x1002ee35"], ["0x1002ee19", "lea ebx, [eax + 4]", "0x1002ee39"], ["0x1002ee1c", "mov edi, dword ptr [ebx]", "0x1002ee3c"], ["0x1002ee1e", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002ee3e"], ["0x1002ee23", "add esp, 4", "0x1002ee43"], ["0x1002ee26", "test edi, edi", "0x1002ee46"], ["0x1002ee28", "je 0xb", "0x1002ee48"], ["0x1002ee2a", "mov ecx, dword ptr [esp + 0x10]", "0x1002ee4a"], ["0x1002ee2e", "mov dword ptr [eax], ecx", "0x1002ee4e"], ["0x1002ee30", "mov dword ptr [eax + 4], edi", "0x1002ee50"], ["0x1002ee33", "jmp 0x5", "0x1002ee53"], ["0x1002ee35", "mov dword ptr [eax], eax", "0x1002ee55"], ["0x1002ee37", "mov dword ptr [eax + 4], eax", "0x1002ee57"], ["0x1002ee3a", "mov dword ptr [ebx], eax", "0x1002ee5a"], ["0x1002ee3c", "mov ecx, dword ptr [eax + 4]", "0x1002ee5c"], ["0x1002ee3f", "mov dword ptr [ecx], eax", "0x1002ee5f"], ["0x1002ee41", "add eax, 8", "0x1002ee61"], ["0x1002ee44", "je 0x6", "0x1002ee64"]]}, {"orig": [["0x1002ee46", "mov ecx, dword ptr [esp + 0x30]"]], "recomp": [["0x1002ee66", "mov ecx, dword ptr [esp + 0x28]"]]}, {"both": [["0x1002ee4a", "mov dword ptr [eax], ecx", "0x1002ee6a"]]}, {"orig": [["0x1002ee4c", "mov ebx, dword ptr [esp + 0x48]"]], "recomp": [["0x1002ee6c", "mov ebx, dword ptr [esp + 0x40]"]]}, {"both": [["0x1002ee50", "inc dword ptr [esi + 8]", "0x1002ee70"], ["0x1002ee53", "cmp ebx, 2", "0x1002ee73"], ["0x1002ee56", "jl 0xc", "0x1002ee76"], ["0x1002ee58", "xor eax, eax", "0x1002ee78"], ["0x1002ee5a", "pop ebp", "0x1002ee7a"], ["0x1002ee5b", "pop edi", "0x1002ee7b"], ["0x1002ee5c", "pop esi", "0x1002ee7c"], ["0x1002ee5d", "pop ebx", "0x1002ee7d"]]}, {"orig": [["0x1002ee5e", "add esp, 0x18"]], "recomp": [["0x1002ee7e", "add esp, 0x10"]]}, {"both": [["0x1002ee61", "ret 0x20", "0x1002ee81"]]}, {"orig": [["0x1002ee64", "mov eax, dword ptr [esp + 0x30]"]], "recomp": [["0x1002ee84", "mov eax, dword ptr [esp + 0x28]"]]}, {"both": [["0x1002ee68", "xor ecx, ecx", "0x1002ee88"], ["0x1002ee6a", "xor ebp, ebp", "0x1002ee8a"], ["0x1002ee6c", "xor edi, edi", "0x1002ee8c"], ["0x1002ee6e", "mov cl, byte ptr [eax + 4]", "0x1002ee8e"], ["0x1002ee71", "mov dword ptr [esp + 0x10], ecx", "0x1002ee91"]]}, {"orig": [["0x1002ee75", "cmp ebp, dword ptr [esp + 0x10]"], ["0x1002ee79", "jge 0x82"], ["0x1002ee7f", "mov eax, dword ptr [esp + 0x30]"]], "recomp": [["0x1002ee95", "cmp edi, dword ptr [esp + 0x10]"], ["0x1002ee99", "jge 0x64"], ["0x1002ee9b", "mov eax, dword ptr [esp + 0x28]"]]}, {"both": [["0x1002ee83", "mov ecx, dword ptr [eax + 8]", "0x1002ee9f"]]}, {"orig": [["0x1002ee86", "mov eax, dword ptr [ecx + edi]"]], "recomp": [["0x1002eea2", "mov eax, dword ptr [ecx + ebp]"]]}, {"both": [["0x1002ee89", "mov ecx, dword ptr [eax + 4]", "0x1002eea5"]]}, {"orig": [["0x1002ee8c", "cmp dword ptr [esp + 0x30], ecx"], ["0x1002ee90", "jne 0x9"], ["0x1002ee92", "mov eax, dword ptr [eax + 8]"], ["0x1002ee95", "mov dword ptr [esp + 0x14], eax"], ["0x1002ee99", "jmp 0x4"], ["0x1002ee9b", "mov dword ptr [esp + 0x14], ecx"], ["0x1002ee9f", "cmp dword ptr [esp + 0x14], 0"], ["0x1002eea4", "je 0x52"], ["0x1002eea6", "mov ecx, dword ptr [esi + 4]"], ["0x1002eea9", "mov dword ptr [esp + 0x20], ecx"], ["0x1002eead", "mov eax, dword ptr [ecx]"], ["0x1002eeaf", "cmp eax, ecx"], ["0x1002eeb1", "je 0x15"], ["0x1002eeb3", "mov edx, dword ptr [esp + 0x14]"], ["0x1002eeb7", "cmp dword ptr [eax + 8], edx"], ["0x1002eeba", "je 0x8"]], "recomp": [["0x1002eea8", "cmp dword ptr [esp + 0x28], ecx"], ["0x1002eeac", "jne 0x3"], ["0x1002eeae", "mov ecx, dword ptr [eax + 8]"], ["0x1002eeb1", "test ecx, ecx"], ["0x1002eeb3", "je 0x44"], ["0x1002eeb5", "mov edx, dword ptr [esi + 4]"], ["0x1002eeb8", "mov eax, dword ptr [edx]"], ["0x1002eeba", "cmp eax, edx"], ["0x1002eebc", "je 0xf"], ["0x1002eebe", "cmp dword ptr [eax + 8], ecx"], ["0x1002eec1", "je 0x6"]]}, {"both": [["0x1002eebc", "mov eax, dword ptr [eax]", "0x1002eec3"]]}, {"orig": [["0x1002eebe", "cmp eax, dword ptr [esp + 0x20]"], ["0x1002eec2", "jne -0x11"], ["0x1002eec4", "cmp eax, ecx"], ["0x1002eec6", "jne 0x30"]], "recomp": [["0x1002eec5", "cmp eax, edx"], ["0x1002eec7", "jne -0xb"], ["0x1002eec9", "cmp eax, edx"], ["0x1002eecb", "jne 0x2c"]]}, {"both": [["0x1002eec8", "lea eax, [ebx + 1]", "0x1002eecd"]]}, {"orig": [["0x1002eecb", "mov ecx, dword ptr [esp + 0x44]"], ["0x1002eecf", "mov edx, dword ptr [esp + 0x40]"]], "recomp": [["0x1002eed0", "mov edx, dword ptr [esp + 0x3c]"]]}, {"both": [["0x1002eed3", "push eax", "0x1002eed4"]]}, {"orig": [], "recomp": [["0x1002eed5", "push edx"]]}, {"both": [["0x1002eed4", "mov eax, dword ptr [esp + 0x40]", "0x1002eed6"]]}, {"orig": [], "recomp": [["0x1002eeda", "mov edx, dword ptr [esp + 0x3c]"], ["0x1002eede", "push eax"], ["0x1002eedf", "push edx"], ["0x1002eee0", "mov eax, dword ptr [esp + 0x40]"], ["0x1002eee4", "mov edx, dword ptr [esp + 0x3c]"], ["0x1002eee8", "push eax"], ["0x1002eee9", "push edx"]]}, {"both": [["0x1002eed8", "push ecx", "0x1002eeea"]]}, {"orig": [["0x1002eed9", "mov ecx, dword ptr [esp + 0x40]"], ["0x1002eedd", "push edx"], ["0x1002eede", "mov edx, dword ptr [esp + 0x40]"], ["0x1002eee2", "push eax"], ["0x1002eee3", "mov eax, dword ptr [esp + 0x24]"], ["0x1002eee7", "push ecx"]], "recomp": [["0x1002eeeb", "push esi"], ["0x1002eeec", "mov ecx, dword ptr [esp + 0x34]"], ["0x1002eef0", "call LegoPathActor::FUN_1002edd0 (FUNCTION)"], ["0x1002eef5", "test eax, eax"], ["0x1002eef7", "jne 0x8"], ["0x1002eef9", "add ebp, 4"], ["0x1002eefc", "inc edi"], ["0x1002eefd", "jmp -0x6a"], ["0x1002eeff", "xor eax, eax"], ["0x1002ef01", "pop ebp"], ["0x1002ef02", "pop edi"], ["0x1002ef03", "pop esi"], ["0x1002ef04", "pop ebx"], ["0x1002ef05", "add esp, 0x10"], ["0x1002ef08", "ret 0x20"]]}]]]}, {"address": "0x1002ef10", "recomp": "0x1002ece0", "name": "list<LegoPathBoundary *,allocator<LegoPathBoundary *> >::~list<LegoPathBoundary *,allocator<LegoPathBoundary *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002ef33,21 +0x1002ed03,21 @@", [{"both": [["0x1002ef33", "mov eax, dword ptr [eax]", "0x1002ed03"], ["0x1002ef35", "mov dword ptr [ecx], eax", "0x1002ed05"], ["0x1002ef37", "mov ecx, dword ptr [edx]", "0x1002ed07"], ["0x1002ef39", "mov eax, dword ptr [esp + 8]", "0x1002ed09"], ["0x1002ef3d", "push eax", "0x1002ed0d"], ["0x1002ef3e", "mov edx, dword ptr [eax]", "0x1002ed0e"], ["0x1002ef40", "mov dword ptr [edx + 4], ecx", "0x1002ed10"], ["0x1002ef43", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002ed13"], ["0x1002ef48", "add esp, 4", "0x1002ed18"], ["0x1002ef4b", "dec dword ptr [esi + 8]", "0x1002ed1b"]]}, {"orig": [["0x1002ef4e", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x1002ed1e", "cmp edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x1002ef52", "jne -0x2e", "0x1002ed22"], ["0x1002ef54", "mov eax, dword ptr [esi + 4]", "0x1002ed24"], ["0x1002ef57", "push eax", "0x1002ed27"], ["0x1002ef58", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002ed28"], ["0x1002ef5d", "mov dword ptr [esi + 4], 0", "0x1002ed2d"], ["0x1002ef64", "add esp, 4", "0x1002ed34"], ["0x1002ef67", "mov dword ptr [esi + 8], 0", "0x1002ed37"], ["0x1002ef6e", "pop edi", "0x1002ed3e"], ["0x1002ef6f", "pop esi", "0x1002ed3f"], ["0x1002ef70", "add esp, 0xc", "0x1002ed40"]]}]]]}, {"address": "0x1002ef80", "recomp": "0x1002ed50", "name": "list<LegoPathBoundary *,allocator<LegoPathBoundary *> >::insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002ef80,28 +0x1002ed50,28 @@", [{"both": [["0x1002ef80", "push ebx", "0x1002ed50"], ["0x1002ef81", "push esi", "0x1002ed51"], ["0x1002ef82", "push edi", "0x1002ed52"], ["0x1002ef83", "mov esi, ecx", "0x1002ed53"]]}, {"orig": [["0x1002ef85", "mov edi, dword ptr [esp + 0x14]"]], "recomp": [["0x1002ed55", "mov ebx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1002ef89", "push 0xc", "0x1002ed59"]]}, {"orig": [["0x1002ef8b", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x1002ed5b", "mov edi, dword ptr [ebx + 4]"]]}, {"both": [["0x1002ef8e", "call ??2@YAPAXI@Z (FUNCTION)", "0x1002ed5e"], ["0x1002ef93", "add esp, 4", "0x1002ed63"]]}, {"orig": [["0x1002ef96", "test ebx, ebx"]], "recomp": [["0x1002ed66", "test edi, edi"]]}, {"both": [["0x1002ef98", "je 0x7", "0x1002ed68"]]}, {"orig": [["0x1002ef9a", "mov dword ptr [eax], edi"], ["0x1002ef9c", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x1002ed6a", "mov dword ptr [eax], ebx"], ["0x1002ed6c", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x1002ef9f", "jmp 0x5", "0x1002ed6f"], ["0x1002efa1", "mov dword ptr [eax], eax", "0x1002ed71"], ["0x1002efa3", "mov dword ptr [eax + 4], eax", "0x1002ed73"], ["0x1002efa6", "lea edx, [eax + 8]", "0x1002ed76"]]}, {"orig": [["0x1002efa9", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1002ed79", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x1002efac", "mov ecx, dword ptr [eax + 4]", "0x1002ed7c"], ["0x1002efaf", "test edx, edx", "0x1002ed7f"], ["0x1002efb1", "mov dword ptr [ecx], eax", "0x1002ed81"], ["0x1002efb3", "je 0x8", "0x1002ed83"], ["0x1002efb5", "mov ecx, dword ptr [esp + 0x18]", "0x1002ed85"], ["0x1002efb9", "mov ebx, dword ptr [ecx]", "0x1002ed89"], ["0x1002efbb", "mov dword ptr [edx], ebx", "0x1002ed8b"], ["0x1002efbd", "mov ecx, dword ptr [esp + 0x10]", "0x1002ed8d"], ["0x1002efc1", "inc dword ptr [esi + 8]", "0x1002ed91"], ["0x1002efc4", "pop edi", "0x1002ed94"]]}]]]}, {"address": "0x1002efd0", "recomp": "0x1002eda0", "name": "List<LegoPathBoundary *>::~List<LegoPathBoundary *>", "matching": 1.0, "diff": []}, {"address": "0x1002f020", "recomp": "0x1002ef10", "name": "LegoPathActor::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x1002f1b0", "recomp": "0x1002f0a0", "name": "LegoPathActor::VTable0x9c", "matching": 0.9506346967559943, "diff": [["@@ -0x1002f1e3,23 +0x1002f0d3,23 @@", [{"both": [["0x1002f1e3", "mov esi, Mx3DPointFloat::`vftable' (VTABLE)", "0x1002f0d3"], ["0x1002f1e8", "mov edx, dword ptr [ebp - 0x10]", "0x1002f0d8"], ["0x1002f1eb", "mov dword ptr [ebp - 0x94], esi", "0x1002f0db"], ["0x1002f1f1", "xor edi, edi", "0x1002f0e1"], ["0x1002f1f3", "mov dword ptr [ebp - 0x4c], ecx", "0x1002f0e3"], ["0x1002f1f6", "mov eax, dword ptr [edx + 0x134]", "0x1002f0e6"], ["0x1002f1fc", "mov dword ptr [ebp - 0x50], esi", "0x1002f0ec"], ["0x1002f1ff", "mov dword ptr [ebp - 0x3c], 1", "0x1002f0ef"], ["0x1002f206", "mov dword ptr [ebp - 0x98], 1", "0x1002f0f6"], ["0x1002f210", "test eax, eax", "0x1002f100"]]}, {"orig": [["0x1002f212", "je 0x9a"]], "recomp": [["0x1002f102", "je 0x9b"]]}, {"both": [["0x1002f218", "test byte ptr [eax + 0x38], 1", "0x1002f108"]]}, {"orig": [["0x1002f21c", "je 0x68"]], "recomp": [["0x1002f10c", "je 0x69"]]}, {"both": [["0x1002f21e", "lea eax, [ebp - 0x30]", "0x1002f10e"], ["0x1002f221", "lea ecx, [ebp - 0x38]", "0x1002f111"], ["0x1002f224", "push eax", "0x1002f114"], ["0x1002f225", "mov dword ptr [ebp - 0x3c], edi", "0x1002f115"], ["0x1002f228", "mov dword ptr [ebp - 0x98], edi", "0x1002f118"], ["0x1002f22e", "call Vector2::Vector2 (FUNCTION)", "0x1002f11e"], ["0x1002f233", "mov edx, dword ptr [ebp - 0x10]", "0x1002f123"], ["0x1002f236", "mov ecx, dword ptr [ebp - 0x10]", "0x1002f126"], ["0x1002f239", "add edx, 0x88", "0x1002f129"], ["0x1002f23f", "add ecx, 0xe0", "0x1002f12f"]]}]], ["@@ -0x1002f253,24 +0x1002f143,25 @@", [{"both": [["0x1002f253", "mov eax, dword ptr [edx + 0xe4]", "0x1002f143"], ["0x1002f259", "lea edx, [ebp - 0x94]", "0x1002f149"], ["0x1002f25f", "push eax", "0x1002f14f"], ["0x1002f260", "push ecx", "0x1002f150"], ["0x1002f261", "push edx", "0x1002f151"], ["0x1002f262", "mov eax, dword ptr [ebx + 0x134]", "0x1002f152"], ["0x1002f268", "push eax", "0x1002f158"], ["0x1002f269", "mov ecx, dword ptr [ebx + 0x138]", "0x1002f159"], ["0x1002f26f", "call LegoPathController::FUN_1004a240 (FUNCTION)", "0x1002f15f"], ["0x1002f274", "test eax, eax", "0x1002f164"]]}, {"orig": [["0x1002f276", "jl 0x3b7"]], "recomp": [["0x1002f166", "jl 0x5"]]}, {"both": [["0x1002f27c", "cmp eax, 1", "0x1002f168"]]}, {"orig": [["0x1002f27f", "jle 0x31"], ["0x1002f281", "jmp 0x3ad"]], "recomp": [["0x1002f16b", "jle 0x36"], ["0x1002f16d", "mov eax, 0xffffffff"], ["0x1002f172", "jmp 0x3b2"]]}, {"both": [["0x1002f286", "mov dword ptr [ebp - 0x28], eax", "0x1002f177"], ["0x1002f289", "test eax, eax", "0x1002f17a"], ["0x1002f28b", "je 0x18", "0x1002f17c"], ["0x1002f28d", "mov dword ptr [ebp - 4], 0xffffffff", "0x1002f17e"], ["0x1002f294", "call <OFFSET5>", "0x1002f185"], ["0x1002f299", "mov eax, dword ptr [ebp - 0x28]", "0x1002f18a"], ["0x1002f29c", "push eax", "0x1002f18d"], ["0x1002f29d", "call ??3@YAXPAX@Z (FUNCTION)", "0x1002f18e"], ["0x1002f2a2", "add esp, 4", "0x1002f193"], ["0x1002f2a5", "mov ecx, dword ptr [ebp - 0x10]", "0x1002f196"]]}]], ["@@ -0x1002f55f,32 +0x1002f450,32 @@", [{"both": [["0x1002f55f", "mov dword ptr [edx], eax", "0x1002f450"], ["0x1002f561", "lea eax, [ebp - 0xbc]", "0x1002f452"], ["0x1002f567", "mov ebx, dword ptr [ecx + 4]", "0x1002f458"], ["0x1002f56a", "push eax", "0x1002f45b"], ["0x1002f56b", "mov dword ptr [edx + 4], ebx", "0x1002f45c"], ["0x1002f56e", "mov ecx, dword ptr [ecx + 8]", "0x1002f45f"], ["0x1002f571", "mov dword ptr [edx + 8], ecx", "0x1002f462"], ["0x1002f574", "lea ecx, [ebp - 0x6c]", "0x1002f465"], ["0x1002f577", "mov esi, dword ptr [ebp - 0x6c]", "0x1002f468"], ["0x1002f57a", "call dword ptr [esi + 0x54]", "0x1002f46b"]]}, {"orig": [], "recomp": [["0x1002f46e", "mov ecx, dword ptr [ebp - 0x68]"]]}, {"both": [["0x1002f57d", "mov edx, dword ptr [ebp - 0x68]", "0x1002f471"]]}, {"orig": [["0x1002f580", "mov ecx, dword ptr [ebp - 0x68]"], ["0x1002f583", "add edx, 4"], ["0x1002f586", "add ecx, 8"]], "recomp": [["0x1002f474", "add ecx, 4"], ["0x1002f477", "add edx, 8"]]}, {"both": [["0x1002f589", "mov eax, dword ptr [ebp - 0x68]", "0x1002f47a"], ["0x1002f58c", "fld dword ptr [eax]", "0x1002f47d"], ["0x1002f58e", "fmul dword ptr [eax]", "0x1002f47f"]]}, {"orig": [], "recomp": [["0x1002f481", "fld dword ptr [ecx]"], ["0x1002f483", "fmul dword ptr [ecx]"], ["0x1002f485", "faddp st(1)"]]}, {"both": [["0x1002f590", "fld dword ptr [edx]", "0x1002f487"], ["0x1002f592", "fmul dword ptr [edx]", "0x1002f489"]]}, {"orig": [["0x1002f594", "faddp st(1)"], ["0x1002f596", "fld dword ptr [ecx]"], ["0x1002f598", "fmul dword ptr [ecx]"]], "recomp": []}, {"both": [["0x1002f59a", "faddp st(1)", "0x1002f48b"], ["0x1002f59c", "fcom dword ptr [0.0 (FLOAT)]", "0x1002f48d"], ["0x1002f5a2", "fstp dword ptr [ebp - 0x14]", "0x1002f493"], ["0x1002f5a5", "fnstsw ax", "0x1002f496"], ["0x1002f5a7", "test ah, 1", "0x1002f498"], ["0x1002f5aa", "jne 0x22", "0x1002f49b"], ["0x1002f5ac", "fld dword ptr [ebp - 0x14]", "0x1002f49d"], ["0x1002f5af", "fsqrt ", "0x1002f4a0"], ["0x1002f5b1", "mov ebx, dword ptr [ebp - 0x80]", "0x1002f4a2"], ["0x1002f5b4", "lea eax, [ebp - 0x14]", "0x1002f4a5"]]}]], ["@@ -0x1002f5f7,28 +0x1002f4e8,28 @@", [{"both": [["0x1002f5f7", "push eax", "0x1002f4e8"], ["0x1002f5f8", "lea edx, [ebp - 0x80]", "0x1002f4e9"], ["0x1002f5fb", "push ecx", "0x1002f4ec"], ["0x1002f5fc", "lea eax, [ebp - 0xbc]", "0x1002f4ed"], ["0x1002f602", "push edx", "0x1002f4f3"], ["0x1002f603", "mov ecx, dword ptr [ebp - 0x10]", "0x1002f4f4"], ["0x1002f606", "push eax", "0x1002f4f7"], ["0x1002f607", "mov ebx, dword ptr [ecx]", "0x1002f4f8"], ["0x1002f609", "call dword ptr [ebx + 0x80]", "0x1002f4fa"], ["0x1002f60f", "test eax, eax", "0x1002f500"]]}, {"orig": [["0x1002f611", "jne 0x20"], ["0x1002f613", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1002f616", "xor eax, eax"], ["0x1002f618", "mov dword ptr [ecx + 0x7c], 0"], ["0x1002f61f", "jmp 0x17"]], "recomp": [["0x1002f502", "je 0x19"], ["0x1002f504", "mov eax, 0xffffffff"], ["0x1002f509", "jmp 0x1e"]]}, {"both": [["0x1002f621", "mov eax, <OFFSET13>", "0x1002f50b"], ["0x1002f626", "jmp ___CxxFrameHandler (FUNCTION)", "0x1002f510"], ["0x1002f62b", "mov ecx, dword ptr [ebp - 0x28]", "0x1002f515"], ["0x1002f62e", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x1002f518"]]}, {"orig": [["0x1002f633", "mov eax, 0xffffffff"]], "recomp": [["0x1002f51d", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1002f520", "xor eax, eax"], ["0x1002f522", "mov dword ptr [ecx + 0x7c], 0"]]}, {"both": [["0x1002f638", "mov ecx, dword ptr [ebp - 0xc]", "0x1002f529"], ["0x1002f63b", "pop edi", "0x1002f52c"], ["0x1002f63c", "mov dword ptr fs:[0], ecx", "0x1002f52d"], ["0x1002f643", "pop esi", "0x1002f534"], ["0x1002f644", "pop ebx", "0x1002f535"], ["0x1002f645", "mov esp, ebp", "0x1002f536"], ["0x1002f647", "pop ebp", "0x1002f538"], ["0x1002f648", "ret ", "0x1002f539"]]}]]]}, {"address": "0x1002f650", "recomp": "0x1002f540", "name": "LegoPathActor::VTable0xa4", "matching": 1.0, "diff": []}, {"address": "0x1002f700", "recomp": "0x1002f5f0", "name": "LegoPathActor::VTable0xa8", "matching": 1.0, "diff": []}, {"address": "0x1002f770", "recomp": "0x1002f660", "name": "LegoPathActor::UpdatePlane", "matching": 1.0, "effective": true, "diff": [["@@ -0x1002f791,27 +0x1002f681,27 @@", [{"both": [["0x1002f791", "push ecx", "0x1002f681"], ["0x1002f792", "mov ecx, esi", "0x1002f682"], ["0x1002f794", "call LegoEntity::GetWorldPosition (FUNCTION)", "0x1002f684"], ["0x1002f799", "mov ebx, eax", "0x1002f689"], ["0x1002f79b", "lea ecx, [edi + 0x10]", "0x1002f68b"], ["0x1002f79e", "mov eax, dword ptr [ebx + 4]", "0x1002f68e"], ["0x1002f7a1", "add ebx, 8", "0x1002f691"], ["0x1002f7a4", "push eax", "0x1002f694"], ["0x1002f7a5", "mov eax, dword ptr [ecx]", "0x1002f695"], ["0x1002f7a7", "call dword ptr [eax + 0x20]", "0x1002f697"]]}, {"orig": [["0x1002f7aa", "lea ecx, [edi + 0x18]"], ["0x1002f7ad", "mov eax, 3"]], "recomp": [["0x1002f69a", "lea eax, [edi + 0x18]"], ["0x1002f69d", "mov ecx, 3"]]}, {"both": [["0x1002f7b2", "mov edx, dword ptr [ebx]", "0x1002f6a2"], ["0x1002f7b4", "add ebx, 4", "0x1002f6a4"]]}, {"orig": [["0x1002f7b7", "mov dword ptr [ecx], edx"], ["0x1002f7b9", "add ecx, 4"], ["0x1002f7bc", "dec eax"]], "recomp": [["0x1002f6a7", "mov dword ptr [eax], edx"], ["0x1002f6a9", "add eax, 4"], ["0x1002f6ac", "dec ecx"]]}, {"both": [["0x1002f7bd", "jne -0xd", "0x1002f6ad"], ["0x1002f7bf", "lea eax, [esp + 0xc]", "0x1002f6af"], ["0x1002f7c3", "mov ecx, esi", "0x1002f6b3"], ["0x1002f7c5", "push eax", "0x1002f6b5"], ["0x1002f7c6", "call LegoEntity::GetWorldDirection (FUNCTION)", "0x1002f6b6"], ["0x1002f7cb", "mov ebx, eax", "0x1002f6bb"], ["0x1002f7cd", "lea ecx, [edi + 0x24]", "0x1002f6bd"], ["0x1002f7d0", "mov eax, dword ptr [ebx + 4]", "0x1002f6c0"], ["0x1002f7d3", "add ebx, 8", "0x1002f6c3"], ["0x1002f7d6", "push eax", "0x1002f6c6"]]}]]]}, {"address": "0x1002f830", "recomp": "0x1002f720", "name": "LegoPathActor::PlaceActor", "matching": 1.0, "diff": []}, {"address": "0x1002f8b0", "recomp": "0x1002f7a0", "name": "LegoBuildingManager::configureLegoBuildingManager", "matching": 1.0, "diff": []}, {"address": "0x1002f8c0", "recomp": "0x1002f7b0", "name": "LegoBuildingManager::LegoBuildingManager", "matching": 1.0, "diff": []}, {"address": "0x1002f930", "recomp": "0x1002f820", "name": "LegoBuildingManager::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1002f940", "recomp": "0x1002f830", "name": "LegoBuildingManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1002f960", "recomp": "0x1002f850", "name": "LegoBuildingManager::~LegoBuildingManager", "matching": 1.0, "diff": []}, {"address": "0x1002f9d0", "recomp": "0x1002f8c0", "name": "LegoBuildingManager::Init", "matching": 1.0, "diff": []}, {"address": "0x1002fa00", "recomp": "0x1002f8f0", "name": "LegoBuildingManager::LoadWorldInfo", "matching": 1.0, "diff": []}, {"address": "0x1002fa90", "recomp": "0x1002f980", "name": "LegoBuildingManager::CreateBuilding", "matching": 0.8823529411764706, "diff": [["@@ -0x1002fa90,33 +0x1002f980,33 @@", [{"both": [["0x1002fa90", "sub esp, 0x48", "0x1002f980"], ["0x1002fa93", "push ebx", "0x1002f983"], ["0x1002fa94", "push esi", "0x1002f984"]]}, {"orig": [["0x1002fa95", "mov esi, dword ptr [esp + 0x54]"]], "recomp": []}, {"both": [["0x1002fa99", "push edi", "0x1002f985"]]}, {"orig": [], "recomp": [["0x1002f986", "mov esi, ecx"], ["0x1002f988", "mov edi, dword ptr [esp + 0x58]"]]}, {"both": [["0x1002fa9a", "push ebp", "0x1002f98c"]]}, {"orig": [["0x1002fa9b", "mov edi, ecx"], ["0x1002fa9d", "lea ebp, [esi + esi*4]"]], "recomp": []}, {"both": [["0x1002faa0", "mov ecx, dword ptr [esp + 0x60]", "0x1002f98d"]]}, {"orig": [], "recomp": [["0x1002f991", "lea ebp, [edi + edi*4]"]]}, {"both": [["0x1002faa4", "lea ebp, [ebp + ebp*8]", "0x1002f994"]]}, {"orig": [["0x1002faa8", "sub ebp, esi"]], "recomp": [["0x1002f998", "sub ebp, edi"]]}, {"both": [["0x1002faaa", "mov eax, dword ptr [ebp + g_buildingInfo[0].m_variant (UNK)]", "0x1002f99a"], ["0x1002fab0", "push eax", "0x1002f9a0"], ["0x1002fab1", "push 'MxEntity' (STRING)", "0x1002f9a1"], ["0x1002fab6", "call LegoWorld::Find (FUNCTION)", "0x1002f9a6"], ["0x1002fabb", "mov ebx, eax", "0x1002f9ab"], ["0x1002fabd", "test ebx, ebx", "0x1002f9ad"], ["0x1002fabf", "je 0x60", "0x1002f9af"], ["0x1002fac1", "push 3", "0x1002f9b1"], ["0x1002fac3", "mov ecx, ebx", "0x1002f9b3"], ["0x1002fac5", "call LegoEntity::SetType (FUNCTION)", "0x1002f9b5"]]}, {"orig": [["0x1002faca", "push esi"], ["0x1002facb", "mov ecx, edi"]], "recomp": [["0x1002f9ba", "push edi"], ["0x1002f9bb", "mov ecx, esi"]]}, {"both": [["0x1002facd", "mov dword ptr [ebp + g_buildingInfo[0].m_entity (DATA)], ebx", "0x1002f9bd"], ["0x1002fad3", "mov ebx, dword ptr [ebx + 0x54]", "0x1002f9c3"], ["0x1002fad6", "call LegoBuildingManager::AdjustHeight (FUNCTION)", "0x1002f9c6"], ["0x1002fadb", "lea eax, [esp + 0x18]", "0x1002f9cb"], ["0x1002fadf", "mov ecx, 0x10", "0x1002f9cf"], ["0x1002fae4", "mov edi, eax", "0x1002f9d4"], ["0x1002fae6", "mov dword ptr [esp + 0x14], eax", "0x1002f9d6"], ["0x1002faea", "mov dword ptr [esp + 0x10], MxMatrix::`vftable' (VTABLE)", "0x1002f9da"], ["0x1002faf2", "mov esi, dword ptr [ebx + 0x14]", "0x1002f9e2"], ["0x1002faf5", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1002f9e5"]]}]]]}, {"address": "0x1002fb30", "recomp": "0x1002fa20", "name": "LegoBuildingManager::Reset", "matching": 0.9655172413793104, "diff": [["@@ -0x1002fb30,18 +0x1002fa20,18 @@", [{"both": [["0x1002fb30", "push ebx", "0x1002fa20"], ["0x1002fb31", "mov eax, g_buildingInfo[0].m_entity (DATA)", "0x1002fa21"], ["0x1002fb36", "push esi", "0x1002fa26"], ["0x1002fb37", "push edi", "0x1002fa27"], ["0x1002fb38", "mov esi, ecx", "0x1002fa28"], ["0x1002fb3a", "mov dword ptr [eax], 0", "0x1002fa2a"], ["0x1002fb40", "add eax, 0x2c", "0x1002fa30"]]}, {"orig": [["0x1002fb43", "cmp eax, Act3Actor::g_unk0x10104ef0 (DATA)"]], "recomp": [["0x1002fa33", "cmp eax, Act3Ammo::g_unk0x10104f08 (DATA)"]]}, {"both": [["0x1002fb48", "jb -0x10", "0x1002fa38"], ["0x1002fb4a", "movsx eax, byte ptr [esi + 0x20]", "0x1002fa3a"], ["0x1002fb4e", "xor ebx, ebx", "0x1002fa3e"], ["0x1002fb50", "test eax, eax", "0x1002fa40"], ["0x1002fb52", "mov byte ptr [esi + 9], bl", "0x1002fa42"], ["0x1002fb55", "je 0x1a", "0x1002fa45"], ["0x1002fb57", "lea edi, [esi + 0xc]", "0x1002fa47"], ["0x1002fb5a", "mov eax, dword ptr [edi]", "0x1002fa4a"], ["0x1002fb5c", "add edi, 4", "0x1002fa4c"], ["0x1002fb5f", "push eax", "0x1002fa4f"]]}]]]}, {"address": "0x1002fb80", "recomp": "0x1002fa70", "name": "LegoBuildingManager::Write", "matching": 0.7017543859649122, "diff": [["@@ -0x1002fb80,56 +0x1002fa70,56 @@", [{"both": [["0x1002fb80", "sub esp, 4", "0x1002fa70"], ["0x1002fb83", "mov dword ptr [esp], 0xffffffff", "0x1002fa73"], ["0x1002fb8b", "push ebx", "0x1002fa7b"], ["0x1002fb8c", "push esi", "0x1002fa7c"], ["0x1002fb8d", "push edi", "0x1002fa7d"]]}, {"orig": [["0x1002fb8e", "mov ebx, g_buildingInfo[0].m_entity (DATA)"]], "recomp": [["0x1002fa7e", "mov ebx, ecx"]]}, {"both": [["0x1002fb93", "push ebp", "0x1002fa80"]]}, {"orig": [["0x1002fb94", "mov edi, ecx"], ["0x1002fb96", "mov esi, dword ptr [esp + 0x18]"], ["0x1002fb9a", "mov eax, dword ptr [esi]"]], "recomp": [["0x1002fa81", "mov esi, g_buildingInfo[0].m_entity (DATA)"], ["0x1002fa86", "mov edi, dword ptr [esp + 0x18]"], ["0x1002fa8a", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1002fb9c", "mov ebp, dword ptr [eax + 8]", "0x1002fa8c"], ["0x1002fb9f", "push 4", "0x1002fa8f"]]}, {"orig": [["0x1002fba1", "lea eax, [ebx + 8]"]], "recomp": [["0x1002fa91", "lea eax, [esi + 8]"]]}, {"both": [["0x1002fba4", "push eax", "0x1002fa94"]]}, {"orig": [["0x1002fba5", "mov ecx, esi"]], "recomp": [["0x1002fa95", "mov ecx, edi"]]}, {"both": [["0x1002fba7", "call ebp", "0x1002fa97"], ["0x1002fba9", "test eax, eax", "0x1002fa99"], ["0x1002fbab", "jne 0x4b", "0x1002fa9b"], ["0x1002fbad", "push 4", "0x1002fa9d"]]}, {"orig": [["0x1002fbaf", "lea eax, [ebx + 0xc]"]], "recomp": [["0x1002fa9f", "lea eax, [esi + 0xc]"]]}, {"both": [["0x1002fbb2", "push eax", "0x1002faa2"]]}, {"orig": [["0x1002fbb3", "mov ecx, esi"]], "recomp": [["0x1002faa3", "mov ecx, edi"]]}, {"both": [["0x1002fbb5", "call ebp", "0x1002faa5"], ["0x1002fbb7", "test eax, eax", "0x1002faa7"], ["0x1002fbb9", "jne 0x3d", "0x1002faa9"], ["0x1002fbbb", "push 1", "0x1002faab"]]}, {"orig": [["0x1002fbbd", "lea eax, [ebx + 0x10]"]], "recomp": [["0x1002faad", "lea eax, [esi + 0x10]"]]}, {"both": [["0x1002fbc0", "push eax", "0x1002fab0"]]}, {"orig": [["0x1002fbc1", "mov ecx, esi"]], "recomp": [["0x1002fab1", "mov ecx, edi"]]}, {"both": [["0x1002fbc3", "call ebp", "0x1002fab3"], ["0x1002fbc5", "test eax, eax", "0x1002fab5"], ["0x1002fbc7", "jne 0x2f", "0x1002fab7"], ["0x1002fbc9", "push 1", "0x1002fab9"]]}, {"orig": [["0x1002fbcb", "lea eax, [ebx + 0x12]"]], "recomp": [["0x1002fabb", "lea eax, [esi + 0x12]"]]}, {"both": [["0x1002fbce", "push eax", "0x1002fabe"]]}, {"orig": [["0x1002fbcf", "mov ecx, esi"]], "recomp": [["0x1002fabf", "mov ecx, edi"]]}, {"both": [["0x1002fbd1", "call ebp", "0x1002fac1"], ["0x1002fbd3", "test eax, eax", "0x1002fac3"], ["0x1002fbd5", "jne 0x21", "0x1002fac5"]]}, {"orig": [["0x1002fbd7", "add ebx, 0x2c"], ["0x1002fbda", "cmp ebx, Act3Actor::g_unk0x10104ef0 (DATA)"]], "recomp": [["0x1002fac7", "add esi, 0x2c"], ["0x1002faca", "cmp esi, Act3Ammo::g_unk0x10104f08 (DATA)"]]}, {"both": [["0x1002fbe0", "jb -0x43", "0x1002fad0"], ["0x1002fbe2", "push 1", "0x1002fad2"]]}, {"orig": [["0x1002fbe4", "add edi, 8"], ["0x1002fbe7", "push edi"], ["0x1002fbe8", "mov ecx, esi"]], "recomp": [["0x1002fad4", "add ebx, 8"], ["0x1002fad7", "push ebx"], ["0x1002fad8", "mov ecx, edi"]]}, {"both": [["0x1002fbea", "call ebp", "0x1002fada"], ["0x1002fbec", "test eax, eax", "0x1002fadc"], ["0x1002fbee", "jne 0x8", "0x1002fade"], ["0x1002fbf0", "mov dword ptr [esp + 0x10], 0", "0x1002fae0"], ["0x1002fbf8", "mov eax, dword ptr [esp + 0x10]", "0x1002fae8"], ["0x1002fbfc", "pop ebp", "0x1002faec"], ["0x1002fbfd", "pop edi", "0x1002faed"], ["0x1002fbfe", "pop esi", "0x1002faee"], ["0x1002fbff", "pop ebx", "0x1002faef"], ["0x1002fc00", "add esp, 4", "0x1002faf0"]]}]]]}, {"address": "0x1002fc10", "recomp": "0x1002fb00", "name": "LegoBuildingManager::Read", "matching": 0.8235294117647058, "diff": [["@@ -0x1002fc10,58 +0x1002fb00,58 @@", [{"both": [["0x1002fc10", "sub esp, 8", "0x1002fb00"], ["0x1002fc13", "mov dword ptr [esp], ecx", "0x1002fb03"], ["0x1002fc17", "push ebx", "0x1002fb07"], ["0x1002fc18", "push esi", "0x1002fb08"]]}, {"orig": [["0x1002fc19", "xor ebx, ebx"]], "recomp": [["0x1002fb09", "mov ebx, g_buildingInfo[0].m_entity (DATA)"]]}, {"both": [["0x1002fc1b", "mov dword ptr [esp + 0xc], 0xffffffff", "0x1002fb0e"], ["0x1002fc23", "push edi", "0x1002fb16"], ["0x1002fc24", "push ebp", "0x1002fb17"]]}, {"orig": [["0x1002fc25", "mov edi, g_buildingInfo[0].m_entity (DATA)"]], "recomp": [["0x1002fb18", "xor edi, edi"]]}, {"both": [["0x1002fc2a", "mov ebp, dword ptr [esp + 0x1c]", "0x1002fb1a"], ["0x1002fc2e", "mov eax, dword ptr [ebp]", "0x1002fb1e"], ["0x1002fc31", "mov esi, dword ptr [eax + 4]", "0x1002fb21"], ["0x1002fc34", "push 4", "0x1002fb24"]]}, {"orig": [["0x1002fc36", "lea eax, [edi + 8]"]], "recomp": [["0x1002fb26", "lea eax, [ebx + 8]"]]}, {"both": [["0x1002fc39", "push eax", "0x1002fb29"], ["0x1002fc3a", "mov ecx, ebp", "0x1002fb2a"], ["0x1002fc3c", "call esi", "0x1002fb2c"], ["0x1002fc3e", "test eax, eax", "0x1002fb2e"], ["0x1002fc40", "jne 0x6c", "0x1002fb30"], ["0x1002fc42", "push 4", "0x1002fb32"]]}, {"orig": [["0x1002fc44", "lea eax, [edi + 0xc]"]], "recomp": [["0x1002fb34", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x1002fc47", "push eax", "0x1002fb37"], ["0x1002fc48", "mov ecx, ebp", "0x1002fb38"], ["0x1002fc4a", "call esi", "0x1002fb3a"], ["0x1002fc4c", "test eax, eax", "0x1002fb3c"], ["0x1002fc4e", "jne 0x5e", "0x1002fb3e"], ["0x1002fc50", "push 1", "0x1002fb40"]]}, {"orig": [["0x1002fc52", "lea eax, [edi + 0x10]"]], "recomp": [["0x1002fb42", "lea eax, [ebx + 0x10]"]]}, {"both": [["0x1002fc55", "push eax", "0x1002fb45"], ["0x1002fc56", "mov ecx, ebp", "0x1002fb46"], ["0x1002fc58", "call esi", "0x1002fb48"], ["0x1002fc5a", "test eax, eax", "0x1002fb4a"], ["0x1002fc5c", "jne 0x50", "0x1002fb4c"], ["0x1002fc5e", "push 1", "0x1002fb4e"]]}, {"orig": [["0x1002fc60", "lea eax, [edi + 0x11]"]], "recomp": [["0x1002fb50", "lea eax, [ebx + 0x11]"]]}, {"both": [["0x1002fc63", "push eax", "0x1002fb53"], ["0x1002fc64", "mov ecx, ebp", "0x1002fb54"], ["0x1002fc66", "call esi", "0x1002fb56"], ["0x1002fc68", "test eax, eax", "0x1002fb58"], ["0x1002fc6a", "jne 0x42", "0x1002fb5a"]]}, {"orig": [["0x1002fc6c", "mov al, byte ptr [edi + 0x11]"], ["0x1002fc6f", "push ebx"], ["0x1002fc70", "mov byte ptr [edi + 0x12], al"]], "recomp": [["0x1002fb5c", "mov al, byte ptr [ebx + 0x11]"], ["0x1002fb5f", "push edi"], ["0x1002fb60", "mov byte ptr [ebx + 0x12], al"]]}, {"both": [["0x1002fc73", "mov ecx, dword ptr [esp + 0x14]", "0x1002fb63"]]}, {"orig": [["0x1002fc77", "add edi, 0x2c"]], "recomp": [["0x1002fb67", "add ebx, 0x2c"]]}, {"both": [["0x1002fc7a", "call LegoBuildingManager::AdjustHeight (FUNCTION)", "0x1002fb6a"]]}, {"orig": [["0x1002fc7f", "inc ebx"], ["0x1002fc80", "cmp edi, Act3Actor::g_unk0x10104ef0 (DATA)"]], "recomp": [["0x1002fb6f", "inc edi"], ["0x1002fb70", "cmp ebx, Act3Ammo::g_unk0x10104f08 (DATA)"]]}, {"both": [["0x1002fc86", "jb -0x54", "0x1002fb76"], ["0x1002fc88", "mov edi, dword ptr [esp + 0x10]", "0x1002fb78"], ["0x1002fc8c", "push 1", "0x1002fb7c"], ["0x1002fc8e", "add edi, 8", "0x1002fb7e"], ["0x1002fc91", "mov ecx, ebp", "0x1002fb81"], ["0x1002fc93", "push edi", "0x1002fb83"], ["0x1002fc94", "call esi", "0x1002fb84"], ["0x1002fc96", "test eax, eax", "0x1002fb86"], ["0x1002fc98", "jne 0x14", "0x1002fb88"], ["0x1002fc9a", "cmp dword ptr [g_buildingManagerConfig (DATA)], 1", "0x1002fb8a"]]}]]]}, {"address": "0x1002fcc0", "recomp": "0x1002fbb0", "name": "LegoBuildingManager::AdjustHeight", "matching": 1.0, "diff": []}, {"address": "0x1002fd70", "recomp": "0x1002fc60", "name": "LegoBuildingManager::GetInfo", "matching": 0.6111111111111112, "diff": [["@@ -0x1002fd70,18 +0x1002fc60,18 @@", [{"both": [["0x1002fd70", "xor edx, edx", "0x1002fc60"]]}, {"orig": [["0x1002fd72", "mov eax, g_buildingInfo[0].m_entity (DATA)"], ["0x1002fd77", "mov ecx, dword ptr [esp + 4]"], ["0x1002fd7b", "cmp dword ptr [eax], ecx"], ["0x1002fd7d", "je 0xb"], ["0x1002fd7f", "add eax, 0x2c"]], "recomp": [["0x1002fc62", "mov ecx, g_buildingInfo[0].m_entity (DATA)"], ["0x1002fc67", "mov eax, dword ptr [esp + 4]"], ["0x1002fc6b", "cmp dword ptr [ecx], eax"], ["0x1002fc6d", "je 0xc"], ["0x1002fc6f", "add ecx, 0x2c"]]}, {"both": [["0x1002fd82", "inc edx", "0x1002fc72"]]}, {"orig": [["0x1002fd83", "cmp eax, Act3Actor::g_unk0x10104ef0 (DATA)"], ["0x1002fd88", "jb -0xf"]], "recomp": [["0x1002fc73", "cmp ecx, Act3Ammo::g_unk0x10104f08 (DATA)"], ["0x1002fc79", "jb -0x10"]]}, {"both": [["0x1002fd8a", "cmp edx, 0x10", "0x1002fc7b"], ["0x1002fd8d", "jae 0x10", "0x1002fc7e"], ["0x1002fd8f", "lea eax, [edx + edx*4]", "0x1002fc80"], ["0x1002fd92", "lea eax, [eax + eax*8]", "0x1002fc83"], ["0x1002fd95", "sub eax, edx", "0x1002fc86"], ["0x1002fd97", "add eax, g_buildingInfo[0].m_entity (DATA)", "0x1002fc88"], ["0x1002fd9c", "ret 4", "0x1002fc8d"], ["0x1002fd9f", "xor eax, eax", "0x1002fc90"], ["0x1002fda1", "ret 4", "0x1002fc92"]]}]]]}, {"address": "0x1002fdb0", "recomp": "0x1002fca0", "name": "LegoBuildingManager::SwitchVariant", "matching": 1.0, "diff": []}, {"address": "0x1002fe40", "recomp": "0x1002fd30", "name": "LegoBuildingManager::SwitchSound", "matching": 1.0, "diff": []}, {"address": "0x1002fe80", "recomp": "0x1002fd70", "name": "LegoBuildingManager::SwitchMove", "matching": 1.0, "diff": []}, {"address": "0x1002fed0", "recomp": "0x1002fdc0", "name": "LegoBuildingManager::SwitchMood", "matching": 1.0, "diff": []}, {"address": "0x1002ff00", "recomp": "0x1002fdf0", "name": "LegoBuildingManager::GetAnimationId", "matching": 1.0, "diff": []}, {"address": "0x1002ff40", "recomp": "0x1002fe30", "name": "LegoBuildingManager::GetSoundId", "matching": 1.0, "diff": []}, {"address": "0x1002ff90", "recomp": "0x1002fe80", "name": "LegoBuildingManager::SetCustomizeAnimFile", "matching": 1.0, "diff": []}, {"address": "0x10030000", "recomp": "0x1002fef0", "name": "LegoBuildingManager::FUN_10030000", "matching": 1.0, "diff": []}, {"address": "0x10030030", "recomp": "0x1002ff20", "name": "LegoBuildingManager::FUN_10030030", "matching": 1.0, "diff": []}, {"address": "0x10030110", "recomp": "0x10030000", "name": "LegoBuildingManager::FUN_10030110", "matching": 0.4878048780487805, "diff": [["@@ -0x10030110,20 +0x10030000,21 @@", [{"both": [["0x10030110", "push esi", "0x10030000"]]}, {"orig": [["0x10030111", "xor edx, edx"]], "recomp": [["0x10030001", "xor eax, eax"]]}, {"both": [["0x10030113", "push edi", "0x10030003"], ["0x10030114", "xor esi, esi", "0x10030004"]]}, {"orig": [["0x10030116", "mov eax, dword ptr [esp + 0xc]"], ["0x1003011a", "lea edi, [esi + g_buildingInfo[0].m_entity (DATA)]"], ["0x10030120", "cmp edi, eax"], ["0x10030122", "je 0x13"], ["0x10030124", "add esi, 0x2c"], ["0x10030127", "inc edx"], ["0x10030128", "cmp esi, 0x2c0"], ["0x1003012e", "jl -0x16"]], "recomp": [["0x10030006", "mov edx, dword ptr [esp + 0xc]"], ["0x1003000a", "lea edi, [eax + g_buildingInfo[0].m_entity (DATA)]"], ["0x10030010", "cmp edi, edx"], ["0x10030012", "je 0x12"], ["0x10030014", "add eax, 0x2c"], ["0x10030017", "inc esi"], ["0x10030018", "cmp eax, 0x2c0"], ["0x1003001d", "jl -0x15"]]}, {"both": [["0x10030130", "xor al, al", "0x1003001f"], ["0x10030132", "pop edi", "0x10030021"], ["0x10030133", "pop esi", "0x10030022"], ["0x10030134", "ret 4", "0x10030023"]]}, {"orig": [["0x10030137", "push edx"]], "recomp": [["0x10030026", "push esi"]]}, {"both": [["0x10030138", "call LegoBuildingManager::FUN_10030030 (FUNCTION)", "0x10030027"], ["0x1003013d", "pop edi", "0x1003002c"], ["0x1003013e", "pop esi", "0x1003002d"]]}, {"orig": [], "recomp": [["0x1003002e", "ret 4"]]}]]]}, {"address": "0x10030150", "recomp": "0x10030040", "name": "LegoBuildingManager::ScheduleAnimation", "matching": 0.8951048951048951, "diff": [["@@ -0x100301b7,30 +0x100300a7,33 @@", [{"both": [["0x100301b7", "mov ebp, dword ptr [esp + 0x14]", "0x100300a7"], ["0x100301bb", "movsx eax, cl", "0x100300ab"], ["0x100301be", "inc cl", "0x100300ae"], ["0x100301c0", "mov edi, dword ptr [esi + eax*4 + 0xc]", "0x100300b0"], ["0x100301c4", "mov byte ptr [esi + 0x20], cl", "0x100300b4"], ["0x100301c7", "mov dword ptr [edi], ebp", "0x100300b7"], ["0x100301c9", "mov eax, dword ptr [ebp + 0x54]", "0x100300b9"], ["0x100301cc", "mov dword ptr [edi + 4], eax", "0x100300bc"], ["0x100301cf", "call Timer (FUNCTION)", "0x100300bf"], ["0x100301d4", "cmp byte ptr [eax + 0xc], 0", "0x100300c4"]]}, {"orig": [["0x100301d8", "je 0x8"], ["0x100301da", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"], ["0x100301e0", "jmp 0x9"], ["0x100301e2", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"]], "recomp": [["0x100300c8", "je 0x13"], ["0x100300ca", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"], ["0x100300cf", "add eax, dword ptr [esp + 0x18]"], ["0x100300d3", "add eax, 0x3e8"], ["0x100300d8", "mov dword ptr [edi + 8], eax"], ["0x100300db", "jmp 0x16"], ["0x100300dd", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x100301e8", "sub ecx, dword ptr [eax + 8]", "0x100300e1"]]}, {"orig": [["0x100301eb", "add ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x100300e4", "add ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"]]}, {"both": [["0x100301ef", "add ecx, 0x3e8", "0x100300ea"]]}, {"orig": [["0x100301f5", "cmp bl, 1"]], "recomp": []}, {"both": [["0x100301f8", "mov dword ptr [edi + 8], ecx", "0x100300f0"], ["0x100301fb", "mov eax, dword ptr [edi + 4]", "0x100300f3"]]}, {"orig": [], "recomp": [["0x100300f6", "cmp bl, 1"]]}, {"both": [["0x100301fe", "push -2", "0x100300f9"], ["0x10030200", "push ebp", "0x100300fb"], ["0x10030201", "mov ecx, dword ptr [eax + 0x14]", "0x100300fc"], ["0x10030204", "sbb al, al", "0x100300ff"], ["0x10030206", "mov edx, dword ptr [ecx + 0x34]", "0x10030101"], ["0x10030209", "mov ecx, esi", "0x10030104"], ["0x1003020b", "mov dword ptr [edi + 0xc], edx", "0x10030106"], ["0x1003020e", "neg al", "0x10030109"], ["0x10030210", "mov byte ptr [edi + 0x10], al", "0x1003010b"], ["0x10030213", "call LegoBuildingManager::FUN_100307b0 (FUNCTION)", "0x1003010e"]]}]]]}, {"address": "0x10030220", "recomp": "0x10030120", "name": "LegoBuildingManager::Tickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x100304ed,41 +0x100303ed,41 @@", [{"both": [["0x100304ed", "mov byte ptr [eax + 0x11], 0", "0x100303ed"], ["0x100304f1", "mov eax, dword ptr [ebp + 4]", "0x100303f1"], ["0x100304f4", "mov byte ptr [eax + 0xc], 0", "0x100303f4"], ["0x100304f8", "push ebp", "0x100303f8"], ["0x100304f9", "call ??3@YAXPAX@Z (FUNCTION)", "0x100303f9"], ["0x100304fe", "add esp, 4", "0x100303fe"], ["0x10030501", "mov al, byte ptr [ebx + 0x20]", "0x10030401"], ["0x10030504", "dec al", "0x10030404"], ["0x10030506", "mov byte ptr [ebx + 0x20], al", "0x10030406"], ["0x10030509", "movsx eax, al", "0x10030409"]]}, {"orig": [["0x1003050c", "cmp eax, dword ptr [esp + 0x10]"]], "recomp": [["0x1003040c", "cmp dword ptr [esp + 0x10], eax"]]}, {"both": [["0x10030510", "je 0x1a", "0x10030410"], ["0x10030512", "mov ecx, dword ptr [ebx + eax*4 + 0xc]", "0x10030412"], ["0x10030516", "dec dword ptr [esp + 0x10]", "0x10030416"], ["0x1003051a", "mov eax, dword ptr [esp + 0x1c]", "0x1003041a"], ["0x1003051e", "mov dword ptr [eax], ecx", "0x1003041e"], ["0x10030520", "movsx edx, byte ptr [ebx + 0x20]", "0x10030420"], ["0x10030524", "mov dword ptr [ebx + edx*4 + 0xc], 0", "0x10030424"], ["0x1003052c", "movsx eax, byte ptr [ebx + 0x20]", "0x1003042c"], ["0x10030530", "inc dword ptr [esp + 0x10]", "0x10030430"], ["0x10030534", "cmp eax, dword ptr [esp + 0x10]", "0x10030434"], ["0x10030538", "jg -0x2d6", "0x10030438"], ["0x1003053e", "jmp 0x41", "0x1003043e"], ["0x10030540", "push ebp", "0x10030440"], ["0x10030541", "call ??3@YAXPAX@Z (FUNCTION)", "0x10030441"], ["0x10030546", "add esp, 4", "0x10030446"], ["0x10030549", "mov al, byte ptr [ebx + 0x20]", "0x10030449"], ["0x1003054c", "dec al", "0x1003044c"], ["0x1003054e", "mov byte ptr [ebx + 0x20], al", "0x1003044e"], ["0x10030551", "movsx eax, al", "0x10030451"]]}, {"orig": [["0x10030554", "cmp eax, dword ptr [esp + 0x10]"]], "recomp": [["0x10030454", "cmp dword ptr [esp + 0x10], eax"]]}, {"both": [["0x10030558", "je 0x27", "0x10030458"], ["0x1003055a", "mov ecx, dword ptr [ebx + eax*4 + 0xc]", "0x1003045a"], ["0x1003055e", "mov eax, dword ptr [esp + 0x10]", "0x1003045e"], ["0x10030562", "mov dword ptr [ebx + eax*4 + 0xc], ecx", "0x10030462"], ["0x10030566", "movsx edx, byte ptr [ebx + 0x20]", "0x10030466"], ["0x1003056a", "mov dword ptr [ebx + edx*4 + 0xc], 0", "0x1003046a"], ["0x10030572", "jmp 0xd", "0x10030472"], ["0x10030574", "call TickleManager (FUNCTION)", "0x10030474"], ["0x10030579", "mov ecx, eax", "0x10030479"], ["0x1003057b", "push ebx", "0x1003047b"]]}]]]}, {"address": "0x10030590", "recomp": "0x10030490", "name": "LegoBuildingManager::FUN_10030590", "matching": 0.9787234042553191, "diff": [["@@ -0x100305f1,18 +0x100304f1,18 @@", [{"both": [["0x100305f1", "push eax", "0x100304f1"], ["0x100305f2", "mov ecx, ebp", "0x100304f2"], ["0x100305f4", "call OrientableROI::UpdateTransformationRelativeToParent (FUNCTION)", "0x100304f4"], ["0x100305f9", "call VideoManager (FUNCTION)", "0x100304f9"], ["0x100305fe", "push ebp", "0x100304fe"], ["0x100305ff", "mov edx, dword ptr [eax + 0x68]", "0x100304ff"], ["0x10030602", "mov ecx, dword ptr [edx + 8]", "0x10030502"], ["0x10030605", "call Lego3DView::Moved (FUNCTION)", "0x10030505"], ["0x1003060a", "add ebx, 0x2c", "0x1003050a"], ["0x1003060d", "inc dword ptr [esp + 0x10]", "0x1003050d"]]}, {"orig": [["0x10030611", "cmp ebx, Act3Actor::g_unk0x10104ef0 (DATA)"]], "recomp": [["0x10030511", "cmp ebx, Act3Ammo::g_unk0x10104f08 (DATA)"]]}, {"both": [["0x10030617", "jb -0x71", "0x10030517"], ["0x10030619", "pop ebp", "0x10030519"], ["0x1003061a", "pop edi", "0x1003051a"], ["0x1003061b", "pop esi", "0x1003051b"], ["0x1003061c", "pop ebx", "0x1003051c"], ["0x1003061d", "add esp, 0x50", "0x1003051d"], ["0x10030620", "ret ", "0x10030520"]]}]]]}, {"address": "0x10030630", "recomp": "0x10030530", "name": "LegoBuildingManager::FUN_10030630", "matching": 0.9914529914529915, "diff": [["@@ -0x10030758,21 +0x10030658,21 @@", [{"both": [["0x10030758", "fld dword ptr [eax + 8]", "0x10030658"], ["0x1003075b", "fmul dword ptr [ecx + 8]", "0x1003065b"], ["0x1003075e", "fld dword ptr [eax]", "0x1003065e"], ["0x10030760", "fmul dword ptr [ecx]", "0x10030660"], ["0x10030762", "faddp st(1)", "0x10030662"], ["0x10030764", "fadd dword ptr [ecx + 0xc]", "0x10030664"], ["0x10030767", "fdiv dword ptr [ecx + 4]", "0x10030667"], ["0x1003076a", "fchs ", "0x1003066a"], ["0x1003076c", "fstp dword ptr [esi - 8]", "0x1003066c"], ["0x1003076f", "add esi, 0x2c", "0x1003066f"]]}, {"orig": [["0x10030772", "cmp esi, Act3Ammo::g_unk0x10104f08+16 (OFFSET)"]], "recomp": [["0x10030672", "cmp esi, Act3Actor::g_unk0x10104ef0+16 (OFFSET)"]]}, {"both": [["0x10030778", "jb -0x124", "0x10030678"], ["0x1003077e", "mov eax, dword ptr [esp + 0x2c]", "0x1003067e"], ["0x10030782", "pop ebp", "0x10030682"], ["0x10030783", "pop edi", "0x10030683"], ["0x10030784", "pop esi", "0x10030684"], ["0x10030785", "mov byte ptr [eax + 9], 1", "0x10030685"], ["0x10030789", "xor eax, eax", "0x10030689"], ["0x1003078b", "pop ebx", "0x1003068b"], ["0x1003078c", "add esp, 0x20", "0x1003068c"], ["0x1003078f", "ret ", "0x1003068f"]]}]]]}, {"address": "0x10030790", "recomp": "0x10030690", "name": "LegoBuildingManager::GetInfoArray", "matching": 1.0, "diff": []}, {"address": "0x100307b0", "recomp": "0x100306b0", "name": "LegoBuildingManager::FUN_100307b0", "matching": 1.0, "diff": []}, {"address": "0x10030800", "recomp": "0x10030700", "name": "LegoBuildingManager::FUN_10030800", "matching": 0.8571428571428571, "diff": [["@@ -0x10030800,7 +0x10030700,7 @@", [{"both": [["0x10030800", "mov eax, g_buildingInfo[0].m_initialUnk0x11 (UNK)", "0x10030700"], ["0x10030805", "mov cl, byte ptr [eax - 1]", "0x10030705"], ["0x10030808", "add eax, 0x2c", "0x10030708"]]}, {"orig": [["0x1003080b", "cmp eax, Act3Actor::g_unk0x10104ef0+18 (OFFSET)"]], "recomp": [["0x1003070b", "cmp eax, Act3Ammo::g_unk0x10104f08+18 (OFFSET)"]]}, {"both": [["0x10030810", "mov byte ptr [eax - 0x2c], cl", "0x10030710"], ["0x10030813", "jb -0x10", "0x10030713"], ["0x10030815", "ret ", "0x10030715"]]}]]]}, {"address": "0x10030820", "recomp": "0x10030720", "name": "Isle::Isle", "matching": 1.0, "diff": []}, {"address": "0x10030900", "recomp": "0x10030920", "name": "Isle::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10030910", "recomp": "0x10030800", "name": "Isle::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10030920", "recomp": "0x10030810", "name": "Isle::IsA", "matching": 1.0, "diff": []}, {"address": "0x10030a30", "recomp": "0x10030940", "name": "Isle::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10030a50", "recomp": "0x10030960", "name": "Isle::~Isle", "matching": 1.0, "diff": []}, {"address": "0x10030b20", "recomp": "0x10030a30", "name": "Isle::Create", "matching": 1.0, "diff": []}, {"address": "0x10030c10", "recomp": "0x10030b20", "name": "Isle::Notify", "matching": 1.0, "diff": []}, {"address": "0x10030d90", "recomp": "0x10030ca0", "name": "Isle::HandleEndAction", "matching": 0.5461847389558233, "diff": [["@@ -,123 +,126 @@", [{"both": [["0x10030d90", "push ebx", "0x10030ca0"], ["0x10030d91", "push esi", "0x10030ca1"]]}, {"orig": [], "recomp": [["0x10030ca2", "mov eax, dword ptr [ecx + 0xf8]"]]}, {"both": [["0x10030d92", "push edi", "0x10030ca8"]]}, {"orig": [["0x10030d93", "mov eax, dword ptr [ecx + 0xf8]"], ["0x10030d99", "mov edi, ecx"]], "recomp": [["0x10030ca9", "mov esi, ecx"]]}, {"both": [["0x10030d9b", "mov eax, dword ptr [eax + 0x18]", "0x10030cab"], ["0x10030d9e", "sub eax, 2", "0x10030cae"], ["0x10030da1", "cmp eax, 8", "0x10030cb1"], ["0x10030da4", "ja 0xf", "0x10030cb4"], ["0x10030da6", "xor ecx, ecx", "0x10030cb6"], ["0x10030da8", "mov cl, byte ptr [eax + <OFFSET1>]", "0x10030cb8"], ["0x10030dae", "jmp dword ptr [ecx*4 + <OFFSET2>]", "0x10030cbe"]]}, {"orig": [["0x10030db5", "lea ecx, [edi + 0x12c]"]], "recomp": [["0x10030cc5", "lea ecx, [esi + 0x12c]"]]}, {"both": [["0x10030dbb", "mov ebx, dword ptr [esp + 0x10]", "0x10030ccb"], ["0x10030dbf", "push ebx", "0x10030ccf"], ["0x10030dc0", "mov eax, dword ptr [ecx]", "0x10030cd0"], ["0x10030dc2", "call dword ptr [eax + 4]", "0x10030cd2"]]}, {"orig": [["0x10030dc5", "mov esi, eax"], ["0x10030dc7", "test esi, esi"], ["0x10030dc9", "jne 0xf7"], ["0x10030dcf", "mov ecx, dword ptr [ebx + 0xc]"]], "recomp": [["0x10030cd5", "mov edi, eax"], ["0x10030cd7", "test edi, edi"], ["0x10030cd9", "jne 0xf2"], ["0x10030cdf", "mov edx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x10030dd2", "mov eax, dword ptr [g_jukeboxScript (DATA)]", "0x10030ce2"]]}, {"orig": [["0x10030dd7", "mov edx, dword ptr [eax]"], ["0x10030dd9", "cmp dword ptr [ecx + 0x20], edx"]], "recomp": [["0x10030ce7", "mov ecx, dword ptr [eax]"], ["0x10030ce9", "cmp dword ptr [edx + 0x20], ecx"]]}, {"both": [["0x10030ddc", "jne 0x2e", "0x10030cec"]]}, {"orig": [["0x10030dde", "mov eax, dword ptr [ecx + 0x1c]"]], "recomp": [["0x10030cee", "mov eax, dword ptr [edx + 0x1c]"]]}, {"both": [["0x10030de1", "cmp eax, 0x37", "0x10030cf1"]]}, {"orig": [["0x10030de4", "jl 0xdc"]], "recomp": [["0x10030cf4", "jb 0xd7"]]}, {"both": [["0x10030dea", "cmp eax, 0x3c", "0x10030cfa"]]}, {"orig": [["0x10030ded", "jg 0xd3"]], "recomp": [["0x10030cfd", "ja 0xce"]]}, {"both": [["0x10030df3", "push eax", "0x10030d03"]]}, {"orig": [["0x10030df4", "mov ecx, dword ptr [edi + 0x10c]"], ["0x10030dfa", "mov esi, 1"]], "recomp": [["0x10030d04", "mov ecx, dword ptr [esi + 0x10c]"], ["0x10030d0a", "mov edi, 1"]]}, {"both": [["0x10030dff", "call JukeBoxEntity::StopAction (FUNCTION)", "0x10030d0f"]]}, {"orig": [["0x10030e04", "mov eax, esi"]], "recomp": [["0x10030d14", "mov eax, edi"]]}, {"both": [["0x10030e06", "pop edi", "0x10030d16"], ["0x10030e07", "pop esi", "0x10030d17"], ["0x10030e08", "pop ebx", "0x10030d18"], ["0x10030e09", "ret 4", "0x10030d19"]]}, {"orig": [["0x10030e0c", "mov eax, dword ptr [edi + 0xf8]"], ["0x10030e12", "add eax, 0x20"], ["0x10030e15", "cmp byte ptr [eax], 0"], ["0x10030e18", "je 0x26"], ["0x10030e1a", "mov ecx, dword ptr [ecx + 0x1c]"], ["0x10030e1d", "cmp ecx, 0x2c5"], ["0x10030e23", "jl 0x9d"], ["0x10030e29", "cmp ecx, 0x2c7"], ["0x10030e2f", "jg 0x91"], ["0x10030e35", "pop edi"], ["0x10030e36", "mov byte ptr [eax], 0"], ["0x10030e39", "mov eax, esi"], ["0x10030e3b", "pop esi"], ["0x10030e3c", "pop ebx"], ["0x10030e3d", "ret 4"], ["0x10030e40", "mov eax, dword ptr [ecx + 0x1c]"], ["0x10030e43", "cmp eax, 0x3a7"], ["0x10030e48", "je 0xe"], ["0x10030e4a", "cmp eax, 0x3b4"], ["0x10030e4f", "jl 0x75"], ["0x10030e51", "cmp eax, 0x3bb"], ["0x10030e56", "jg 0x6e"], ["0x10030e58", "call BackgroundAudioManager (FUNCTION)"], ["0x10030e5d", "mov ecx, eax"], ["0x10030e5f", "call MxBackgroundAudioManager::RaiseVolume (FUNCTION)"], ["0x10030e64", "mov eax, esi"]], "recomp": [["0x10030d1c", "mov ecx, dword ptr [esi + 0xf8]"], ["0x10030d22", "mov eax, dword ptr [edx + 0x1c]"], ["0x10030d25", "add ecx, 0x20"], ["0x10030d28", "cmp byte ptr [ecx], 0"], ["0x10030d2b", "je 0x21"], ["0x10030d2d", "cmp eax, 0x2c5"], ["0x10030d32", "jb 0x99"], ["0x10030d38", "cmp eax, 0x2c7"], ["0x10030d3d", "ja 0x8e"], ["0x10030d43", "mov eax, edi"], ["0x10030d45", "mov byte ptr [ecx], 0"]]}, {"both": [["0x10030e66", "pop edi", "0x10030d48"], ["0x10030e67", "pop esi", "0x10030d49"], ["0x10030e68", "pop ebx", "0x10030d4a"], ["0x10030e69", "ret 4", "0x10030d4b"]]}, {"orig": [["0x10030e6c", "mov ecx, edi"], ["0x10030e6e", "mov esi, 1"], ["0x10030e73", "call Isle::HandleElevatorEndAction (FUNCTION)"], ["0x10030e78", "mov eax, esi"]], "recomp": [["0x10030d4e", "cmp eax, 0x3a7"], ["0x10030d53", "je 0xe"], ["0x10030d55", "cmp eax, 0x3b4"], ["0x10030d5a", "jb 0x75"], ["0x10030d5c", "cmp eax, 0x3bb"], ["0x10030d61", "ja 0x6e"], ["0x10030d63", "call BackgroundAudioManager (FUNCTION)"], ["0x10030d68", "mov ecx, eax"], ["0x10030d6a", "call MxBackgroundAudioManager::RaiseVolume (FUNCTION)"], ["0x10030d6f", "mov eax, edi"]]}, {"both": [["0x10030e7a", "pop edi", "0x10030d71"], ["0x10030e7b", "pop esi", "0x10030d72"], ["0x10030e7c", "pop ebx", "0x10030d73"], ["0x10030e7d", "ret 4", "0x10030d74"]]}, {"orig": [["0x10030e80", "mov ecx, dword ptr [edi + 0xfc]"]], "recomp": [["0x10030d77", "mov ecx, esi"], ["0x10030d79", "mov edi, 1"], ["0x10030d7e", "call Isle::HandleElevatorEndAction (FUNCTION)"], ["0x10030d83", "mov eax, edi"], ["0x10030d85", "pop edi"], ["0x10030d86", "pop esi"], ["0x10030d87", "pop ebx"], ["0x10030d88", "ret 4"], ["0x10030d8b", "mov ecx, dword ptr [esi + 0xfc]"]]}, {"both": [["0x10030e86", "mov ebx, dword ptr [esp + 0x10]", "0x10030d91"], ["0x10030e8a", "push ebx", "0x10030d95"], ["0x10030e8b", "mov eax, dword ptr [ecx]", "0x10030d96"], ["0x10030e8d", "call dword ptr [eax + 4]", "0x10030d98"]]}, {"orig": [["0x10030e90", "mov esi, eax"]], "recomp": [["0x10030d9b", "mov edi, eax"], ["0x10030d9d", "mov eax, edi"]]}, {"both": [["0x10030e92", "pop edi", "0x10030d9f"]]}, {"orig": [["0x10030e93", "mov eax, esi"]], "recomp": []}, {"both": [["0x10030e95", "pop esi", "0x10030da0"], ["0x10030e96", "pop ebx", "0x10030da1"], ["0x10030e97", "ret 4", "0x10030da2"]]}, {"orig": [["0x10030e9a", "mov ecx, dword ptr [edi + 0x104]"]], "recomp": [["0x10030da5", "mov ecx, dword ptr [esi + 0x104]"]]}, {"both": [["0x10030ea0", "mov ebx, dword ptr [esp + 0x10]", "0x10030dab"], ["0x10030ea4", "push ebx", "0x10030daf"], ["0x10030ea5", "mov eax, dword ptr [ecx]", "0x10030db0"], ["0x10030ea7", "call dword ptr [eax + 4]", "0x10030db2"]]}, {"orig": [["0x10030eaa", "mov esi, eax"]], "recomp": [["0x10030db5", "mov edi, eax"], ["0x10030db7", "mov eax, edi"]]}, {"both": [["0x10030eac", "pop edi", "0x10030db9"]]}, {"orig": [["0x10030ead", "mov eax, esi"]], "recomp": []}, {"both": [["0x10030eaf", "pop esi", "0x10030dba"], ["0x10030eb0", "pop ebx", "0x10030dbb"], ["0x10030eb1", "ret 4", "0x10030dbc"]]}, {"orig": [["0x10030eb4", "mov ecx, dword ptr [edi + 0x108]"]], "recomp": [["0x10030dbf", "mov ecx, dword ptr [esi + 0x108]"]]}, {"both": [["0x10030eba", "mov ebx, dword ptr [esp + 0x10]", "0x10030dc5"], ["0x10030ebe", "push ebx", "0x10030dc9"], ["0x10030ebf", "mov eax, dword ptr [ecx]", "0x10030dca"], ["0x10030ec1", "call dword ptr [eax + 4]", "0x10030dcc"]]}, {"orig": [["0x10030ec4", "mov esi, eax"], ["0x10030ec6", "mov eax, esi"]], "recomp": [["0x10030dcf", "mov edi, eax"], ["0x10030dd1", "mov eax, edi"]]}, {"both": [["0x10030ec8", "pop edi", "0x10030dd3"], ["0x10030ec9", "pop esi", "0x10030dd4"], ["0x10030eca", "pop ebx", "0x10030dd5"], ["0x10030ecb", "ret 4", "0x10030dd6"]]}, {"orig": [["0x10030ece", "mov edi, edi"]], "recomp": [["0x10030dd9", "lea ecx, [ecx]"]]}, {"both": [["", "Jump table:", ""], ["0x10030ed0", "Jump_dest_0", "0x10030ddc"], ["0x10030ed4", "Jump_dest_1", "0x10030de0"], ["0x10030ed8", "Jump_dest_2", "0x10030de4"], ["0x10030edc", "Jump_dest_3", "0x10030de8"], ["0x10030ee0", "Jump_dest_4", "0x10030dec"], ["", "Data table:", ""], ["0x10030ee4", "0x0", "0x10030df0"], ["0x10030ee5", "0x1", "0x10030df1"], ["0x10030ee6", "0x4", "0x10030df2"], ["0x10030ee7", "0x4", "0x10030df3"], ["0x10030ee8", "0x4", "0x10030df4"]]}, {"orig": [], "recomp": [["0x10030df5", "0x4"], ["0x10030df6", "0x2"], ["0x10030df7", "0x4"], ["0x10030df8", "0x3"]]}]]]}, {"address": "0x10030ef0", "recomp": "0x10030e00", "name": "Isle::HandleElevatorEndAction", "matching": 1.0, "diff": []}, {"address": "0x10030fc0", "recomp": "0x10030ed0", "name": "Isle::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x10031030", "recomp": "0x10030f40", "name": "Isle::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10031590", "recomp": "0x100314a0", "name": "Isle::UpdateGlobe", "matching": 1.0, "diff": []}, {"address": "0x100315f0", "recomp": "0x10031500", "name": "Isle::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x10031820", "recomp": "0x10031730", "name": "Isle::Enable", "matching": 0.9649211997966446, "diff": [["@@ -0x10031838,55 +0x10031748,56 @@", [{"both": [["0x10031838", "sub esp, 0x54", "0x10031748"], ["0x1003183b", "cmp dword ptr [ecx + 0xdc], 1", "0x1003174b"], ["0x10031842", "sbb al, al", "0x10031752"], ["0x10031844", "push ebx", "0x10031754"], ["0x10031845", "push esi", "0x10031755"], ["0x10031846", "mov bl, byte ptr [ebp + 8]", "0x10031756"], ["0x10031849", "push edi", "0x10031759"], ["0x1003184a", "mov dword ptr [ebp - 0x10], ecx", "0x1003175a"], ["0x1003184d", "neg al", "0x1003175d"], ["0x1003184f", "cmp al, bl", "0x1003175f"]]}, {"orig": [["0x10031851", "je 0xd21"]], "recomp": [["0x10031761", "je 0xd22"]]}, {"both": [["0x10031857", "push ebx", "0x10031767"], ["0x10031858", "call LegoWorld::Enable (FUNCTION)", "0x10031768"], ["0x1003185d", "push ebx", "0x1003176d"], ["0x1003185e", "mov ecx, dword ptr [ebp - 0x10]", "0x1003176e"], ["0x10031861", "add ecx, 0x12c", "0x10031771"], ["0x10031867", "call Radio::Initialize (FUNCTION)", "0x10031777"], ["0x1003186c", "test bl, bl", "0x1003177c"]]}, {"orig": [["0x1003186e", "je 0xcdd"]], "recomp": [["0x1003177e", "je 0xcde"]]}, {"both": [["0x10031874", "mov ecx, dword ptr [ebp - 0x10]", "0x10031784"], ["0x10031877", "call Isle::CreateState (FUNCTION)", "0x10031787"], ["0x1003187c", "push 0", "0x1003178c"], ["0x1003187e", "call VideoManager (FUNCTION)", "0x1003178e"], ["0x10031883", "mov ecx, eax", "0x10031793"], ["0x10031885", "call LegoVideoManager::ResetPalette (FUNCTION)", "0x10031795"], ["0x1003188a", "mov ecx, dword ptr [ebp - 0x10]", "0x1003179a"], ["0x1003188d", "mov ecx, dword ptr [ecx + 0xf8]", "0x1003179d"], ["0x10031893", "call Act1State::PlaceActors (FUNCTION)", "0x100317a3"], ["0x10031898", "call UserActor (FUNCTION)", "0x100317a8"], ["0x1003189d", "test eax, eax", "0x100317ad"]]}, {"orig": [["0x1003189f", "je 0x40"]], "recomp": [["0x100317af", "je 0x41"]]}, {"both": [["0x100318a1", "call UserActor (FUNCTION)", "0x100317b1"], ["0x100318a6", "mov edx, dword ptr [eax]", "0x100317b6"], ["0x100318a8", "mov ecx, eax", "0x100317b8"], ["0x100318aa", "call dword ptr [edx + 0x60]", "0x100317ba"], ["0x100318ad", "test al, al", "0x100317bd"]]}, {"orig": [["0x100318af", "je 0x30"]], "recomp": [["0x100317bf", "je 0x31"]]}, {"both": [["0x100318b1", "call UserActor (FUNCTION)", "0x100317c1"], ["0x100318b6", "mov edx, dword ptr [eax]", "0x100317c6"], ["0x100318b8", "mov ecx, eax", "0x100317c8"], ["0x100318ba", "call dword ptr [edx + 0x60]", "0x100317ca"], ["0x100318bd", "dec al", "0x100317cd"], ["0x100318bf", "cmp al, 1", "0x100317cf"]]}, {"orig": [["0x100318c1", "mov eax, 0xfb"], ["0x100318c6", "adc eax, -1"]], "recomp": [["0x100317d1", "sbb eax, eax"], ["0x100317d3", "neg eax"], ["0x100317d5", "add eax, 0xfa"]]}, {"both": [["0x100318c9", "cmp eax, -1", "0x100317da"], ["0x100318cc", "je 0x13", "0x100317dd"], ["0x100318ce", "push 0", "0x100317df"], ["0x100318d0", "push eax", "0x100317e1"], ["0x100318d1", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100317e2"], ["0x100318d6", "push eax", "0x100317e7"], ["0x100318d7", "push 4", "0x100317e8"], ["0x100318d9", "call InvokeAction (FUNCTION)", "0x100317ea"], ["0x100318de", "add esp, 0x10", "0x100317ef"], ["0x100318e1", "mov ecx, dword ptr [ebp - 0x10]", "0x100317f2"]]}]], ["@@ -0x1003193b,39 +0x1003184c,39 @@", [{"both": [["0x1003193b", "mov dword ptr [ebp - 0x34], 2", "0x1003184c"], ["0x10031942", "mov dword ptr [ebp - 0x30], 3", "0x10031853"], ["0x10031949", "mov dword ptr [ebp - 0x2c], 4", "0x1003185a"], ["0x10031950", "mov esi, 5", "0x10031861"], ["0x10031955", "mov dword ptr [ebp - 0x28], esi", "0x10031866"], ["0x10031958", "mov dword ptr [ebp - 0x24], 6", "0x10031869"], ["0x1003195f", "mov dword ptr [ebp - 0x20], 7", "0x10031870"], ["0x10031966", "mov dword ptr [ebp - 0x1c], 8", "0x10031877"], ["0x1003196d", "mov dword ptr [ebp - 0x18], 9", "0x1003187e"], ["0x10031974", "mov dword ptr [ebp - 0x14], 0xa", "0x10031885"]]}, {"orig": [["0x1003197b", "xor edi, edi"]], "recomp": [["0x1003188c", "lea edi, [ebp - 0x38]"]]}, {"both": [["0x1003197d", "call _rand (FUNCTION)", "0x1003188f"], ["0x10031982", "cdq ", "0x10031894"], ["0x10031983", "mov ecx, 5", "0x10031895"], ["0x10031988", "idiv ecx", "0x1003189a"]]}, {"orig": [["0x1003198a", "lea ecx, [ebp - 0x38]"], ["0x1003198d", "cmp dword ptr [ecx], 0"]], "recomp": [["0x1003189c", "xor ecx, ecx"], ["0x1003189e", "cmp dword ptr [edi], 0"]]}, {"both": [["0x10031990", "je 0x7", "0x100318a1"], ["0x10031992", "mov eax, edx", "0x100318a3"], ["0x10031994", "dec edx", "0x100318a5"], ["0x10031995", "test eax, eax", "0x100318a6"], ["0x10031997", "je 0xd", "0x100318a8"]]}, {"orig": [["0x10031999", "add ecx, 4"], ["0x1003199c", "inc edi"]], "recomp": [["0x100318aa", "add edi, 4"], ["0x100318ad", "inc ecx"]]}, {"both": [["0x1003199d", "lea eax, [ebp - 0x10]", "0x100318ae"]]}, {"orig": [["0x100319a0", "cmp ecx, eax"]], "recomp": [["0x100318b1", "cmp edi, eax"]]}, {"both": [["0x100319a2", "jb -0x17", "0x100318b3"], ["0x100319a4", "jmp 0x1b", "0x100318b5"]]}, {"orig": [["0x100319a6", "lea edi, [ebp + edi*4 - 0x38]"]], "recomp": [["0x100318b7", "lea edi, [ebp + ecx*4 - 0x38]"]]}, {"both": [["0x100319aa", "push 1", "0x100318bb"], ["0x100319ac", "mov eax, dword ptr [edi]", "0x100318bd"], ["0x100319ae", "push eax", "0x100318bf"], ["0x100319af", "call AnimationManager (FUNCTION)", "0x100318c0"], ["0x100319b4", "mov ecx, eax", "0x100318c5"], ["0x100319b6", "call LegoAnimationManager::AddExtra (FUNCTION)", "0x100318c7"], ["0x100319bb", "mov dword ptr [edi], 0", "0x100318cc"], ["0x100319c1", "dec esi", "0x100318d2"], ["0x100319c2", "jne -0x49", "0x100318d3"], ["0x100319c4", "call UserActor (FUNCTION)", "0x100318d5"]]}]], ["@@ -0x10031b13,28 +0x10031a24,28 @@", [{"both": [["0x10031b13", "mov dword ptr [ebp - 4], 2", "0x10031a24"], ["0x10031b1a", "mov dword ptr [ebp - 0x2c], 0xb", "0x10031a2b"], ["0x10031b21", "mov esi, 0xffffffff", "0x10031a32"], ["0x10031b26", "mov dword ptr [ebp - 0x28], eax", "0x10031a37"], ["0x10031b29", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031a3a"], ["0x10031b30", "mov dword ptr [ebp - 4], 3", "0x10031a41"], ["0x10031b37", "mov byte ptr [ebp - 0x24], al", "0x10031a48"], ["0x10031b3a", "mov dword ptr [ebp - 4], esi", "0x10031a4b"], ["0x10031b3d", "mov ecx, dword ptr [ebp - 0x10]", "0x10031a4e"], ["0x10031b40", "mov dword ptr [ebp - 0x20], eax", "0x10031a51"]]}, {"orig": [], "recomp": [["0x10031a54", "mov dword ptr [ebp - 4], 4"]]}, {"both": [["0x10031b43", "mov dword ptr [ebp - 0x1c], eax", "0x10031a5b"]]}, {"orig": [], "recomp": [["0x10031a5e", "mov ecx, dword ptr [ecx + 0x128]"]]}, {"both": [["0x10031b46", "mov byte ptr [ebp - 0x18], al", "0x10031a64"], ["0x10031b49", "mov dword ptr [ebp - 0x14], eax", "0x10031a67"], ["0x10031b4c", "lea eax, [ebp - 0x30]", "0x10031a6a"], ["0x10031b4f", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031a6d"]]}, {"orig": [["0x10031b56", "mov ecx, dword ptr [ecx + 0x128]"]], "recomp": []}, {"both": [["0x10031b5c", "push eax", "0x10031a74"]]}, {"orig": [["0x10031b5d", "mov dword ptr [ebp - 4], 4"]], "recomp": []}, {"both": [["0x10031b64", "mov ebx, dword ptr [ecx]", "0x10031a75"], ["0x10031b66", "call dword ptr [ebx + 4]", "0x10031a77"], ["0x10031b69", "mov dword ptr [ebp - 4], esi", "0x10031a7a"], ["0x10031b6c", "call <OFFSET34>", "0x10031a7d"], ["0x10031b71", "jmp 0x48e", "0x10031a82"], ["0x10031b76", "lea ecx, [ebp - 0x30]", "0x10031a87"], ["0x10031b79", "jmp MxParam::~MxParam (FUNCTION)", "0x10031a8a"], ["0x10031b7e", "lea ecx, [ebp - 0x30]", "0x10031a8f"], ["0x10031b81", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10031a92"], ["0x10031b86", "lea ecx, [ebp - 0x30]", "0x10031a97"]]}]], ["@@ -0x10031cb5,24 +0x10031bc6,24 @@", [{"both": [["0x10031cb5", "mov dword ptr [ebp - 0x2c], edx", "0x10031bc6"], ["0x10031cb8", "mov dword ptr [ebp - 0x28], eax", "0x10031bc9"], ["0x10031cbb", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031bcc"], ["0x10031cc2", "mov byte ptr [ebp - 0x24], al", "0x10031bd3"], ["0x10031cc5", "mov dword ptr [ebp - 4], esi", "0x10031bd6"], ["0x10031cc8", "mov ecx, dword ptr [ebp - 0x10]", "0x10031bd9"], ["0x10031ccb", "mov dword ptr [ebp - 0x20], eax", "0x10031bdc"], ["0x10031cce", "mov dword ptr [ebp - 0x1c], eax", "0x10031bdf"], ["0x10031cd1", "mov dword ptr [ebp - 4], edx", "0x10031be2"], ["0x10031cd4", "mov byte ptr [ebp - 0x18], al", "0x10031be5"]]}, {"orig": [], "recomp": [["0x10031be8", "mov ecx, dword ptr [ecx + 0x114]"]]}, {"both": [["0x10031cd7", "mov dword ptr [ebp - 0x14], eax", "0x10031bee"], ["0x10031cda", "lea eax, [ebp - 0x30]", "0x10031bf1"], ["0x10031cdd", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031bf4"]]}, {"orig": [["0x10031ce4", "mov ecx, dword ptr [ecx + 0x114]"]], "recomp": []}, {"both": [["0x10031cea", "push eax", "0x10031bfb"], ["0x10031ceb", "mov ebx, dword ptr [ecx]", "0x10031bfc"], ["0x10031ced", "call dword ptr [ebx + 4]", "0x10031bfe"], ["0x10031cf0", "mov dword ptr [ebp - 4], esi", "0x10031c01"], ["0x10031cf3", "call <OFFSET37>", "0x10031c04"], ["0x10031cf8", "jmp 0x307", "0x10031c09"], ["0x10031cfd", "lea ecx, [ebp - 0x30]", "0x10031c0e"], ["0x10031d00", "jmp MxParam::~MxParam (FUNCTION)", "0x10031c11"], ["0x10031d05", "lea ecx, [ebp - 0x30]", "0x10031c16"], ["0x10031d08", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10031c19"]]}]], ["@@ -0x10031d36,28 +0x10031c47,28 @@", [{"both": [["0x10031d36", "mov dword ptr [ebp - 4], 0xc", "0x10031c47"], ["0x10031d3d", "mov dword ptr [ebp - 0x2c], 0xb", "0x10031c4e"], ["0x10031d44", "mov esi, 0xffffffff", "0x10031c55"], ["0x10031d49", "mov dword ptr [ebp - 0x28], eax", "0x10031c5a"], ["0x10031d4c", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031c5d"], ["0x10031d53", "mov dword ptr [ebp - 4], 0xd", "0x10031c64"], ["0x10031d5a", "mov byte ptr [ebp - 0x24], al", "0x10031c6b"], ["0x10031d5d", "mov dword ptr [ebp - 4], esi", "0x10031c6e"], ["0x10031d60", "mov ecx, dword ptr [ebp - 0x10]", "0x10031c71"], ["0x10031d63", "mov dword ptr [ebp - 0x20], eax", "0x10031c74"]]}, {"orig": [], "recomp": [["0x10031c77", "mov dword ptr [ebp - 4], 0xe"]]}, {"both": [["0x10031d66", "mov dword ptr [ebp - 0x1c], eax", "0x10031c7e"]]}, {"orig": [], "recomp": [["0x10031c81", "mov ecx, dword ptr [ecx + 0x118]"]]}, {"both": [["0x10031d69", "mov byte ptr [ebp - 0x18], al", "0x10031c87"], ["0x10031d6c", "mov dword ptr [ebp - 0x14], eax", "0x10031c8a"], ["0x10031d6f", "lea eax, [ebp - 0x30]", "0x10031c8d"], ["0x10031d72", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031c90"]]}, {"orig": [["0x10031d79", "mov ecx, dword ptr [ecx + 0x118]"]], "recomp": []}, {"both": [["0x10031d7f", "push eax", "0x10031c97"]]}, {"orig": [["0x10031d80", "mov dword ptr [ebp - 4], 0xe"]], "recomp": []}, {"both": [["0x10031d87", "mov ebx, dword ptr [ecx]", "0x10031c98"], ["0x10031d89", "call dword ptr [ebx + 4]", "0x10031c9a"], ["0x10031d8c", "mov dword ptr [ebp - 4], esi", "0x10031c9d"], ["0x10031d8f", "call <OFFSET38>", "0x10031ca0"], ["0x10031d94", "jmp 0x26b", "0x10031ca5"], ["0x10031d99", "lea ecx, [ebp - 0x30]", "0x10031caa"], ["0x10031d9c", "jmp MxParam::~MxParam (FUNCTION)", "0x10031cad"], ["0x10031da1", "lea ecx, [ebp - 0x30]", "0x10031cb2"], ["0x10031da4", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10031cb5"], ["0x10031da9", "lea ecx, [ebp - 0x30]", "0x10031cba"]]}]], ["@@ -0x10031dd2,28 +0x10031ce3,28 @@", [{"both": [["0x10031dd2", "mov dword ptr [ebp - 4], 0xf", "0x10031ce3"], ["0x10031dd9", "mov dword ptr [ebp - 0x2c], 0xb", "0x10031cea"], ["0x10031de0", "mov esi, 0xffffffff", "0x10031cf1"], ["0x10031de5", "mov dword ptr [ebp - 0x28], eax", "0x10031cf6"], ["0x10031de8", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031cf9"], ["0x10031def", "mov dword ptr [ebp - 4], 0x10", "0x10031d00"], ["0x10031df6", "mov byte ptr [ebp - 0x24], al", "0x10031d07"], ["0x10031df9", "mov dword ptr [ebp - 4], esi", "0x10031d0a"], ["0x10031dfc", "mov ecx, dword ptr [ebp - 0x10]", "0x10031d0d"], ["0x10031dff", "mov dword ptr [ebp - 0x20], eax", "0x10031d10"]]}, {"orig": [], "recomp": [["0x10031d13", "mov dword ptr [ebp - 4], 0x11"]]}, {"both": [["0x10031e02", "mov dword ptr [ebp - 0x1c], eax", "0x10031d1a"]]}, {"orig": [], "recomp": [["0x10031d1d", "mov ecx, dword ptr [ecx + 0x11c]"]]}, {"both": [["0x10031e05", "mov byte ptr [ebp - 0x18], al", "0x10031d23"], ["0x10031e08", "mov dword ptr [ebp - 0x14], eax", "0x10031d26"], ["0x10031e0b", "lea eax, [ebp - 0x30]", "0x10031d29"], ["0x10031e0e", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031d2c"]]}, {"orig": [["0x10031e15", "mov ecx, dword ptr [ecx + 0x11c]"]], "recomp": []}, {"both": [["0x10031e1b", "push eax", "0x10031d33"]]}, {"orig": [["0x10031e1c", "mov dword ptr [ebp - 4], 0x11"]], "recomp": []}, {"both": [["0x10031e23", "mov ebx, dword ptr [ecx]", "0x10031d34"], ["0x10031e25", "call dword ptr [ebx + 4]", "0x10031d36"], ["0x10031e28", "mov dword ptr [ebp - 4], esi", "0x10031d39"], ["0x10031e2b", "call <OFFSET39>", "0x10031d3c"], ["0x10031e30", "jmp 0x1cf", "0x10031d41"], ["0x10031e35", "lea ecx, [ebp - 0x30]", "0x10031d46"], ["0x10031e38", "jmp MxParam::~MxParam (FUNCTION)", "0x10031d49"], ["0x10031e3d", "lea ecx, [ebp - 0x30]", "0x10031d4e"], ["0x10031e40", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10031d51"], ["0x10031e45", "lea ecx, [ebp - 0x30]", "0x10031d56"]]}]], ["@@ -0x10031e6e,28 +0x10031d7f,28 @@", [{"both": [["0x10031e6e", "mov dword ptr [ebp - 4], 0x12", "0x10031d7f"], ["0x10031e75", "mov dword ptr [ebp - 0x2c], 0xb", "0x10031d86"], ["0x10031e7c", "mov esi, 0xffffffff", "0x10031d8d"], ["0x10031e81", "mov dword ptr [ebp - 0x28], eax", "0x10031d92"], ["0x10031e84", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031d95"], ["0x10031e8b", "mov dword ptr [ebp - 4], 0x13", "0x10031d9c"], ["0x10031e92", "mov byte ptr [ebp - 0x24], al", "0x10031da3"], ["0x10031e95", "mov dword ptr [ebp - 4], esi", "0x10031da6"], ["0x10031e98", "mov ecx, dword ptr [ebp - 0x10]", "0x10031da9"], ["0x10031e9b", "mov dword ptr [ebp - 0x20], eax", "0x10031dac"]]}, {"orig": [], "recomp": [["0x10031daf", "mov dword ptr [ebp - 4], 0x14"]]}, {"both": [["0x10031e9e", "mov dword ptr [ebp - 0x1c], eax", "0x10031db6"]]}, {"orig": [], "recomp": [["0x10031db9", "mov ecx, dword ptr [ecx + 0x110]"]]}, {"both": [["0x10031ea1", "mov byte ptr [ebp - 0x18], al", "0x10031dbf"], ["0x10031ea4", "mov dword ptr [ebp - 0x14], eax", "0x10031dc2"], ["0x10031ea7", "lea eax, [ebp - 0x30]", "0x10031dc5"], ["0x10031eaa", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031dc8"]]}, {"orig": [["0x10031eb1", "mov ecx, dword ptr [ecx + 0x110]"]], "recomp": []}, {"both": [["0x10031eb7", "push eax", "0x10031dcf"]]}, {"orig": [["0x10031eb8", "mov dword ptr [ebp - 4], 0x14"]], "recomp": []}, {"both": [["0x10031ebf", "mov ebx, dword ptr [ecx]", "0x10031dd0"], ["0x10031ec1", "call dword ptr [ebx + 4]", "0x10031dd2"], ["0x10031ec4", "mov dword ptr [ebp - 4], esi", "0x10031dd5"], ["0x10031ec7", "call <OFFSET40>", "0x10031dd8"], ["0x10031ecc", "jmp 0x133", "0x10031ddd"], ["0x10031ed1", "lea ecx, [ebp - 0x30]", "0x10031de2"], ["0x10031ed4", "jmp MxParam::~MxParam (FUNCTION)", "0x10031de5"], ["0x10031ed9", "lea ecx, [ebp - 0x30]", "0x10031dea"], ["0x10031edc", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10031ded"], ["0x10031ee1", "lea ecx, [ebp - 0x30]", "0x10031df2"]]}]], ["@@ -0x10031f0a,28 +0x10031e1b,28 @@", [{"both": [["0x10031f0a", "mov dword ptr [ebp - 4], 0x15", "0x10031e1b"], ["0x10031f11", "mov dword ptr [ebp - 0x2c], 0xb", "0x10031e22"], ["0x10031f18", "mov esi, 0xffffffff", "0x10031e29"], ["0x10031f1d", "mov dword ptr [ebp - 0x28], eax", "0x10031e2e"], ["0x10031f20", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031e31"], ["0x10031f27", "mov dword ptr [ebp - 4], 0x16", "0x10031e38"], ["0x10031f2e", "mov byte ptr [ebp - 0x24], al", "0x10031e3f"], ["0x10031f31", "mov dword ptr [ebp - 4], esi", "0x10031e42"], ["0x10031f34", "mov ecx, dword ptr [ebp - 0x10]", "0x10031e45"], ["0x10031f37", "mov dword ptr [ebp - 0x20], eax", "0x10031e48"]]}, {"orig": [], "recomp": [["0x10031e4b", "mov dword ptr [ebp - 4], 0x17"]]}, {"both": [["0x10031f3a", "mov dword ptr [ebp - 0x1c], eax", "0x10031e52"]]}, {"orig": [], "recomp": [["0x10031e55", "mov ecx, dword ptr [ecx + 0x120]"]]}, {"both": [["0x10031f3d", "mov byte ptr [ebp - 0x18], al", "0x10031e5b"], ["0x10031f40", "mov dword ptr [ebp - 0x14], eax", "0x10031e5e"], ["0x10031f43", "lea eax, [ebp - 0x30]", "0x10031e61"], ["0x10031f46", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031e64"]]}, {"orig": [["0x10031f4d", "mov ecx, dword ptr [ecx + 0x120]"]], "recomp": []}, {"both": [["0x10031f53", "push eax", "0x10031e6b"]]}, {"orig": [["0x10031f54", "mov dword ptr [ebp - 4], 0x17"]], "recomp": []}, {"both": [["0x10031f5b", "mov ebx, dword ptr [ecx]", "0x10031e6c"], ["0x10031f5d", "call dword ptr [ebx + 4]", "0x10031e6e"], ["0x10031f60", "mov dword ptr [ebp - 4], esi", "0x10031e71"], ["0x10031f63", "call <OFFSET41>", "0x10031e74"], ["0x10031f68", "jmp 0x97", "0x10031e79"], ["0x10031f6d", "lea ecx, [ebp - 0x30]", "0x10031e7e"], ["0x10031f70", "jmp MxParam::~MxParam (FUNCTION)", "0x10031e81"], ["0x10031f75", "lea ecx, [ebp - 0x30]", "0x10031e86"], ["0x10031f78", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10031e89"], ["0x10031f7d", "lea ecx, [ebp - 0x30]", "0x10031e8e"]]}]], ["@@ -0x10031fa6,28 +0x10031eb7,28 @@", [{"both": [["0x10031fa6", "mov dword ptr [ebp - 4], 0x18", "0x10031eb7"], ["0x10031fad", "mov dword ptr [ebp - 0x2c], 0xb", "0x10031ebe"], ["0x10031fb4", "mov esi, 0xffffffff", "0x10031ec5"], ["0x10031fb9", "mov dword ptr [ebp - 0x28], eax", "0x10031eca"], ["0x10031fbc", "mov dword ptr [ebp - 0x30], MxNotificationParam::`vftable' (VTABLE)", "0x10031ecd"], ["0x10031fc3", "mov dword ptr [ebp - 4], 0x19", "0x10031ed4"], ["0x10031fca", "mov byte ptr [ebp - 0x24], al", "0x10031edb"], ["0x10031fcd", "mov dword ptr [ebp - 4], esi", "0x10031ede"], ["0x10031fd0", "mov ecx, dword ptr [ebp - 0x10]", "0x10031ee1"], ["0x10031fd3", "mov dword ptr [ebp - 0x20], eax", "0x10031ee4"]]}, {"orig": [], "recomp": [["0x10031ee7", "mov dword ptr [ebp - 4], 0x1a"]]}, {"both": [["0x10031fd6", "mov dword ptr [ebp - 0x1c], eax", "0x10031eee"]]}, {"orig": [], "recomp": [["0x10031ef1", "mov ecx, dword ptr [ecx + 0x128]"]]}, {"both": [["0x10031fd9", "mov byte ptr [ebp - 0x18], al", "0x10031ef7"], ["0x10031fdc", "mov dword ptr [ebp - 0x14], eax", "0x10031efa"], ["0x10031fdf", "lea eax, [ebp - 0x30]", "0x10031efd"], ["0x10031fe2", "mov dword ptr [ebp - 0x30], LegoEventNotificationParam::`vftable' (VTABLE)", "0x10031f00"]]}, {"orig": [["0x10031fe9", "mov ecx, dword ptr [ecx + 0x128]"]], "recomp": []}, {"both": [["0x10031fef", "push eax", "0x10031f07"]]}, {"orig": [["0x10031ff0", "mov dword ptr [ebp - 4], 0x1a"]], "recomp": []}, {"both": [["0x10031ff7", "mov ebx, dword ptr [ecx]", "0x10031f08"], ["0x10031ff9", "call dword ptr [ebx + 4]", "0x10031f0a"], ["0x10031ffc", "mov dword ptr [ebp - 4], esi", "0x10031f0d"], ["0x10031fff", "call <OFFSET42>", "0x10031f10"], ["0x10032004", "mov ecx, dword ptr [ebp - 0x10]", "0x10031f15"], ["0x10032007", "mov eax, dword ptr [ecx + 0xf8]", "0x10031f18"], ["0x1003200d", "mov ecx, dword ptr [eax + 0x18]", "0x10031f1e"], ["0x10032010", "add eax, 0x18", "0x10031f21"], ["0x10032013", "cmp ecx, 0xb", "0x10031f24"], ["0x10032016", "ja 0x36c", "0x10031f27"]]}]], ["@@ -0x100320fa,31 +0x1003200b,31 @@", [{"both": [["0x100320fa", "lea ecx, [ebp - 0x60]", "0x1003200b"], ["0x100320fd", "push ecx", "0x1003200e"], ["0x100320fe", "mov dword ptr [ebp - 0x20], eax", "0x1003200f"], ["0x10032101", "mov dword ptr [ebp - 0x24], Mx3DPointFloat::`vftable' (VTABLE)", "0x10032012"], ["0x10032108", "mov dword ptr [ebp - 0x1c], 0x42c5bfff", "0x10032019"], ["0x1003210f", "mov dword ptr [ebp - 0x18], 0", "0x10032020"], ["0x10032116", "mov dword ptr [ebp - 0x14], 0xc238a00b", "0x10032027"], ["0x1003211d", "lea ecx, [ebp - 0x24]", "0x1003202e"], ["0x10032120", "call dword ptr [->Vector2::operator-= (FUNCTION)]", "0x10032031"], ["0x10032126", "mov ecx, dword ptr [ebp - 0x20]", "0x10032037"]]}, {"orig": [], "recomp": [["0x1003203a", "mov edx, dword ptr [ebp - 0x20]"], ["0x1003203d", "add ecx, 4"], ["0x10032040", "add edx, 8"]]}, {"both": [["0x10032129", "mov eax, dword ptr [ebp - 0x20]", "0x10032043"]]}, {"orig": [["0x1003212c", "add ecx, 4"], ["0x1003212f", "add eax, 8"]], "recomp": [["0x10032046", "fld dword ptr [eax]"], ["0x10032048", "fmul dword ptr [eax]"]]}, {"both": [["0x10032132", "fld dword ptr [ecx]", "0x1003204a"], ["0x10032134", "fmul dword ptr [ecx]", "0x1003204c"]]}, {"orig": [["0x10032136", "fld dword ptr [eax]"], ["0x10032138", "fmul dword ptr [eax]"], ["0x1003213a", "mov ecx, dword ptr [ebp - 0x20]"]], "recomp": []}, {"both": [["0x1003213d", "faddp st(1)", "0x1003204e"]]}, {"orig": [["0x1003213f", "fld dword ptr [ecx]"], ["0x10032141", "fmul dword ptr [ecx]"]], "recomp": [["0x10032050", "fld dword ptr [edx]"], ["0x10032052", "fmul dword ptr [edx]"]]}, {"both": [["0x10032143", "faddp st(1)", "0x10032054"], ["0x10032145", "fcomp dword ptr [1024.0 (FLOAT)]", "0x10032056"], ["0x1003214b", "fnstsw ax", "0x1003205c"], ["0x1003214d", "test ah, 1", "0x1003205e"], ["0x10032150", "je 0x232", "0x10032061"], ["0x10032156", "push 0", "0x10032067"], ["0x10032158", "call AnimationManager (FUNCTION)", "0x10032069"], ["0x1003215d", "mov ecx, eax", "0x1003206e"], ["0x1003215f", "call LegoAnimationManager::FUN_10064670 (FUNCTION)", "0x10032070"], ["0x10032164", "jmp 0x21f", "0x10032075"]]}]], ["@@ -,21 +,21 @@", [{"both": [["0x1003256d", "mov ecx, dword ptr [ecx + 0xf8]", "0x1003247e"], ["0x10032573", "call Act1State::RemoveActors (FUNCTION)", "0x10032484"], ["0x10032578", "mov eax, dword ptr [ebp - 0xc]", "0x10032489"], ["0x1003257b", "pop edi", "0x1003248c"], ["0x1003257c", "mov dword ptr fs:[0], eax", "0x1003248d"], ["0x10032582", "pop esi", "0x10032493"], ["0x10032583", "pop ebx", "0x10032494"], ["0x10032584", "mov esp, ebp", "0x10032495"], ["0x10032586", "pop ebp", "0x10032497"], ["0x10032587", "ret 4", "0x10032498"]]}, {"orig": [["0x1003258a", "mov edi, edi"]], "recomp": [["0x1003249b", "nop "]]}, {"both": [["", "Jump table:", ""], ["0x1003258c", "Jump_dest_0", "0x1003249c"], ["0x10032590", "Jump_dest_1", "0x100324a0"], ["0x10032594", "Jump_dest_2", "0x100324a4"], ["0x10032598", "Jump_dest_3", "0x100324a8"], ["0x1003259c", "Jump_dest_4", "0x100324ac"], ["0x100325a0", "Jump_dest_5", "0x100324b0"], ["0x100325a4", "Jump_dest_6", "0x100324b4"], ["0x100325a8", "Jump_dest_7", "0x100324b8"], ["0x100325ac", "Jump_dest_8", "0x100324bc"]]}]]]}, {"address": "0x10032620", "recomp": "0x10032530", "name": "Isle::FUN_10032620", "matching": 0.9712230215827338, "diff": [["@@ -0x1003263d,29 +0x1003254d,29 @@", [{"both": [["0x1003263d", "call Lego3DManager::SetFrustrum (FUNCTION)", "0x1003254d"], ["0x10032642", "call GameState (FUNCTION)", "0x10032552"], ["0x10032647", "mov eax, dword ptr [eax + 0x424]", "0x10032557"], ["0x1003264d", "sub eax, 4", "0x1003255d"], ["0x10032650", "cmp eax, 0x3e", "0x10032560"], ["0x10032653", "ja 0x9e", "0x10032563"], ["0x10032659", "xor ecx, ecx", "0x10032569"], ["0x1003265b", "mov cl, byte ptr [eax + <OFFSET4>]", "0x1003256b"], ["0x10032661", "jmp dword ptr [ecx*4 + <OFFSET5>]", "0x10032571"], ["0x10032668", "call UserActor (FUNCTION)", "0x10032578"]]}, {"orig": [["0x1003266d", "mov esi, eax"]], "recomp": [["0x1003257d", "mov esi, dword ptr [eax]"], ["0x1003257f", "mov edi, eax"]]}, {"both": [["0x1003266f", "push 7", "0x10032581"], ["0x10032671", "push 1", "0x10032583"], ["0x10032673", "call GameState (FUNCTION)", "0x10032585"], ["0x10032678", "mov eax, dword ptr [eax + 0x424]", "0x1003258a"]]}, {"orig": [["0x1003267e", "mov ebx, dword ptr [esi]"]], "recomp": [["0x10032590", "mov ecx, edi"]]}, {"both": [["0x10032680", "push eax", "0x10032592"]]}, {"orig": [["0x10032681", "mov ecx, esi"], ["0x10032683", "call dword ptr [ebx + 0xe8]"]], "recomp": [["0x10032593", "call dword ptr [esi + 0xe8]"]]}, {"both": [["0x10032689", "call GameState (FUNCTION)", "0x10032599"], ["0x1003268e", "mov dword ptr [eax + 0x424], 0x42", "0x1003259e"], ["0x10032698", "pop edi", "0x100325a8"], ["0x10032699", "pop esi", "0x100325a9"], ["0x1003269a", "pop ebx", "0x100325aa"], ["0x1003269b", "add esp, 0x4c", "0x100325ab"], ["0x1003269e", "ret ", "0x100325ae"], ["0x1003269f", "call UserActor (FUNCTION)", "0x100325af"], ["0x100326a4", "mov ecx, dword ptr [eax + 0x54]", "0x100325b4"], ["0x100326a7", "lea eax, [esp + 0x18]", "0x100325b7"]]}]]]}, {"address": "0x10032770", "recomp": "0x10032680", "name": "MxMatrix::MxMatrix", "matching": 1.0, "diff": []}, {"address": "0x100327a0", "recomp": "0x100326b0", "name": "Isle::HandleTransitionEnd", "matching": 1.0, "diff": []}, {"address": "0x10032d30", "recomp": "0x10032c40", "name": "Isle::FUN_10032d30", "matching": 1.0, "diff": []}, {"address": "0x10032f10", "recomp": "0x10032e20", "name": "Isle::Add", "matching": 1.0, "diff": []}, {"address": "0x10033050", "recomp": "0x10032f60", "name": "Isle::VTable0x6c", "matching": 1.0, "diff": []}, {"address": "0x100330e0", "recomp": "0x10032ff0", "name": "Isle::CreateState", "matching": 1.0, "diff": []}, {"address": "0x10033170", "recomp": "0x10030930", "name": "Isle::VTable0x60", "matching": 1.0, "diff": []}, {"address": "0x10033180", "recomp": "0x10033080", "name": "Isle::Escape", "matching": 1.0, "diff": []}, {"address": "0x10033350", "recomp": "0x10033250", "name": "Isle::FUN_10033350", "matching": 1.0, "effective": true, "diff": [["@@ -0x100333f6,27 +0x100332f6,27 @@", [{"both": [["0x100333f6", "mov ecx, dword ptr [esi + 0xfc]", "0x100332f6"], ["0x100333fc", "call Pizza::FUN_100382b0 (FUNCTION)", "0x100332fc"], ["0x10033401", "push 0", "0x10033301"], ["0x10033403", "call AnimationManager (FUNCTION)", "0x10033303"], ["0x10033408", "mov ecx, eax", "0x10033308"], ["0x1003340a", "call LegoAnimationManager::FUN_10061010 (FUNCTION)", "0x1003330a"], ["0x1003340f", "call UserActor (FUNCTION)", "0x1003330f"], ["0x10033414", "test eax, eax", "0x10033314"], ["0x10033416", "je 0x36", "0x10033316"], ["0x10033418", "call UserActor (FUNCTION)", "0x10033318"]]}, {"orig": [["0x1003341d", "mov ebx, dword ptr [eax]"]], "recomp": [["0x1003331d", "mov edi, dword ptr [eax]"], ["0x1003331f", "mov ebx, eax"], ["0x10033321", "call GameState (FUNCTION)"]]}, {"both": [["0x1003341f", "mov ebp, eax", "0x10033326"]]}, {"orig": [["0x10033421", "call GameState (FUNCTION)"], ["0x10033426", "mov edi, eax"], ["0x10033428", "mov ecx, ebp"], ["0x1003342a", "call dword ptr [ebx + 0x60]"], ["0x1003342d", "cmp al, byte ptr [edi + 0xc]"]], "recomp": [["0x10033328", "mov ecx, ebx"], ["0x1003332a", "call dword ptr [edi + 0x60]"], ["0x1003332d", "cmp al, byte ptr [ebp + 0xc]"]]}, {"both": [["0x10033430", "je 0x1c", "0x10033330"], ["0x10033432", "call UserActor (FUNCTION)", "0x10033332"], ["0x10033437", "mov ecx, eax", "0x10033337"], ["0x10033439", "mov eax, dword ptr [eax]", "0x10033339"], ["0x1003343b", "call dword ptr [eax + 0xe4]", "0x1003333b"], ["0x10033441", "mov ecx, dword ptr [esi + 0x120]", "0x10033341"], ["0x10033447", "mov byte ptr [ecx + 0x160], 0", "0x10033347"], ["0x1003344e", "call GameState (FUNCTION)", "0x1003334e"], ["0x10033453", "cmp dword ptr [eax + 0x424], 0x23", "0x10033353"], ["0x1003345a", "jne 0x16", "0x1003335a"]]}]]]}, {"address": "0x100334b0", "recomp": "0x100333b0", "name": "Act1State::Act1State", "matching": 1.0, "effective": true, "diff": [["@@ -0x10033667,32 +0x10033567,32 @@", [{"both": [["0x10033667", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033567"], ["0x1003366c", "lea ecx, [esi + 0x1f4]", "0x1003356c"], ["0x10033672", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033572"], ["0x10033677", "mov byte ptr [ebp - 4], 0xd", "0x10033577"], ["0x1003367b", "lea ecx, [esi + 0x210]", "0x1003357b"], ["0x10033681", "call LegoNamedPlane::LegoNamedPlane (FUNCTION)", "0x10033581"], ["0x10033686", "mov byte ptr [ebp - 4], 0xe", "0x10033586"], ["0x1003368a", "mov dword ptr [esi], Act1State::`vftable' (VTABLE)", "0x1003358a"], ["0x10033690", "mov byte ptr [esi + 0x1e], bl", "0x10033590"], ["0x10033693", "mov dword ptr [esi + 0x18], 1", "0x10033593"]]}, {"orig": [], "recomp": [["0x1003359a", "mov dword ptr [esi + 8], g_cptClickDialogue[0] (DATA)"]]}, {"both": [["0x1003369a", "mov word ptr [esi + 0x10], bx", "0x100335a1"]]}, {"orig": [], "recomp": [["0x100335a5", "mov byte ptr [esi + 0x1f], bl"], ["0x100335a8", "mov word ptr [esi + 0xe], bx"]]}, {"both": [["0x1003369e", "mov byte ptr [esi + 0x20], bl", "0x100335ac"]]}, {"orig": [["0x100336a1", "mov word ptr [esi + 0xe], bx"], ["0x100336a5", "mov byte ptr [esi + 0x1f], bl"], ["0x100336a8", "mov dword ptr [esi + 8], g_cptClickDialogue[0] (DATA)"], ["0x100336af", "mov dword ptr [esi + 0x14], 0xffffffff"]], "recomp": []}, {"both": [["0x100336b6", "mov byte ptr [esi + 0x22], bl", "0x100335af"], ["0x100336b9", "mov dword ptr [esi + 0x154], ebx", "0x100335b2"], ["0x100336bf", "mov dword ptr [esi + 0x158], ebx", "0x100335b8"], ["0x100336c5", "mov dword ptr [esi + 0x15c], ebx", "0x100335be"], ["0x100336cb", "mov dword ptr [esi + 0x160], ebx", "0x100335c4"], ["0x100336d1", "mov dword ptr [esi + 0x1b0], ebx", "0x100335ca"]]}, {"orig": [], "recomp": [["0x100335d0", "mov dword ptr [esi + 0x14], 0xffffffff"]]}, {"both": [["0x100336d7", "mov byte ptr [esi + 0x21], 1", "0x100335d7"], ["0x100336db", "mov word ptr [esi + 0x1c], 1", "0x100335db"], ["0x100336e1", "mov word ptr [esi + 0xc], 3", "0x100335e1"], ["0x100336e7", "mov dword ptr [esi + 0x1b4], ebx", "0x100335e7"], ["0x100336ed", "mov dword ptr [esi + 0x1b8], ebx", "0x100335ed"], ["0x100336f3", "mov dword ptr [esi + 0x208], ebx", "0x100335f3"], ["0x100336f9", "mov dword ptr [esi + 0x20c], ebx", "0x100335f9"], ["0x100336ff", "mov ecx, esi", "0x100335ff"], ["0x10033701", "mov dword ptr [esi + 0x25c], ebx", "0x10033601"], ["0x10033707", "mov dword ptr [esi + 0x260], ebx", "0x10033607"]]}]]]}, {"address": "0x10033800", "recomp": "0x10033700", "name": "LegoNamedPlane::LegoNamedPlane", "matching": 1.0, "diff": []}, {"address": "0x100338a0", "recomp": "0x100337a0", "name": "Act1State::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100338b0", "recomp": "0x100337b0", "name": "Act1State::IsA", "matching": 1.0, "diff": []}, {"address": "0x10033960", "recomp": "0x10033860", "name": "Act1State::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10033a70", "recomp": "0x10033970", "name": "LegoNamedPlane::~LegoNamedPlane", "matching": 1.0, "diff": []}, {"address": "0x10033ac0", "recomp": "0x100339c0", "name": "Act1State::Serialize", "matching": 0.539016393442623, "diff": [["@@ -0x10033ac0,398 +0x100339c0,608 @@", [{"both": [["0x10033ac0", "mov eax, dword ptr fs:[0]", "0x100339c0"], ["0x10033ac6", "push ebp", "0x100339c6"], ["0x10033ac7", "mov ebp, esp", "0x100339c7"], ["0x10033ac9", "push -1", "0x100339c9"], ["0x10033acb", "push <OFFSET1>", "0x100339cb"], ["0x10033ad0", "push eax", "0x100339d0"], ["0x10033ad1", "mov dword ptr fs:[0], esp", "0x100339d1"]]}, {"orig": [["0x10033ad8", "sub esp, 0x14"]], "recomp": [["0x100339d8", "sub esp, 0x10"]]}, {"both": [["0x10033adb", "push ebx", "0x100339db"], ["0x10033adc", "push esi", "0x100339dc"], ["0x10033add", "push edi", "0x100339dd"], ["0x10033ade", "mov esi, dword ptr [ebp + 8]", "0x100339de"], ["0x10033ae1", "mov edi, ecx", "0x100339e1"]]}, {"orig": [["0x10033ae3", "mov eax, dword ptr [esi]"], ["0x10033ae5", "mov ecx, dword ptr [eax + 0x14]"], ["0x10033ae8", "mov dword ptr [ebp - 0x14], ecx"]], "recomp": [["0x100339e3", "mov ebx, dword ptr [esi]"]]}, {"both": [["0x10033aeb", "mov ecx, esi", "0x100339e5"]]}, {"orig": [["0x10033aed", "call dword ptr [ebp - 0x14]"]], "recomp": [["0x100339e7", "call dword ptr [ebx + 0x14]"]]}, {"both": [["0x10033af0", "test al, al", "0x100339ea"], ["0x10033af2", "je 0x2b", "0x100339ec"], ["0x10033af4", "sub esp, 0x10", "0x100339ee"], ["0x10033af7", "mov ecx, edi", "0x100339f1"], ["0x10033af9", "mov dword ptr [ebp - 0x10], esp", "0x100339f3"], ["0x10033afc", "mov eax, dword ptr [edi]", "0x100339f6"], ["0x10033afe", "call dword ptr [eax + 0xc]", "0x100339f8"], ["0x10033b01", "push eax", "0x100339fb"], ["0x10033b02", "mov ecx, dword ptr [ebp - 0x10]", "0x100339fc"], ["0x10033b05", "call MxString::MxString (FUNCTION)", "0x100339ff"], ["0x10033b0a", "mov dword ptr [ebp - 4], 0", "0x10033a04"], ["0x10033b11", "mov dword ptr [ebp - 4], 0xffffffff", "0x10033a0b"], ["0x10033b18", "mov ecx, esi", "0x10033a12"], ["0x10033b1a", "call LegoFile::WriteString (FUNCTION)", "0x10033a14"], ["0x10033b1f", "mov ecx, esi", "0x10033a19"]]}, {"orig": [["0x10033b21", "call dword ptr [ebp - 0x14]"]], "recomp": [["0x10033a1b", "call dword ptr [ebx + 0x14]"]]}, {"both": [["0x10033b24", "test al, al", "0x10033a1e"], ["0x10033b26", "je 0x84", "0x10033a20"], ["0x10033b2c", "sub esp, 0x10", "0x10033a26"], ["0x10033b2f", "lea eax, [edi + 0x24]", "0x10033a29"], ["0x10033b32", "mov dword ptr [ebp - 0x10], esp", "0x10033a2c"], ["0x10033b35", "push eax", "0x10033a2f"], ["0x10033b36", "mov ecx, dword ptr [ebp - 0x10]", "0x10033a30"], ["0x10033b39", "call MxString::MxString (FUNCTION)", "0x10033a33"], ["0x10033b3e", "mov dword ptr [ebp - 4], 1", "0x10033a38"], ["0x10033b45", "mov dword ptr [ebp - 4], 0xffffffff", "0x10033a3f"], ["0x10033b4c", "mov ecx, esi", "0x10033a46"], ["0x10033b4e", "call LegoFile::WriteString (FUNCTION)", "0x10033a48"], ["0x10033b53", "sub esp, 0x14", "0x10033a4d"], ["0x10033b56", "lea eax, [edi + 0x34]", "0x10033a50"]]}, {"orig": [["0x10033b59", "mov dword ptr [ebp - 0x20], esp"], ["0x10033b5c", "push eax"], ["0x10033b5d", "mov ecx, dword ptr [ebp - 0x20]"], ["0x10033b60", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033b65", "mov ecx, esi"], ["0x10033b67", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033b6c", "sub esp, 0x14"], ["0x10033b6f", "lea eax, [edi + 0x48]"]], "recomp": []}, {"both": [["0x10033b72", "mov dword ptr [ebp - 0x1c], esp", "0x10033a53"], ["0x10033b75", "push eax", "0x10033a56"], ["0x10033b76", "mov ecx, dword ptr [ebp - 0x1c]", "0x10033a57"], ["0x10033b79", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033a5a"], ["0x10033b7e", "mov ecx, esi", "0x10033a5f"], ["0x10033b80", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033a61"], ["0x10033b85", "sub esp, 0x14", "0x10033a66"]]}, {"orig": [["0x10033b88", "lea eax, [edi + 0x5c]"]], "recomp": [["0x10033a69", "lea eax, [edi + 0x48]"]]}, {"both": [["0x10033b8b", "mov dword ptr [ebp - 0x18], esp", "0x10033a6c"], ["0x10033b8e", "push eax", "0x10033a6f"], ["0x10033b8f", "mov ecx, dword ptr [ebp - 0x18]", "0x10033a70"], ["0x10033b92", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033a73"], ["0x10033b97", "mov ecx, esi", "0x10033a78"], ["0x10033b99", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033a7a"]]}, {"orig": [["0x10033b9e", "jmp 0x7e"]], "recomp": [["0x10033a7f", "sub esp, 0x14"], ["0x10033a82", "lea eax, [edi + 0x5c]"], ["0x10033a85", "mov dword ptr [ebp - 0x14], esp"], ["0x10033a88", "push eax"], ["0x10033a89", "mov ecx, dword ptr [ebp - 0x14]"], ["0x10033a8c", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033a91", "mov ecx, esi"], ["0x10033a93", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033a98", "jmp 0x7d"]]}, {"both": [["0x10033ba0", "mov ecx, dword ptr [ebp - 0x10]", "0x10033a9a"], ["0x10033ba3", "jmp MxString::~MxString (FUNCTION)", "0x10033a9d"], ["0x10033ba8", "mov ecx, dword ptr [ebp - 0x10]", "0x10033aa2"], ["0x10033bab", "jmp MxString::~MxString (FUNCTION)", "0x10033aa5"], ["0x10033bb0", "mov ecx, esi", "0x10033aaa"]]}, {"orig": [["0x10033bb2", "mov eax, dword ptr [esi]"], ["0x10033bb4", "call dword ptr [eax + 0x18]"]], "recomp": [["0x10033aac", "call dword ptr [ebx + 0x18]"]]}, {"both": [["0x10033bb7", "test al, al", "0x10033aaf"]]}, {"orig": [["0x10033bb9", "je 0x63"]], "recomp": [["0x10033ab1", "je 0x64"]]}, {"both": [["0x10033bbb", "lea eax, [edi + 0x24]", "0x10033ab3"], ["0x10033bbe", "mov ecx, esi", "0x10033ab6"], ["0x10033bc0", "push eax", "0x10033ab8"], ["0x10033bc1", "call LegoFile::ReadString (FUNCTION)", "0x10033ab9"]]}, {"orig": [["0x10033bc6", "mov eax, dword ptr [esi]"]], "recomp": []}, {"both": [["0x10033bc8", "push 4", "0x10033abe"]]}, {"orig": [["0x10033bca", "mov ecx, dword ptr [edi + 0x38]"], ["0x10033bcd", "mov ebx, dword ptr [eax + 4]"], ["0x10033bd0", "push ecx"]], "recomp": [["0x10033ac0", "mov eax, dword ptr [edi + 0x38]"], ["0x10033ac3", "push eax"]]}, {"both": [["0x10033bd1", "mov ecx, esi", "0x10033ac4"]]}, {"orig": [["0x10033bd3", "call ebx"]], "recomp": [["0x10033ac6", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033bd5", "mov eax, dword ptr [edi + 0x38]", "0x10033ac9"], ["0x10033bd8", "push 4", "0x10033acc"], ["0x10033bda", "add eax, 4", "0x10033ace"], ["0x10033bdd", "mov ecx, esi", "0x10033ad1"], ["0x10033bdf", "push eax", "0x10033ad3"]]}, {"orig": [["0x10033be0", "call ebx"]], "recomp": [["0x10033ad4", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033be2", "mov eax, dword ptr [edi + 0x38]", "0x10033ad7"], ["0x10033be5", "push 4", "0x10033ada"], ["0x10033be7", "add eax, 8", "0x10033adc"], ["0x10033bea", "mov ecx, esi", "0x10033adf"], ["0x10033bec", "push eax", "0x10033ae1"]]}, {"orig": [["0x10033bed", "call ebx"]], "recomp": [["0x10033ae2", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033bef", "push 4", "0x10033ae5"], ["0x10033bf1", "mov ecx, dword ptr [edi + 0x4c]", "0x10033ae7"], ["0x10033bf4", "push ecx", "0x10033aea"], ["0x10033bf5", "mov ecx, esi", "0x10033aeb"]]}, {"orig": [["0x10033bf7", "call ebx"]], "recomp": [["0x10033aed", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033bf9", "mov eax, dword ptr [edi + 0x4c]", "0x10033af0"], ["0x10033bfc", "push 4", "0x10033af3"], ["0x10033bfe", "add eax, 4", "0x10033af5"], ["0x10033c01", "mov ecx, esi", "0x10033af8"], ["0x10033c03", "push eax", "0x10033afa"]]}, {"orig": [["0x10033c04", "call ebx"]], "recomp": [["0x10033afb", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033c06", "mov eax, dword ptr [edi + 0x4c]", "0x10033afe"], ["0x10033c09", "push 4", "0x10033b01"], ["0x10033c0b", "add eax, 8", "0x10033b03"], ["0x10033c0e", "mov ecx, esi", "0x10033b06"], ["0x10033c10", "push eax", "0x10033b08"]]}, {"orig": [["0x10033c11", "call ebx"]], "recomp": [["0x10033b09", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033c13", "lea ecx, [edi + 0x5c]", "0x10033b0c"], ["0x10033c16", "push ecx", "0x10033b0f"], ["0x10033c17", "mov ecx, esi", "0x10033b10"], ["0x10033c19", "call LegoFile::ReadVector3 (FUNCTION)", "0x10033b12"], ["0x10033c1e", "mov ecx, esi", "0x10033b17"]]}, {"orig": [["0x10033c20", "call dword ptr [ebp - 0x14]"]], "recomp": [["0x10033b19", "call dword ptr [ebx + 0x14]"]]}, {"both": [["0x10033c23", "test al, al", "0x10033b1c"]]}, {"orig": [["0x10033c25", "je 0x88"]], "recomp": [["0x10033b1e", "je 0x85"]]}, {"both": [["0x10033c2b", "sub esp, 0x10", "0x10033b24"], ["0x10033c2e", "lea eax, [edi + 0x70]", "0x10033b27"], ["0x10033c31", "mov dword ptr [ebp - 0x10], esp", "0x10033b2a"], ["0x10033c34", "push eax", "0x10033b2d"], ["0x10033c35", "mov ecx, dword ptr [ebp - 0x10]", "0x10033b2e"], ["0x10033c38", "call MxString::MxString (FUNCTION)", "0x10033b31"], ["0x10033c3d", "mov dword ptr [ebp - 4], 2", "0x10033b36"], ["0x10033c44", "mov dword ptr [ebp - 4], 0xffffffff", "0x10033b3d"], ["0x10033c4b", "mov ecx, esi", "0x10033b44"], ["0x10033c4d", "call LegoFile::WriteString (FUNCTION)", "0x10033b46"], ["0x10033c52", "sub esp, 0x14", "0x10033b4b"], ["0x10033c55", "lea eax, [edi + 0x80]", "0x10033b4e"]]}, {"orig": [["0x10033c5b", "mov dword ptr [ebp - 0x20], esp"], ["0x10033c5e", "push eax"], ["0x10033c5f", "mov ecx, dword ptr [ebp - 0x20]"], ["0x10033c62", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033c67", "mov ecx, esi"], ["0x10033c69", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033c6e", "sub esp, 0x14"], ["0x10033c71", "lea eax, [edi + 0x94]"]], "recomp": []}, {"both": [["0x10033c77", "mov dword ptr [ebp - 0x1c], esp", "0x10033b54"], ["0x10033c7a", "push eax", "0x10033b57"], ["0x10033c7b", "mov ecx, dword ptr [ebp - 0x1c]", "0x10033b58"], ["0x10033c7e", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033b5b"], ["0x10033c83", "mov ecx, esi", "0x10033b60"], ["0x10033c85", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033b62"], ["0x10033c8a", "sub esp, 0x14", "0x10033b67"]]}, {"orig": [["0x10033c8d", "lea eax, [edi + 0xa8]"]], "recomp": [["0x10033b6a", "lea eax, [edi + 0x94]"]]}, {"both": [["0x10033c93", "mov dword ptr [ebp - 0x18], esp", "0x10033b70"], ["0x10033c96", "push eax", "0x10033b73"], ["0x10033c97", "mov ecx, dword ptr [ebp - 0x18]", "0x10033b74"], ["0x10033c9a", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033b77"], ["0x10033c9f", "mov ecx, esi", "0x10033b7c"], ["0x10033ca1", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033b7e"]]}, {"orig": [["0x10033ca6", "jmp 0x8b"]], "recomp": [["0x10033b83", "sub esp, 0x14"], ["0x10033b86", "lea eax, [edi + 0xa8]"], ["0x10033b8c", "mov dword ptr [ebp - 0x14], esp"], ["0x10033b8f", "push eax"], ["0x10033b90", "mov ecx, dword ptr [ebp - 0x14]"], ["0x10033b93", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033b98", "mov ecx, esi"], ["0x10033b9a", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033b9f", "jmp 0x68"]]}, {"both": [["0x10033cab", "mov ecx, dword ptr [ebp - 0x10]", "0x10033ba1"], ["0x10033cae", "jmp MxString::~MxString (FUNCTION)", "0x10033ba4"], ["0x10033cb3", "mov ecx, esi", "0x10033ba9"]]}, {"orig": [["0x10033cb5", "mov eax, dword ptr [esi]"], ["0x10033cb7", "call dword ptr [eax + 0x18]"]], "recomp": [["0x10033bab", "call dword ptr [ebx + 0x18]"]]}, {"both": [["0x10033cba", "test al, al", "0x10033bae"]]}, {"orig": [["0x10033cbc", "je 0x78"]], "recomp": [["0x10033bb0", "je 0x57"]]}, {"both": [["0x10033cbe", "lea eax, [edi + 0x70]", "0x10033bb2"], ["0x10033cc1", "mov ecx, esi", "0x10033bb5"], ["0x10033cc3", "push eax", "0x10033bb7"], ["0x10033cc4", "call LegoFile::ReadString (FUNCTION)", "0x10033bb8"]]}, {"orig": [["0x10033cc9", "mov eax, dword ptr [esi]"]], "recomp": []}, {"both": [["0x10033ccb", "push 4", "0x10033bbd"]]}, {"orig": [["0x10033ccd", "mov ecx, dword ptr [edi + 0x84]"], ["0x10033cd3", "mov ebx, dword ptr [eax + 4]"], ["0x10033cd6", "push ecx"]], "recomp": [["0x10033bbf", "mov eax, dword ptr [edi + 0x84]"], ["0x10033bc5", "push eax"]]}, {"both": [["0x10033cd7", "mov ecx, esi", "0x10033bc6"]]}, {"orig": [["0x10033cd9", "call ebx"]], "recomp": [["0x10033bc8", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033cdb", "mov eax, dword ptr [edi + 0x84]", "0x10033bcb"], ["0x10033ce1", "push 4", "0x10033bd1"], ["0x10033ce3", "add eax, 4", "0x10033bd3"], ["0x10033ce6", "mov ecx, esi", "0x10033bd6"], ["0x10033ce8", "push eax", "0x10033bd8"]]}, {"orig": [["0x10033ce9", "call ebx"]], "recomp": [["0x10033bd9", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033ceb", "mov eax, dword ptr [edi + 0x84]", "0x10033bdc"], ["0x10033cf1", "push 4", "0x10033be2"], ["0x10033cf3", "add eax, 8", "0x10033be4"], ["0x10033cf6", "mov ecx, esi", "0x10033be7"], ["0x10033cf8", "push eax", "0x10033be9"]]}, {"orig": [["0x10033cf9", "call ebx"], ["0x10033cfb", "push 4"], ["0x10033cfd", "mov ecx, dword ptr [edi + 0x98]"]], "recomp": [["0x10033bea", "call dword ptr [ebx + 4]"], ["0x10033bed", "lea ecx, [edi + 0x94]"]]}, {"both": [["0x10033d03", "push ecx", "0x10033bf3"], ["0x10033d04", "mov ecx, esi", "0x10033bf4"]]}, {"orig": [["0x10033d06", "call ebx"], ["0x10033d08", "mov eax, dword ptr [edi + 0x98]"], ["0x10033d0e", "push 4"], ["0x10033d10", "add eax, 4"], ["0x10033d13", "mov ecx, esi"], ["0x10033d15", "push eax"], ["0x10033d16", "call ebx"], ["0x10033d18", "mov eax, dword ptr [edi + 0x98]"], ["0x10033d1e", "push 4"], ["0x10033d20", "add eax, 8"], ["0x10033d23", "mov ecx, esi"], ["0x10033d25", "push eax"], ["0x10033d26", "call ebx"]], "recomp": [["0x10033bf6", "call LegoFile::ReadVector3 (FUNCTION)"]]}, {"both": [["0x10033d28", "lea ecx, [edi + 0xa8]", "0x10033bfb"], ["0x10033d2e", "push ecx", "0x10033c01"], ["0x10033d2f", "mov ecx, esi", "0x10033c02"], ["0x10033d31", "call LegoFile::ReadVector3 (FUNCTION)", "0x10033c04"], ["0x10033d36", "mov ecx, esi", "0x10033c09"]]}, {"orig": [["0x10033d38", "call dword ptr [ebp - 0x14]"]], "recomp": [["0x10033c0b", "call dword ptr [ebx + 0x14]"]]}, {"both": [["0x10033d3b", "test al, al", "0x10033c0e"], ["0x10033d3d", "je 0x88", "0x10033c10"], ["0x10033d43", "sub esp, 0x10", "0x10033c16"], ["0x10033d46", "lea eax, [edi + 0xbc]", "0x10033c19"], ["0x10033d4c", "mov dword ptr [ebp - 0x10], esp", "0x10033c1f"], ["0x10033d4f", "push eax", "0x10033c22"], ["0x10033d50", "mov ecx, dword ptr [ebp - 0x10]", "0x10033c23"], ["0x10033d53", "call MxString::MxString (FUNCTION)", "0x10033c26"], ["0x10033d58", "mov dword ptr [ebp - 4], 3", "0x10033c2b"], ["0x10033d5f", "mov dword ptr [ebp - 4], 0xffffffff", "0x10033c32"], ["0x10033d66", "mov ecx, esi", "0x10033c39"], ["0x10033d68", "call LegoFile::WriteString (FUNCTION)", "0x10033c3b"], ["0x10033d6d", "sub esp, 0x14", "0x10033c40"], ["0x10033d70", "lea eax, [edi + 0xcc]", "0x10033c43"]]}, {"orig": [["0x10033d76", "mov dword ptr [ebp - 0x20], esp"], ["0x10033d79", "push eax"], ["0x10033d7a", "mov ecx, dword ptr [ebp - 0x20]"], ["0x10033d7d", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033d82", "mov ecx, esi"], ["0x10033d84", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033d89", "sub esp, 0x14"], ["0x10033d8c", "lea eax, [edi + 0xe0]"]], "recomp": []}, {"both": [["0x10033d92", "mov dword ptr [ebp - 0x1c], esp", "0x10033c49"], ["0x10033d95", "push eax", "0x10033c4c"], ["0x10033d96", "mov ecx, dword ptr [ebp - 0x1c]", "0x10033c4d"], ["0x10033d99", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033c50"], ["0x10033d9e", "mov ecx, esi", "0x10033c55"], ["0x10033da0", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033c57"], ["0x10033da5", "sub esp, 0x14", "0x10033c5c"]]}, {"orig": [["0x10033da8", "lea eax, [edi + 0xf4]"]], "recomp": [["0x10033c5f", "lea eax, [edi + 0xe0]"]]}, {"both": [["0x10033dae", "mov dword ptr [ebp - 0x18], esp", "0x10033c65"], ["0x10033db1", "push eax", "0x10033c68"], ["0x10033db2", "mov ecx, dword ptr [ebp - 0x18]", "0x10033c69"], ["0x10033db5", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033c6c"], ["0x10033dba", "mov ecx, esi", "0x10033c71"], ["0x10033dbc", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033c73"]]}, {"orig": [["0x10033dc1", "jmp 0x6f"]], "recomp": [["0x10033c78", "sub esp, 0x14"], ["0x10033c7b", "lea eax, [edi + 0xf4]"], ["0x10033c81", "mov dword ptr [ebp - 0x14], esp"], ["0x10033c84", "push eax"], ["0x10033c85", "mov ecx, dword ptr [ebp - 0x14]"], ["0x10033c88", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033c8d", "mov ecx, esi"], ["0x10033c8f", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033c94", "jmp 0x6b"]]}, {"both": [["0x10033dc3", "mov ecx, dword ptr [ebp - 0x10]", "0x10033c96"], ["0x10033dc6", "jmp MxString::~MxString (FUNCTION)", "0x10033c99"], ["0x10033dcb", "mov ecx, esi", "0x10033c9e"]]}, {"orig": [["0x10033dcd", "mov eax, dword ptr [esi]"], ["0x10033dcf", "call dword ptr [eax + 0x18]"]], "recomp": [["0x10033ca0", "call dword ptr [ebx + 0x18]"]]}, {"both": [["0x10033dd2", "test al, al", "0x10033ca3"]]}, {"orig": [["0x10033dd4", "je 0x5c"]], "recomp": [["0x10033ca5", "je 0x5a"]]}, {"both": [["0x10033dd6", "lea eax, [edi + 0xbc]", "0x10033ca7"], ["0x10033ddc", "mov ecx, esi", "0x10033cad"], ["0x10033dde", "push eax", "0x10033caf"], ["0x10033ddf", "call LegoFile::ReadString (FUNCTION)", "0x10033cb0"]]}, {"orig": [["0x10033de4", "mov eax, dword ptr [esi]"]], "recomp": []}, {"both": [["0x10033de6", "push 4", "0x10033cb5"]]}, {"orig": [["0x10033de8", "mov ecx, dword ptr [edi + 0xd0]"], ["0x10033dee", "mov ebx, dword ptr [eax + 4]"], ["0x10033df1", "push ecx"]], "recomp": [["0x10033cb7", "mov eax, dword ptr [edi + 0xd0]"], ["0x10033cbd", "push eax"]]}, {"both": [["0x10033df2", "mov ecx, esi", "0x10033cbe"]]}, {"orig": [["0x10033df4", "call ebx"]], "recomp": [["0x10033cc0", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033df6", "mov eax, dword ptr [edi + 0xd0]", "0x10033cc3"], ["0x10033dfc", "push 4", "0x10033cc9"], ["0x10033dfe", "add eax, 4", "0x10033ccb"], ["0x10033e01", "mov ecx, esi", "0x10033cce"], ["0x10033e03", "push eax", "0x10033cd0"]]}, {"orig": [["0x10033e04", "call ebx"]], "recomp": [["0x10033cd1", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033e06", "mov eax, dword ptr [edi + 0xd0]", "0x10033cd4"], ["0x10033e0c", "push 4", "0x10033cda"], ["0x10033e0e", "add eax, 8", "0x10033cdc"], ["0x10033e11", "mov ecx, esi", "0x10033cdf"], ["0x10033e13", "push eax", "0x10033ce1"]]}, {"orig": [["0x10033e14", "call ebx"]], "recomp": [["0x10033ce2", "call dword ptr [ebx + 4]"]]}, {"both": [["0x10033e16", "lea ecx, [edi + 0xe0]", "0x10033ce5"], ["0x10033e1c", "push ecx", "0x10033ceb"], ["0x10033e1d", "mov ecx, esi", "0x10033cec"], ["0x10033e1f", "call LegoFile::ReadVector3 (FUNCTION)", "0x10033cee"], ["0x10033e24", "lea ecx, [edi + 0xf4]", "0x10033cf3"], ["0x10033e2a", "push ecx", "0x10033cf9"], ["0x10033e2b", "mov ecx, esi", "0x10033cfa"], ["0x10033e2d", "call LegoFile::ReadVector3 (FUNCTION)", "0x10033cfc"], ["0x10033e32", "mov ecx, esi", "0x10033d01"]]}, {"orig": [["0x10033e34", "call dword ptr [ebp - 0x14]"]], "recomp": [["0x10033d03", "call dword ptr [ebx + 0x14]"]]}, {"both": [["0x10033e37", "test al, al", "0x10033d06"]]}, {"orig": [["0x10033e39", "je 0x92"]], "recomp": [["0x10033d08", "je 0x88"]]}, {"both": [["0x10033e3f", "sub esp, 0x10", "0x10033d0e"], ["0x10033e42", "lea eax, [edi + 0x108]", "0x10033d11"], ["0x10033e48", "mov dword ptr [ebp - 0x10], esp", "0x10033d17"], ["0x10033e4b", "push eax", "0x10033d1a"], ["0x10033e4c", "mov ecx, dword ptr [ebp - 0x10]", "0x10033d1b"], ["0x10033e4f", "call MxString::MxString (FUNCTION)", "0x10033d1e"], ["0x10033e54", "mov dword ptr [ebp - 4], 4", "0x10033d23"], ["0x10033e5b", "mov dword ptr [ebp - 4], 0xffffffff", "0x10033d2a"], ["0x10033e62", "mov ecx, esi", "0x10033d31"], ["0x10033e64", "call LegoFile::WriteString (FUNCTION)", "0x10033d33"], ["0x10033e69", "sub esp, 0x14", "0x10033d38"], ["0x10033e6c", "lea eax, [edi + 0x118]", "0x10033d3b"]]}, {"orig": [["0x10033e72", "mov dword ptr [ebp - 0x20], esp"], ["0x10033e75", "push eax"], ["0x10033e76", "mov ecx, dword ptr [ebp - 0x20]"], ["0x10033e79", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033e7e", "mov ecx, esi"], ["0x10033e80", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033e85", "sub esp, 0x14"], ["0x10033e88", "lea eax, [edi + 0x12c]"]], "recomp": []}, {"both": [["0x10033e8e", "mov dword ptr [ebp - 0x1c], esp", "0x10033d41"], ["0x10033e91", "push eax", "0x10033d44"], ["0x10033e92", "mov ecx, dword ptr [ebp - 0x1c]", "0x10033d45"], ["0x10033e95", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033d48"], ["0x10033e9a", "mov ecx, esi", "0x10033d4d"], ["0x10033e9c", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033d4f"], ["0x10033ea1", "sub esp, 0x14", "0x10033d54"]]}, {"orig": [["0x10033ea4", "lea eax, [edi + 0x140]"]], "recomp": [["0x10033d57", "lea eax, [edi + 0x12c]"]]}, {"both": [["0x10033eaa", "mov dword ptr [ebp - 0x18], esp", "0x10033d5d"], ["0x10033ead", "push eax", "0x10033d60"], ["0x10033eae", "mov ecx, dword ptr [ebp - 0x18]", "0x10033d61"], ["0x10033eb1", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10033d64"], ["0x10033eb6", "mov ecx, esi", "0x10033d69"], ["0x10033eb8", "call LegoFile::WriteVector3 (FUNCTION)", "0x10033d6b"]]}, {"orig": [["0x10033ebd", "jmp 0x79"]], "recomp": [["0x10033d70", "sub esp, 0x14"], ["0x10033d73", "lea eax, [edi + 0x140]"], ["0x10033d79", "mov dword ptr [ebp - 0x14], esp"], ["0x10033d7c", "push eax"], ["0x10033d7d", "mov ecx, dword ptr [ebp - 0x14]"], ["0x10033d80", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033d85", "mov ecx, esi"], ["0x10033d87", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033d8c", "jmp 0x49"], ["0x10033d8e", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10033d91", "jmp MxString::~MxString (FUNCTION)"], ["0x10033d96", "mov ecx, esi"], ["0x10033d98", "call dword ptr [ebx + 0x18]"], ["0x10033d9b", "test al, al"], ["0x10033d9d", "je 0x38"], ["0x10033d9f", "lea eax, [edi + 0x108]"], ["0x10033da5", "mov ecx, esi"], ["0x10033da7", "push eax"], ["0x10033da8", "call LegoFile::ReadString (FUNCTION)"], ["0x10033dad", "lea eax, [edi + 0x118]"], ["0x10033db3", "mov ecx, esi"], ["0x10033db5", "push eax"], ["0x10033db6", "call LegoFile::ReadVector3 (FUNCTION)"], ["0x10033dbb", "lea eax, [edi + 0x12c]"], ["0x10033dc1", "mov ecx, esi"], ["0x10033dc3", "push eax"], ["0x10033dc4", "call LegoFile::ReadVector3 (FUNCTION)"], ["0x10033dc9", "lea eax, [edi + 0x140]"], ["0x10033dcf", "mov ecx, esi"], ["0x10033dd1", "push eax"], ["0x10033dd2", "call LegoFile::ReadVector3 (FUNCTION)"], ["0x10033dd7", "mov ecx, esi"], ["0x10033dd9", "call dword ptr [ebx + 0x14]"], ["0x10033ddc", "test al, al"], ["0x10033dde", "je 0x92"], ["0x10033de4", "sub esp, 0x10"], ["0x10033de7", "lea eax, [edi + 0x164]"], ["0x10033ded", "mov dword ptr [ebp - 0x10], esp"], ["0x10033df0", "push eax"], ["0x10033df1", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10033df4", "call MxString::MxString (FUNCTION)"], ["0x10033df9", "mov dword ptr [ebp - 4], 5"], ["0x10033e00", "mov dword ptr [ebp - 4], 0xffffffff"], ["0x10033e07", "mov ecx, esi"], ["0x10033e09", "call LegoFile::WriteString (FUNCTION)"], ["0x10033e0e", "sub esp, 0x14"], ["0x10033e11", "lea eax, [edi + 0x174]"], ["0x10033e17", "mov dword ptr [ebp - 0x1c], esp"], ["0x10033e1a", "push eax"], ["0x10033e1b", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x10033e1e", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033e23", "mov ecx, esi"], ["0x10033e25", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033e2a", "sub esp, 0x14"], ["0x10033e2d", "lea eax, [edi + 0x188]"], ["0x10033e33", "mov dword ptr [ebp - 0x18], esp"], ["0x10033e36", "push eax"], ["0x10033e37", "mov ecx, dword ptr [ebp - 0x18]"], ["0x10033e3a", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033e3f", "mov ecx, esi"], ["0x10033e41", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033e46", "sub esp, 0x14"], ["0x10033e49", "lea eax, [edi + 0x19c]"], ["0x10033e4f", "mov dword ptr [ebp - 0x14], esp"], ["0x10033e52", "push eax"], ["0x10033e53", "mov ecx, dword ptr [ebp - 0x14]"], ["0x10033e56", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)"], ["0x10033e5b", "mov ecx, esi"], ["0x10033e5d", "call LegoFile::WriteVector3 (FUNCTION)"], ["0x10033e62", "jmp 0x53"]]}, {"both": [["0x10033ebf", "mov eax, <OFFSET9>", "0x10033e64"], ["0x10033ec4", "jmp ___CxxFrameHandler (FUNCTION)", "0x10033e69"], ["0x10033ec9", "mov ecx, dword ptr [ebp - 0x10]", "0x10033e6e"], ["0x10033ecc", "jmp MxString::~MxString (FUNCTION)", "0x10033e71"], ["0x10033ed1", "mov ecx, esi", "0x10033e76"]]}, {"orig": [["0x10033ed3", "mov eax, dword ptr [esi]"], ["0x10033ed5", "call dword ptr [eax + 0x18]"]], "recomp": [["0x10033e78", "call dword ptr [ebx + 0x18]"]]}, {"both": [["0x10033ed8", "test al, al", "0x10033e7b"]]}, {"orig": [["0x10033eda", "je 0x5c"], ["0x10033edc", "lea eax, [edi + 0x108]"]], "recomp": [["0x10033e7d", "je 0x38"], ["0x10033e7f", "lea eax, [edi + 0x164]"]]}, {"both": [["0x10033ee2", "mov ecx, esi", "0x10033e85"], ["0x10033ee4", "push eax", "0x10033e87"], ["0x10033ee5", "call LegoFile::ReadString (FUNCTION)", "0x10033e88"]]}, {"orig": [["0x10033eea", "mov eax, dword ptr [esi]"], ["0x10033eec", "push 4"], ["0x10033eee", "mov ecx, dword ptr [edi + 0x11c]"], ["0x10033ef4", "mov ebx, dword ptr [eax + 4]"], ["0x10033ef7", "push ecx"], ["0x10033ef8", "mov ecx, esi"], ["0x10033efa", "call ebx"], ["0x10033efc", "mov eax, dword ptr [edi + 0x11c]"], ["0x10033f02", "push 4"], ["0x10033f04", "add eax, 4"]], "recomp": [["0x10033e8d", "lea eax, [edi + 0x174]"]]}, {"both": [["0x10033f07", "mov ecx, esi", "0x10033e93"], ["0x10033f09", "push eax", "0x10033e95"]]}, {"orig": [["0x10033f0a", "call ebx"], ["0x10033f0c", "mov eax, dword ptr [edi + 0x11c]"], ["0x10033f12", "push 4"], ["0x10033f14", "add eax, 8"]], "recomp": [["0x10033e96", "call LegoFile::ReadVector3 (FUNCTION)"], ["0x10033e9b", "lea eax, [edi + 0x188]"]]}, {"both": [["0x10033f17", "mov ecx, esi", "0x10033ea1"], ["0x10033f19", "push eax", "0x10033ea3"]]}, {"orig": [["0x10033f1a", "call ebx"], ["0x10033f1c", "lea ecx, [edi + 0x12c]"], ["0x10033f22", "push ecx"]], "recomp": [["0x10033ea4", "call LegoFile::ReadVector3 (FUNCTION)"], ["0x10033ea9", "lea eax, [edi + 0x19c]"]]}, {"both": [["0x10033f23", "mov ecx, esi", "0x10033eaf"]]}, {"orig": [], "recomp": [["0x10033eb1", "push eax"]]}, {"both": [["0x10033f25", "call LegoFile::ReadVector3 (FUNCTION)", "0x10033eb2"]]}, {"orig": [["0x10033f2a", "lea ecx, [edi + 0x140]"], ["0x10033f30", "push ecx"], ["0x10033f31", "mov ecx, esi"], ["0x10033f33", "call LegoFile::ReadVector3 (FUNCTION)"], ["0x10033f38", "push esi"], ["0x10033f39", "lea ecx, [edi + 0x164]"], ["0x10033f3f", "call LegoNamedPlane::Serialize (FUNCTION)"]], "recomp": []}, {"both": [["0x10033f44", "push esi", "0x10033eb7"], ["0x10033f45", "lea ecx, [edi + 0x1bc]", "0x10033eb8"], ["0x10033f4b", "call LegoNamedPlane::Serialize (FUNCTION)", "0x10033ebe"], ["0x10033f50", "push esi", "0x10033ec3"], ["0x10033f51", "lea ecx, [edi + 0x210]", "0x10033ec4"], ["0x10033f57", "call LegoNamedPlane::Serialize (FUNCTION)", "0x10033eca"], ["0x10033f5c", "mov ecx, esi", "0x10033ecf"]]}, {"orig": [["0x10033f5e", "call dword ptr [ebp - 0x14]"]], "recomp": [["0x10033ed1", "call dword ptr [ebx + 0x14]"]]}, {"both": [["0x10033f61", "test al, al", "0x10033ed4"]]}, {"orig": [["0x10033f63", "jne 0x1fe"]], "recomp": [["0x10033ed6", "je 0x21f"], ["0x10033edc", "mov eax, dword ptr [edi + 0x110]"], ["0x10033ee2", "mov edx, '' (STRING)"], ["0x10033ee7", "mov cl, byte ptr [eax]"], ["0x10033ee9", "cmp cl, byte ptr [edx]"], ["0x10033eeb", "jne 0x1a"], ["0x10033eed", "or cl, cl"], ["0x10033eef", "je 0x12"], ["0x10033ef1", "mov cl, byte ptr [eax + 1]"], ["0x10033ef4", "cmp cl, byte ptr [edx + 1]"], ["0x10033ef7", "jne 0xe"], ["0x10033ef9", "add eax, 2"], ["0x10033efc", "add edx, 2"], ["0x10033eff", "or cl, cl"], ["0x10033f01", "jne -0x1c"], ["0x10033f03", "xor eax, eax"], ["0x10033f05", "jmp 0x5"], ["0x10033f07", "sbb eax, eax"], ["0x10033f09", "sbb eax, -1"], ["0x10033f0c", "test eax, eax"], ["0x10033f0e", "je 0x63"], ["0x10033f10", "mov eax, dword ptr [edi + 0x154]"], ["0x10033f16", "test eax, eax"], ["0x10033f18", "je 0x9"], ["0x10033f1a", "push eax"], ["0x10033f1b", "push esi"], ["0x10033f1c", "call WriteNamedTexture (FUNCTION)"], ["0x10033f21", "jmp 0xb"], ["0x10033f23", "push 'chwind.gif' (STRING)"], ["0x10033f28", "push esi"], ["0x10033f29", "call WriteDefaultTexture (FUNCTION)"], ["0x10033f2e", "add esp, 8"], ["0x10033f31", "mov eax, dword ptr [edi + 0x158]"], ["0x10033f37", "test eax, eax"], ["0x10033f39", "je 0x9"], ["0x10033f3b", "push eax"], ["0x10033f3c", "push esi"], ["0x10033f3d", "call WriteNamedTexture (FUNCTION)"], ["0x10033f42", "jmp 0xb"], ["0x10033f44", "push 'chjetl.gif' (STRING)"], ["0x10033f49", "push esi"], ["0x10033f4a", "call WriteDefaultTexture (FUNCTION)"], ["0x10033f4f", "add esp, 8"], ["0x10033f52", "mov eax, dword ptr [edi + 0x15c]"], ["0x10033f58", "test eax, eax"], ["0x10033f5a", "je 0x9"], ["0x10033f5c", "push eax"], ["0x10033f5d", "push esi"], ["0x10033f5e", "call WriteNamedTexture (FUNCTION)"], ["0x10033f63", "jmp 0xb"], ["0x10033f65", "push 'chjetr.gif' (STRING)"], ["0x10033f6a", "push esi"], ["0x10033f6b", "call WriteDefaultTexture (FUNCTION)"], ["0x10033f70", "add esp, 8"], ["0x10033f73", "mov eax, dword ptr [edi + 0x16c]"], ["0x10033f79", "mov edx, '' (STRING)"], ["0x10033f7e", "mov cl, byte ptr [eax]"], ["0x10033f80", "cmp cl, byte ptr [edx]"], ["0x10033f82", "jne 0x1a"], ["0x10033f84", "or cl, cl"], ["0x10033f86", "je 0x12"], ["0x10033f88", "mov cl, byte ptr [eax + 1]"], ["0x10033f8b", "cmp cl, byte ptr [edx + 1]"], ["0x10033f8e", "jne 0xe"], ["0x10033f90", "add eax, 2"], ["0x10033f93", "add edx, 2"], ["0x10033f96", "or cl, cl"], ["0x10033f98", "jne -0x1c"], ["0x10033f9a", "xor eax, eax"], ["0x10033f9c", "jmp 0x5"], ["0x10033f9e", "sbb eax, eax"], ["0x10033fa0", "sbb eax, -1"], ["0x10033fa3", "test eax, eax"], ["0x10033fa5", "je 0x42"], ["0x10033fa7", "mov eax, dword ptr [edi + 0x1b0]"], ["0x10033fad", "test eax, eax"], ["0x10033faf", "je 0x9"], ["0x10033fb1", "push eax"], ["0x10033fb2", "push esi"], ["0x10033fb3", "call WriteNamedTexture (FUNCTION)"], ["0x10033fb8", "jmp 0xb"], ["0x10033fba", "push 'jsfrnt.gif' (STRING)"], ["0x10033fbf", "push esi"], ["0x10033fc0", "call WriteDefaultTexture (FUNCTION)"], ["0x10033fc5", "add esp, 8"], ["0x10033fc8", "mov eax, dword ptr [edi + 0x1b4]"], ["0x10033fce", "test eax, eax"], ["0x10033fd0", "je 0x9"], ["0x10033fd2", "push eax"], ["0x10033fd3", "push esi"], ["0x10033fd4", "call WriteNamedTexture (FUNCTION)"], ["0x10033fd9", "jmp 0xb"], ["0x10033fdb", "push 'jswnsh.gif' (STRING)"], ["0x10033fe0", "push esi"], ["0x10033fe1", "call WriteDefaultTexture (FUNCTION)"], ["0x10033fe6", "add esp, 8"], ["0x10033fe9", "mov eax, dword ptr [edi + 0x1c4]"], ["0x10033fef", "mov edx, '' (STRING)"], ["0x10033ff4", "mov cl, byte ptr [eax]"], ["0x10033ff6", "cmp cl, byte ptr [edx]"], ["0x10033ff8", "jne 0x1a"], ["0x10033ffa", "or cl, cl"], ["0x10033ffc", "je 0x12"], ["0x10033ffe", "mov cl, byte ptr [eax + 1]"], ["0x10034001", "cmp cl, byte ptr [edx + 1]"], ["0x10034004", "jne 0xe"], ["0x10034006", "add eax, 2"], ["0x10034009", "add edx, 2"], ["0x1003400c", "or cl, cl"], ["0x1003400e", "jne -0x1c"], ["0x10034010", "xor eax, eax"], ["0x10034012", "jmp 0x5"], ["0x10034014", "sbb eax, eax"], ["0x10034016", "sbb eax, -1"], ["0x10034019", "test eax, eax"], ["0x1003401b", "je 0x21"], ["0x1003401d", "mov eax, dword ptr [edi + 0x208]"], ["0x10034023", "test eax, eax"], ["0x10034025", "je 0x9"], ["0x10034027", "push eax"], ["0x10034028", "push esi"], ["0x10034029", "call WriteNamedTexture (FUNCTION)"], ["0x1003402e", "jmp 0xb"], ["0x10034030", "push 'dbfrfn.gif' (STRING)"], ["0x10034035", "push esi"], ["0x10034036", "call WriteDefaultTexture (FUNCTION)"], ["0x1003403b", "add esp, 8"], ["0x1003403e", "mov eax, dword ptr [edi + 0x218]"], ["0x10034044", "mov edx, '' (STRING)"], ["0x10034049", "mov cl, byte ptr [eax]"], ["0x1003404b", "cmp cl, byte ptr [edx]"], ["0x1003404d", "jne 0x1a"], ["0x1003404f", "or cl, cl"], ["0x10034051", "je 0x12"], ["0x10034053", "mov cl, byte ptr [eax + 1]"], ["0x10034056", "cmp cl, byte ptr [edx + 1]"], ["0x10034059", "jne 0xe"], ["0x1003405b", "add eax, 2"], ["0x1003405e", "add edx, 2"], ["0x10034061", "or cl, cl"], ["0x10034063", "jne -0x1c"], ["0x10034065", "xor eax, eax"], ["0x10034067", "jmp 0x5"], ["0x10034069", "sbb eax, eax"], ["0x1003406b", "sbb eax, -1"], ["0x1003406e", "test eax, eax"], ["0x10034070", "je 0x63"], ["0x10034072", "mov eax, dword ptr [edi + 0x25c]"], ["0x10034078", "test eax, eax"], ["0x1003407a", "je 0x9"], ["0x1003407c", "push eax"], ["0x1003407d", "push esi"], ["0x1003407e", "call WriteNamedTexture (FUNCTION)"], ["0x10034083", "jmp 0xb"], ["0x10034085", "push 'rcfrnt.gif' (STRING)"], ["0x1003408a", "push esi"], ["0x1003408b", "call WriteDefaultTexture (FUNCTION)"], ["0x10034090", "add esp, 8"], ["0x10034093", "mov eax, dword ptr [edi + 0x260]"], ["0x10034099", "test eax, eax"], ["0x1003409b", "je 0x9"], ["0x1003409d", "push eax"], ["0x1003409e", "push esi"], ["0x1003409f", "call WriteNamedTexture (FUNCTION)"], ["0x100340a4", "jmp 0xb"], ["0x100340a6", "push 'rcback.gif' (STRING)"], ["0x100340ab", "push esi"], ["0x100340ac", "call WriteDefaultTexture (FUNCTION)"], ["0x100340b1", "add esp, 8"], ["0x100340b4", "mov eax, dword ptr [edi + 0x264]"], ["0x100340ba", "test eax, eax"], ["0x100340bc", "je 0x9"], ["0x100340be", "push eax"], ["0x100340bf", "push esi"], ["0x100340c0", "call WriteNamedTexture (FUNCTION)"], ["0x100340c5", "jmp 0xb"], ["0x100340c7", "push 'rctail.gif' (STRING)"], ["0x100340cc", "push esi"], ["0x100340cd", "call WriteDefaultTexture (FUNCTION)"], ["0x100340d2", "add esp, 8"], ["0x100340d5", "mov ax, word ptr [edi + 0x10]"], ["0x100340d9", "push 2"], ["0x100340db", "mov word ptr [ebp - 0xe], ax"]]}, {"both": [["0x10033f69", "mov ecx, esi", "0x100340df"]]}, {"orig": [["0x10033f6b", "mov eax, dword ptr [esi]"], ["0x10033f6d", "call dword ptr [eax + 0x18]"]], "recomp": [["0x100340e1", "mov ebx, dword ptr [ebx + 8]"], ["0x100340e4", "lea eax, [ebp - 0xe]"], ["0x100340e7", "push eax"], ["0x100340e8", "call ebx"], ["0x100340ea", "mov al, byte ptr [edi + 0x22]"], ["0x100340ed", "push 1"], ["0x100340ef", "mov byte ptr [ebp - 0xd], al"], ["0x100340f2", "lea eax, [ebp - 0xd]"], ["0x100340f5", "push eax"], ["0x100340f6", "jmp 0x1ec"], ["0x100340fb", "mov ecx, esi"], ["0x100340fd", "call dword ptr [ebx + 0x18]"]]}, {"both": [["0x10033f70", "test al, al", "0x10034100"]]}, {"orig": [["0x10033f72", "je 0x40f"]], "recomp": [["0x10034102", "je 0x1e3"]]}, {"both": [["0x10033f78", "mov eax, dword ptr [edi + 0x110]", "0x10034108"], ["0x10033f7e", "mov edx, '' (STRING)", "0x1003410e"], ["0x10033f83", "mov cl, byte ptr [eax]", "0x10034113"], ["0x10033f85", "cmp cl, byte ptr [edx]", "0x10034115"], ["0x10033f87", "jne 0x1a", "0x10034117"], ["0x10033f89", "or cl, cl", "0x10034119"], ["0x10033f8b", "je 0x12", "0x1003411b"], ["0x10033f8d", "mov cl, byte ptr [eax + 1]", "0x1003411d"], ["0x10033f90", "cmp cl, byte ptr [edx + 1]", "0x10034120"], ["0x10033f93", "jne 0xe", "0x10034123"]]}]], ["@@ -0x10033fa5,37 +0x10034135,37 @@", [{"both": [["0x10033fa5", "sbb eax, -1", "0x10034135"], ["0x10033fa8", "test eax, eax", "0x10034138"], ["0x10033faa", "je 0x57", "0x1003413a"], ["0x10033fac", "push esi", "0x1003413c"], ["0x10033fad", "call ReadNamedTexture (FUNCTION)", "0x1003413d"], ["0x10033fb2", "add esp, 4", "0x10034142"], ["0x10033fb5", "mov dword ptr [edi + 0x154], eax", "0x10034145"], ["0x10033fbb", "test eax, eax", "0x1003414b"], ["0x10033fbd", "jne 0xa", "0x1003414d"], ["0x10033fbf", "mov eax, 0xffffffff", "0x1003414f"]]}, {"orig": [["0x10033fc4", "jmp 0x3c0"]], "recomp": [["0x10034154", "jmp 0x194"]]}, {"both": [["0x10033fc9", "push esi", "0x10034159"], ["0x10033fca", "call ReadNamedTexture (FUNCTION)", "0x1003415a"], ["0x10033fcf", "add esp, 4", "0x1003415f"], ["0x10033fd2", "mov dword ptr [edi + 0x158], eax", "0x10034162"], ["0x10033fd8", "test eax, eax", "0x10034168"], ["0x10033fda", "jne 0xa", "0x1003416a"], ["0x10033fdc", "mov eax, 0xffffffff", "0x1003416c"]]}, {"orig": [["0x10033fe1", "jmp 0x3a3"]], "recomp": [["0x10034171", "jmp 0x177"]]}, {"both": [["0x10033fe6", "push esi", "0x10034176"], ["0x10033fe7", "call ReadNamedTexture (FUNCTION)", "0x10034177"], ["0x10033fec", "add esp, 4", "0x1003417c"], ["0x10033fef", "mov dword ptr [edi + 0x15c], eax", "0x1003417f"], ["0x10033ff5", "test eax, eax", "0x10034185"], ["0x10033ff7", "jne 0xa", "0x10034187"], ["0x10033ff9", "mov eax, 0xffffffff", "0x10034189"]]}, {"orig": [["0x10033ffe", "jmp 0x386"]], "recomp": [["0x1003418e", "jmp 0x15a"]]}, {"both": [["0x10034003", "mov eax, dword ptr [edi + 0x16c]", "0x10034193"], ["0x10034009", "mov edx, '' (STRING)", "0x10034199"], ["0x1003400e", "mov cl, byte ptr [eax]", "0x1003419e"], ["0x10034010", "cmp cl, byte ptr [edx]", "0x100341a0"], ["0x10034012", "jne 0x1a", "0x100341a2"], ["0x10034014", "or cl, cl", "0x100341a4"], ["0x10034016", "je 0x12", "0x100341a6"], ["0x10034018", "mov cl, byte ptr [eax + 1]", "0x100341a8"], ["0x1003401b", "cmp cl, byte ptr [edx + 1]", "0x100341ab"], ["0x1003401e", "jne 0xe", "0x100341ae"]]}]], ["@@ -0x10034030,29 +0x100341c0,29 @@", [{"both": [["0x10034030", "sbb eax, -1", "0x100341c0"], ["0x10034033", "test eax, eax", "0x100341c3"], ["0x10034035", "je 0x3a", "0x100341c5"], ["0x10034037", "push esi", "0x100341c7"], ["0x10034038", "call ReadNamedTexture (FUNCTION)", "0x100341c8"], ["0x1003403d", "add esp, 4", "0x100341cd"], ["0x10034040", "mov dword ptr [edi + 0x1b0], eax", "0x100341d0"], ["0x10034046", "test eax, eax", "0x100341d6"], ["0x10034048", "jne 0xa", "0x100341d8"], ["0x1003404a", "mov eax, 0xffffffff", "0x100341da"]]}, {"orig": [["0x1003404f", "jmp 0x335"]], "recomp": [["0x100341df", "jmp 0x109"]]}, {"both": [["0x10034054", "push esi", "0x100341e4"], ["0x10034055", "call ReadNamedTexture (FUNCTION)", "0x100341e5"], ["0x1003405a", "add esp, 4", "0x100341ea"], ["0x1003405d", "mov dword ptr [edi + 0x1b4], eax", "0x100341ed"], ["0x10034063", "test eax, eax", "0x100341f3"], ["0x10034065", "jne 0xa", "0x100341f5"], ["0x10034067", "mov eax, 0xffffffff", "0x100341f7"]]}, {"orig": [["0x1003406c", "jmp 0x318"]], "recomp": [["0x100341fc", "jmp 0xec"]]}, {"both": [["0x10034071", "mov eax, dword ptr [edi + 0x1c4]", "0x10034201"], ["0x10034077", "mov edx, '' (STRING)", "0x10034207"], ["0x1003407c", "mov cl, byte ptr [eax]", "0x1003420c"], ["0x1003407e", "cmp cl, byte ptr [edx]", "0x1003420e"], ["0x10034080", "jne 0x1a", "0x10034210"], ["0x10034082", "or cl, cl", "0x10034212"], ["0x10034084", "je 0x12", "0x10034214"], ["0x10034086", "mov cl, byte ptr [eax + 1]", "0x10034216"], ["0x10034089", "cmp cl, byte ptr [edx + 1]", "0x10034219"], ["0x1003408c", "jne 0xe", "0x1003421c"]]}]], ["@@ -0x1003409e,269 +0x1003422e,74 @@", [{"both": [["0x1003409e", "sbb eax, -1", "0x1003422e"], ["0x100340a1", "test eax, eax", "0x10034231"], ["0x100340a3", "je 0x1d", "0x10034233"], ["0x100340a5", "push esi", "0x10034235"], ["0x100340a6", "call ReadNamedTexture (FUNCTION)", "0x10034236"], ["0x100340ab", "add esp, 4", "0x1003423b"], ["0x100340ae", "mov dword ptr [edi + 0x208], eax", "0x1003423e"], ["0x100340b4", "test eax, eax", "0x10034244"], ["0x100340b6", "jne 0xa", "0x10034246"], ["0x100340b8", "mov eax, 0xffffffff", "0x10034248"]]}, {"orig": [["0x100340bd", "jmp 0x2c7"]], "recomp": [["0x1003424d", "jmp 0x9b"]]}, {"both": [["0x100340c2", "mov eax, dword ptr [edi + 0x218]", "0x10034252"], ["0x100340c8", "mov edx, '' (STRING)", "0x10034258"], ["0x100340cd", "mov cl, byte ptr [eax]", "0x1003425d"], ["0x100340cf", "cmp cl, byte ptr [edx]", "0x1003425f"], ["0x100340d1", "jne 0x1a", "0x10034261"], ["0x100340d3", "or cl, cl", "0x10034263"], ["0x100340d5", "je 0x12", "0x10034265"], ["0x100340d7", "mov cl, byte ptr [eax + 1]", "0x10034267"], ["0x100340da", "cmp cl, byte ptr [edx + 1]", "0x1003426a"], ["0x100340dd", "jne 0xe", "0x1003426d"], ["0x100340df", "add eax, 2", "0x1003426f"], ["0x100340e2", "add edx, 2", "0x10034272"], ["0x100340e5", "or cl, cl", "0x10034275"], ["0x100340e7", "jne -0x1c", "0x10034277"], ["0x100340e9", "xor eax, eax", "0x10034279"], ["0x100340eb", "jmp 0x5", "0x1003427b"], ["0x100340ed", "sbb eax, eax", "0x1003427d"], ["0x100340ef", "sbb eax, -1", "0x1003427f"], ["0x100340f2", "test eax, eax", "0x10034282"]]}, {"orig": [["0x100340f4", "je 0x57"]], "recomp": [["0x10034284", "je 0x4e"]]}, {"both": [["0x100340f6", "push esi", "0x10034286"], ["0x100340f7", "call ReadNamedTexture (FUNCTION)", "0x10034287"], ["0x100340fc", "add esp, 4", "0x1003428c"], ["0x100340ff", "mov dword ptr [edi + 0x25c], eax", "0x1003428f"], ["0x10034105", "test eax, eax", "0x10034295"]]}, {"orig": [["0x10034107", "jne 0xa"]], "recomp": [["0x10034297", "jne 0x7"]]}, {"both": [["0x10034109", "mov eax, 0xffffffff", "0x10034299"]]}, {"orig": [["0x1003410e", "jmp 0x276"]], "recomp": [["0x1003429e", "jmp 0x4d"]]}, {"both": [["0x10034113", "push esi", "0x100342a0"], ["0x10034114", "call ReadNamedTexture (FUNCTION)", "0x100342a1"], ["0x10034119", "add esp, 4", "0x100342a6"], ["0x1003411c", "mov dword ptr [edi + 0x260], eax", "0x100342a9"], ["0x10034122", "test eax, eax", "0x100342af"]]}, {"orig": [["0x10034124", "jne 0xa"]], "recomp": [["0x100342b1", "jne 0x7"]]}, {"both": [["0x10034126", "mov eax, 0xffffffff", "0x100342b3"]]}, {"orig": [["0x1003412b", "jmp 0x259"]], "recomp": [["0x100342b8", "jmp 0x33"]]}, {"both": [["0x10034130", "push esi", "0x100342ba"], ["0x10034131", "call ReadNamedTexture (FUNCTION)", "0x100342bb"], ["0x10034136", "add esp, 4", "0x100342c0"], ["0x10034139", "mov dword ptr [edi + 0x264], eax", "0x100342c3"], ["0x1003413f", "test eax, eax", "0x100342c9"]]}, {"orig": [["0x10034141", "jne 0xa"]], "recomp": [["0x100342cb", "jne 0x7"]]}, {"both": [["0x10034143", "mov eax, 0xffffffff", "0x100342cd"]]}, {"orig": [["0x10034148", "jmp 0x23c"], ["0x1003414d", "mov eax, dword ptr [esi]"]], "recomp": [["0x100342d2", "jmp 0x19"], ["0x100342d4", "mov ebx, dword ptr [ebx + 4]"]]}, {"both": [["0x1003414f", "push 2", "0x100342d7"]]}, {"orig": [["0x10034151", "lea ecx, [edi + 0x10]"]], "recomp": [["0x100342d9", "lea eax, [edi + 0x10]"], ["0x100342dc", "mov ecx, esi"], ["0x100342de", "push eax"]]}, {"both": [["0x10034154", "add edi, 0x22", "0x100342df"]]}, {"orig": [["0x10034157", "mov ebx, dword ptr [eax + 4]"], ["0x1003415a", "push ecx"], ["0x1003415b", "mov ecx, esi"]], "recomp": []}, {"both": [["0x1003415d", "call ebx", "0x100342e2"], ["0x1003415f", "push 1", "0x100342e4"], ["0x10034161", "push edi", "0x100342e6"]]}, {"orig": [["0x10034162", "jmp 0x21c"], ["0x10034167", "mov eax, dword ptr [edi + 0x110]"], ["0x1003416d", "mov edx, '' (STRING)"], ["0x10034172", "mov cl, byte ptr [eax]"], ["0x10034174", "cmp cl, byte ptr [edx]"], ["0x10034176", "jne 0x1a"], ["0x10034178", "or cl, cl"], ["0x1003417a", "je 0x12"], ["0x1003417c", "mov cl, byte ptr [eax + 1]"], ["0x1003417f", "cmp cl, byte ptr [edx + 1]"], ["0x10034182", "jne 0xe"], ["0x10034184", "add eax, 2"], ["0x10034187", "add edx, 2"], ["0x1003418a", "or cl, cl"], ["0x1003418c", "jne -0x1c"], ["0x1003418e", "xor eax, eax"], ["0x10034190", "jmp 0x5"], ["0x10034192", "sbb eax, eax"], ["0x10034194", "sbb eax, -1"], ["0x10034197", "test eax, eax"], ["0x10034199", "je 0x63"], ["0x1003419b", "mov eax, dword ptr [edi + 0x154]"], ["0x100341a1", "test eax, eax"], ["0x100341a3", "jne 0xd"], ["0x100341a5", "push 'chwind.gif' (STRING)"], ["0x100341aa", "push esi"], ["0x100341ab", "call WriteDefaultTexture (FUNCTION)"], ["0x100341b0", "jmp 0x7"], ["0x100341b2", "push eax"], ["0x100341b3", "push esi"], ["0x100341b4", "call WriteNamedTexture (FUNCTION)"], ["0x100341b9", "add esp, 8"], ["0x100341bc", "mov eax, dword ptr [edi + 0x158]"], ["0x100341c2", "test eax, eax"], ["0x100341c4", "jne 0xd"], ["0x100341c6", "push 'chjetl.gif' (STRING)"], ["0x100341cb", "push esi"], ["0x100341cc", "call WriteDefaultTexture (FUNCTION)"], ["0x100341d1", "jmp 0x7"], ["0x100341d3", "push eax"], ["0x100341d4", "push esi"], ["0x100341d5", "call WriteNamedTexture (FUNCTION)"], ["0x100341da", "add esp, 8"], ["0x100341dd", "mov eax, dword ptr [edi + 0x15c]"], ["0x100341e3", "test eax, eax"], ["0x100341e5", "jne 0xd"], ["0x100341e7", "push 'chjetr.gif' (STRING)"], ["0x100341ec", "push esi"], ["0x100341ed", "call WriteDefaultTexture (FUNCTION)"], ["0x100341f2", "jmp 0x7"], ["0x100341f4", "push eax"], ["0x100341f5", "push esi"], ["0x100341f6", "call WriteNamedTexture (FUNCTION)"], ["0x100341fb", "add esp, 8"], ["0x100341fe", "mov eax, dword ptr [edi + 0x16c]"], ["0x10034204", "mov edx, '' (STRING)"], ["0x10034209", "mov cl, byte ptr [eax]"], ["0x1003420b", "cmp cl, byte ptr [edx]"], ["0x1003420d", "jne 0x1a"], ["0x1003420f", "or cl, cl"], ["0x10034211", "je 0x12"], ["0x10034213", "mov cl, byte ptr [eax + 1]"], ["0x10034216", "cmp cl, byte ptr [edx + 1]"], ["0x10034219", "jne 0xe"], ["0x1003421b", "add eax, 2"], ["0x1003421e", "add edx, 2"], ["0x10034221", "or cl, cl"], ["0x10034223", "jne -0x1c"], ["0x10034225", "xor eax, eax"], ["0x10034227", "jmp 0x5"], ["0x10034229", "sbb eax, eax"], ["0x1003422b", "sbb eax, -1"], ["0x1003422e", "test eax, eax"], ["0x10034230", "je 0x42"], ["0x10034232", "mov eax, dword ptr [edi + 0x1b0]"], ["0x10034238", "test eax, eax"], ["0x1003423a", "jne 0xd"], ["0x1003423c", "push 'jsfrnt.gif' (STRING)"], ["0x10034241", "push esi"], ["0x10034242", "call WriteDefaultTexture (FUNCTION)"], ["0x10034247", "jmp 0x7"], ["0x10034249", "push eax"], ["0x1003424a", "push esi"], ["0x1003424b", "call WriteNamedTexture (FUNCTION)"], ["0x10034250", "add esp, 8"], ["0x10034253", "mov eax, dword ptr [edi + 0x1b4]"], ["0x10034259", "test eax, eax"], ["0x1003425b", "jne 0xd"], ["0x1003425d", "push 'jswnsh.gif' (STRING)"], ["0x10034262", "push esi"], ["0x10034263", "call WriteDefaultTexture (FUNCTION)"], ["0x10034268", "jmp 0x7"], ["0x1003426a", "push eax"], ["0x1003426b", "push esi"], ["0x1003426c", "call WriteNamedTexture (FUNCTION)"], ["0x10034271", "add esp, 8"], ["0x10034274", "mov eax, dword ptr [edi + 0x1c4]"], ["0x1003427a", "mov edx, '' (STRING)"], ["0x1003427f", "mov cl, byte ptr [eax]"], ["0x10034281", "cmp cl, byte ptr [edx]"], ["0x10034283", "jne 0x1a"], ["0x10034285", "or cl, cl"], ["0x10034287", "je 0x12"], ["0x10034289", "mov cl, byte ptr [eax + 1]"], ["0x1003428c", "cmp cl, byte ptr [edx + 1]"], ["0x1003428f", "jne 0xe"], ["0x10034291", "add eax, 2"], ["0x10034294", "add edx, 2"], ["0x10034297", "or cl, cl"], ["0x10034299", "jne -0x1c"], ["0x1003429b", "xor eax, eax"], ["0x1003429d", "jmp 0x5"], ["0x1003429f", "sbb eax, eax"], ["0x100342a1", "sbb eax, -1"], ["0x100342a4", "test eax, eax"], ["0x100342a6", "je 0x21"], ["0x100342a8", "mov eax, dword ptr [edi + 0x208]"], ["0x100342ae", "test eax, eax"], ["0x100342b0", "jne 0xd"], ["0x100342b2", "push 'dbfrfn.gif' (STRING)"], ["0x100342b7", "push esi"], ["0x100342b8", "call WriteDefaultTexture (FUNCTION)"], ["0x100342bd", "jmp 0x7"], ["0x100342bf", "push eax"], ["0x100342c0", "push esi"], ["0x100342c1", "call WriteNamedTexture (FUNCTION)"], ["0x100342c6", "add esp, 8"], ["0x100342c9", "mov eax, dword ptr [edi + 0x218]"], ["0x100342cf", "mov edx, '' (STRING)"], ["0x100342d4", "mov cl, byte ptr [eax]"], ["0x100342d6", "cmp cl, byte ptr [edx]"], ["0x100342d8", "jne 0x1a"], ["0x100342da", "or cl, cl"], ["0x100342dc", "je 0x12"], ["0x100342de", "mov cl, byte ptr [eax + 1]"], ["0x100342e1", "cmp cl, byte ptr [edx + 1]"], ["0x100342e4", "jne 0xe"], ["0x100342e6", "add eax, 2"], ["0x100342e9", "add edx, 2"], ["0x100342ec", "or cl, cl"], ["0x100342ee", "jne -0x1c"], ["0x100342f0", "xor eax, eax"], ["0x100342f2", "jmp 0x5"], ["0x100342f4", "sbb eax, eax"], ["0x100342f6", "sbb eax, -1"], ["0x100342f9", "test eax, eax"], ["0x100342fb", "je 0x63"], ["0x100342fd", "mov eax, dword ptr [edi + 0x25c]"], ["0x10034303", "test eax, eax"], ["0x10034305", "jne 0xd"], ["0x10034307", "push 'rcfrnt.gif' (STRING)"], ["0x1003430c", "push esi"], ["0x1003430d", "call WriteDefaultTexture (FUNCTION)"], ["0x10034312", "jmp 0x7"], ["0x10034314", "push eax"], ["0x10034315", "push esi"], ["0x10034316", "call WriteNamedTexture (FUNCTION)"], ["0x1003431b", "add esp, 8"], ["0x1003431e", "mov eax, dword ptr [edi + 0x260]"], ["0x10034324", "test eax, eax"], ["0x10034326", "jne 0xd"], ["0x10034328", "push 'rcback.gif' (STRING)"], ["0x1003432d", "push esi"], ["0x1003432e", "call WriteDefaultTexture (FUNCTION)"], ["0x10034333", "jmp 0x7"], ["0x10034335", "push eax"], ["0x10034336", "push esi"], ["0x10034337", "call WriteNamedTexture (FUNCTION)"], ["0x1003433c", "add esp, 8"], ["0x1003433f", "mov eax, dword ptr [edi + 0x264]"], ["0x10034345", "test eax, eax"], ["0x10034347", "jne 0xd"], ["0x10034349", "push 'rctail.gif' (STRING)"], ["0x1003434e", "push esi"], ["0x1003434f", "call WriteDefaultTexture (FUNCTION)"], ["0x10034354", "jmp 0x7"], ["0x10034356", "push eax"], ["0x10034357", "push esi"], ["0x10034358", "call WriteNamedTexture (FUNCTION)"], ["0x1003435d", "add esp, 8"], ["0x10034360", "mov ax, word ptr [edi + 0x10]"], ["0x10034364", "push 2"], ["0x10034366", "mov word ptr [ebp - 0x12], ax"], ["0x1003436a", "lea eax, [ebp - 0x12]"], ["0x1003436d", "mov ecx, dword ptr [esi]"], ["0x1003436f", "push eax"], ["0x10034370", "mov ebx, dword ptr [ecx + 8]"], ["0x10034373", "mov ecx, esi"], ["0x10034375", "call ebx"], ["0x10034377", "mov al, byte ptr [edi + 0x22]"], ["0x1003437a", "push 1"], ["0x1003437c", "mov byte ptr [ebp - 0x11], al"], ["0x1003437f", "lea eax, [ebp - 0x11]"], ["0x10034382", "push eax"]], "recomp": []}, {"both": [["0x10034383", "mov ecx, esi", "0x100342e7"], ["0x10034385", "call ebx", "0x100342e9"], ["0x10034387", "xor eax, eax", "0x100342eb"], ["0x10034389", "mov ecx, dword ptr [ebp - 0xc]", "0x100342ed"], ["0x1003438c", "pop edi", "0x100342f0"], ["0x1003438d", "mov dword ptr fs:[0], ecx", "0x100342f1"], ["0x10034394", "pop esi", "0x100342f8"], ["0x10034395", "pop ebx", "0x100342f9"], ["0x10034396", "mov esp, ebp", "0x100342fa"], ["0x10034398", "pop ebp", "0x100342fc"]]}]]]}, {"address": "0x100343a0", "recomp": "0x10034300", "name": "Mx3DPointFloat::Mx3DPointFloat", "matching": 1.0, "diff": []}, {"address": "0x100343d0", "recomp": "0x10034330", "name": "LegoFile::WriteVector3", "matching": 1.0, "diff": []}, {"address": "0x10034430", "recomp": "0x10034390", "name": "LegoFile::ReadVector3", "matching": 1.0, "diff": []}, {"address": "0x10034470", "recomp": "0x100343d0", "name": "LegoFile::ReadString", "matching": 1.0, "diff": []}, {"address": "0x100344d0", "recomp": "0x10034430", "name": "LegoNamedPlane::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10034660", "recomp": "0x100345c0", "name": "Act1State::PlayCptClickDialogue", "matching": 1.0, "diff": []}, {"address": "0x100346a0", "recomp": "0x10034600", "name": "Act1State::StopCptClickDialogue", "matching": 1.0, "diff": []}, {"address": "0x100346d0", "recomp": "0x10034630", "name": "Act1State::Reset", "matching": 0.9658703071672355, "diff": [["@@ -0x100349f6,33 +0x10034956,30 @@", [{"both": [["0x100349f6", "call <OFFSET12>", "0x10034956"], ["0x100349fb", "mov eax, dword ptr [ebp - 0x10]", "0x1003495b"], ["0x100349fe", "push eax", "0x1003495e"], ["0x100349ff", "call ??3@YAXPAX@Z (FUNCTION)", "0x1003495f"], ["0x10034a04", "add esp, 4", "0x10034964"], ["0x10034a07", "mov eax, dword ptr [ebp - 0x14]", "0x10034967"], ["0x10034a0a", "mov dword ptr [eax + 0x25c], 0", "0x1003496a"], ["0x10034a14", "mov eax, dword ptr [ebp - 0x14]", "0x10034974"], ["0x10034a17", "mov eax, dword ptr [eax + 0x260]", "0x10034977"], ["0x10034a1d", "test eax, eax", "0x1003497d"]]}, {"orig": [["0x10034a1f", "je 0x46"]], "recomp": [["0x1003497f", "je 0x3d"]]}, {"both": [["0x10034a21", "mov dword ptr [ebp - 4], 7", "0x10034981"]]}, {"orig": [["0x10034a28", "mov esi, dword ptr [eax + 0x10]"]], "recomp": [["0x10034988", "mov ecx, dword ptr [eax + 0x10]"]]}, {"both": [["0x10034a2b", "mov dword ptr [ebp - 0x10], eax", "0x1003498b"]]}, {"orig": [["0x10034a2e", "test esi, esi"], ["0x10034a30", "je 0x10"], ["0x10034a32", "mov ecx, esi"], ["0x10034a34", "call LegoTexture::~LegoTexture (FUNCTION)"], ["0x10034a39", "push esi"], ["0x10034a3a", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x10034a3f", "add esp, 4"]], "recomp": [["0x1003498e", "test ecx, ecx"], ["0x10034990", "je 0x7"], ["0x10034992", "push 1"], ["0x10034994", "call LegoTexture::`scalar deleting destructor' (FUNCTION)"]]}, {"both": [["0x10034a42", "mov dword ptr [ebp - 4], 0xffffffff", "0x10034999"]]}, {"orig": [["0x10034a49", "call <OFFSET13>"]], "recomp": [["0x100349a0", "call <OFFSET14>"]]}, {"both": [["0x10034a4e", "mov eax, dword ptr [ebp - 0x10]", "0x100349a5"], ["0x10034a51", "push eax", "0x100349a8"], ["0x10034a52", "call ??3@YAXPAX@Z (FUNCTION)", "0x100349a9"], ["0x10034a57", "add esp, 4", "0x100349ae"], ["0x10034a5a", "mov eax, dword ptr [ebp - 0x14]", "0x100349b1"], ["0x10034a5d", "mov dword ptr [eax + 0x260], 0", "0x100349b4"], ["0x10034a67", "mov eax, dword ptr [ebp - 0x14]", "0x100349be"], ["0x10034a6a", "mov eax, dword ptr [eax + 0x264]", "0x100349c1"], ["0x10034a70", "test eax, eax", "0x100349c7"], ["0x10034a72", "je 0x3d", "0x100349c9"]]}]], ["@@ -0x10034afd,10 +0x10034a54,13 @@", [{"both": [["0x10034afd", "jmp MxString::~MxString (FUNCTION)", "0x10034a54"], ["0x10034b02", "mov ecx, dword ptr [ebp - 0x10]", "0x10034a59"], ["0x10034b05", "jmp MxString::~MxString (FUNCTION)", "0x10034a5c"], ["0x10034b0a", "mov ecx, dword ptr [ebp - 0x10]", "0x10034a61"], ["0x10034b0d", "jmp MxString::~MxString (FUNCTION)", "0x10034a64"], ["0x10034b12", "mov ecx, dword ptr [ebp - 0x10]", "0x10034a69"], ["0x10034b15", "jmp MxString::~MxString (FUNCTION)", "0x10034a6c"], ["0x10034b1a", "mov ecx, dword ptr [ebp - 0x10]", "0x10034a71"], ["0x10034b1d", "jmp MxString::~MxString (FUNCTION)", "0x10034a74"], ["0x10034b22", "mov eax, <OFFSET16>", "0x10034a79"]]}, {"orig": [], "recomp": [["0x10034a7e", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x10034a83", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10034a86", "jmp MxString::~MxString (FUNCTION)"]]}]]]}, {"address": "0x10034b40", "recomp": "0x10034a90", "name": "LegoTexture::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10034b60", "recomp": "0x10034ab0", "name": "Act1State::RemoveActors", "matching": 1.0, "diff": []}, {"address": "0x10034d00", "recomp": "0x10034c50", "name": "Act1State::PlaceActors", "matching": 1.0, "diff": []}, {"address": "0x10035790", "recomp": "0x1001b6e0", "name": "_Construct", "matching": 1.0, "diff": []}, {"address": "0x100357b0", "recomp": "0x10038580", "name": "Motocycle::Motocycle", "matching": 1.0, "diff": []}, {"address": "0x10035840", "recomp": "0x10038610", "name": "Motocycle::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10035850", "recomp": "0x10038620", "name": "Motocycle::IsA", "matching": 1.0, "diff": []}, {"address": "0x100359d0", "recomp": "0x100387a0", "name": "Motocycle::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10035a40", "recomp": "0x10038810", "name": "Motocycle::Create", "matching": 1.0, "diff": []}, {"address": "0x10035ad0", "recomp": "0x100388a0", "name": "Motocycle::Animate", "matching": 1.0, "diff": []}, {"address": "0x10035bc0", "recomp": "0x10038990", "name": "Motocycle::Exit", "matching": 1.0, "diff": []}, {"address": "0x10035c50", "recomp": "0x10038a20", "name": "Motocycle::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x10035c7b,27 +0x10038a4b,27 @@", [{"both": [["0x10035c7b", "call CurrentWorld (FUNCTION)", "0x10038a4b"], ["0x10035c80", "mov dword ptr [eax + 0x13c], 0x3b", "0x10038a50"], ["0x10035c8a", "push 1", "0x10038a5a"], ["0x10035c8c", "push 0", "0x10038a5c"], ["0x10035c8e", "push 0x32", "0x10038a5e"], ["0x10035c90", "push 3", "0x10038a60"], ["0x10035c92", "call TransitionManager (FUNCTION)", "0x10038a62"], ["0x10035c97", "mov ecx, eax", "0x10038a67"], ["0x10035c99", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10038a69"], ["0x10035c9e", "call UserActor (FUNCTION)", "0x10038a6e"]]}, {"orig": [["0x10035ca3", "mov ebx, dword ptr [eax]"]], "recomp": [["0x10038a73", "mov edi, dword ptr [eax]"]]}, {"both": [["0x10035ca5", "mov ebp, eax", "0x10038a75"], ["0x10035ca7", "call GameState (FUNCTION)", "0x10038a77"]]}, {"orig": [["0x10035cac", "mov edi, eax"]], "recomp": [["0x10038a7c", "mov ebx, eax"]]}, {"both": [["0x10035cae", "mov ecx, ebp", "0x10038a7e"]]}, {"orig": [["0x10035cb0", "call dword ptr [ebx + 0x60]"], ["0x10035cb3", "cmp al, byte ptr [edi + 0xc]"]], "recomp": [["0x10038a80", "call dword ptr [edi + 0x60]"], ["0x10038a83", "cmp al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x10035cb6", "je 0xf", "0x10038a86"], ["0x10035cb8", "call UserActor (FUNCTION)", "0x10038a88"], ["0x10035cbd", "mov edx, dword ptr [eax]", "0x10038a8d"], ["0x10035cbf", "mov ecx, eax", "0x10038a8f"], ["0x10035cc1", "call dword ptr [edx + 0xe4]", "0x10038a91"], ["0x10035cc7", "call Timer (FUNCTION)", "0x10038a97"], ["0x10035ccc", "cmp byte ptr [eax + 0xc], 0", "0x10038a9c"], ["0x10035cd0", "je 0x8", "0x10038aa0"], ["0x10035cd2", "fild dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10038aa2"], ["0x10035cd8", "jmp 0x11", "0x10038aa8"]]}]]]}, {"address": "0x10035d70", "recomp": "0x10038b40", "name": "Motocycle::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10035df0", "recomp": "0x10038bc0", "name": "Motocycle::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x10035e10", "recomp": "0x10038be0", "name": "Motocycle::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x10035ee0", "recomp": "0x100356e0", "name": "Ambulance::Ambulance", "matching": 1.0, "diff": []}, {"address": "0x10035f90", "recomp": "0x10035940", "name": "Ambulance::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10035fa0", "recomp": "0x10035790", "name": "Ambulance::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10035fb0", "recomp": "0x100357a0", "name": "Ambulance::IsA", "matching": 1.0, "diff": []}, {"address": "0x10036130", "recomp": "0x10035920", "name": "Ambulance::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10036150", "recomp": "0x10035950", "name": "Ambulance::~Ambulance", "matching": 1.0, "diff": []}, {"address": "0x100361d0", "recomp": "0x100359d0", "name": "Ambulance::Create", "matching": 1.0, "diff": []}, {"address": "0x10036300", "recomp": "0x10035b00", "name": "Ambulance::Animate", "matching": 1.0, "diff": []}, {"address": "0x100363f0", "recomp": "0x10035bf0", "name": "Ambulance::CreateState", "matching": 0.7647058823529411, "diff": [["@@ -0x100363f0,17 +0x10035bf0,17 @@", [{"both": [["0x100363f0", "push esi", "0x10035bf0"], ["0x100363f1", "push edi", "0x10035bf1"]]}, {"orig": [["0x100363f2", "mov edi, ecx"]], "recomp": [["0x10035bf2", "mov esi, ecx"]]}, {"both": [["0x100363f4", "call GameState (FUNCTION)", "0x10035bf4"], ["0x100363f9", "mov ecx, eax", "0x10035bf9"]]}, {"orig": [["0x100363fb", "mov esi, eax"]], "recomp": [["0x10035bfb", "mov edi, eax"]]}, {"both": [["0x100363fd", "push 'AmbulanceMissionState' (STRING)", "0x10035bfd"], ["0x10036402", "call LegoGameState::GetState (FUNCTION)", "0x10035c02"], ["0x10036407", "test eax, eax", "0x10035c07"], ["0x10036409", "jne 0xc", "0x10035c09"], ["0x1003640b", "push 'AmbulanceMissionState' (STRING)", "0x10035c0b"]]}, {"orig": [["0x10036410", "mov ecx, esi"]], "recomp": [["0x10035c10", "mov ecx, edi"]]}, {"both": [["0x10036412", "call LegoGameState::CreateState (FUNCTION)", "0x10035c12"]]}, {"orig": [["0x10036417", "mov dword ptr [edi + 0x164], eax"]], "recomp": []}, {"both": [["0x1003641d", "pop edi", "0x10035c17"]]}, {"orig": [], "recomp": [["0x10035c18", "mov dword ptr [esi + 0x164], eax"]]}, {"both": [["0x1003641e", "pop esi", "0x10035c1e"], ["0x1003641f", "ret ", "0x10035c1f"]]}]]]}, {"address": "0x10036420", "recomp": "0x10035c20", "name": "Ambulance::Notify", "matching": 0.8918918918918919, "diff": [["@@ -,49 +,49 @@", [{"both": [["0x10036420", "push ebx", "0x10035c20"], ["0x10036421", "xor eax, eax", "0x10035c21"]]}, {"orig": [["0x10036423", "mov edx, dword ptr [esp + 8]"]], "recomp": []}, {"both": [["0x10036427", "push esi", "0x10035c23"]]}, {"orig": [["0x10036428", "mov esi, dword ptr [edx + 4]"], ["0x1003642b", "cmp esi, 0x13"]], "recomp": [["0x10035c24", "mov esi, dword ptr [esp + 0xc]"], ["0x10035c28", "mov edx, dword ptr [esi + 4]"], ["0x10035c2b", "cmp edx, 0x13"]]}, {"both": [["0x1003642e", "ja 0x5c", "0x10035c2e"], ["0x10036430", "xor ebx, ebx", "0x10035c30"]]}, {"orig": [["0x10036432", "mov bl, byte ptr [esi + <OFFSET1>]"]], "recomp": [["0x10035c32", "mov bl, byte ptr [edx + <OFFSET1>]"]]}, {"both": [["0x10036438", "jmp dword ptr [ebx*4 + <OFFSET2>]", "0x10035c38"], ["0x1003643f", "mov eax, dword ptr [ecx]", "0x10035c3f"], ["0x10036441", "call dword ptr [eax + 0xd0]", "0x10035c41"], ["0x10036447", "pop esi", "0x10035c47"], ["0x10036448", "pop ebx", "0x10035c48"], ["0x10036449", "ret 4", "0x10035c49"]]}, {"orig": [["0x1003644c", "push edx"]], "recomp": [["0x10035c4c", "push esi"]]}, {"both": [["0x1003644d", "mov eax, dword ptr [ecx]", "0x10035c4d"], ["0x1003644f", "call dword ptr [eax + 0xf4]", "0x10035c4f"], ["0x10036455", "pop esi", "0x10035c55"], ["0x10036456", "pop ebx", "0x10035c56"], ["0x10036457", "ret 4", "0x10035c57"]]}, {"orig": [["0x1003645a", "push edx"]], "recomp": [["0x10035c5a", "push esi"]]}, {"both": [["0x1003645b", "mov eax, dword ptr [ecx]", "0x10035c5b"], ["0x1003645d", "call dword ptr [eax + 0xf0]", "0x10035c5d"], ["0x10036463", "pop esi", "0x10035c63"], ["0x10036464", "pop ebx", "0x10035c64"], ["0x10036465", "ret 4", "0x10035c65"], ["0x10036468", "mov eax, dword ptr [ecx]", "0x10035c68"], ["0x1003646a", "call dword ptr [eax + 0xcc]", "0x10035c6a"], ["0x10036470", "pop esi", "0x10035c70"], ["0x10036471", "pop ebx", "0x10035c71"], ["0x10036472", "ret 4", "0x10035c72"]]}, {"orig": [["0x10036475", "push edx"]], "recomp": [["0x10035c75", "push esi"]]}, {"both": [["0x10036476", "mov eax, dword ptr [ecx]", "0x10035c76"], ["0x10036478", "call dword ptr [eax + 0xd4]", "0x10035c78"], ["0x1003647e", "pop esi", "0x10035c7e"], ["0x1003647f", "pop ebx", "0x10035c7f"], ["0x10036480", "ret 4", "0x10035c80"]]}, {"orig": [["0x10036483", "push edx"]], "recomp": [["0x10035c83", "push esi"]]}, {"both": [["0x10036484", "mov eax, dword ptr [ecx]", "0x10035c84"], ["0x10036486", "call dword ptr [eax + 0xdc]", "0x10035c86"], ["0x1003648c", "pop esi", "0x10035c8c"], ["0x1003648d", "pop ebx", "0x10035c8d"], ["0x1003648e", "ret 4", "0x10035c8e"], ["0x10036491", "lea ecx, [ecx]", "0x10035c91"], ["", "Jump table:", ""], ["0x10036494", "Jump_dest_0", "0x10035c94"], ["0x10036498", "Jump_dest_1", "0x10035c98"], ["0x1003649c", "Jump_dest_2", "0x10035c9c"]]}]]]}, {"address": "0x100364d0", "recomp": "0x10035cd0", "name": "Ambulance::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x100367c0", "recomp": "0x10035fc0", "name": "Ambulance::HandleButtonDown", "matching": 1.0, "diff": []}, {"address": "0x10036860", "recomp": "0x10036060", "name": "Ambulance::HandlePathStruct", "matching": 0.8745762711864407, "diff": [["@@ -0x10036860,92 +0x10036060,90 @@", [{"both": [["0x10036860", "mov eax, dword ptr [esp + 4]", "0x10036060"], ["0x10036864", "push esi", "0x10036064"], ["0x10036865", "cmp word ptr [eax + 0xc], 0x168", "0x10036065"], ["0x1003686b", "mov esi, ecx", "0x1003606b"], ["0x1003686d", "jne 0xa", "0x1003606d"], ["0x1003686f", "mov dword ptr [esi + 0x17c], 0x3f800000", "0x1003606f"], ["0x10036879", "mov cl, byte ptr [eax + 0xe]", "0x10036079"], ["0x1003687c", "cmp cl, 0x43", "0x1003607c"]]}, {"orig": [["0x1003687f", "jne 0x2c0"]], "recomp": [["0x1003607f", "jne 0x2b7"]]}, {"both": [["0x10036885", "cmp word ptr [eax + 0xc], 0xb", "0x10036085"]]}, {"orig": [["0x1003688a", "jne 0x2b5"]], "recomp": [["0x1003608a", "jne 0x2ac"]]}, {"both": [["0x10036890", "mov ax, word ptr [esi + 0x16e]", "0x10036090"], ["0x10036897", "test ax, ax", "0x10036097"]]}, {"orig": [["0x1003689a", "je 0x267"]], "recomp": [["0x1003609a", "je 0x25e"]]}, {"both": [["0x100368a0", "cmp word ptr [esi + 0x16c], 0", "0x100360a0"]]}, {"orig": [["0x100368a8", "je 0x224"]], "recomp": [["0x100360a8", "je 0x21b"]]}, {"both": [["0x100368ae", "mov eax, dword ptr [esi + 0x164]", "0x100360ae"], ["0x100368b4", "mov dword ptr [eax + 8], 2", "0x100360b4"], ["0x100368bb", "mov eax, dword ptr [esi + 0x174]", "0x100360bb"], ["0x100368c1", "cmp eax, -1", "0x100360c1"], ["0x100368c4", "je 0x13", "0x100360c4"], ["0x100368c6", "push 0", "0x100360c6"], ["0x100368c8", "push eax", "0x100360c8"], ["0x100368c9", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100360c9"], ["0x100368ce", "push eax", "0x100360ce"], ["0x100368cf", "push 5", "0x100360cf"], ["0x100368d1", "call InvokeAction (FUNCTION)", "0x100360d1"], ["0x100368d6", "add esp, 0x10", "0x100360d6"], ["0x100368d9", "mov ecx, esi", "0x100360d9"], ["0x100368db", "call Ambulance::Leave (FUNCTION)", "0x100360db"], ["0x100368e0", "call Timer (FUNCTION)", "0x100360e0"], ["0x100368e5", "cmp byte ptr [eax + 0xc], 0", "0x100360e5"]]}, {"orig": [["0x100368e9", "je 0x11"], ["0x100368eb", "mov edx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]], "recomp": [["0x100360e9", "je 0x8"], ["0x100360eb", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"], ["0x100360f1", "jmp 0x9"], ["0x100360f3", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x100360f9", "sub ecx, dword ptr [eax + 8]"]]}, {"both": [["0x100368f1", "mov eax, dword ptr [esi + 0x164]", "0x100360fc"]]}, {"orig": [["0x100368f7", "sub edx, dword ptr [eax + 0xc]"], ["0x100368fa", "jmp 0x12"], ["0x100368fc", "mov edx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"]], "recomp": [["0x10036102", "sub ecx, dword ptr [eax + 0xc]"], ["0x10036105", "cmp ecx, 0x493e0"], ["0x1003610b", "jge 0x93"], ["0x10036111", "movsx eax, word ptr [esi + 0x16a]"]]}, {"both": [["0x10036902", "mov ecx, dword ptr [esi + 0x164]", "0x10036118"]]}, {"orig": [["0x10036908", "sub edx, dword ptr [ecx + 0xc]"], ["0x1003690b", "sub edx, dword ptr [eax + 8]"], ["0x1003690e", "cmp edx, 0x493e0"], ["0x10036914", "jge 0x93"], ["0x1003691a", "movsx ecx, word ptr [esi + 0x16a]"], ["0x10036921", "mov eax, dword ptr [esi + 0x164]"], ["0x10036927", "dec ecx"], ["0x10036928", "cmp ecx, 4"]], "recomp": [["0x1003611e", "dec eax"], ["0x1003611f", "cmp eax, 4"]]}, {"both": [["0x1003692b", "ja 0x6e", "0x10036122"]]}, {"orig": [["0x1003692d", "jmp dword ptr [ecx*4 + <OFFSET7>]"], ["0x10036934", "mov word ptr [eax + 0x10], 3"], ["0x1003693a", "cmp word ptr [eax + 0x1a], 3"]], "recomp": [["0x10036124", "jmp dword ptr [eax*4 + <OFFSET7>]"], ["0x1003612b", "mov word ptr [ecx + 0x10], 3"], ["0x10036131", "cmp word ptr [ecx + 0x1a], 3"]]}, {"both": [["0x1003693f", "jge 0x5a", "0x10036136"]]}, {"orig": [["0x10036941", "mov word ptr [eax + 0x1a], 3"]], "recomp": [["0x10036138", "mov word ptr [ecx + 0x1a], 3"]]}, {"both": [["0x10036947", "jmp 0x52", "0x1003613e"]]}, {"orig": [["0x10036949", "mov word ptr [eax + 0x12], 3"], ["0x1003694f", "cmp word ptr [eax + 0x1c], 3"]], "recomp": [["0x10036140", "mov word ptr [ecx + 0x12], 3"], ["0x10036146", "cmp word ptr [ecx + 0x1c], 3"]]}, {"both": [["0x10036954", "jge 0x45", "0x1003614b"]]}, {"orig": [["0x10036956", "mov word ptr [eax + 0x1c], 3"]], "recomp": [["0x1003614d", "mov word ptr [ecx + 0x1c], 3"]]}, {"both": [["0x1003695c", "jmp 0x3d", "0x10036153"]]}, {"orig": [["0x1003695e", "mov word ptr [eax + 0x14], 3"], ["0x10036964", "cmp word ptr [eax + 0x1e], 3"]], "recomp": [["0x10036155", "mov word ptr [ecx + 0x14], 3"], ["0x1003615b", "cmp word ptr [ecx + 0x1e], 3"]]}, {"both": [["0x10036969", "jge 0x30", "0x10036160"]]}, {"orig": [["0x1003696b", "mov word ptr [eax + 0x1e], 3"]], "recomp": [["0x10036162", "mov word ptr [ecx + 0x1e], 3"]]}, {"both": [["0x10036971", "jmp 0x28", "0x10036168"]]}, {"orig": [["0x10036973", "mov word ptr [eax + 0x16], 3"], ["0x10036979", "cmp word ptr [eax + 0x20], 3"]], "recomp": [["0x1003616a", "mov word ptr [ecx + 0x16], 3"], ["0x10036170", "cmp word ptr [ecx + 0x20], 3"]]}, {"both": [["0x1003697e", "jge 0x1b", "0x10036175"]]}, {"orig": [["0x10036980", "mov word ptr [eax + 0x20], 3"]], "recomp": [["0x10036177", "mov word ptr [ecx + 0x20], 3"]]}, {"both": [["0x10036986", "jmp 0x13", "0x1003617d"]]}, {"orig": [["0x10036988", "mov word ptr [eax + 0x18], 3"], ["0x1003698e", "cmp word ptr [eax + 0x22], 3"]], "recomp": [["0x1003617f", "mov word ptr [ecx + 0x18], 3"], ["0x10036185", "cmp word ptr [ecx + 0x22], 3"]]}, {"both": [["0x10036993", "jge 0x6", "0x1003618a"]]}, {"orig": [["0x10036995", "mov word ptr [eax + 0x22], 3"]], "recomp": [["0x1003618c", "mov word ptr [ecx + 0x22], 3"]]}, {"both": [["0x1003699b", "push 0x2ac", "0x10036192"], ["0x100369a0", "mov ecx, esi", "0x10036197"], ["0x100369a2", "call Ambulance::PlayFinalAnimation (FUNCTION)", "0x10036199"], ["0x100369a7", "xor eax, eax", "0x1003619e"], ["0x100369a9", "pop esi", "0x100361a0"], ["0x100369aa", "ret 4", "0x100361a1"]]}, {"orig": [], "recomp": [["0x100361a4", "movsx eax, word ptr [esi + 0x16a]"], ["0x100361ab", "cmp ecx, 0x61a80"]]}, {"both": [["0x100369ad", "mov ecx, dword ptr [esi + 0x164]", "0x100361b1"]]}, {"orig": [["0x100369b3", "cmp edx, 0x61a80"], ["0x100369b9", "movsx eax, word ptr [esi + 0x16a]"]], "recomp": []}, {"both": [["0x100369c0", "jge 0x86", "0x100361b7"], ["0x100369c6", "dec eax", "0x100361bd"], ["0x100369c7", "cmp eax, 4", "0x100361be"], ["0x100369ca", "ja 0x6e", "0x100361c1"], ["0x100369cc", "jmp dword ptr [eax*4 + <OFFSET9>]", "0x100361c3"], ["0x100369d3", "mov word ptr [ecx + 0x10], 2", "0x100361ca"], ["0x100369d9", "cmp word ptr [ecx + 0x1a], 2", "0x100361d0"], ["0x100369de", "jge 0x5a", "0x100361d5"], ["0x100369e0", "mov word ptr [ecx + 0x1a], 2", "0x100361d7"], ["0x100369e6", "jmp 0x52", "0x100361dd"]]}]], ["@@ -0x10036ad7,21 +0x100362ce,21 @@", [{"both": [["0x10036ad7", "mov eax, dword ptr [esi + 0x174]", "0x100362ce"], ["0x10036add", "cmp eax, -1", "0x100362d4"], ["0x10036ae0", "je 0x13", "0x100362d7"], ["0x10036ae2", "push 0", "0x100362d9"], ["0x10036ae4", "push eax", "0x100362db"], ["0x10036ae5", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100362dc"], ["0x10036aea", "push eax", "0x100362e1"], ["0x10036aeb", "push 5", "0x100362e2"], ["0x10036aed", "call InvokeAction (FUNCTION)", "0x100362e4"], ["0x10036af2", "add esp, 0x10", "0x100362e9"]]}, {"orig": [["0x10036af5", "push 0x3a6"]], "recomp": [["0x100362ec", "push 0x3a5"]]}, {"both": [["0x10036afa", "mov ecx, esi", "0x100362f1"], ["0x10036afc", "call Ambulance::PlayAction (FUNCTION)", "0x100362f3"], ["0x10036b01", "xor eax, eax", "0x100362f8"], ["0x10036b03", "pop esi", "0x100362fa"], ["0x10036b04", "ret 4", "0x100362fb"], ["0x10036b07", "cmp word ptr [esi + 0x16c], 0", "0x100362fe"], ["0x10036b0f", "je 0x16e", "0x10036306"], ["0x10036b15", "mov eax, dword ptr [esi + 0x174]", "0x1003630c"], ["0x10036b1b", "cmp eax, -1", "0x10036312"], ["0x10036b1e", "je 0x13", "0x10036315"]]}]], ["@@ -,21 +,20 @@", [{"both": [["0x10036c68", "call InvokeAction (FUNCTION)", "0x1003645f"], ["0x10036c6d", "add esp, 0x10", "0x10036464"], ["0x10036c70", "mov ecx, esi", "0x10036467"], ["0x10036c72", "call Ambulance::Leave (FUNCTION)", "0x10036469"], ["0x10036c77", "push 0x2b0", "0x1003646e"], ["0x10036c7c", "mov ecx, esi", "0x10036473"], ["0x10036c7e", "call Ambulance::PlayAnimation (FUNCTION)", "0x10036475"], ["0x10036c83", "xor eax, eax", "0x1003647a"], ["0x10036c85", "pop esi", "0x1003647c"], ["0x10036c86", "ret 4", "0x1003647d"]]}, {"orig": [["0x10036c89", "lea ecx, [ecx]"]], "recomp": []}, {"both": [["", "Jump table:", ""], ["0x10036c8c", "Jump_dest_0", "0x10036480"], ["0x10036c90", "Jump_dest_1", "0x10036484"], ["0x10036c94", "Jump_dest_2", "0x10036488"], ["0x10036c98", "Jump_dest_3", "0x1003648c"], ["0x10036c9c", "Jump_dest_4", "0x10036490"], ["", "Jump table:", ""], ["0x10036ca0", "Jump_dest_0", "0x10036494"], ["0x10036ca4", "Jump_dest_1", "0x10036498"], ["0x10036ca8", "Jump_dest_2", "0x1003649c"]]}]], ["@@ -,10 +,13 @@", [{"both": [["0x10036cb0", "Jump_dest_4", "0x100364a4"], ["", "Jump table:", ""], ["0x10036cb4", "Jump_dest_0", "0x100364a8"], ["0x10036cb8", "Jump_dest_1", "0x100364ac"], ["0x10036cbc", "Jump_dest_2", "0x100364b0"], ["0x10036cc0", "Jump_dest_3", "0x100364b4"], ["0x10036cc4", "Jump_dest_4", "0x100364b8"], ["", "Jump table:", ""], ["0x10036cc8", "Jump_dest_0", "0x100364bc"], ["0x10036ccc", "Jump_dest_1", "0x100364c0"]]}, {"orig": [], "recomp": [["0x100364c4", "Jump_dest_2"], ["0x100364c8", "Jump_dest_3"], ["0x100364cc", "Jump_dest_4"]]}]]]}, {"address": "0x10036ce0", "recomp": "0x100364d0", "name": "Ambulance::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x10036d37,26 +0x10036527,26 @@", [{"both": [["0x10036d37", "mov dword ptr [eax + 0x13c], 0x3e", "0x10036527"], ["0x10036d41", "push 0", "0x10036531"], ["0x10036d43", "push 0", "0x10036533"], ["0x10036d45", "push 0x32", "0x10036535"], ["0x10036d47", "push 3", "0x10036537"], ["0x10036d49", "call TransitionManager (FUNCTION)", "0x10036539"], ["0x10036d4e", "mov ecx, eax", "0x1003653e"], ["0x10036d50", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10036540"], ["0x10036d55", "call UserActor (FUNCTION)", "0x10036545"], ["0x10036d5a", "mov edi, dword ptr [eax]", "0x1003654a"]]}, {"orig": [], "recomp": [["0x1003654c", "mov ebp, eax"], ["0x1003654e", "call GameState (FUNCTION)"]]}, {"both": [["0x10036d5c", "mov ebx, eax", "0x10036553"]]}, {"orig": [["0x10036d5e", "call GameState (FUNCTION)"], ["0x10036d63", "mov ebp, eax"], ["0x10036d65", "mov ecx, ebx"]], "recomp": [["0x10036555", "mov ecx, ebp"]]}, {"both": [["0x10036d67", "call dword ptr [edi + 0x60]", "0x10036557"]]}, {"orig": [["0x10036d6a", "cmp al, byte ptr [ebp + 0xc]"]], "recomp": [["0x1003655a", "cmp al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x10036d6d", "je 0xf", "0x1003655d"], ["0x10036d6f", "call UserActor (FUNCTION)", "0x1003655f"], ["0x10036d74", "mov edx, dword ptr [eax]", "0x10036564"], ["0x10036d76", "mov ecx, eax", "0x10036566"], ["0x10036d78", "call dword ptr [edx + 0xe4]", "0x10036568"], ["0x10036d7e", "call Timer (FUNCTION)", "0x1003656e"], ["0x10036d83", "cmp byte ptr [eax + 0xc], 0", "0x10036573"], ["0x10036d87", "je 0x8", "0x10036577"], ["0x10036d89", "fild dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10036579"], ["0x10036d8f", "jmp 0x11", "0x1003657f"]]}]]]}, {"address": "0x10036e60", "recomp": "0x10036650", "name": "Ambulance::FUN_10036e60", "matching": 1.0, "diff": []}, {"address": "0x10036e90", "recomp": "0x10036680", "name": "Ambulance::Exit", "matching": 1.0, "diff": []}, {"address": "0x10036ec0", "recomp": "0x100366b0", "name": "Ambulance::Leave", "matching": 1.0, "diff": []}, {"address": "0x10036f90", "recomp": "0x10036780", "name": "Ambulance::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10037060", "recomp": "0x10036850", "name": "Ambulance::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x10037160", "recomp": "0x10036950", "name": "Ambulance::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10037240", "recomp": "0x10036a30", "name": "Ambulance::StopActions", "matching": 1.0, "diff": []}, {"address": "0x10037250", "recomp": "0x10036a40", "name": "Ambulance::FUN_10037250", "matching": 1.0, "diff": []}, {"address": "0x100372e0", "recomp": "0x10036ad0", "name": "Ambulance::PlayAnimation", "matching": 1.0, "diff": []}, {"address": "0x10037310", "recomp": "0x10036b00", "name": "Ambulance::PlayFinalAnimation", "matching": 1.0, "diff": []}, {"address": "0x10037340", "recomp": "0x10036b30", "name": "Ambulance::StopAction", "matching": 1.0, "diff": []}, {"address": "0x10037360", "recomp": "0x10036b50", "name": "Ambulance::PlayAction", "matching": 1.0, "diff": []}, {"address": "0x100373a0", "recomp": "0x10036b90", "name": "AmbulanceMissionState::AmbulanceMissionState", "matching": 1.0, "diff": []}, {"address": "0x10037440", "recomp": "0x10036d60", "name": "AmbulanceMissionState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10037600", "recomp": "0x10036c30", "name": "AmbulanceMissionState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10037610", "recomp": "0x10036c40", "name": "AmbulanceMissionState::IsA", "matching": 1.0, "diff": []}, {"address": "0x100376c0", "recomp": "0x10036cf0", "name": "AmbulanceMissionState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10037730", "recomp": "0x1003ae20", "name": "InfocenterDoor::InfocenterDoor", "matching": 1.0, "diff": []}, {"address": "0x100377a0", "recomp": "0x1003afb0", "name": "InfocenterDoor::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x100377b0", "recomp": "0x1003ae90", "name": "InfocenterDoor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100377c0", "recomp": "0x1003aea0", "name": "InfocenterDoor::IsA", "matching": 1.0, "diff": []}, {"address": "0x100378d0", "recomp": "0x1003afc0", "name": "InfocenterDoor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100378f0", "recomp": "0x1003afe0", "name": "InfocenterDoor::~InfocenterDoor", "matching": 1.0, "diff": []}, {"address": "0x10037980", "recomp": "0x1003b070", "name": "InfocenterDoor::Create", "matching": 1.0, "diff": []}, {"address": "0x100379e0", "recomp": "0x1003b0d0", "name": "InfocenterDoor::Notify", "matching": 1.0, "diff": []}, {"address": "0x10037a70", "recomp": "0x1003b160", "name": "InfocenterDoor::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x10037a90", "recomp": "0x1003b180", "name": "InfocenterDoor::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10037c80", "recomp": "0x1003b370", "name": "InfocenterDoor::Enable", "matching": 1.0, "diff": []}, {"address": "0x10037cd0", "recomp": "0x1003b3c0", "name": "InfocenterDoor::Escape", "matching": 1.0, "diff": []}, {"address": "0x10037d00", "recomp": "0x10054420", "name": "VisibilityVariable::SetValue", "matching": 1.0, "diff": []}, {"address": "0x10037d80", "recomp": "0x100544a0", "name": "CameraLocationVariable::SetValue", "matching": 1.0, "diff": []}, {"address": "0x10037e30", "recomp": "0x10054550", "name": "CursorVariable::SetValue", "matching": 1.0, "diff": []}, {"address": "0x10037e40", "recomp": "0x10054560", "name": "WhoAmIVariable::SetValue", "matching": 1.0, "diff": []}, {"address": "0x10037ef0", "recomp": "0x10036f20", "name": "Pizza::Pizza", "matching": 1.0, "diff": []}, {"address": "0x10037f90", "recomp": "0x10036fc0", "name": "Pizza::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10037fa0", "recomp": "0x10036fd0", "name": "Pizza::IsA", "matching": 1.0, "diff": []}, {"address": "0x100380e0", "recomp": "0x10037110", "name": "Pizza::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10038100", "recomp": "0x10037130", "name": "Pizza::~Pizza", "matching": 1.0, "diff": []}, {"address": "0x10038170", "recomp": "0x100371a0", "name": "Pizza::Create", "matching": 1.0, "diff": []}, {"address": "0x100381b0", "recomp": "0x100371e0", "name": "Pizza::CreateState", "matching": 1.0, "diff": []}, {"address": "0x10038220", "recomp": "0x10037250", "name": "Pizza::FUN_10038220", "matching": 1.0, "diff": []}, {"address": "0x100382b0", "recomp": "0x100372e0", "name": "Pizza::FUN_100382b0", "matching": 1.0, "diff": []}, {"address": "0x10038380", "recomp": "0x100373b0", "name": "Pizza::StopActions", "matching": 0.7441860465116279, "diff": [["@@ -0x10038393,34 +0x100373c3,34 @@", [{"both": [["0x10038393", "push 5", "0x100373c3"], ["0x10038395", "call InvokeAction (FUNCTION)", "0x100373c5"], ["0x1003839a", "add esp, 0x10", "0x100373ca"], ["0x1003839d", "mov eax, dword ptr [g_isleScript (DATA)]", "0x100373cd"], ["0x100383a2", "push esi", "0x100373d2"], ["0x100383a3", "push 0x190", "0x100373d3"], ["0x100383a8", "push eax", "0x100373d8"], ["0x100383a9", "push 5", "0x100373d9"], ["0x100383ab", "call InvokeAction (FUNCTION)", "0x100373db"], ["0x100383b0", "add esp, 0x10", "0x100373e0"]]}, {"orig": [["0x100383b3", "mov ebx, dword ptr [edi + 0x80]"], ["0x100383b9", "test ebx, ebx"]], "recomp": [["0x100373e3", "mov edi, dword ptr [edi + 0x80]"], ["0x100373e9", "test edi, edi"]]}, {"both": [["0x100383bb", "je 0x2d", "0x100373eb"]]}, {"orig": [["0x100383bd", "xor edi, edi"], ["0x100383bf", "cmp word ptr [ebx], si"], ["0x100383c2", "jle 0x26"]], "recomp": [["0x100373ed", "cmp word ptr [edi], si"], ["0x100373f0", "jle 0x28"], ["0x100373f2", "xor ebx, ebx"]]}, {"both": [["0x100383c4", "push 0", "0x100373f4"]]}, {"orig": [["0x100383c6", "mov eax, dword ptr [ebx + 0x1c]"]], "recomp": [["0x100373f6", "mov eax, dword ptr [edi + 0x1c]"]]}, {"both": [["0x100383c9", "mov edx, dword ptr [g_isleScript (DATA)]", "0x100373f9"]]}, {"orig": [["0x100383cf", "add esi, 4"], ["0x100383d2", "inc edi"], ["0x100383d3", "mov ecx, dword ptr [eax + esi - 4]"]], "recomp": [["0x100373ff", "add ebx, 4"], ["0x10037402", "inc esi"], ["0x10037403", "mov ecx, dword ptr [eax + ebx - 4]"]]}, {"both": [["0x100383d7", "push ecx", "0x10037407"], ["0x100383d8", "push edx", "0x10037408"], ["0x100383d9", "push 5", "0x10037409"], ["0x100383db", "call InvokeAction (FUNCTION)", "0x1003740b"]]}, {"orig": [["0x100383e0", "movsx eax, word ptr [ebx]"]], "recomp": [["0x10037410", "movsx eax, word ptr [edi]"]]}, {"both": [["0x100383e3", "add esp, 0x10", "0x10037413"]]}, {"orig": [["0x100383e6", "cmp eax, edi"]], "recomp": [["0x10037416", "cmp eax, esi"]]}, {"both": [["0x100383e8", "jg -0x26", "0x10037418"], ["0x100383ea", "pop edi", "0x1003741a"], ["0x100383eb", "pop esi", "0x1003741b"], ["0x100383ec", "pop ebx", "0x1003741c"], ["0x100383ed", "ret ", "0x1003741d"]]}]]]}, {"address": "0x100383f0", "recomp": "0x10037420", "name": "Pizza::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x100384f0", "recomp": "0x10037520", "name": "Pizza::HandlePathStruct", "matching": 0.9658886894075404, "diff": [["@@ -0x100384f0,31 +0x10037520,29 @@", [{"both": [["0x100384f0", "push ebx", "0x10037520"], ["0x100384f1", "push esi", "0x10037521"], ["0x100384f2", "mov eax, dword ptr [ecx + 0x7c]", "0x10037522"], ["0x100384f5", "push edi", "0x10037525"], ["0x100384f6", "push ebp", "0x10037526"], ["0x100384f7", "mov esi, ecx", "0x10037527"], ["0x100384f9", "cmp dword ptr [eax + 0xc], 4", "0x10037529"]]}, {"orig": [["0x100384fd", "jne 0x358"]], "recomp": [["0x1003752d", "jne 0x353"]]}, {"both": [["0x10038503", "lea ebx, [esi + 0x80]", "0x10037533"], ["0x10038509", "call Timer (FUNCTION)", "0x10037539"], ["0x1003850e", "cmp byte ptr [eax + 0xc], 0", "0x1003753e"]]}, {"orig": [["0x10038512", "je 0xd"]], "recomp": [["0x10037542", "je 0x8"]]}, {"both": [["0x10038514", "mov edi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10037544"]]}, {"orig": [], "recomp": [["0x1003754a", "jmp 0x9"], ["0x1003754c", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x10037552", "sub edi, dword ptr [eax + 8]"]]}, {"both": [["0x1003851a", "mov eax, dword ptr [ebx]", "0x10037555"]]}, {"orig": [], "recomp": [["0x10037557", "mov ebp, dword ptr [esp + 0x14]"]]}, {"both": [["0x1003851c", "sub edi, dword ptr [eax + 0x10]", "0x1003755b"]]}, {"orig": [["0x1003851f", "jmp 0xe"], ["0x10038521", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x10038527", "mov ecx, dword ptr [ebx]"], ["0x10038529", "sub edi, dword ptr [ecx + 0x10]"], ["0x1003852c", "sub edi, dword ptr [eax + 8]"], ["0x1003852f", "mov ebp, dword ptr [esp + 0x14]"]], "recomp": []}, {"both": [["0x10038533", "cmp byte ptr [ebp + 0xe], 0x53", "0x1003755e"], ["0x10038537", "jne 0xa2", "0x10037562"], ["0x1003853d", "cmp word ptr [ebp + 0xc], 0x12e", "0x10037568"], ["0x10038543", "jne 0x96", "0x1003756e"], ["0x10038549", "call GameState (FUNCTION)", "0x10037574"], ["0x1003854e", "cmp byte ptr [eax + 0xc], 1", "0x10037579"], ["0x10038552", "jne 0x87", "0x1003757d"], ["0x10038558", "mov eax, dword ptr [esi + 0x7c]", "0x10037583"], ["0x1003855b", "mov dword ptr [eax + 0xc], 5", "0x10037586"], ["0x10038562", "mov eax, dword ptr [esi + 0x7c]", "0x1003758d"]]}]], ["@@ -,20 +,21 @@", [{"both": [["0x10038850", "push eax", "0x1003787b"], ["0x10038851", "push 4", "0x1003787c"], ["0x10038853", "call InvokeAction (FUNCTION)", "0x1003787e"], ["0x10038858", "add esp, 0x10", "0x10037883"], ["0x1003885b", "xor eax, eax", "0x10037886"], ["0x1003885d", "pop ebp", "0x10037888"], ["0x1003885e", "pop edi", "0x10037889"], ["0x1003885f", "pop esi", "0x1003788a"], ["0x10038860", "pop ebx", "0x1003788b"], ["0x10038861", "ret 4", "0x1003788c"]]}, {"orig": [], "recomp": [["0x1003788f", "nop "]]}, {"both": [["", "Jump table:", ""], ["0x10038864", "Jump_dest_0", "0x10037890"], ["0x10038868", "Jump_dest_1", "0x10037894"], ["0x1003886c", "Jump_dest_2", "0x10037898"], ["0x10038870", "Jump_dest_3", "0x1003789c"], ["0x10038874", "Jump_dest_4", "0x100378a0"], ["", "Data table:", ""], ["0x10038878", "0x0", "0x100378a4"], ["0x10038879", "0x0", "0x100378a5"], ["0x1003887a", "0x0", "0x100378a6"]]}]], ["@@ -0x1003888b,10 +0x100378b7,14 @@", [{"both": [["0x1003888b", "0x4", "0x100378b7"], ["0x1003888c", "0x4", "0x100378b8"], ["0x1003888d", "0x4", "0x100378b9"], ["0x1003888e", "0x4", "0x100378ba"], ["0x1003888f", "0x4", "0x100378bb"], ["0x10038890", "0x4", "0x100378bc"], ["0x10038891", "0x4", "0x100378bd"], ["0x10038892", "0x4", "0x100378be"], ["0x10038893", "0x2", "0x100378bf"], ["0x10038894", "0x2", "0x100378c0"]]}, {"orig": [], "recomp": [["0x100378c1", "0x2"], ["0x100378c2", "0x3"], ["0x100378c3", "0x3"], ["0x100378c4", "0x3"]]}]]]}, {"address": "0x100388a0", "recomp": "0x100378d0", "name": "Pizza::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10038b10", "recomp": "0x10037b40", "name": "Pizza::HandleEndAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x10038b38,48 +0x10037b68,48 @@", [{"both": [["0x10038b38", "mov esi, ecx", "0x10037b68"], ["0x10038b3a", "mov edx, dword ptr [eax + 0xc]", "0x10037b6a"], ["0x10038b3d", "mov ecx, dword ptr [edx + 0x1c]", "0x10037b6d"], ["0x10038b40", "cmp dword ptr [esi + 0x8c], ecx", "0x10037b70"], ["0x10038b46", "jne 0x16", "0x10037b76"], ["0x10038b48", "call BackgroundAudioManager (FUNCTION)", "0x10037b78"], ["0x10038b4d", "mov ecx, eax", "0x10037b7d"], ["0x10038b4f", "call MxBackgroundAudioManager::RaiseVolume (FUNCTION)", "0x10037b7f"], ["0x10038b54", "mov eax, 1", "0x10037b84"], ["0x10038b59", "jmp 0x44a", "0x10037b89"]]}, {"orig": [["0x10038b5e", "mov edx, dword ptr [esi + 0x7c]"], ["0x10038b61", "mov eax, dword ptr [edx + 0xc]"], ["0x10038b64", "dec eax"], ["0x10038b65", "cmp eax, 8"]], "recomp": [["0x10037b8e", "mov eax, dword ptr [esi + 0x7c]"], ["0x10037b91", "mov edx, dword ptr [eax + 0xc]"], ["0x10037b94", "dec edx"], ["0x10037b95", "cmp edx, 8"]]}, {"both": [["0x10038b68", "ja 0x437", "0x10037b98"]]}, {"orig": [["0x10038b6e", "jmp dword ptr [eax*4 + <OFFSET4>]"], ["0x10038b75", "cmp dword ptr [edx + 0xb0], ecx"]], "recomp": [["0x10037b9e", "jmp dword ptr [edx*4 + <OFFSET4>]"], ["0x10037ba5", "cmp dword ptr [eax + 0xb0], ecx"]]}, {"both": [["0x10038b7b", "jne 0x424", "0x10037bab"]]}, {"orig": [["0x10038b81", "mov dword ptr [edx + 0xc], 2"]], "recomp": [["0x10037bb1", "mov dword ptr [eax + 0xc], 2"]]}, {"both": [["0x10038b88", "call Timer (FUNCTION)", "0x10037bb8"], ["0x10038b8d", "cmp byte ptr [eax + 0xc], 0", "0x10037bbd"], ["0x10038b91", "je 0x10", "0x10037bc1"], ["0x10038b93", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10037bc3"], ["0x10038b98", "mov ecx, dword ptr [esi + 0x80]", "0x10037bc8"], ["0x10038b9e", "mov dword ptr [ecx + 0x10], eax", "0x10037bce"], ["0x10038ba1", "jmp 0x12", "0x10037bd1"], ["0x10038ba3", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10037bd3"], ["0x10038ba9", "sub ecx, dword ptr [eax + 8]", "0x10037bd9"], ["0x10038bac", "mov eax, dword ptr [esi + 0x80]", "0x10037bdc"], ["0x10038bb2", "mov dword ptr [eax + 0x10], ecx", "0x10037be2"], ["0x10038bb5", "call TickleManager (FUNCTION)", "0x10037be5"], ["0x10038bba", "push 0xc8", "0x10037bea"], ["0x10038bbf", "mov edx, dword ptr [eax]", "0x10037bef"], ["0x10038bc1", "push esi", "0x10037bf1"], ["0x10038bc2", "mov ecx, eax", "0x10037bf2"], ["0x10038bc4", "call dword ptr [edx + 0x14]", "0x10037bf4"], ["0x10038bc7", "jmp 0x3d9", "0x10037bf7"]]}, {"orig": [["0x10038bcc", "cmp dword ptr [edx + 0xb0], ecx"]], "recomp": [["0x10037bfc", "cmp dword ptr [eax + 0xb0], ecx"]]}, {"both": [["0x10038bd2", "jne 0x3cd", "0x10037c02"], ["0x10038bd8", "call Timer (FUNCTION)", "0x10037c08"], ["0x10038bdd", "cmp byte ptr [eax + 0xc], 0", "0x10037c0d"], ["0x10038be1", "lea edx, [esi + 0x80]", "0x10037c11"], ["0x10038be7", "je 0xc", "0x10037c17"], ["0x10038be9", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10037c19"], ["0x10038bee", "mov ecx, dword ptr [edx]", "0x10037c1e"], ["0x10038bf0", "mov dword ptr [ecx + 0x10], eax", "0x10037c20"], ["0x10038bf3", "jmp 0xe", "0x10037c23"], ["0x10038bf5", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10037c25"]]}]], ["@@ -0x10038ce2,21 +0x10037d12,21 @@", [{"both": [["0x10038ce2", "mov dword ptr [ebp - 0x10], 1", "0x10037d12"], ["0x10038ce9", "jmp 0x2b7", "0x10037d19"], ["0x10038cee", "lea ecx, [ebp - 0x2c]", "0x10037d1e"], ["0x10038cf1", "jmp MxParam::~MxParam (FUNCTION)", "0x10037d21"], ["0x10038cf6", "lea ecx, [ebp - 0x2c]", "0x10037d26"], ["0x10038cf9", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x10037d29"], ["0x10038cfe", "mov eax, <OFFSET18>", "0x10037d2e"], ["0x10038d03", "jmp ___CxxFrameHandler (FUNCTION)", "0x10037d33"], ["0x10038d08", "lea ecx, [ebp - 0x2c]", "0x10037d38"], ["0x10038d0b", "jmp LegoEventNotificationParam::~LegoEventNotificationParam (FUNCTION)", "0x10037d3b"]]}, {"orig": [["0x10038d10", "cmp dword ptr [edx + 0xb0], ecx"]], "recomp": [["0x10037d40", "cmp dword ptr [eax + 0xb0], ecx"]]}, {"both": [["0x10038d16", "jne 0x289", "0x10037d46"], ["0x10038d1c", "mov ecx, esi", "0x10037d4c"], ["0x10038d1e", "call Pizza::StopActions (FUNCTION)", "0x10037d4e"], ["0x10038d23", "call GameState (FUNCTION)", "0x10037d53"], ["0x10038d28", "cmp byte ptr [eax + 0xc], 1", "0x10037d58"], ["0x10038d2c", "jne 0x156", "0x10037d5c"], ["0x10038d32", "mov edi, 0xffffffff", "0x10037d62"], ["0x10038d37", "call CurrentWorld (FUNCTION)", "0x10037d67"], ["0x10038d3c", "cmp dword ptr [eax + 0x110], 0", "0x10037d6c"], ["0x10038d43", "jne 0xce", "0x10037d73"]]}]], ["@@ -0x10038e7d,21 +0x10037ead,21 @@", [{"both": [["0x10038e7d", "push edi", "0x10037ead"], ["0x10038e7e", "call Pizza::PlayAction (FUNCTION)", "0x10037eae"], ["0x10038e83", "jmp 0x11d", "0x10037eb3"], ["0x10038e88", "mov ecx, esi", "0x10037eb8"], ["0x10038e8a", "call Pizza::FUN_100382b0 (FUNCTION)", "0x10037eba"], ["0x10038e8f", "mov eax, dword ptr [esi + 0x7c]", "0x10037ebf"], ["0x10038e92", "mov dword ptr [eax + 0xc], 0", "0x10037ec2"], ["0x10038e99", "mov eax, dword ptr [esi + 0x7c]", "0x10037ec9"], ["0x10038e9c", "mov dword ptr [eax + 0xb0], 0xffffffff", "0x10037ecc"], ["0x10038ea6", "jmp 0xfa", "0x10037ed6"]]}, {"orig": [["0x10038eab", "cmp dword ptr [edx + 0xb0], ecx"]], "recomp": [["0x10037edb", "cmp dword ptr [eax + 0xb0], ecx"]]}, {"both": [["0x10038eb1", "jne 0xee", "0x10037ee1"], ["0x10038eb7", "cmp ecx, 0x2f3", "0x10037ee7"], ["0x10038ebd", "jne 0x44", "0x10037eed"], ["0x10038ebf", "push 1", "0x10037eef"], ["0x10038ec1", "mov ecx, esi", "0x10037ef1"], ["0x10038ec3", "push 0x2f4", "0x10037ef3"], ["0x10038ec8", "call Pizza::PlayAction (FUNCTION)", "0x10037ef8"], ["0x10038ecd", "call Timer (FUNCTION)", "0x10037efd"], ["0x10038ed2", "cmp byte ptr [eax + 0xc], 0", "0x10037f02"], ["0x10038ed6", "je 0xd", "0x10037f06"]]}]], ["@@ -0x10038f0f,21 +0x10037f3f,21 @@", [{"both": [["0x10038f0f", "push 0x2f6", "0x10037f3f"], ["0x10038f14", "call Pizza::PlayAction (FUNCTION)", "0x10037f44"], ["0x10038f19", "jmp 0x87", "0x10037f49"], ["0x10038f1e", "mov ecx, esi", "0x10037f4e"], ["0x10038f20", "call Pizza::FUN_100382b0 (FUNCTION)", "0x10037f50"], ["0x10038f25", "mov eax, dword ptr [esi + 0x7c]", "0x10037f55"], ["0x10038f28", "mov dword ptr [eax + 0xc], 0", "0x10037f58"], ["0x10038f2f", "mov eax, dword ptr [esi + 0x7c]", "0x10037f5f"], ["0x10038f32", "mov dword ptr [eax + 0xb0], 0xffffffff", "0x10037f62"], ["0x10038f3c", "jmp 0x67", "0x10037f6c"]]}, {"orig": [["0x10038f3e", "cmp dword ptr [edx + 0xb0], ecx"]], "recomp": [["0x10037f6e", "cmp dword ptr [eax + 0xb0], ecx"]]}, {"both": [["0x10038f44", "jne 0x5f", "0x10037f74"], ["0x10038f46", "mov eax, dword ptr [esi + 0x88]", "0x10037f76"], ["0x10038f4c", "xor edi, edi", "0x10037f7c"], ["0x10038f4e", "mov dword ptr [eax + 0x18], edi", "0x10037f7e"], ["0x10038f51", "mov ecx, dword ptr [esi + 0x7c]", "0x10037f81"], ["0x10038f54", "mov dword ptr [ecx + 0xc], edi", "0x10037f84"], ["0x10038f57", "call GameState (FUNCTION)", "0x10037f87"], ["0x10038f5c", "mov dword ptr [eax + 0x424], 1", "0x10037f8c"], ["0x10038f66", "call TickleManager (FUNCTION)", "0x10037f96"], ["0x10038f6b", "mov ecx, eax", "0x10037f9b"]]}]], ["@@ -0x10038f73,21 +0x10037fa3,21 @@", [{"both": [["0x10038f73", "call CurrentWorld (FUNCTION)", "0x10037fa3"], ["0x10038f78", "mov dword ptr [eax + 0x13c], 0x2e", "0x10037fa8"], ["0x10038f82", "push edi", "0x10037fb2"], ["0x10038f83", "push edi", "0x10037fb3"], ["0x10038f84", "push 0x32", "0x10037fb4"], ["0x10038f86", "push 3", "0x10037fb6"], ["0x10038f88", "call TransitionManager (FUNCTION)", "0x10037fb8"], ["0x10038f8d", "mov ecx, eax", "0x10037fbd"], ["0x10038f8f", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10037fbf"], ["0x10038f94", "jmp 0xf", "0x10037fc4"]]}, {"orig": [["0x10038f96", "cmp dword ptr [edx + 0xb0], ecx"]], "recomp": [["0x10037fc6", "cmp dword ptr [eax + 0xb0], ecx"]]}, {"both": [["0x10038f9c", "jne 0x7", "0x10037fcc"], ["0x10038f9e", "mov ecx, esi", "0x10037fce"], ["0x10038fa0", "call Pizza::FUN_100382b0 (FUNCTION)", "0x10037fd0"], ["0x10038fa5", "mov eax, dword ptr [ebp - 0x10]", "0x10037fd5"], ["0x10038fa8", "mov ecx, dword ptr [ebp - 0xc]", "0x10037fd8"], ["0x10038fab", "pop edi", "0x10037fdb"], ["0x10038fac", "mov dword ptr fs:[0], ecx", "0x10037fdc"], ["0x10038fb3", "pop esi", "0x10037fe3"], ["0x10038fb4", "pop ebx", "0x10037fe4"], ["0x10038fb5", "mov esp, ebp", "0x10037fe5"]]}]]]}, {"address": "0x10038fe0", "recomp": "0x10038010", "name": "Pizza::PlayAction", "matching": 1.0, "diff": []}, {"address": "0x10039030", "recomp": "0x10038060", "name": "PizzaMissionState::PizzaMissionState", "matching": 1.0, "diff": []}, {"address": "0x10039220", "recomp": "0x10038250", "name": "PizzaMissionState::Mission::Mission", "matching": 1.0, "diff": []}, {"address": "0x10039230", "recomp": "0x10038260", "name": "PizzaMissionState::Mission::operator=", "matching": 1.0, "diff": []}, {"address": "0x10039290", "recomp": "0x100382c0", "name": "PizzaMissionState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100392a0", "recomp": "0x100382d0", "name": "PizzaMissionState::IsA", "matching": 1.0, "diff": []}, {"address": "0x10039350", "recomp": "0x10038380", "name": "PizzaMissionState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100393c0", "recomp": "0x100383f0", "name": "PizzaMissionState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10039510", "recomp": "0x10038540", "name": "PizzaMissionState::GetMission", "matching": 1.0, "diff": []}, {"address": "0x10039540", "recomp": "0x10038570", "name": "PizzaMissionState::FUN_10039540", "matching": 1.0, "diff": []}, {"address": "0x10039550", "recomp": "0x1003b3f0", "name": "LegoGameState::LegoGameState", "matching": 0.7727272727272727, "diff": [["@@ -0x10039550,117 +0x1003b3f0,117 @@", [{"both": [["0x10039550", "mov eax, dword ptr fs:[0]", "0x1003b3f0"], ["0x10039556", "push ebp", "0x1003b3f6"], ["0x10039557", "mov ebp, esp", "0x1003b3f7"], ["0x10039559", "push -1", "0x1003b3f9"], ["0x1003955b", "push <OFFSET1>", "0x1003b3fb"], ["0x10039560", "push eax", "0x1003b400"], ["0x10039561", "mov dword ptr fs:[0], esp", "0x1003b401"], ["0x10039568", "sub esp, 8", "0x1003b408"], ["0x1003956b", "push ebx", "0x1003b40b"], ["0x1003956c", "push esi", "0x1003b40c"]]}, {"orig": [], "recomp": [["0x1003b40d", "push edi"], ["0x1003b40e", "mov esi, 8"]]}, {"both": [["0x1003956d", "lea ebx, [ecx + 0x28]", "0x1003b413"]]}, {"orig": [["0x10039570", "push edi"], ["0x10039571", "mov esi, ecx"], ["0x10039573", "mov edi, 8"]], "recomp": [["0x1003b416", "mov edi, ecx"]]}, {"both": [["0x10039578", "mov ecx, ebx", "0x1003b418"], ["0x1003957a", "add ebx, 0xe", "0x1003b41a"], ["0x1003957d", "call LegoGameState::Username::Username (FUNCTION)", "0x1003b41d"]]}, {"orig": [["0x10039582", "dec edi"]], "recomp": [["0x1003b422", "dec esi"]]}, {"both": [["0x10039583", "jns -0xd", "0x1003b423"]]}, {"orig": [["0x10039585", "lea ecx, [esi + 0xa6]"]], "recomp": [["0x1003b425", "lea ecx, [edi + 0xa6]"]]}, {"both": [["0x1003958b", "xor ebx, ebx", "0x1003b42b"], ["0x1003958d", "call LegoGameState::History::History (FUNCTION)", "0x1003b42d"]]}, {"orig": [["0x10039592", "mov ecx, esi"]], "recomp": [["0x1003b432", "mov ecx, edi"]]}, {"both": [["0x10039594", "call LegoGameState::SetColors (FUNCTION)", "0x1003b434"]]}, {"orig": [["0x10039599", "mov ecx, esi"]], "recomp": [["0x1003b439", "mov ecx, edi"]]}, {"both": [["0x1003959b", "call LegoGameState::SetROIHandlerFunction (FUNCTION)", "0x1003b43b"]]}, {"orig": [["0x100395a0", "mov word ptr [esi + 4], bx"]], "recomp": [["0x1003b440", "mov word ptr [edi + 4], bx"]]}, {"both": [["0x100395a4", "mov eax, 0xffffffff", "0x1003b444"]]}, {"orig": [["0x100395a9", "mov byte ptr [esi + 0xc], bl"], ["0x100395ac", "mov dword ptr [esi], ebx"], ["0x100395ae", "mov dword ptr [esi + 8], ebx"], ["0x100395b1", "mov dword ptr [esi + 0x41c], eax"], ["0x100395b7", "mov word ptr [esi + 0x26], bx"], ["0x100395bb", "mov dword ptr [esi + 0x424], ebx"]], "recomp": [["0x1003b449", "mov byte ptr [edi + 0xc], bl"], ["0x1003b44c", "mov dword ptr [edi], ebx"], ["0x1003b44e", "mov dword ptr [edi + 8], ebx"], ["0x1003b451", "mov dword ptr [edi + 0x41c], eax"], ["0x1003b457", "mov word ptr [edi + 0x26], bx"], ["0x1003b45b", "mov dword ptr [edi + 0x424], ebx"]]}, {"both": [["0x100395c1", "push ebx", "0x1003b461"]]}, {"orig": [["0x100395c2", "mov dword ptr [esi + 0x428], ebx"], ["0x100395c8", "mov ecx, esi"], ["0x100395ca", "mov dword ptr [esi + 0x42c], ebx"], ["0x100395d0", "mov byte ptr [esi + 0x420], bl"], ["0x100395d6", "mov dword ptr [esi + 0x14], eax"]], "recomp": [["0x1003b462", "mov dword ptr [edi + 0x428], ebx"], ["0x1003b468", "mov ecx, edi"], ["0x1003b46a", "mov dword ptr [edi + 0x42c], ebx"], ["0x1003b470", "mov byte ptr [edi + 0x420], bl"], ["0x1003b476", "mov dword ptr [edi + 0x14], eax"]]}, {"both": [["0x100395d9", "call LegoGameState::SetCurrentAct (FUNCTION)", "0x1003b479"], ["0x100395de", "push 0x30", "0x1003b47e"], ["0x100395e0", "call ??2@YAPAXI@Z (FUNCTION)", "0x1003b480"], ["0x100395e5", "mov dword ptr [ebp - 0x10], eax", "0x1003b485"], ["0x100395e8", "add esp, 4", "0x1003b488"]]}, {"orig": [["0x100395eb", "mov edi, eax"]], "recomp": [["0x1003b48b", "mov esi, eax"]]}, {"both": [["0x100395ed", "mov dword ptr [ebp - 4], ebx", "0x1003b48d"], ["0x100395f0", "mov eax, 0", "0x1003b490"]]}, {"orig": [["0x100395f5", "test edi, edi"]], "recomp": [["0x1003b495", "test esi, esi"]]}, {"both": [["0x100395f7", "je 0x11", "0x1003b497"], ["0x100395f9", "push 'set 56 54 68' (STRING)", "0x1003b499"]]}, {"orig": [["0x100395fe", "mov ecx, edi"]], "recomp": [["0x1003b49e", "mov ecx, esi"]]}, {"both": [["0x10039600", "push 'backgroundcolor' (STRING)", "0x1003b4a0"], ["0x10039605", "call LegoBackgroundColor::LegoBackgroundColor (FUNCTION)", "0x1003b4a5"], ["0x1003960a", "mov dword ptr [ebp - 4], 0xffffffff", "0x1003b4aa"], ["0x10039611", "push eax", "0x1003b4b1"]]}, {"orig": [["0x10039612", "mov dword ptr [esi + 0x18], eax"]], "recomp": [["0x1003b4b2", "mov dword ptr [edi + 0x18], eax"]]}, {"both": [["0x10039615", "call VariableTable (FUNCTION)", "0x1003b4b5"], ["0x1003961a", "mov ecx, eax", "0x1003b4ba"], ["0x1003961c", "call MxVariableTable::SetVariable (FUNCTION)", "0x1003b4bc"], ["0x10039621", "push 0x30", "0x1003b4c1"], ["0x10039623", "call ??2@YAPAXI@Z (FUNCTION)", "0x1003b4c3"], ["0x10039628", "mov dword ptr [ebp - 0x14], eax", "0x1003b4c8"], ["0x1003962b", "add esp, 4", "0x1003b4cb"], ["0x1003962e", "mov dword ptr [ebp - 4], 1", "0x1003b4ce"], ["0x10039635", "mov ebx, eax", "0x1003b4d5"], ["0x10039637", "mov eax, 0", "0x1003b4d7"], ["0x1003963c", "test ebx, ebx", "0x1003b4dc"], ["0x1003963e", "je 0x11", "0x1003b4de"], ["0x10039640", "push 'set 56 54 68' (STRING)", "0x1003b4e0"], ["0x10039645", "mov ecx, ebx", "0x1003b4e5"], ["0x10039647", "push 'tempBackgroundColor' (STRING)", "0x1003b4e7"], ["0x1003964c", "call LegoBackgroundColor::LegoBackgroundColor (FUNCTION)", "0x1003b4ec"], ["0x10039651", "mov dword ptr [ebp - 4], 0xffffffff", "0x1003b4f1"], ["0x10039658", "push eax", "0x1003b4f8"]]}, {"orig": [["0x10039659", "mov dword ptr [esi + 0x1c], eax"]], "recomp": [["0x1003b4f9", "mov dword ptr [edi + 0x1c], eax"]]}, {"both": [["0x1003965c", "call VariableTable (FUNCTION)", "0x1003b4fc"], ["0x10039661", "mov ecx, eax", "0x1003b501"], ["0x10039663", "call MxVariableTable::SetVariable (FUNCTION)", "0x1003b503"], ["0x10039668", "push 0x24", "0x1003b508"], ["0x1003966a", "call ??2@YAPAXI@Z (FUNCTION)", "0x1003b50a"], ["0x1003966f", "mov dword ptr [ebp - 0x10], eax", "0x1003b50f"], ["0x10039672", "add esp, 4", "0x1003b512"], ["0x10039675", "mov dword ptr [ebp - 4], 2", "0x1003b515"]]}, {"orig": [["0x1003967c", "mov edi, eax"]], "recomp": [["0x1003b51c", "mov esi, eax"]]}, {"both": [["0x1003967e", "mov eax, 0", "0x1003b51e"]]}, {"orig": [["0x10039683", "test edi, edi"]], "recomp": [["0x1003b523", "test esi, esi"]]}, {"both": [["0x10039685", "je 0x11", "0x1003b525"], ["0x10039687", "push 'disable' (STRING)", "0x1003b527"]]}, {"orig": [["0x1003968c", "mov ecx, edi"]], "recomp": [["0x1003b52c", "mov ecx, esi"]]}, {"both": [["0x1003968e", "push 'fsmovie' (STRING)", "0x1003b52e"], ["0x10039693", "call LegoFullScreenMovie::LegoFullScreenMovie (FUNCTION)", "0x1003b533"], ["0x10039698", "mov dword ptr [ebp - 4], 0xffffffff", "0x1003b538"], ["0x1003969f", "push eax", "0x1003b53f"]]}, {"orig": [["0x100396a0", "mov dword ptr [esi + 0x20], eax"]], "recomp": [["0x1003b540", "mov dword ptr [edi + 0x20], eax"]]}, {"both": [["0x100396a3", "call VariableTable (FUNCTION)", "0x1003b543"], ["0x100396a8", "mov ecx, eax", "0x1003b548"], ["0x100396aa", "call MxVariableTable::SetVariable (FUNCTION)", "0x1003b54a"], ["0x100396af", "push '2' (STRING)", "0x1003b54f"], ["0x100396b4", "push 'lightposition' (STRING)", "0x1003b554"], ["0x100396b9", "call VariableTable (FUNCTION)", "0x1003b559"], ["0x100396be", "mov ecx, eax", "0x1003b55e"], ["0x100396c0", "call MxVariableTable::SetVariable (FUNCTION)", "0x1003b560"], ["0x100396c5", "push 1", "0x1003b565"]]}, {"orig": [["0x100396c7", "mov ecx, esi"]], "recomp": [["0x1003b567", "mov ecx, edi"]]}, {"both": [["0x100396c9", "call LegoGameState::SerializeScoreHistory (FUNCTION)", "0x1003b569"]]}, {"orig": [["0x100396ce", "mov eax, esi"]], "recomp": [["0x1003b56e", "mov eax, edi"]]}, {"both": [["0x100396d0", "mov ecx, dword ptr [ebp - 0xc]", "0x1003b570"], ["0x100396d3", "mov dword ptr fs:[0], ecx", "0x1003b573"], ["0x100396da", "pop edi", "0x1003b57a"], ["0x100396db", "pop esi", "0x1003b57b"], ["0x100396dc", "pop ebx", "0x1003b57c"], ["0x100396dd", "mov esp, ebp", "0x1003b57d"], ["0x100396df", "pop ebp", "0x1003b57f"], ["0x100396e0", "ret ", "0x1003b580"], ["0x100396e1", "mov eax, dword ptr [ebp - 0x10]", "0x1003b581"], ["0x100396e4", "push eax", "0x1003b584"]]}]]]}, {"address": "0x10039720", "recomp": "0x1003b5c0", "name": "LegoGameState::~LegoGameState", "matching": 1.0, "diff": []}, {"address": "0x10039780", "recomp": "0x1003b620", "name": "LegoGameState::SetActor", "matching": 1.0, "diff": []}, {"address": "0x10039910", "recomp": "0x1003b7b0", "name": "LegoGameState::RemoveActor", "matching": 1.0, "diff": []}, {"address": "0x10039940", "recomp": "0x1003b7e0", "name": "LegoGameState::ResetROI", "matching": 1.0, "diff": []}, {"address": "0x10039980", "recomp": "0x1003b820", "name": "LegoGameState::Save", "matching": 0.9306930693069307, "diff": [["@@ -0x10039a70,21 +0x1003b910,21 @@", [{"both": [["0x10039a70", "mov eax, dword ptr [ebx]", "0x1003b910"], ["0x10039a72", "lea ecx, [ebp - 0x20]", "0x1003b912"], ["0x10039a75", "push eax", "0x1003b915"], ["0x10039a76", "push edi", "0x1003b916"], ["0x10039a77", "push ecx", "0x1003b917"], ["0x10039a78", "mov ecx, esi", "0x1003b918"], ["0x10039a7a", "call LegoGameState::WriteVariable (FUNCTION)", "0x1003b91a"], ["0x10039a7f", "cmp eax, -1", "0x1003b91f"], ["0x10039a82", "je 0x11a", "0x1003b922"], ["0x10039a88", "add ebx, 8", "0x1003b928"]]}, {"orig": [["0x10039a8b", "cmp ebx, g_delimiter (DATA)"]], "recomp": [["0x1003b92b", "cmp ebx, '2' (STRING)"]]}, {"both": [["0x10039a91", "jb -0x23", "0x1003b931"], ["0x10039a93", "push 'backgroundcolor' (STRING)", "0x1003b933"], ["0x10039a98", "lea eax, [ebp - 0x20]", "0x1003b938"], ["0x10039a9b", "push edi", "0x1003b93b"], ["0x10039a9c", "mov ecx, esi", "0x1003b93c"], ["0x10039a9e", "push eax", "0x1003b93e"], ["0x10039a9f", "call LegoGameState::WriteVariable (FUNCTION)", "0x1003b93f"], ["0x10039aa4", "cmp eax, -1", "0x1003b944"], ["0x10039aa7", "je 0xf5", "0x1003b947"], ["0x10039aad", "push 'lightposition' (STRING)", "0x1003b94d"]]}]], ["@@ -0x10039ad5,69 +0x1003b975,69 @@", [{"both": [["0x10039ad5", "push eax", "0x1003b975"], ["0x10039ad6", "call CharacterManager (FUNCTION)", "0x1003b976"], ["0x10039adb", "mov ecx, eax", "0x1003b97b"], ["0x10039add", "call LegoCharacterManager::Write (FUNCTION)", "0x1003b97d"], ["0x10039ae2", "lea eax, [ebp - 0x20]", "0x1003b982"], ["0x10039ae5", "push eax", "0x1003b985"], ["0x10039ae6", "call PlantManager (FUNCTION)", "0x1003b986"], ["0x10039aeb", "mov ecx, eax", "0x1003b98b"], ["0x10039aed", "call LegoPlantManager::Write (FUNCTION)", "0x1003b98d"], ["0x10039af2", "lea eax, [ebp - 0x20]", "0x1003b992"]]}, {"orig": [], "recomp": [["0x1003b995", "xor ebx, ebx"], ["0x1003b997", "push eax"]]}, {"both": [["0x10039af5", "xor edi, edi", "0x1003b998"]]}, {"orig": [["0x10039af7", "push eax"], ["0x10039af8", "xor ebx, ebx"]], "recomp": []}, {"both": [["0x10039afa", "call BuildingManager (FUNCTION)", "0x1003b99a"], ["0x10039aff", "mov ecx, eax", "0x1003b99f"], ["0x10039b01", "call LegoBuildingManager::Write (FUNCTION)", "0x1003b9a1"]]}, {"orig": [["0x10039b06", "cmp word ptr [esi + 4], di"]], "recomp": [["0x1003b9a6", "cmp word ptr [esi + 4], bx"]]}, {"both": [["0x10039b0a", "mov dword ptr [ebp - 0x24], eax", "0x1003b9aa"], ["0x10039b0d", "jle 0x1f", "0x1003b9ad"], ["0x10039b0f", "mov eax, dword ptr [esi + 8]", "0x1003b9af"]]}, {"orig": [["0x10039b12", "mov ecx, dword ptr [eax + edi]"]], "recomp": [["0x1003b9b2", "mov ecx, dword ptr [eax + ebx]"]]}, {"both": [["0x10039b15", "mov eax, dword ptr [ecx]", "0x1003b9b5"], ["0x10039b17", "call dword ptr [eax + 0x14]", "0x1003b9b7"], ["0x10039b1a", "test al, al", "0x1003b9ba"], ["0x10039b1c", "je 0x4", "0x1003b9bc"], ["0x10039b1e", "inc word ptr [ebp - 0xe]", "0x1003b9be"]]}, {"orig": [["0x10039b22", "add edi, 4"], ["0x10039b25", "inc ebx"]], "recomp": [["0x1003b9c2", "add ebx, 4"], ["0x1003b9c5", "inc edi"]]}, {"both": [["0x10039b26", "movsx eax, word ptr [esi + 4]", "0x1003b9c6"]]}, {"orig": [["0x10039b2a", "cmp eax, ebx"]], "recomp": [["0x1003b9ca", "cmp eax, edi"]]}, {"both": [["0x10039b2c", "jg -0x1f", "0x1003b9cc"], ["0x10039b2e", "mov ax, word ptr [ebp - 0xe]", "0x1003b9ce"], ["0x10039b32", "push 2", "0x1003b9d2"], ["0x10039b34", "mov word ptr [ebp - 0x12], ax", "0x1003b9d4"], ["0x10039b38", "lea ecx, [ebp - 0x20]", "0x1003b9d8"], ["0x10039b3b", "lea eax, [ebp - 0x12]", "0x1003b9db"], ["0x10039b3e", "mov ebx, dword ptr [ebp - 0x20]", "0x1003b9de"], ["0x10039b41", "push eax", "0x1003b9e1"], ["0x10039b42", "xor edi, edi", "0x1003b9e2"], ["0x10039b44", "call dword ptr [ebx + 8]", "0x1003b9e4"], ["0x10039b47", "xor ebx, ebx", "0x1003b9e7"]]}, {"orig": [["0x10039b49", "cmp word ptr [esi + 4], di"]], "recomp": [["0x1003b9e9", "cmp word ptr [esi + 4], bx"]]}, {"both": [["0x10039b4d", "jle 0x2a", "0x1003b9ed"], ["0x10039b4f", "mov eax, dword ptr [esi + 8]", "0x1003b9ef"]]}, {"orig": [["0x10039b52", "mov ecx, dword ptr [eax + edi]"]], "recomp": [["0x1003b9f2", "mov ecx, dword ptr [eax + ebx]"]]}, {"both": [["0x10039b55", "mov eax, dword ptr [ecx]", "0x1003b9f5"], ["0x10039b57", "call dword ptr [eax + 0x14]", "0x1003b9f7"], ["0x10039b5a", "test al, al", "0x1003b9fa"], ["0x10039b5c", "je 0xf", "0x1003b9fc"], ["0x10039b5e", "mov eax, dword ptr [esi + 8]", "0x1003b9fe"], ["0x10039b61", "lea edx, [ebp - 0x20]", "0x1003ba01"], ["0x10039b64", "push edx", "0x1003ba04"]]}, {"orig": [["0x10039b65", "mov ecx, dword ptr [eax + edi]"]], "recomp": [["0x1003ba05", "mov ecx, dword ptr [eax + ebx]"]]}, {"both": [["0x10039b68", "mov eax, dword ptr [ecx]", "0x1003ba08"], ["0x10039b6a", "call dword ptr [eax + 0x1c]", "0x1003ba0a"]]}, {"orig": [["0x10039b6d", "add edi, 4"], ["0x10039b70", "inc ebx"]], "recomp": [["0x1003ba0d", "add ebx, 4"], ["0x1003ba10", "inc edi"]]}, {"both": [["0x10039b71", "movsx eax, word ptr [esi + 4]", "0x1003ba11"]]}, {"orig": [["0x10039b75", "cmp eax, ebx"]], "recomp": [["0x1003ba15", "cmp eax, edi"]]}, {"both": [["0x10039b77", "jg -0x2a", "0x1003ba17"], ["0x10039b79", "mov eax, dword ptr [esi + 0x42c]", "0x1003ba19"], ["0x10039b7f", "push 2", "0x1003ba1f"], ["0x10039b81", "mov word ptr [ebp - 0x12], ax", "0x1003ba21"], ["0x10039b85", "lea ecx, [ebp - 0x20]", "0x1003ba25"], ["0x10039b88", "lea eax, [ebp - 0x12]", "0x1003ba28"], ["0x10039b8b", "mov ebx, dword ptr [ebp - 0x20]", "0x1003ba2b"], ["0x10039b8e", "push eax", "0x1003ba2e"], ["0x10039b8f", "call dword ptr [ebx + 8]", "0x1003ba2f"], ["0x10039b92", "push 2", "0x1003ba32"]]}]]]}, {"address": "0x10039bf0", "recomp": "0x1003ba90", "name": "LegoGameState::DeleteState", "matching": 1.0, "diff": []}, {"address": "0x10039c60", "recomp": "0x1003bb00", "name": "LegoGameState::Load", "matching": 1.0, "effective": true, "diff": [["@@ -0x10039e4b,22 +0x1003bceb,22 @@", [{"both": [["0x10039e4b", "push eax", "0x1003bceb"], ["0x10039e4c", "call LegoGameState::CreateState (FUNCTION)", "0x1003bcec"], ["0x10039e51", "test eax, eax", "0x1003bcf1"], ["0x10039e53", "je 0x49", "0x1003bcf3"], ["0x10039e55", "inc di", "0x1003bcf5"], ["0x10039e57", "lea ecx, [ebp - 0x20]", "0x1003bcf7"], ["0x10039e5a", "push ecx", "0x1003bcfa"], ["0x10039e5b", "mov edx, dword ptr [eax]", "0x1003bcfb"], ["0x10039e5d", "mov ecx, eax", "0x1003bcfd"], ["0x10039e5f", "call dword ptr [edx + 0x1c]", "0x1003bcff"]]}, {"orig": [["0x10039e62", "cmp word ptr [ebp - 0x10], di"], ["0x10039e66", "jg -0x66"]], "recomp": [["0x1003bd02", "cmp di, word ptr [ebp - 0x10]"], ["0x1003bd06", "jl -0x66"]]}, {"both": [["0x10039e68", "push 2", "0x1003bd08"], ["0x10039e6a", "lea eax, [ebp - 0xe]", "0x1003bd0a"], ["0x10039e6d", "mov ebx, dword ptr [ebp - 0x20]", "0x1003bd0d"], ["0x10039e70", "push eax", "0x1003bd10"], ["0x10039e71", "lea ecx, [ebp - 0x20]", "0x1003bd11"], ["0x10039e74", "call dword ptr [ebx + 4]", "0x1003bd14"], ["0x10039e77", "cmp dword ptr [esi + 0x10], 0", "0x1003bd17"], ["0x10039e7b", "jne 0xc", "0x1003bd1b"], ["0x10039e7d", "mov dword ptr [esi + 0x42c], 0", "0x1003bd1d"], ["0x10039e87", "jmp 0xa", "0x1003bd27"]]}]]]}, {"address": "0x10039f00", "recomp": "0x1003bda0", "name": "LegoGameState::SetSavePath", "matching": 1.0, "diff": []}, {"address": "0x10039f70", "recomp": "0x1003be10", "name": "LegoGameState::WriteVariable", "matching": 1.0, "diff": []}, {"address": "0x1003a020", "recomp": "0x1003bec0", "name": "LegoGameState::WriteEndOfVariables", "matching": 1.0, "diff": []}, {"address": "0x1003a080", "recomp": "0x1003bf20", "name": "LegoGameState::ReadVariable", "matching": 1.0, "diff": []}, {"address": "0x1003a170", "recomp": "0x1003c010", "name": "LegoGameState::GetFileSavePath", "matching": 1.0, "diff": []}, {"address": "0x1003a2e0", "recomp": "0x1003c180", "name": "LegoGameState::SerializePlayersInfo", "matching": 1.0, "diff": []}, {"address": "0x1003a3f0", "recomp": "0x1003c290", "name": "LegoGameState::AddPlayer", "matching": 0.8725490196078431, "diff": [["@@ -0x1003a434,49 +0x1003c2d4,50 @@", [{"both": [["0x1003a434", "lea eax, [ebp - 0x20]", "0x1003c2d4"], ["0x1003a437", "push eax", "0x1003c2d7"], ["0x1003a438", "mov ecx, esi", "0x1003c2d8"], ["0x1003a43a", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c2da"], ["0x1003a43f", "mov eax, dword ptr [ebp - 0x18]", "0x1003c2df"], ["0x1003a442", "push eax", "0x1003c2e2"], ["0x1003a443", "call dword ptr [->KERNEL32.DLL:DeleteFileA (FUNCTION)]", "0x1003c2e3"], ["0x1003a449", "dec word ptr [esi + 0x26]", "0x1003c2e9"], ["0x1003a44d", "mov bx, word ptr [esi + 0x26]", "0x1003c2ed"], ["0x1003a451", "test bx, bx", "0x1003c2f1"]]}, {"orig": [["0x1003a454", "jle 0x4b"]], "recomp": [["0x1003c2f4", "jle 0x4a"], ["0x1003c2f6", "mov edi, dword ptr [__imp__MoveFileA@8 (POINTER)]"]]}, {"both": [["0x1003a456", "movsx ecx, bx", "0x1003c2fc"], ["0x1003a459", "mov eax, ecx", "0x1003c2ff"]]}, {"orig": [["0x1003a45b", "lea edi, [ebx - 1]"]], "recomp": []}, {"both": [["0x1003a45e", "shl ecx, 3", "0x1003c301"], ["0x1003a461", "sub ecx, eax", "0x1003c304"], ["0x1003a463", "lea eax, [esi + ecx*2 + 0x1a]", "0x1003c306"], ["0x1003a467", "lea ecx, [esi + ecx*2]", "0x1003c30a"], ["0x1003a46a", "push eax", "0x1003c30d"], ["0x1003a46b", "add ecx, 0x28", "0x1003c30e"], ["0x1003a46e", "call LegoGameState::Username::operator= (FUNCTION)", "0x1003c311"]]}, {"orig": [["0x1003a473", "push edi"]], "recomp": [["0x1003c316", "mov al, bl"]]}, {"both": [["0x1003a474", "lea ecx, [ebp - 0x20]", "0x1003c318"]]}, {"orig": [], "recomp": [["0x1003c31b", "dec al"], ["0x1003c31d", "push eax"]]}, {"both": [["0x1003a477", "push ecx", "0x1003c31e"], ["0x1003a478", "mov ecx, esi", "0x1003c31f"], ["0x1003a47a", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c321"], ["0x1003a47f", "push ebx", "0x1003c326"]]}, {"orig": [["0x1003a480", "lea eax, [ebp - 0x30]"], ["0x1003a483", "mov bx, di"], ["0x1003a486", "push eax"]], "recomp": [["0x1003c327", "lea ecx, [ebp - 0x30]"], ["0x1003c32a", "push ecx"]]}, {"both": [["0x1003a487", "mov ecx, esi", "0x1003c32b"], ["0x1003a489", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c32d"]]}, {"orig": [["0x1003a48e", "mov eax, dword ptr [ebp - 0x28]"], ["0x1003a491", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1003a494", "push eax"]], "recomp": [["0x1003c332", "mov ecx, dword ptr [ebp - 0x28]"], ["0x1003c335", "mov edx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1003a495", "push ecx", "0x1003c338"]]}, {"orig": [["0x1003a496", "call dword ptr [->KERNEL32.DLL:MoveFileA (FUNCTION)]"], ["0x1003a49c", "test di, di"], ["0x1003a49f", "jne -0x4b"]], "recomp": [["0x1003c339", "push edx"], ["0x1003c33a", "call edi"], ["0x1003c33c", "dec bx"], ["0x1003c33e", "jne -0x44"]]}, {"both": [["0x1003a4a1", "inc word ptr [esi + 0x26]", "0x1003c340"], ["0x1003a4a5", "mov edx, dword ptr [ebp + 8]", "0x1003c344"], ["0x1003a4a8", "lea ecx, [esi + 0x28]", "0x1003c347"], ["0x1003a4ab", "mov eax, dword ptr [edx]", "0x1003c34a"], ["0x1003a4ad", "mov dword ptr [ecx], eax", "0x1003c34c"], ["0x1003a4af", "mov ebx, dword ptr [edx + 4]", "0x1003c34e"], ["0x1003a4b2", "mov dword ptr [ecx + 4], ebx", "0x1003c351"], ["0x1003a4b5", "mov edi, dword ptr [edx + 8]", "0x1003c354"], ["0x1003a4b8", "mov dword ptr [ecx + 8], edi", "0x1003c357"], ["0x1003a4bb", "mov ax, word ptr [edx + 0xc]", "0x1003c35a"]]}]], ["@@ -0x1003a518,10 +0x1003c3b7,11 @@", [{"both": [["0x1003a518", "pop esi", "0x1003c3b7"], ["0x1003a519", "pop ebx", "0x1003c3b8"], ["0x1003a51a", "mov esp, ebp", "0x1003c3b9"], ["0x1003a51c", "pop ebp", "0x1003c3bb"], ["0x1003a51d", "ret 4", "0x1003c3bc"], ["0x1003a520", "lea ecx, [ebp - 0x30]", "0x1003c3bf"], ["0x1003a523", "jmp MxString::~MxString (FUNCTION)", "0x1003c3c2"], ["0x1003a528", "mov eax, <OFFSET12>", "0x1003c3c7"], ["0x1003a52d", "jmp ___CxxFrameHandler (FUNCTION)", "0x1003c3cc"], ["0x1003a532", "lea ecx, [ebp - 0x20]", "0x1003c3d1"]]}, {"orig": [], "recomp": [["0x1003c3d4", "jmp MxString::~MxString (FUNCTION)"]]}]]]}, {"address": "0x1003a540", "recomp": "0x1003c3e0", "name": "LegoGameState::SwitchPlayer", "matching": 0.7674418604651163, "diff": [["@@ -0x1003a540,97 +0x1003c3e0,96 @@", [{"both": [["0x1003a540", "mov eax, dword ptr fs:[0]", "0x1003c3e0"], ["0x1003a546", "push ebp", "0x1003c3e6"], ["0x1003a547", "mov ebp, esp", "0x1003c3e7"], ["0x1003a549", "push -1", "0x1003c3e9"], ["0x1003a54b", "push <OFFSET1>", "0x1003c3eb"], ["0x1003a550", "push eax", "0x1003c3f0"], ["0x1003a551", "mov dword ptr fs:[0], esp", "0x1003c3f1"], ["0x1003a558", "sub esp, 0x44", "0x1003c3f8"], ["0x1003a55b", "mov dword ptr [ebp - 0x10], ecx", "0x1003c3fb"], ["0x1003a55e", "push ebx", "0x1003c3fe"]]}, {"orig": [], "recomp": [["0x1003c3ff", "mov bx, word ptr [ebp + 8]"]]}, {"both": [["0x1003a55f", "push esi", "0x1003c403"]]}, {"orig": [["0x1003a560", "push edi"], ["0x1003a561", "mov di, word ptr [ebp + 8]"], ["0x1003a565", "test di, di"], ["0x1003a568", "jle 0x119"]], "recomp": [["0x1003c404", "test bx, bx"], ["0x1003c407", "jle 0x115"]]}, {"both": [["0x1003a56e", "lea ecx, [ebp - 0x20]", "0x1003c40d"], ["0x1003a571", "call MxString::MxString (FUNCTION)", "0x1003c410"], ["0x1003a576", "mov dword ptr [ebp - 4], 0", "0x1003c415"], ["0x1003a57d", "lea ecx, [ebp - 0x30]", "0x1003c41c"], ["0x1003a580", "call MxString::MxString (FUNCTION)", "0x1003c41f"], ["0x1003a585", "mov byte ptr [ebp - 4], 1", "0x1003c424"], ["0x1003a589", "lea ecx, [ebp - 0x40]", "0x1003c428"], ["0x1003a58c", "call MxString::MxString (FUNCTION)", "0x1003c42b"]]}, {"orig": [["0x1003a591", "push edi"]], "recomp": [["0x1003c430", "push ebx"]]}, {"both": [["0x1003a592", "lea eax, [ebp - 0x20]", "0x1003c431"], ["0x1003a595", "push eax", "0x1003c434"], ["0x1003a596", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c435"], ["0x1003a599", "mov byte ptr [ebp - 4], 2", "0x1003c438"], ["0x1003a59d", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c43c"], ["0x1003a5a2", "push 0x24", "0x1003c441"], ["0x1003a5a4", "lea eax, [ebp - 0x30]", "0x1003c443"], ["0x1003a5a7", "push eax", "0x1003c446"], ["0x1003a5a8", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c447"], ["0x1003a5ab", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c44a"]]}, {"orig": [["0x1003a5b0", "movsx ecx, di"]], "recomp": [["0x1003c44f", "movsx ecx, bx"]]}, {"both": [["0x1003a5b3", "mov eax, ecx", "0x1003c452"], ["0x1003a5b5", "lea edx, [ebp - 0x50]", "0x1003c454"], ["0x1003a5b8", "shl ecx, 3", "0x1003c457"], ["0x1003a5bb", "sub ecx, eax", "0x1003c45a"], ["0x1003a5bd", "mov eax, dword ptr [ebp - 0x10]", "0x1003c45c"]]}, {"orig": [["0x1003a5c0", "mov ebx, dword ptr [eax + ecx*2 + 0x2c]"], ["0x1003a5c4", "mov esi, dword ptr [eax + ecx*2 + 0x30]"]], "recomp": [["0x1003c45f", "mov esi, dword ptr [eax + ecx*2 + 0x2c]"]]}, {"both": [["0x1003a5c8", "lea ecx, [eax + ecx*2]", "0x1003c463"], ["0x1003a5cb", "mov eax, dword ptr [ecx + 0x28]", "0x1003c466"], ["0x1003a5ce", "add ecx, 0x28", "0x1003c469"], ["0x1003a5d1", "mov dword ptr [edx], eax", "0x1003c46c"]]}, {"orig": [["0x1003a5d3", "mov ax, word ptr [ecx + 0xc]"], ["0x1003a5d7", "mov dword ptr [edx + 4], ebx"], ["0x1003a5da", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1003a5dd", "mov dword ptr [edx + 8], esi"], ["0x1003a5e0", "mov word ptr [edx + 0xc], ax"], ["0x1003a5e4", "mov esi, dword ptr [__imp__MoveFileA@8 (POINTER)]"]], "recomp": [["0x1003c46e", "mov dword ptr [edx + 4], esi"], ["0x1003c471", "mov eax, dword ptr [ecx + 8]"], ["0x1003c474", "mov cx, word ptr [ecx + 0xc]"], ["0x1003c478", "mov dword ptr [edx + 8], eax"], ["0x1003c47b", "mov word ptr [edx + 0xc], cx"]]}, {"both": [["0x1003a5ea", "mov eax, dword ptr [ebp - 0x28]", "0x1003c47f"], ["0x1003a5ed", "push eax", "0x1003c482"]]}, {"orig": [], "recomp": [["0x1003c483", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1003a5ee", "push ecx", "0x1003c486"]]}, {"orig": [], "recomp": [["0x1003c487", "mov esi, dword ptr [__imp__MoveFileA@8 (POINTER)]"]]}, {"both": [["0x1003a5ef", "call esi", "0x1003c48d"]]}, {"orig": [["0x1003a5f1", "test di, di"], ["0x1003a5f4", "jle 0x4c"], ["0x1003a5f6", "movsx ecx, di"]], "recomp": [["0x1003c48f", "test bx, bx"], ["0x1003c492", "jle 0x49"], ["0x1003c494", "movsx ecx, bx"]]}, {"both": [["0x1003a5f9", "mov eax, ecx", "0x1003c497"]]}, {"orig": [["0x1003a5fb", "lea ebx, [edi - 1]"]], "recomp": []}, {"both": [["0x1003a5fe", "shl ecx, 3", "0x1003c499"], ["0x1003a601", "sub ecx, eax", "0x1003c49c"], ["0x1003a603", "mov eax, dword ptr [ebp - 0x10]", "0x1003c49e"], ["0x1003a606", "lea edx, [eax + ecx*2 + 0x1a]", "0x1003c4a1"], ["0x1003a60a", "lea ecx, [eax + ecx*2]", "0x1003c4a5"], ["0x1003a60d", "push edx", "0x1003c4a8"], ["0x1003a60e", "add ecx, 0x28", "0x1003c4a9"], ["0x1003a611", "call LegoGameState::Username::operator= (FUNCTION)", "0x1003c4ac"]]}, {"orig": [["0x1003a616", "push ebx"]], "recomp": [["0x1003c4b1", "mov al, bl"]]}, {"both": [["0x1003a617", "lea ecx, [ebp - 0x20]", "0x1003c4b3"]]}, {"orig": [], "recomp": [["0x1003c4b6", "dec al"], ["0x1003c4b8", "push eax"]]}, {"both": [["0x1003a61a", "push ecx", "0x1003c4b9"], ["0x1003a61b", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c4ba"], ["0x1003a61e", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c4bd"]]}, {"orig": [["0x1003a623", "push edi"], ["0x1003a624", "lea eax, [ebp - 0x40]"], ["0x1003a627", "mov di, bx"], ["0x1003a62a", "push eax"]], "recomp": [["0x1003c4c2", "push ebx"], ["0x1003c4c3", "lea ecx, [ebp - 0x40]"], ["0x1003c4c6", "push ecx"]]}, {"both": [["0x1003a62b", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c4c7"], ["0x1003a62e", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c4ca"]]}, {"orig": [["0x1003a633", "mov eax, dword ptr [ebp - 0x38]"], ["0x1003a636", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1003a639", "push eax"]], "recomp": [["0x1003c4cf", "mov ecx, dword ptr [ebp - 0x38]"], ["0x1003c4d2", "mov edx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1003a63a", "push ecx", "0x1003c4d5"]]}, {"orig": [], "recomp": [["0x1003c4d6", "push edx"]]}, {"both": [["0x1003a63b", "call esi", "0x1003c4d7"]]}, {"orig": [["0x1003a63d", "test bx, bx"], ["0x1003a640", "jne -0x4c"]], "recomp": [["0x1003c4d9", "dec bx"], ["0x1003c4db", "jne -0x49"]]}, {"both": [["0x1003a642", "lea eax, [ebp - 0x50]", "0x1003c4dd"], ["0x1003a645", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c4e0"], ["0x1003a648", "push eax", "0x1003c4e3"], ["0x1003a649", "add ecx, 0x28", "0x1003c4e4"], ["0x1003a64c", "call LegoGameState::Username::operator= (FUNCTION)", "0x1003c4e7"], ["0x1003a651", "push 0", "0x1003c4ec"], ["0x1003a653", "lea eax, [ebp - 0x20]", "0x1003c4ee"], ["0x1003a656", "push eax", "0x1003c4f1"], ["0x1003a657", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c4f2"], ["0x1003a65a", "call LegoGameState::GetFileSavePath (FUNCTION)", "0x1003c4f5"]]}]], ["@@ -0x1003a67b,23 +0x1003c516,24 @@", [{"both": [["0x1003a67b", "mov dword ptr [ebp - 4], 0xffffffff", "0x1003c516"], ["0x1003a682", "call <OFFSET8>", "0x1003c51d"], ["0x1003a687", "push 0", "0x1003c522"], ["0x1003a689", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c524"], ["0x1003a68c", "call LegoGameState::Load (FUNCTION)", "0x1003c527"], ["0x1003a691", "test eax, eax", "0x1003c52c"], ["0x1003a693", "je 0x8", "0x1003c52e"], ["0x1003a695", "mov ecx, dword ptr [ebp - 0x10]", "0x1003c530"], ["0x1003a698", "call LegoGameState::Init (FUNCTION)", "0x1003c533"], ["0x1003a69d", "mov eax, dword ptr [ebp - 0xc]", "0x1003c538"]]}, {"orig": [["0x1003a6a0", "pop edi"]], "recomp": [["0x1003c53b", "pop esi"]]}, {"both": [["0x1003a6a1", "mov dword ptr fs:[0], eax", "0x1003c53c"]]}, {"orig": [["0x1003a6a7", "pop esi"]], "recomp": []}, {"both": [["0x1003a6a8", "pop ebx", "0x1003c542"], ["0x1003a6a9", "mov esp, ebp", "0x1003c543"], ["0x1003a6ab", "pop ebp", "0x1003c545"], ["0x1003a6ac", "ret 4", "0x1003c546"], ["0x1003a6af", "lea ecx, [ebp - 0x40]", "0x1003c549"], ["0x1003a6b2", "jmp MxString::~MxString (FUNCTION)", "0x1003c54c"], ["0x1003a6b7", "lea ecx, [ebp - 0x30]", "0x1003c551"], ["0x1003a6ba", "jmp MxString::~MxString (FUNCTION)", "0x1003c554"], ["0x1003a6bf", "mov eax, <OFFSET11>", "0x1003c559"], ["0x1003a6c4", "jmp ___CxxFrameHandler (FUNCTION)", "0x1003c55e"]]}, {"orig": [], "recomp": [["0x1003c563", "lea ecx, [ebp - 0x20]"], ["0x1003c566", "jmp MxString::~MxString (FUNCTION)"]]}]]]}, {"address": "0x1003a6e0", "recomp": "0x1003c570", "name": "LegoGameState::FindPlayer", "matching": 1.0, "diff": []}, {"address": "0x1003a720", "recomp": "0x1003c5b0", "name": "LegoGameState::StopArea", "matching": 1.0, "diff": []}, {"address": "0x1003b060", "recomp": "0x1003cef0", "name": "LegoGameState::SwitchArea", "matching": 1.0, "diff": []}, {"address": "0x1003ba90", "recomp": "0x1003d920", "name": "LegoGameState::SetColors", "matching": 0.5882352941176471, "diff": [["@@ -0x1003ba90,17 +0x1003d920,17 @@", [{"both": [["0x1003ba90", "push esi", "0x1003d920"], ["0x1003ba91", "push edi", "0x1003d921"]]}, {"orig": [["0x1003ba92", "mov esi, g_colorSaveData[0].m_colorName (UNK)"]], "recomp": [["0x1003d922", "mov edi, g_colorSaveData[0].m_colorName (UNK)"]]}, {"both": [["0x1003ba97", "call VariableTable (FUNCTION)", "0x1003d927"]]}, {"orig": [["0x1003ba9c", "mov edi, eax"], ["0x1003ba9e", "mov eax, dword ptr [esi]"], ["0x1003baa0", "mov ecx, dword ptr [esi - 4]"]], "recomp": [["0x1003d92c", "mov esi, eax"], ["0x1003d92e", "mov eax, dword ptr [edi]"], ["0x1003d930", "mov ecx, dword ptr [edi - 4]"]]}, {"both": [["0x1003baa3", "push eax", "0x1003d933"]]}, {"orig": [["0x1003baa4", "add esi, 8"]], "recomp": [["0x1003d934", "add edi, 8"]]}, {"both": [["0x1003baa7", "push ecx", "0x1003d937"]]}, {"orig": [["0x1003baa8", "mov ecx, edi"]], "recomp": [["0x1003d938", "mov ecx, esi"]]}, {"both": [["0x1003baaa", "call MxVariableTable::SetVariable (FUNCTION)", "0x1003d93a"]]}, {"orig": [["0x1003baaf", "cmp esi, g_set (DATA)"]], "recomp": [["0x1003d93f", "cmp edi, 'fsmovie' (STRING)"]]}, {"both": [["0x1003bab5", "jb -0x19", "0x1003d945"], ["0x1003bab7", "pop edi", "0x1003d947"], ["0x1003bab8", "pop esi", "0x1003d948"], ["0x1003bab9", "ret ", "0x1003d949"]]}]]]}, {"address": "0x1003bac0", "recomp": "0x1003d950", "name": "LegoGameState::SetROIHandlerFunction", "matching": 1.0, "diff": []}, {"address": "0x1003bad0", "recomp": "0x1003d960", "name": "ROIHandlerFunction", "matching": 1.0, "diff": []}, {"address": "0x1003bbb0", "recomp": "0x1003da40", "name": "LegoGameState::GetState", "matching": 0.6857142857142857, "diff": [["@@ -0x1003bbb0,35 +0x1003da40,35 @@", [{"both": [["0x1003bbb0", "push ebx", "0x1003da40"], ["0x1003bbb1", "push esi", "0x1003da41"], ["0x1003bbb2", "push edi", "0x1003da42"]]}, {"orig": [], "recomp": [["0x1003da43", "xor esi, esi"], ["0x1003da45", "push ebp"]]}, {"both": [["0x1003bbb3", "xor ebx, ebx", "0x1003da46"]]}, {"orig": [["0x1003bbb5", "push ebp"], ["0x1003bbb6", "mov edi, ecx"], ["0x1003bbb8", "xor ebp, ebp"], ["0x1003bbba", "cmp word ptr [edi + 4], bp"]], "recomp": [["0x1003da48", "cmp word ptr [ecx + 4], si"], ["0x1003da4c", "mov ebp, ecx"]]}, {"both": [["0x1003bbbe", "jle 0x20", "0x1003da4e"]]}, {"orig": [["0x1003bbc0", "mov esi, dword ptr [esp + 0x14]"], ["0x1003bbc4", "mov eax, dword ptr [edi + 8]"], ["0x1003bbc7", "push esi"], ["0x1003bbc8", "mov ecx, dword ptr [eax + ebp]"]], "recomp": [["0x1003da50", "mov edi, dword ptr [esp + 0x14]"], ["0x1003da54", "mov eax, dword ptr [ebp + 8]"], ["0x1003da57", "push edi"], ["0x1003da58", "mov ecx, dword ptr [eax + esi]"]]}, {"both": [["0x1003bbcb", "mov eax, dword ptr [ecx]", "0x1003da5b"], ["0x1003bbcd", "call dword ptr [eax + 0x10]", "0x1003da5d"], ["0x1003bbd0", "test al, al", "0x1003da60"], ["0x1003bbd2", "jne 0x15", "0x1003da62"]]}, {"orig": [["0x1003bbd4", "add ebp, 4"]], "recomp": [["0x1003da64", "add esi, 4"]]}, {"both": [["0x1003bbd7", "inc ebx", "0x1003da67"]]}, {"orig": [["0x1003bbd8", "movsx eax, word ptr [edi + 4]"]], "recomp": [["0x1003da68", "movsx eax, word ptr [ebp + 4]"]]}, {"both": [["0x1003bbdc", "cmp eax, ebx", "0x1003da6c"], ["0x1003bbde", "jg -0x1c", "0x1003da6e"], ["0x1003bbe0", "xor eax, eax", "0x1003da70"], ["0x1003bbe2", "pop ebp", "0x1003da72"], ["0x1003bbe3", "pop edi", "0x1003da73"], ["0x1003bbe4", "pop esi", "0x1003da74"], ["0x1003bbe5", "pop ebx", "0x1003da75"], ["0x1003bbe6", "ret 4", "0x1003da76"]]}, {"orig": [["0x1003bbe9", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x1003da79", "mov eax, dword ptr [ebp + 8]"]]}, {"both": [["0x1003bbec", "pop ebp", "0x1003da7c"], ["0x1003bbed", "pop edi", "0x1003da7d"], ["0x1003bbee", "pop esi", "0x1003da7e"], ["0x1003bbef", "mov eax, dword ptr [eax + ebx*4]", "0x1003da7f"], ["0x1003bbf2", "pop ebx", "0x1003da82"], ["0x1003bbf3", "ret 4", "0x1003da83"]]}]]]}, {"address": "0x1003bc00", "recomp": "0x1003da90", "name": "LegoGameState::CreateState", "matching": 1.0, "diff": []}, {"address": "0x1003bc30", "recomp": "0x1003dac0", "name": "LegoGameState::RegisterState", "matching": 1.0, "diff": []}, {"address": "0x1003bd00", "recomp": "0x1003db90", "name": "LegoGameState::Init", "matching": 1.0, "diff": []}, {"address": "0x1003bea0", "recomp": "0x1003e680", "name": "MxVariable::GetValue", "matching": 1.0, "diff": []}, {"address": "0x1003beb0", "recomp": "0x1003e690", "name": "MxVariable::SetValue", "matching": 1.0, "diff": []}, {"address": "0x1003bec0", "recomp": "0x1003e6a0", "name": "MxVariable::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1003bf40", "recomp": "0x1003e720", "name": "MxVariable::~MxVariable", "matching": 1.0, "diff": []}, {"address": "0x1003bfb0", "recomp": "0x1003e5c0", "name": "LegoBackgroundColor::LegoBackgroundColor", "matching": 1.0, "diff": []}, {"address": "0x1003c070", "recomp": "0x1003e790", "name": "LegoBackgroundColor::SetValue", "matching": 1.0, "diff": []}, {"address": "0x1003c230", "recomp": "0x1003e950", "name": "LegoBackgroundColor::ToggleDayNight", "matching": 1.0, "diff": []}, {"address": "0x1003c330", "recomp": "0x1003ea50", "name": "LegoBackgroundColor::ToggleSkyColor", "matching": 1.0, "diff": []}, {"address": "0x1003c400", "recomp": "0x1003eb20", "name": "LegoBackgroundColor::SetLightColor", "matching": 1.0, "diff": []}, {"address": "0x1003c4b0", "recomp": "0x1003ebd0", "name": "LegoBackgroundColor::SetLightColor", "matching": 1.0, "diff": []}, {"address": "0x1003c500", "recomp": "0x1003ec20", "name": "LegoFullScreenMovie::LegoFullScreenMovie", "matching": 1.0, "diff": []}, {"address": "0x1003c5c0", "recomp": "0x1003ece0", "name": "LegoFullScreenMovie::SetValue", "matching": 1.0, "diff": []}, {"address": "0x1003c670", "recomp": "0x1003dd30", "name": "LegoGameState::Username::Username", "matching": 1.0, "diff": []}, {"address": "0x1003c690", "recomp": "0x1003dd50", "name": "LegoGameState::Username::Serialize", "matching": 1.0, "diff": []}, {"address": "0x1003c710", "recomp": "0x1003ddd0", "name": "LegoGameState::Username::operator=", "matching": 1.0, "diff": []}, {"address": "0x1003c740", "recomp": "0x1003de00", "name": "LegoGameState::ScoreItem::Serialize", "matching": 0.9545454545454546, "diff": [["@@ -0x1003c744,41 +0x1003de04,41 @@", [{"both": [["0x1003c744", "sub esp, 4", "0x1003de04"], ["0x1003c747", "push ebx", "0x1003de07"], ["0x1003c748", "push esi", "0x1003de08"], ["0x1003c749", "push edi", "0x1003de09"], ["0x1003c74a", "mov esi, dword ptr [eax]", "0x1003de0a"], ["0x1003c74c", "push ebp", "0x1003de0c"], ["0x1003c74d", "mov edi, ecx", "0x1003de0d"], ["0x1003c74f", "mov ecx, eax", "0x1003de0f"], ["0x1003c751", "call dword ptr [esi + 0x18]", "0x1003de11"], ["0x1003c754", "test al, al", "0x1003de14"]]}, {"orig": [["0x1003c756", "je 0x51"]], "recomp": [["0x1003de16", "je 0x52"]]}, {"both": [["0x1003c758", "mov ebx, dword ptr [esi + 4]", "0x1003de18"], ["0x1003c75b", "push 2", "0x1003de1b"], ["0x1003c75d", "mov ecx, dword ptr [esp + 0x1c]", "0x1003de1d"], ["0x1003c761", "push edi", "0x1003de21"], ["0x1003c762", "mov ebp, edi", "0x1003de22"], ["0x1003c764", "call ebx", "0x1003de24"], ["0x1003c766", "mov dword ptr [esp + 0x10], 5", "0x1003de26"], ["0x1003c76e", "xor esi, esi", "0x1003de2e"]]}, {"orig": [["0x1003c770", "lea eax, [esi + ebp]"]], "recomp": [["0x1003de30", "lea eax, [ebp + esi]"]]}, {"both": [["0x1003c773", "push 1", "0x1003de34"], ["0x1003c775", "add eax, 2", "0x1003de36"], ["0x1003c778", "mov ecx, dword ptr [esp + 0x1c]", "0x1003de39"], ["0x1003c77c", "push eax", "0x1003de3d"], ["0x1003c77d", "inc esi", "0x1003de3e"], ["0x1003c77e", "call ebx", "0x1003de3f"], ["0x1003c780", "cmp esi, 5", "0x1003de41"]]}, {"orig": [["0x1003c783", "jl -0x15"]], "recomp": [["0x1003de44", "jl -0x16"]]}, {"both": [["0x1003c785", "add ebp, 5", "0x1003de46"], ["0x1003c788", "dec dword ptr [esp + 0x10]", "0x1003de49"]]}, {"orig": [["0x1003c78c", "jne -0x20"]], "recomp": [["0x1003de4d", "jne -0x21"]]}, {"both": [["0x1003c78e", "lea ecx, [edi + 0x1c]", "0x1003de4f"], ["0x1003c791", "mov eax, dword ptr [esp + 0x18]", "0x1003de52"], ["0x1003c795", "push eax", "0x1003de56"], ["0x1003c796", "add edi, 0x2a", "0x1003de57"], ["0x1003c799", "call LegoGameState::Username::Serialize (FUNCTION)", "0x1003de5a"], ["0x1003c79e", "mov ecx, dword ptr [esp + 0x18]", "0x1003de5f"], ["0x1003c7a2", "push 2", "0x1003de63"], ["0x1003c7a4", "push edi", "0x1003de65"], ["0x1003c7a5", "call ebx", "0x1003de66"], ["0x1003c7a7", "jmp 0x70", "0x1003de68"]]}]]]}, {"address": "0x1003c830", "recomp": "0x1003def0", "name": "LegoGameState::History::History", "matching": 1.0, "diff": []}, {"address": "0x1003c860", "recomp": "0x1003df20", "name": "LegoGameState::ScoreItem::ScoreItem", "matching": 1.0, "diff": []}, {"address": "0x1003c870", "recomp": "0x1003df30", "name": "LegoGameState::History::WriteScoreHistory", "matching": 0.8377483443708609, "diff": [["@@ -0x1003c877,50 +0x1003df37,50 @@", [{"both": [["0x1003c877", "push ebx", "0x1003df37"], ["0x1003c878", "push esi", "0x1003df38"], ["0x1003c879", "push edi", "0x1003df39"], ["0x1003c87a", "push ebp", "0x1003df3a"], ["0x1003c87b", "push 'InfocenterState' (STRING)", "0x1003df3b"], ["0x1003c880", "xor bp, bp", "0x1003df40"], ["0x1003c883", "call GameState (FUNCTION)", "0x1003df43"], ["0x1003c888", "mov ecx, eax", "0x1003df48"], ["0x1003c88a", "call LegoGameState::GetState (FUNCTION)", "0x1003df4a"], ["0x1003c88f", "cmp dword ptr [eax + 0x78], 0", "0x1003df4f"]]}, {"orig": [["0x1003c893", "je 0x3bc"]], "recomp": [["0x1003df53", "je 0x39b"]]}, {"both": [["0x1003c899", "push 'JetskiRaceState' (STRING)", "0x1003df59"], ["0x1003c89e", "call GameState (FUNCTION)", "0x1003df5e"], ["0x1003c8a3", "mov ecx, eax", "0x1003df63"], ["0x1003c8a5", "call LegoGameState::GetState (FUNCTION)", "0x1003df65"], ["0x1003c8aa", "mov dword ptr [esp + 0x1c], eax", "0x1003df6a"], ["0x1003c8ae", "push 'CarRaceState' (STRING)", "0x1003df6e"], ["0x1003c8b3", "call GameState (FUNCTION)", "0x1003df73"], ["0x1003c8b8", "mov ecx, eax", "0x1003df78"], ["0x1003c8ba", "call LegoGameState::GetState (FUNCTION)", "0x1003df7a"]]}, {"orig": [["0x1003c8bf", "mov dword ptr [esp + 0x18], eax"]], "recomp": [["0x1003df7f", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x1003c8c3", "push 'TowTrackMissionState' (STRING)", "0x1003df83"], ["0x1003c8c8", "call GameState (FUNCTION)", "0x1003df88"], ["0x1003c8cd", "mov ecx, eax", "0x1003df8d"], ["0x1003c8cf", "call LegoGameState::GetState (FUNCTION)", "0x1003df8f"], ["0x1003c8d4", "mov esi, eax", "0x1003df94"], ["0x1003c8d6", "push 'PizzaMissionState' (STRING)", "0x1003df96"], ["0x1003c8db", "call GameState (FUNCTION)", "0x1003df9b"], ["0x1003c8e0", "mov ecx, eax", "0x1003dfa0"], ["0x1003c8e2", "call LegoGameState::GetState (FUNCTION)", "0x1003dfa2"], ["0x1003c8e7", "push 'AmbulanceMissionState' (STRING)", "0x1003dfa7"], ["0x1003c8ec", "mov ebx, 1", "0x1003dfac"], ["0x1003c8f1", "mov dword ptr [esp + 0x24], eax", "0x1003dfb1"], ["0x1003c8f5", "call GameState (FUNCTION)", "0x1003dfb5"], ["0x1003c8fa", "mov ecx, eax", "0x1003dfba"], ["0x1003c8fc", "call LegoGameState::GetState (FUNCTION)", "0x1003dfbc"], ["0x1003c901", "mov edi, eax", "0x1003dfc1"]]}, {"orig": [["0x1003c903", "cmp dword ptr [esp + 0x18], 0"]], "recomp": [["0x1003dfc3", "cmp dword ptr [esp + 0x14], 0"]]}, {"both": [["0x1003c908", "je 0x13", "0x1003dfc8"]]}, {"orig": [["0x1003c90a", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x1003dfca", "mov ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1003c90e", "push ebx", "0x1003dfce"], ["0x1003c90f", "call RaceState::GetState (FUNCTION)", "0x1003dfcf"], ["0x1003c914", "mov al, byte ptr [eax + 4]", "0x1003dfd4"], ["0x1003c917", "mov byte ptr [esp + ebx + 0x23], al", "0x1003dfd7"], ["0x1003c91b", "jmp 0x5", "0x1003dfdb"], ["0x1003c91d", "mov byte ptr [esp + ebx + 0x23], 0", "0x1003dfdd"], ["0x1003c922", "movzx ax, byte ptr [esp + ebx + 0x23]", "0x1003dfe2"], ["0x1003c928", "add bp, ax", "0x1003dfe8"], ["0x1003c92b", "cmp dword ptr [esp + 0x1c], 0", "0x1003dfeb"], ["0x1003c930", "je 0x15", "0x1003dff0"]]}]], ["@@ -,77 +,81 @@", [{"both": [["0x1003cb54", "call GameState (FUNCTION)", "0x1003e214"], ["0x1003cb59", "add eax, 0x28", "0x1003e219"], ["0x1003cb5c", "mov ecx, dword ptr [esp + 0x10]", "0x1003e21c"], ["0x1003cb60", "push eax", "0x1003e220"], ["0x1003cb61", "add ecx, 0x362", "0x1003e221"], ["0x1003cb67", "call LegoGameState::Username::operator= (FUNCTION)", "0x1003e227"], ["0x1003cb6c", "call GameState (FUNCTION)", "0x1003e22c"], ["0x1003cb71", "mov ax, word ptr [eax + 0x24]", "0x1003e231"], ["0x1003cb75", "mov edx, dword ptr [esp + 0x10]", "0x1003e235"], ["0x1003cb79", "mov word ptr [edx + 0x370], ax", "0x1003e239"]]}, {"orig": [["0x1003cb80", "lea ecx, [esp + 0x60]"]], "recomp": [["0x1003e240", "lea ecx, [esp + 0x44]"]]}, {"both": [["0x1003cb84", "call LegoGameState::Username::Username (FUNCTION)", "0x1003e244"], ["0x1003cb89", "mov edx, dword ptr [esp + 0x10]", "0x1003e249"], ["0x1003cb8d", "movsx eax, word ptr [edx]", "0x1003e24d"], ["0x1003cb90", "dec eax", "0x1003e250"], ["0x1003cb91", "mov dword ptr [esp + 0x14], eax", "0x1003e251"]]}, {"orig": [["0x1003cb95", "js 0xba"]], "recomp": [["0x1003e255", "test eax, eax"], ["0x1003e257", "jle 0x97"]]}, {"both": [["0x1003cb9b", "cmp dword ptr [esp + 0x14], 1", "0x1003e25d"]]}, {"orig": [["0x1003cba0", "jl 0xa5"], ["0x1003cba6", "mov ebp, dword ptr [esp + 0x10]"], ["0x1003cbaa", "mov ebx, dword ptr [esp + 0x14]"], ["0x1003cbae", "add ebp, 0x2e"], ["0x1003cbb1", "mov ax, word ptr [ebp - 0x2c]"], ["0x1003cbb5", "cmp word ptr [ebp], ax"], ["0x1003cbb9", "jle 0x82"], ["0x1003cbbf", "mov word ptr [esp + 0x44], ax"], ["0x1003cbc4", "lea edi, [esp + 0x46]"], ["0x1003cbc8", "lea esi, [ebp - 0x2a]"]], "recomp": [["0x1003e262", "jl 0x82"], ["0x1003e268", "mov ebx, dword ptr [esp + 0x10]"], ["0x1003e26c", "mov eax, dword ptr [esp + 0x14]"], ["0x1003e270", "add ebx, 4"], ["0x1003e273", "mov dword ptr [esp + 0x18], eax"], ["0x1003e277", "mov ax, word ptr [ebx + 0x2a]"], ["0x1003e27b", "cmp word ptr [ebx - 2], ax"], ["0x1003e27f", "jge 0x60"], ["0x1003e281", "lea edi, [esp + 0x54]"], ["0x1003e285", "mov esi, ebx"], ["0x1003e287", "mov ecx, 6"], ["0x1003e28c", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x1003e28e", "lea eax, [ebx + 0x1a]"], ["0x1003e291", "lea ecx, [esp + 0x44]"], ["0x1003e295", "movsb byte ptr es:[edi], byte ptr [esi]"], ["0x1003e296", "push eax"], ["0x1003e297", "mov edi, ebx"], ["0x1003e299", "lea esi, [ebx + 0x2c]"], ["0x1003e29c", "call LegoGameState::Username::operator= (FUNCTION)"], ["0x1003e2a1", "mov bp, word ptr [ebx + 0x28]"]]}, {"both": [["0x1003cbcb", "mov ecx, 6", "0x1003e2a5"], ["0x1003cbd0", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1003e2aa"], ["0x1003cbd2", "movsb byte ptr es:[edi], byte ptr [esi]", "0x1003e2ac"]]}, {"orig": [["0x1003cbd3", "lea ecx, [ebp - 0x10]"], ["0x1003cbd6", "lea edi, [ebp - 0x2a]"]], "recomp": [["0x1003e2ad", "lea ecx, [ebx + 0x46]"], ["0x1003e2b0", "lea edi, [ebx + 0x2c]"]]}, {"both": [["0x1003cbd9", "push ecx", "0x1003e2b3"]]}, {"orig": [["0x1003cbda", "lea esi, [ebp + 2]"], ["0x1003cbdd", "lea ecx, [esp + 0x64]"]], "recomp": [["0x1003e2b4", "lea ecx, [ebx + 0x1a]"]]}, {"both": [["0x1003cbe1", "call LegoGameState::Username::operator= (FUNCTION)", "0x1003e2b7"]]}, {"orig": [["0x1003cbe6", "mov cx, word ptr [ebp - 2]"], ["0x1003cbea", "mov dx, word ptr [ebp]"], ["0x1003cbee", "mov word ptr [esp + 0x6e], cx"]], "recomp": [["0x1003e2bc", "mov cx, word ptr [ebx + 0x54]"], ["0x1003e2c0", "lea esi, [esp + 0x54]"], ["0x1003e2c4", "mov word ptr [ebx + 0x28], cx"]]}, {"both": [["0x1003cbf3", "mov ecx, 6", "0x1003e2c8"]]}, {"orig": [["0x1003cbf8", "mov word ptr [ebp - 0x2c], dx"]], "recomp": []}, {"both": [["0x1003cbfc", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1003e2cd"]]}, {"orig": [["0x1003cbfe", "lea edx, [ebp + 0x1c]"], ["0x1003cc01", "lea ecx, [ebp - 0x10]"]], "recomp": [["0x1003e2cf", "lea eax, [esp + 0x44]"], ["0x1003e2d3", "lea ecx, [ebx + 0x46]"]]}, {"both": [["0x1003cc04", "movsb byte ptr es:[edi], byte ptr [esi]", "0x1003e2d6"]]}, {"orig": [["0x1003cc05", "push edx"], ["0x1003cc06", "lea edi, [ebp + 2]"]], "recomp": [["0x1003e2d7", "push eax"]]}, {"both": [["0x1003cc09", "call LegoGameState::Username::operator= (FUNCTION)", "0x1003e2d8"]]}, {"orig": [["0x1003cc0e", "mov cx, word ptr [ebp + 0x2a]"], ["0x1003cc12", "lea esi, [esp + 0x46]"], ["0x1003cc16", "mov dx, word ptr [esp + 0x44]"], ["0x1003cc1b", "mov word ptr [ebp - 2], cx"], ["0x1003cc1f", "mov ecx, 6"], ["0x1003cc24", "mov word ptr [ebp], dx"], ["0x1003cc28", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x1003cc2a", "movsb byte ptr es:[edi], byte ptr [esi]"], ["0x1003cc2b", "lea ecx, [esp + 0x60]"], ["0x1003cc2f", "push ecx"], ["0x1003cc30", "lea ecx, [ebp + 0x1c]"], ["0x1003cc33", "call LegoGameState::Username::operator= (FUNCTION)"], ["0x1003cc38", "mov cx, word ptr [esp + 0x6e]"], ["0x1003cc3d", "mov word ptr [ebp + 0x2a], cx"], ["0x1003cc41", "add ebp, 0x2c"], ["0x1003cc44", "dec ebx"], ["0x1003cc45", "jne -0x9a"]], "recomp": [["0x1003e2dd", "mov word ptr [ebx + 0x54], bp"], ["0x1003e2e1", "add ebx, 0x2c"], ["0x1003e2e4", "dec dword ptr [esp + 0x18]"], ["0x1003e2e8", "jne -0x73"]]}, {"both": [["0x1003cc4b", "dec dword ptr [esp + 0x14]", "0x1003e2ea"]]}, {"orig": [["0x1003cc4f", "jns -0xba"]], "recomp": [["0x1003e2ee", "jne -0x97"]]}, {"both": [["0x1003cc55", "pop ebp", "0x1003e2f4"], ["0x1003cc56", "pop edi", "0x1003e2f5"], ["0x1003cc57", "pop esi", "0x1003e2f6"], ["0x1003cc58", "pop ebx", "0x1003e2f7"], ["0x1003cc59", "add esp, 0x60", "0x1003e2f8"], ["0x1003cc5c", "ret ", "0x1003e2fb"]]}, {"orig": [["0x1003cc5d", "lea ecx, [ecx]"]], "recomp": []}, {"both": [["", "Jump table:", ""], ["0x1003cc60", "Jump_dest_0", "0x1003e2fc"]]}, {"orig": [], "recomp": [["0x1003e300", "Jump_dest_1"], ["0x1003e304", "Jump_dest_2"], ["0x1003e308", "Jump_dest_3"], ["0x1003e30c", "Jump_dest_4"], ["", "Jump table:"], ["0x1003e310", "Jump_dest_0"], ["0x1003e314", "Jump_dest_1"], ["0x1003e318", "Jump_dest_2"], ["0x1003e31c", "Jump_dest_3"], ["0x1003e320", "Jump_dest_4"]]}]]]}, {"address": "0x1003cc90", "recomp": "0x1003e330", "name": "LegoGameState::History::FUN_1003cc90", "matching": 1.0, "diff": []}, {"address": "0x1003ccf0", "recomp": "0x1003e390", "name": "LegoGameState::History::Serialize", "matching": 1.0, "diff": []}, {"address": "0x1003cdd0", "recomp": "0x1003e470", "name": "LegoGameState::SerializeScoreHistory", "matching": 1.0, "diff": []}, {"address": "0x1003cea0", "recomp": "0x1003e540", "name": "LegoGameState::SetCurrentAct", "matching": 1.0, "diff": []}, {"address": "0x1003ceb0", "recomp": "0x1003e550", "name": "LegoGameState::FindLoadedAct", "matching": 1.0, "diff": []}, {"address": "0x1003cf20", "recomp": "0x10039fc0", "name": "LegoCacheSoundManager::~LegoCacheSoundManager", "matching": 0.8066298342541437, "diff": [["@@ -0x1003cf3e,79 +0x10039fde,86 @@", [{"both": [["0x1003cf3e", "sub esp, 0xc", "0x10039fde"], ["0x1003cf41", "mov dword ptr [ebp - 0x10], ecx", "0x10039fe1"], ["0x1003cf44", "mov dword ptr [ebp - 4], 1", "0x10039fe4"], ["0x1003cf4b", "cmp dword ptr [ecx + 0x10], 0", "0x10039feb"], ["0x1003cf4f", "push esi", "0x10039fef"], ["0x1003cf50", "push edi", "0x10039ff0"], ["0x1003cf51", "je 0x36", "0x10039ff1"], ["0x1003cf53", "lea esi, [ecx + 4]", "0x10039ff3"], ["0x1003cf56", "mov eax, dword ptr [ebp - 0x10]", "0x10039ff6"], ["0x1003cf59", "mov ecx, dword ptr [eax + 8]", "0x10039ff9"]]}, {"orig": [["0x1003cf5c", "lea eax, [ebp - 0x18]"], ["0x1003cf5f", "mov edx, dword ptr [ecx]"]], "recomp": [["0x10039ffc", "mov eax, dword ptr [ecx]"], ["0x10039ffe", "lea ecx, [ebp - 0x18]"], ["0x1003a001", "push eax"], ["0x1003a002", "push ecx"], ["0x1003a003", "mov edi, dword ptr [eax + 0xc]"]]}, {"both": [["0x1003cf61", "mov ecx, esi", "0x1003a006"]]}, {"orig": [["0x1003cf63", "push edx"], ["0x1003cf64", "push eax"], ["0x1003cf65", "mov edi, dword ptr [edx + 0xc]"]], "recomp": []}, {"both": [["0x1003cf68", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::erase (FUNCTION)", "0x1003a008"], ["0x1003cf6d", "mov ecx, edi", "0x1003a00d"], ["0x1003cf6f", "call LegoCacheSound::Stop (FUNCTION)", "0x1003a00f"], ["0x1003cf74", "test edi, edi", "0x1003a014"], ["0x1003cf76", "je 0x8", "0x1003a016"], ["0x1003cf78", "push 1", "0x1003a018"], ["0x1003cf7a", "mov eax, dword ptr [edi]", "0x1003a01a"], ["0x1003cf7c", "mov ecx, edi", "0x1003a01c"], ["0x1003cf7e", "call dword ptr [eax]", "0x1003a01e"], ["0x1003cf80", "mov eax, dword ptr [ebp - 0x10]", "0x1003a020"], ["0x1003cf83", "cmp dword ptr [eax + 0x10], 0", "0x1003a023"], ["0x1003cf87", "jne -0x33", "0x1003a027"], ["0x1003cf89", "mov eax, dword ptr [ebp - 0x10]", "0x1003a029"], ["0x1003cf8c", "cmp dword ptr [eax + 0x1c], 0", "0x1003a02c"]]}, {"orig": [["0x1003cf90", "je 0x4c"]], "recomp": [["0x1003a030", "je 0x5c"]]}, {"both": [["0x1003cf92", "mov ecx, dword ptr [eax + 0x18]", "0x1003a032"], ["0x1003cf95", "mov eax, dword ptr [ecx]", "0x1003a035"], ["0x1003cf97", "mov dword ptr [ebp - 0x14], eax", "0x1003a037"], ["0x1003cf9a", "lea ecx, [eax + 8]", "0x1003a03a"], ["0x1003cf9d", "lea edi, [eax + 4]", "0x1003a03d"], ["0x1003cfa0", "mov esi, dword ptr [ecx]", "0x1003a040"], ["0x1003cfa2", "mov eax, dword ptr [eax]", "0x1003a042"], ["0x1003cfa4", "mov edx, dword ptr [edi]", "0x1003a044"], ["0x1003cfa6", "mov dword ptr [edx], eax", "0x1003a046"], ["0x1003cfa8", "mov edx, dword ptr [edi]", "0x1003a048"], ["0x1003cfaa", "mov eax, dword ptr [ebp - 0x14]", "0x1003a04a"], ["0x1003cfad", "mov edi, dword ptr [eax]", "0x1003a04d"], ["0x1003cfaf", "mov dword ptr [edi + 4], edx", "0x1003a04f"]]}, {"orig": [["0x1003cfb2", "call LegoCacheSoundEntry::~LegoCacheSoundEntry (FUNCTION)"], ["0x1003cfb7", "mov ecx, dword ptr [ebp - 0x14]"], ["0x1003cfba", "push ecx"]], "recomp": [["0x1003a052", "cmp dword ptr [ecx], 0"], ["0x1003a055", "jne 0x10"], ["0x1003a057", "mov eax, dword ptr [eax + 0xc]"], ["0x1003a05a", "test eax, eax"], ["0x1003a05c", "je 0x9"], ["0x1003a05e", "push eax"], ["0x1003a05f", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x1003a064", "add esp, 4"], ["0x1003a067", "mov eax, dword ptr [ebp - 0x14]"], ["0x1003a06a", "push eax"]]}, {"both": [["0x1003cfbb", "call ??3@YAXPAX@Z (FUNCTION)", "0x1003a06b"], ["0x1003cfc0", "add esp, 4", "0x1003a070"], ["0x1003cfc3", "mov eax, dword ptr [ebp - 0x10]", "0x1003a073"], ["0x1003cfc6", "mov ecx, esi", "0x1003a076"], ["0x1003cfc8", "dec dword ptr [eax + 0x1c]", "0x1003a078"], ["0x1003cfcb", "call LegoCacheSound::Stop (FUNCTION)", "0x1003a07b"], ["0x1003cfd0", "test esi, esi", "0x1003a080"]]}, {"orig": [["0x1003cfd2", "je -0x4b"]], "recomp": [["0x1003a082", "je -0x5b"]]}, {"both": [["0x1003cfd4", "push 1", "0x1003a084"], ["0x1003cfd6", "mov eax, dword ptr [esi]", "0x1003a086"], ["0x1003cfd8", "mov ecx, esi", "0x1003a088"], ["0x1003cfda", "call dword ptr [eax]", "0x1003a08a"]]}, {"orig": [["0x1003cfdc", "jmp -0x55"]], "recomp": [["0x1003a08c", "jmp -0x65"]]}, {"both": [["0x1003cfde", "mov byte ptr [ebp - 4], 0", "0x1003a08e"]]}, {"orig": [], "recomp": [["0x1003a092", "call <OFFSET6>"], ["0x1003a097", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x1003cfe2", "call <OFFSET7>", "0x1003a09e"]]}, {"orig": [["0x1003cfe7", "mov dword ptr [ebp - 4], 0xffffffff"], ["0x1003cfee", "call <OFFSET8>"]], "recomp": []}, {"both": [["0x1003cff3", "mov eax, dword ptr [ebp - 0xc]", "0x1003a0a3"], ["0x1003cff6", "pop edi", "0x1003a0a6"], ["0x1003cff7", "mov dword ptr fs:[0], eax", "0x1003a0a7"], ["0x1003cffd", "pop esi", "0x1003a0ad"], ["0x1003cffe", "mov esp, ebp", "0x1003a0ae"], ["0x1003d000", "pop ebp", "0x1003a0b0"], ["0x1003d001", "ret ", "0x1003a0b1"], ["0x1003d002", "mov ecx, dword ptr [ebp - 0x10]", "0x1003a0b2"], ["0x1003d005", "add ecx, 0x14", "0x1003a0b5"], ["0x1003d008", "jmp List<LegoCacheSoundEntry>::~List<LegoCacheSoundEntry> (FUNCTION)", "0x1003a0b8"]]}, {"orig": [["0x1003d00d", "mov eax, <OFFSET9>"]], "recomp": [["0x1003a0bd", "mov eax, <OFFSET8>"]]}, {"both": [["0x1003d012", "jmp ___CxxFrameHandler (FUNCTION)", "0x1003a0c2"], ["0x1003d017", "mov ecx, dword ptr [ebp - 0x10]", "0x1003a0c7"], ["0x1003d01a", "add ecx, 4", "0x1003a0ca"], ["0x1003d01d", "jmp Set<LegoCacheSoundEntry,Set100d6b4cComparator>::~Set<LegoCacheSoundEntry,Set100d6b4cComparator> (FUNCTION)", "0x1003a0cd"]]}]]]}, {"address": "0x1003d030", "recomp": "0x1003a320", "name": "LegoCacheSoundEntry::~LegoCacheSoundEntry", "matching": 1.0, "diff": []}, {"address": "0x1003d050", "recomp": "0x1003a0e0", "name": "LegoCacheSoundManager::Tickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003d050,19 +0x1003a0e0,19 @@", [{"both": [["0x1003d050", "sub esp, 8", "0x1003a0e0"], ["0x1003d053", "push ebx", "0x1003a0e3"], ["0x1003d054", "push esi", "0x1003a0e4"], ["0x1003d055", "mov eax, dword ptr [ecx + 8]", "0x1003a0e5"], ["0x1003d058", "push edi", "0x1003a0e8"], ["0x1003d059", "mov esi, ecx", "0x1003a0e9"], ["0x1003d05b", "mov ecx, dword ptr [eax]", "0x1003a0eb"], ["0x1003d05d", "mov dword ptr [esp + 0xc], ecx", "0x1003a0ed"]]}, {"orig": [["0x1003d061", "cmp eax, ecx"]], "recomp": [["0x1003a0f1", "cmp ecx, eax"]]}, {"both": [["0x1003d063", "je 0x62", "0x1003a0f3"], ["0x1003d065", "xor ebx, ebx", "0x1003a0f5"], ["0x1003d067", "mov eax, dword ptr [esp + 0xc]", "0x1003a0f7"], ["0x1003d06b", "mov ecx, dword ptr [eax + 0xc]", "0x1003a0fb"], ["0x1003d06e", "cmp byte ptr [ecx + 0x58], bl", "0x1003a0fe"], ["0x1003d071", "je 0x5", "0x1003a101"], ["0x1003d073", "call LegoCacheSound::FUN_10006be0 (FUNCTION)", "0x1003a103"], ["0x1003d078", "mov eax, dword ptr [esp + 0xc]", "0x1003a108"], ["0x1003d07c", "mov ecx, dword ptr [eax + 8]", "0x1003a10c"], ["0x1003d07f", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ecx", "0x1003a10f"]]}]], ["@@ -0x1003d0b1,21 +0x1003a141,21 @@", [{"both": [["0x1003d0b1", "mov eax, dword ptr [esp + 0xc]", "0x1003a141"], ["0x1003d0b5", "cmp dword ptr [eax + 8], ecx", "0x1003a145"], ["0x1003d0b8", "je 0x4", "0x1003a148"], ["0x1003d0ba", "mov dword ptr [esp + 0xc], ecx", "0x1003a14a"], ["0x1003d0be", "mov eax, dword ptr [esp + 0xc]", "0x1003a14e"], ["0x1003d0c2", "cmp dword ptr [esi + 8], eax", "0x1003a152"], ["0x1003d0c5", "jne -0x60", "0x1003a155"], ["0x1003d0c7", "mov eax, dword ptr [esi + 0x18]", "0x1003a157"], ["0x1003d0ca", "mov ecx, dword ptr [eax]", "0x1003a15a"], ["0x1003d0cc", "mov dword ptr [esp + 0x10], ecx", "0x1003a15c"]]}, {"orig": [["0x1003d0d0", "cmp eax, ecx"]], "recomp": [["0x1003a160", "cmp ecx, eax"]]}, {"both": [["0x1003d0d2", "je 0x86", "0x1003a162"], ["0x1003d0d8", "xor ebx, ebx", "0x1003a168"], ["0x1003d0da", "mov eax, dword ptr [esp + 0x10]", "0x1003a16a"], ["0x1003d0de", "mov edi, dword ptr [eax + 8]", "0x1003a16e"], ["0x1003d0e1", "mov ecx, edi", "0x1003a171"], ["0x1003d0e3", "cmp byte ptr [edi + 0x58], bl", "0x1003a173"], ["0x1003d0e6", "je 0x11", "0x1003a176"], ["0x1003d0e8", "call LegoCacheSound::FUN_10006be0 (FUNCTION)", "0x1003a178"], ["0x1003d0ed", "mov eax, dword ptr [esp + 0x10]", "0x1003a17d"], ["0x1003d0f1", "mov ecx, dword ptr [eax]", "0x1003a181"]]}]]]}, {"address": "0x1003d170", "recomp": "0x1003a200", "name": "LegoCacheSoundManager::FindSoundByKey", "matching": 0.9751243781094527, "diff": [["@@ -0x1003d195,37 +0x1003a225,38 @@", [{"both": [["0x1003d195", "push edi", "0x1003a225"], ["0x1003d196", "mov esi, dword ptr [ebp + 8]", "0x1003a226"], ["0x1003d199", "mov edi, esi", "0x1003a229"], ["0x1003d19b", "sub eax, eax", "0x1003a22b"], ["0x1003d19d", "repne scasb al, byte ptr es:[edi]", "0x1003a22d"], ["0x1003d19f", "not ecx", "0x1003a22f"], ["0x1003d1a1", "push ecx", "0x1003a231"], ["0x1003d1a2", "mov edi, esi", "0x1003a232"], ["0x1003d1a4", "call ??2@YAPAXI@Z (FUNCTION)", "0x1003a234"], ["0x1003d1a9", "add esp, 4", "0x1003a239"]]}, {"orig": [], "recomp": [["0x1003a23c", "mov edx, eax"]]}, {"both": [["0x1003d1ac", "mov ecx, 0xffffffff", "0x1003a23e"]]}, {"orig": [["0x1003d1b1", "mov dword ptr [ebp - 0x18], eax"]], "recomp": []}, {"both": [["0x1003d1b4", "sub eax, eax", "0x1003a243"], ["0x1003d1b6", "repne scasb al, byte ptr es:[edi]", "0x1003a245"], ["0x1003d1b8", "not ecx", "0x1003a247"], ["0x1003d1ba", "sub edi, ecx", "0x1003a249"], ["0x1003d1bc", "mov eax, ecx", "0x1003a24b"], ["0x1003d1be", "shr ecx, 2", "0x1003a24d"], ["0x1003d1c1", "mov esi, edi", "0x1003a250"]]}, {"orig": [["0x1003d1c3", "mov edi, dword ptr [ebp - 0x18]"]], "recomp": [["0x1003a252", "mov edi, edx"]]}, {"both": [["0x1003d1c6", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1003a254"], ["0x1003d1c8", "mov ecx, eax", "0x1003a256"], ["0x1003d1ca", "and ecx, 3", "0x1003a258"], ["0x1003d1cd", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1003a25b"], ["0x1003d1cf", "xor eax, eax", "0x1003a25d"], ["0x1003d1d1", "lea esi, [ebp - 0x1c]", "0x1003a25f"], ["0x1003d1d4", "mov dword ptr [ebp - 0x1c], eax", "0x1003a262"]]}, {"orig": [], "recomp": [["0x1003a265", "mov dword ptr [ebp - 0x18], edx"]]}, {"both": [["0x1003d1d7", "mov dword ptr [ebp - 4], eax", "0x1003a268"], ["0x1003d1da", "mov eax, dword ptr [ebp - 0x10]", "0x1003a26b"], ["0x1003d1dd", "mov edi, dword ptr [eax + 8]", "0x1003a26e"], ["0x1003d1e0", "mov ebx, dword ptr [edi + 4]", "0x1003a271"], ["0x1003d1e3", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx", "0x1003a274"], ["0x1003d1e9", "je 0x25", "0x1003a27a"], ["0x1003d1eb", "mov eax, dword ptr [esi + 4]", "0x1003a27c"], ["0x1003d1ee", "mov ecx, dword ptr [ebx + 0x10]", "0x1003a27f"], ["0x1003d1f1", "push eax", "0x1003a282"], ["0x1003d1f2", "push ecx", "0x1003a283"]]}]]]}, {"address": "0x1003d290", "recomp": "0x1003a340", "name": "LegoCacheSoundManager::ManageSoundEntry", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003d2b4,35 +0x1003a364,35 @@", [{"both": [["0x1003d2b4", "mov dword ptr [ebp - 0x2c], eax", "0x1003a364"], ["0x1003d2b7", "push ebx", "0x1003a367"], ["0x1003d2b8", "mov dword ptr [ebp - 0x28], ecx", "0x1003a368"], ["0x1003d2bb", "mov dword ptr [ebp - 4], 0", "0x1003a36b"], ["0x1003d2c2", "push esi", "0x1003a372"], ["0x1003d2c3", "push edi", "0x1003a373"], ["0x1003d2c4", "lea esi, [ebp - 0x2c]", "0x1003a374"], ["0x1003d2c7", "mov eax, dword ptr [ebp - 0x18]", "0x1003a377"], ["0x1003d2ca", "mov edi, dword ptr [eax + 8]", "0x1003a37a"], ["0x1003d2cd", "mov ebx, dword ptr [edi + 4]", "0x1003a37d"]]}, {"orig": [["0x1003d2d0", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx"]], "recomp": [["0x1003a380", "cmp ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]]}, {"both": [["0x1003d2d6", "je 0x25", "0x1003a386"], ["0x1003d2d8", "mov eax, dword ptr [esi + 4]", "0x1003a388"], ["0x1003d2db", "mov ecx, dword ptr [ebx + 0x10]", "0x1003a38b"], ["0x1003d2de", "push eax", "0x1003a38e"], ["0x1003d2df", "push ecx", "0x1003a38f"], ["0x1003d2e0", "call __strcmpi (FUNCTION)", "0x1003a390"], ["0x1003d2e5", "add esp, 8", "0x1003a395"], ["0x1003d2e8", "test eax, eax", "0x1003a398"], ["0x1003d2ea", "jg 0x6", "0x1003a39a"], ["0x1003d2ec", "mov edi, ebx", "0x1003a39c"], ["0x1003d2ee", "mov ebx, dword ptr [ebx]", "0x1003a39e"], ["0x1003d2f0", "jmp 0x3", "0x1003a3a0"], ["0x1003d2f2", "mov ebx, dword ptr [ebx + 8]", "0x1003a3a2"]]}, {"orig": [["0x1003d2f5", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx"]], "recomp": [["0x1003a3a5", "cmp ebx, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]]}, {"both": [["0x1003d2fb", "jne -0x25", "0x1003a3ab"], ["0x1003d2fd", "mov dword ptr [ebp - 0x20], edi", "0x1003a3ad"], ["0x1003d300", "mov eax, dword ptr [ebp - 0x18]", "0x1003a3b0"], ["0x1003d303", "cmp dword ptr [eax + 8], edi", "0x1003a3b3"], ["0x1003d306", "je 0x17", "0x1003a3b6"], ["0x1003d308", "mov eax, dword ptr [edi + 0x10]", "0x1003a3b8"], ["0x1003d30b", "mov ecx, dword ptr [esi + 4]", "0x1003a3bb"], ["0x1003d30e", "push eax", "0x1003a3be"], ["0x1003d30f", "push ecx", "0x1003a3bf"], ["0x1003d310", "call __strcmpi (FUNCTION)", "0x1003a3c0"]]}]], ["@@ -0x1003d31f,21 +0x1003a3cf,21 @@", [{"both": [["0x1003d31f", "mov eax, dword ptr [ebp - 0x18]", "0x1003a3cf"], ["0x1003d322", "mov ecx, dword ptr [eax + 8]", "0x1003a3d2"], ["0x1003d325", "lea eax, [ebp - 0x10]", "0x1003a3d5"], ["0x1003d328", "mov dword ptr [ebp - 0x10], ecx", "0x1003a3d8"], ["0x1003d32b", "mov dword ptr [ebp - 4], 0xffffffff", "0x1003a3db"], ["0x1003d332", "mov eax, dword ptr [eax]", "0x1003a3e2"], ["0x1003d334", "mov dword ptr [ebp - 0x10], eax", "0x1003a3e4"], ["0x1003d337", "call <OFFSET4>", "0x1003a3e7"], ["0x1003d33c", "mov eax, dword ptr [ebp - 0x18]", "0x1003a3ec"], ["0x1003d33f", "mov eax, dword ptr [eax + 8]", "0x1003a3ef"]]}, {"orig": [["0x1003d342", "cmp dword ptr [ebp - 0x10], eax"]], "recomp": [["0x1003a3f2", "cmp eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1003d345", "je 0x97", "0x1003a3f5"], ["0x1003d34b", "mov eax, dword ptr [ebp - 0x10]", "0x1003a3fb"], ["0x1003d34e", "mov esi, dword ptr [eax + 0xc]", "0x1003a3fe"], ["0x1003d351", "cmp byte ptr [esi + 0x58], 0", "0x1003a401"], ["0x1003d355", "je 0x76", "0x1003a405"], ["0x1003d357", "mov eax, dword ptr [ebp + 8]", "0x1003a407"], ["0x1003d35a", "lea esi, [ebp - 0x24]", "0x1003a40a"], ["0x1003d35d", "mov dword ptr [ebp - 0x24], eax", "0x1003a40d"], ["0x1003d360", "mov ecx, dword ptr [eax + 0x50]", "0x1003a410"], ["0x1003d363", "mov dword ptr [ebp - 0x20], ecx", "0x1003a413"]]}]]]}, {"address": "0x1003d450", "recomp": "0x1003a500", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::insert", "matching": 0.8977777777777778, "diff": [["@@ -0x1003d450,122 +0x1003a500,122 @@", [{"both": [["0x1003d450", "sub esp, 0xc", "0x1003a500"], ["0x1003d453", "push ebx", "0x1003a503"], ["0x1003d454", "push esi", "0x1003a504"], ["0x1003d455", "mov ebx, dword ptr [ecx + 4]", "0x1003a505"], ["0x1003d458", "push edi", "0x1003a508"], ["0x1003d459", "push ebp", "0x1003a509"], ["0x1003d45a", "mov esi, ecx", "0x1003a50a"]]}, {"orig": [["0x1003d45c", "mov ebp, dword ptr [ebx + 4]"]], "recomp": [["0x1003a50c", "mov edi, dword ptr [ebx + 4]"]]}, {"both": [["0x1003d45f", "mov eax, 1", "0x1003a50f"]]}, {"orig": [["0x1003d464", "mov edi, dword ptr [esp + 0x24]"], ["0x1003d468", "cmp ebp, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"], ["0x1003d46e", "je 0x31"], ["0x1003d470", "mov ebx, ebp"], ["0x1003d472", "mov eax, dword ptr [ebp + 0x10]"]], "recomp": [["0x1003a514", "mov ebp, dword ptr [esp + 0x24]"], ["0x1003a518", "cmp edi, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"], ["0x1003a51e", "je 0x30"], ["0x1003a520", "mov ebx, edi"], ["0x1003a522", "mov eax, dword ptr [edi + 0x10]"]]}, {"both": [["0x1003d475", "push eax", "0x1003a525"]]}, {"orig": [["0x1003d476", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x1003a526", "mov ecx, dword ptr [ebp + 4]"]]}, {"both": [["0x1003d479", "push ecx", "0x1003a529"], ["0x1003d47a", "call __strcmpi (FUNCTION)", "0x1003a52a"], ["0x1003d47f", "add esp, 8", "0x1003a52f"], ["0x1003d482", "test eax, eax", "0x1003a532"], ["0x1003d484", "mov eax, 1", "0x1003a534"], ["0x1003d489", "jg 0x2", "0x1003a539"], ["0x1003d48b", "xor eax, eax", "0x1003a53b"], ["0x1003d48d", "test eax, eax", "0x1003a53d"], ["0x1003d48f", "jne 0x5", "0x1003a53f"]]}, {"orig": [["0x1003d491", "mov ebp, dword ptr [ebp + 8]"], ["0x1003d494", "jmp 0x3"], ["0x1003d496", "mov ebp, dword ptr [ebp]"], ["0x1003d499", "cmp ebp, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"], ["0x1003d49f", "jne -0x31"]], "recomp": [["0x1003a541", "mov edi, dword ptr [edi + 8]"], ["0x1003a544", "jmp 0x2"], ["0x1003a546", "mov edi, dword ptr [edi]"], ["0x1003a548", "cmp edi, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"], ["0x1003a54e", "jne -0x30"]]}, {"both": [["0x1003d4a1", "cmp dword ptr [esi + 8], 0", "0x1003a550"], ["0x1003d4a5", "je 0x30", "0x1003a554"], ["0x1003d4a7", "lea eax, [esp + 0x10]", "0x1003a556"]]}, {"orig": [["0x1003d4ab", "push edi"]], "recomp": [["0x1003a55a", "push ebp"]]}, {"both": [["0x1003d4ac", "push ebx", "0x1003a55b"], ["0x1003d4ad", "mov ecx, esi", "0x1003a55c"], ["0x1003d4af", "mov dword ptr [esp + 0x1c], 1", "0x1003a55e"]]}, {"orig": [["0x1003d4b7", "push ebp"]], "recomp": [["0x1003a566", "push edi"]]}, {"both": [["0x1003d4b8", "push eax", "0x1003a567"], ["0x1003d4b9", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Insert (FUNCTION)", "0x1003a568"], ["0x1003d4be", "mov ecx, dword ptr [eax]", "0x1003a56d"], ["0x1003d4c0", "mov eax, dword ptr [esp + 0x20]", "0x1003a56f"], ["0x1003d4c4", "mov dword ptr [eax], ecx", "0x1003a573"], ["0x1003d4c6", "mov edx, dword ptr [esp + 0x14]", "0x1003a575"], ["0x1003d4ca", "pop ebp", "0x1003a579"], ["0x1003d4cb", "pop edi", "0x1003a57a"], ["0x1003d4cc", "mov dword ptr [eax + 4], edx", "0x1003a57b"], ["0x1003d4cf", "pop esi", "0x1003a57e"], ["0x1003d4d0", "pop ebx", "0x1003a57f"], ["0x1003d4d1", "add esp, 0xc", "0x1003a580"], ["0x1003d4d4", "ret 8", "0x1003a583"], ["0x1003d4d7", "mov dword ptr [esp + 0x18], ebx", "0x1003a586"], ["0x1003d4db", "test eax, eax", "0x1003a58a"], ["0x1003d4dd", "je 0x40", "0x1003a58c"], ["0x1003d4df", "mov eax, dword ptr [esi + 4]", "0x1003a58e"], ["0x1003d4e2", "cmp dword ptr [eax], ebx", "0x1003a591"], ["0x1003d4e4", "jne 0x30", "0x1003a593"], ["0x1003d4e6", "lea eax, [esp + 0x10]", "0x1003a595"]]}, {"orig": [["0x1003d4ea", "push edi"]], "recomp": [["0x1003a599", "push ebp"]]}, {"both": [["0x1003d4eb", "push ebx", "0x1003a59a"], ["0x1003d4ec", "mov ecx, esi", "0x1003a59b"], ["0x1003d4ee", "mov dword ptr [esp + 0x1c], 1", "0x1003a59d"]]}, {"orig": [["0x1003d4f6", "push ebp"]], "recomp": [["0x1003a5a5", "push edi"]]}, {"both": [["0x1003d4f7", "push eax", "0x1003a5a6"], ["0x1003d4f8", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Insert (FUNCTION)", "0x1003a5a7"], ["0x1003d4fd", "mov ecx, dword ptr [eax]", "0x1003a5ac"], ["0x1003d4ff", "mov eax, dword ptr [esp + 0x20]", "0x1003a5ae"], ["0x1003d503", "mov dword ptr [eax], ecx", "0x1003a5b2"], ["0x1003d505", "mov edx, dword ptr [esp + 0x14]", "0x1003a5b4"], ["0x1003d509", "pop ebp", "0x1003a5b8"], ["0x1003d50a", "pop edi", "0x1003a5b9"], ["0x1003d50b", "mov dword ptr [eax + 4], edx", "0x1003a5ba"], ["0x1003d50e", "pop esi", "0x1003a5bd"], ["0x1003d50f", "pop ebx", "0x1003a5be"], ["0x1003d510", "add esp, 0xc", "0x1003a5bf"], ["0x1003d513", "ret 8", "0x1003a5c2"], ["0x1003d516", "lea ecx, [esp + 0x18]", "0x1003a5c5"], ["0x1003d51a", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::iterator::_Dec (FUNCTION)", "0x1003a5c9"], ["0x1003d51f", "mov eax, dword ptr [esp + 0x18]", "0x1003a5ce"]]}, {"orig": [["0x1003d523", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x1003a5d2", "mov ecx, dword ptr [ebp + 4]"]]}, {"both": [["0x1003d526", "push ecx", "0x1003a5d5"], ["0x1003d527", "mov edx, dword ptr [eax + 0x10]", "0x1003a5d6"], ["0x1003d52a", "push edx", "0x1003a5d9"], ["0x1003d52b", "call __strcmpi (FUNCTION)", "0x1003a5da"], ["0x1003d530", "add esp, 8", "0x1003a5df"], ["0x1003d533", "test eax, eax", "0x1003a5e2"]]}, {"orig": [["0x1003d535", "jle 0x18e"]], "recomp": [["0x1003a5e4", "jle 0x18f"]]}, {"both": [["0x1003d53b", "push 0", "0x1003a5ea"], ["0x1003d53d", "mov ecx, esi", "0x1003a5ec"], ["0x1003d53f", "mov dword ptr [esp + 0x18], 1", "0x1003a5ee"], ["0x1003d547", "push ebx", "0x1003a5f6"], ["0x1003d548", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Buynode (FUNCTION)", "0x1003a5f7"], ["0x1003d54d", "mov dword ptr [esp + 0x10], eax", "0x1003a5fc"], ["0x1003d551", "mov eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]", "0x1003a600"], ["0x1003d556", "mov ecx, dword ptr [esp + 0x10]", "0x1003a605"], ["0x1003d55a", "mov dword ptr [ecx], eax", "0x1003a609"], ["0x1003d55c", "mov eax, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]", "0x1003a60b"], ["0x1003d561", "mov dword ptr [ecx + 8], eax", "0x1003a610"], ["0x1003d564", "mov eax, dword ptr [esp + 0x10]", "0x1003a613"], ["0x1003d568", "add eax, 0xc", "0x1003a617"]]}, {"orig": [["0x1003d56b", "je 0xa"], ["0x1003d56d", "mov ecx, dword ptr [edi]"], ["0x1003d56f", "mov edx, dword ptr [edi + 4]"]], "recomp": [["0x1003a61a", "je 0xb"], ["0x1003a61c", "mov ecx, dword ptr [ebp]"], ["0x1003a61f", "mov edx, dword ptr [ebp + 4]"]]}, {"both": [["0x1003d572", "mov dword ptr [eax], ecx", "0x1003a622"], ["0x1003d574", "mov dword ptr [eax + 4], edx", "0x1003a624"], ["0x1003d577", "inc dword ptr [esi + 0xc]", "0x1003a627"], ["0x1003d57a", "cmp dword ptr [esi + 4], ebx", "0x1003a62a"], ["0x1003d57d", "je 0x31", "0x1003a62d"]]}, {"orig": [["0x1003d57f", "cmp ebp, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]], "recomp": [["0x1003a62f", "cmp edi, dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)]"]]}, {"both": [["0x1003d585", "jne 0x29", "0x1003a635"], ["0x1003d587", "mov eax, dword ptr [ebx + 0x10]", "0x1003a637"]]}, {"orig": [["0x1003d58a", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x1003a63a", "mov ecx, dword ptr [ebp + 4]"]]}, {"both": [["0x1003d58d", "push eax", "0x1003a63d"], ["0x1003d58e", "push ecx", "0x1003a63e"], ["0x1003d58f", "call __strcmpi (FUNCTION)", "0x1003a63f"], ["0x1003d594", "add esp, 8", "0x1003a644"], ["0x1003d597", "test eax, eax", "0x1003a647"], ["0x1003d599", "jg 0x15", "0x1003a649"], ["0x1003d59b", "mov ecx, dword ptr [esp + 0x10]", "0x1003a64b"], ["0x1003d59f", "mov dword ptr [ebx + 8], ecx", "0x1003a64f"], ["0x1003d5a2", "mov eax, dword ptr [esi + 4]", "0x1003a652"], ["0x1003d5a5", "add eax, 8", "0x1003a655"]]}]]]}, {"address": "0x1003d6f0", "recomp": "0x1003a7a0", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::iterator::_Dec", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003d6f1,30 +0x1003a7a1,30 @@", [{"both": [["0x1003d6f1", "mov esi, dword ptr [ecx]", "0x1003a7a1"], ["0x1003d6f3", "cmp dword ptr [esi + 0x14], 0", "0x1003a7a3"], ["0x1003d6f7", "jne 0xf", "0x1003a7a7"], ["0x1003d6f9", "mov eax, dword ptr [esi + 4]", "0x1003a7a9"], ["0x1003d6fc", "cmp dword ptr [eax + 4], esi", "0x1003a7ac"], ["0x1003d6ff", "jne 0x7", "0x1003a7af"], ["0x1003d701", "mov eax, dword ptr [esi + 8]", "0x1003a7b1"], ["0x1003d704", "pop esi", "0x1003a7b4"], ["0x1003d705", "mov dword ptr [ecx], eax", "0x1003a7b5"], ["0x1003d707", "ret ", "0x1003a7b7"]]}, {"orig": [["0x1003d708", "mov edx, dword ptr [esi]"]], "recomp": [["0x1003a7b8", "mov eax, dword ptr [esi]"], ["0x1003a7ba", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"], ["0x1003a7c0", "je 0x13"], ["0x1003a7c2", "mov edx, dword ptr [eax + 8]"]]}, {"both": [["0x1003d70a", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], edx", "0x1003a7c5"]]}, {"orig": [["0x1003d710", "je 0x13"], ["0x1003d712", "mov eax, dword ptr [edx + 8]"], ["0x1003d715", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"]], "recomp": []}, {"both": [["0x1003d71b", "je 0x4", "0x1003a7cb"]]}, {"orig": [["0x1003d71d", "mov edx, eax"]], "recomp": [["0x1003a7cd", "mov eax, edx"]]}, {"both": [["0x1003d71f", "jmp -0xf", "0x1003a7cf"], ["0x1003d721", "pop esi", "0x1003a7d1"]]}, {"orig": [["0x1003d722", "mov dword ptr [ecx], edx"]], "recomp": [["0x1003a7d2", "mov dword ptr [ecx], eax"]]}, {"both": [["0x1003d724", "ret ", "0x1003a7d4"], ["0x1003d725", "mov edx, dword ptr [esi + 4]", "0x1003a7d5"], ["0x1003d728", "cmp dword ptr [edx], esi", "0x1003a7d8"], ["0x1003d72a", "jne 0xb", "0x1003a7da"], ["0x1003d72c", "mov dword ptr [ecx], edx", "0x1003a7dc"], ["0x1003d72e", "mov eax, edx", "0x1003a7de"], ["0x1003d730", "mov edx, dword ptr [edx + 4]", "0x1003a7e0"], ["0x1003d733", "cmp dword ptr [edx], eax", "0x1003a7e3"], ["0x1003d735", "je -0xb", "0x1003a7e5"], ["0x1003d737", "pop esi", "0x1003a7e7"]]}]]]}, {"address": "0x1003d740", "recomp": "0x1003a7f0", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x1003d760", "recomp": "0x1003a810", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003d82d,21 +0x1003a8dd,21 @@", [{"both": [["0x1003d82d", "mov ebp, dword ptr [edi]", "0x1003a8dd"], ["0x1003d82f", "mov ebp, dword ptr [ebp]", "0x1003a8df"], ["0x1003d832", "cmp ebp, eax", "0x1003a8e2"], ["0x1003d834", "jne 0xbb", "0x1003a8e4"], ["0x1003d83a", "mov ebp, dword ptr [edi]", "0x1003a8ea"], ["0x1003d83c", "mov ebp, dword ptr [ebp + 8]", "0x1003a8ec"], ["0x1003d83f", "cmp dword ptr [ebp + 0x14], 0", "0x1003a8ef"], ["0x1003d843", "je 0x159", "0x1003a8f3"], ["0x1003d849", "lea ebx, [eax + 8]", "0x1003a8f9"], ["0x1003d84c", "mov edx, dword ptr [ebx]", "0x1003a8fc"]]}, {"orig": [["0x1003d84e", "cmp ecx, edx"]], "recomp": [["0x1003a8fe", "cmp edx, ecx"]]}, {"both": [["0x1003d850", "jne 0x33", "0x1003a900"], ["0x1003d852", "mov ecx, eax", "0x1003a902"], ["0x1003d854", "mov eax, dword ptr [edx]", "0x1003a904"], ["0x1003d856", "mov dword ptr [ebx], eax", "0x1003a906"], ["0x1003d858", "mov eax, dword ptr [edx]", "0x1003a908"], ["0x1003d85a", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax", "0x1003a90a"], ["0x1003d860", "je 0x3", "0x1003a910"], ["0x1003d862", "mov dword ptr [eax + 4], ecx", "0x1003a912"], ["0x1003d865", "mov eax, dword ptr [edi]", "0x1003a915"], ["0x1003d867", "mov dword ptr [edx + 4], eax", "0x1003a917"]]}]], ["@@ -0x1003d8de,21 +0x1003a98e,21 @@", [{"both": [["0x1003d8de", "mov dword ptr [eax], edi", "0x1003a98e"], ["0x1003d8e0", "mov dword ptr [edi + 8], edx", "0x1003a990"], ["0x1003d8e3", "mov dword ptr [edx + 4], edi", "0x1003a993"], ["0x1003d8e6", "jmp 0xd5", "0x1003a996"], ["0x1003d8eb", "mov dword ptr [eax], edi", "0x1003a99b"], ["0x1003d8ed", "mov dword ptr [edi + 8], edx", "0x1003a99d"], ["0x1003d8f0", "jmp 0xa8", "0x1003a9a0"], ["0x1003d8f5", "cmp dword ptr [ebp + 0x14], 0", "0x1003a9a5"], ["0x1003d8f9", "je 0xa3", "0x1003a9a9"], ["0x1003d8ff", "mov edx, dword ptr [eax]", "0x1003a9af"]]}, {"orig": [["0x1003d901", "cmp ecx, edx"]], "recomp": [["0x1003a9b1", "cmp edx, ecx"]]}, {"both": [["0x1003d903", "jne 0x38", "0x1003a9b3"], ["0x1003d905", "mov ecx, eax", "0x1003a9b5"], ["0x1003d907", "mov eax, dword ptr [edx + 8]", "0x1003a9b7"], ["0x1003d90a", "mov dword ptr [ecx], eax", "0x1003a9ba"], ["0x1003d90c", "mov eax, dword ptr [edx + 8]", "0x1003a9bc"], ["0x1003d90f", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax", "0x1003a9bf"], ["0x1003d915", "je 0x3", "0x1003a9c5"], ["0x1003d917", "mov dword ptr [eax + 4], ecx", "0x1003a9c7"], ["0x1003d91a", "mov eax, dword ptr [edi]", "0x1003a9ca"], ["0x1003d91c", "mov dword ptr [edx + 4], eax", "0x1003a9cc"]]}]]]}, {"address": "0x1003d9f0", "recomp": "0x1003aaa0", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Lrotate", "matching": 0.3939393939393939, "diff": [["@@ -0x1003d9f0,33 +0x1003aaa0,33 @@", [{"orig": [["0x1003d9f0", "mov edx, dword ptr [esp + 4]"]], "recomp": []}, {"both": [["0x1003d9f4", "push esi", "0x1003aaa0"]]}, {"orig": [["0x1003d9f5", "mov esi, dword ptr [edx + 8]"], ["0x1003d9f8", "mov eax, dword ptr [esi]"], ["0x1003d9fa", "mov dword ptr [edx + 8], eax"], ["0x1003d9fd", "mov eax, dword ptr [esi]"]], "recomp": [["0x1003aaa1", "mov esi, dword ptr [esp + 8]"], ["0x1003aaa5", "mov edx, dword ptr [esi + 8]"], ["0x1003aaa8", "mov eax, dword ptr [edx]"], ["0x1003aaaa", "mov dword ptr [esi + 8], eax"], ["0x1003aaad", "mov eax, dword ptr [edx]"]]}, {"both": [["0x1003d9ff", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax", "0x1003aaaf"], ["0x1003da05", "je 0x3", "0x1003aab5"]]}, {"orig": [["0x1003da07", "mov dword ptr [eax + 4], edx"], ["0x1003da0a", "mov eax, dword ptr [edx + 4]"], ["0x1003da0d", "mov dword ptr [esi + 4], eax"]], "recomp": [["0x1003aab7", "mov dword ptr [eax + 4], esi"], ["0x1003aaba", "mov eax, dword ptr [esi + 4]"], ["0x1003aabd", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x1003da10", "mov eax, dword ptr [ecx + 4]", "0x1003aac0"], ["0x1003da13", "add eax, 4", "0x1003aac3"]]}, {"orig": [["0x1003da16", "cmp dword ptr [eax], edx"]], "recomp": [["0x1003aac6", "cmp dword ptr [eax], esi"]]}, {"both": [["0x1003da18", "je 0x1e", "0x1003aac8"]]}, {"orig": [["0x1003da1a", "mov eax, dword ptr [edx + 4]"], ["0x1003da1d", "cmp dword ptr [eax], edx"]], "recomp": [["0x1003aaca", "mov eax, dword ptr [esi + 4]"], ["0x1003aacd", "cmp dword ptr [eax], esi"]]}, {"both": [["0x1003da1f", "je 0xc", "0x1003aacf"]]}, {"orig": [["0x1003da21", "mov dword ptr [eax + 8], esi"], ["0x1003da24", "mov dword ptr [esi], edx"], ["0x1003da26", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x1003aad1", "mov dword ptr [eax + 8], edx"], ["0x1003aad4", "mov dword ptr [edx], esi"], ["0x1003aad6", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x1003da29", "pop esi", "0x1003aad9"], ["0x1003da2a", "ret 4", "0x1003aada"]]}, {"orig": [["0x1003da2d", "mov dword ptr [eax], esi"], ["0x1003da2f", "mov dword ptr [esi], edx"], ["0x1003da31", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x1003aadd", "mov dword ptr [eax], edx"], ["0x1003aadf", "mov dword ptr [edx], esi"], ["0x1003aae1", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x1003da34", "pop esi", "0x1003aae4"], ["0x1003da35", "ret 4", "0x1003aae5"]]}, {"orig": [["0x1003da38", "mov dword ptr [eax], esi"], ["0x1003da3a", "mov dword ptr [esi], edx"], ["0x1003da3c", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x1003aae8", "mov dword ptr [eax], edx"], ["0x1003aaea", "mov dword ptr [edx], esi"], ["0x1003aaec", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x1003da3f", "pop esi", "0x1003aaef"], ["0x1003da40", "ret 4", "0x1003aaf0"]]}]]]}, {"address": "0x1003da50", "recomp": "0x1003ab00", "name": "_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Rrotate", "matching": 1.0, "diff": []}, {"address": "0x1003dab0", "recomp": "0x1003ab60", "name": "list<LegoCacheSoundEntry,allocator<LegoCacheSoundEntry> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x1003dae0", "recomp": "0x1003ab90", "name": "LegoCacheSoundManager::Play", "matching": 1.0, "diff": []}, {"address": "0x1003db10", "recomp": "0x1003abc0", "name": "LegoCacheSoundManager::Play", "matching": 1.0, "diff": []}, {"address": "0x1003db80", "recomp": "0x1003ac30", "name": "LegoCacheSoundManager::Stop", "matching": 0.6571428571428571, "diff": [["@@ -0x1003db80,67 +0x1003ac30,69 @@", [{"both": [["0x1003db80", "sub esp, 4", "0x1003ac30"]]}, {"orig": [], "recomp": [["0x1003ac33", "mov edx, dword ptr [ecx + 8]"]]}, {"both": [["0x1003db83", "push ebx", "0x1003ac36"]]}, {"orig": [], "recomp": [["0x1003ac37", "mov eax, dword ptr [edx]"], ["0x1003ac39", "mov dword ptr [esp + 4], eax"]]}, {"both": [["0x1003db84", "push esi", "0x1003ac3d"]]}, {"orig": [], "recomp": [["0x1003ac3e", "mov esi, dword ptr [esp + 0x10]"]]}, {"both": [["0x1003db85", "push edi", "0x1003ac42"]]}, {"orig": [["0x1003db86", "mov esi, dword ptr [ecx + 8]"], ["0x1003db89", "mov edx, dword ptr [esp + 0x14]"], ["0x1003db8d", "mov eax, dword ptr [esi]"], ["0x1003db8f", "mov dword ptr [esp + 0xc], eax"], ["0x1003db93", "cmp eax, esi"], ["0x1003db95", "je 0x65"], ["0x1003db97", "mov edi, dword ptr [edx]"]], "recomp": [["0x1003ac43", "cmp eax, edx"], ["0x1003ac45", "je 0x6b"], ["0x1003ac47", "mov edi, dword ptr [esi]"]]}, {"both": [["0x1003db99", "mov eax, dword ptr [esp + 0xc]", "0x1003ac49"], ["0x1003db9d", "cmp dword ptr [eax + 0xc], edi", "0x1003ac4d"]]}, {"orig": [["0x1003dba0", "je 0x4a"], ["0x1003dba2", "mov ebx, dword ptr [eax + 8]"]], "recomp": [["0x1003ac50", "je 0x50"], ["0x1003ac52", "mov eax, dword ptr [eax + 8]"], ["0x1003ac55", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"], ["0x1003ac5b", "je 0x14"], ["0x1003ac5d", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x1003dba5", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx", "0x1003ac5f"]]}, {"orig": [["0x1003dbab", "je 0xe"], ["0x1003dbad", "mov eax, dword ptr [ebx]"], ["0x1003dbaf", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax"], ["0x1003dbb5", "je 0x29"], ["0x1003dbb7", "mov ebx, eax"]], "recomp": [["0x1003ac65", "je 0x4"], ["0x1003ac67", "mov eax, ebx"]]}, {"both": [["0x1003dbb9", "jmp -0xe", "0x1003ac69"]]}, {"orig": [], "recomp": [["0x1003ac6b", "mov dword ptr [esp + 0xc], eax"], ["0x1003ac6f", "jmp 0x29"]]}, {"both": [["0x1003dbbb", "mov eax, dword ptr [esp + 0xc]", "0x1003ac71"], ["0x1003dbbf", "mov ebx, dword ptr [eax + 4]", "0x1003ac75"], ["0x1003dbc2", "cmp dword ptr [ebx + 8], eax", "0x1003ac78"], ["0x1003dbc5", "jne 0x10", "0x1003ac7b"], ["0x1003dbc7", "mov dword ptr [esp + 0xc], ebx", "0x1003ac7d"], ["0x1003dbcb", "mov ebx, dword ptr [ebx + 4]", "0x1003ac81"], ["0x1003dbce", "mov eax, dword ptr [esp + 0xc]", "0x1003ac84"], ["0x1003dbd2", "cmp dword ptr [ebx + 8], eax", "0x1003ac88"], ["0x1003dbd5", "je -0x10", "0x1003ac8b"], ["0x1003dbd7", "mov eax, dword ptr [esp + 0xc]", "0x1003ac8d"], ["0x1003dbdb", "cmp dword ptr [eax + 8], ebx", "0x1003ac91"], ["0x1003dbde", "je 0x4", "0x1003ac94"], ["0x1003dbe0", "mov dword ptr [esp + 0xc], ebx", "0x1003ac96"]]}, {"orig": [["0x1003dbe4", "cmp dword ptr [esp + 0xc], esi"], ["0x1003dbe8", "jne -0x51"]], "recomp": [["0x1003ac9a", "cmp dword ptr [esp + 0xc], edx"], ["0x1003ac9e", "jne -0x57"]]}, {"both": [["0x1003dbea", "jmp 0x10", "0x1003aca0"], ["0x1003dbec", "mov ecx, edi", "0x1003aca2"], ["0x1003dbee", "call LegoCacheSound::Stop (FUNCTION)", "0x1003aca4"], ["0x1003dbf3", "pop edi", "0x1003aca9"], ["0x1003dbf4", "pop esi", "0x1003acaa"], ["0x1003dbf5", "pop ebx", "0x1003acab"], ["0x1003dbf6", "add esp, 4", "0x1003acac"], ["0x1003dbf9", "ret 4", "0x1003acaf"]]}, {"orig": [["0x1003dbfc", "mov esi, dword ptr [ecx + 0x18]"], ["0x1003dbff", "mov eax, dword ptr [esi]"]], "recomp": [["0x1003acb2", "mov edx, dword ptr [ecx + 0x18]"], ["0x1003acb5", "mov eax, dword ptr [edx]"]]}, {"both": [["0x1003dc01", "mov dword ptr [esp + 0xc], eax", "0x1003acb7"]]}, {"orig": [["0x1003dc05", "cmp eax, esi"]], "recomp": [["0x1003acbb", "cmp eax, edx"]]}, {"both": [["0x1003dc07", "je 0x23", "0x1003acbd"]]}, {"orig": [["0x1003dc09", "mov ecx, dword ptr [edx]"]], "recomp": [["0x1003acbf", "mov ecx, dword ptr [esi]"]]}, {"both": [["0x1003dc0b", "mov eax, dword ptr [esp + 0xc]", "0x1003acc1"], ["0x1003dc0f", "cmp dword ptr [eax + 8], ecx", "0x1003acc5"], ["0x1003dc12", "je 0x13", "0x1003acc8"]]}, {"orig": [["0x1003dc14", "mov edx, dword ptr [eax]"], ["0x1003dc16", "mov dword ptr [esp + 0xc], edx"], ["0x1003dc1a", "cmp edx, esi"]], "recomp": [["0x1003acca", "mov ebx, dword ptr [eax]"], ["0x1003accc", "mov dword ptr [esp + 0xc], ebx"], ["0x1003acd0", "cmp ebx, edx"]]}, {"both": [["0x1003dc1c", "jne -0x13", "0x1003acd2"], ["0x1003dc1e", "pop edi", "0x1003acd4"], ["0x1003dc1f", "pop esi", "0x1003acd5"], ["0x1003dc20", "pop ebx", "0x1003acd6"], ["0x1003dc21", "add esp, 4", "0x1003acd7"], ["0x1003dc24", "ret 4", "0x1003acda"], ["0x1003dc27", "call LegoCacheSound::Stop (FUNCTION)", "0x1003acdd"], ["0x1003dc2c", "pop edi", "0x1003ace2"], ["0x1003dc2d", "pop esi", "0x1003ace3"], ["0x1003dc2e", "pop ebx", "0x1003ace4"]]}]]]}, {"address": "0x1003dc40", "recomp": "0x1003acf0", "name": "LegoCacheSoundManager::Destroy", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003dc40,20 +0x1003acf0,20 @@", [{"both": [["0x1003dc40", "sub esp, 4", "0x1003acf0"], ["0x1003dc43", "push ebx", "0x1003acf3"], ["0x1003dc44", "push esi", "0x1003acf4"], ["0x1003dc45", "mov edx, dword ptr [ecx + 8]", "0x1003acf5"], ["0x1003dc48", "push edi", "0x1003acf8"], ["0x1003dc49", "mov esi, ecx", "0x1003acf9"], ["0x1003dc4b", "mov edi, dword ptr [esp + 0x14]", "0x1003acfb"], ["0x1003dc4f", "mov eax, dword ptr [edx]", "0x1003acff"], ["0x1003dc51", "mov dword ptr [esp + 0xc], eax", "0x1003ad01"]]}, {"orig": [["0x1003dc55", "cmp eax, edx"]], "recomp": [["0x1003ad05", "cmp edx, eax"]]}, {"both": [["0x1003dc57", "je 0x81", "0x1003ad07"], ["0x1003dc5d", "mov ecx, dword ptr [edi]", "0x1003ad0d"], ["0x1003dc5f", "mov eax, dword ptr [esp + 0xc]", "0x1003ad0f"], ["0x1003dc63", "cmp dword ptr [eax + 0xc], ecx", "0x1003ad13"], ["0x1003dc66", "je 0x4a", "0x1003ad16"], ["0x1003dc68", "mov ebx, dword ptr [eax + 8]", "0x1003ad18"], ["0x1003dc6b", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], ebx", "0x1003ad1b"], ["0x1003dc71", "je 0xe", "0x1003ad21"], ["0x1003dc73", "mov eax, dword ptr [ebx]", "0x1003ad23"], ["0x1003dc75", "cmp dword ptr [_Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Nil (DATA)], eax", "0x1003ad25"]]}]], ["@@ -0x1003dc8b,21 +0x1003ad3b,21 @@", [{"both": [["0x1003dc8b", "jne 0x10", "0x1003ad3b"], ["0x1003dc8d", "mov dword ptr [esp + 0xc], ebx", "0x1003ad3d"], ["0x1003dc91", "mov ebx, dword ptr [ebx + 4]", "0x1003ad41"], ["0x1003dc94", "mov eax, dword ptr [esp + 0xc]", "0x1003ad44"], ["0x1003dc98", "cmp dword ptr [ebx + 8], eax", "0x1003ad48"], ["0x1003dc9b", "je -0x10", "0x1003ad4b"], ["0x1003dc9d", "mov eax, dword ptr [esp + 0xc]", "0x1003ad4d"], ["0x1003dca1", "cmp dword ptr [eax + 8], ebx", "0x1003ad51"], ["0x1003dca4", "je 0x4", "0x1003ad54"], ["0x1003dca6", "mov dword ptr [esp + 0xc], ebx", "0x1003ad56"]]}, {"orig": [["0x1003dcaa", "cmp dword ptr [esp + 0xc], edx"]], "recomp": [["0x1003ad5a", "cmp edx, dword ptr [esp + 0xc]"]]}, {"both": [["0x1003dcae", "jne -0x51", "0x1003ad5e"], ["0x1003dcb0", "jmp 0x2c", "0x1003ad60"], ["0x1003dcb2", "call LegoCacheSound::Stop (FUNCTION)", "0x1003ad62"], ["0x1003dcb7", "mov ecx, dword ptr [edi]", "0x1003ad67"], ["0x1003dcb9", "test ecx, ecx", "0x1003ad69"], ["0x1003dcbb", "je 0x6", "0x1003ad6b"], ["0x1003dcbd", "push 1", "0x1003ad6d"], ["0x1003dcbf", "mov eax, dword ptr [ecx]", "0x1003ad6f"], ["0x1003dcc1", "call dword ptr [eax]", "0x1003ad71"], ["0x1003dcc3", "mov eax, dword ptr [esp + 0xc]", "0x1003ad73"]]}]], ["@@ -0x1003dccd,30 +0x1003ad7d,30 @@", [{"both": [["0x1003dccd", "lea ecx, [esi + 4]", "0x1003ad7d"], ["0x1003dcd0", "call _Tree<LegoCacheSoundEntry,LegoCacheSoundEntry,set<LegoCacheSoundEntry,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::_Kfn,Set100d6b4cComparator,allocator<LegoCacheSoundEntry> >::erase (FUNCTION)", "0x1003ad80"], ["0x1003dcd5", "pop edi", "0x1003ad85"], ["0x1003dcd6", "pop esi", "0x1003ad86"], ["0x1003dcd7", "pop ebx", "0x1003ad87"], ["0x1003dcd8", "add esp, 4", "0x1003ad88"], ["0x1003dcdb", "ret 4", "0x1003ad8b"], ["0x1003dcde", "mov edx, dword ptr [esi + 0x18]", "0x1003ad8e"], ["0x1003dce1", "mov eax, dword ptr [edx]", "0x1003ad91"], ["0x1003dce3", "mov dword ptr [esp + 0xc], eax", "0x1003ad93"]]}, {"orig": [["0x1003dce7", "cmp edx, eax"]], "recomp": [["0x1003ad97", "cmp eax, edx"]]}, {"both": [["0x1003dce9", "je 0x70", "0x1003ad99"], ["0x1003dceb", "mov ecx, dword ptr [edi]", "0x1003ad9b"], ["0x1003dced", "mov eax, dword ptr [esp + 0xc]", "0x1003ad9d"], ["0x1003dcf1", "mov edi, dword ptr [eax + 8]", "0x1003ada1"], ["0x1003dcf4", "cmp edi, ecx", "0x1003ada4"], ["0x1003dcf6", "je 0x13", "0x1003ada6"], ["0x1003dcf8", "mov ebx, dword ptr [eax]", "0x1003ada8"], ["0x1003dcfa", "mov dword ptr [esp + 0xc], ebx", "0x1003adaa"]]}, {"orig": [["0x1003dcfe", "cmp edx, ebx"]], "recomp": [["0x1003adae", "cmp ebx, edx"]]}, {"both": [["0x1003dd00", "jne -0x15", "0x1003adb0"], ["0x1003dd02", "pop edi", "0x1003adb2"], ["0x1003dd03", "pop esi", "0x1003adb3"], ["0x1003dd04", "pop ebx", "0x1003adb4"], ["0x1003dd05", "add esp, 4", "0x1003adb5"], ["0x1003dd08", "ret 4", "0x1003adb8"], ["0x1003dd0b", "call LegoCacheSound::Stop (FUNCTION)", "0x1003adbb"], ["0x1003dd10", "test edi, edi", "0x1003adc0"], ["0x1003dd12", "je 0x8", "0x1003adc2"], ["0x1003dd14", "push 1", "0x1003adc4"]]}]]]}, {"address": "0x1003dd70", "recomp": "0x1003ed90", "name": "PickROI", "matching": 1.0, "diff": []}, {"address": "0x1003dd90", "recomp": "0x1003edb0", "name": "PickRootROI", "matching": 1.0, "diff": []}, {"address": "0x1003ddc0", "recomp": "0x1003ede0", "name": "PickEntity", "matching": 1.0, "diff": []}, {"address": "0x1003dde0", "recomp": "0x1003ee00", "name": "RotateY", "matching": 1.0, "diff": []}, {"address": "0x1003de80", "recomp": "0x1003eea0", "name": "SpheresIntersect", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003de80,19 +0x1003eea0,19 @@", [{"both": [["0x1003de80", "mov eax, dword ptr [esp + 4]", "0x1003eea0"], ["0x1003de84", "push esi", "0x1003eea4"], ["0x1003de85", "mov ecx, dword ptr [esp + 0xc]", "0x1003eea5"], ["0x1003de89", "mov esi, dword ptr [eax + 4]", "0x1003eea9"]]}, {"orig": [], "recomp": [["0x1003eeac", "fld dword ptr [esi + 4]"], ["0x1003eeaf", "mov edx, dword ptr [ecx + 4]"], ["0x1003eeb2", "fsub dword ptr [edx + 4]"]]}, {"both": [["0x1003de8c", "fld dword ptr [esi + 8]", "0x1003eeb5"]]}, {"orig": [["0x1003de8f", "mov edx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x1003de92", "fsub dword ptr [edx + 8]", "0x1003eeb8"]]}, {"orig": [["0x1003de95", "fld dword ptr [esi + 4]"], ["0x1003de98", "fsub dword ptr [edx + 4]"]], "recomp": []}, {"both": [["0x1003de9b", "fld dword ptr [esi]", "0x1003eebb"], ["0x1003de9d", "fsub dword ptr [edx]", "0x1003eebd"], ["0x1003de9f", "fxch st(2)", "0x1003eebf"], ["0x1003dea1", "fmul st(0), st(0)", "0x1003eec1"], ["0x1003dea3", "fxch st(1)", "0x1003eec3"], ["0x1003dea5", "fmul st(0), st(0)", "0x1003eec5"], ["0x1003dea7", "faddp st(1)", "0x1003eec7"], ["0x1003dea9", "fxch st(1)", "0x1003eec9"], ["0x1003deab", "fmul st(0), st(0)", "0x1003eecb"], ["0x1003dead", "faddp st(1)", "0x1003eecd"]]}]]]}, {"address": "0x1003ded0", "recomp": "0x1003eef0", "name": "FUN_1003ded0", "matching": 1.0, "diff": []}, {"address": "0x1003df70", "recomp": "0x1003ef90", "name": "TransformWorldToScreen", "matching": 1.0, "diff": []}, {"address": "0x1003df90", "recomp": "0x1003efb0", "name": "CountTotalTreeNodes", "matching": 0.5, "diff": [["@@ -0x1003df90,26 +0x1003efb0,26 @@", [{"both": [["0x1003df90", "push ebx", "0x1003efb0"], ["0x1003df91", "push esi", "0x1003efb1"]]}, {"orig": [], "recomp": [["0x1003efb2", "mov si, 1"]]}, {"both": [["0x1003df92", "push edi", "0x1003efb6"]]}, {"orig": [], "recomp": [["0x1003efb7", "push ebp"], ["0x1003efb8", "xor edi, edi"], ["0x1003efba", "mov ebp, dword ptr [esp + 0x14]"], ["0x1003efbe", "cmp dword ptr [ebp + 8], edi"], ["0x1003efc1", "jbe 0x1e"]]}, {"both": [["0x1003df93", "xor ebx, ebx", "0x1003efc3"]]}, {"orig": [["0x1003df95", "mov di, 1"], ["0x1003df99", "push ebp"], ["0x1003df9a", "mov esi, dword ptr [esp + 0x14]"], ["0x1003df9e", "cmp dword ptr [esi + 8], ebx"], ["0x1003dfa1", "jbe 0x1e"], ["0x1003dfa3", "xor ebp, ebp"], ["0x1003dfa5", "mov eax, dword ptr [esi + 0xc]"], ["0x1003dfa8", "add ebp, 4"], ["0x1003dfab", "inc ebx"], ["0x1003dfac", "mov ecx, dword ptr [eax + ebp - 4]"]], "recomp": [["0x1003efc5", "mov eax, dword ptr [ebp + 0xc]"], ["0x1003efc8", "add ebx, 4"], ["0x1003efcb", "inc edi"], ["0x1003efcc", "mov ecx, dword ptr [eax + ebx - 4]"]]}, {"both": [["0x1003dfb0", "push ecx", "0x1003efd0"], ["0x1003dfb1", "call CountTotalTreeNodes (FUNCTION)", "0x1003efd1"]]}, {"orig": [["0x1003dfb6", "add di, ax"]], "recomp": [["0x1003efd6", "add si, ax"]]}, {"both": [["0x1003dfb9", "add esp, 4", "0x1003efd9"]]}, {"orig": [["0x1003dfbc", "cmp dword ptr [esi + 8], ebx"]], "recomp": [["0x1003efdc", "cmp dword ptr [ebp + 8], edi"]]}, {"both": [["0x1003dfbf", "ja -0x1c", "0x1003efdf"]]}, {"orig": [["0x1003dfc1", "mov ax, di"]], "recomp": [["0x1003efe1", "mov ax, si"]]}, {"both": [["0x1003dfc4", "pop ebp", "0x1003efe4"], ["0x1003dfc5", "pop edi", "0x1003efe5"], ["0x1003dfc6", "pop esi", "0x1003efe6"], ["0x1003dfc7", "pop ebx", "0x1003efe7"], ["0x1003dfc8", "ret ", "0x1003efe8"]]}]]]}, {"address": "0x1003dfd0", "recomp": "0x1003eff0", "name": "GetTreeNode", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003dff3,22 +0x1003f013,22 @@", [{"both": [["0x1003dff3", "mov esi, dword ptr [esp + 0x18]", "0x1003f013"], ["0x1003dff7", "cmp dword ptr [esi + 8], ebx", "0x1003f017"], ["0x1003dffa", "jbe 0x3a", "0x1003f01a"], ["0x1003dffc", "xor ebp, ebp", "0x1003f01c"], ["0x1003dffe", "mov eax, dword ptr [esi + 0xc]", "0x1003f01e"], ["0x1003e001", "mov ecx, dword ptr [eax + ebp]", "0x1003f021"], ["0x1003e004", "push ecx", "0x1003f024"], ["0x1003e005", "call CountTotalTreeNodes (FUNCTION)", "0x1003f025"], ["0x1003e00a", "movsx eax, ax", "0x1003f02a"], ["0x1003e00d", "add esp, 4", "0x1003f02d"]]}, {"orig": [["0x1003e010", "cmp eax, edi"], ["0x1003e012", "jae 0xd"]], "recomp": [["0x1003f030", "cmp edi, eax"], ["0x1003f032", "jbe 0xd"]]}, {"both": [["0x1003e014", "sub edi, eax", "0x1003f034"], ["0x1003e016", "add ebp, 4", "0x1003f036"], ["0x1003e019", "inc ebx", "0x1003f039"], ["0x1003e01a", "cmp dword ptr [esi + 8], ebx", "0x1003f03a"], ["0x1003e01d", "ja -0x21", "0x1003f03d"], ["0x1003e01f", "jmp 0x15", "0x1003f03f"], ["0x1003e021", "dec edi", "0x1003f041"], ["0x1003e022", "mov eax, dword ptr [esi + 0xc]", "0x1003f042"], ["0x1003e025", "push edi", "0x1003f045"], ["0x1003e026", "mov ecx, dword ptr [eax + ebx*4]", "0x1003f046"]]}]]]}, {"address": "0x1003e050", "recomp": "0x1003f070", "name": "FUN_1003e050", "matching": 0.9841269841269841, "diff": [["@@ -0x1003e050,21 +0x1003f070,21 @@", [{"both": [["0x1003e050", "sub esp, 0x104", "0x1003f070"], ["0x1003e056", "lea eax, [esp + 0xc4]", "0x1003f076"], ["0x1003e05d", "push ebx", "0x1003f07d"]]}, {"orig": [["0x1003e05e", "mov ecx, dword ptr [esp + 0x10c]"]], "recomp": [["0x1003f07e", "mov dword ptr [esp + 0xc4], eax"]]}, {"both": [["0x1003e065", "push esi", "0x1003f085"], ["0x1003e066", "push edi", "0x1003f086"], ["0x1003e067", "xor ebx, ebx", "0x1003f087"]]}, {"orig": [], "recomp": [["0x1003f089", "mov dword ptr [esp + 0xc8], MxMatrix::`vftable' (VTABLE)"], ["0x1003f094", "mov ecx, dword ptr [esp + 0x114]"]]}, {"both": [["0x1003e069", "push ebp", "0x1003f09b"], ["0x1003e06a", "mov edx, dword ptr [ecx + 0x64]", "0x1003f09c"]]}, {"orig": [["0x1003e06d", "mov dword ptr [esp + 0xcc], MxMatrix::`vftable' (VTABLE)"], ["0x1003e078", "mov dword ptr [esp + 0xd0], eax"]], "recomp": []}, {"both": [["0x1003e07f", "mov esi, dword ptr [edx + 4]", "0x1003f09f"], ["0x1003e082", "mov dword ptr [esp + 0x14], ebx", "0x1003f0a2"], ["0x1003e086", "push esi", "0x1003f0a6"], ["0x1003e087", "mov dword ptr [esp + 0x20], ebx", "0x1003f0a7"], ["0x1003e08b", "call CountTotalTreeNodes (FUNCTION)", "0x1003f0ab"], ["0x1003e090", "mov word ptr [esp + 0x16], ax", "0x1003f0b0"], ["0x1003e095", "add esp, 4", "0x1003f0b5"], ["0x1003e098", "cmp ax, bx", "0x1003f0b8"], ["0x1003e09b", "jle 0x99", "0x1003f0bb"], ["0x1003e0a1", "cmp dword ptr [esp + 0x14], 0", "0x1003f0c1"]]}]]]}, {"address": "0x1003e300", "recomp": "0x1003f320", "name": "MatchActionString", "matching": 1.0, "diff": []}, {"address": "0x1003e430", "recomp": "0x1003f450", "name": "InvokeAction", "matching": 1.0, "diff": []}, {"address": "0x1003e670", "recomp": "0x1003f690", "name": "CheckIfEntityExists", "matching": 1.0, "diff": []}, {"address": "0x1003e700", "recomp": "0x1003f720", "name": "NotifyEntity", "matching": 1.0, "diff": []}, {"address": "0x1003e870", "recomp": "0x1003f890", "name": "LegoWorldListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1003e8e0", "recomp": "0x1003f900", "name": "MxPtrListCursor<LegoWorld>::~MxPtrListCursor<LegoWorld>", "matching": 1.0, "diff": []}, {"address": "0x1003e930", "recomp": "0x1003f950", "name": "MxListCursor<LegoWorld *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1003e9a0", "recomp": "0x1003f9c0", "name": "MxPtrListCursor<LegoWorld>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1003ea10", "recomp": "0x1003fa30", "name": "MxListCursor<LegoWorld *>::~MxListCursor<LegoWorld *>", "matching": 1.0, "diff": []}, {"address": "0x1003ea60", "recomp": "0x1003fa80", "name": "LegoWorldListCursor::~LegoWorldListCursor", "matching": 1.0, "diff": []}, {"address": "0x1003eab0", "recomp": "0x1003fad0", "name": "SetCameraControllerFromIsle", "matching": 1.0, "diff": []}, {"address": "0x1003eae0", "recomp": "0x1003fb00", "name": "ConvertHSVToRGB", "matching": 1.0, "diff": []}, {"address": "0x1003ecc0", "recomp": "0x1003fce0", "name": "PlayCamAnim", "matching": 1.0, "diff": []}, {"address": "0x1003eda0", "recomp": "0x1003fdc0", "name": "FUN_1003eda0", "matching": 1.0, "diff": []}, {"address": "0x1003ee00", "recomp": "0x1003fe20", "name": "RemoveFromCurrentWorld", "matching": 1.0, "diff": []}, {"address": "0x1003ee80", "recomp": "0x1003fea0", "name": "RemoveFromWorld", "matching": 1.0, "diff": []}, {"address": "0x1003ef00", "recomp": "0x1003ff20", "name": "EnableAnimations", "matching": 1.0, "diff": []}, {"address": "0x1003ef40", "recomp": "0x1003ff60", "name": "SetAppCursor", "matching": 1.0, "diff": []}, {"address": "0x1003ef60", "recomp": "0x1003ff80", "name": "FUN_1003ef60", "matching": 1.0, "diff": []}, {"address": "0x1003f050", "recomp": "0x10040070", "name": "UpdateLightPosition", "matching": 1.0, "diff": []}, {"address": "0x1003f0d0", "recomp": "0x100400f0", "name": "SetLightPosition", "matching": 1.0, "diff": []}, {"address": "0x1003f3b0", "recomp": "0x100403d0", "name": "ReadNamedTexture", "matching": 1.0, "diff": []}, {"address": "0x1003f540", "recomp": "0x10040560", "name": "WriteDefaultTexture", "matching": 0.8467153284671532, "diff": [["@@ -0x1003f565,21 +0x10040585,21 @@", [{"both": [["0x1003f565", "push esi", "0x10040585"], ["0x1003f566", "push edi", "0x10040586"], ["0x1003f567", "xor esi, esi", "0x10040587"], ["0x1003f569", "push eax", "0x10040589"], ["0x1003f56a", "call MxString::MxString (FUNCTION)", "0x1004058a"], ["0x1003f56f", "mov dword ptr [ebp - 4], esi", "0x1004058f"], ["0x1003f572", "call TextureContainer (FUNCTION)", "0x10040592"], ["0x1003f577", "mov edi, dword ptr [eax + 0xc]", "0x10040597"], ["0x1003f57a", "mov dword ptr [ebp - 0x1c], esi", "0x1004059a"], ["0x1003f57d", "mov ecx, dword ptr [edi + 4]", "0x1004059d"]]}, {"orig": [["0x1003f580", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x100405a0", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x1003f586", "je 0x40", "0x100405a6"], ["0x1003f588", "mov edx, dword ptr [ecx + 0xc]", "0x100405a8"], ["0x1003f58b", "mov esi, dword ptr [ebp + 0xc]", "0x100405ab"], ["0x1003f58e", "mov bl, byte ptr [edx]", "0x100405ae"], ["0x1003f590", "cmp bl, byte ptr [esi]", "0x100405b0"], ["0x1003f592", "jne 0x1a", "0x100405b2"], ["0x1003f594", "or bl, bl", "0x100405b4"], ["0x1003f596", "je 0x12", "0x100405b6"], ["0x1003f598", "mov bl, byte ptr [edx + 1]", "0x100405b8"], ["0x1003f59b", "cmp bl, byte ptr [esi + 1]", "0x100405bb"]]}]], ["@@ -0x1003f5aa,21 +0x100405ca,21 @@", [{"both": [["0x1003f5aa", "xor edx, edx", "0x100405ca"], ["0x1003f5ac", "jmp 0x5", "0x100405cc"], ["0x1003f5ae", "sbb edx, edx", "0x100405ce"], ["0x1003f5b0", "sbb edx, -1", "0x100405d0"], ["0x1003f5b3", "test edx, edx", "0x100405d3"], ["0x1003f5b5", "jg 0x6", "0x100405d5"], ["0x1003f5b7", "mov edi, ecx", "0x100405d7"], ["0x1003f5b9", "mov ecx, dword ptr [ecx]", "0x100405d9"], ["0x1003f5bb", "jmp 0x3", "0x100405db"], ["0x1003f5bd", "mov ecx, dword ptr [ecx + 8]", "0x100405dd"]]}, {"orig": [["0x1003f5c0", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x100405e0", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x1003f5c6", "jne -0x40", "0x100405e6"], ["0x1003f5c8", "mov dword ptr [ebp - 0x18], edi", "0x100405e8"], ["0x1003f5cb", "cmp dword ptr [eax + 0xc], edi", "0x100405eb"], ["0x1003f5ce", "je 0x32", "0x100405ee"], ["0x1003f5d0", "mov edx, dword ptr [ebp + 0xc]", "0x100405f0"], ["0x1003f5d3", "mov ecx, dword ptr [edi + 0xc]", "0x100405f3"], ["0x1003f5d6", "mov bl, byte ptr [edx]", "0x100405f6"], ["0x1003f5d8", "cmp bl, byte ptr [ecx]", "0x100405f8"], ["0x1003f5da", "jne 0x1a", "0x100405fa"], ["0x1003f5dc", "or bl, bl", "0x100405fc"]]}]], ["@@ -0x1003f600,21 +0x10040620,21 @@", [{"both": [["0x1003f600", "jle 0x9", "0x10040620"], ["0x1003f602", "mov ecx, dword ptr [eax + 0xc]", "0x10040622"], ["0x1003f605", "mov dword ptr [ebp - 0x14], ecx", "0x10040625"], ["0x1003f608", "lea ecx, [ebp - 0x14]", "0x10040628"], ["0x1003f60b", "mov ecx, dword ptr [ecx]", "0x1004062b"], ["0x1003f60d", "cmp dword ptr [eax + 0xc], ecx", "0x1004062d"], ["0x1003f610", "je 0x6", "0x10040630"], ["0x1003f612", "mov ecx, dword ptr [ecx + 0x10]", "0x10040632"], ["0x1003f615", "mov dword ptr [ebp - 0x1c], ecx", "0x10040635"], ["0x1003f618", "cmp dword ptr [ebp - 0x1c], 0", "0x10040638"]]}, {"orig": [["0x1003f61c", "je 0x1fa"]], "recomp": [["0x1004063c", "je 0x1f7"]]}, {"both": [["0x1003f622", "lea edi, [ebp - 0x39c]", "0x10040642"], ["0x1003f628", "mov esi, 0xff", "0x10040648"], ["0x1003f62d", "mov ecx, edi", "0x1004064d"], ["0x1003f62f", "add edi, 3", "0x1004064f"], ["0x1003f632", "call LegoPaletteEntry::LegoPaletteEntry (FUNCTION)", "0x10040652"], ["0x1003f637", "dec esi", "0x10040657"], ["0x1003f638", "jns -0xd", "0x10040658"], ["0x1003f63a", "mov eax, dword ptr [ebp - 0x1c]", "0x1004065a"], ["0x1003f63d", "lea edi, [ebp - 0x9c]", "0x1004065d"], ["0x1003f643", "mov ecx, dword ptr [eax + 4]", "0x10040663"]]}]], ["@@ -0x1003f664,133 +0x10040684,132 @@", [{"both": [["0x1003f664", "mov ecx, dword ptr [ebp - 0x14]", "0x10040684"], ["0x1003f667", "push 0", "0x10040687"], ["0x1003f669", "push edx", "0x10040689"], ["0x1003f66a", "push 0", "0x1004068a"], ["0x1003f66c", "mov eax, dword ptr [ecx]", "0x1004068c"], ["0x1003f66e", "mov dword ptr [ebp - 0x18], eax", "0x1004068e"], ["0x1003f671", "mov ecx, dword ptr [ebp - 0x14]", "0x10040691"], ["0x1003f674", "push ecx", "0x10040694"], ["0x1003f675", "call dword ptr [eax + 0x64]", "0x10040695"], ["0x1003f678", "test eax, eax", "0x10040698"]]}, {"orig": [["0x1003f67a", "jne 0x19c"]], "recomp": [["0x1004069a", "jne 0x199"]]}, {"both": [["0x1003f680", "push 0x310", "0x100406a0"], ["0x1003f685", "call ??2@YAPAXI@Z (FUNCTION)", "0x100406a5"], ["0x1003f68a", "mov dword ptr [ebp - 0x20], eax", "0x100406aa"], ["0x1003f68d", "add esp, 4", "0x100406ad"], ["0x1003f690", "mov byte ptr [ebp - 4], 1", "0x100406b0"], ["0x1003f694", "mov esi, eax", "0x100406b4"], ["0x1003f696", "test esi, esi", "0x100406b6"], ["0x1003f698", "je 0x1a", "0x100406b8"], ["0x1003f69a", "mov eax, dword ptr [ebp - 0x94]", "0x100406ba"], ["0x1003f6a0", "mov ecx, dword ptr [ebp - 0x90]", "0x100406c0"], ["0x1003f6a6", "push eax", "0x100406c6"], ["0x1003f6a7", "push ecx", "0x100406c7"], ["0x1003f6a8", "mov ecx, esi", "0x100406c8"], ["0x1003f6aa", "call LegoImage::LegoImage (FUNCTION)", "0x100406ca"], ["0x1003f6af", "mov dword ptr [ebp - 0x10], eax", "0x100406cf"], ["0x1003f6b2", "jmp 0x7", "0x100406d2"], ["0x1003f6b4", "mov dword ptr [ebp - 0x10], 0", "0x100406d4"], ["0x1003f6bb", "xor edx, edx", "0x100406db"], ["0x1003f6bd", "mov byte ptr [ebp - 4], dl", "0x100406dd"], ["0x1003f6c0", "cmp dword ptr [ebp - 0x10], edx", "0x100406e0"]]}, {"orig": [["0x1003f6c3", "je 0x19b"]], "recomp": [["0x100406e3", "je 0x198"]]}, {"both": [["0x1003f6c9", "mov eax, dword ptr [ebp - 0x8c]", "0x100406e9"], ["0x1003f6cf", "cmp dword ptr [ebp - 0x90], eax", "0x100406ef"], ["0x1003f6d5", "je 0x45", "0x100406f5"]]}, {"orig": [["0x1003f6d7", "mov eax, dword ptr [ebp - 0x10]"], ["0x1003f6da", "mov ebx, dword ptr [ebp - 0x78]"]], "recomp": [["0x100406f7", "mov eax, dword ptr [ebp - 0x78]"], ["0x100406fa", "mov ecx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1003f6dd", "cmp dword ptr [ebp - 0x94], edx", "0x100406fd"]]}, {"orig": [["0x1003f6e3", "mov eax, dword ptr [eax + 0x30c]"]], "recomp": [["0x10040703", "mov ebx, dword ptr [ecx + 0x30c]"]]}, {"both": [["0x1003f6e9", "jbe 0x58", "0x10040709"], ["0x1003f6eb", "mov ecx, dword ptr [ebp - 0x90]", "0x1004070b"]]}, {"orig": [["0x1003f6f1", "mov edi, ebx"], ["0x1003f6f3", "mov esi, eax"]], "recomp": [["0x10040711", "mov edi, eax"], ["0x10040713", "mov esi, ebx"]]}, {"both": [["0x1003f6f5", "inc edx", "0x10040715"], ["0x1003f6f6", "mov dword ptr [ebp - 0x20], ecx", "0x10040716"], ["0x1003f6f9", "shr ecx, 2", "0x10040719"], ["0x1003f6fc", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1004071c"], ["0x1003f6fe", "mov ecx, dword ptr [ebp - 0x20]", "0x1004071e"], ["0x1003f701", "and ecx, 3", "0x10040721"], ["0x1003f704", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x10040724"]]}, {"orig": [["0x1003f706", "add ebx, dword ptr [ebp - 0x8c]"], ["0x1003f70c", "add eax, dword ptr [ebp - 0x90]"]], "recomp": [["0x10040726", "add eax, dword ptr [ebp - 0x8c]"], ["0x1004072c", "add ebx, dword ptr [ebp - 0x90]"]]}, {"both": [["0x1003f712", "cmp dword ptr [ebp - 0x94], edx", "0x10040732"], ["0x1003f718", "ja -0x2f", "0x10040738"], ["0x1003f71a", "jmp 0x27", "0x1004073a"]]}, {"orig": [["0x1003f71c", "mov edx, dword ptr [ebp - 0x94]"], ["0x1003f722", "mov eax, dword ptr [ebp - 0x10]"], ["0x1003f725", "imul edx, dword ptr [ebp - 0x90]"], ["0x1003f72c", "mov edi, dword ptr [eax + 0x30c]"], ["0x1003f732", "mov esi, dword ptr [ebp - 0x78]"], ["0x1003f735", "mov ecx, edx"]], "recomp": [["0x1004073c", "mov eax, dword ptr [ebp - 0x94]"], ["0x10040742", "mov edi, dword ptr [ebp - 0x78]"], ["0x10040745", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10040748", "imul eax, dword ptr [ebp - 0x90]"], ["0x1004074f", "mov esi, dword ptr [ecx + 0x30c]"], ["0x10040755", "mov ecx, eax"]]}, {"both": [["0x1003f737", "shr ecx, 2", "0x10040757"], ["0x1003f73a", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1004075a"]]}, {"orig": [["0x1003f73c", "mov ecx, edx"]], "recomp": [["0x1004075c", "mov ecx, eax"]]}, {"both": [["0x1003f73e", "and ecx, 3", "0x1004075e"], ["0x1003f741", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x10040761"], ["0x1003f743", "mov eax, dword ptr [ebp - 0x78]", "0x10040763"], ["0x1003f746", "mov ecx, dword ptr [ebp - 0x14]", "0x10040766"], ["0x1003f749", "push eax", "0x10040769"], ["0x1003f74a", "mov ebx, dword ptr [ebp - 0x18]", "0x1004076a"], ["0x1003f74d", "push ecx", "0x1004076d"], ["0x1003f74e", "call dword ptr [ebx + 0x80]", "0x1004076e"], ["0x1003f754", "mov ecx, dword ptr [ebp - 0x1c]", "0x10040774"], ["0x1003f757", "lea edx, [ebp - 0x79c]", "0x10040777"], ["0x1003f75d", "push edx", "0x1004077d"], ["0x1003f75e", "push 0x100", "0x1004077e"], ["0x1003f763", "mov eax, dword ptr [ecx + 8]", "0x10040783"], ["0x1003f766", "push 0", "0x10040786"], ["0x1003f768", "mov ebx, dword ptr [eax]", "0x10040788"], ["0x1003f76a", "push 0", "0x1004078a"], ["0x1003f76c", "push eax", "0x1004078c"], ["0x1003f76d", "call dword ptr [ebx + 0x10]", "0x1004078d"], ["0x1003f770", "test eax, eax", "0x10040790"]]}, {"orig": [["0x1003f772", "jne 0xd0"]], "recomp": [["0x10040792", "jne 0xcd"]]}, {"both": [["0x1003f778", "xor edx, edx", "0x10040798"]]}, {"orig": [["0x1003f77a", "lea eax, [ebp - 0x799]"], ["0x1003f780", "lea ecx, [ebp - 0x39c]"], ["0x1003f786", "cmp byte ptr [eax], 0"]], "recomp": [["0x1004079a", "lea ecx, [ebp - 0x799]"], ["0x100407a0", "lea eax, [ebp - 0x39c]"], ["0x100407a6", "cmp byte ptr [ecx], 0"]]}, {"both": [["0x1003f789", "jne 0x22", "0x100407a9"]]}, {"orig": [["0x1003f78b", "mov bl, byte ptr [eax - 3]"], ["0x1003f78e", "add eax, 4"], ["0x1003f791", "mov byte ptr [ecx], bl"], ["0x1003f793", "add ecx, 3"], ["0x1003f796", "mov bl, byte ptr [eax - 6]"]], "recomp": [["0x100407ab", "mov bl, byte ptr [ecx - 3]"], ["0x100407ae", "add ecx, 4"], ["0x100407b1", "mov byte ptr [eax], bl"], ["0x100407b3", "add eax, 3"], ["0x100407b6", "mov bl, byte ptr [ecx - 6]"]]}, {"both": [["0x1003f799", "inc edx", "0x100407b9"], ["0x1003f79a", "lea esi, [ebp - 0x9c]", "0x100407ba"]]}, {"orig": [["0x1003f7a0", "mov byte ptr [ecx - 2], bl"], ["0x1003f7a3", "mov bl, byte ptr [eax - 5]"], ["0x1003f7a6", "cmp ecx, esi"], ["0x1003f7a8", "mov byte ptr [ecx - 1], bl"]], "recomp": [["0x100407c0", "mov byte ptr [eax - 2], bl"], ["0x100407c3", "mov bl, byte ptr [ecx - 5]"], ["0x100407c6", "cmp eax, esi"], ["0x100407c8", "mov byte ptr [eax - 1], bl"]]}, {"both": [["0x1003f7ab", "jb -0x27", "0x100407cb"]]}, {"orig": [["0x1003f7ad", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x100407cd", "mov ecx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1003f7b0", "test edx, edx", "0x100407d0"]]}, {"orig": [["0x1003f7b2", "mov dword ptr [eax + 8], edx"], ["0x1003f7b5", "jle 0x1a"]], "recomp": [["0x100407d2", "mov dword ptr [ecx + 8], edx"], ["0x100407d5", "jle 0x17"]]}, {"both": [["0x1003f7b7", "lea esi, [ebp - 0x39c]", "0x100407d7"]]}, {"orig": [["0x1003f7bd", "mov edi, dword ptr [ebp - 0x10]"], ["0x1003f7c0", "add edi, 0xc"]], "recomp": [["0x100407dd", "lea edi, [ecx + 0xc]"]]}, {"both": [["0x1003f7c3", "mov ecx, edx", "0x100407e0"], ["0x1003f7c5", "shr ecx, 2", "0x100407e2"], ["0x1003f7c8", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100407e5"], ["0x1003f7ca", "mov ecx, edx", "0x100407e7"], ["0x1003f7cc", "and ecx, 3", "0x100407e9"], ["0x1003f7cf", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100407ec"], ["0x1003f7d1", "lea ecx, [ebp - 0x14]", "0x100407ee"], ["0x1003f7d4", "mov ebx, 2", "0x100407f1"], ["0x1003f7d9", "call LegoTexture::LegoTexture (FUNCTION)", "0x100407f6"]]}, {"orig": [], "recomp": [["0x100407fb", "mov ecx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1003f7de", "sub esp, 0x10", "0x100407fe"]]}, {"orig": [], "recomp": [["0x10040801", "lea eax, [ebp - 0x30]"]]}, {"both": [["0x1003f7e1", "mov byte ptr [ebp - 4], bl", "0x10040804"]]}, {"orig": [["0x1003f7e4", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x10040807", "mov dword ptr [ebp - 0x14], ecx"]]}, {"both": [["0x1003f7e7", "mov dword ptr [ebp - 0x10], esp", "0x1004080a"]]}, {"orig": [["0x1003f7ea", "mov dword ptr [ebp - 0x14], eax"], ["0x1003f7ed", "lea eax, [ebp - 0x30]"]], "recomp": []}, {"both": [["0x1003f7f0", "push eax", "0x1004080d"], ["0x1003f7f1", "mov ecx, dword ptr [ebp - 0x10]", "0x1004080e"], ["0x1003f7f4", "call MxString::MxString (FUNCTION)", "0x10040811"], ["0x1003f7f9", "mov byte ptr [ebp - 4], 3", "0x10040816"], ["0x1003f7fd", "mov esi, dword ptr [ebp + 8]", "0x1004081a"], ["0x1003f800", "mov byte ptr [ebp - 4], bl", "0x1004081d"], ["0x1003f803", "mov ecx, esi", "0x10040820"], ["0x1003f805", "call LegoFile::WriteString (FUNCTION)", "0x10040822"], ["0x1003f80a", "push esi", "0x10040827"], ["0x1003f80b", "lea ecx, [ebp - 0x14]", "0x10040828"]]}]], ["@@ -0x1003f836,30 +0x10040853,31 @@", [{"both": [["0x1003f836", "pop ebp", "0x10040853"], ["0x1003f837", "ret ", "0x10040854"], ["0x1003f838", "mov ecx, dword ptr [ebp - 0x10]", "0x10040855"], ["0x1003f83b", "jmp MxString::~MxString (FUNCTION)", "0x10040858"], ["0x1003f840", "lea ecx, [ebp - 0x14]", "0x1004085d"], ["0x1003f843", "jmp LegoTexture::~LegoTexture (FUNCTION)", "0x10040860"], ["0x1003f848", "cmp dword ptr [ebp - 0x10], 0", "0x10040865"], ["0x1003f84c", "je -0x32", "0x10040869"], ["0x1003f84e", "mov ecx, dword ptr [ebp - 0x10]", "0x1004086b"], ["0x1003f851", "call LegoImage::~LegoImage (FUNCTION)", "0x1004086e"]]}, {"orig": [["0x1003f856", "mov eax, dword ptr [ebp - 0x10]"], ["0x1003f859", "push eax"]], "recomp": [["0x10040873", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10040876", "push ecx"]]}, {"both": [["0x1003f85a", "call ??3@YAXPAX@Z (FUNCTION)", "0x10040877"], ["0x1003f85f", "add esp, 4", "0x1004087c"], ["0x1003f862", "jmp -0x48", "0x1004087f"], ["0x1003f864", "mov eax, dword ptr [ebp - 0x78]", "0x10040881"], ["0x1003f867", "mov ecx, dword ptr [ebp - 0x14]", "0x10040884"], ["0x1003f86a", "push eax", "0x10040887"], ["0x1003f86b", "mov ebx, dword ptr [ebp - 0x18]", "0x10040888"], ["0x1003f86e", "push ecx", "0x1004088b"], ["0x1003f86f", "call dword ptr [ebx + 0x80]", "0x1004088c"], ["0x1003f875", "jmp -0x5b", "0x10040892"], ["0x1003f877", "mov eax, dword ptr [ebp - 0x20]", "0x10040894"], ["0x1003f87a", "push eax", "0x10040897"], ["0x1003f87b", "call ??3@YAXPAX@Z (FUNCTION)", "0x10040898"], ["0x1003f880", "add esp, 4", "0x1004089d"], ["0x1003f883", "ret ", "0x100408a0"], ["0x1003f884", "mov eax, <OFFSET16>", "0x100408a1"], ["0x1003f889", "jmp ___CxxFrameHandler (FUNCTION)", "0x100408a6"], ["0x1003f88e", "lea ecx, [ebp - 0x30]", "0x100408ab"]]}, {"orig": [], "recomp": [["0x100408ae", "jmp MxString::~MxString (FUNCTION)"]]}]]]}, {"address": "0x1003f8a0", "recomp": "0x100408c0", "name": "WriteNamedTexture", "matching": 1.0, "diff": []}, {"address": "0x1003f920", "recomp": "0x10040940", "name": "LegoNamedTexture::GetName", "matching": 1.0, "diff": []}, {"address": "0x1003f930", "recomp": "0x10040950", "name": "FUN_1003f930", "matching": 1.0, "diff": []}, {"address": "0x1003fa50", "recomp": "0x10040a70", "name": "Act3Actor::Act3Actor", "matching": 1.0, "diff": []}, {"address": "0x1003fb70", "recomp": "0x10040b90", "name": "Act3Actor::VTable0x90", "matching": 0.953757225433526, "diff": [["@@ -0x1003fb9f,22 +0x10040bbf,22 @@", [{"both": [["0x1003fb9f", "pop ebx", "0x10040bbf"], ["0x1003fba0", "add esp, 0x68", "0x10040bc0"], ["0x1003fba3", "ret 8", "0x10040bc3"], ["0x1003fba6", "mov eax, 1", "0x10040bc6"], ["0x1003fbab", "pop ebp", "0x10040bcb"], ["0x1003fbac", "pop edi", "0x10040bcc"], ["0x1003fbad", "pop esi", "0x10040bcd"], ["0x1003fbae", "pop ebx", "0x10040bce"], ["0x1003fbaf", "add esp, 0x68", "0x10040bcf"], ["0x1003fbb2", "ret 8", "0x10040bd2"]]}, {"orig": [["0x1003fbb5", "fld dword ptr [2000.0 (FLOAT)]"], ["0x1003fbbb", "fadd dword ptr [esp + 0x7c]"]], "recomp": [["0x10040bd5", "fld dword ptr [esp + 0x7c]"], ["0x10040bd9", "fadd dword ptr [2000.0 (FLOAT)]"]]}, {"both": [["0x1003fbbf", "fstp dword ptr [ebx - 8]", "0x10040bdf"], ["0x1003fbc2", "fld dword ptr [esp + 0x7c]", "0x10040be2"], ["0x1003fbc6", "mov eax, dword ptr [ecx]", "0x10040be6"], ["0x1003fbc8", "mov dword ptr [eax + ebx + 0xbc], 3", "0x10040be8"], ["0x1003fbd3", "mov ecx, dword ptr [ebx - 0x20]", "0x10040bf3"], ["0x1003fbd6", "mov eax, dword ptr [ecx + 4]", "0x10040bf6"], ["0x1003fbd9", "add eax, ebx", "0x10040bf9"], ["0x1003fbdb", "fsub dword ptr [eax + 0x64]", "0x10040bfb"], ["0x1003fbde", "fmul dword ptr [eax + 0x30]", "0x10040bfe"], ["0x1003fbe1", "fadd dword ptr [eax + 0x60]", "0x10040c01"]]}]], ["@@ -0x1003fc5d,41 +0x10040c7d,41 @@", [{"both": [["0x1003fc5d", "fld qword ptr [0.6000000238418579 (FLOAT)]", "0x10040c7d"], ["0x1003fc63", "fsin ", "0x10040c83"], ["0x1003fc65", "xor edx, edx", "0x10040c85"], ["0x1003fc67", "mov eax, dword ptr [esp + 0x14]", "0x10040c87"], ["0x1003fc6b", "mov dword ptr [eax], edx", "0x10040c8b"], ["0x1003fc6d", "mov dword ptr [eax + 4], edx", "0x10040c8d"], ["0x1003fc70", "lea edi, [esp + 0x38]", "0x10040c90"], ["0x1003fc74", "mov dword ptr [eax + 8], edx", "0x10040c94"], ["0x1003fc77", "mov ecx, 0x10", "0x10040c97"], ["0x1003fc7c", "mov esi, dword ptr [ebp + 4]", "0x10040c9c"]]}, {"orig": [["0x1003fc7f", "fstp dword ptr [esp + 0x1c]"]], "recomp": [["0x10040c9f", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x1003fc83", "fld qword ptr [0.6000000238418579 (FLOAT)]", "0x10040ca3"], ["0x1003fc89", "fcos ", "0x10040ca9"]]}, {"orig": [["0x1003fc8b", "fstp dword ptr [esp + 0x18]"]], "recomp": [["0x10040cab", "fstp dword ptr [esp + 0x1c]"]]}, {"both": [["0x1003fc8f", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10040caf"], ["0x1003fc91", "jmp 0x4", "0x10040cb1"], ["0x1003fc93", "fstp dword ptr [esi + edx - 8]", "0x10040cb3"], ["0x1003fc97", "lea ecx, [esp + edx + 0x3c]", "0x10040cb7"], ["0x1003fc9b", "lea eax, [esp + edx + 0x40]", "0x10040cbb"], ["0x1003fc9f", "mov esi, dword ptr [ebp + 4]", "0x10040cbf"], ["0x1003fca2", "add edx, 0x10", "0x10040cc2"], ["0x1003fca5", "fld dword ptr [ecx]", "0x10040cc5"]]}, {"orig": [], "recomp": [["0x10040cc7", "fmul dword ptr [esp + 0x1c]"], ["0x10040ccb", "fld dword ptr [eax]"]]}, {"both": [["0x1003fca7", "fmul dword ptr [esp + 0x18]", "0x10040ccd"]]}, {"orig": [["0x1003fcab", "fld dword ptr [eax]"], ["0x1003fcad", "fmul dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x1003fcb1", "cmp edx, 0x40", "0x10040cd1"], ["0x1003fcb4", "fsubp st(1)", "0x10040cd4"], ["0x1003fcb6", "fstp dword ptr [esi + edx - 0xc]", "0x10040cd6"]]}, {"orig": [], "recomp": [["0x10040cda", "fld dword ptr [ecx]"], ["0x10040cdc", "fmul dword ptr [esp + 0x18]"]]}, {"both": [["0x1003fcba", "fld dword ptr [eax]", "0x10040ce0"]]}, {"orig": [["0x1003fcbc", "fmul dword ptr [esp + 0x18]"], ["0x1003fcc0", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x1003fcc2", "fmul dword ptr [esp + 0x1c]", "0x10040ce2"], ["0x1003fcc6", "mov esi, dword ptr [ebp + 4]", "0x10040ce6"], ["0x1003fcc9", "faddp st(1)", "0x10040ce9"], ["0x1003fccb", "jl -0x3a", "0x10040ceb"], ["0x1003fccd", "fstp dword ptr [esi + edx - 8]", "0x10040ced"], ["0x1003fcd1", "mov eax, dword ptr [esp + 0x24]", "0x10040cf1"], ["0x1003fcd5", "lea ecx, [esp + 0x10]", "0x10040cf5"], ["0x1003fcd9", "mov esi, dword ptr [esp + 0x10]", "0x10040cf9"], ["0x1003fcdd", "push eax", "0x10040cfd"], ["0x1003fcde", "call dword ptr [esi + 0x20]", "0x10040cfe"]]}]]]}, {"address": "0x1003fd90", "recomp": "0x10040db0", "name": "Act3Actor::HitActor", "matching": 1.0, "effective": true, "diff": [["@@ -0x1003fda2,22 +0x10040dc2,22 @@", [{"both": [["0x1003fda2", "jne 0x7d", "0x10040dc2"], ["0x1003fda4", "cmp byte ptr [esp + 0x60], 0", "0x10040dc4"], ["0x1003fda9", "je 0x76", "0x10040dc9"], ["0x1003fdab", "cmp dword ptr [esi + 0xdc], 0", "0x10040dcb"], ["0x1003fdb2", "je 0xd", "0x10040dd2"], ["0x1003fdb4", "mov eax, 0xffffffff", "0x10040dd4"], ["0x1003fdb9", "pop edi", "0x10040dd9"], ["0x1003fdba", "pop esi", "0x10040dda"], ["0x1003fdbb", "add esp, 0x50", "0x10040ddb"], ["0x1003fdbe", "ret 8", "0x10040dde"]]}, {"orig": [], "recomp": [["0x10040de1", "mov edi, dword ptr [esi + 0x54]"]]}, {"both": [["0x1003fdc1", "lea eax, [esp + 0x18]", "0x10040de4"]]}, {"orig": [["0x1003fdc5", "mov edi, dword ptr [esi + 0x54]"]], "recomp": []}, {"both": [["0x1003fdc8", "mov dword ptr [esp + 0x10], MxMatrix::`vftable' (VTABLE)", "0x10040de8"], ["0x1003fdd0", "lea ecx, [edi + 0x10]", "0x10040df0"], ["0x1003fdd3", "mov dword ptr [esp + 0x14], eax", "0x10040df3"], ["0x1003fdd7", "push ecx", "0x10040df7"], ["0x1003fdd8", "lea ecx, [esp + 0x14]", "0x10040df8"], ["0x1003fddc", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x10040dfc"], ["0x1003fde2", "mov eax, dword ptr [esp + 0x14]", "0x10040e02"], ["0x1003fde6", "push Act3Actor::g_unk0x10104ef0 (DATA)", "0x10040e06"], ["0x1003fdeb", "add eax, 0x30", "0x10040e0b"], ["0x1003fdee", "lea ecx, [esp + 0xc]", "0x10040e0e"]]}]]]}, {"address": "0x1003fe30", "recomp": "0x10040e50", "name": "Act3Cop::Act3Cop", "matching": 1.0, "diff": []}, {"address": "0x1003ff10", "recomp": "0x10040f30", "name": "Act3Actor::`vbase destructor'", "matching": 1.0, "diff": []}, {"address": "0x1003ff70", "recomp": "0x10040f90", "name": "Act3Cop::HitActor", "matching": 1.0, "diff": []}, {"address": "0x10040060", "recomp": "0x10041080", "name": "Act3Cop::ParseAction", "matching": 0.9924812030075187, "diff": [["@@ -0x10040185,21 +0x100411a5,21 @@", [{"both": [["0x10040185", "fld dword ptr [eax + 8]", "0x100411a5"], ["0x10040188", "fmul dword ptr [ecx + 8]", "0x100411a8"], ["0x1004018b", "fld dword ptr [eax]", "0x100411ab"], ["0x1004018d", "fmul dword ptr [ecx]", "0x100411ad"], ["0x1004018f", "faddp st(1)", "0x100411af"], ["0x10040191", "fadd dword ptr [ecx + 0xc]", "0x100411b1"], ["0x10040194", "fdiv dword ptr [ecx + 4]", "0x100411b4"], ["0x10040197", "fchs ", "0x100411b7"], ["0x10040199", "fstp dword ptr [esi + 8]", "0x100411b9"], ["0x1004019c", "add esi, 0x20", "0x100411bc"]]}, {"orig": [["0x1004019f", "cmp esi, 0x100f41c4"]], "recomp": [["0x100411bf", "cmp esi, 0x100f146c"]]}, {"both": [["0x100401a5", "jb -0xff", "0x100411c5"], ["0x100401ab", "fld dword ptr [-1.0 (FLOAT)]", "0x100411cb"], ["0x100401b1", "xor edi, edi", "0x100411d1"], ["0x100401b3", "mov edx, dword ptr [esp + 0x10]", "0x100411d3"], ["0x100401b7", "mov esi, dword ptr [edx - 0x28]", "0x100411d7"], ["0x100401ba", "test esi, esi", "0x100411da"], ["0x100401bc", "jne 0xc", "0x100411dc"], ["0x100401be", "fstp st(0)", "0x100411de"], ["0x100401c0", "pop ebp", "0x100411e0"], ["0x100401c1", "pop edi", "0x100411e1"]]}]]]}, {"address": "0x100401f0", "recomp": "0x10041210", "name": "Act3Cop::Animate", "matching": 0.9537037037037037, "diff": [["@@ -0x1004028c,29 +0x100412ac,29 @@", [{"both": [["0x1004028c", "mov dword ptr [edx + 8], ecx", "0x100412ac"], ["0x1004028f", "mov edx, dword ptr [esi - 0x30]", "0x100412af"], ["0x10040292", "mov eax, dword ptr [edx + 4]", "0x100412b2"], ["0x10040295", "mov ecx, dword ptr [eax + esi + 0x24]", "0x100412b5"], ["0x10040299", "mov eax, dword ptr [ecx + 0x14]", "0x100412b9"], ["0x1004029c", "lea ecx, [esp + 8]", "0x100412bc"], ["0x100402a0", "add eax, 0x30", "0x100412c0"], ["0x100402a3", "push eax", "0x100412c3"], ["0x100402a4", "mov eax, dword ptr [esp + 0xc]", "0x100412c4"], ["0x100402a8", "call dword ptr [eax + 0x58]", "0x100412c8"]]}, {"orig": [], "recomp": [["0x100412cb", "mov edx, dword ptr [esp + 0xc]"]]}, {"both": [["0x100402ab", "mov ecx, dword ptr [esp + 0xc]", "0x100412cf"]]}, {"orig": [], "recomp": [["0x100412d3", "add edx, 8"], ["0x100412d6", "add ecx, 4"]]}, {"both": [["0x100402af", "mov eax, dword ptr [esp + 0xc]", "0x100412d9"]]}, {"orig": [["0x100402b3", "add ecx, 4"], ["0x100402b6", "add eax, 8"], ["0x100402b9", "fld dword ptr [ecx]"], ["0x100402bb", "fmul dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100402bd", "fld dword ptr [eax]", "0x100412dd"], ["0x100402bf", "fmul dword ptr [eax]", "0x100412df"]]}, {"orig": [["0x100402c1", "mov ecx, dword ptr [esp + 0xc]"]], "recomp": [["0x100412e1", "fld dword ptr [edx]"], ["0x100412e3", "fmul dword ptr [edx]"]]}, {"both": [["0x100402c5", "faddp st(1)", "0x100412e5"], ["0x100402c7", "fld dword ptr [ecx]", "0x100412e7"], ["0x100402c9", "fmul dword ptr [ecx]", "0x100412e9"], ["0x100402cb", "faddp st(1)", "0x100412eb"], ["0x100402cd", "fcom dword ptr [4.0 (FLOAT)]", "0x100412ed"], ["0x100402d3", "fstp dword ptr [esp + 0x1c]", "0x100412f3"], ["0x100402d7", "fnstsw ax", "0x100412f7"], ["0x100402d9", "test ah, 1", "0x100412f9"], ["0x100402dc", "je 0x1e", "0x100412fc"], ["0x100402de", "mov eax, dword ptr [edi + 4]", "0x100412fe"]]}]]]}, {"address": "0x10040350", "recomp": "0x10041370", "name": "Act3Cop::FUN_10040350", "matching": 1.0, "diff": []}, {"address": "0x10040360", "recomp": "0x10041380", "name": "Act3Cop::FUN_10040360", "matching": 0.87003367003367, "diff": [["@@ -0x10040360,218 +0x10041380,223 @@", [{"both": [["0x10040360", "mov eax, dword ptr fs:[0]", "0x10041380"], ["0x10040366", "push ebp", "0x10041386"], ["0x10040367", "mov ebp, esp", "0x10041387"], ["0x10040369", "push -1", "0x10041389"], ["0x1004036b", "push <OFFSET1>", "0x1004138b"], ["0x10040370", "push eax", "0x10041390"], ["0x10040371", "mov dword ptr fs:[0], esp", "0x10041391"], ["0x10040378", "sub esp, 0x128", "0x10041398"]]}, {"orig": [["0x1004037e", "mov dword ptr [ebp - 0x34], 0"]], "recomp": [["0x1004139e", "mov eax, dword ptr [ecx + 0x24]"], ["0x100413a1", "mov dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x10040385", "push ebx", "0x100413a4"]]}, {"orig": [["0x10040386", "mov eax, dword ptr [ecx + 0x24]"]], "recomp": [["0x100413a5", "mov edx, dword ptr [ecx + 4]"]]}, {"both": [["0x10040389", "push esi", "0x100413a8"]]}, {"orig": [["0x1004038a", "mov dword ptr [ebp - 0x10], ecx"]], "recomp": [["0x100413a9", "xor ebx, ebx"]]}, {"both": [["0x1004038d", "push edi", "0x100413ab"]]}, {"orig": [], "recomp": [["0x100413ac", "mov dword ptr [ebp - 0x34], ebx"]]}, {"both": [["0x1004038e", "mov dword ptr [ebp - 0x1c], eax", "0x100413af"]]}, {"orig": [["0x10040391", "mov edx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x10040394", "lea eax, [ebp - 0xe4]", "0x100413b2"]]}, {"orig": [], "recomp": [["0x100413b8", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x1004039a", "mov edi, eax", "0x100413bb"]]}, {"orig": [["0x1004039c", "mov ebx, dword ptr [edx + 4]"]], "recomp": [["0x100413bd", "mov edx, dword ptr [ebp - 0x10]"], ["0x100413c0", "mov dword ptr [ebp - 0xe8], eax"]]}, {"both": [["0x1004039f", "mov dword ptr [ebp - 0xec], MxMatrix::`vftable' (VTABLE)", "0x100413c6"]]}, {"orig": [["0x100403a9", "mov dword ptr [ebp - 0xe8], eax"], ["0x100403af", "mov esi, dword ptr [ebx + ecx + 0xf4]"]], "recomp": [["0x100413d0", "mov esi, dword ptr [ecx + edx + 0xf4]"]]}, {"both": [["0x100403b6", "mov ecx, 0x10", "0x100413d7"], ["0x100403bb", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100413dc"]]}, {"orig": [], "recomp": [["0x100413de", "mov dword ptr [ebp - 0x60], Vector3::`vftable' (VTABLE)"], ["0x100413e5", "mov dword ptr [ebp - 0x80], Vector3::`vftable' (VTABLE)"]]}, {"both": [["0x100403bd", "mov eax, dword ptr [ebp - 0xe8]", "0x100413ec"]]}, {"orig": [["0x100403c3", "mov edi, Vector3::`vftable' (VTABLE)"]], "recomp": [["0x100413f2", "lea ecx, [ebp - 0x70]"]]}, {"both": [["0x100403c8", "add eax, 0x30", "0x100413f5"]]}, {"orig": [["0x100403cb", "mov dword ptr [ebp - 0x60], edi"], ["0x100403ce", "lea ecx, [ebp - 0x70]"]], "recomp": [["0x100413f8", "mov dword ptr [ebp - 0x74], ecx"], ["0x100413fb", "mov dword ptr [ebp - 0x78], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100403d1", "mov dword ptr [ebp - 0x5c], eax", "0x10041402"], ["0x100403d4", "mov eax, dword ptr [ebp - 0xe8]", "0x10041405"]]}, {"orig": [["0x100403da", "mov dword ptr [ebp - 0x80], edi"]], "recomp": []}, {"both": [["0x100403dd", "add eax, 0x20", "0x1004140b"]]}, {"orig": [["0x100403e0", "mov dword ptr [ebp - 0x74], ecx"], ["0x100403e3", "mov dword ptr [ebp - 0x78], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x100403ea", "mov edx, dword ptr [ebp - 0x1c]", "0x1004140e"], ["0x100403ed", "mov dword ptr [ebp - 0x7c], eax", "0x10041411"], ["0x100403f0", "mov ecx, dword ptr [edx + 0x4208]", "0x10041414"], ["0x100403f6", "mov eax, dword ptr [ecx + 4]", "0x1004141a"], ["0x100403f9", "mov edx, dword ptr [eax + 4]", "0x1004141d"], ["0x100403fc", "mov ecx, dword ptr [edx + ecx + 0x58]", "0x10041420"], ["0x10040400", "mov eax, dword ptr [ecx + 0x14]", "0x10041424"], ["0x10040403", "lea ecx, [ebp - 0x18]", "0x10041427"], ["0x10040406", "add eax, 0x30", "0x1004142a"], ["0x10040409", "push ecx", "0x1004142d"], ["0x1004040a", "lea ecx, [ebp - 0x78]", "0x1004142e"], ["0x1004040d", "mov dword ptr [ebp - 0x14], eax", "0x10041431"]]}, {"orig": [["0x10040410", "mov dword ptr [ebp - 0x18], edi"]], "recomp": [["0x10041434", "mov dword ptr [ebp - 0x18], Vector3::`vftable' (VTABLE)"]]}, {"both": [["0x10040413", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x1004143b"], ["0x10040419", "lea ecx, [ebp - 0x60]", "0x10041441"]]}, {"orig": [["0x1004041c", "mov ebx, dword ptr [ebp - 0x78]"]], "recomp": [["0x10041444", "mov esi, dword ptr [ebp - 0x78]"]]}, {"both": [["0x1004041f", "push ecx", "0x10041447"], ["0x10040420", "lea ecx, [ebp - 0x78]", "0x10041448"]]}, {"orig": [["0x10040423", "call dword ptr [ebx + 0x54]"], ["0x10040426", "mov edx, dword ptr [ebp - 0x74]"]], "recomp": [["0x1004144b", "call dword ptr [esi + 0x54]"]]}, {"both": [["0x10040429", "mov ecx, dword ptr [ebp - 0x74]", "0x1004144e"]]}, {"orig": [["0x1004042c", "add edx, 4"], ["0x1004042f", "add ecx, 8"]], "recomp": []}, {"both": [["0x10040432", "mov eax, dword ptr [ebp - 0x74]", "0x10041451"]]}, {"orig": [], "recomp": [["0x10041454", "add ecx, 4"], ["0x10041457", "add eax, 8"], ["0x1004145a", "fld dword ptr [ecx]"], ["0x1004145c", "fmul dword ptr [ecx]"]]}, {"both": [["0x10040435", "fld dword ptr [eax]", "0x1004145e"], ["0x10040437", "fmul dword ptr [eax]", "0x10041460"]]}, {"orig": [["0x10040439", "fld dword ptr [edx]"], ["0x1004043b", "fmul dword ptr [edx]"]], "recomp": [["0x10041462", "mov ecx, dword ptr [ebp - 0x74]"]]}, {"both": [["0x1004043d", "faddp st(1)", "0x10041465"], ["0x1004043f", "fld dword ptr [ecx]", "0x10041467"], ["0x10040441", "fmul dword ptr [ecx]", "0x10041469"], ["0x10040443", "faddp st(1)", "0x1004146b"], ["0x10040445", "fcomp dword ptr [144.0 (FLOAT)]", "0x1004146d"], ["0x1004044b", "fnstsw ax", "0x10041473"], ["0x1004044d", "test ah, 1", "0x10041475"]]}, {"orig": [["0x10040450", "je 0x163"]], "recomp": [["0x10041478", "je 0x166"]]}, {"both": [["0x10040456", "mov eax, dword ptr [ebp - 0x1c]", "0x1004147e"], ["0x10040459", "mov ecx, dword ptr [eax + 0x4208]", "0x10041481"], ["0x1004045f", "mov edx, dword ptr [ecx + 4]", "0x10041487"], ["0x10040462", "mov eax, dword ptr [edx + 4]", "0x1004148a"], ["0x10040465", "mov ecx, dword ptr [eax + ecx + 0x58]", "0x1004148d"], ["0x10040469", "mov eax, dword ptr [ecx + 0x14]", "0x10041491"], ["0x1004046c", "lea ecx, [ebp - 0x18]", "0x10041494"], ["0x1004046f", "add eax, 0x30", "0x10041497"], ["0x10040472", "push ecx", "0x1004149a"], ["0x10040473", "lea ecx, [ebp - 0x78]", "0x1004149b"]]}, {"orig": [["0x10040476", "mov ebx, dword ptr [ebp - 0x78]"]], "recomp": [["0x1004149e", "mov esi, dword ptr [ebp - 0x78]"]]}, {"both": [["0x10040479", "mov dword ptr [ebp - 0x14], eax", "0x100414a1"]]}, {"orig": [["0x1004047c", "mov dword ptr [ebp - 0x18], edi"], ["0x1004047f", "call dword ptr [ebx + 0x88]"]], "recomp": [["0x100414a4", "mov dword ptr [ebp - 0x18], Vector3::`vftable' (VTABLE)"], ["0x100414ab", "call dword ptr [esi + 0x88]"]]}, {"both": [["0x10040485", "mov edx, dword ptr [ebp - 0x1c]", "0x100414b1"], ["0x10040488", "mov ecx, dword ptr [edx + 0x4208]", "0x100414b4"], ["0x1004048e", "mov eax, dword ptr [ecx + 4]", "0x100414ba"], ["0x10040491", "mov edx, dword ptr [eax + 4]", "0x100414bd"], ["0x10040494", "lea eax, [ebp - 0x50]", "0x100414c0"]]}, {"orig": [["0x10040497", "mov ebx, dword ptr [edx + ecx + 0x58]"]], "recomp": [["0x100414c3", "mov esi, dword ptr [edx + ecx + 0x58]"]]}, {"both": [["0x1004049b", "mov edx, eax", "0x100414c7"]]}, {"orig": [["0x1004049d", "mov ecx, dword ptr [ebx + 0x14]"]], "recomp": [["0x100414c9", "mov ecx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100404a0", "add ecx, 0x20", "0x100414cc"], ["0x100404a3", "mov dword ptr [ebp - 0x54], eax", "0x100414cf"], ["0x100404a6", "mov dword ptr [ebp - 0x58], Mx3DPointFloat::`vftable' (VTABLE)", "0x100414d2"], ["0x100404ad", "mov eax, dword ptr [ecx]", "0x100414d9"], ["0x100404af", "mov dword ptr [edx], eax", "0x100414db"]]}, {"orig": [["0x100404b1", "mov ebx, dword ptr [ecx + 4]"], ["0x100404b4", "mov dword ptr [edx + 4], ebx"]], "recomp": [["0x100414dd", "mov esi, dword ptr [ecx + 4]"], ["0x100414e0", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x100404b7", "mov ecx, dword ptr [ecx + 8]", "0x100414e3"], ["0x100404ba", "push 0x3c", "0x100414e6"], ["0x100404bc", "mov dword ptr [edx + 8], ecx", "0x100414e8"], ["0x100404bf", "mov eax, dword ptr [ebp - 0x1c]", "0x100414eb"], ["0x100404c2", "mov ecx, dword ptr [eax + 0x4208]", "0x100414ee"]]}, {"orig": [["0x100404c8", "mov ebx, dword ptr [ecx + 4]"], ["0x100404cb", "mov eax, dword ptr [ebx + 4]"], ["0x100404ce", "mov ebx, dword ptr [eax + ecx + 0x8c]"]], "recomp": [["0x100414f4", "mov esi, dword ptr [ecx + 4]"], ["0x100414f7", "mov eax, dword ptr [esi + 4]"], ["0x100414fa", "mov esi, dword ptr [eax + ecx + 0x8c]"]]}, {"both": [["0x100404d5", "call ??2@YAPAXI@Z (FUNCTION)", "0x10041501"], ["0x100404da", "mov dword ptr [ebp - 0x24], eax", "0x10041506"], ["0x100404dd", "add esp, 4", "0x10041509"]]}, {"orig": [["0x100404e0", "mov dword ptr [ebp - 4], 0"], ["0x100404e7", "mov esi, eax"], ["0x100404e9", "test esi, esi"], ["0x100404eb", "je 0x59"], ["0x100404ed", "lea eax, [ebp - 0x11]"], ["0x100404f0", "mov ecx, esi"], ["0x100404f2", "push eax"], ["0x100404f3", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)"], ["0x100404f8", "lea eax, [esi + 0x14]"], ["0x100404fb", "lea ecx, [esi + 0xc]"]], "recomp": [["0x1004150c", "mov edi, eax"], ["0x1004150e", "mov dword ptr [ebp - 4], ebx"], ["0x10041511", "test edi, edi"], ["0x10041513", "je 0x5c"], ["0x10041515", "mov al, byte ptr [ebp - 0x11]"], ["0x10041518", "push ebx"], ["0x10041519", "push ebx"], ["0x1004151a", "mov ecx, edi"], ["0x1004151c", "mov byte ptr [edi], al"], ["0x1004151e", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::_Buynode (FUNCTION)"], ["0x10041523", "lea ecx, [edi + 0xc]"], ["0x10041526", "mov dword ptr [edi + 4], eax"], ["0x10041529", "lea eax, [edi + 0x14]"], ["0x1004152c", "mov dword ptr [edi + 8], ebx"]]}, {"both": [["0x100404fe", "mov byte ptr [ebp - 4], 2", "0x1004152f"], ["0x10040502", "push eax", "0x10041533"], ["0x10040503", "call Vector2::Vector2 (FUNCTION)", "0x10041534"]]}, {"orig": [["0x10040508", "mov dword ptr [esi + 0xc], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1004050f", "lea ecx, [esi + 0x28]"]], "recomp": [["0x10041539", "mov dword ptr [edi + 0xc], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10041540", "lea ecx, [edi + 0x28]"]]}, {"both": [["0x10040512", "push ecx", "0x10041543"]]}, {"orig": [["0x10040513", "lea ecx, [esi + 0x20]"]], "recomp": [["0x10041544", "lea ecx, [edi + 0x20]"]]}, {"both": [["0x10040516", "call Vector2::Vector2 (FUNCTION)", "0x10041547"]]}, {"orig": [["0x1004051b", "mov dword ptr [esi + 0x20], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10040522", "mov dword ptr [esi + 0x34], 0"], ["0x10040529", "mov byte ptr [esi + 0x38], 0"], ["0x1004052d", "mov byte ptr [ebp - 4], 0"], ["0x10040531", "mov dword ptr [ebp - 0x14], esi"]], "recomp": [["0x1004154c", "mov dword ptr [edi + 0x20], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10041553", "mov dword ptr [edi + 0x34], ebx"], ["0x10041556", "mov byte ptr [ebp - 4], bl"], ["0x10041559", "mov byte ptr [edi + 0x38], bl"], ["0x1004155c", "mov dword ptr [ebp - 0x14], edi"]]}, {"both": [["0x10040534", "jmp 0x17", "0x1004155f"], ["0x10040536", "mov ecx, dword ptr [ebp - 0x24]", "0x10041561"], ["0x10040539", "jmp list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::~list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x10041564"], ["0x1004053e", "mov ecx, dword ptr [ebp - 0x24]", "0x10041569"], ["0x10040541", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x1004156c"], ["0x10040546", "mov dword ptr [ebp - 0x14], 0", "0x10041571"]]}, {"orig": [["0x1004054d", "mov edi, 0xffffffff"]], "recomp": [["0x10041578", "mov ebx, 0xffffffff"]]}, {"both": [["0x10040552", "mov ecx, dword ptr [ebp - 0x10]", "0x1004157d"]]}, {"orig": [], "recomp": [["0x10041580", "mov dword ptr [ebp - 4], ebx"]]}, {"both": [["0x10040555", "mov eax, dword ptr [ebp - 0x14]", "0x10041583"]]}, {"orig": [], "recomp": [["0x10041586", "mov edx, dword ptr [ecx + 4]"]]}, {"both": [["0x10040558", "mov dword ptr [ebp - 0x34], eax", "0x10041589"]]}, {"orig": [["0x1004055b", "mov edx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x1004055e", "lea eax, [ebp - 0x58]", "0x1004158c"]]}, {"orig": [["0x10040561", "mov dword ptr [ebp - 4], edi"]], "recomp": []}, {"both": [["0x10040564", "mov ecx, dword ptr [edx + 4]", "0x1004158f"], ["0x10040567", "lea edx, [ebp - 0x2c]", "0x10041592"], ["0x1004056a", "add ecx, dword ptr [ebp - 0x10]", "0x10041595"], ["0x1004056d", "push edx", "0x10041598"], ["0x1004056e", "push 1", "0x10041599"]]}, {"orig": [["0x10040570", "push ebx"]], "recomp": [["0x1004159b", "push esi"]]}, {"both": [["0x10040571", "push eax", "0x1004159c"]]}, {"orig": [["0x10040572", "lea ebx, [ebp - 0x78]"], ["0x10040575", "push ebx"]], "recomp": [["0x1004159d", "lea esi, [ebp - 0x78]"], ["0x100415a0", "push esi"]]}, {"both": [["0x10040576", "mov edx, dword ptr [ecx + 0x8c]", "0x100415a1"], ["0x1004057c", "push edx", "0x100415a7"], ["0x1004057d", "lea eax, [ebp - 0x80]", "0x100415a8"], ["0x10040580", "push eax", "0x100415ab"]]}, {"orig": [["0x10040581", "lea ebx, [ebp - 0x60]"], ["0x10040584", "push ebx"]], "recomp": [["0x100415ac", "lea esi, [ebp - 0x60]"], ["0x100415af", "push esi"]]}, {"both": [["0x10040585", "mov edx, dword ptr [ebp - 0x14]", "0x100415b0"], ["0x10040588", "push edx", "0x100415b3"], ["0x10040589", "mov ecx, dword ptr [ecx + 0x13c]", "0x100415b4"], ["0x1004058f", "call LegoPathController::FUN_10048310 (FUNCTION)", "0x100415ba"], ["0x10040594", "test eax, eax", "0x100415bf"], ["0x10040596", "je 0x21", "0x100415c1"], ["0x10040598", "cmp dword ptr [ebp - 0x14], 0", "0x100415c3"], ["0x1004059c", "je 0x14", "0x100415c7"]]}, {"orig": [["0x1004059e", "mov dword ptr [ebp - 4], edi"]], "recomp": [["0x100415c9", "mov dword ptr [ebp - 4], ebx"]]}, {"both": [["0x100405a1", "call <OFFSET11>", "0x100415cc"], ["0x100405a6", "mov eax, dword ptr [ebp - 0x14]", "0x100415d1"], ["0x100405a9", "push eax", "0x100415d4"], ["0x100405aa", "call ??3@YAXPAX@Z (FUNCTION)", "0x100415d5"], ["0x100405af", "add esp, 4", "0x100415da"], ["0x100405b2", "mov dword ptr [ebp - 0x34], 0", "0x100415dd"], ["0x100405b9", "cmp dword ptr [ebp - 0x34], 0", "0x100415e4"]]}, {"orig": [["0x100405bd", "jne 0x369"]], "recomp": [["0x100415e8", "jne 0x376"]]}, {"both": [["0x100405c3", "mov dword ptr [ebp - 0x48], 0", "0x100415ee"], ["0x100405ca", "mov eax, dword ptr [ebp - 0x1c]", "0x100415f5"], ["0x100405cd", "add eax, 0x217c", "0x100415f8"], ["0x100405d2", "mov dword ptr [ebp - 0x24], eax", "0x100415fd"], ["0x100405d5", "mov eax, dword ptr [ebp - 0x24]", "0x10041600"], ["0x100405d8", "test byte ptr [eax + 0x154], 4", "0x10041603"]]}, {"orig": [["0x100405df", "je 0x1d5"]], "recomp": [["0x1004160a", "je 0x1d8"]]}, {"both": [["0x100405e5", "cmp dword ptr [eax + 0xdc], 0", "0x10041610"]]}, {"orig": [["0x100405ec", "jne 0x1c8"]], "recomp": [["0x10041617", "jne 0x1cb"]]}, {"both": [["0x100405f2", "mov ecx, dword ptr [eax + 0x54]", "0x1004161d"], ["0x100405f5", "lea edx, [ebp - 0x12c]", "0x10041620"], ["0x100405fb", "mov edi, edx", "0x10041626"], ["0x100405fd", "mov dword ptr [ebp - 0x130], edx", "0x10041628"], ["0x10040603", "mov dword ptr [ebp - 0x134], MxMatrix::`vftable' (VTABLE)", "0x1004162e"], ["0x1004060d", "mov esi, dword ptr [ecx + 0x14]", "0x10041638"], ["0x10040610", "lea edx, [ebp - 0x9c]", "0x1004163b"], ["0x10040616", "mov ecx, 0x10", "0x10041641"], ["0x1004061b", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10041646"], ["0x1004061d", "mov eax, dword ptr [ebp - 0x130]", "0x10041648"], ["0x10040623", "lea ecx, [ebp - 0x9c]", "0x1004164e"]]}, {"orig": [], "recomp": [["0x10041654", "mov dword ptr [ebp - 0x88], Vector3::`vftable' (VTABLE)"]]}, {"both": [["0x10040629", "add eax, 0x30", "0x1004165e"]]}, {"orig": [], "recomp": [["0x10041661", "mov dword ptr [ebp - 0x84], eax"]]}, {"both": [["0x1004062c", "mov dword ptr [ebp - 0xa0], ecx", "0x10041667"], ["0x10040632", "mov ecx, eax", "0x1004166d"]]}, {"orig": [["0x10040634", "mov dword ptr [ebp - 0x84], eax"], ["0x1004063a", "mov dword ptr [ebp - 0x88], Vector3::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10040644", "mov dword ptr [ebp - 0xa4], Mx3DPointFloat::`vftable' (VTABLE)", "0x1004166f"], ["0x1004064e", "mov eax, dword ptr [ecx]", "0x10041679"], ["0x10040650", "mov dword ptr [edx], eax", "0x1004167b"]]}, {"orig": [["0x10040652", "lea eax, [ebp - 0x60]"]], "recomp": [["0x1004167d", "lea eax, [ebp - 0x88]"]]}, {"both": [["0x10040655", "mov ebx, dword ptr [ecx + 4]", "0x10041683"], ["0x10040658", "push eax", "0x10041686"], ["0x10040659", "mov dword ptr [edx + 4], ebx", "0x10041687"], ["0x1004065c", "mov ecx, dword ptr [ecx + 8]", "0x1004168a"], ["0x1004065f", "mov dword ptr [edx + 8], ecx", "0x1004168d"], ["0x10040662", "lea ecx, [ebp - 0xa4]", "0x10041690"], ["0x10040668", "mov ebx, dword ptr [ebp - 0xa4]", "0x10041696"], ["0x1004066e", "call dword ptr [ebx + 0x54]", "0x1004169c"], ["0x10040671", "push 0x3c", "0x1004169f"], ["0x10040673", "call ??2@YAPAXI@Z (FUNCTION)", "0x100416a1"]]}]], ["@@ -0x10040750,87 +0x1004177e,87 @@", [{"both": [["0x10040750", "fld dword ptr [ebp - 0x90]", "0x1004177e"], ["0x10040756", "fcomp dword ptr [ebp - 0x64]", "0x10041784"], ["0x10040759", "fnstsw ax", "0x10041787"], ["0x1004075b", "test ah, 0x41", "0x10041789"], ["0x1004075e", "jne 0x33", "0x1004178c"], ["0x10040760", "cmp dword ptr [ebp - 0x34], 0", "0x1004178e"], ["0x10040764", "je 0x1e", "0x10041792"], ["0x10040766", "mov dword ptr [ebp - 4], 0xffffffff", "0x10041794"], ["0x1004076d", "mov ecx, dword ptr [ebp - 0x34]", "0x1004179b"], ["0x10040770", "mov dword ptr [ebp - 0x2c], ecx", "0x1004179e"]]}, {"orig": [["0x10040773", "call <OFFSET13>"]], "recomp": [["0x100417a1", "call <OFFSET14>"]]}, {"both": [["0x10040778", "mov ecx, dword ptr [ebp - 0x34]", "0x100417a6"], ["0x1004077b", "push ecx", "0x100417a9"], ["0x1004077c", "call ??3@YAXPAX@Z (FUNCTION)", "0x100417aa"], ["0x10040781", "add esp, 4", "0x100417af"], ["0x10040784", "mov eax, dword ptr [ebp - 0x1c]", "0x100417b2"], ["0x10040787", "mov ecx, dword ptr [ebp - 0x64]", "0x100417b5"], ["0x1004078a", "mov dword ptr [ebp - 0x34], eax", "0x100417b8"], ["0x1004078d", "mov dword ptr [ebp - 0x90], ecx", "0x100417bb"], ["0x10040793", "mov eax, dword ptr [ebp - 0x1c]", "0x100417c1"]]}, {"orig": [["0x10040796", "cmp dword ptr [ebp - 0x34], eax"]], "recomp": [["0x100417c4", "cmp eax, dword ptr [ebp - 0x34]"]]}, {"both": [["0x10040799", "je 0x1f", "0x100417c7"], ["0x1004079b", "test eax, eax", "0x100417c9"], ["0x1004079d", "je 0x1b", "0x100417cb"], ["0x1004079f", "mov dword ptr [ebp - 4], 0xffffffff", "0x100417cd"], ["0x100407a6", "mov dword ptr [ebp - 0x2c], eax", "0x100417d4"]]}, {"orig": [["0x100407a9", "call <OFFSET14>"]], "recomp": [["0x100417d7", "call <OFFSET15>"]]}, {"both": [["0x100407ae", "mov eax, dword ptr [ebp - 0x1c]", "0x100417dc"], ["0x100407b1", "push eax", "0x100417df"], ["0x100407b2", "call ??3@YAXPAX@Z (FUNCTION)", "0x100417e0"], ["0x100407b7", "add esp, 4", "0x100417e5"], ["0x100407ba", "add dword ptr [ebp - 0x24], 0x1a0", "0x100417e8"], ["0x100407c1", "inc dword ptr [ebp - 0x48]", "0x100417ef"], ["0x100407c4", "cmp dword ptr [ebp - 0x48], 0x14", "0x100417f2"]]}, {"orig": [["0x100407c8", "jl -0x1f9"]], "recomp": [["0x100417f6", "jl -0x1fc"]]}, {"both": [["0x100407ce", "cmp dword ptr [ebp - 0x34], 0", "0x100417fc"], ["0x100407d2", "jne 0x15e", "0x10041800"], ["0x100407d8", "call _rand (FUNCTION)", "0x10041806"], ["0x100407dd", "cdq ", "0x1004180b"], ["0x100407de", "mov ecx, 5", "0x1004180c"], ["0x100407e3", "idiv ecx", "0x10041811"], ["0x100407e5", "shl edx, cl", "0x10041813"], ["0x100407e7", "lea eax, [edx + g_copDest[0].m_unk0x08 (UNK)]", "0x10041815"], ["0x100407ed", "lea ecx, [edx + g_copDest[0].m_unk0x14 (UNK)]", "0x1004181b"]]}, {"orig": [["0x100407f3", "mov esi, edx"]], "recomp": [["0x10041821", "mov edi, edx"]]}, {"both": [["0x100407f5", "push 0x3c", "0x10041823"]]}, {"orig": [["0x100407f7", "mov dword ptr [ebp - 0x2c], eax"]], "recomp": [["0x10041825", "mov dword ptr [ebp - 0x24], eax"], ["0x10041828", "mov dword ptr [ebp - 0x28], Vector3::`vftable' (VTABLE)"], ["0x1004182f", "mov ebx, 9"], ["0x10041834", "mov dword ptr [ebp - 0x2c], ecx"]]}, {"both": [["0x100407fa", "mov dword ptr [ebp - 0x30], Vector3::`vftable' (VTABLE)", "0x10041837"]]}, {"orig": [["0x10040801", "mov ebx, 9"], ["0x10040806", "mov dword ptr [ebp - 0x48], ecx"], ["0x10040809", "mov dword ptr [ebp - 0x4c], Vector3::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10040810", "call ??2@YAPAXI@Z (FUNCTION)", "0x1004183e"], ["0x10040815", "mov dword ptr [ebp - 0x1c], eax", "0x10041843"], ["0x10040818", "add esp, 4", "0x10041846"]]}, {"orig": [["0x1004081b", "mov edi, eax"]], "recomp": [["0x10041849", "mov esi, eax"]]}, {"both": [["0x1004081d", "mov dword ptr [ebp - 4], ebx", "0x1004184b"]]}, {"orig": [["0x10040820", "test edi, edi"]], "recomp": [["0x1004184e", "test esi, esi"]]}, {"both": [["0x10040822", "je 0x88", "0x10041850"], ["0x10040828", "lea eax, [ebp - 0x11]", "0x10041856"]]}, {"orig": [["0x1004082b", "mov ecx, edi"]], "recomp": [["0x10041859", "mov ecx, esi"]]}, {"both": [["0x1004082d", "push eax", "0x1004185b"], ["0x1004082e", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x1004185c"]]}, {"orig": [["0x10040833", "lea eax, [edi + 0x14]"], ["0x10040836", "lea ecx, [edi + 0xc]"]], "recomp": [["0x10041861", "lea eax, [esi + 0x14]"], ["0x10041864", "lea ecx, [esi + 0xc]"]]}, {"both": [["0x10040839", "mov byte ptr [ebp - 4], 0xb", "0x10041867"], ["0x1004083d", "push eax", "0x1004186b"], ["0x1004083e", "call Vector2::Vector2 (FUNCTION)", "0x1004186c"]]}, {"orig": [["0x10040843", "mov dword ptr [edi + 0xc], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1004084a", "lea ecx, [edi + 0x28]"]], "recomp": [["0x10041871", "mov dword ptr [esi + 0xc], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10041878", "lea ecx, [esi + 0x28]"]]}, {"both": [["0x1004084d", "push ecx", "0x1004187b"]]}, {"orig": [["0x1004084e", "lea ecx, [edi + 0x20]"]], "recomp": [["0x1004187c", "lea ecx, [esi + 0x20]"]]}, {"both": [["0x10040851", "call Vector2::Vector2 (FUNCTION)", "0x1004187f"]]}, {"orig": [["0x10040856", "mov dword ptr [edi + 0x20], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1004085d", "mov dword ptr [edi + 0x34], 0"], ["0x10040864", "mov byte ptr [edi + 0x38], 0"]], "recomp": [["0x10041884", "mov dword ptr [esi + 0x20], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1004188b", "mov dword ptr [esi + 0x34], 0"], ["0x10041892", "mov byte ptr [esi + 0x38], 0"]]}, {"both": [["0x10040868", "mov byte ptr [ebp - 4], bl", "0x10041896"]]}, {"orig": [["0x1004086b", "mov dword ptr [ebp - 0x14], edi"]], "recomp": [["0x10041899", "mov dword ptr [ebp - 0x14], esi"]]}, {"both": [["0x1004086e", "jmp 0x47", "0x1004189c"], ["0x10040870", "mov ecx, dword ptr [ebp - 0x2c]", "0x1004189e"], ["0x10040873", "jmp list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::~list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x100418a1"], ["0x10040878", "mov ecx, dword ptr [ebp - 0x2c]", "0x100418a6"], ["0x1004087b", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x100418a9"], ["0x10040880", "mov ecx, dword ptr [ebp - 0x2c]", "0x100418ae"], ["0x10040883", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x100418b1"], ["0x10040888", "mov ecx, dword ptr [ebp - 0x2c]", "0x100418b6"], ["0x1004088b", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x100418b9"], ["0x10040890", "mov eax, dword ptr [ebp - 0x8c]", "0x100418be"]]}]], ["@@ -0x1004089c,81 +0x100418ca,81 @@", [{"both": [["0x1004089c", "add esp, 4", "0x100418ca"], ["0x1004089f", "ret ", "0x100418cd"], ["0x100408a0", "mov ecx, dword ptr [ebp - 0x1c]", "0x100418ce"], ["0x100408a3", "jmp list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::~list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x100418d1"], ["0x100408a8", "mov ecx, dword ptr [ebp - 0x1c]", "0x100418d6"], ["0x100408ab", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x100418d9"], ["0x100408b0", "mov dword ptr [ebp - 0x14], 0", "0x100418de"], ["0x100408b7", "mov ebx, 0xffffffff", "0x100418e5"], ["0x100408bc", "mov dword ptr [ebp - 4], ebx", "0x100418ea"], ["0x100408bf", "mov eax, dword ptr [ebp - 0x14]", "0x100418ed"]]}, {"orig": [], "recomp": [["0x100418f0", "mov edx, dword ptr [edi + g_copDest[0].m_boundary (UNK)]"]]}, {"both": [["0x100408c2", "mov dword ptr [ebp - 0x34], eax", "0x100418f6"]]}, {"orig": [["0x100408c5", "mov edx, dword ptr [esi + g_copDest[0].m_boundary (UNK)]"]], "recomp": []}, {"both": [["0x100408cb", "test edx, edx", "0x100418f9"], ["0x100408cd", "je 0x5d", "0x100418fb"], ["0x100408cf", "mov eax, dword ptr [ebp - 0x10]", "0x100418fd"], ["0x100408d2", "mov esi, dword ptr [eax + 4]", "0x10041900"], ["0x100408d5", "mov ecx, dword ptr [esi + 4]", "0x10041903"]]}, {"orig": [["0x100408d8", "lea esi, [ebp - 0x24]"]], "recomp": [["0x10041906", "lea esi, [ebp - 0x1c]"]]}, {"both": [["0x100408db", "add ecx, eax", "0x10041909"], ["0x100408dd", "push esi", "0x1004190b"], ["0x100408de", "push 1", "0x1004190c"]]}, {"orig": [["0x100408e0", "lea eax, [ebp - 0x4c]"]], "recomp": [["0x1004190e", "lea eax, [ebp - 0x30]"]]}, {"both": [["0x100408e3", "push edx", "0x10041911"], ["0x100408e4", "mov esi, dword ptr [ecx + 0x8c]", "0x10041912"], ["0x100408ea", "push eax", "0x10041918"]]}, {"orig": [["0x100408eb", "lea edx, [ebp - 0x30]"]], "recomp": [["0x10041919", "lea edx, [ebp - 0x28]"]]}, {"both": [["0x100408ee", "push edx", "0x1004191c"], ["0x100408ef", "lea eax, [ebp - 0x80]", "0x1004191d"], ["0x100408f2", "push esi", "0x10041920"], ["0x100408f3", "lea edx, [ebp - 0x60]", "0x10041921"], ["0x100408f6", "push eax", "0x10041924"], ["0x100408f7", "mov esi, dword ptr [ebp - 0x14]", "0x10041925"], ["0x100408fa", "push edx", "0x10041928"], ["0x100408fb", "mov ecx, dword ptr [ecx + 0x13c]", "0x10041929"], ["0x10040901", "push esi", "0x1004192f"], ["0x10040902", "call LegoPathController::FUN_10048310 (FUNCTION)", "0x10041930"], ["0x10040907", "test eax, eax", "0x10041935"], ["0x10040909", "je 0x21", "0x10041937"], ["0x1004090b", "cmp dword ptr [ebp - 0x14], 0", "0x10041939"], ["0x1004090f", "je 0x14", "0x1004193d"], ["0x10040911", "mov dword ptr [ebp - 4], ebx", "0x1004193f"]]}, {"orig": [["0x10040914", "call <OFFSET19>"]], "recomp": [["0x10041942", "call <OFFSET20>"]]}, {"both": [["0x10040919", "mov eax, dword ptr [ebp - 0x14]", "0x10041947"], ["0x1004091c", "push eax", "0x1004194a"], ["0x1004091d", "call ??3@YAXPAX@Z (FUNCTION)", "0x1004194b"], ["0x10040922", "add esp, 4", "0x10041950"], ["0x10040925", "mov dword ptr [ebp - 0x34], 0", "0x10041953"], ["0x1004092c", "cmp dword ptr [ebp - 0x34], 0", "0x1004195a"], ["0x10040930", "je 0x3d7", "0x1004195e"], ["0x10040936", "mov eax, dword ptr [ebp - 0x10]", "0x10041964"], ["0x10040939", "mov edx, dword ptr [eax + 4]", "0x10041967"], ["0x1004093c", "mov ecx, dword ptr [edx + 4]", "0x1004196a"], ["0x1004093f", "mov eax, dword ptr [ecx + eax + 0x138]", "0x1004196d"], ["0x10040946", "test eax, eax", "0x10041974"], ["0x10040948", "je 0x1b", "0x10041976"], ["0x1004094a", "mov dword ptr [ebp - 4], 0xffffffff", "0x10041978"], ["0x10040951", "mov dword ptr [ebp - 0x14], eax", "0x1004197f"]]}, {"orig": [["0x10040954", "call <OFFSET20>"]], "recomp": [["0x10041982", "call <OFFSET21>"]]}, {"both": [["0x10040959", "mov eax, dword ptr [ebp - 0x14]", "0x10041987"], ["0x1004095c", "push eax", "0x1004198a"], ["0x1004095d", "call ??3@YAXPAX@Z (FUNCTION)", "0x1004198b"], ["0x10040962", "add esp, 4", "0x10041990"], ["0x10040965", "mov eax, dword ptr [ebp - 0x10]", "0x10041993"], ["0x10040968", "mov ecx, dword ptr [eax + 4]", "0x10041996"], ["0x1004096b", "mov edx, dword ptr [ecx + 4]", "0x10041999"], ["0x1004096e", "mov ecx, dword ptr [ebp - 0x34]", "0x1004199c"], ["0x10040971", "mov dword ptr [edx + eax + 0x138], ecx", "0x1004199f"], ["0x10040978", "lea edx, [ebp - 0x50]", "0x100419a6"], ["0x1004097b", "mov dword ptr [ebp - 0x54], edx", "0x100419a9"]]}, {"orig": [], "recomp": [["0x100419ac", "mov edx, dword ptr [eax + 4]"]]}, {"both": [["0x1004097e", "mov dword ptr [ebp - 0x58], Mx3DPointFloat::`vftable' (VTABLE)", "0x100419af"]]}, {"orig": [["0x10040985", "mov edx, dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x10040988", "mov ecx, dword ptr [edx + 4]", "0x100419b6"], ["0x1004098b", "add edx, 4", "0x100419b9"], ["0x1004098e", "mov esi, dword ptr [ecx + eax + 0x138]", "0x100419bc"], ["0x10040995", "cmp dword ptr [esi + 8], 0", "0x100419c3"], ["0x10040999", "jne 0xc9", "0x100419c7"], ["0x1004099f", "mov eax, dword ptr [esi + 0x10]", "0x100419cd"], ["0x100409a2", "add esi, 0xc", "0x100419d0"], ["0x100409a5", "push eax", "0x100419d3"], ["0x100409a6", "lea ecx, [ebp - 0x58]", "0x100419d4"], ["0x100409a9", "add esi, 8", "0x100419d7"]]}]], ["@@ -0x10040a36,21 +0x10041a64,21 @@", [{"both": [["0x10040a36", "add ecx, 0x20", "0x10041a64"], ["0x10040a39", "call dword ptr [ebx + 0x54]", "0x10041a67"], ["0x10040a3c", "jmp 0x1b7", "0x10041a6a"], ["0x10040a41", "mov ecx, dword ptr [ebp - 0x14]", "0x10041a6f"], ["0x10040a44", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x10041a72"], ["0x10040a49", "mov eax, dword ptr [ebp - 0x1c]", "0x10041a77"], ["0x10040a4c", "push eax", "0x10041a7a"], ["0x10040a4d", "call ??3@YAXPAX@Z (FUNCTION)", "0x10041a7b"], ["0x10040a52", "add esp, 4", "0x10041a80"], ["0x10040a55", "ret ", "0x10041a83"]]}, {"orig": [["0x10040a56", "mov eax, <OFFSET22>"]], "recomp": [["0x10041a84", "mov eax, <OFFSET23>"]]}, {"both": [["0x10040a5b", "jmp ___CxxFrameHandler (FUNCTION)", "0x10041a89"], ["0x10040a60", "mov ecx, dword ptr [ebp - 0x14]", "0x10041a8e"], ["0x10040a63", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x10041a91"], ["0x10040a68", "lea eax, [ebp - 0x3c]", "0x10041a96"], ["0x10040a6b", "mov dword ptr [ebp - 0x40], eax", "0x10041a99"], ["0x10040a6e", "mov dword ptr [ebp - 0x44], Mx3DPointFloat::`vftable' (VTABLE)", "0x10041a9c"], ["0x10040a75", "mov ecx, dword ptr [edx]", "0x10041aa3"], ["0x10040a77", "mov edx, dword ptr [ebp - 0x10]", "0x10041aa5"], ["0x10040a7a", "mov ecx, dword ptr [ecx + edx + 0x138]", "0x10041aa8"], ["0x10040a81", "mov eax, dword ptr [ecx + 4]", "0x10041aaf"]]}]]]}, {"address": "0x10040d20", "recomp": "0x10041d80", "name": "Act3Cop::VTable0x9c", "matching": 1.0, "diff": []}, {"address": "0x10040e10", "recomp": "0x10041e70", "name": "Act3Brickster::Act3Brickster", "matching": 1.0, "effective": true, "diff": [["@@ -0x10040e70,33 +0x10041ed0,33 @@", [{"both": [["0x10040e70", "mov dword ptr [esi + 0x40], eax", "0x10041ed0"], ["0x10040e73", "mov eax, dword ptr [esi + 4]", "0x10041ed3"], ["0x10040e76", "mov dword ptr [ecx], Mx3DPointFloat::`vftable' (VTABLE)", "0x10041ed6"], ["0x10040e7c", "mov dword ptr [esi], Act3Brickster::`vftable'{for `LegoAnimActor'} (VTABLE)", "0x10041edc"], ["0x10040e82", "mov edx, dword ptr [eax + 4]", "0x10041ee2"], ["0x10040e85", "mov dword ptr [ebp - 4], 1", "0x10041ee5"], ["0x10040e8c", "mov dword ptr [edx + esi + 4], Act3Brickster::`vftable'{for `LegoPathActor'} (VTABLE)", "0x10041eec"], ["0x10040e94", "mov eax, dword ptr [esi + 4]", "0x10041ef4"], ["0x10040e97", "mov eax, dword ptr [eax + 4]", "0x10041ef7"], ["0x10040e9a", "lea edx, [eax - 0x5c]", "0x10041efa"]]}, {"orig": [["0x10040e9d", "mov dword ptr [esi + eax], edx"]], "recomp": [["0x10041efd", "mov dword ptr [eax + esi], edx"]]}, {"both": [["0x10040ea0", "mov dword ptr [esi + 0x28], ebx", "0x10041f00"], ["0x10040ea3", "mov dword ptr [esi + 0x2c], ebx", "0x10041f03"], ["0x10040ea6", "mov dword ptr [esi + 0x30], ebx", "0x10041f06"], ["0x10040ea9", "mov dword ptr [esi + 0x34], ebx", "0x10041f09"], ["0x10040eac", "mov edi, dword ptr [esi + 4]", "0x10041f0c"], ["0x10040eaf", "mov dword ptr [esi + 0x38], ebx", "0x10041f0f"], ["0x10040eb2", "mov dword ptr [esi + 0x20], ebx", "0x10041f12"]]}, {"orig": [], "recomp": [["0x10041f15", "mov dword ptr [esi + 0x24], ebx"]]}, {"both": [["0x10040eb5", "mov dword ptr [esi + 0x54], ebx", "0x10041f18"], ["0x10040eb8", "mov eax, dword ptr [edi + 4]", "0x10041f1b"], ["0x10040ebb", "mov dword ptr [eax + esi + 0xe0], 4", "0x10041f1e"], ["0x10040ec6", "mov byte ptr [esi + 0x58], bl", "0x10041f29"]]}, {"orig": [["0x10040ec9", "mov dword ptr [esi + 0x24], ebx"]], "recomp": []}, {"both": [["0x10040ecc", "mov ebx, dword ptr [ecx]", "0x10041f2c"], ["0x10040ece", "call dword ptr [ebx + 0x2c]", "0x10041f2e"], ["0x10040ed1", "mov eax, esi", "0x10041f31"], ["0x10040ed3", "pop edi", "0x10041f33"], ["0x10040ed4", "mov dword ptr [ebp - 4], 0xffffffff", "0x10041f34"], ["0x10040edb", "mov ecx, dword ptr [ebp - 0xc]", "0x10041f3b"], ["0x10040ede", "pop esi", "0x10041f3e"], ["0x10040edf", "mov dword ptr fs:[0], ecx", "0x10041f3f"], ["0x10040ee6", "pop ebx", "0x10041f46"], ["0x10040ee7", "mov esp, ebp", "0x10041f47"]]}]]]}, {"address": "0x10040f20", "recomp": "0x10041f80", "name": "Act3Brickster::~Act3Brickster", "matching": 1.0, "diff": []}, {"address": "0x10040fa0", "recomp": "0x10042000", "name": "Act3Actor::~Act3Actor", "matching": 1.0, "diff": []}, {"address": "0x10040ff0", "recomp": "0x10042050", "name": "Act3Brickster::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x10041050", "recomp": "0x100420b0", "name": "Act3Brickster::Animate", "matching": 0.9628924833491912, "diff": [["@@ -0x100410e5,24 +0x10042145,24 @@", [{"both": [["0x100410e5", "add esp, 0x68", "0x10042145"], ["0x100410e8", "ret 4", "0x10042148"], ["0x100410eb", "lea ecx, [esi - 0x60]", "0x1004214b"], ["0x100410ee", "call Act3Brickster::FUN_100417c0 (FUNCTION)", "0x1004214e"], ["0x100410f3", "pop ebp", "0x10042153"], ["0x100410f4", "pop edi", "0x10042154"], ["0x100410f5", "pop esi", "0x10042155"], ["0x100410f6", "pop ebx", "0x10042156"], ["0x100410f7", "add esp, 0x68", "0x10042157"], ["0x100410fa", "ret 4", "0x1004215a"]]}, {"orig": [], "recomp": [["0x1004215d", "fld dword ptr [esp + 0x7c]"], ["0x10042161", "fadd dword ptr [2000.0 (FLOAT)]"], ["0x10042167", "push 0x40400000"]]}, {"both": [["0x100410fd", "inc byte ptr [esi - 8]", "0x1004216c"]]}, {"orig": [["0x10041100", "push 0x40400000"], ["0x10041105", "fld dword ptr [esp + 0x80]"], ["0x1004110c", "fadd dword ptr [2000.0 (FLOAT)]"]], "recomp": []}, {"both": [["0x10041112", "fstp dword ptr [edi]", "0x1004216f"], ["0x10041114", "mov eax, dword ptr [esi - 0x5c]", "0x10042171"], ["0x10041117", "mov edx, dword ptr [eax + 4]", "0x10042174"], ["0x1004111a", "lea ecx, [edx + esi - 0x5c]", "0x10042177"], ["0x1004111e", "mov eax, dword ptr [ecx]", "0x1004217b"], ["0x10041120", "call dword ptr [eax + 0x30]", "0x1004217d"], ["0x10041123", "cmp byte ptr [esi - 8], 8", "0x10042180"], ["0x10041127", "jb 0xc", "0x10042184"], ["0x10041129", "push 6", "0x10042186"], ["0x1004112b", "mov ecx, dword ptr [esi - 0x38]", "0x10042188"]]}]], ["@@ -0x10041281,45 +0x100422de,45 @@", [{"both": [["0x10041281", "push eax", "0x100422de"], ["0x10041282", "call dword ptr [ebx + 0x14]", "0x100422df"], ["0x10041285", "mov eax, dword ptr [esp + 0x24]", "0x100422e2"], ["0x10041289", "mov ecx, dword ptr [esp + 0x1c]", "0x100422e6"], ["0x1004128d", "mov ebx, dword ptr [esp + 0x28]", "0x100422ea"], ["0x10041291", "push eax", "0x100422ee"], ["0x10041292", "push ecx", "0x100422ef"], ["0x10041293", "lea ecx, [esp + 0x30]", "0x100422f0"], ["0x10041297", "call dword ptr [ebx + 0x74]", "0x100422f4"], ["0x1004129a", "mov ecx, dword ptr [esi - 0x2c]", "0x100422f7"]]}, {"orig": [["0x1004129d", "xor ebp, ebp"]], "recomp": [["0x100422fa", "xor ebx, ebx"]]}, {"both": [["0x1004129f", "mov eax, dword ptr [ecx + 4]", "0x100422fc"]]}, {"orig": [["0x100412a2", "mov ebx, dword ptr [eax + 4]"]], "recomp": [["0x100422ff", "mov edi, dword ptr [eax + 4]"]]}, {"both": [["0x100412a5", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x10042302"], ["0x100412aa", "fsubr dword ptr [esi - 0x10]", "0x10042307"], ["0x100412ad", "fsubr dword ptr [esp + 0x7c]", "0x1004230a"], ["0x100412b1", "fstp dword ptr [esp + 0x10]", "0x1004230e"]]}, {"orig": [["0x100412b5", "cmp dword ptr [ebx + 8], ebp"]], "recomp": [["0x10042312", "cmp dword ptr [edi + 8], ebx"]]}, {"both": [["0x100412b8", "jbe 0x77", "0x10042315"], ["0x100412ba", "fld dword ptr [esp + 0x10]", "0x10042317"], ["0x100412be", "call __ftol (FUNCTION)", "0x1004231b"]]}, {"orig": [["0x100412c3", "mov edi, eax"]], "recomp": [["0x10042320", "mov ebp, eax"]]}, {"both": [["0x100412c5", "mov eax, dword ptr [esi - 0x2c]", "0x10042322"], ["0x100412c8", "lea edx, [esp + 0x30]", "0x10042325"]]}, {"orig": [["0x100412cc", "inc ebp"]], "recomp": [["0x10042329", "inc ebx"]]}, {"both": [["0x100412cd", "mov ecx, dword ptr [eax + 8]", "0x1004232a"], ["0x100412d0", "push ecx", "0x1004232d"]]}, {"orig": [["0x100412d1", "mov eax, dword ptr [ebx + 0xc]"], ["0x100412d4", "push edi"]], "recomp": [["0x1004232e", "mov eax, dword ptr [edi + 0xc]"], ["0x10042331", "push ebp"]]}, {"both": [["0x100412d5", "push edx", "0x10042332"]]}, {"orig": [["0x100412d6", "mov ecx, dword ptr [eax + ebp*4 - 4]"]], "recomp": [["0x10042333", "mov ecx, dword ptr [eax + ebx*4 - 4]"]]}, {"both": [["0x100412da", "push ecx", "0x10042337"], ["0x100412db", "call LegoROI::FUN_100a8e80 (FUNCTION)", "0x10042338"], ["0x100412e0", "add esp, 0x10", "0x1004233d"]]}, {"orig": [["0x100412e3", "cmp dword ptr [ebx + 8], ebp"]], "recomp": [["0x10042340", "cmp dword ptr [edi + 8], ebx"]]}, {"both": [["0x100412e6", "ja -0x23", "0x10042343"], ["0x100412e8", "jmp 0x47", "0x10042345"], ["0x100412ea", "mov eax, dword ptr [esi - 0x34]", "0x10042347"], ["0x100412ed", "cmp byte ptr [eax + 0x16], 0", "0x1004234a"], ["0x100412f1", "je 0x1c", "0x1004234e"], ["0x100412f3", "xor ebx, ebx", "0x10042350"], ["0x100412f5", "mov eax, dword ptr [esi - 0x34]", "0x10042352"], ["0x100412f8", "mov ecx, dword ptr [eax]", "0x10042355"], ["0x100412fa", "push ecx", "0x10042357"], ["0x100412fb", "call PlantManager (FUNCTION)", "0x10042358"]]}]], ["@@ -0x100414b9,43 +0x10042516,43 @@", [{"both": [["0x100414b9", "mov eax, dword ptr [esp + 0x24]", "0x10042516"], ["0x100414bd", "mov ecx, dword ptr [esp + 0x1c]", "0x1004251a"], ["0x100414c1", "mov ebx, dword ptr [esp + 0x28]", "0x1004251e"], ["0x100414c5", "push eax", "0x10042522"], ["0x100414c6", "push ecx", "0x10042523"], ["0x100414c7", "lea ecx, [esp + 0x30]", "0x10042524"], ["0x100414cb", "call dword ptr [ebx + 0x74]", "0x10042528"], ["0x100414ce", "mov ecx, dword ptr [esi - 0x2c]", "0x1004252b"], ["0x100414d1", "xor ebp, ebp", "0x1004252e"], ["0x100414d3", "mov eax, dword ptr [ecx + 4]", "0x10042530"]]}, {"orig": [["0x100414d6", "mov edi, dword ptr [eax + 4]"]], "recomp": [["0x10042533", "mov ebx, dword ptr [eax + 4]"]]}, {"both": [["0x100414d9", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x10042536"], ["0x100414de", "fsubr dword ptr [esi - 0x10]", "0x1004253b"], ["0x100414e1", "fsubr dword ptr [esp + 0x7c]", "0x1004253e"], ["0x100414e5", "fstp dword ptr [esp + 0x10]", "0x10042542"]]}, {"orig": [["0x100414e9", "cmp dword ptr [edi + 8], ebp"]], "recomp": [["0x10042546", "cmp dword ptr [ebx + 8], ebp"]]}, {"both": [["0x100414ec", "jbe 0x2e", "0x10042549"], ["0x100414ee", "fld dword ptr [esp + 0x10]", "0x1004254b"], ["0x100414f2", "call __ftol (FUNCTION)", "0x1004254f"]]}, {"orig": [["0x100414f7", "mov ebx, eax"]], "recomp": [["0x10042554", "mov edi, eax"]]}, {"both": [["0x100414f9", "mov eax, dword ptr [esi - 0x2c]", "0x10042556"], ["0x100414fc", "lea edx, [esp + 0x30]", "0x10042559"], ["0x10041500", "inc ebp", "0x1004255d"], ["0x10041501", "mov ecx, dword ptr [eax + 8]", "0x1004255e"], ["0x10041504", "push ecx", "0x10042561"]]}, {"orig": [["0x10041505", "mov eax, dword ptr [edi + 0xc]"], ["0x10041508", "push ebx"]], "recomp": [["0x10042562", "mov eax, dword ptr [ebx + 0xc]"], ["0x10042565", "push edi"]]}, {"both": [["0x10041509", "push edx", "0x10042566"], ["0x1004150a", "mov ecx, dword ptr [eax + ebp*4 - 4]", "0x10042567"], ["0x1004150e", "push ecx", "0x1004256b"], ["0x1004150f", "call LegoROI::FUN_100a8e80 (FUNCTION)", "0x1004256c"], ["0x10041514", "add esp, 0x10", "0x10042571"]]}, {"orig": [["0x10041517", "cmp dword ptr [edi + 8], ebp"]], "recomp": [["0x10042574", "cmp dword ptr [ebx + 8], ebp"]]}, {"both": [["0x1004151a", "ja -0x23", "0x10042577"], ["0x1004151c", "mov eax, dword ptr [esi - 0x5c]", "0x10042579"], ["0x1004151f", "mov edx, dword ptr [esp + 0x7c]", "0x1004257c"], ["0x10041523", "mov ecx, dword ptr [eax + 4]", "0x10042580"], ["0x10041526", "pop ebp", "0x10042583"], ["0x10041527", "pop edi", "0x10042584"], ["0x10041528", "mov dword ptr [ecx + esi + 0x28], edx", "0x10042585"], ["0x1004152c", "pop esi", "0x10042589"], ["0x1004152d", "pop ebx", "0x1004258a"], ["0x1004152e", "add esp, 0x68", "0x1004258b"]]}]], ["@@ -,20 +,21 @@", [{"both": [["0x10041673", "test ah, 1", "0x100426d0"], ["0x10041676", "je 0x8", "0x100426d3"], ["0x10041678", "lea ecx, [esi - 0x60]", "0x100426d5"], ["0x1004167b", "call Act3Brickster::FUN_10042300 (FUNCTION)", "0x100426d8"], ["0x10041680", "pop ebp", "0x100426dd"], ["0x10041681", "pop edi", "0x100426de"], ["0x10041682", "pop esi", "0x100426df"], ["0x10041683", "pop ebx", "0x100426e0"], ["0x10041684", "add esp, 0x68", "0x100426e1"], ["0x10041687", "ret 4", "0x100426e4"]]}, {"orig": [["0x1004168a", "mov edi, edi"]], "recomp": [["0x100426e7", "nop "]]}, {"both": [["", "Jump table:", ""], ["0x1004168c", "Jump_dest_0", "0x100426e8"], ["0x10041690", "Jump_dest_1", "0x100426ec"], ["0x10041694", "Jump_dest_2", "0x100426f0"], ["0x10041698", "Jump_dest_3", "0x100426f4"], ["0x1004169c", "Jump_dest_4", "0x100426f8"], ["0x100416a0", "Jump_dest_5", "0x100426fc"], ["0x100416a4", "Jump_dest_6", "0x10042700"], ["0x100416a8", "Jump_dest_7", "0x10042704"]]}, {"orig": [], "recomp": [["0x10042708", "Jump_dest_8"]]}]]]}, {"address": "0x100416b0", "recomp": "0x10042710", "name": "Act3Brickster::HitActor", "matching": 1.0, "diff": []}, {"address": "0x100417a0", "recomp": "0x10042800", "name": "Act3Brickster::FUN_100417a0", "matching": 1.0, "diff": []}, {"address": "0x100417c0", "recomp": "0x10042820", "name": "Act3Brickster::FUN_100417c0", "matching": 0.9544364508393285, "diff": [["@@ -0x10041806,29 +0x10042866,29 @@", [{"both": [["0x10041806", "mov esi, dword ptr [eax + 4]", "0x10042866"], ["0x10041809", "lea ecx, [ebp - 0x108]", "0x10042869"], ["0x1004180f", "mov edi, ecx", "0x1004286f"], ["0x10041811", "mov eax, dword ptr [ebp - 0x10]", "0x10042871"], ["0x10041814", "mov dword ptr [ebp - 0x110], MxMatrix::`vftable' (VTABLE)", "0x10042874"], ["0x1004181e", "mov dword ptr [ebp - 0x10c], ecx", "0x1004287e"], ["0x10041824", "mov ecx, 0x10", "0x10042884"], ["0x10041829", "mov esi, dword ptr [esi + eax + 0xf4]", "0x10042889"], ["0x10041830", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10042890"], ["0x10041832", "mov dword ptr [ebp - 0x84], Vector3::`vftable' (VTABLE)", "0x10042892"]]}, {"orig": [], "recomp": [["0x1004289c", "mov dword ptr [ebp - 0xc8], Vector3::`vftable' (VTABLE)"]]}, {"both": [["0x1004183c", "mov eax, dword ptr [ebp - 0x10c]", "0x100428a6"], ["0x10041842", "mov ecx, dword ptr [ebp - 0x10]", "0x100428ac"], ["0x10041845", "add eax, 0x30", "0x100428af"], ["0x10041848", "mov dword ptr [ebp - 0x80], eax", "0x100428b2"], ["0x1004184b", "mov eax, dword ptr [ebp - 0x10c]", "0x100428b5"], ["0x10041851", "add eax, 0x20", "0x100428bb"], ["0x10041854", "cmp byte ptr [ecx + 0x58], 8", "0x100428be"], ["0x10041858", "mov dword ptr [ebp - 0xc4], eax", "0x100428c2"]]}, {"orig": [["0x1004185e", "mov dword ptr [ebp - 0xc8], Vector3::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10041868", "jae 0x27e", "0x100428c8"], ["0x1004186e", "fld dword ptr [ecx + 0x24]", "0x100428ce"], ["0x10041871", "fadd dword ptr [5000.0 (FLOAT)]", "0x100428d1"], ["0x10041877", "mov eax, dword ptr [ecx + 4]", "0x100428d7"], ["0x1004187a", "mov ebx, dword ptr [eax + 4]", "0x100428da"], ["0x1004187d", "fcomp dword ptr [ebx + ecx + 0x88]", "0x100428dd"], ["0x10041884", "fnstsw ax", "0x100428e4"], ["0x10041886", "test ah, 1", "0x100428e6"], ["0x10041889", "je 0x25d", "0x100428e9"], ["0x1004188f", "mov dword ptr [ebp - 0x44], 0", "0x100428ef"]]}]], ["@@ -0x10041933,22 +0x10042993,22 @@", [{"both": [["0x10041933", "mov ebx, dword ptr [ecx + 4]", "0x10042993"], ["0x10041936", "push eax", "0x10042996"], ["0x10041937", "mov dword ptr [edx + 4], ebx", "0x10042997"], ["0x1004193a", "mov ecx, dword ptr [ecx + 8]", "0x1004299a"], ["0x1004193d", "mov dword ptr [edx + 8], ecx", "0x1004299d"], ["0x10041940", "lea ecx, [ebp - 0xc0]", "0x100429a0"], ["0x10041946", "mov ebx, dword ptr [ebp - 0xc0]", "0x100429a6"], ["0x1004194c", "call dword ptr [ebx + 0x54]", "0x100429ac"], ["0x1004194f", "mov edx, dword ptr [ebp - 0xbc]", "0x100429af"], ["0x10041955", "mov ecx, dword ptr [ebp - 0xbc]", "0x100429b5"]]}, {"orig": [["0x1004195b", "add edx, 8"], ["0x1004195e", "add ecx, 4"]], "recomp": [["0x100429bb", "add edx, 4"], ["0x100429be", "add ecx, 8"]]}, {"both": [["0x10041961", "mov eax, dword ptr [ebp - 0xbc]", "0x100429c1"], ["0x10041967", "fld dword ptr [eax]", "0x100429c7"], ["0x10041969", "fmul dword ptr [eax]", "0x100429c9"], ["0x1004196b", "fld dword ptr [edx]", "0x100429cb"], ["0x1004196d", "fmul dword ptr [edx]", "0x100429cd"], ["0x1004196f", "faddp st(1)", "0x100429cf"], ["0x10041971", "fld dword ptr [ecx]", "0x100429d1"], ["0x10041973", "fmul dword ptr [ecx]", "0x100429d3"], ["0x10041975", "faddp st(1)", "0x100429d5"], ["0x10041977", "fcomp dword ptr [1600.0 (FLOAT)]", "0x100429d7"]]}]], ["@@ -0x100419b8,21 +0x10042a18,21 @@", [{"both": [["0x100419b8", "lea eax, [ebp - 0x2d]", "0x10042a18"], ["0x100419bb", "mov ecx, esi", "0x10042a1b"], ["0x100419bd", "push eax", "0x10042a1d"], ["0x100419be", "lea edi, [esi + 0xc]", "0x10042a1e"], ["0x100419c1", "mov dword ptr [ebp - 0x18], esi", "0x10042a21"], ["0x100419c4", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x10042a24"], ["0x100419c9", "lea eax, [esi + 0x14]", "0x10042a29"], ["0x100419cc", "mov ecx, edi", "0x10042a2c"], ["0x100419ce", "mov byte ptr [ebp - 4], 2", "0x10042a2e"], ["0x100419d2", "push eax", "0x10042a32"]]}, {"orig": [["0x100419d3", "call Vector3::Vector3 (FUNCTION)"]], "recomp": [["0x10042a33", "call Vector2::Vector2 (FUNCTION)"]]}, {"both": [["0x100419d8", "lea eax, [esi + 0x28]", "0x10042a38"], ["0x100419db", "mov dword ptr [edi], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042a3b"], ["0x100419e1", "lea edi, [esi + 0x20]", "0x10042a41"], ["0x100419e4", "push eax", "0x10042a44"], ["0x100419e5", "mov ecx, edi", "0x10042a45"], ["0x100419e7", "call Vector3::Vector3 (FUNCTION)", "0x10042a47"], ["0x100419ec", "mov byte ptr [ebp - 4], 0", "0x10042a4c"], ["0x100419f0", "mov dword ptr [edi], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042a50"], ["0x100419f6", "mov dword ptr [esi + 0x34], 0", "0x10042a56"], ["0x100419fd", "mov byte ptr [esi + 0x38], 0", "0x10042a5d"]]}]], ["@@ -0x10041a69,65 +0x10042ac9,65 @@", [{"both": [["0x10041a69", "fld dword ptr [ebp - 0x6c]", "0x10042ac9"], ["0x10041a6c", "fcomp dword ptr [ebp - 0x88]", "0x10042acc"], ["0x10041a72", "fnstsw ax", "0x10042ad2"], ["0x10041a74", "test ah, 1", "0x10042ad4"], ["0x10041a77", "je 0x33", "0x10042ad7"], ["0x10041a79", "cmp dword ptr [ebp - 0x14], 0", "0x10042ad9"], ["0x10041a7d", "je 0x1e", "0x10042add"], ["0x10041a7f", "mov dword ptr [ebp - 4], 0xffffffff", "0x10042adf"], ["0x10041a86", "mov eax, dword ptr [ebp - 0x14]", "0x10042ae6"], ["0x10041a89", "mov dword ptr [ebp - 0x18], eax", "0x10042ae9"]]}, {"orig": [["0x10041a8c", "call <OFFSET11>"]], "recomp": [["0x10042aec", "call <OFFSET12>"]]}, {"both": [["0x10041a91", "mov eax, dword ptr [ebp - 0x14]", "0x10042af1"], ["0x10041a94", "push eax", "0x10042af4"], ["0x10041a95", "call ??3@YAXPAX@Z (FUNCTION)", "0x10042af5"], ["0x10041a9a", "add esp, 4", "0x10042afa"], ["0x10041a9d", "mov eax, dword ptr [ebp - 0x20]", "0x10042afd"]]}, {"orig": [], "recomp": [["0x10042b00", "mov ecx, dword ptr [ebp - 0x6c]"]]}, {"both": [["0x10041aa0", "mov dword ptr [ebp - 0x14], eax", "0x10042b03"]]}, {"orig": [["0x10041aa3", "mov ecx, dword ptr [ebp - 0x6c]"]], "recomp": []}, {"both": [["0x10041aa6", "mov dword ptr [ebp - 0x88], ecx", "0x10042b06"], ["0x10041aac", "mov eax, dword ptr [ebp - 0x14]", "0x10042b0c"]]}, {"orig": [["0x10041aaf", "cmp eax, dword ptr [ebp - 0x20]"]], "recomp": [["0x10042b0f", "cmp dword ptr [ebp - 0x20], eax"]]}, {"both": [["0x10041ab2", "je 0x24", "0x10042b12"], ["0x10041ab4", "cmp dword ptr [ebp - 0x20], 0", "0x10042b14"], ["0x10041ab8", "je 0x1e", "0x10042b18"], ["0x10041aba", "mov dword ptr [ebp - 4], 0xffffffff", "0x10042b1a"], ["0x10041ac1", "mov eax, dword ptr [ebp - 0x20]", "0x10042b21"], ["0x10041ac4", "mov dword ptr [ebp - 0x18], eax", "0x10042b24"]]}, {"orig": [["0x10041ac7", "call <OFFSET13>"]], "recomp": [["0x10042b27", "call <OFFSET14>"]]}, {"both": [["0x10041acc", "mov eax, dword ptr [ebp - 0x20]", "0x10042b2c"], ["0x10041acf", "push eax", "0x10042b2f"], ["0x10041ad0", "call ??3@YAXPAX@Z (FUNCTION)", "0x10042b30"], ["0x10041ad5", "add esp, 4", "0x10042b35"], ["0x10041ad8", "add dword ptr [ebp - 0x28], 0x1a0", "0x10042b38"], ["0x10041adf", "inc dword ptr [ebp - 0x44]", "0x10042b3f"], ["0x10041ae2", "cmp dword ptr [ebp - 0x44], 0x14", "0x10042b42"], ["0x10041ae6", "jl -0x24d", "0x10042b46"], ["0x10041aec", "cmp dword ptr [ebp - 0x14], 0", "0x10042b4c"], ["0x10041af0", "jne 0x3c0", "0x10042b50"], ["0x10041af6", "mov dword ptr [ebp - 0x28], 0", "0x10042b56"], ["0x10041afd", "lea eax, [ebp - 0x28]", "0x10042b5d"], ["0x10041b00", "push eax", "0x10042b60"], ["0x10041b01", "call PlantManager (FUNCTION)", "0x10042b61"], ["0x10041b06", "mov ecx, eax", "0x10042b66"], ["0x10041b08", "call LegoPlantManager::GetInfoArray (FUNCTION)", "0x10042b68"], ["0x10041b0d", "lea ecx, [ebp - 0x60]", "0x10042b6d"], ["0x10041b10", "mov dword ptr [ebp - 0x44], eax", "0x10042b70"], ["0x10041b13", "lea eax, [ebp - 0x90]", "0x10042b73"], ["0x10041b19", "mov esi, 0xffffffff", "0x10042b79"]]}, {"orig": [], "recomp": [["0x10042b7e", "mov dword ptr [ebp - 0x14], 0"]]}, {"both": [["0x10041b1e", "mov dword ptr [ebp - 0x94], eax", "0x10042b85"], ["0x10041b24", "lea eax, [ebp - 0x28]", "0x10042b8b"], ["0x10041b27", "mov dword ptr [ebp - 0x98], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042b8e"], ["0x10041b31", "push eax", "0x10042b98"], ["0x10041b32", "mov dword ptr [ebp - 0x64], ecx", "0x10042b99"], ["0x10041b35", "mov dword ptr [ebp - 0x68], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042b9c"]]}, {"orig": [["0x10041b3c", "mov dword ptr [ebp - 0x14], 0"]], "recomp": []}, {"both": [["0x10041b43", "mov dword ptr [ebp - 0x20], 0", "0x10042ba3"], ["0x10041b4a", "xor ebx, ebx", "0x10042baa"], ["0x10041b4c", "call BuildingManager (FUNCTION)", "0x10042bac"], ["0x10041b51", "mov ecx, eax", "0x10042bb1"], ["0x10041b53", "call LegoBuildingManager::GetInfoArray (FUNCTION)", "0x10042bb3"], ["0x10041b58", "mov dword ptr [ebp - 0x30], eax", "0x10042bb8"], ["0x10041b5b", "cmp dword ptr [ebp - 0x28], ebx", "0x10042bbb"], ["0x10041b5e", "jle 0xef", "0x10042bbe"], ["0x10041b64", "lea edi, [eax + 0x11]", "0x10042bc4"], ["0x10041b67", "cmp byte ptr [edi], 0", "0x10042bc7"]]}]], ["@@ -0x10041b70,98 +0x10042bd0,98 @@", [{"both": [["0x10041b70", "cmp dword ptr [edi + 0x17], 0", "0x10042bd0"], ["0x10041b74", "je 0xcc", "0x10042bd4"], ["0x10041b7a", "cmp dword ptr [edi - 0x11], 0", "0x10042bda"], ["0x10041b7e", "je 0xc2", "0x10042bde"], ["0x10041b84", "test ebx, ebx", "0x10042be4"], ["0x10041b86", "je 0xba", "0x10042be6"], ["0x10041b8c", "cmp esi, -1", "0x10042bec"], ["0x10041b8f", "je 0x9", "0x10042bef"], ["0x10041b91", "cmp ebx, 0xf", "0x10042bf1"], ["0x10041b94", "je 0xac", "0x10042bf4"]]}, {"orig": [["0x10041b9a", "mov ecx, dword ptr [edi + 0x13]"]], "recomp": [["0x10042bfa", "mov eax, dword ptr [edi + 0x13]"], ["0x10042bfd", "lea edx, [ebp - 0xa4]"], ["0x10042c03", "push edx"], ["0x10042c04", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x10041b9d", "mov eax, dword ptr [edi + 0xf]", "0x10042c07"]]}, {"orig": [["0x10041ba0", "lea edx, [ebp - 0xa4]"], ["0x10041ba6", "mov dword ptr [ebp - 0x18], eax"], ["0x10041ba9", "mov eax, dword ptr [edi + 0xb]"], ["0x10041bac", "push edx"]], "recomp": [["0x10042c0a", "mov ecx, dword ptr [edi + 0xb]"]]}, {"both": [["0x10041bad", "mov dword ptr [ebp - 0xa8], edx", "0x10042c0d"], ["0x10041bb3", "mov dword ptr [ebp - 0xac], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042c13"]]}, {"orig": [["0x10041bbd", "mov dword ptr [ebp - 0xa4], eax"]], "recomp": [["0x10042c1d", "mov dword ptr [ebp - 0xa4], ecx"], ["0x10042c23", "lea ecx, [ebp - 0x68]"], ["0x10042c26", "mov dword ptr [ebp - 0xa0], eax"]]}, {"both": [["0x10041bc3", "mov eax, dword ptr [ebp - 0x18]", "0x10042c2c"]]}, {"orig": [["0x10041bc6", "mov dword ptr [ebp - 0xa0], eax"], ["0x10041bcc", "mov dword ptr [ebp - 0x9c], ecx"], ["0x10041bd2", "lea ecx, [ebp - 0x68]"]], "recomp": [["0x10042c2f", "mov dword ptr [ebp - 0x9c], eax"]]}, {"both": [["0x10041bd5", "mov eax, dword ptr [ebp - 0x68]", "0x10042c35"], ["0x10041bd8", "call dword ptr [eax + 0x20]", "0x10042c38"], ["0x10041bdb", "lea eax, [ebp - 0xa4]", "0x10042c3b"], ["0x10041be1", "lea ecx, [ebp - 0x60]", "0x10042c41"], ["0x10041be4", "mov edx, dword ptr [eax]", "0x10042c44"], ["0x10041be6", "mov dword ptr [ecx], edx", "0x10042c46"], ["0x10041be8", "mov edx, dword ptr [eax + 4]", "0x10042c48"], ["0x10041beb", "mov dword ptr [ecx + 4], edx", "0x10042c4b"], ["0x10041bee", "mov eax, dword ptr [eax + 8]", "0x10042c4e"], ["0x10041bf1", "mov dword ptr [ecx + 8], eax", "0x10042c51"], ["0x10041bf4", "lea eax, [ebp - 0x84]", "0x10042c54"], ["0x10041bfa", "push eax", "0x10042c5a"], ["0x10041bfb", "lea ecx, [ebp - 0x68]", "0x10042c5b"], ["0x10041bfe", "mov eax, dword ptr [ebp - 0x68]", "0x10042c5e"], ["0x10041c01", "call dword ptr [eax + 0x54]", "0x10042c61"], ["0x10041c04", "mov ecx, dword ptr [ebp - 0x64]", "0x10042c64"], ["0x10041c07", "mov eax, dword ptr [ebp - 0x64]", "0x10042c67"], ["0x10041c0a", "add ecx, 4", "0x10042c6a"], ["0x10041c0d", "add eax, 8", "0x10042c6d"]]}, {"orig": [], "recomp": [["0x10042c70", "mov edx, dword ptr [ebp - 0x64]"]]}, {"both": [["0x10041c10", "test esi, esi", "0x10042c73"]]}, {"orig": [], "recomp": [["0x10042c75", "fld dword ptr [edx]"], ["0x10042c77", "fmul dword ptr [edx]"]]}, {"both": [["0x10041c12", "fld dword ptr [ecx]", "0x10042c79"], ["0x10041c14", "fmul dword ptr [ecx]", "0x10042c7b"]]}, {"orig": [], "recomp": [["0x10042c7d", "faddp st(1)"]]}, {"both": [["0x10041c16", "fld dword ptr [eax]", "0x10042c7f"], ["0x10041c18", "fmul dword ptr [eax]", "0x10042c81"]]}, {"orig": [["0x10041c1a", "mov ecx, dword ptr [ebp - 0x64]"], ["0x10041c1d", "faddp st(1)"], ["0x10041c1f", "fld dword ptr [ecx]"], ["0x10041c21", "fmul dword ptr [ecx]"]], "recomp": []}, {"both": [["0x10041c23", "faddp st(1)", "0x10042c83"], ["0x10041c25", "fstp dword ptr [ebp - 0x18]", "0x10042c85"], ["0x10041c28", "jl 0xd", "0x10042c88"], ["0x10041c2a", "fld dword ptr [ebp - 0x18]", "0x10042c8a"], ["0x10041c2d", "fcomp dword ptr [ebp - 0x6c]", "0x10042c8d"], ["0x10041c30", "fnstsw ax", "0x10042c90"], ["0x10041c32", "test ah, 1", "0x10042c92"], ["0x10041c35", "je 0xf", "0x10042c95"]]}, {"orig": [], "recomp": [["0x10042c97", "mov esi, ebx"]]}, {"both": [["0x10041c37", "mov eax, dword ptr [ebp - 0x18]", "0x10042c99"]]}, {"orig": [["0x10041c3a", "mov esi, ebx"]], "recomp": [["0x10042c9c", "mov dword ptr [ebp - 0x14], 1"]]}, {"both": [["0x10041c3c", "mov dword ptr [ebp - 0x6c], eax", "0x10042ca3"]]}, {"orig": [["0x10041c3f", "mov dword ptr [ebp - 0x14], 1"]], "recomp": []}, {"both": [["0x10041c46", "add edi, 0x2c", "0x10042ca6"], ["0x10041c49", "inc ebx", "0x10042ca9"], ["0x10041c4a", "cmp dword ptr [ebp - 0x28], ebx", "0x10042caa"], ["0x10041c4d", "jg -0xec", "0x10042cad"], ["0x10041c53", "cmp esi, -1", "0x10042cb3"], ["0x10041c56", "je 0xde", "0x10042cb6"], ["0x10041c5c", "cmp dword ptr [ebp - 0x14], 0", "0x10042cbc"], ["0x10041c60", "je 0x78", "0x10042cc0"], ["0x10041c62", "lea eax, [esi + esi*4]", "0x10042cc2"], ["0x10041c65", "mov edx, dword ptr [ebp - 0x10]", "0x10042cc5"], ["0x10041c68", "lea eax, [eax + eax*8]", "0x10042cc8"], ["0x10041c6b", "sub eax, esi", "0x10042ccb"], ["0x10041c6d", "add eax, dword ptr [ebp - 0x30]", "0x10042ccd"], ["0x10041c70", "mov dword ptr [edx + 0x30], eax", "0x10042cd0"], ["0x10041c73", "mov ecx, dword ptr [eax + 0x28]", "0x10042cd3"], ["0x10041c76", "mov dword ptr [ebp - 0x20], ecx", "0x10042cd6"]]}, {"orig": [["0x10041c79", "mov ecx, dword ptr [eax + 0x1c]"]], "recomp": [["0x10042cd9", "lea ecx, [ebp - 0x38]"]]}, {"both": [["0x10041c7c", "mov ebx, dword ptr [eax + 0x24]", "0x10042cdc"], ["0x10041c7f", "mov esi, dword ptr [eax + 0x20]", "0x10042cdf"]]}, {"orig": [["0x10041c82", "lea eax, [ebp - 0x38]"], ["0x10041c85", "push eax"], ["0x10041c86", "mov dword ptr [ebp - 0x3c], eax"]], "recomp": [["0x10042ce2", "mov eax, dword ptr [eax + 0x1c]"], ["0x10042ce5", "push ecx"], ["0x10042ce6", "mov dword ptr [ebp - 0x3c], ecx"], ["0x10042ce9", "lea ecx, [ebp - 0x98]"]]}, {"both": [["0x10041c89", "mov dword ptr [ebp - 0x40], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042cef"]]}, {"orig": [["0x10041c90", "mov dword ptr [ebp - 0x38], ecx"], ["0x10041c93", "lea ecx, [ebp - 0x98]"]], "recomp": [["0x10042cf6", "mov dword ptr [ebp - 0x38], eax"]]}, {"both": [["0x10041c99", "mov dword ptr [ebp - 0x34], esi", "0x10042cf9"], ["0x10041c9c", "mov dword ptr [ebp - 0x30], ebx", "0x10042cfc"], ["0x10041c9f", "mov ebx, dword ptr [ebp - 0x98]", "0x10042cff"], ["0x10041ca5", "call dword ptr [ebx + 0x20]", "0x10042d05"], ["0x10041ca8", "lea ecx, [ebp - 0x38]", "0x10042d08"], ["0x10041cab", "jmp 0x77", "0x10042d0b"], ["0x10041cad", "mov ecx, dword ptr [ebp - 0x18]", "0x10042d0d"], ["0x10041cb0", "jmp list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::~list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x10042d10"], ["0x10041cb5", "mov ecx, dword ptr [ebp - 0x18]", "0x10042d15"], ["0x10041cb8", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x10042d18"]]}]], ["@@ -0x10041cd9,30 +0x10042d39,30 @@", [{"both": [["0x10041cd9", "ret ", "0x10042d39"], ["0x10041cda", "lea ecx, [esi + esi*4]", "0x10042d3a"], ["0x10041cdd", "mov eax, dword ptr [ebp - 0x44]", "0x10042d3d"], ["0x10041ce0", "lea edx, [esi + ecx*4]", "0x10042d40"], ["0x10041ce3", "mov ecx, dword ptr [ebp - 0x10]", "0x10042d43"], ["0x10041ce6", "lea eax, [eax + edx*4]", "0x10042d46"], ["0x10041ce9", "mov dword ptr [ecx + 0x2c], eax", "0x10042d49"], ["0x10041cec", "lea ecx, [ebp - 0x38]", "0x10042d4c"], ["0x10041cef", "mov edx, dword ptr [eax + 0x2c]", "0x10042d4f"], ["0x10041cf2", "mov dword ptr [ebp - 0x20], edx", "0x10042d52"]]}, {"orig": [["0x10041cf5", "mov ebx, dword ptr [eax + 0x28]"], ["0x10041cf8", "mov esi, dword ptr [eax + 0x24]"]], "recomp": [["0x10042d55", "mov esi, dword ptr [eax + 0x28]"], ["0x10042d58", "mov ebx, dword ptr [eax + 0x24]"]]}, {"both": [["0x10041cfb", "mov eax, dword ptr [eax + 0x20]", "0x10042d5b"], ["0x10041cfe", "push ecx", "0x10042d5e"], ["0x10041cff", "mov dword ptr [ebp - 0x3c], ecx", "0x10042d5f"], ["0x10041d02", "lea ecx, [ebp - 0x98]", "0x10042d62"], ["0x10041d08", "mov dword ptr [ebp - 0x40], Mx3DPointFloat::`vftable' (VTABLE)", "0x10042d68"], ["0x10041d0f", "mov dword ptr [ebp - 0x38], eax", "0x10042d6f"]]}, {"orig": [["0x10041d12", "mov dword ptr [ebp - 0x34], esi"], ["0x10041d15", "mov dword ptr [ebp - 0x30], ebx"]], "recomp": [["0x10042d72", "mov dword ptr [ebp - 0x34], ebx"], ["0x10042d75", "mov dword ptr [ebp - 0x30], esi"]]}, {"both": [["0x10041d18", "mov ebx, dword ptr [ebp - 0x98]", "0x10042d78"], ["0x10041d1e", "call dword ptr [ebx + 0x20]", "0x10042d7e"], ["0x10041d21", "lea ecx, [ebp - 0x38]", "0x10042d81"], ["0x10041d24", "lea edx, [ebp - 0x90]", "0x10042d84"], ["0x10041d2a", "mov eax, dword ptr [ecx]", "0x10042d8a"], ["0x10041d2c", "mov dword ptr [edx], eax", "0x10042d8c"], ["0x10041d2e", "mov ebx, dword ptr [ecx + 4]", "0x10042d8e"], ["0x10041d31", "mov dword ptr [edx + 4], ebx", "0x10042d91"], ["0x10041d34", "mov ecx, dword ptr [ecx + 8]", "0x10042d94"], ["0x10041d37", "mov dword ptr [edx + 8], ecx", "0x10042d97"]]}]], ["@@ -0x10041da0,25 +0x10042e00,25 @@", [{"both": [["0x10041da0", "mov byte ptr [esi + 0x38], 0", "0x10042e00"], ["0x10041da4", "mov dword ptr [ebp - 0x30], esi", "0x10042e04"], ["0x10041da7", "jmp 0x17", "0x10042e07"], ["0x10041da9", "mov ecx, dword ptr [ebp - 0x18]", "0x10042e09"], ["0x10041dac", "jmp list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::~list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> > (FUNCTION)", "0x10042e0c"], ["0x10041db1", "mov ecx, dword ptr [ebp - 0x18]", "0x10042e11"], ["0x10041db4", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x10042e14"], ["0x10041db9", "mov dword ptr [ebp - 0x30], 0", "0x10042e19"], ["0x10041dc0", "mov dword ptr [ebp - 4], 0xffffffff", "0x10042e20"], ["0x10041dc7", "mov eax, dword ptr [ebp - 0x30]", "0x10042e27"]]}, {"orig": [], "recomp": [["0x10042e2a", "mov ecx, dword ptr [ebp - 0x94]"], ["0x10042e30", "push ecx"], ["0x10042e31", "mov ebx, dword ptr [ebp - 0x68]"], ["0x10042e34", "lea ecx, [ebp - 0x68]"]]}, {"both": [["0x10041dca", "mov dword ptr [ebp - 0x14], eax", "0x10042e37"]]}, {"orig": [["0x10041dcd", "mov ecx, dword ptr [ebp - 0x94]"], ["0x10041dd3", "mov ebx, dword ptr [ebp - 0x68]"], ["0x10041dd6", "push ecx"], ["0x10041dd7", "lea ecx, [ebp - 0x68]"]], "recomp": []}, {"both": [["0x10041dda", "call dword ptr [ebx + 0x20]", "0x10042e3a"], ["0x10041ddd", "lea ecx, [ebp - 0x90]", "0x10042e3d"], ["0x10041de3", "lea edx, [ebp - 0x60]", "0x10042e43"], ["0x10041de6", "mov eax, dword ptr [ecx]", "0x10042e46"], ["0x10041de8", "mov dword ptr [edx], eax", "0x10042e48"], ["0x10041dea", "lea eax, [ebp - 0x84]", "0x10042e4a"], ["0x10041df0", "mov ebx, dword ptr [ecx + 4]", "0x10042e50"], ["0x10041df3", "push eax", "0x10042e53"], ["0x10041df4", "mov dword ptr [edx + 4], ebx", "0x10042e54"], ["0x10041df7", "mov ecx, dword ptr [ecx + 8]", "0x10042e57"]]}]]]}, {"address": "0x10042300", "recomp": "0x10043360", "name": "Act3Brickster::FUN_10042300", "matching": 0.3502824858757062, "diff": [["@@ -0x10042300,150 +0x10043360,150 @@", [{"both": [["0x10042300", "mov eax, dword ptr fs:[0]", "0x10043360"], ["0x10042306", "push ebp", "0x10043366"], ["0x10042307", "mov ebp, esp", "0x10043367"], ["0x10042309", "push -1", "0x10043369"], ["0x1004230b", "push <OFFSET1>", "0x1004336b"], ["0x10042310", "push eax", "0x10043370"], ["0x10042311", "mov dword ptr fs:[0], esp", "0x10043371"]]}, {"orig": [["0x10042318", "sub esp, 0xa0"]], "recomp": [["0x10043378", "sub esp, 0x98"]]}, {"both": [["0x1004231e", "mov dword ptr [ebp - 0x10], ecx", "0x1004337e"], ["0x10042321", "push ebx", "0x10043381"], ["0x10042322", "push esi", "0x10043382"], ["0x10042323", "mov ebx, 1", "0x10043383"], ["0x10042328", "push edi", "0x10043388"]]}, {"orig": [["0x10042329", "lea esi, [ebp - 0xac]"]], "recomp": [["0x10043389", "lea esi, [ebp - 0xa4]"]]}, {"both": [["0x1004232f", "mov edi, dword ptr [ecx + 0x28]", "0x1004338f"], ["0x10042332", "mov ecx, esi", "0x10043392"], ["0x10042334", "add esi, 0x14", "0x10043394"], ["0x10042337", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10043397"], ["0x1004233c", "dec ebx", "0x1004339c"], ["0x1004233d", "jns -0xd", "0x1004339d"]]}, {"orig": [["0x1004233f", "lea eax, [ebp - 0x58]"], ["0x10042342", "lea ecx, [ebp - 0x2c]"], ["0x10042345", "mov dword ptr [ebp - 0x5c], eax"], ["0x10042348", "mov dword ptr [ebp - 0x30], ecx"]], "recomp": [["0x1004339f", "lea eax, [ebp - 0x68]"], ["0x100433a2", "lea ecx, [ebp - 0x24]"], ["0x100433a5", "mov dword ptr [ebp - 0x6c], eax"], ["0x100433a8", "mov dword ptr [ebp - 0x28], ecx"]]}, {"both": [["0x1004234b", "mov eax, Mx3DPointFloat::`vftable' (VTABLE)", "0x100433ab"]]}, {"orig": [["0x10042350", "mov dword ptr [ebp - 0x60], eax"], ["0x10042353", "mov dword ptr [ebp - 0x34], eax"]], "recomp": [["0x100433b0", "mov dword ptr [ebp - 0x70], eax"], ["0x100433b3", "mov dword ptr [ebp - 0x2c], eax"]]}, {"both": [["0x10042356", "mov ecx, dword ptr [edi + 0x4200]", "0x100433b6"], ["0x1004235c", "mov esi, Vector3::`vftable' (VTABLE)", "0x100433bc"]]}, {"orig": [["0x10042361", "mov dword ptr [ebp - 0x44], 0"]], "recomp": [["0x100433c1", "mov dword ptr [ebp - 0x38], 0"]]}, {"both": [["0x10042368", "mov eax, dword ptr [ecx + 4]", "0x100433c8"], ["0x1004236b", "mov edx, dword ptr [eax + 4]", "0x100433cb"], ["0x1004236e", "mov ecx, dword ptr [edx + ecx + 0x58]", "0x100433ce"], ["0x10042372", "mov eax, dword ptr [ecx + 0x14]", "0x100433d2"], ["0x10042375", "lea ecx, [ebp - 0x18]", "0x100433d5"], ["0x10042378", "add eax, 0x30", "0x100433d8"], ["0x1004237b", "push ecx", "0x100433db"]]}, {"orig": [["0x1004237c", "lea ecx, [ebp - 0xac]"]], "recomp": [["0x100433dc", "lea ecx, [ebp - 0xa4]"]]}, {"both": [["0x10042382", "mov dword ptr [ebp - 0x14], eax", "0x100433e2"]]}, {"orig": [["0x10042385", "mov eax, dword ptr [ebp - 0xac]"]], "recomp": [["0x100433e5", "mov eax, dword ptr [ebp - 0xa4]"]]}, {"both": [["0x1004238b", "mov dword ptr [ebp - 0x18], esi", "0x100433eb"], ["0x1004238e", "call dword ptr [eax + 0x88]", "0x100433ee"], ["0x10042394", "mov ecx, dword ptr [edi + 0x4204]", "0x100433f4"], ["0x1004239a", "mov edx, dword ptr [ecx + 4]", "0x100433fa"], ["0x1004239d", "mov eax, dword ptr [edx + 4]", "0x100433fd"], ["0x100423a0", "mov ecx, dword ptr [eax + ecx + 0x58]", "0x10043400"], ["0x100423a4", "mov eax, dword ptr [ecx + 0x14]", "0x10043404"], ["0x100423a7", "lea ecx, [ebp - 0x18]", "0x10043407"], ["0x100423aa", "add eax, 0x30", "0x1004340a"], ["0x100423ad", "push ecx", "0x1004340d"]]}, {"orig": [["0x100423ae", "lea ecx, [ebp - 0x98]"], ["0x100423b4", "mov ebx, dword ptr [ebp - 0x98]"]], "recomp": [["0x1004340e", "lea ecx, [ebp - 0x90]"], ["0x10043414", "mov ebx, dword ptr [ebp - 0x90]"]]}, {"both": [["0x100423ba", "mov dword ptr [ebp - 0x14], eax", "0x1004341a"], ["0x100423bd", "mov dword ptr [ebp - 0x18], esi", "0x1004341d"], ["0x100423c0", "call dword ptr [ebx + 0x88]", "0x10043420"], ["0x100423c6", "mov ecx, dword ptr [ebp - 0x10]", "0x10043426"], ["0x100423c9", "mov eax, dword ptr [ecx + 4]", "0x10043429"], ["0x100423cc", "mov edx, dword ptr [eax + 4]", "0x1004342c"], ["0x100423cf", "mov eax, dword ptr [edx + ecx + 0x58]", "0x1004342f"]]}, {"orig": [["0x100423d3", "lea ecx, [ebp - 0x60]"], ["0x100423d6", "mov ebx, dword ptr [ebp - 0x60]"]], "recomp": [["0x10043433", "lea ecx, [ebp - 0x70]"], ["0x10043436", "mov ebx, dword ptr [ebp - 0x70]"]]}, {"both": [["0x100423d9", "mov eax, dword ptr [eax + 0x14]", "0x10043439"], ["0x100423dc", "add eax, 0x30", "0x1004343c"], ["0x100423df", "mov dword ptr [ebp - 0x14], eax", "0x1004343f"], ["0x100423e2", "mov dword ptr [ebp - 0x18], esi", "0x10043442"], ["0x100423e5", "lea esi, [ebp - 0x18]", "0x10043445"], ["0x100423e8", "push esi", "0x10043448"], ["0x100423e9", "call dword ptr [ebx + 0x88]", "0x10043449"]]}, {"orig": [["0x100423ef", "mov eax, dword ptr [ebp - 0xa8]"], ["0x100423f5", "lea ecx, [ebp - 0x34]"]], "recomp": [["0x1004344f", "mov eax, dword ptr [ebp - 0xa0]"], ["0x10043455", "lea ecx, [ebp - 0x2c]"]]}, {"both": [["0x100423f8", "push eax", "0x10043458"]]}, {"orig": [["0x100423f9", "mov esi, dword ptr [ebp - 0x34]"]], "recomp": [["0x10043459", "mov esi, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100423fc", "call dword ptr [esi + 0x20]", "0x1004345c"]]}, {"orig": [["0x100423ff", "mov ebx, dword ptr [ebp - 0xa0]"], ["0x10042405", "lea ecx, [ebp - 0xa4]"], ["0x1004240b", "lea edx, [ebp - 0x2c]"]], "recomp": [["0x1004345f", "mov ebx, dword ptr [ebp - 0x98]"], ["0x10043465", "lea ecx, [ebp - 0x9c]"], ["0x1004346b", "lea edx, [ebp - 0x24]"]]}, {"both": [["0x1004240e", "mov eax, dword ptr [ecx]", "0x1004346e"], ["0x10042410", "mov ecx, dword ptr [ecx + 8]", "0x10043470"], ["0x10042413", "mov dword ptr [edx], eax", "0x10043473"], ["0x10042415", "mov dword ptr [edx + 4], ebx", "0x10043475"], ["0x10042418", "mov dword ptr [edx + 8], ecx", "0x10043478"]]}, {"orig": [["0x1004241b", "lea eax, [ebp - 0x60]"], ["0x1004241e", "lea ecx, [ebp - 0x34]"]], "recomp": [["0x1004347b", "lea eax, [ebp - 0x70]"], ["0x1004347e", "lea ecx, [ebp - 0x2c]"]]}, {"both": [["0x10042421", "push eax", "0x10043481"]]}, {"orig": [["0x10042422", "mov ebx, dword ptr [ebp - 0x34]"]], "recomp": [["0x10043482", "mov ebx, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x10042425", "call dword ptr [ebx + 0x54]", "0x10043485"]]}, {"orig": [["0x10042428", "mov ecx, dword ptr [ebp - 0x30]"], ["0x1004242b", "mov eax, dword ptr [ebp - 0x30]"], ["0x1004242e", "add ecx, 4"], ["0x10042431", "add eax, 8"]], "recomp": [["0x10043488", "mov ecx, dword ptr [ebp - 0x28]"], ["0x1004348b", "mov edx, dword ptr [ebp - 0x28]"], ["0x1004348e", "add ecx, 8"], ["0x10043491", "add edx, 4"], ["0x10043494", "mov eax, dword ptr [ebp - 0x28]"], ["0x10043497", "fld dword ptr [eax]"], ["0x10043499", "fmul dword ptr [eax]"]]}, {"both": [["0x10042434", "fld dword ptr [ecx]", "0x1004349b"], ["0x10042436", "fmul dword ptr [ecx]", "0x1004349d"]]}, {"orig": [["0x10042438", "fld dword ptr [eax]"], ["0x1004243a", "fmul dword ptr [eax]"], ["0x1004243c", "mov ecx, dword ptr [ebp - 0x30]"], ["0x1004243f", "mov eax, dword ptr [ebp - 0x94]"], ["0x10042445", "push eax"], ["0x10042446", "mov ebx, dword ptr [ebp - 0x34]"]], "recomp": [["0x1004349f", "mov ecx, dword ptr [ebp - 0x8c]"], ["0x100434a5", "push ecx"], ["0x100434a6", "lea ecx, [ebp - 0x2c]"]]}, {"both": [["0x10042449", "faddp st(1)", "0x100434a9"]]}, {"orig": [["0x1004244b", "fld dword ptr [ecx]"], ["0x1004244d", "fmul dword ptr [ecx]"], ["0x1004244f", "lea ecx, [ebp - 0x34]"]], "recomp": [["0x100434ab", "fld dword ptr [edx]"], ["0x100434ad", "fmul dword ptr [edx]"], ["0x100434af", "mov ebx, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x10042452", "faddp st(1)", "0x100434b2"], ["0x10042454", "fstp dword ptr [ebp - 0x18]", "0x100434b4"], ["0x10042457", "call dword ptr [ebx + 0x20]", "0x100434b7"]]}, {"orig": [["0x1004245a", "mov ebx, dword ptr [ebp - 0x8c]"], ["0x10042460", "lea ecx, [ebp - 0x90]"], ["0x10042466", "lea edx, [ebp - 0x2c]"]], "recomp": [["0x100434ba", "mov ebx, dword ptr [ebp - 0x84]"], ["0x100434c0", "lea ecx, [ebp - 0x88]"], ["0x100434c6", "lea edx, [ebp - 0x24]"]]}, {"both": [["0x10042469", "mov eax, dword ptr [ecx]", "0x100434c9"], ["0x1004246b", "mov ecx, dword ptr [ecx + 8]", "0x100434cb"], ["0x1004246e", "mov dword ptr [edx], eax", "0x100434ce"]]}, {"orig": [["0x10042470", "lea eax, [ebp - 0x60]"]], "recomp": [["0x100434d0", "lea eax, [ebp - 0x70]"]]}, {"both": [["0x10042473", "mov dword ptr [edx + 4], ebx", "0x100434d3"], ["0x10042476", "push eax", "0x100434d6"], ["0x10042477", "mov dword ptr [edx + 8], ecx", "0x100434d7"]]}, {"orig": [["0x1004247a", "lea ecx, [ebp - 0x34]"], ["0x1004247d", "mov ebx, dword ptr [ebp - 0x34]"]], "recomp": [["0x100434da", "lea ecx, [ebp - 0x2c]"], ["0x100434dd", "mov ebx, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x10042480", "call dword ptr [ebx + 0x54]", "0x100434e0"]]}, {"orig": [["0x10042483", "mov ecx, dword ptr [ebp - 0x30]"], ["0x10042486", "mov eax, dword ptr [ebp - 0x30]"]], "recomp": [["0x100434e3", "mov edx, dword ptr [ebp - 0x28]"], ["0x100434e6", "mov ecx, dword ptr [ebp - 0x28]"], ["0x100434e9", "add edx, 8"]]}, {"both": [["0x10042489", "add ecx, 4", "0x100434ec"]]}, {"orig": [["0x1004248c", "add eax, 8"], ["0x1004248f", "fld dword ptr [ecx]"], ["0x10042491", "fmul dword ptr [ecx]"]], "recomp": [["0x100434ef", "mov eax, dword ptr [ebp - 0x28]"]]}, {"both": [["0x10042493", "fld dword ptr [eax]", "0x100434f2"], ["0x10042495", "fmul dword ptr [eax]", "0x100434f4"]]}, {"orig": [["0x10042497", "mov ecx, dword ptr [ebp - 0x30]"]], "recomp": [["0x100434f6", "fld dword ptr [edx]"], ["0x100434f8", "fmul dword ptr [edx]"]]}, {"both": [["0x1004249a", "faddp st(1)", "0x100434fa"], ["0x1004249c", "fld dword ptr [ecx]", "0x100434fc"], ["0x1004249e", "fmul dword ptr [ecx]", "0x100434fe"], ["0x100424a0", "faddp st(1)", "0x10043500"], ["0x100424a2", "fcom dword ptr [ebp - 0x18]", "0x10043502"], ["0x100424a5", "fstp dword ptr [ebp - 0x14]", "0x10043505"], ["0x100424a8", "fnstsw ax", "0x10043508"], ["0x100424aa", "test ah, 1", "0x1004350a"], ["0x100424ad", "je 0x7", "0x1004350d"]]}, {"orig": [["0x100424af", "mov dword ptr [ebp - 0x44], 1"], ["0x100424b6", "mov eax, dword ptr [ebp - 0x44]"]], "recomp": [["0x1004350f", "mov dword ptr [ebp - 0x38], 1"], ["0x10043516", "mov eax, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100424b9", "cmp dword ptr [ebp + eax*4 - 0x18], 0x43610000", "0x10043519"]]}, {"orig": [["0x100424c1", "jge 0x4ac"]], "recomp": [["0x10043521", "jge 0x2ab"]]}, {"both": [["0x100424c7", "mov ecx, dword ptr [ebp - 0x10]", "0x10043527"], ["0x100424ca", "mov eax, dword ptr [ecx + 4]", "0x1004352a"], ["0x100424cd", "mov dword ptr [ecx + 0x38], 8", "0x1004352d"], ["0x100424d4", "mov edx, dword ptr [eax + 4]", "0x10043534"], ["0x100424d7", "mov eax, dword ptr [edx + ecx + 0x138]", "0x10043537"], ["0x100424de", "test eax, eax", "0x1004353e"], ["0x100424e0", "je 0x2f", "0x10043540"], ["0x100424e2", "mov dword ptr [ebp - 4], 0xffffffff", "0x10043542"], ["0x100424e9", "mov dword ptr [ebp - 0x14], eax", "0x10043549"], ["0x100424ec", "call <OFFSET5>", "0x1004354c"]]}]], ["@@ -0x100424f5,201 +0x10043555,203 @@", [{"both": [["0x100424f5", "call ??3@YAXPAX@Z (FUNCTION)", "0x10043555"], ["0x100424fa", "add esp, 4", "0x1004355a"], ["0x100424fd", "mov ecx, dword ptr [ebp - 0x10]", "0x1004355d"], ["0x10042500", "mov eax, dword ptr [ecx + 4]", "0x10043560"], ["0x10042503", "mov edx, dword ptr [eax + 4]", "0x10043563"], ["0x10042506", "mov dword ptr [edx + ecx + 0x138], 0", "0x10043566"], ["0x10042511", "mov ecx, dword ptr [ebp - 0x10]", "0x10043571"], ["0x10042514", "cmp dword ptr [ecx + 0x2c], 0", "0x10043574"], ["0x10042518", "je 0x7", "0x10043578"], ["0x1004251a", "mov dword ptr [ecx + 0x2c], 0", "0x1004357a"]]}, {"orig": [["0x10042521", "xor edx, edx"]], "recomp": []}, {"both": [["0x10042523", "mov ecx, dword ptr [ebp - 0x10]", "0x10043581"]]}, {"orig": [["0x10042526", "mov dword ptr [ebp - 0x40], edx"]], "recomp": [["0x10043584", "lea edx, [ebp - 0x70]"], ["0x10043587", "mov eax, dword ptr [ecx + 4]"], ["0x1004358a", "push edx"], ["0x1004358b", "mov dword ptr [ebp - 0x30], 0"], ["0x10043592", "add ecx, dword ptr [eax + 4]"], ["0x10043595", "mov eax, dword ptr [ecx + 0x8c]"], ["0x1004359b", "mov ecx, dword ptr [ecx + 0xe4]"], ["0x100435a1", "mov dword ptr [ebp - 0x40], eax"], ["0x100435a4", "call LegoUnknown100db7f4::FUN_10048c40 (FUNCTION)"], ["0x100435a9", "test eax, eax"], ["0x100435ab", "je 0x3b"], ["0x100435ad", "mov ecx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x10042529", "mov eax, dword ptr [ecx + 4]", "0x100435b0"], ["0x1004252c", "mov eax, dword ptr [eax + 4]", "0x100435b3"], ["0x1004252f", "add eax, ecx", "0x100435b6"]]}, {"orig": [["0x10042531", "mov ecx, dword ptr [eax + 0x8c]"], ["0x10042537", "mov esi, dword ptr [eax + 0xe4]"], ["0x1004253d", "mov dword ptr [ebp - 0x4c], ecx"], ["0x10042540", "mov edi, dword ptr [esi + 0x2c]"], ["0x10042543", "fld dword ptr [edi]"], ["0x10042545", "fcom qword ptr [0.001 (FLOAT)]"], ["0x1004254b", "fstp qword ptr [ebp - 0x18]"], ["0x1004254e", "fnstsw ax"], ["0x10042550", "test ah, 0x41"], ["0x10042553", "je 0x66"], ["0x10042555", "fld qword ptr [ebp - 0x18]"], ["0x10042558", "fcomp qword ptr [-0.001 (FLOAT)]"], ["0x1004255e", "fnstsw ax"], ["0x10042560", "test ah, 1"], ["0x10042563", "jne 0x56"], ["0x10042565", "lea ebx, [esi + 0x1c]"], ["0x10042568", "mov eax, dword ptr [ebx]"], ["0x1004256a", "mov eax, dword ptr [eax + 4]"], ["0x1004256d", "fld dword ptr [eax]"], ["0x1004256f", "mov eax, dword ptr [ebp - 0x5c]"], ["0x10042572", "fstp qword ptr [ebp - 0x20]"], ["0x10042575", "fld dword ptr [eax]"], ["0x10042577", "fstp qword ptr [ebp - 0x18]"], ["0x1004257a", "fld qword ptr [ebp - 0x20]"], ["0x1004257d", "fadd qword ptr [0.001 (FLOAT)]"], ["0x10042583", "fcomp qword ptr [ebp - 0x18]"], ["0x10042586", "fnstsw ax"], ["0x10042588", "test ah, 1"], ["0x1004258b", "jne 0x1d5"], ["0x10042591", "fld qword ptr [ebp - 0x20]"], ["0x10042594", "fsub qword ptr [0.001 (FLOAT)]"], ["0x1004259a", "fcomp qword ptr [ebp - 0x18]"], ["0x1004259d", "fnstsw ax"], ["0x1004259f", "test ah, 0x41"], ["0x100425a2", "jne 0x4e"], ["0x100425a4", "jmp 0x1bd"], ["0x100425a9", "mov eax, <OFFSET9>"]], "recomp": [["0x100435b8", "mov ecx, dword ptr [eax + 0xe4]"], ["0x100435be", "mov edx, dword ptr [ecx + 4]"], ["0x100435c1", "cmp dword ptr [eax + 0x8c], edx"], ["0x100435c7", "jne 0x1a"], ["0x100435c9", "mov eax, dword ptr [ecx + 8]"], ["0x100435cc", "mov dword ptr [ebp - 0x3c], eax"], ["0x100435cf", "jmp 0x1e"], ["0x100435d1", "mov eax, <OFFSET8>"]]}, {"both": [["0x100425ae", "jmp ___CxxFrameHandler (FUNCTION)", "0x100435d6"], ["0x100425b3", "mov ecx, dword ptr [ebp - 0x14]", "0x100435db"], ["0x100425b6", "jmp List<LegoBoundaryEdge>::~List<LegoBoundaryEdge> (FUNCTION)", "0x100435de"]]}, {"orig": [["0x100425bb", "lea ebx, [esi + 0x1c]"]], "recomp": [["0x100435e3", "mov dword ptr [ebp - 0x3c], edx"], ["0x100435e6", "jmp 0x7"], ["0x100435e8", "mov dword ptr [ebp - 0x3c], 0"], ["0x100435ef", "lea eax, [ebp - 0x40]"], ["0x100435f2", "mov dword ptr [ebp - 0x34], eax"], ["0x100435f5", "mov eax, dword ptr [ebp - 0x34]"], ["0x100435f8", "xor ebx, ebx"], ["0x100435fa", "mov ecx, dword ptr [eax]"], ["0x100435fc", "mov dword ptr [ebp - 0x14], ecx"], ["0x100435ff", "cmp ecx, ebx"], ["0x10043601", "je 0x16e"], ["0x10043607", "mov dword ptr [ebp - 0x44], ebx"], ["0x1004360a", "cmp byte ptr [ecx + 4], bl"], ["0x1004360d", "jbe 0x162"], ["0x10043613", "mov dword ptr [ebp - 0x7c], ecx"], ["0x10043616", "mov eax, dword ptr [ebp - 0x7c]"], ["0x10043619", "mov ecx, dword ptr [eax + 8]"], ["0x1004361c", "mov esi, dword ptr [ecx + ebx]"], ["0x1004361f", "test byte ptr [esi + 0x24], 3"], ["0x10043623", "je 0x135"], ["0x10043629", "mov eax, dword ptr [esi + 0x1c]"], ["0x1004362c", "lea ecx, [ebp - 0x54]"], ["0x1004362f", "mov dword ptr [ebp - 0x5c], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10043636", "mov dword ptr [ebp - 0x58], ecx"], ["0x10043639", "mov edx, dword ptr [eax + 4]"], ["0x1004363c", "mov eax, dword ptr [edx]"], ["0x1004363e", "mov dword ptr [ecx], eax"], ["0x10043640", "mov edi, dword ptr [edx + 4]"], ["0x10043643", "mov dword ptr [ecx + 4], edi"], ["0x10043646", "mov edx, dword ptr [edx + 8]"], ["0x10043649", "mov dword ptr [ecx + 8], edx"], ["0x1004364c", "lea ecx, [ebp - 0x5c]"], ["0x1004364f", "mov eax, dword ptr [esi + 0x20]"], ["0x10043652", "mov edi, dword ptr [ebp - 0x5c]"], ["0x10043655", "push eax"], ["0x10043656", "call dword ptr [edi + 0x48]"], ["0x10043659", "lea ecx, [ebp - 0x78]"], ["0x1004365c", "mov edi, dword ptr [ebp - 0x5c]"], ["0x1004365f", "mov dword ptr [ebp - 0x78], 0x40000000"], ["0x10043666", "push ecx"], ["0x10043667", "lea ecx, [ebp - 0x5c]"], ["0x1004366a", "call dword ptr [edi + 0x68]"], ["0x1004366d", "mov ecx, dword ptr [ebp - 0x58]"], ["0x10043670", "mov eax, dword ptr [ebp - 0x2c]"], ["0x10043673", "push ecx"], ["0x10043674", "lea ecx, [ebp - 0x2c]"], ["0x10043677", "call dword ptr [eax + 0x20]"], ["0x1004367a", "mov edi, dword ptr [ebp - 0x50]"], ["0x1004367d", "lea edx, [ebp - 0x54]"], ["0x10043680", "lea ecx, [ebp - 0x24]"], ["0x10043683", "mov eax, dword ptr [edx]"], ["0x10043685", "mov edx, dword ptr [edx + 8]"], ["0x10043688", "mov dword ptr [ecx], eax"], ["0x1004368a", "mov eax, dword ptr [ebp - 0x38]"], ["0x1004368d", "mov dword ptr [ecx + 4], edi"], ["0x10043690", "shl eax, 2"], ["0x10043693", "mov dword ptr [ecx + 8], edx"], ["0x10043696", "lea edi, [eax + eax*4]"], ["0x10043699", "mov eax, dword ptr [ebp - 0x2c]"], ["0x1004369c", "lea ecx, [ebp + edi - 0xa4]"], ["0x100436a3", "push ecx"], ["0x100436a4", "lea ecx, [ebp - 0x2c]"], ["0x100436a7", "call dword ptr [eax + 0x54]"], ["0x100436aa", "mov ecx, dword ptr [ebp - 0x28]"], ["0x100436ad", "mov eax, dword ptr [ebp - 0x28]"], ["0x100436b0", "add ecx, 8"], ["0x100436b3", "add eax, 4"], ["0x100436b6", "mov edx, dword ptr [ebp - 0x28]"], ["0x100436b9", "fld dword ptr [edx]"], ["0x100436bb", "fmul dword ptr [edx]"], ["0x100436bd", "fld dword ptr [ecx]"], ["0x100436bf", "fmul dword ptr [ecx]"], ["0x100436c1", "lea ecx, [ebp - 0x5c]"], ["0x100436c4", "faddp st(1)"], ["0x100436c6", "fld dword ptr [eax]"], ["0x100436c8", "fmul dword ptr [eax]"], ["0x100436ca", "lea eax, [ebp - 0x70]"], ["0x100436cd", "push eax"], ["0x100436ce", "faddp st(1)"], ["0x100436d0", "fstp dword ptr [ebp - 0x48]"]]}, {"both": [["0x100425be", "mov eax, dword ptr [ebp - 0x5c]", "0x100436d3"]]}, {"orig": [["0x100425c1", "fld dword ptr [eax]"], ["0x100425c3", "mov edx, dword ptr [ebx]"], ["0x100425c5", "mov eax, dword ptr [edx + 4]"], ["0x100425c8", "fsub dword ptr [eax]"], ["0x100425ca", "fdiv dword ptr [edi]"], ["0x100425cc", "fcom dword ptr [0.0 (FLOAT)]"], ["0x100425d2", "fstp dword ptr [ebp - 0x14]"]], "recomp": [["0x100436d6", "call dword ptr [eax + 0x54]"], ["0x100436d9", "mov ecx, dword ptr [ebp + edi - 0xa0]"], ["0x100436e0", "mov eax, dword ptr [ebp - 0x2c]"], ["0x100436e3", "push ecx"], ["0x100436e4", "lea ecx, [ebp - 0x2c]"], ["0x100436e7", "call dword ptr [eax + 0x20]"], ["0x100436ea", "lea edx, [ebp + edi - 0x9c]"], ["0x100436f1", "lea ecx, [ebp - 0x24]"], ["0x100436f4", "mov eax, dword ptr [edx]"], ["0x100436f6", "mov edi, dword ptr [edx + 4]"], ["0x100436f9", "mov edx, dword ptr [edx + 8]"], ["0x100436fc", "mov dword ptr [ecx], eax"], ["0x100436fe", "lea eax, [ebp - 0x70]"], ["0x10043701", "mov dword ptr [ecx + 4], edi"], ["0x10043704", "push eax"], ["0x10043705", "mov dword ptr [ecx + 8], edx"], ["0x10043708", "lea ecx, [ebp - 0x2c]"], ["0x1004370b", "mov edi, dword ptr [ebp - 0x2c]"], ["0x1004370e", "call dword ptr [edi + 0x54]"], ["0x10043711", "cmp dword ptr [ebp - 0x30], 0"], ["0x10043715", "je 0x2b"], ["0x10043717", "mov eax, dword ptr [ebp - 0x28]"], ["0x1004371a", "mov ecx, dword ptr [ebp - 0x58]"], ["0x1004371d", "push eax"], ["0x1004371e", "mov edi, dword ptr [ebp - 0x2c]"], ["0x10043721", "push ecx"], ["0x10043722", "lea ecx, [ebp - 0x2c]"], ["0x10043725", "call dword ptr [edi + 0x18]"], ["0x10043728", "fcomp dword ptr [0.0 (FLOAT)]"]]}, {"both": [["0x100425d5", "fnstsw ax", "0x1004372e"], ["0x100425d7", "test ah, 1", "0x10043730"]]}, {"orig": [["0x100425da", "jne 0x186"], ["0x100425e0", "cmp dword ptr [ebp - 0x14], 0x3f800000"], ["0x100425e7", "jg 0x179"], ["0x100425ed", "mov edx, 1"], ["0x100425f2", "fld dword ptr [edi + 4]"], ["0x100425f5", "fcom qword ptr [0.001 (FLOAT)]"], ["0x100425fb", "fstp qword ptr [ebp - 0x20]"], ["0x100425fe", "fnstsw ax"], ["0x10042600", "test ah, 0x41"], ["0x10042603", "je 0x53"], ["0x10042605", "fld qword ptr [ebp - 0x20]"], ["0x10042608", "fcomp qword ptr [-0.001 (FLOAT)]"]], "recomp": [["0x10043733", "je 0x29"], ["0x10043735", "fld dword ptr [ebp - 0x74]"], ["0x10043738", "fcomp dword ptr [ebp - 0x48]"]]}, {"both": [["0x1004260e", "fnstsw ax", "0x1004373b"], ["0x10042610", "test ah, 1", "0x1004373d"]]}, {"orig": [["0x10042613", "jne 0x43"], ["0x10042615", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10043740", "je 0x1c"], ["0x10043742", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10043745", "mov dword ptr [ebp - 0x30], esi"], ["0x10043748", "mov eax, dword ptr [ecx + 4]"], ["0x1004374b", "mov edx, dword ptr [eax + 4]"], ["0x1004374e", "mov eax, dword ptr [ebp - 0x14]"], ["0x10043751", "mov dword ptr [edx + ecx + 0x8c], eax"], ["0x10043758", "mov edx, dword ptr [ebp - 0x48]"], ["0x1004375b", "mov dword ptr [ebp - 0x74], edx"], ["0x1004375e", "mov eax, dword ptr [ebp - 0x14]"], ["0x10043761", "inc dword ptr [ebp - 0x44]"], ["0x10043764", "add ebx, 4"], ["0x10043767", "xor ecx, ecx"], ["0x10043769", "mov cl, byte ptr [eax + 4]"], ["0x1004376c", "cmp ecx, dword ptr [ebp - 0x44]"], ["0x1004376f", "jg -0x15f"], ["0x10043775", "add dword ptr [ebp - 0x34], 4"], ["0x10043779", "lea eax, [ebp - 0x38]"], ["0x1004377c", "cmp dword ptr [ebp - 0x34], eax"], ["0x1004377f", "jb -0x190"], ["0x10043785", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10043788", "mov ebx, dword ptr [ebp - 0x30]"], ["0x1004378b", "mov eax, dword ptr [ecx + 4]"], ["0x1004378e", "mov edx, dword ptr [eax + 4]"], ["0x10043791", "mov dword ptr [edx + ecx + 0xe4], ebx"], ["0x10043798", "mov edx, dword ptr [ebp - 0x40]"], ["0x1004379b", "mov eax, dword ptr [ecx + 4]"]]}, {"both": [["0x10042617", "mov eax, dword ptr [eax + 4]", "0x1004379e"]]}, {"orig": [["0x1004261a", "fld dword ptr [eax + 4]"], ["0x1004261d", "mov eax, dword ptr [ebp - 0x5c]"], ["0x10042620", "fstp qword ptr [ebp - 0x3c]"], ["0x10042623", "fld dword ptr [eax + 4]"], ["0x10042626", "fstp qword ptr [ebp - 0x20]"], ["0x10042629", "fld qword ptr [ebp - 0x3c]"], ["0x1004262c", "fadd qword ptr [0.001 (FLOAT)]"], ["0x10042632", "fcomp qword ptr [ebp - 0x20]"], ["0x10042635", "fnstsw ax"], ["0x10042637", "test ah, 1"], ["0x1004263a", "jne 0x126"], ["0x10042640", "fld qword ptr [ebp - 0x3c]"], ["0x10042643", "fsub qword ptr [0.001 (FLOAT)]"], ["0x10042649", "fcomp qword ptr [ebp - 0x20]"], ["0x1004264c", "fnstsw ax"], ["0x1004264e", "test ah, 0x41"], ["0x10042651", "jne 0x63"], ["0x10042653", "jmp 0x10e"], ["0x10042658", "mov eax, dword ptr [ebp - 0x5c]"], ["0x1004265b", "test edx, edx"], ["0x1004265d", "fld dword ptr [eax + 4]"], ["0x10042660", "mov eax, dword ptr [ebx]"], ["0x10042662", "mov eax, dword ptr [eax + 4]"], ["0x10042665", "fsub dword ptr [eax + 4]"], ["0x10042668", "fdiv dword ptr [edi + 4]"], ["0x1004266b", "je 0x3b"], ["0x1004266d", "fst dword ptr [ebp - 0x1c]"], ["0x10042670", "fstp qword ptr [ebp - 0x3c]"], ["0x10042673", "fld dword ptr [ebp - 0x14]"], ["0x10042676", "fstp qword ptr [ebp - 0x20]"], ["0x10042679", "fld qword ptr [ebp - 0x3c]"], ["0x1004267c", "fadd qword ptr [0.001 (FLOAT)]"], ["0x10042682", "fcomp qword ptr [ebp - 0x20]"], ["0x10042685", "fnstsw ax"], ["0x10042687", "test ah, 1"], ["0x1004268a", "jne 0xd6"], ["0x10042690", "fld qword ptr [ebp - 0x3c]"], ["0x10042693", "fsub qword ptr [0.001 (FLOAT)]"], ["0x10042699", "fcomp qword ptr [ebp - 0x20]"], ["0x1004269c", "fnstsw ax"], ["0x1004269e", "test ah, 0x41"], ["0x100426a1", "jne 0x13"], ["0x100426a3", "jmp 0xbe"], ["0x100426a8", "fstp dword ptr [ebp - 0x1c]"], ["0x100426ab", "mov edx, 1"], ["0x100426b0", "mov eax, dword ptr [ebp - 0x1c]"], ["0x100426b3", "mov dword ptr [ebp - 0x14], eax"], ["0x100426b6", "fld dword ptr [edi + 8]"], ["0x100426b9", "fcom qword ptr [0.001 (FLOAT)]"], ["0x100426bf", "fstp qword ptr [ebp - 0x20]"], ["0x100426c2", "fnstsw ax"], ["0x100426c4", "test ah, 0x41"], ["0x100426c7", "je 0x4c"], ["0x100426c9", "fld qword ptr [ebp - 0x20]"], ["0x100426cc", "fcomp qword ptr [-0.001 (FLOAT)]"], ["0x100426d2", "fnstsw ax"], ["0x100426d4", "test ah, 1"], ["0x100426d7", "jne 0x3c"], ["0x100426d9", "mov eax, dword ptr [ebx]"], ["0x100426db", "mov ebx, dword ptr [ebp - 0x5c]"]], "recomp": [["0x100437a1", "add eax, ecx"], ["0x100437a3", "cmp dword ptr [eax + 0x8c], edx"], ["0x100437a9", "je 0x12"], ["0x100437ab", "fld qword ptr [1.0 (FLOAT)]"], ["0x100437b1", "fsub dword ptr [eax + 0xe8]"], ["0x100437b7", "fstp dword ptr [eax + 0xe8]"], ["0x100437bd", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100437c0", "mov eax, dword ptr [ecx + 4]"]]}, {"both": [["0x100426de", "mov edx, dword ptr [eax + 4]", "0x100437c3"]]}, {"orig": [["0x100426e1", "fld dword ptr [edx + 8]"], ["0x100426e4", "fstp qword ptr [ebp - 0x20]"], ["0x100426e7", "fld dword ptr [ebx + 8]"], ["0x100426ea", "fstp qword ptr [ebp - 0x18]"], ["0x100426ed", "fld qword ptr [ebp - 0x20]"], ["0x100426f0", "fadd qword ptr [0.001 (FLOAT)]"], ["0x100426f6", "fcomp qword ptr [ebp - 0x18]"], ["0x100426f9", "fnstsw ax"], ["0x100426fb", "test ah, 1"], ["0x100426fe", "jne 0x66"], ["0x10042700", "fld qword ptr [ebp - 0x20]"], ["0x10042703", "fsub qword ptr [0.001 (FLOAT)]"], ["0x10042709", "fcomp qword ptr [ebp - 0x18]"], ["0x1004270c", "fnstsw ax"], ["0x1004270e", "test ah, 0x41"], ["0x10042711", "jne 0x4c"], ["0x10042713", "jmp 0x51"], ["0x10042715", "mov eax, dword ptr [ebp - 0x5c]"], ["0x10042718", "mov ebx, dword ptr [ebx]"], ["0x1004271a", "test edx, edx"], ["0x1004271c", "fld dword ptr [eax + 8]"], ["0x1004271f", "mov eax, dword ptr [ebx + 4]"], ["0x10042722", "fsub dword ptr [eax + 8]"], ["0x10042725", "fdiv dword ptr [edi + 8]"], ["0x10042728", "fstp dword ptr [ebp - 0x1c]"], ["0x1004272b", "je 0x32"], ["0x1004272d", "fld dword ptr [ebp - 0x1c]"], ["0x10042730", "fstp qword ptr [ebp - 0x20]"], ["0x10042733", "fld dword ptr [ebp - 0x14]"], ["0x10042736", "fstp qword ptr [ebp - 0x18]"], ["0x10042739", "fld qword ptr [ebp - 0x20]"], ["0x1004273c", "fadd qword ptr [0.001 (FLOAT)]"], ["0x10042742", "fcomp qword ptr [ebp - 0x18]"], ["0x10042745", "fnstsw ax"], ["0x10042747", "test ah, 1"], ["0x1004274a", "jne 0x1a"], ["0x1004274c", "fld qword ptr [ebp - 0x20]"], ["0x1004274f", "fsub qword ptr [0.001 (FLOAT)]"], ["0x10042755", "fcomp qword ptr [ebp - 0x18]"], ["0x10042758", "fnstsw ax"], ["0x1004275a", "test ah, 0x41"], ["0x1004275d", "je 0x7"], ["0x1004275f", "mov eax, 1"], ["0x10042764", "jmp 0x2"], ["0x10042766", "xor eax, eax"], ["0x10042768", "test eax, eax"], ["0x1004276a", "je 0x14"], ["0x1004276c", "mov eax, dword ptr [esi + 4]"], ["0x1004276f", "cmp eax, ecx"], ["0x10042771", "jne 0x8"], ["0x10042773", "mov eax, dword ptr [esi + 8]"], ["0x10042776", "mov dword ptr [ebp - 0x48], eax"], ["0x10042779", "jmp 0xc"], ["0x1004277b", "mov dword ptr [ebp - 0x48], eax"], ["0x1004277e", "jmp 0x7"], ["0x10042780", "mov dword ptr [ebp - 0x48], 0"]], "recomp": [["0x100437c6", "lea ecx, [edx + ecx + 4]"], ["0x100437ca", "mov eax, dword ptr [ecx]"], ["0x100437cc", "call dword ptr [eax + 0x9c]"], ["0x100437d2", "mov eax, 0xffffffff"], ["0x100437d7", "mov ecx, dword ptr [ebp - 0xc]"], ["0x100437da", "mov dword ptr fs:[0], ecx"], ["0x100437e1", "pop edi"], ["0x100437e2", "pop esi"], ["0x100437e3", "pop ebx"], ["0x100437e4", "mov esp, ebp"], ["0x100437e6", "pop ebp"], ["0x100437e7", "ret "]]}]]]}, {"address": "0x10042990", "recomp": "0x10043a80", "name": "Act3Brickster::SwitchBoundary", "matching": 1.0, "diff": []}, {"address": "0x100429d0", "recomp": "0x10043ac0", "name": "Act3Brickster::VTable0x9c", "matching": 1.0, "diff": []}, {"address": "0x10042ab0", "recomp": "0x10043ba0", "name": "Act3Shark::Act3Shark", "matching": 1.0, "diff": []}, {"address": "0x10042c20", "recomp": "0x10043d10", "name": "list<Act3Ammo *,allocator<Act3Ammo *> >::~list<Act3Ammo *,allocator<Act3Ammo *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x10042c20,36 +0x10043d10,36 @@", [{"both": [["0x10042c20", "sub esp, 0xc", "0x10043d10"], ["0x10042c23", "push esi", "0x10043d13"], ["0x10042c24", "push edi", "0x10043d14"], ["0x10042c25", "mov eax, dword ptr [ecx + 4]", "0x10043d15"], ["0x10042c28", "mov esi, ecx", "0x10043d18"], ["0x10042c2a", "mov dword ptr [esp + 0x10], eax", "0x10043d1a"], ["0x10042c2e", "mov ecx, dword ptr [eax]", "0x10043d1e"], ["0x10042c30", "mov edi, ecx", "0x10043d20"]]}, {"orig": [["0x10042c32", "cmp ecx, eax"]], "recomp": [["0x10043d22", "cmp eax, ecx"]]}, {"both": [["0x10042c34", "je 0x2e", "0x10043d24"], ["0x10042c36", "lea edx, [edi + 4]", "0x10043d26"], ["0x10042c39", "mov dword ptr [esp + 8], edi", "0x10043d29"], ["0x10042c3d", "mov eax, edi", "0x10043d2d"], ["0x10042c3f", "mov edi, dword ptr [edi]", "0x10043d2f"], ["0x10042c41", "mov ecx, dword ptr [edx]", "0x10043d31"], ["0x10042c43", "mov eax, dword ptr [eax]", "0x10043d33"], ["0x10042c45", "mov dword ptr [ecx], eax", "0x10043d35"], ["0x10042c47", "mov ecx, dword ptr [edx]", "0x10043d37"], ["0x10042c49", "mov eax, dword ptr [esp + 8]", "0x10043d39"], ["0x10042c4d", "push eax", "0x10043d3d"], ["0x10042c4e", "mov edx, dword ptr [eax]", "0x10043d3e"], ["0x10042c50", "mov dword ptr [edx + 4], ecx", "0x10043d40"], ["0x10042c53", "call ??3@YAXPAX@Z (FUNCTION)", "0x10043d43"], ["0x10042c58", "add esp, 4", "0x10043d48"], ["0x10042c5b", "dec dword ptr [esi + 8]", "0x10043d4b"]]}, {"orig": [["0x10042c5e", "cmp edi, dword ptr [esp + 0x10]"]], "recomp": [["0x10043d4e", "cmp dword ptr [esp + 0x10], edi"]]}, {"both": [["0x10042c62", "jne -0x2e", "0x10043d52"], ["0x10042c64", "mov eax, dword ptr [esi + 4]", "0x10043d54"], ["0x10042c67", "push eax", "0x10043d57"], ["0x10042c68", "call ??3@YAXPAX@Z (FUNCTION)", "0x10043d58"], ["0x10042c6d", "mov dword ptr [esi + 4], 0", "0x10043d5d"], ["0x10042c74", "add esp, 4", "0x10043d64"], ["0x10042c77", "mov dword ptr [esi + 8], 0", "0x10043d67"], ["0x10042c7e", "pop edi", "0x10043d6e"], ["0x10042c7f", "pop esi", "0x10043d6f"], ["0x10042c80", "add esp, 0xc", "0x10043d70"]]}]]]}, {"address": "0x10042c90", "recomp": "0x10043d80", "name": "List<Act3Ammo *>::~List<Act3Ammo *>", "matching": 1.0, "diff": []}, {"address": "0x10042ce0", "recomp": "0x10043dd0", "name": "Act3Shark::EatPizza", "matching": 1.0, "diff": []}, {"address": "0x10042d40", "recomp": "0x10043e30", "name": "Act3Shark::Animate", "matching": 0.9707112970711297, "diff": [["@@ -0x10042d92,26 +0x10043e82,25 @@", [{"both": [["0x10042d92", "mov dword ptr [esp + 0x1c], eax", "0x10043e82"], ["0x10042d96", "mov dword ptr [esp + 0x18], Vector3::`vftable' (VTABLE)", "0x10043e86"], ["0x10042d9e", "mov eax, dword ptr [ecx]", "0x10043e8e"], ["0x10042da0", "call dword ptr [eax + 0x88]", "0x10043e90"], ["0x10042da6", "mov edx, dword ptr [edi + 4]", "0x10043e96"], ["0x10042da9", "mov ecx, 1", "0x10043e99"], ["0x10042dae", "mov byte ptr [edx + 0xc], cl", "0x10043e9e"], ["0x10042db1", "mov eax, dword ptr [edi + 8]", "0x10043ea1"], ["0x10042db4", "mov byte ptr [eax + 0xc], cl", "0x10043ea4"], ["0x10042db7", "cmp dword ptr [esi - 0x2c], 0", "0x10043ea7"]]}, {"orig": [["0x10042dbb", "je 0x108"]], "recomp": [["0x10043eab", "je 0x104"]]}, {"both": [["0x10042dc1", "mov ecx, dword ptr [esi - 0x20]", "0x10043eb1"], ["0x10042dc4", "call LegoAnimActorStruct::GetDuration (FUNCTION)", "0x10043eb4"], ["0x10042dc9", "fadd dword ptr [esi - 0x28]", "0x10043eb9"]]}, {"orig": [["0x10042dcc", "fcom dword ptr [esp + 0x60]"], ["0x10042dd0", "fstp dword ptr [esp + 0x14]"]], "recomp": [["0x10043ebc", "fcomp dword ptr [esp + 0x60]"]]}, {"both": [["0x10042dd4", "fnstsw ax", "0x10043ec0"], ["0x10042dd6", "test ah, 0x41", "0x10043ec2"], ["0x10042dd9", "jne 0xc7", "0x10043ec5"], ["0x10042ddf", "fld dword ptr [esp + 0x60]", "0x10043ecb"], ["0x10042de3", "fsub dword ptr [esi - 0x28]", "0x10043ecf"], ["0x10042de6", "fcom dword ptr [0.0 (FLOAT)]", "0x10043ed2"], ["0x10042dec", "fstp dword ptr [esp + 8]", "0x10043ed8"], ["0x10042df0", "fnstsw ax", "0x10043edc"], ["0x10042df2", "test ah, 1", "0x10043ede"], ["0x10042df5", "je 0x8", "0x10043ee1"]]}]], ["@@ -0x10042eb0,10 +0x10043f9c,12 @@", [{"both": [["0x10042eb0", "mov ecx, dword ptr [esi - 0x24]", "0x10043f9c"], ["0x10042eb3", "call Act3::RemovePizza (FUNCTION)", "0x10043f9f"], ["0x10042eb8", "xor ecx, ecx", "0x10043fa4"], ["0x10042eba", "mov dword ptr [esi - 0x2c], ecx", "0x10043fa6"], ["0x10042ebd", "mov edx, dword ptr [edi + 4]", "0x10043fa9"], ["0x10042ec0", "mov byte ptr [edx + 0xc], cl", "0x10043fac"], ["0x10042ec3", "mov eax, dword ptr [edi + 8]", "0x10043faf"], ["0x10042ec6", "mov byte ptr [eax + 0xc], cl", "0x10043fb2"], ["0x10042ec9", "pop edi", "0x10043fb5"], ["0x10042eca", "pop esi", "0x10043fb6"]]}, {"orig": [], "recomp": [["0x10043fb7", "add esp, 0x54"], ["0x10043fba", "ret 4"]]}]]]}, {"address": "0x10042ee0", "recomp": "0x10043fc0", "name": "list<Act3Ammo *,allocator<Act3Ammo *> >::erase", "matching": 1.0, "diff": []}, {"address": "0x10042f30", "recomp": "0x10044010", "name": "Act3Shark::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x10043020", "recomp": "0x10044310", "name": "Act3Shark::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043030", "recomp": "0x10044320", "name": "Act3Shark::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100430c0", "recomp": "0x100443b0", "name": "Act3Shark::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100430d0", "recomp": "0x100443c0", "name": "Act3Shark::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100430e0", "recomp": "0x100443d0", "name": "Act3Shark::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100430f0", "recomp": "0x100443e0", "name": "LegoAnimActor::SetWorldSpeed`vtordisp{-4, 52}'", "matching": 1.0, "diff": []}, {"address": "0x10043100", "recomp": "0x100443f0", "name": "Act3Shark::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043110", "recomp": "0x10044100", "name": "Act3Cop::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043120", "recomp": "0x10044110", "name": "Act3Cop::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100431a0", "recomp": "0x10044190", "name": "Act3Actor::ClassName`vtordisp{-4, 16}'", "matching": 1.0, "diff": []}, {"address": "0x100431b0", "recomp": "0x100441a0", "name": "Act3Actor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100431c0", "recomp": "0x100441b0", "name": "LegoAnimActor::IsA`vtordisp{-4, 20}'", "matching": 1.0, "diff": []}, {"address": "0x100431d0", "recomp": "0x100441c0", "name": "Act3Cop::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100431e0", "recomp": "0x100441d0", "name": "LegoAnimActor::SetWorldSpeed`vtordisp{-4, 20}'", "matching": 1.0, "diff": []}, {"address": "0x100431f0", "recomp": "0x100441e0", "name": "Act3Cop::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043200", "recomp": "0x100441f0", "name": "LegoAnimActor::VTable0x74`vtordisp{-4, 20}'", "matching": 1.0, "diff": []}, {"address": "0x10043210", "recomp": "0x10044200", "name": "Act3Actor::VTable0x90`vtordisp{-4, 16}'", "matching": 1.0, "diff": []}, {"address": "0x10043220", "recomp": "0x10044210", "name": "Act3Cop::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043230", "recomp": "0x10044220", "name": "Act3Cop::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043240", "recomp": "0x10044230", "name": "Act3Brickster::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043250", "recomp": "0x10044240", "name": "Act3Brickster::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10043280", "recomp": "0x10044270", "name": "Act3Actor::ClassName`vtordisp{-4, 60}'", "matching": 1.0, "diff": []}, {"address": "0x10043290", "recomp": "0x10044280", "name": "LegoAnimActor::IsA`vtordisp{-4, 64}'", "matching": 1.0, "diff": []}, {"address": "0x100432a0", "recomp": "0x10044290", "name": "Act3Brickster::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100432b0", "recomp": "0x100442a0", "name": "LegoAnimActor::SetWorldSpeed`vtordisp{-4, 64}'", "matching": 1.0, "diff": []}, {"address": "0x100432c0", "recomp": "0x100442b0", "name": "Act3Brickster::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100432d0", "recomp": "0x100442c0", "name": "LegoAnimActor::VTable0x74`vtordisp{-4, 64}'", "matching": 1.0, "diff": []}, {"address": "0x100432e0", "recomp": "0x100442d0", "name": "Act3Actor::VTable0x90`vtordisp{-4, 60}'", "matching": 1.0, "diff": []}, {"address": "0x100432f0", "recomp": "0x100442e0", "name": "Act3Brickster::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043300", "recomp": "0x100442f0", "name": "Act3Brickster::SwitchBoundary`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043310", "recomp": "0x10044300", "name": "Act3Brickster::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043320", "recomp": "0x10044400", "name": "Act3Actor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043330", "recomp": "0x10044410", "name": "Act3Actor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100433b0", "recomp": "0x10044490", "name": "Act3Actor::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100433c0", "recomp": "0x100444a0", "name": "LegoAnimActor::IsA`vtordisp{-4, 4}'", "matching": 1.0, "diff": []}, {"address": "0x100433d0", "recomp": "0x100444b0", "name": "LegoAnimActor::ParseAction`vtordisp{-4, 4}'", "matching": 1.0, "diff": []}, {"address": "0x100433e0", "recomp": "0x100444c0", "name": "LegoAnimActor::SetWorldSpeed`vtordisp{-4, 4}'", "matching": 1.0, "diff": []}, {"address": "0x100433f0", "recomp": "0x100444d0", "name": "LegoAnimActor::Animate`vtordisp{-4, 4}'", "matching": 1.0, "diff": []}, {"address": "0x10043400", "recomp": "0x100444e0", "name": "LegoAnimActor::VTable0x74`vtordisp{-4, 4}'", "matching": 1.0, "diff": []}, {"address": "0x10043410", "recomp": "0x100444f0", "name": "Act3Actor::VTable0x90`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043420", "recomp": "0x10044500", "name": "Act3Actor::HitActor`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10043430", "recomp": "0x10044510", "name": "LegoMeterPresenter::LegoMeterPresenter", "matching": 1.0, "diff": []}, {"address": "0x10043550", "recomp": "0x10044630", "name": "MxStillPresenter::~MxStillPresenter", "matching": 1.0, "diff": []}, {"address": "0x100435b0", "recomp": "0x100447b0", "name": "MxStillPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100435c0", "recomp": "0x10044690", "name": "MxStillPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100435d0", "recomp": "0x100446a0", "name": "MxStillPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100436e0", "recomp": "0x100447c0", "name": "MxStillPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10043760", "recomp": "0x10044840", "name": "LegoMeterPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10043780", "recomp": "0x10044860", "name": "LegoMeterPresenter::~LegoMeterPresenter", "matching": 1.0, "diff": []}, {"address": "0x10043800", "recomp": "0x100448e0", "name": "LegoMeterPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x10043990", "recomp": "0x10044a70", "name": "LegoMeterPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x10043a30", "recomp": "0x10044b10", "name": "LegoMeterPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x10043a50", "recomp": "0x10044b30", "name": "LegoMeterPresenter::DrawMeter", "matching": 0.9583333333333334, "diff": [["@@ -0x10043bd0,48 +0x10044cb0,48 @@", [{"both": [["0x10043bd0", "jne -0xf", "0x10044cb0"], ["0x10043bd2", "inc dx", "0x10044cb2"], ["0x10043bd4", "cmp word ptr [ebx + 0x8e], dx", "0x10044cb4"], ["0x10043bdb", "jg -0x91", "0x10044cbb"], ["0x10043be1", "pop ebp", "0x10044cc1"], ["0x10043be2", "pop edi", "0x10044cc2"], ["0x10043be3", "pop esi", "0x10044cc3"], ["0x10043be4", "pop ebx", "0x10044cc4"], ["0x10043be5", "add esp, 8", "0x10044cc5"], ["0x10043be8", "ret ", "0x10044cc8"]]}, {"orig": [["0x10043be9", "mov di, word ptr [ebx + 0x8e]"], ["0x10043bf0", "mov si, di"], ["0x10043bf3", "mov ax, di"]], "recomp": [["0x10044cc9", "mov si, word ptr [ebx + 0x8e]"], ["0x10044cd0", "mov di, si"], ["0x10044cd3", "mov ax, si"]]}, {"both": [["0x10043bf6", "sub ax, word ptr [ebx + 0x8a]", "0x10044cd6"], ["0x10043bfd", "inc ax", "0x10044cdd"], ["0x10043bff", "movsx ecx, ax", "0x10044cdf"], ["0x10043c02", "mov dword ptr [esp + 0x10], ecx", "0x10044ce2"], ["0x10043c06", "fild dword ptr [esp + 0x10]", "0x10044ce6"], ["0x10043c0a", "fmul dword ptr [ebx + 0x84]", "0x10044cea"], ["0x10043c10", "call __ftol (FUNCTION)", "0x10044cf0"]]}, {"orig": [["0x10043c15", "sub si, ax"]], "recomp": [["0x10044cf5", "sub di, ax"]]}, {"both": [["0x10043c18", "cmp di, si", "0x10044cf8"]]}, {"orig": [["0x10043c1b", "jle 0xb0"]], "recomp": [["0x10044cfb", "jge 0xb0"]]}, {"both": [["0x10043c21", "mov edx, dword ptr [ebx + 0x50]", "0x10044d01"], ["0x10043c24", "mov ecx, dword ptr [edx + 0xc]", "0x10044d04"], ["0x10043c27", "mov eax, dword ptr [ecx + 0x10]", "0x10044d07"], ["0x10043c2a", "test eax, eax", "0x10044d0a"], ["0x10043c2c", "jne 0x35", "0x10044d0c"], ["0x10043c2e", "cmp eax, 0x10", "0x10044d0e"], ["0x10043c31", "je 0x7", "0x10044d11"], ["0x10043c33", "mov eax, dword ptr [ecx + 8]", "0x10044d13"], ["0x10043c36", "test eax, eax", "0x10044d16"], ["0x10043c38", "jge 0x5", "0x10044d18"]]}, {"orig": [["0x10043c3a", "movsx eax, di"]], "recomp": [["0x10044d1a", "movsx eax, si"]]}, {"both": [["0x10043c3d", "jmp 0xa", "0x10044d1d"], ["0x10043c3f", "jg 0x2", "0x10044d1f"], ["0x10043c41", "neg eax", "0x10044d21"]]}, {"orig": [["0x10043c43", "movsx ebp, di"]], "recomp": [["0x10044d23", "movsx ebp, si"]]}, {"both": [["0x10043c46", "sub eax, ebp", "0x10044d26"], ["0x10043c48", "dec eax", "0x10044d28"], ["0x10043c49", "mov ecx, dword ptr [ecx + 4]", "0x10044d29"], ["0x10043c4c", "add ecx, 3", "0x10044d2c"], ["0x10043c4f", "and ecx, 0xfffffffc", "0x10044d2f"], ["0x10043c52", "imul ecx, eax", "0x10044d32"], ["0x10043c55", "movsx eax, word ptr [ebx + 0x88]", "0x10044d35"], ["0x10043c5c", "add ecx, dword ptr [edx + 0x14]", "0x10044d3c"], ["0x10043c5f", "add ecx, eax", "0x10044d3f"], ["0x10043c61", "jmp 0x29", "0x10044d41"]]}]], ["@@ -0x10043ca7,19 +0x10044d87,19 @@", [{"both": [["0x10043ca7", "je 0x5", "0x10044d87"], ["0x10043ca9", "mov al, byte ptr [ebx + 0x70]", "0x10044d89"], ["0x10043cac", "mov byte ptr [ecx], al", "0x10044d8c"], ["0x10043cae", "inc dx", "0x10044d8e"], ["0x10043cb0", "inc ecx", "0x10044d90"], ["0x10043cb1", "mov ax, word ptr [ebx + 0x8c]", "0x10044d91"], ["0x10043cb8", "sub ax, word ptr [ebx + 0x88]", "0x10044d98"], ["0x10043cbf", "inc ax", "0x10044d9f"], ["0x10043cc1", "cmp ax, dx", "0x10044da1"], ["0x10043cc4", "jg -0x22", "0x10044da4"]]}, {"orig": [["0x10043cc6", "dec di"]], "recomp": [["0x10044da6", "dec si"]]}, {"both": [["0x10043cc8", "cmp di, si", "0x10044da8"]]}, {"orig": [["0x10043ccb", "jg -0xb0"]], "recomp": [["0x10044dab", "jl -0xb0"]]}, {"both": [["0x10043cd1", "pop ebp", "0x10044db1"], ["0x10043cd2", "pop edi", "0x10044db2"], ["0x10043cd3", "pop esi", "0x10044db3"], ["0x10043cd4", "pop ebx", "0x10044db4"], ["0x10043cd5", "add esp, 8", "0x10044db5"], ["0x10043cd8", "ret ", "0x10044db8"]]}]]]}, {"address": "0x10043ce0", "recomp": "0x10044dc0", "name": "LegoActionControlPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x10043d40", "recomp": "0x10044e20", "name": "LegoActionControlPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x10043df0", "recomp": "0x10044ed0", "name": "LegoActionControlPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x10043e20", "recomp": "0x10044f00", "name": "LegoActionControlPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10043e50", "recomp": "0x10044f30", "name": "LegoActionControlPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x10043f50", "recomp": "0x10045030", "name": "MxControlPresenter::MxControlPresenter", "matching": 1.0, "diff": []}, {"address": "0x10043fd0", "recomp": "0x100451c0", "name": "MxControlPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x10043fe0", "recomp": "0x100451d0", "name": "MxControlPresenter::VTable0x64", "matching": 1.0, "diff": []}, {"address": "0x10043ff0", "recomp": "0x100451e0", "name": "MxControlPresenter::VTable0x68", "matching": 1.0, "diff": []}, {"address": "0x10044000", "recomp": "0x100450b0", "name": "MxControlPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10044010", "recomp": "0x100450c0", "name": "MxControlPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100440f0", "recomp": "0x100451a0", "name": "MxControlPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10044110", "recomp": "0x100451f0", "name": "MxControlPresenter::~MxControlPresenter", "matching": 1.0, "diff": []}, {"address": "0x10044180", "recomp": "0x10045260", "name": "MxControlPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x10044190", "recomp": "0x10045270", "name": "MxControlPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x10044260", "recomp": "0x10045340", "name": "MxControlPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x10044270", "recomp": "0x10045350", "name": "MxControlPresenter::FUN_10044270", "matching": 0.5284974093264249, "diff": [["@@ -0x10044270,185 +0x10045350,193 @@", [{"both": [["0x10044270", "push ebx", "0x10045350"], ["0x10044271", "push esi", "0x10045351"], ["0x10044272", "push edi", "0x10045352"], ["0x10044273", "mov esi, ecx", "0x10045353"], ["0x10044275", "cmp word ptr [esi + 0x4c], 3", "0x10045355"], ["0x1004427a", "push ebp", "0x1004535a"]]}, {"orig": [["0x1004427b", "je 0xb8"]], "recomp": [["0x1004535b", "je 0xbe"]]}, {"both": [["0x10044281", "mov ebx, dword ptr [esp + 0x1c]", "0x10045361"], ["0x10044285", "lea eax, [esi + 0x40]", "0x10045365"], ["0x10044288", "push ebx", "0x10045368"], ["0x10044289", "push eax", "0x10045369"], ["0x1004428a", "call ContainsPresenter (FUNCTION)", "0x1004536a"], ["0x1004428f", "add esp, 8", "0x1004536f"], ["0x10044292", "test al, al", "0x10045372"]]}, {"orig": [["0x10044294", "je 0x1d4"]], "recomp": [["0x10045374", "je 0x1e0"]]}, {"both": [["0x1004429a", "cmp word ptr [esi + 0x4c], 2", "0x1004537a"]]}, {"orig": [["0x1004429f", "jne 0x85"]], "recomp": [["0x1004537f", "jne 0x8b"]]}, {"both": [["0x100442a5", "mov edi, dword ptr [ebx]", "0x10045385"], ["0x100442a7", "mov ecx, ebx", "0x10045387"], ["0x100442a9", "call dword ptr [edi + 0x80]", "0x10045389"], ["0x100442af", "mov ebp, eax", "0x1004538f"], ["0x100442b1", "mov ecx, ebx", "0x10045391"], ["0x100442b3", "call dword ptr [edi + 0x84]", "0x10045393"], ["0x100442b9", "cmp word ptr [esi + 0x52], 2", "0x10045399"], ["0x100442be", "mov edi, eax", "0x1004539e"]]}, {"orig": [["0x100442c0", "jne 0x6e"]], "recomp": [["0x100453a0", "jne 0x74"]]}, {"both": [["0x100442c2", "cmp word ptr [esi + 0x54], 2", "0x100453a2"]]}, {"orig": [["0x100442c7", "jne 0x67"]], "recomp": [["0x100453a7", "jne 0x6d"], ["0x100453a9", "mov eax, ebp"]]}, {"both": [["0x100442c9", "mov ecx, dword ptr [ebx + 0x10]", "0x100453ab"]]}, {"orig": [["0x100442cc", "mov eax, ebp"]], "recomp": []}, {"both": [["0x100442ce", "cdq ", "0x100453ae"], ["0x100442cf", "sub eax, edx", "0x100453af"], ["0x100442d1", "sar eax, 1", "0x100453b1"], ["0x100442d4", "add ecx, eax", "0x100453b4"]]}, {"orig": [], "recomp": [["0x100453b6", "cmp ecx, dword ptr [esp + 0x14]"], ["0x100453ba", "jle 0x2a"], ["0x100453bc", "mov cx, 3"], ["0x100453c0", "mov ebx, dword ptr [ebx + 0x14]"]]}, {"both": [["0x100442d6", "mov eax, edi", "0x100453c3"]]}, {"orig": [], "recomp": [["0x100453c5", "mov ebp, dword ptr [esp + 0x18]"]]}, {"both": [["0x100442d8", "cdq ", "0x100453c9"]]}, {"orig": [["0x100442d9", "cmp ecx, dword ptr [esp + 0x14]"], ["0x100442dd", "mov ecx, dword ptr [ebx + 0x14]"], ["0x100442e0", "jle 0x24"]], "recomp": []}, {"both": [["0x100442e2", "sub eax, edx", "0x100453ca"], ["0x100442e4", "sar eax, 1", "0x100453cc"]]}, {"orig": [["0x100442e7", "add ecx, eax"], ["0x100442e9", "mov eax, dword ptr [esp + 0x18]"], ["0x100442ed", "cmp ecx, eax"], ["0x100442ef", "mov ax, 3"]], "recomp": [["0x100453cf", "add ebx, eax"], ["0x100453d1", "cmp ebx, ebp"]]}, {"both": [["0x100442f3", "jle 0x4", "0x100453d3"]]}, {"orig": [["0x100442f5", "mov ax, 1"], ["0x100442f9", "mov word ptr [esi + 0x56], ax"]], "recomp": [["0x100453d5", "mov cx, 1"], ["0x100453d9", "mov word ptr [esi + 0x56], cx"], ["0x100453dd", "mov al, 1"]]}, {"both": [["0x100442fd", "pop ebp", "0x100453df"]]}, {"orig": [["0x100442fe", "mov al, 1"]], "recomp": []}, {"both": [["0x10044300", "pop edi", "0x100453e0"], ["0x10044301", "pop esi", "0x100453e1"], ["0x10044302", "pop ebx", "0x100453e2"], ["0x10044303", "ret 0xc", "0x100453e3"]]}, {"orig": [], "recomp": [["0x100453e6", "mov cx, 4"], ["0x100453ea", "mov ebx, dword ptr [ebx + 0x14]"], ["0x100453ed", "mov eax, edi"], ["0x100453ef", "mov ebp, dword ptr [esp + 0x18]"], ["0x100453f3", "cdq "]]}, {"both": [["0x10044306", "sub eax, edx", "0x100453f4"], ["0x10044308", "sar eax, 1", "0x100453f6"]]}, {"orig": [["0x1004430b", "add ecx, eax"], ["0x1004430d", "mov eax, dword ptr [esp + 0x18]"], ["0x10044311", "cmp ecx, eax"], ["0x10044313", "mov ax, 4"]], "recomp": [["0x100453f9", "add ebx, eax"], ["0x100453fb", "cmp ebx, ebp"]]}, {"both": [["0x10044317", "jle 0x4", "0x100453fd"]]}, {"orig": [["0x10044319", "mov ax, 2"], ["0x1004431d", "mov word ptr [esi + 0x56], ax"]], "recomp": [["0x100453ff", "mov cx, 2"], ["0x10045403", "mov word ptr [esi + 0x56], cx"], ["0x10045407", "mov al, 1"]]}, {"both": [["0x10044321", "pop ebp", "0x10045409"]]}, {"orig": [["0x10044322", "mov al, 1"]], "recomp": []}, {"both": [["0x10044324", "pop edi", "0x1004540a"], ["0x10044325", "pop esi", "0x1004540b"], ["0x10044326", "pop ebx", "0x1004540c"], ["0x10044327", "ret 0xc", "0x1004540d"], ["0x1004432a", "mov word ptr [esi + 0x56], 0xffff", "0x10045410"], ["0x10044330", "mov al, 1", "0x10045416"], ["0x10044332", "pop ebp", "0x10045418"], ["0x10044333", "pop edi", "0x10045419"], ["0x10044334", "pop esi", "0x1004541a"], ["0x10044335", "pop ebx", "0x1004541b"], ["0x10044336", "ret 0xc", "0x1004541c"], ["0x10044339", "mov eax, dword ptr [esi + 0x44]", "0x1004541f"], ["0x1004433c", "mov ebx, dword ptr [esp + 0x1c]", "0x10045422"], ["0x10044340", "mov ecx, dword ptr [eax]", "0x10045426"], ["0x10044342", "mov edi, dword ptr [ecx + 8]", "0x10045428"]]}, {"orig": [["0x10044345", "cmp edi, ebx"]], "recomp": [["0x1004542b", "cmp ebx, edi"]]}, {"both": [["0x10044347", "je 0xc", "0x1004542d"]]}, {"orig": [["0x10044349", "mov eax, dword ptr [ebx + 0x18]"], ["0x1004434c", "cmp dword ptr [edi + 0x18], eax"], ["0x1004434f", "jge 0x119"]], "recomp": [["0x1004542f", "mov eax, dword ptr [edi + 0x18]"], ["0x10045432", "cmp dword ptr [ebx + 0x18], eax"], ["0x10045435", "jle 0x11f"], ["0x1004543b", "mov eax, dword ptr [ebx]"], ["0x1004543d", "mov ecx, ebx"], ["0x1004543f", "call dword ptr [eax + 0x7c]"], ["0x10045442", "test al, al"], ["0x10045444", "je 0x110"]]}, {"both": [["0x10044355", "mov ebp, dword ptr [edi]", "0x1004544a"], ["0x10044357", "mov ecx, edi", "0x1004544c"]]}, {"orig": [["0x10044359", "call dword ptr [ebp + 0x7c]"], ["0x1004435c", "test al, al"], ["0x1004435e", "je 0x10a"], ["0x10044364", "mov ecx, edi"]], "recomp": []}, {"both": [["0x10044366", "call dword ptr [ebp + 0x84]", "0x1004544e"]]}, {"orig": [["0x1004436c", "lea ebx, [eax - 1]"]], "recomp": [["0x10045454", "mov ebx, eax"]]}, {"both": [["0x1004436f", "mov ecx, edi", "0x10045456"], ["0x10044371", "call dword ptr [ebp + 0x80]", "0x10045458"], ["0x10044377", "mov ecx, dword ptr [edi + 0x10]", "0x1004545e"]]}, {"orig": [], "recomp": [["0x10045461", "cmp dword ptr [esp + 0x14], ecx"], ["0x10045465", "jl 0xef"], ["0x1004546b", "add eax, ecx"], ["0x1004546d", "dec eax"], ["0x1004546e", "cmp eax, dword ptr [esp + 0x14]"], ["0x10045472", "jle 0xe2"]]}, {"both": [["0x1004437a", "mov edx, dword ptr [edi + 0x14]", "0x10045478"]]}, {"orig": [["0x1004437d", "add ebx, edx"], ["0x1004437f", "lea eax, [eax + ecx - 1]"], ["0x10044383", "cmp ecx, dword ptr [esp + 0x14]"], ["0x10044387", "jg 0xe1"], ["0x1004438d", "cmp dword ptr [esp + 0x14], eax"], ["0x10044391", "jge 0xd7"], ["0x10044397", "mov eax, dword ptr [esp + 0x18]"], ["0x1004439b", "cmp edx, eax"], ["0x1004439d", "jg 0xcb"], ["0x100443a3", "cmp eax, ebx"], ["0x100443a5", "jge 0xc3"]], "recomp": [["0x1004547b", "mov ebp, dword ptr [esp + 0x18]"], ["0x1004547f", "cmp ebp, edx"], ["0x10045481", "jl 0xd3"], ["0x10045487", "lea eax, [edx + ebx]"], ["0x1004548a", "dec eax"], ["0x1004548b", "cmp eax, ebp"], ["0x1004548d", "jle 0xc7"]]}, {"both": [["0x100443ab", "cmp dword ptr [edi + 0x54], 0", "0x10045493"], ["0x100443af", "je 0x4", "0x10045497"]]}, {"orig": [["0x100443b1", "xor eax, eax"]], "recomp": [["0x10045499", "xor ebp, ebp"]]}, {"both": [["0x100443b3", "jmp 0x69", "0x1004549b"], ["0x100443b5", "mov edi, dword ptr [edi + 0x50]", "0x1004549d"], ["0x100443b8", "mov ebx, dword ptr [edi + 0xc]", "0x100454a0"]]}, {"orig": [["0x100443bb", "mov ebp, dword ptr [ebx + 0x10]"], ["0x100443be", "test ebp, ebp"]], "recomp": [["0x100454a3", "mov eax, dword ptr [ebx + 0x10]"], ["0x100454a6", "test eax, eax"]]}, {"both": [["0x100443c0", "jne 0x33", "0x100454a8"]]}, {"orig": [["0x100443c2", "cmp ebp, 0x10"]], "recomp": [["0x100454aa", "cmp eax, 0x10"]]}, {"both": [["0x100443c5", "je 0x7", "0x100454ad"]]}, {"orig": [["0x100443c7", "mov ebp, dword ptr [ebx + 8]"], ["0x100443ca", "test ebp, ebp"]], "recomp": [["0x100454af", "mov eax, dword ptr [ebx + 8]"], ["0x100454b2", "test eax, eax"]]}, {"both": [["0x100443cc", "jge 0x4", "0x100454b4"]]}, {"orig": [["0x100443ce", "sub eax, edx"]], "recomp": [["0x100454b6", "sub ebp, edx"]]}, {"both": [["0x100443d0", "jmp 0xa", "0x100454b8"], ["0x100443d2", "jg 0x2", "0x100454ba"]]}, {"orig": [["0x100443d4", "neg ebp"], ["0x100443d6", "sub edx, eax"], ["0x100443d8", "lea eax, [edx + ebp - 1]"]], "recomp": [["0x100454bc", "neg eax"], ["0x100454be", "sub eax, ebp"], ["0x100454c0", "lea ebp, [eax + edx - 1]"]]}, {"both": [["0x100443dc", "mov edx, dword ptr [ebx + 4]", "0x100454c4"], ["0x100443df", "add edx, 3", "0x100454c7"], ["0x100443e2", "and edx, 0xfffffffc", "0x100454ca"]]}, {"orig": [["0x100443e5", "imul edx, eax"]], "recomp": [["0x100454cd", "imul edx, ebp"]]}, {"both": [["0x100443e8", "add edx, dword ptr [edi + 0x14]", "0x100454d0"]]}, {"orig": [["0x100443eb", "mov eax, dword ptr [esp + 0x14]"]], "recomp": [["0x100454d3", "mov ebp, dword ptr [esp + 0x14]"]]}, {"both": [["0x100443ef", "sub edx, ecx", "0x100454d7"]]}, {"orig": [["0x100443f1", "add eax, edx"]], "recomp": [["0x100454d9", "add ebp, edx"]]}, {"both": [["0x100443f3", "jmp 0x29", "0x100454db"]]}, {"orig": [["0x100443f5", "cmp ebp, 0x10"]], "recomp": [["0x100454dd", "cmp eax, 0x10"]]}, {"both": [["0x100443f8", "jne 0x5", "0x100454e0"]]}, {"orig": [["0x100443fa", "mov eax, dword ptr [edi + 0x14]"]], "recomp": [["0x100454e2", "mov ebp, dword ptr [edi + 0x14]"]]}, {"both": [["0x100443fd", "jmp 0x1f", "0x100454e5"]]}, {"orig": [["0x100443ff", "mov ecx, dword ptr [ebx + 8]"], ["0x10044402", "test ecx, ecx"]], "recomp": [["0x100454e7", "mov eax, dword ptr [ebx + 8]"], ["0x100454ea", "test eax, eax"]]}, {"both": [["0x10044404", "jge 0x4", "0x100454ec"]]}, {"orig": [["0x10044406", "xor ecx, ecx"]], "recomp": [["0x100454ee", "xor eax, eax"]]}, {"both": [["0x10044408", "jmp 0x5", "0x100454f0"], ["0x1004440a", "jg 0x2", "0x100454f2"]]}, {"orig": [["0x1004440c", "neg ecx"], ["0x1004440e", "dec ecx"], ["0x1004440f", "mov eax, dword ptr [ebx + 4]"], ["0x10044412", "add eax, 3"], ["0x10044415", "and eax, 0xfffffffc"], ["0x10044418", "imul eax, ecx"], ["0x1004441b", "add eax, dword ptr [edi + 0x14]"]], "recomp": [["0x100454f4", "neg eax"], ["0x100454f6", "dec eax"], ["0x100454f7", "mov ebp, dword ptr [ebx + 4]"], ["0x100454fa", "add ebp, 3"], ["0x100454fd", "and ebp, 0xfffffffc"], ["0x10045500", "imul ebp, eax"], ["0x10045503", "add ebp, dword ptr [edi + 0x14]"]]}, {"both": [["0x1004441e", "mov word ptr [esi + 0x56], 0", "0x10045506"]]}, {"orig": [["0x10044424", "mov ebx, dword ptr [esi + 0x58]"], ["0x10044427", "test ebx, ebx"], ["0x10044429", "je 0x28"], ["0x1004442b", "mov di, 1"], ["0x1004442f", "mov dx, word ptr [ebx]"], ["0x10044432", "cmp dx, di"], ["0x10044435", "jl 0x27"], ["0x10044437", "movzx ax, byte ptr [eax]"], ["0x1004443b", "movsx ecx, di"], ["0x1004443e", "cmp word ptr [ebx + ecx*2], ax"]], "recomp": [["0x1004550c", "mov edi, dword ptr [esi + 0x58]"], ["0x1004550f", "test edi, edi"], ["0x10045511", "jne 0xe"], ["0x10045513", "cmp byte ptr [ebp], 0"], ["0x10045517", "je 0x31"], ["0x10045519", "mov word ptr [esi + 0x56], 1"], ["0x1004551f", "jmp 0x29"], ["0x10045521", "mov dx, 1"], ["0x10045525", "mov bx, word ptr [edi]"], ["0x10045528", "cmp bx, dx"], ["0x1004552b", "jl 0x1d"], ["0x1004552d", "xor ecx, ecx"], ["0x1004552f", "mov cl, byte ptr [ebp]"], ["0x10045532", "movsx eax, dx"], ["0x10045535", "movsx ebp, word ptr [edi + eax*2]"], ["0x10045539", "cmp ebp, ecx"]]}, {"both": [["0x10044442", "je 0x9", "0x1004553b"]]}, {"orig": [["0x10044444", "inc di"], ["0x10044446", "cmp di, dx"], ["0x10044449", "jle -0x10"], ["0x1004444b", "jmp 0x11"], ["0x1004444d", "mov word ptr [esi + 0x56], di"], ["0x10044451", "jmp 0xb"], ["0x10044453", "cmp byte ptr [eax], 0"], ["0x10044456", "je 0x6"], ["0x10044458", "mov word ptr [esi + 0x56], 1"]], "recomp": [["0x1004553d", "inc dx"], ["0x1004553f", "cmp dx, bx"], ["0x10045542", "jle -0x12"], ["0x10045544", "jmp 0x4"], ["0x10045546", "mov word ptr [esi + 0x56], dx"]]}, {"both": [["0x1004445e", "cmp word ptr [esi + 0x56], 0", "0x1004554a"], ["0x10044463", "je 0x9", "0x1004554f"], ["0x10044465", "mov al, 1", "0x10045551"], ["0x10044467", "pop ebp", "0x10045553"], ["0x10044468", "pop edi", "0x10045554"], ["0x10044469", "pop esi", "0x10045555"], ["0x1004446a", "pop ebx", "0x10045556"], ["0x1004446b", "ret 0xc", "0x10045557"], ["0x1004446e", "xor al, al", "0x1004555a"], ["0x10044470", "pop ebp", "0x1004555c"]]}]]]}, {"address": "0x10044480", "recomp": "0x10045570", "name": "MxControlPresenter::FUN_10044480", "matching": 1.0, "diff": []}, {"address": "0x10044540", "recomp": "0x10045630", "name": "MxControlPresenter::VTable0x6c", "matching": 1.0, "diff": []}, {"address": "0x10044610", "recomp": "0x10045700", "name": "MxControlPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x10044640", "recomp": "0x10045730", "name": "MxControlPresenter::ParseExtra", "matching": 1.0, "effective": true, "diff": [["@@ -0x10044797,24 +0x10045887,24 @@", [{"both": [["0x10044797", "cmp si, di", "0x10045887"], ["0x1004479a", "jl 0x32", "0x1004588a"], ["0x1004479c", "mov eax, dword ptr [g_parseExtraTokens (DATA)]", "0x1004588c"], ["0x100447a1", "push eax", "0x10045891"], ["0x100447a2", "push 0", "0x10045892"], ["0x100447a4", "call _strtok (FUNCTION)", "0x10045894"], ["0x100447a9", "add esp, 8", "0x10045899"], ["0x100447ac", "push eax", "0x1004589c"], ["0x100447ad", "call _atoi (FUNCTION)", "0x1004589d"], ["0x100447b2", "add esp, 4", "0x100458a2"]]}, {"orig": [["0x100447b5", "mov ecx, dword ptr [ebx + 0x58]"], ["0x100447b8", "movsx edx, di"]], "recomp": [["0x100458a5", "mov edx, dword ptr [ebx + 0x58]"], ["0x100458a8", "movsx ecx, di"]]}, {"both": [["0x100447bb", "inc di", "0x100458ab"]]}, {"orig": [["0x100447bd", "mov word ptr [ecx + edx*2], ax"]], "recomp": [["0x100458ad", "mov word ptr [edx + ecx*2], ax"]]}, {"both": [["0x100447c1", "cmp di, si", "0x100458b1"], ["0x100447c4", "jle -0x2a", "0x100458b4"], ["0x100447c6", "jmp 0x6", "0x100458b6"], ["0x100447c8", "mov word ptr [ebx + 0x4c], 0", "0x100458b8"], ["0x100447ce", "lea eax, [esp + 0x10c]", "0x100458be"], ["0x100447d5", "mov ecx, dword ptr [g_strVISIBILITY (DATA)]", "0x100458c5"], ["0x100447db", "lea edx, [esp + 0xc]", "0x100458cb"], ["0x100447df", "push eax", "0x100458cf"], ["0x100447e0", "push ecx", "0x100458d0"], ["0x100447e1", "push edx", "0x100458d1"]]}]]]}, {"address": "0x10044820", "recomp": "0x10045910", "name": "MxControlPresenter::Enable", "matching": 1.0, "diff": []}, {"address": "0x100448a0", "recomp": "0x10045990", "name": "MxControlPresenter::HasTickleStatePassed", "matching": 0.3783783783783784, "diff": [["@@ -0x100448a0,17 +0x10045990,20 @@", [{"both": [["0x100448a0", "sub esp, 4", "0x10045990"], ["0x100448a3", "mov eax, dword ptr [ecx + 0x44]", "0x10045993"]]}, {"orig": [], "recomp": [["0x10045996", "mov cx, word ptr [ecx + 0x4e]"]]}, {"both": [["0x100448a6", "mov edx, dword ptr [eax]", "0x1004599a"]]}, {"orig": [["0x100448a8", "mov ax, word ptr [ecx + 0x4e]"], ["0x100448ac", "mov ecx, edx"], ["0x100448ae", "test ax, ax"], ["0x100448b1", "jle 0x6"], ["0x100448b3", "dec ax"], ["0x100448b5", "mov ecx, dword ptr [ecx]"], ["0x100448b7", "jne -0x6"], ["0x100448b9", "mov ecx, dword ptr [ecx + 8]"], ["0x100448bc", "mov eax, dword ptr [esp + 8]"], ["0x100448c0", "push eax"]], "recomp": [["0x1004599c", "test cx, cx"], ["0x1004599f", "mov dword ptr [esp], edx"], ["0x100459a3", "jle 0xe"], ["0x100459a5", "dec cx"], ["0x100459a7", "mov eax, dword ptr [esp]"], ["0x100459ab", "mov edx, dword ptr [eax]"], ["0x100459ad", "mov dword ptr [esp], edx"], ["0x100459b1", "jne -0xe"], ["0x100459b3", "mov eax, dword ptr [esp]"], ["0x100459b7", "mov edx, dword ptr [esp + 8]"], ["0x100459bb", "push edx"], ["0x100459bc", "mov ecx, dword ptr [eax + 8]"]]}, {"both": [["0x100448c1", "mov eax, dword ptr [ecx]", "0x100459bf"], ["0x100448c3", "call dword ptr [eax + 0x48]", "0x100459c1"], ["0x100448c6", "add esp, 4", "0x100459c4"], ["0x100448c9", "ret 4", "0x100459c7"]]}]]]}, {"address": "0x100448d0", "recomp": "0x100459d0", "name": "LegoPathPresenter::LegoPathPresenter", "matching": 1.0, "diff": []}, {"address": "0x100449a0", "recomp": "0x10045aa0", "name": "LegoPathPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100449b0", "recomp": "0x10045ab0", "name": "LegoPathPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x10044a90", "recomp": "0x10045b90", "name": "LegoPathPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10044ab0", "recomp": "0x10045bb0", "name": "LegoPathPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x10044ac0", "recomp": "0x10045bc0", "name": "LegoPathPresenter::~LegoPathPresenter", "matching": 1.0, "diff": []}, {"address": "0x10044b40", "recomp": "0x10045c40", "name": "LegoPathPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x10044b70", "recomp": "0x10045c70", "name": "LegoPathPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10044c10", "recomp": "0x10045d10", "name": "LegoPathPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10044c20", "recomp": "0x10045d20", "name": "LegoPathPresenter::ReadyTickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x10044c3b,63 +0x10045d3b,63 @@", [{"both": [["0x10044c3b", "push ebx", "0x10045d3b"], ["0x10044c3c", "push esi", "0x10045d3c"], ["0x10044c3d", "push edi", "0x10045d3d"], ["0x10044c3e", "mov esi, ecx", "0x10045d3e"], ["0x10044c40", "call CurrentWorld (FUNCTION)", "0x10045d40"], ["0x10044c45", "mov dword ptr [ebp - 0x14], eax", "0x10045d45"], ["0x10044c48", "test eax, eax", "0x10045d48"], ["0x10044c4a", "je 0x46", "0x10045d4a"], ["0x10044c4c", "mov ecx, dword ptr [esi + 0x40]", "0x10045d4c"], ["0x10044c4f", "call MxDSSubscriber::PopData (FUNCTION)", "0x10045d4f"]]}, {"orig": [["0x10044c54", "mov ebx, eax"], ["0x10044c56", "test ebx, ebx"]], "recomp": [["0x10045d54", "mov edi, eax"], ["0x10045d56", "test edi, edi"]]}, {"both": [["0x10044c58", "je 0x38", "0x10045d58"], ["0x10044c5a", "push 0x40", "0x10045d5a"]]}, {"orig": [["0x10044c5c", "mov edi, 0"]], "recomp": [["0x10045d5c", "mov ebx, 0"]]}, {"both": [["0x10044c61", "call ??2@YAPAXI@Z (FUNCTION)", "0x10045d61"], ["0x10044c66", "add esp, 4", "0x10045d66"], ["0x10044c69", "mov dword ptr [ebp - 0x10], eax", "0x10045d69"], ["0x10044c6c", "mov dword ptr [ebp - 4], 0", "0x10045d6c"], ["0x10044c73", "test eax, eax", "0x10045d73"], ["0x10044c75", "je 0x9", "0x10045d75"], ["0x10044c77", "mov ecx, eax", "0x10045d77"], ["0x10044c79", "call LegoPathController::LegoPathController (FUNCTION)", "0x10045d79"]]}, {"orig": [["0x10044c7e", "mov edi, eax"]], "recomp": [["0x10045d7e", "mov ebx, eax"]]}, {"both": [["0x10044c80", "mov ecx, esi", "0x10045d80"]]}, {"orig": [["0x10044c82", "test edi, edi"]], "recomp": [["0x10045d82", "test ebx, ebx"]]}, {"both": [["0x10044c84", "mov dword ptr [ebp - 4], 0xffffffff", "0x10045d84"], ["0x10044c8b", "mov eax, dword ptr [esi]", "0x10045d8b"], ["0x10044c8d", "jne 0x13", "0x10045d8d"], ["0x10044c8f", "call dword ptr [eax + 0x40]", "0x10045d8f"], ["0x10044c92", "mov eax, dword ptr [ebp - 0xc]", "0x10045d92"], ["0x10044c95", "pop edi", "0x10045d95"], ["0x10044c96", "mov dword ptr fs:[0], eax", "0x10045d96"], ["0x10044c9c", "pop esi", "0x10045d9c"], ["0x10044c9d", "pop ebx", "0x10045d9d"], ["0x10044c9e", "mov esp, ebp", "0x10045d9e"], ["0x10044ca0", "pop ebp", "0x10045da0"], ["0x10044ca1", "ret ", "0x10045da1"], ["0x10044ca2", "call dword ptr [eax + 0x30]", "0x10045da2"], ["0x10044ca5", "lea eax, [esi + 0x50]", "0x10045da5"]]}, {"orig": [["0x10044ca8", "mov ecx, dword ptr [ebx + 0x18]"]], "recomp": [["0x10045da8", "mov ecx, dword ptr [edi + 0x18]"]]}, {"both": [["0x10044cab", "push eax", "0x10045dab"], ["0x10044cac", "mov eax, dword ptr [esi + 0x1c]", "0x10045dac"], ["0x10044caf", "add eax, 0x40", "0x10045daf"], ["0x10044cb2", "push eax", "0x10045db2"], ["0x10044cb3", "push ecx", "0x10045db3"]]}, {"orig": [["0x10044cb4", "mov eax, dword ptr [edi]"], ["0x10044cb6", "mov ecx, edi"]], "recomp": [["0x10045db4", "mov eax, dword ptr [ebx]"], ["0x10045db6", "mov ecx, ebx"]]}, {"both": [["0x10044cb8", "call dword ptr [eax + 0x14]", "0x10045db8"]]}, {"orig": [["0x10044cbb", "push edi"]], "recomp": [["0x10045dbb", "push ebx"]]}, {"both": [["0x10044cbc", "mov ecx, dword ptr [ebp - 0x14]", "0x10045dbc"], ["0x10044cbf", "call LegoWorld::AddPath (FUNCTION)", "0x10045dbf"]]}, {"orig": [["0x10044cc4", "push ebx"]], "recomp": [["0x10045dc4", "push edi"]]}, {"both": [["0x10044cc5", "mov ecx, dword ptr [esi + 0x40]", "0x10045dc5"], ["0x10044cc8", "call MxDSSubscriber::FreeDataChunk (FUNCTION)", "0x10045dc8"], ["0x10044ccd", "mov eax, 1", "0x10045dcd"], ["0x10044cd2", "mov cl, byte ptr [esi + 8]", "0x10045dd2"], ["0x10044cd5", "shl eax, cl", "0x10045dd5"], ["0x10044cd7", "mov dword ptr [esi + 8], 2", "0x10045dd7"], ["0x10044cde", "or dword ptr [esi + 0xc], eax", "0x10045dde"], ["0x10044ce1", "jmp -0x51", "0x10045de1"], ["0x10044ce3", "mov eax, <OFFSET8>", "0x10045de3"], ["0x10044ce8", "jmp ___CxxFrameHandler (FUNCTION)", "0x10045de8"]]}]]]}, {"address": "0x10044d00", "recomp": "0x10045e00", "name": "LegoPathPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x10044d40", "recomp": "0x10045e40", "name": "LegoPathPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x10044d60", "recomp": "0x10045e60", "name": "LegoPathPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x10044e50", "recomp": "0x10045f50", "name": "LegoPhoneme::~LegoPhoneme", "matching": 1.0, "diff": []}, {"address": "0x10044eb0", "recomp": "0x10045fb0", "name": "LegoPhoneme::VTable0x00", "matching": 1.0, "diff": []}, {"address": "0x10044ec0", "recomp": "0x10045fc0", "name": "LegoPhoneme::VTable0x04", "matching": 1.0, "diff": []}, {"address": "0x10044ed0", "recomp": "0x10045fd0", "name": "LegoPhoneme::VTable0x08", "matching": 1.0, "diff": []}, {"address": "0x10044ee0", "recomp": "0x10045fe0", "name": "LegoPhoneme::VTable0x0c", "matching": 1.0, "diff": []}, {"address": "0x10044ef0", "recomp": "0x10045ff0", "name": "LegoPhoneme::VTable0x10", "matching": 1.0, "diff": []}, {"address": "0x10044f00", "recomp": "0x10046000", "name": "LegoPhoneme::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x10044f10", "recomp": "0x10046010", "name": "LegoPhoneme::VTable0x18", "matching": 1.0, "diff": []}, {"address": "0x10044f20", "recomp": "0x10046020", "name": "LegoPhoneme::Init", "matching": 1.0, "diff": []}, {"address": "0x10044f30", "recomp": "0x10046030", "name": "LegoPhoneme::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x10044f40", "recomp": "0x10046040", "name": "LegoPathController::LegoPathController", "matching": 1.0, "diff": []}, {"address": "0x10045110", "recomp": "0x10046210", "name": "LegoPathController::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10045120", "recomp": "0x10046220", "name": "LegoPathController::IsA", "matching": 1.0, "diff": []}, {"address": "0x100451a0", "recomp": "0x100462a0", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::~_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,L", "matching": 1.0, "diff": []}, {"address": "0x10045270", "recomp": "0x10046370", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::iterator::_Inc", "matching": 1.0, "diff": []}, {"address": "0x100452b0", "recomp": "0x100463b0", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::erase", "matching": 0.782016348773842, "diff": [["@@ -0x100452b0,39 +0x100463b0,39 @@", [{"both": [["0x100452b0", "mov eax, dword ptr [esp + 8]", "0x100463b0"], ["0x100452b4", "sub esp, 4", "0x100463b4"], ["0x100452b7", "mov dword ptr [esp], eax", "0x100463b7"], ["0x100452bb", "push ebx", "0x100463bb"], ["0x100452bc", "push esi", "0x100463bc"]]}, {"orig": [["0x100452bd", "mov eax, dword ptr [eax + 8]"]], "recomp": []}, {"both": [["0x100452c0", "push edi", "0x100463bd"]]}, {"orig": [], "recomp": [["0x100463be", "push ebp"]]}, {"both": [["0x100452c1", "mov esi, ecx", "0x100463bf"]]}, {"orig": [["0x100452c3", "push ebp"]], "recomp": [["0x100463c1", "mov ecx, dword ptr [eax + 8]"], ["0x100463c4", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ecx"], ["0x100463ca", "je 0xe"], ["0x100463cc", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100452c4", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x100463ce"]]}, {"orig": [["0x100452ca", "je 0xe"], ["0x100452cc", "mov ecx, dword ptr [eax]"], ["0x100452ce", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ecx"]], "recomp": []}, {"both": [["0x100452d4", "je 0x29", "0x100463d4"]]}, {"orig": [["0x100452d6", "mov eax, ecx"]], "recomp": [["0x100463d6", "mov ecx, eax"]]}, {"both": [["0x100452d8", "jmp -0xe", "0x100463d8"]]}, {"orig": [["0x100452da", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100452de", "mov eax, dword ptr [ecx + 4]"]], "recomp": [["0x100463da", "mov eax, dword ptr [esp + 0x1c]"], ["0x100463de", "mov ecx, dword ptr [eax + 4]"], ["0x100463e1", "cmp dword ptr [ecx + 8], eax"], ["0x100463e4", "jne 0x10"], ["0x100463e6", "mov dword ptr [esp + 0x1c], ecx"], ["0x100463ea", "mov ecx, dword ptr [ecx + 4]"], ["0x100463ed", "mov eax, dword ptr [esp + 0x1c]"], ["0x100463f1", "cmp dword ptr [ecx + 8], eax"], ["0x100463f4", "je -0x10"], ["0x100463f6", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x100452e1", "cmp dword ptr [eax + 8], ecx", "0x100463fa"]]}, {"orig": [["0x100452e4", "jne 0x10"], ["0x100452e6", "mov dword ptr [esp + 0x1c], eax"], ["0x100452ea", "mov eax, dword ptr [eax + 4]"], ["0x100452ed", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100452f1", "cmp dword ptr [eax + 8], ecx"], ["0x100452f4", "je -0x10"], ["0x100452f6", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100452fa", "cmp dword ptr [ecx + 8], eax"]], "recomp": []}, {"both": [["0x100452fd", "je 0x4", "0x100463fd"]]}, {"orig": [["0x100452ff", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x100463ff", "mov dword ptr [esp + 0x1c], ecx"]]}, {"both": [["0x10045303", "mov ecx, dword ptr [esp + 0x10]", "0x10046403"], ["0x10045307", "mov ebx, dword ptr [ecx]", "0x10046407"], ["0x10045309", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ebx", "0x10046409"], ["0x1004530f", "je 0x26", "0x1004640f"], ["0x10045311", "lea edi, [ecx + 8]", "0x10046411"], ["0x10045314", "mov edx, dword ptr [edi]", "0x10046414"], ["0x10045316", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edx", "0x10046416"], ["0x1004531c", "je 0x15", "0x1004641c"], ["0x1004531e", "mov eax, dword ptr [edx]", "0x1004641e"], ["0x10045320", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x10046420"]]}]], ["@@ -0x10045399,27 +0x10046499,27 @@", [{"both": [["0x10045399", "mov ebp, dword ptr [eax + 4]", "0x10046499"], ["0x1004539c", "mov dword ptr [ebx], ebp", "0x1004649c"], ["0x1004539e", "mov edi, dword ptr [esi + 4]", "0x1004649e"], ["0x100453a1", "mov eax, dword ptr [esp + 0x10]", "0x100464a1"], ["0x100453a5", "add edi, 8", "0x100464a5"], ["0x100453a8", "cmp dword ptr [edi], eax", "0x100464a8"], ["0x100453aa", "jne 0x8a", "0x100464aa"], ["0x100453b0", "mov ebx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]", "0x100464b0"], ["0x100453b6", "cmp dword ptr [eax], ebx", "0x100464b6"], ["0x100453b8", "je 0x15", "0x100464b8"]]}, {"orig": [["0x100453ba", "mov ebx, edx"], ["0x100453bc", "mov eax, dword ptr [ebx + 8]"], ["0x100453bf", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax"]], "recomp": [["0x100464ba", "mov eax, edx"], ["0x100464bc", "mov ebx, dword ptr [eax + 8]"], ["0x100464bf", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100453c5", "je 0x4", "0x100464c5"]]}, {"orig": [["0x100453c7", "mov ebx, eax"]], "recomp": [["0x100464c7", "mov eax, ebx"]]}, {"both": [["0x100453c9", "jmp -0xf", "0x100464c9"]]}, {"orig": [["0x100453cb", "mov dword ptr [edi], ebx"]], "recomp": [["0x100464cb", "mov dword ptr [edi], eax"]]}, {"both": [["0x100453cd", "jmp 0x6b", "0x100464cd"], ["0x100453cf", "mov eax, dword ptr [esp + 0x10]", "0x100464cf"], ["0x100453d3", "mov ebx, dword ptr [eax + 4]", "0x100464d3"], ["0x100453d6", "mov dword ptr [edi], ebx", "0x100464d6"], ["0x100453d8", "jmp 0x60", "0x100464d8"], ["0x100453da", "mov eax, dword ptr [esp + 0x10]", "0x100464da"], ["0x100453de", "mov dword ptr [ebx + 4], ecx", "0x100464de"], ["0x100453e1", "mov ebx, dword ptr [eax]", "0x100464e1"], ["0x100453e3", "mov dword ptr [ecx], ebx", "0x100464e3"], ["0x100453e5", "cmp dword ptr [edi], ecx", "0x100464e5"]]}]], ["@@ -0x1004541f,59 +0x1004651f,59 @@", [{"both": [["0x1004541f", "mov eax, dword ptr [esp + 0x10]", "0x1004651f"], ["0x10045423", "mov ebx, dword ptr [eax + 4]", "0x10046523"], ["0x10045426", "add eax, 0x10", "0x10046526"], ["0x10045429", "mov dword ptr [ecx + 4], ebx", "0x10046529"], ["0x1004542c", "mov edi, dword ptr [ecx + 0x10]", "0x1004652c"], ["0x1004542f", "mov ebx, dword ptr [eax]", "0x1004652f"], ["0x10045431", "mov dword ptr [ecx + 0x10], ebx", "0x10046531"], ["0x10045434", "mov ecx, dword ptr [esp + 0x10]", "0x10046534"], ["0x10045438", "mov dword ptr [eax], edi", "0x10046538"], ["0x1004543a", "cmp dword ptr [ecx + 0x10], 1", "0x1004653a"]]}, {"orig": [["0x1004543e", "jne 0x292"]], "recomp": [["0x1004653e", "jne 0x295"]]}, {"both": [["0x10045444", "mov eax, dword ptr [esi + 4]", "0x10046544"], ["0x10045447", "cmp dword ptr [eax + 4], edx", "0x10046547"]]}, {"orig": [["0x1004544a", "je 0x27f"]], "recomp": [["0x1004654a", "je 0x282"]]}, {"both": [["0x10045450", "cmp dword ptr [edx + 0x10], 1", "0x10046550"]]}, {"orig": [["0x10045454", "jne 0x275"]], "recomp": [["0x10046554", "jne 0x278"]]}, {"both": [["0x1004545a", "lea ebx, [edx + 4]", "0x1004655a"], ["0x1004545d", "mov eax, dword ptr [ebx]", "0x1004655d"], ["0x1004545f", "mov edi, dword ptr [eax]", "0x1004655f"], ["0x10045461", "cmp edx, edi", "0x10046561"]]}, {"orig": [["0x10045463", "jne 0x73"]], "recomp": [["0x10046563", "jne 0x76"]]}, {"both": [["0x10045465", "mov edi, dword ptr [eax + 8]", "0x10046565"], ["0x10045468", "cmp dword ptr [edi + 0x10], 0", "0x10046568"]]}, {"orig": [["0x1004546c", "jne 0x4f"]], "recomp": [["0x1004656c", "jne 0x52"]]}, {"both": [["0x1004546e", "mov dword ptr [edi + 0x10], 1", "0x1004656e"], ["0x10045475", "mov eax, dword ptr [ebx]", "0x10046575"], ["0x10045477", "mov dword ptr [eax + 0x10], 0", "0x10046577"]]}, {"orig": [["0x1004547e", "mov ebp, dword ptr [ebx]"], ["0x10045480", "mov edi, dword ptr [ebp + 8]"], ["0x10045483", "mov eax, dword ptr [edi]"], ["0x10045485", "mov dword ptr [ebp + 8], eax"], ["0x10045488", "mov eax, dword ptr [edi]"], ["0x1004548a", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004657e", "mov eax, dword ptr [ebx]"], ["0x10046580", "mov ebp, dword ptr [eax + 8]"], ["0x10046583", "mov edi, dword ptr [ebp]"], ["0x10046586", "mov dword ptr [eax + 8], edi"], ["0x10046589", "mov edi, dword ptr [ebp]"], ["0x1004658c", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10045490", "je 0x3", "0x10046592"]]}, {"orig": [], "recomp": [["0x10046594", "mov dword ptr [edi + 4], eax"], ["0x10046597", "mov edi, dword ptr [eax + 4]"], ["0x1004659a", "mov dword ptr [ebp + 4], edi"], ["0x1004659d", "mov edi, dword ptr [esi + 4]"], ["0x100465a0", "add edi, 4"], ["0x100465a3", "cmp dword ptr [edi], eax"], ["0x100465a5", "je 0xc"], ["0x100465a7", "mov edi, dword ptr [eax + 4]"], ["0x100465aa", "cmp dword ptr [edi], eax"], ["0x100465ac", "je 0x5"], ["0x100465ae", "mov dword ptr [edi + 8], ebp"], ["0x100465b1", "jmp 0x2"], ["0x100465b3", "mov dword ptr [edi], ebp"], ["0x100465b5", "mov dword ptr [ebp], eax"]]}, {"both": [["0x10045492", "mov dword ptr [eax + 4], ebp", "0x100465b8"]]}, {"orig": [["0x10045495", "mov eax, dword ptr [ebp + 4]"], ["0x10045498", "mov dword ptr [edi + 4], eax"], ["0x1004549b", "mov eax, dword ptr [esi + 4]"], ["0x1004549e", "add eax, 4"], ["0x100454a1", "cmp dword ptr [eax], ebp"], ["0x100454a3", "je 0xc"], ["0x100454a5", "mov eax, dword ptr [ebp + 4]"], ["0x100454a8", "cmp dword ptr [eax], ebp"], ["0x100454aa", "je 0x5"], ["0x100454ac", "mov dword ptr [eax + 8], edi"], ["0x100454af", "jmp 0x2"], ["0x100454b1", "mov dword ptr [eax], edi"], ["0x100454b3", "mov dword ptr [edi], ebp"], ["0x100454b5", "mov dword ptr [ebp + 4], edi"]], "recomp": []}, {"both": [["0x100454b8", "mov eax, dword ptr [ebx]", "0x100465bb"], ["0x100454ba", "mov edi, dword ptr [eax + 8]", "0x100465bd"], ["0x100454bd", "mov eax, dword ptr [edi]", "0x100465c0"], ["0x100454bf", "cmp dword ptr [eax + 0x10], 1", "0x100465c2"], ["0x100454c3", "jne 0x98", "0x100465c6"], ["0x100454c9", "mov eax, dword ptr [edi + 8]", "0x100465cc"], ["0x100454cc", "cmp dword ptr [eax + 0x10], 1", "0x100465cf"], ["0x100454d0", "jne 0x8b", "0x100465d3"], ["0x100454d6", "jmp 0x6f", "0x100465d9"], ["0x100454d8", "cmp dword ptr [edi + 0x10], 0", "0x100465db"]]}]], ["@@ -0x1004552e,21 +0x10046631,21 @@", [{"both": [["0x1004552e", "mov eax, dword ptr [edi + 8]", "0x10046631"], ["0x10045531", "cmp dword ptr [eax + 0x10], 1", "0x10046634"], ["0x10045535", "jne 0xe6", "0x10046638"], ["0x1004553b", "mov eax, dword ptr [edi]", "0x1004663e"], ["0x1004553d", "cmp dword ptr [eax + 0x10], 1", "0x10046640"], ["0x10045541", "jne 0xda", "0x10046644"], ["0x10045547", "mov dword ptr [edi + 0x10], 0", "0x1004664a"], ["0x1004554e", "mov edx, dword ptr [ebx]", "0x10046651"], ["0x10045550", "mov eax, dword ptr [esi + 4]", "0x10046653"], ["0x10045553", "cmp dword ptr [eax + 4], edx", "0x10046656"]]}, {"orig": [["0x10045556", "jne -0x10c"]], "recomp": [["0x10046659", "jne -0x10f"]]}, {"both": [["0x1004555c", "jmp 0x16e", "0x1004665f"], ["0x10045561", "mov eax, dword ptr [edi + 8]", "0x10046664"], ["0x10045564", "cmp dword ptr [eax + 0x10], 1", "0x10046667"], ["0x10045568", "jne 0x52", "0x1004666b"], ["0x1004556a", "mov eax, dword ptr [edi]", "0x1004666d"], ["0x1004556c", "mov dword ptr [eax + 0x10], 1", "0x1004666f"], ["0x10045573", "mov dword ptr [edi + 0x10], 0", "0x10046676"], ["0x1004557a", "mov ebx, dword ptr [edi]", "0x1004667d"], ["0x1004557c", "mov ebp, dword ptr [ebx + 8]", "0x1004667f"], ["0x1004557f", "mov dword ptr [edi], ebp", "0x10046682"]]}]], ["@@ -0x100455b6,45 +0x100466b9,45 @@", [{"both": [["0x100455b6", "mov eax, dword ptr [edx + 4]", "0x100466b9"], ["0x100455b9", "mov edi, dword ptr [eax + 8]", "0x100466bc"], ["0x100455bc", "mov eax, dword ptr [edx + 4]", "0x100466bf"], ["0x100455bf", "mov ebx, dword ptr [eax + 0x10]", "0x100466c2"], ["0x100455c2", "mov dword ptr [edi + 0x10], ebx", "0x100466c5"], ["0x100455c5", "mov ebx, 1", "0x100466c8"], ["0x100455ca", "mov eax, dword ptr [edx + 4]", "0x100466cd"], ["0x100455cd", "mov dword ptr [eax + 0x10], ebx", "0x100466d0"], ["0x100455d0", "mov ebp, dword ptr [edi + 8]", "0x100466d3"], ["0x100455d3", "mov dword ptr [ebp + 0x10], ebx", "0x100466d6"]]}, {"orig": [["0x100455d6", "mov edi, dword ptr [edx + 4]"], ["0x100455d9", "mov ebx, dword ptr [edi + 8]"], ["0x100455dc", "mov eax, dword ptr [ebx]"], ["0x100455de", "mov dword ptr [edi + 8], eax"], ["0x100455e1", "mov eax, dword ptr [ebx]"]], "recomp": [["0x100466d9", "mov ebx, dword ptr [edx + 4]"], ["0x100466dc", "mov edi, dword ptr [ebx + 8]"], ["0x100466df", "mov eax, dword ptr [edi]"], ["0x100466e1", "mov dword ptr [ebx + 8], eax"], ["0x100466e4", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100455e3", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x100466e6"], ["0x100455e9", "je 0x3", "0x100466ec"]]}, {"orig": [["0x100455eb", "mov dword ptr [eax + 4], edi"], ["0x100455ee", "mov eax, dword ptr [edi + 4]"], ["0x100455f1", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x100466ee", "mov dword ptr [eax + 4], ebx"], ["0x100466f1", "mov eax, dword ptr [ebx + 4]"], ["0x100466f4", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x100455f4", "mov eax, dword ptr [esi + 4]", "0x100466f7"], ["0x100455f7", "add eax, 4", "0x100466fa"]]}, {"orig": [["0x100455fa", "cmp dword ptr [eax], edi"]], "recomp": [["0x100466fd", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x100455fc", "je 0x1a", "0x100466ff"]]}, {"orig": [["0x100455fe", "mov eax, dword ptr [edi + 4]"], ["0x10045601", "cmp dword ptr [eax], edi"]], "recomp": [["0x10046701", "mov eax, dword ptr [ebx + 4]"], ["0x10046704", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x10045603", "je 0xa", "0x10046706"]]}, {"orig": [["0x10045605", "mov dword ptr [eax + 8], ebx"], ["0x10045608", "mov dword ptr [ebx], edi"]], "recomp": [["0x10046708", "mov dword ptr [eax + 8], edi"], ["0x1004670b", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1004560a", "jmp 0xbd", "0x1004670d"]]}, {"orig": [["0x1004560f", "mov dword ptr [eax], ebx"], ["0x10045611", "mov dword ptr [ebx], edi"]], "recomp": [["0x10046712", "mov dword ptr [eax], edi"], ["0x10046714", "mov dword ptr [edi], ebx"]]}, {"both": [["0x10045613", "jmp 0xb4", "0x10046716"]]}, {"orig": [["0x10045618", "mov dword ptr [eax], ebx"], ["0x1004561a", "mov dword ptr [ebx], edi"]], "recomp": [["0x1004671b", "mov dword ptr [eax], edi"], ["0x1004671d", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1004561c", "jmp 0xab", "0x1004671f"], ["0x10045621", "mov eax, dword ptr [edi]", "0x10046724"], ["0x10045623", "cmp dword ptr [eax + 0x10], 1", "0x10046726"], ["0x10045627", "jne 0x4e", "0x1004672a"], ["0x10045629", "mov eax, dword ptr [edi + 8]", "0x1004672c"], ["0x1004562c", "mov dword ptr [eax + 0x10], 1", "0x1004672f"], ["0x10045633", "mov dword ptr [edi + 0x10], 0", "0x10046736"], ["0x1004563a", "mov ebx, dword ptr [edi + 8]", "0x1004673d"], ["0x1004563d", "mov ebp, dword ptr [ebx]", "0x10046740"], ["0x1004563f", "mov dword ptr [edi + 8], ebp", "0x10046742"]]}]], ["@@ -0x10045672,43 +0x10046775,43 @@", [{"both": [["0x10045672", "mov eax, dword ptr [edx + 4]", "0x10046775"], ["0x10045675", "mov edi, dword ptr [eax]", "0x10046778"], ["0x10045677", "mov eax, dword ptr [edx + 4]", "0x1004677a"], ["0x1004567a", "mov ebx, dword ptr [eax + 0x10]", "0x1004677d"], ["0x1004567d", "mov dword ptr [edi + 0x10], ebx", "0x10046780"], ["0x10045680", "mov ebx, 1", "0x10046783"], ["0x10045685", "mov eax, dword ptr [edx + 4]", "0x10046788"], ["0x10045688", "mov dword ptr [eax + 0x10], ebx", "0x1004678b"], ["0x1004568b", "mov ebp, dword ptr [edi]", "0x1004678e"], ["0x1004568d", "mov dword ptr [ebp + 0x10], ebx", "0x10046790"]]}, {"orig": [["0x10045690", "mov edi, dword ptr [edx + 4]"], ["0x10045693", "mov ebx, dword ptr [edi]"], ["0x10045695", "mov eax, dword ptr [ebx + 8]"], ["0x10045698", "mov dword ptr [edi], eax"], ["0x1004569a", "mov eax, dword ptr [ebx + 8]"]], "recomp": [["0x10046793", "mov ebx, dword ptr [edx + 4]"], ["0x10046796", "mov edi, dword ptr [ebx]"], ["0x10046798", "mov eax, dword ptr [edi + 8]"], ["0x1004679b", "mov dword ptr [ebx], eax"], ["0x1004679d", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x1004569d", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x100467a0"], ["0x100456a3", "je 0x3", "0x100467a6"]]}, {"orig": [["0x100456a5", "mov dword ptr [eax + 4], edi"], ["0x100456a8", "mov eax, dword ptr [edi + 4]"], ["0x100456ab", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x100467a8", "mov dword ptr [eax + 4], ebx"], ["0x100467ab", "mov eax, dword ptr [ebx + 4]"], ["0x100467ae", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x100456ae", "mov eax, dword ptr [esi + 4]", "0x100467b1"], ["0x100456b1", "add eax, 4", "0x100467b4"]]}, {"orig": [["0x100456b4", "cmp dword ptr [eax], edi"]], "recomp": [["0x100467b7", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x100456b6", "je 0xf", "0x100467b9"]]}, {"orig": [["0x100456b8", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x100467bb", "mov ebp, dword ptr [ebx + 4]"]]}, {"both": [["0x100456bb", "lea eax, [ebp + 8]", "0x100467be"]]}, {"orig": [["0x100456be", "cmp dword ptr [eax], edi"]], "recomp": [["0x100467c1", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x100456c0", "je 0x5", "0x100467c3"]]}, {"orig": [["0x100456c2", "mov dword ptr [ebp], ebx"]], "recomp": [["0x100467c5", "mov dword ptr [ebp], edi"]]}, {"both": [["0x100456c5", "jmp 0x2", "0x100467c8"]]}, {"orig": [["0x100456c7", "mov dword ptr [eax], ebx"], ["0x100456c9", "mov dword ptr [ebx + 8], edi"], ["0x100456cc", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x100467ca", "mov dword ptr [eax], edi"], ["0x100467cc", "mov dword ptr [edi + 8], ebx"], ["0x100467cf", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x100456cf", "mov dword ptr [edx + 0x10], 1", "0x100467d2"], ["0x100456d6", "push ecx", "0x100467d9"], ["0x100456d7", "call ??3@YAXPAX@Z (FUNCTION)", "0x100467da"], ["0x100456dc", "mov ecx, dword ptr [esp + 0x20]", "0x100467df"], ["0x100456e0", "mov eax, dword ptr [esp + 0x1c]", "0x100467e3"], ["0x100456e4", "add esp, 4", "0x100467e7"], ["0x100456e7", "dec dword ptr [esi + 0xc]", "0x100467ea"], ["0x100456ea", "mov dword ptr [eax], ecx", "0x100467ed"], ["0x100456ec", "pop ebp", "0x100467ef"], ["0x100456ed", "pop edi", "0x100467f0"]]}]]]}, {"address": "0x10045700", "recomp": "0x10046800", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Erase", "matching": 1.0, "diff": []}, {"address": "0x10045740", "recomp": "0x10046840", "name": "LegoPathController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100457e0", "recomp": "0x100468e0", "name": "Set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare>::~Set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare>", "matching": 1.0, "diff": []}, {"address": "0x10045830", "recomp": "0x10046930", "name": "set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::~set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >", "matching": 1.0, "diff": []}, {"address": "0x10045880", "recomp": "0x10046980", "name": "LegoPathController::Create", "matching": 1.0, "effective": true, "diff": [["@@ -0x10045890,46 +0x10046990,46 @@", [{"both": [["0x10045890", "push eax", "0x10046990"], ["0x10045891", "mov dword ptr fs:[0], esp", "0x10046991"], ["0x10045898", "mov eax, dword ptr [ebp + 8]", "0x10046998"], ["0x1004589b", "sub esp, 0x20", "0x1004699b"], ["0x1004589e", "mov dword ptr [ebp - 0x10], ecx", "0x1004699e"], ["0x100458a1", "lea ecx, [ebp - 0x2c]", "0x100469a1"], ["0x100458a4", "push ebx", "0x100469a4"], ["0x100458a5", "push esi", "0x100469a5"], ["0x100458a6", "push edi", "0x100469a6"], ["0x100458a7", "push eax", "0x100469a7"]]}, {"orig": [["0x100458a8", "xor edi, edi"]], "recomp": [["0x100469a8", "xor esi, esi"]]}, {"both": [["0x100458aa", "call LegoMemory::LegoMemory (FUNCTION)", "0x100469aa"], ["0x100458af", "lea eax, [ebp - 0x2c]", "0x100469af"], ["0x100458b2", "mov ecx, dword ptr [ebp - 0x10]", "0x100469b2"], ["0x100458b5", "push eax", "0x100469b5"]]}, {"orig": [["0x100458b6", "mov dword ptr [ebp - 4], edi"]], "recomp": [["0x100469b6", "mov dword ptr [ebp - 4], esi"]]}, {"both": [["0x100458b9", "call LegoPathController::Read (FUNCTION)", "0x100469b9"], ["0x100458be", "mov dword ptr [ebp - 0x14], eax", "0x100469be"]]}, {"orig": [["0x100458c1", "cmp eax, edi"]], "recomp": [["0x100469c1", "cmp eax, esi"]]}, {"both": [["0x100458c3", "jne 0x164", "0x100469c3"], ["0x100458c9", "mov eax, dword ptr [ebp - 0x10]", "0x100469c9"]]}, {"orig": [["0x100458cc", "cmp word ptr [eax + 0x1e], di"]], "recomp": [["0x100469cc", "cmp word ptr [eax + 0x1e], si"]]}, {"both": [["0x100458d0", "jbe 0x26", "0x100469d0"]]}, {"orig": [["0x100458d2", "xor esi, esi"]], "recomp": [["0x100469d2", "xor edi, edi"]]}, {"both": [["0x100458d4", "mov ebx, dword ptr [ebp + 0x10]", "0x100469d4"], ["0x100458d7", "mov eax, dword ptr [ebp - 0x10]", "0x100469d7"], ["0x100458da", "push ebx", "0x100469da"], ["0x100458db", "mov edx, dword ptr [eax + 0x14]", "0x100469db"]]}, {"orig": [["0x100458de", "add esi, 0x14"], ["0x100458e1", "inc edi"], ["0x100458e2", "lea ecx, [edx + esi - 4]"]], "recomp": [["0x100469de", "add edi, 0x14"], ["0x100469e1", "inc esi"], ["0x100469e2", "lea ecx, [edx + edi - 4]"]]}, {"both": [["0x100458e6", "call MxAtomId::operator= (FUNCTION)", "0x100469e6"], ["0x100458eb", "xor ecx, ecx", "0x100469eb"], ["0x100458ed", "mov eax, dword ptr [ebp - 0x10]", "0x100469ed"], ["0x100458f0", "mov cx, word ptr [eax + 0x1e]", "0x100469f0"]]}, {"orig": [["0x100458f4", "cmp ecx, edi"]], "recomp": [["0x100469f4", "cmp ecx, esi"]]}, {"both": [["0x100458f6", "jg -0x21", "0x100469f6"], ["0x100458f8", "xor edi, edi", "0x100469f8"], ["0x100458fa", "xor esi, esi", "0x100469fa"], ["0x100458fc", "mov eax, dword ptr [ebp - 0x10]", "0x100469fc"], ["0x100458ff", "cmp word ptr [eax + 0x1c], di", "0x100469ff"], ["0x10045903", "jbe 0x22", "0x10046a03"], ["0x10045905", "mov ebx, dword ptr [ebp + 0xc]", "0x10046a05"], ["0x10045908", "mov eax, dword ptr [ebp - 0x10]", "0x10046a08"], ["0x1004590b", "push ebx", "0x10046a0b"], ["0x1004590c", "inc esi", "0x10046a0c"]]}]]]}, {"address": "0x10045a80", "recomp": "0x10046b80", "name": "LegoMemory::~LegoMemory", "matching": 1.0, "diff": []}, {"address": "0x10045ad0", "recomp": "0x10046bd0", "name": "LegoStorage::~LegoStorage", "matching": 1.0, "diff": []}, {"address": "0x10045ae0", "recomp": "0x10046be0", "name": "LegoStorage::IsWriteMode", "matching": 1.0, "diff": []}, {"address": "0x10045af0", "recomp": "0x10046bf0", "name": "LegoStorage::IsReadMode", "matching": 1.0, "diff": []}, {"address": "0x10045b00", "recomp": "0x10046c00", "name": "LegoStorage::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10045b20", "recomp": "0x10046c20", "name": "LegoPathController::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10045c10", "recomp": "0x10046d10", "name": "LegoPathController::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10045c20", "recomp": "0x10046d20", "name": "LegoPathController::PlaceActor", "matching": 0.944206008583691, "diff": [["@@ -0x10045c51,24 +0x10046d51,22 @@", [{"both": [["0x10045c51", "push eax", "0x10046d51"], ["0x10045c52", "call LegoPathController::GetPathBoundary (FUNCTION)", "0x10046d52"], ["0x10045c57", "mov ecx, dword ptr [eax + 8]", "0x10046d57"], ["0x10045c5a", "mov edi, eax", "0x10046d5a"], ["0x10045c5c", "mov eax, dword ptr [esp + 0x38]", "0x10046d5c"], ["0x10045c60", "mov edx, dword ptr [esp + 0x40]", "0x10046d60"], ["0x10045c64", "mov ebx, dword ptr [ecx + eax*4]", "0x10046d64"], ["0x10045c67", "mov ebp, dword ptr [ecx + edx*4]", "0x10046d67"], ["0x10045c6a", "call Timer (FUNCTION)", "0x10046d6a"], ["0x10045c6f", "cmp byte ptr [eax + 0xc], 0", "0x10046d6f"]]}, {"orig": [["0x10045c73", "je 0xf"], ["0x10045c75", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"], ["0x10045c7a", "mov dword ptr [esp + 0x10], eax"], ["0x10045c7e", "fild dword ptr [esp + 0x10]"]], "recomp": [["0x10046d73", "je 0x8"], ["0x10046d75", "fild dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]]}, {"both": [["0x10045c82", "jmp 0x11", "0x10046d7b"], ["0x10045c84", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10046d7d"], ["0x10045c8a", "sub ecx, dword ptr [eax + 8]", "0x10046d83"], ["0x10045c8d", "mov dword ptr [esp + 0x10], ecx", "0x10046d86"], ["0x10045c91", "fild dword ptr [esp + 0x10]", "0x10046d8a"], ["0x10045c95", "fstp dword ptr [esp + 0x10]", "0x10046d8e"], ["0x10045c99", "mov eax, dword ptr [esp + 0x44]", "0x10046d92"], ["0x10045c9d", "mov ecx, dword ptr [esp + 0x3c]", "0x10046d96"], ["0x10045ca1", "mov edx, dword ptr [esp + 0x10]", "0x10046d9a"], ["0x10045ca5", "push eax", "0x10046d9e"]]}]], ["@@ -0x10045cc4,34 +0x10046dbd,34 @@", [{"both": [["0x10045cc4", "pop esi", "0x10046dbd"], ["0x10045cc5", "pop ebx", "0x10046dbe"], ["0x10045cc6", "add esp, 0x1c", "0x10046dbf"], ["0x10045cc9", "ret 0x18", "0x10046dc2"], ["0x10045ccc", "mov eax, dword ptr [esp + 0x30]", "0x10046dc5"], ["0x10045cd0", "mov ecx, 1", "0x10046dc9"], ["0x10045cd5", "mov dword ptr [eax + 0x138], esi", "0x10046dce"], ["0x10045cdb", "mov edx, dword ptr [esi + 0x34]", "0x10046dd4"], ["0x10045cde", "mov ebx, edx", "0x10046dd7"], ["0x10045ce0", "mov edi, dword ptr [edx + 4]", "0x10046dd9"]]}, {"orig": [["0x10045ce3", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edi"]], "recomp": [["0x10046ddc", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x10045ce9", "je 0x25", "0x10046de2"], ["0x10045ceb", "mov eax, dword ptr [esp + 0x30]", "0x10046de4"], ["0x10045cef", "mov ebx, edi", "0x10046de8"], ["0x10045cf1", "mov ecx, 1", "0x10046dea"], ["0x10045cf6", "cmp dword ptr [edi + 0xc], eax", "0x10046def"], ["0x10045cf9", "jg 0x2", "0x10046df2"], ["0x10045cfb", "xor ecx, ecx", "0x10046df4"], ["0x10045cfd", "test ecx, ecx", "0x10046df6"], ["0x10045cff", "jne 0x5", "0x10046df8"], ["0x10045d01", "mov edi, dword ptr [edi + 8]", "0x10046dfa"], ["0x10045d04", "jmp 0x2", "0x10046dfd"], ["0x10045d06", "mov edi, dword ptr [edi]", "0x10046dff"]]}, {"orig": [["0x10045d08", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edi"]], "recomp": [["0x10046e01", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]]}, {"both": [["0x10045d0e", "jne -0x21", "0x10046e07"], ["0x10045d10", "cmp dword ptr [esi + 0x38], 0", "0x10046e09"], ["0x10045d14", "je 0xd", "0x10046e0d"], ["0x10045d16", "lea eax, [esp + 0x30]", "0x10046e0f"], ["0x10045d1a", "lea ecx, [esp + 0x24]", "0x10046e13"], ["0x10045d1e", "push eax", "0x10046e17"], ["0x10045d1f", "push ebx", "0x10046e18"], ["0x10045d20", "push edi", "0x10046e19"], ["0x10045d21", "jmp 0x3a", "0x10046e1a"], ["0x10045d23", "mov dword ptr [esp + 0x14], ebx", "0x10046e1c"]]}]], ["@@ -0x10045d5a,10 +0x10046e53,13 @@", [{"both": [["0x10045d5a", "push eax", "0x10046e53"], ["0x10045d5b", "push ebx", "0x10046e54"], ["0x10045d5c", "push edi", "0x10046e55"], ["0x10045d5d", "push ecx", "0x10046e56"], ["0x10045d5e", "lea ecx, [esi + 0x30]", "0x10046e57"], ["0x10045d61", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Insert (FUNCTION)", "0x10046e5a"], ["0x10045d66", "xor eax, eax", "0x10046e5f"], ["0x10045d68", "pop ebp", "0x10046e61"], ["0x10045d69", "pop edi", "0x10046e62"], ["0x10045d6a", "pop esi", "0x10046e63"]]}, {"orig": [], "recomp": [["0x10046e64", "pop ebx"], ["0x10046e65", "add esp, 0x1c"], ["0x10046e68", "ret 0x18"]]}]]]}, {"address": "0x10045d80", "recomp": "0x10046e70", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::iterator::_Dec", "matching": 1.0, "effective": true, "diff": [["@@ -0x10045d81,30 +0x10046e71,30 @@", [{"both": [["0x10045d81", "mov esi, dword ptr [ecx]", "0x10046e71"], ["0x10045d83", "cmp dword ptr [esi + 0x10], 0", "0x10046e73"], ["0x10045d87", "jne 0xf", "0x10046e77"], ["0x10045d89", "mov eax, dword ptr [esi + 4]", "0x10046e79"], ["0x10045d8c", "cmp dword ptr [eax + 4], esi", "0x10046e7c"], ["0x10045d8f", "jne 0x7", "0x10046e7f"], ["0x10045d91", "mov eax, dword ptr [esi + 8]", "0x10046e81"], ["0x10045d94", "pop esi", "0x10046e84"], ["0x10045d95", "mov dword ptr [ecx], eax", "0x10046e85"], ["0x10045d97", "ret ", "0x10046e87"]]}, {"orig": [["0x10045d98", "mov eax, dword ptr [esi]"]], "recomp": [["0x10046e88", "mov edx, dword ptr [esi]"], ["0x10046e8a", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx"], ["0x10046e90", "je 0x13"], ["0x10046e92", "mov eax, dword ptr [edx + 8]"]]}, {"both": [["0x10045d9a", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax", "0x10046e95"]]}, {"orig": [["0x10045da0", "je 0x13"], ["0x10045da2", "mov edx, dword ptr [eax + 8]"], ["0x10045da5", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx"]], "recomp": []}, {"both": [["0x10045dab", "je 0x4", "0x10046e9b"]]}, {"orig": [["0x10045dad", "mov eax, edx"]], "recomp": [["0x10046e9d", "mov edx, eax"]]}, {"both": [["0x10045daf", "jmp -0xf", "0x10046e9f"], ["0x10045db1", "pop esi", "0x10046ea1"]]}, {"orig": [["0x10045db2", "mov dword ptr [ecx], eax"]], "recomp": [["0x10046ea2", "mov dword ptr [ecx], edx"]]}, {"both": [["0x10045db4", "ret ", "0x10046ea4"], ["0x10045db5", "mov edx, dword ptr [esi + 4]", "0x10046ea5"], ["0x10045db8", "cmp dword ptr [edx], esi", "0x10046ea8"], ["0x10045dba", "jne 0xb", "0x10046eaa"], ["0x10045dbc", "mov dword ptr [ecx], edx", "0x10046eac"], ["0x10045dbe", "mov eax, edx", "0x10046eae"], ["0x10045dc0", "mov edx, dword ptr [edx + 4]", "0x10046eb0"], ["0x10045dc3", "cmp dword ptr [edx], eax", "0x10046eb3"], ["0x10045dc5", "je -0xb", "0x10046eb5"], ["0x10045dc7", "pop esi", "0x10046eb7"]]}]]]}, {"address": "0x10045dd0", "recomp": "0x10046ec0", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Insert", "matching": 0.8671328671328671, "diff": [["@@ -0x10045e53,35 +0x10046f43,35 @@", [{"both": [["0x10045e53", "jne 0x11", "0x10046f43"], ["0x10045e55", "mov dword ptr [eax], edx", "0x10046f45"], ["0x10045e57", "jmp 0xd", "0x10046f47"], ["0x10045e59", "mov edx, dword ptr [esp + 0x10]", "0x10046f49"], ["0x10045e5d", "mov dword ptr [eax + 4], edx", "0x10046f4d"], ["0x10045e60", "mov eax, dword ptr [esi + 4]", "0x10046f50"], ["0x10045e63", "mov dword ptr [eax + 8], edx", "0x10046f53"], ["0x10045e66", "mov ecx, dword ptr [esp + 0x10]", "0x10046f56"], ["0x10045e6a", "mov eax, dword ptr [esi + 4]", "0x10046f5a"], ["0x10045e6d", "cmp dword ptr [eax + 4], ecx", "0x10046f5d"]]}, {"orig": [["0x10045e70", "je 0x1b3"]], "recomp": [["0x10046f60", "je 0x1b6"]]}, {"both": [["0x10045e76", "lea edx, [ecx + 4]", "0x10046f66"], ["0x10045e79", "mov eax, dword ptr [edx]", "0x10046f69"], ["0x10045e7b", "lea ebx, [eax + 0x10]", "0x10046f6b"], ["0x10045e7e", "cmp dword ptr [ebx], 0", "0x10046f6e"]]}, {"orig": [["0x10045e81", "jne 0x1a2"]], "recomp": [["0x10046f71", "jne 0x1a5"]]}, {"both": [["0x10045e87", "lea edi, [eax + 4]", "0x10046f77"], ["0x10045e8a", "mov ebp, dword ptr [edi]", "0x10046f7a"], ["0x10045e8c", "mov ebp, dword ptr [ebp]", "0x10046f7c"], ["0x10045e8f", "cmp ebp, eax", "0x10046f7f"]]}, {"orig": [["0x10045e91", "jne 0xbb"]], "recomp": [["0x10046f81", "jne 0xbe"]]}, {"both": [["0x10045e97", "mov ebp, dword ptr [edi]", "0x10046f87"], ["0x10045e99", "mov ebp, dword ptr [ebp + 8]", "0x10046f89"], ["0x10045e9c", "cmp dword ptr [ebp + 0x10], 0", "0x10046f8c"]]}, {"orig": [["0x10045ea0", "je 0x159"]], "recomp": [["0x10046f90", "je 0x15c"]]}, {"both": [["0x10045ea6", "lea ebx, [eax + 8]", "0x10046f96"], ["0x10045ea9", "mov edx, dword ptr [ebx]", "0x10046f99"], ["0x10045eab", "cmp edx, ecx", "0x10046f9b"], ["0x10045ead", "jne 0x33", "0x10046f9d"], ["0x10045eaf", "mov ecx, eax", "0x10046f9f"], ["0x10045eb1", "mov eax, dword ptr [edx]", "0x10046fa1"], ["0x10045eb3", "mov dword ptr [ebx], eax", "0x10046fa3"], ["0x10045eb5", "mov eax, dword ptr [edx]", "0x10046fa5"], ["0x10045eb7", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax", "0x10046fa7"], ["0x10045ebd", "je 0x3", "0x10046fad"]]}]], ["@@ -0x10045f1d,28 +0x1004700d,29 @@", [{"both": [["0x10045f1d", "add eax, 4", "0x1004700d"], ["0x10045f20", "cmp dword ptr [eax], edx", "0x10047010"], ["0x10045f22", "je 0x24", "0x10047012"], ["0x10045f24", "mov ebx, dword ptr [edx + 4]", "0x10047014"], ["0x10045f27", "lea eax, [ebx + 8]", "0x10047017"], ["0x10045f2a", "cmp dword ptr [eax], edx", "0x1004701a"], ["0x10045f2c", "je 0xd", "0x1004701c"], ["0x10045f2e", "mov dword ptr [ebx], edi", "0x1004701e"], ["0x10045f30", "mov dword ptr [edi + 8], edx", "0x10047020"], ["0x10045f33", "mov dword ptr [edx + 4], edi", "0x10047023"]]}, {"orig": [["0x10045f36", "jmp 0xe2"]], "recomp": [["0x10047026", "jmp 0xe5"]]}, {"both": [["0x10045f3b", "mov dword ptr [eax], edi", "0x1004702b"], ["0x10045f3d", "mov dword ptr [edi + 8], edx", "0x1004702d"], ["0x10045f40", "mov dword ptr [edx + 4], edi", "0x10047030"]]}, {"orig": [["0x10045f43", "jmp 0xd5"]], "recomp": [["0x10047033", "jmp 0xd8"]]}, {"both": [["0x10045f48", "mov dword ptr [eax], edi", "0x10047038"], ["0x10045f4a", "mov dword ptr [edi + 8], edx", "0x1004703a"]]}, {"orig": [["0x10045f4d", "jmp 0xa8"]], "recomp": [["0x1004703d", "mov dword ptr [edx + 4], edi"], ["0x10047040", "jmp 0xcb"]]}, {"both": [["0x10045f52", "cmp dword ptr [ebp + 0x10], 0", "0x10047045"], ["0x10045f56", "je 0xa3", "0x10047049"], ["0x10045f5c", "mov edx, dword ptr [eax]", "0x1004704f"], ["0x10045f5e", "cmp edx, ecx", "0x10047051"], ["0x10045f60", "jne 0x38", "0x10047053"], ["0x10045f62", "mov ecx, eax", "0x10047055"], ["0x10045f64", "mov eax, dword ptr [edx + 8]", "0x10047057"], ["0x10045f67", "mov dword ptr [ecx], eax", "0x1004705a"], ["0x10045f69", "mov eax, dword ptr [edx + 8]", "0x1004705c"], ["0x10045f6c", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax", "0x1004705f"]]}]], ["@@ -0x10045f91,59 +0x10047084,59 @@", [{"both": [["0x10045f91", "jmp 0x2", "0x10047084"], ["0x10045f93", "mov dword ptr [eax], edx", "0x10047086"], ["0x10045f95", "mov dword ptr [edx + 8], ecx", "0x10047088"], ["0x10045f98", "mov dword ptr [edi], edx", "0x1004708b"], ["0x10045f9a", "mov eax, dword ptr [ecx + 4]", "0x1004708d"], ["0x10045f9d", "mov dword ptr [eax + 0x10], 1", "0x10047090"], ["0x10045fa4", "mov eax, dword ptr [ecx + 4]", "0x10047097"], ["0x10045fa7", "mov edx, dword ptr [eax + 4]", "0x1004709a"], ["0x10045faa", "mov dword ptr [edx + 0x10], 0", "0x1004709d"], ["0x10045fb1", "mov eax, dword ptr [ecx + 4]", "0x100470a4"]]}, {"orig": [["0x10045fb4", "mov edx, dword ptr [eax + 4]"], ["0x10045fb7", "mov edi, dword ptr [edx + 8]"], ["0x10045fba", "mov eax, dword ptr [edi]"], ["0x10045fbc", "mov dword ptr [edx + 8], eax"], ["0x10045fbf", "mov eax, dword ptr [edi]"]], "recomp": [["0x100470a7", "mov edi, dword ptr [eax + 4]"], ["0x100470aa", "mov edx, dword ptr [edi + 8]"], ["0x100470ad", "mov eax, dword ptr [edx]"], ["0x100470af", "mov dword ptr [edi + 8], eax"], ["0x100470b2", "mov eax, dword ptr [edx]"]]}, {"both": [["0x10045fc1", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax", "0x100470b4"], ["0x10045fc7", "je 0x3", "0x100470ba"]]}, {"orig": [["0x10045fc9", "mov dword ptr [eax + 4], edx"], ["0x10045fcc", "mov eax, dword ptr [edx + 4]"], ["0x10045fcf", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x100470bc", "mov dword ptr [eax + 4], edi"], ["0x100470bf", "mov eax, dword ptr [edi + 4]"], ["0x100470c2", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x10045fd2", "mov eax, dword ptr [esi + 4]", "0x100470c5"], ["0x10045fd5", "add eax, 4", "0x100470c8"]]}, {"orig": [["0x10045fd8", "cmp dword ptr [eax], edx"]], "recomp": [["0x100470cb", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10045fda", "je 0x1a", "0x100470cd"]]}, {"orig": [["0x10045fdc", "mov eax, dword ptr [edx + 4]"], ["0x10045fdf", "cmp dword ptr [eax], edx"]], "recomp": [["0x100470cf", "mov eax, dword ptr [edi + 4]"], ["0x100470d2", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10045fe1", "je 0xa", "0x100470d4"]]}, {"orig": [["0x10045fe3", "mov dword ptr [eax + 8], edi"], ["0x10045fe6", "mov dword ptr [edi], edx"], ["0x10045fe8", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x100470d6", "mov dword ptr [eax + 8], edx"], ["0x100470d9", "mov dword ptr [edx], edi"], ["0x100470db", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x10045feb", "jmp 0x30", "0x100470de"]]}, {"orig": [["0x10045fed", "mov dword ptr [eax], edi"], ["0x10045fef", "mov dword ptr [edi], edx"], ["0x10045ff1", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x100470e0", "mov dword ptr [eax], edx"], ["0x100470e2", "mov dword ptr [edx], edi"], ["0x100470e4", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x10045ff4", "jmp 0x27", "0x100470e7"]]}, {"orig": [["0x10045ff6", "mov dword ptr [eax], edi"], ["0x10045ff8", "mov dword ptr [edi], edx"], ["0x10045ffa", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x100470e9", "mov dword ptr [eax], edx"], ["0x100470eb", "mov dword ptr [edx], edi"], ["0x100470ed", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x10045ffd", "jmp 0x1e", "0x100470f0"], ["0x10045fff", "mov dword ptr [ebx], 1", "0x100470f2"], ["0x10046005", "mov dword ptr [ebp + 0x10], 1", "0x100470f8"], ["0x1004600c", "mov eax, dword ptr [edx]", "0x100470ff"], ["0x1004600e", "mov ecx, dword ptr [eax + 4]", "0x10047101"], ["0x10046011", "mov dword ptr [ecx + 0x10], 0", "0x10047104"], ["0x10046018", "mov eax, dword ptr [edx]", "0x1004710b"], ["0x1004601a", "mov ecx, dword ptr [eax + 4]", "0x1004710d"], ["0x1004601d", "mov eax, dword ptr [esi + 4]", "0x10047110"], ["0x10046020", "cmp dword ptr [eax + 4], ecx", "0x10047113"]]}, {"orig": [["0x10046023", "jne -0x1b3"]], "recomp": [["0x10047116", "jne -0x1b6"]]}, {"both": [["0x10046029", "mov eax, dword ptr [esi + 4]", "0x1004711c"], ["0x1004602c", "mov edx, dword ptr [esp + 0x10]", "0x1004711f"], ["0x10046030", "mov ecx, dword ptr [eax + 4]", "0x10047123"], ["0x10046033", "mov eax, dword ptr [esp + 0x18]", "0x10047126"], ["0x10046037", "pop ebp", "0x1004712a"], ["0x10046038", "pop edi", "0x1004712b"], ["0x10046039", "mov dword ptr [ecx + 0x10], 1", "0x1004712c"], ["0x10046040", "pop esi", "0x10047133"], ["0x10046041", "mov dword ptr [eax], edx", "0x10047134"], ["0x10046043", "pop ebx", "0x10047136"]]}]]]}, {"address": "0x10046050", "recomp": "0x10047140", "name": "LegoPathController::PlaceActor", "matching": 0.9417040358744395, "diff": [["@@ -0x10046050,23 +0x10047140,21 @@", [{"both": [["0x10046050", "sub esp, 0x3c", "0x10047140"], ["0x10046053", "mov dword ptr [esp + 4], ecx", "0x10047143"], ["0x10046057", "push ebx", "0x10047147"], ["0x10046058", "mov dword ptr [esp + 4], 0", "0x10047148"], ["0x10046060", "push esi", "0x10047150"], ["0x10046061", "push edi", "0x10047151"], ["0x10046062", "push ebp", "0x10047152"], ["0x10046063", "call Timer (FUNCTION)", "0x10047153"], ["0x10046068", "cmp byte ptr [eax + 0xc], 0", "0x10047158"]]}, {"orig": [["0x1004606c", "je 0xf"], ["0x1004606e", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"], ["0x10046073", "mov dword ptr [esp + 0x18], eax"], ["0x10046077", "fild dword ptr [esp + 0x18]"]], "recomp": [["0x1004715c", "je 0x8"], ["0x1004715e", "fild dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]]}, {"both": [["0x1004607b", "jmp 0x11", "0x10047164"], ["0x1004607d", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10047166"], ["0x10046083", "sub ecx, dword ptr [eax + 8]", "0x1004716c"], ["0x10046086", "mov dword ptr [esp + 0x18], ecx", "0x1004716f"], ["0x1004608a", "fild dword ptr [esp + 0x18]", "0x10047173"], ["0x1004608e", "fstp dword ptr [esp + 0x40]", "0x10047177"], ["0x10046092", "mov eax, dword ptr [esp + 0x50]", "0x1004717b"], ["0x10046096", "mov ecx, dword ptr [eax + 0x138]", "0x1004717f"], ["0x1004609c", "test ecx, ecx", "0x10047185"], ["0x1004609e", "je 0x14", "0x10047187"]]}]], ["@@ -0x100460be,27 +0x100471a7,27 @@", [{"both": [["0x100460be", "mov dword ptr [esp + 0x3c], eax", "0x100471a7"], ["0x100460c2", "jbe 0xe9", "0x100471ab"], ["0x100460c8", "mov ebp, dword ptr [esp + 0x58]", "0x100471b1"], ["0x100460cc", "mov dword ptr [esp + 0x38], eax", "0x100471b5"], ["0x100460d0", "mov ecx, dword ptr [esp + 0x14]", "0x100471b9"], ["0x100460d4", "mov eax, dword ptr [esp + 0x54]", "0x100471bd"], ["0x100460d8", "mov edi, dword ptr [ecx + 8]", "0x100471c1"], ["0x100460db", "lea edx, [esp + 0x44]", "0x100471c4"], ["0x100460df", "add edi, dword ptr [esp + 0x38]", "0x100471c8"], ["0x100460e3", "mov dword ptr [esp + 0x30], eax", "0x100471cc"]]}, {"orig": [], "recomp": [["0x100471d0", "lea ecx, [edi + 0x64]"]]}, {"both": [["0x100460e7", "lea eax, [esp + 0x30]", "0x100471d3"]]}, {"orig": [["0x100460eb", "mov esi, dword ptr [edi + 0x68]"], ["0x100460ee", "lea ecx, [edi + 0x64]"]], "recomp": [["0x100471d7", "mov esi, dword ptr [ecx + 4]"]]}, {"both": [["0x100460f1", "push eax", "0x100471da"], ["0x100460f2", "push edx", "0x100471db"], ["0x100460f3", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::find (FUNCTION)", "0x100471dc"]]}, {"orig": [["0x100460f8", "cmp esi, dword ptr [esp + 0x44]"]], "recomp": [["0x100471e1", "cmp dword ptr [esp + 0x44], esi"]]}, {"both": [["0x100460fc", "je 0x81", "0x100471e5"], ["0x10046102", "xor ebx, ebx", "0x100471eb"], ["0x10046104", "cmp byte ptr [edi + 4], bl", "0x100471ed"], ["0x10046107", "jbe 0x66", "0x100471f0"], ["0x10046109", "xor esi, esi", "0x100471f2"], ["0x1004610b", "mov eax, dword ptr [ebp]", "0x100471f4"], ["0x1004610e", "mov ecx, dword ptr [eax + 0x38]", "0x100471f7"], ["0x10046111", "mov dword ptr [esp + 0x48], ecx", "0x100471fa"], ["0x10046115", "mov eax, dword ptr [edi + 0x2c]", "0x100471fe"], ["0x10046118", "lea ecx, [esp + 0x20]", "0x10047201"]]}]], ["@@ -0x1004619a,25 +0x10047283,32 @@", [{"both": [["0x1004619a", "jg -0xd0", "0x10047283"], ["0x100461a0", "jmp 0x13", "0x10047289"], ["0x100461a2", "mov eax, 0xffffffff", "0x1004728b"], ["0x100461a7", "pop ebp", "0x10047290"], ["0x100461a8", "pop edi", "0x10047291"], ["0x100461a9", "pop esi", "0x10047292"], ["0x100461aa", "pop ebx", "0x10047293"], ["0x100461ab", "add esp, 0x3c", "0x10047294"], ["0x100461ae", "ret 0x10", "0x10047297"], ["0x100461b1", "mov ebp, dword ptr [esp + 0x58]", "0x1004729a"]]}, {"orig": [], "recomp": [["0x1004729e", "cmp dword ptr [esp + 0x10], 0"], ["0x100472a3", "jne 0xf"], ["0x100472a5", "mov eax, 0xffffffff"], ["0x100472aa", "pop ebp"], ["0x100472ab", "pop edi"], ["0x100472ac", "pop esi"], ["0x100472ad", "pop ebx"], ["0x100472ae", "add esp, 0x3c"], ["0x100472b1", "ret 0x10"]]}, {"both": [["0x100461b5", "xor edi, edi", "0x100472b4"]]}, {"orig": [["0x100461b7", "cmp dword ptr [esp + 0x10], edi"], ["0x100461bb", "je 0x13f"]], "recomp": [["0x100472b6", "mov esi, dword ptr [esp + 0x5c]"]]}, {"both": [["0x100461c1", "mov dword ptr [esp + 0x30], edi", "0x100472ba"]]}, {"orig": [["0x100461c5", "mov esi, dword ptr [esp + 0x5c]"]], "recomp": []}, {"both": [["0x100461c9", "xor eax, eax", "0x100472be"], ["0x100461cb", "mov ecx, dword ptr [esp + 0x10]", "0x100472c0"], ["0x100461cf", "mov al, byte ptr [ecx + 4]", "0x100472c4"], ["0x100461d2", "cmp eax, dword ptr [esp + 0x30]", "0x100472c7"], ["0x100461d6", "jle 0xda", "0x100472cb"], ["0x100461dc", "mov eax, dword ptr [ecx + 8]", "0x100472d1"], ["0x100461df", "mov ebx, dword ptr [eax + edi]", "0x100472d4"], ["0x100461e2", "test byte ptr [ebx + 0x24], 3", "0x100472d7"], ["0x100461e6", "je 0xbe", "0x100472db"], ["0x100461ec", "lea eax, [esp + 0x20]", "0x100472e1"]]}]], ["@@ -0x100462eb,11 +0x100473e0,10 @@", [{"both": [["0x100462eb", "push eax", "0x100473e0"], ["0x100462ec", "add ecx, 0x30", "0x100473e1"], ["0x100462ef", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::insert (FUNCTION)", "0x100473e4"], ["0x100462f4", "xor eax, eax", "0x100473e9"], ["0x100462f6", "pop ebp", "0x100473eb"], ["0x100462f7", "pop edi", "0x100473ec"], ["0x100462f8", "pop esi", "0x100473ed"], ["0x100462f9", "pop ebx", "0x100473ee"], ["0x100462fa", "add esp, 0x3c", "0x100473ef"], ["0x100462fd", "ret 0x10", "0x100473f2"]]}, {"orig": [["0x10046300", "mov eax, 0xffffffff"]], "recomp": []}]]]}, {"address": "0x10046310", "recomp": "0x10047400", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::insert", "matching": 0.8947368421052632, "diff": [["@@ -0x10046310,35 +0x10047400,35 @@", [{"both": [["0x10046310", "sub esp, 0xc", "0x10047400"], ["0x10046313", "push ebx", "0x10047403"], ["0x10046314", "push esi", "0x10047404"], ["0x10046315", "push edi", "0x10047405"], ["0x10046316", "push ebp", "0x10047406"], ["0x10046317", "mov edx, dword ptr [ecx + 4]", "0x10047407"], ["0x1004631a", "mov edi, ecx", "0x1004740a"], ["0x1004631c", "mov ebp, edx", "0x1004740c"], ["0x1004631e", "mov ecx, 1", "0x1004740e"], ["0x10046323", "mov ebx, dword ptr [edx + 4]", "0x10047413"]]}, {"orig": [["0x10046326", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x10047416", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1004632c", "je 0x27", "0x1004741c"], ["0x1004632e", "mov eax, dword ptr [esp + 0x24]", "0x1004741e"], ["0x10046332", "mov eax, dword ptr [eax]", "0x10047422"], ["0x10046334", "mov ebp, ebx", "0x10047424"], ["0x10046336", "mov ecx, 1", "0x10047426"], ["0x1004633b", "cmp dword ptr [ebx + 0xc], eax", "0x1004742b"], ["0x1004633e", "jg 0x2", "0x1004742e"], ["0x10046340", "xor ecx, ecx", "0x10047430"], ["0x10046342", "test ecx, ecx", "0x10047432"], ["0x10046344", "jne 0x5", "0x10047434"], ["0x10046346", "mov ebx, dword ptr [ebx + 8]", "0x10047436"], ["0x10046349", "jmp 0x2", "0x10047439"], ["0x1004634b", "mov ebx, dword ptr [ebx]", "0x1004743b"]]}, {"orig": [["0x1004634d", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x1004743d", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10046353", "jne -0x21", "0x10047443"], ["0x10046355", "cmp dword ptr [edi + 8], 0", "0x10047445"], ["0x10046359", "je 0x34", "0x10047449"], ["0x1004635b", "mov eax, dword ptr [esp + 0x24]", "0x1004744b"], ["0x1004635f", "lea ecx, [esp + 0x14]", "0x1004744f"], ["0x10046363", "mov dword ptr [esp + 0x10], 1", "0x10047453"], ["0x1004636b", "push eax", "0x1004745b"], ["0x1004636c", "push ebp", "0x1004745c"], ["0x1004636d", "push ebx", "0x1004745d"], ["0x1004636e", "push ecx", "0x1004745e"]]}]], ["@@ -0x10046409,21 +0x100474f9,21 @@", [{"both": [["0x10046409", "lea edx, [esi + 0xc]", "0x100474f9"], ["0x1004640c", "mov dword ptr [esi], eax", "0x100474fc"], ["0x1004640e", "mov eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x100474fe"], ["0x10046413", "push edx", "0x10047503"], ["0x10046414", "mov dword ptr [esi + 8], eax", "0x10047504"], ["0x10046417", "call _Construct (FUNCTION)", "0x10047507"], ["0x1004641c", "add esp, 8", "0x1004750c"], ["0x1004641f", "inc dword ptr [edi + 0xc]", "0x1004750f"], ["0x10046422", "cmp dword ptr [edi + 4], ebp", "0x10047512"], ["0x10046425", "je 0x24", "0x10047515"]]}, {"orig": [["0x10046427", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x10047517", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1004642d", "jne 0x1c", "0x1004751d"], ["0x1004642f", "mov eax, dword ptr [esp + 0x24]", "0x1004751f"], ["0x10046433", "mov ecx, dword ptr [eax]", "0x10047523"], ["0x10046435", "cmp dword ptr [ebp + 0xc], ecx", "0x10047525"], ["0x10046438", "jg 0x11", "0x10047528"], ["0x1004643a", "mov dword ptr [ebp + 8], esi", "0x1004752a"], ["0x1004643d", "mov eax, dword ptr [edi + 4]", "0x1004752d"], ["0x10046440", "add eax, 8", "0x10047530"], ["0x10046443", "cmp dword ptr [eax], ebp", "0x10047533"], ["0x10046445", "jne 0x1f", "0x10047535"]]}]], ["@@ -0x10046459,70 +0x10047549,70 @@", [{"both": [["0x10046459", "mov dword ptr [eax], esi", "0x10047549"], ["0x1004645b", "jmp 0x9", "0x1004754b"], ["0x1004645d", "mov dword ptr [eax + 4], esi", "0x1004754d"], ["0x10046460", "mov eax, dword ptr [edi + 4]", "0x10047550"], ["0x10046463", "mov dword ptr [eax + 8], esi", "0x10047553"], ["0x10046466", "mov ebx, esi", "0x10047556"], ["0x10046468", "mov eax, dword ptr [edi + 4]", "0x10047558"], ["0x1004646b", "cmp dword ptr [eax + 4], esi", "0x1004755b"], ["0x1004646e", "je 0xc2", "0x1004755e"], ["0x10046474", "lea ecx, [ebx + 4]", "0x10047564"]]}, {"orig": [["0x10046477", "mov edx, dword ptr [ecx]"], ["0x10046479", "lea eax, [edx + 0x10]"]], "recomp": [["0x10047567", "mov ebp, dword ptr [ecx]"], ["0x10047569", "lea eax, [ebp + 0x10]"]]}, {"both": [["0x1004647c", "cmp dword ptr [eax], 0", "0x1004756c"], ["0x1004647f", "jne 0xb1", "0x1004756f"]]}, {"orig": [["0x10046485", "mov ebp, dword ptr [edx + 4]"], ["0x10046488", "mov ebp, dword ptr [ebp]"], ["0x1004648b", "cmp ebp, edx"]], "recomp": [["0x10047575", "mov edx, dword ptr [ebp + 4]"], ["0x10047578", "mov edx, dword ptr [edx]"], ["0x1004757a", "cmp edx, ebp"]]}, {"both": [["0x1004648d", "jne 0x42", "0x1004757c"]]}, {"orig": [["0x1004648f", "mov ebp, dword ptr [edx + 4]"], ["0x10046492", "mov ebp, dword ptr [ebp + 8]"], ["0x10046495", "cmp dword ptr [ebp + 0x10], 0"], ["0x10046499", "je 0x71"], ["0x1004649b", "cmp dword ptr [edx + 8], ebx"]], "recomp": [["0x1004757e", "mov edx, dword ptr [ebp + 4]"], ["0x10047581", "mov edx, dword ptr [edx + 8]"], ["0x10047584", "cmp dword ptr [edx + 0x10], 0"], ["0x10047588", "je 0x72"], ["0x1004758a", "cmp dword ptr [ebp + 8], ebx"]]}, {"both": [["0x1004649e", "jne 0xa", "0x1004758d"]]}, {"orig": [["0x100464a0", "push edx"], ["0x100464a1", "mov ebx, edx"]], "recomp": [["0x1004758f", "push ebp"], ["0x10047590", "mov ebx, ebp"]]}, {"both": [["0x100464a3", "mov ecx, edi", "0x10047592"], ["0x100464a5", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Lrotate (FUNCTION)", "0x10047594"], ["0x100464aa", "mov eax, dword ptr [ebx + 4]", "0x10047599"], ["0x100464ad", "mov dword ptr [eax + 0x10], 1", "0x1004759c"], ["0x100464b4", "mov eax, dword ptr [ebx + 4]", "0x100475a3"], ["0x100464b7", "mov ecx, dword ptr [eax + 4]", "0x100475a6"], ["0x100464ba", "mov dword ptr [ecx + 0x10], 0", "0x100475a9"], ["0x100464c1", "mov eax, dword ptr [ebx + 4]", "0x100475b0"], ["0x100464c4", "mov ecx, dword ptr [eax + 4]", "0x100475b3"], ["0x100464c7", "push ecx", "0x100475b6"], ["0x100464c8", "mov ecx, edi", "0x100475b7"], ["0x100464ca", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Rrotate (FUNCTION)", "0x100475b9"]]}, {"orig": [["0x100464cf", "jmp 0x59"], ["0x100464d1", "cmp dword ptr [ebp + 0x10], 0"], ["0x100464d5", "je 0x35"], ["0x100464d7", "cmp dword ptr [edx], ebx"]], "recomp": [["0x100475be", "jmp 0x5a"], ["0x100475c0", "cmp dword ptr [edx + 0x10], 0"], ["0x100475c4", "je 0x36"], ["0x100475c6", "cmp dword ptr [ebp], ebx"]]}, {"both": [["0x100464d9", "jne 0xa", "0x100475c9"]]}, {"orig": [["0x100464db", "push edx"], ["0x100464dc", "mov ebx, edx"]], "recomp": [["0x100475cb", "push ebp"], ["0x100475cc", "mov ebx, ebp"]]}, {"both": [["0x100464de", "mov ecx, edi", "0x100475ce"], ["0x100464e0", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Rrotate (FUNCTION)", "0x100475d0"], ["0x100464e5", "mov eax, dword ptr [ebx + 4]", "0x100475d5"], ["0x100464e8", "mov dword ptr [eax + 0x10], 1", "0x100475d8"], ["0x100464ef", "mov eax, dword ptr [ebx + 4]", "0x100475df"], ["0x100464f2", "mov ecx, dword ptr [eax + 4]", "0x100475e2"], ["0x100464f5", "mov dword ptr [ecx + 0x10], 0", "0x100475e5"], ["0x100464fc", "mov eax, dword ptr [ebx + 4]", "0x100475ec"], ["0x100464ff", "mov ecx, dword ptr [eax + 4]", "0x100475ef"], ["0x10046502", "push ecx", "0x100475f2"], ["0x10046503", "mov ecx, edi", "0x100475f3"], ["0x10046505", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Lrotate (FUNCTION)", "0x100475f5"], ["0x1004650a", "jmp 0x1e", "0x100475fa"], ["0x1004650c", "mov dword ptr [eax], 1", "0x100475fc"]]}, {"orig": [["0x10046512", "mov dword ptr [ebp + 0x10], 1"]], "recomp": [["0x10047602", "mov dword ptr [edx + 0x10], 1"]]}, {"both": [["0x10046519", "mov eax, dword ptr [ecx]", "0x10047609"], ["0x1004651b", "mov edx, dword ptr [eax + 4]", "0x1004760b"], ["0x1004651e", "mov dword ptr [edx + 0x10], 0", "0x1004760e"], ["0x10046525", "mov eax, dword ptr [ecx]", "0x10047615"], ["0x10046527", "mov ebx, dword ptr [eax + 4]", "0x10047617"], ["0x1004652a", "mov eax, dword ptr [edi + 4]", "0x1004761a"], ["0x1004652d", "cmp dword ptr [eax + 4], ebx", "0x1004761d"], ["0x10046530", "jne -0xc2", "0x10047620"], ["0x10046536", "mov eax, dword ptr [edi + 4]", "0x10047626"], ["0x10046539", "mov ecx, dword ptr [eax + 4]", "0x10047629"]]}]]]}, {"address": "0x10046580", "recomp": "0x10047670", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Lrotate", "matching": 1.0, "diff": []}, {"address": "0x100465e0", "recomp": "0x100476d0", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Rrotate", "matching": 1.0, "diff": []}, {"address": "0x10046640", "recomp": "0x10047730", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::find", "matching": 1.0, "effective": true, "diff": [["@@ -0x10046640,32 +0x10047730,32 @@", [{"both": [["0x10046640", "sub esp, 8", "0x10047730"]]}, {"orig": [["0x10046643", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x10047733", "mov edx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10046647", "push esi", "0x10047737"], ["0x10046648", "push edi", "0x10047738"], ["0x10046649", "mov esi, dword ptr [ecx + 4]", "0x10047739"], ["0x1004664c", "mov edi, esi", "0x1004773c"]]}, {"orig": [["0x1004664e", "mov edx, dword ptr [esi + 4]"], ["0x10046651", "cmp edx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]], "recomp": [["0x1004773e", "mov ecx, dword ptr [esi + 4]"], ["0x10047741", "cmp ecx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x10046657", "je 0x18", "0x10047747"]]}, {"orig": [["0x10046659", "mov ecx, dword ptr [eax]"], ["0x1004665b", "cmp dword ptr [edx + 0xc], ecx"]], "recomp": [["0x10047749", "mov eax, dword ptr [edx]"], ["0x1004774b", "cmp dword ptr [ecx + 0xc], eax"]]}, {"both": [["0x1004665e", "jl 0x6", "0x1004774e"]]}, {"orig": [["0x10046660", "mov edi, edx"], ["0x10046662", "mov edx, dword ptr [edx]"]], "recomp": [["0x10047750", "mov edi, ecx"], ["0x10047752", "mov ecx, dword ptr [ecx]"]]}, {"both": [["0x10046664", "jmp 0x3", "0x10047754"]]}, {"orig": [["0x10046666", "mov edx, dword ptr [edx + 8]"], ["0x10046669", "cmp edx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]], "recomp": [["0x10047756", "mov ecx, dword ptr [ecx + 8]"], ["0x10047759", "cmp ecx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x1004666f", "jne -0x16", "0x1004775f"], ["0x10046671", "mov dword ptr [esp + 8], edi", "0x10047761"], ["0x10046675", "cmp edi, esi", "0x10047765"], ["0x10046677", "je 0xb", "0x10047767"]]}, {"orig": [["0x10046679", "mov eax, dword ptr [eax]"]], "recomp": [["0x10047769", "mov eax, dword ptr [edx]"]]}, {"both": [["0x1004667b", "cmp dword ptr [edi + 0xc], eax", "0x1004776b"], ["0x1004667e", "lea eax, [esp + 8]", "0x1004776e"], ["0x10046682", "jle 0x8", "0x10047772"], ["0x10046684", "lea eax, [esp + 0xc]", "0x10047774"], ["0x10046688", "mov dword ptr [esp + 0xc], esi", "0x10047778"], ["0x1004668c", "mov ecx, dword ptr [eax]", "0x1004777c"], ["0x1004668e", "mov eax, dword ptr [esp + 0x14]", "0x1004777e"], ["0x10046692", "pop edi", "0x10047782"], ["0x10046693", "pop esi", "0x10047783"], ["0x10046694", "mov dword ptr [eax], ecx", "0x10047784"]]}]]]}, {"address": "0x100466a0", "recomp": "0x10047790", "name": "LegoPathController::PlaceActor", "matching": 1.0, "diff": []}, {"address": "0x10046770", "recomp": "0x10047860", "name": "LegoPathController::RemoveActor", "matching": 1.0, "effective": true, "diff": [["@@ -0x10046796,21 +0x10047886,21 @@", [{"both": [["0x10046796", "mov ecx, edi", "0x10047886"], ["0x10046798", "push eax", "0x10047888"], ["0x10046799", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Ubound (FUNCTION)", "0x10047889"], ["0x1004679e", "mov ebx, eax", "0x1004788e"], ["0x100467a0", "mov ecx, edi", "0x10047890"], ["0x100467a2", "lea eax, [esp + 0x24]", "0x10047892"], ["0x100467a6", "push eax", "0x10047896"], ["0x100467a7", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Lbound (FUNCTION)", "0x10047897"], ["0x100467ac", "mov ecx, eax", "0x1004789c"], ["0x100467ae", "mov dword ptr [esp + 0x10], eax", "0x1004789e"]]}, {"orig": [["0x100467b2", "cmp eax, ebx"]], "recomp": [["0x100478a2", "cmp ebx, eax"]]}, {"both": [["0x100467b4", "je 0x36", "0x100478a4"], ["0x100467b6", "mov edx, dword ptr [ecx + 8]", "0x100478a6"], ["0x100467b9", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx", "0x100478a9"], ["0x100467bf", "je 0xe", "0x100478af"], ["0x100467c1", "mov ecx, dword ptr [edx]", "0x100478b1"], ["0x100467c3", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ecx", "0x100478b3"], ["0x100467c9", "je 0x1b", "0x100478b9"], ["0x100467cb", "mov edx, ecx", "0x100478bb"], ["0x100467cd", "jmp -0xe", "0x100478bd"], ["0x100467cf", "mov edx, dword ptr [ecx + 4]", "0x100478bf"]]}]], ["@@ -0x100467d5,23 +0x100478c5,23 @@", [{"both": [["0x100467d5", "jne 0xa", "0x100478c5"], ["0x100467d7", "mov ecx, edx", "0x100478c7"], ["0x100467d9", "mov edx, dword ptr [edx + 4]", "0x100478c9"], ["0x100467dc", "cmp dword ptr [edx + 8], ecx", "0x100478cc"], ["0x100467df", "je -0xa", "0x100478cf"], ["0x100467e1", "cmp dword ptr [ecx + 8], edx", "0x100478d1"], ["0x100467e4", "je 0x2", "0x100478d4"], ["0x100467e6", "mov ecx, edx", "0x100478d6"], ["0x100467e8", "cmp ecx, ebx", "0x100478d8"], ["0x100467ea", "jne -0x36", "0x100478da"]]}, {"orig": [], "recomp": [["0x100478dc", "cmp dword ptr [esi + 0x3c], 0"]]}, {"both": [["0x100467ec", "mov ecx, dword ptr [esp + 0x10]", "0x100478e0"], ["0x100467f0", "mov dword ptr [esp + 0x10], ecx", "0x100478e4"]]}, {"orig": [["0x100467f4", "cmp dword ptr [esi + 0x3c], 0"]], "recomp": []}, {"both": [["0x100467f8", "je 0x51", "0x100478e8"], ["0x100467fa", "mov ecx, dword ptr [esi + 0x34]", "0x100478ea"], ["0x100467fd", "cmp dword ptr [ecx], eax", "0x100478ed"], ["0x100467ff", "jne 0x4a", "0x100478ef"], ["0x10046801", "cmp ebx, ecx", "0x100478f1"], ["0x10046803", "jne 0x46", "0x100478f3"], ["0x10046805", "mov ebp, dword ptr [ecx + 4]", "0x100478f5"], ["0x10046808", "mov ebx, ebp", "0x100478f8"], ["0x1004680a", "cmp ebx, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x100478fa"], ["0x10046810", "je 0x1a", "0x10047900"]]}]], ["@@ -0x10046818,39 +0x10047908,39 @@", [{"both": [["0x10046818", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase (FUNCTION)", "0x10047908"], ["0x1004681d", "mov ebx, dword ptr [ebx]", "0x1004790d"], ["0x1004681f", "push ebp", "0x1004790f"], ["0x10046820", "mov ebp, ebx", "0x10047910"], ["0x10046822", "call ??3@YAXPAX@Z (FUNCTION)", "0x10047912"], ["0x10046827", "add esp, 4", "0x10047917"], ["0x1004682a", "jmp -0x22", "0x1004791a"], ["0x1004682c", "mov eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x1004791c"], ["0x10046831", "mov ecx, dword ptr [esi + 0x34]", "0x10047921"], ["0x10046834", "mov dword ptr [ecx + 4], eax", "0x10047924"]]}, {"orig": [], "recomp": [["0x10047927", "mov eax, dword ptr [esi + 0x34]"]]}, {"both": [["0x10046837", "mov dword ptr [esi + 0x3c], 0", "0x1004792a"]]}, {"orig": [["0x1004683e", "mov eax, dword ptr [esi + 0x34]"]], "recomp": []}, {"both": [["0x10046841", "mov dword ptr [eax], eax", "0x10047931"], ["0x10046843", "mov eax, dword ptr [esi + 0x34]", "0x10047933"], ["0x10046846", "mov dword ptr [eax + 8], eax", "0x10047936"], ["0x10046849", "jmp 0x2c", "0x10047939"]]}, {"orig": [["0x1004684b", "cmp eax, ebx"]], "recomp": [["0x1004793b", "cmp ebx, eax"]]}, {"both": [["0x1004684d", "je 0x28", "0x1004793d"], ["0x1004684f", "mov eax, dword ptr [esp + 0x10]", "0x1004793f"], ["0x10046853", "lea ecx, [esp + 0x10]", "0x10047943"], ["0x10046857", "mov dword ptr [esp + 0x14], eax", "0x10047947"], ["0x1004685b", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::iterator::_Inc (FUNCTION)", "0x1004794b"], ["0x10046860", "mov eax, dword ptr [esp + 0x14]", "0x10047950"], ["0x10046864", "lea ecx, [esp + 0x18]", "0x10047954"], ["0x10046868", "push eax", "0x10047958"], ["0x10046869", "push ecx", "0x10047959"], ["0x1004686a", "mov ecx, edi", "0x1004795a"], ["0x1004686c", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::erase (FUNCTION)", "0x1004795c"]]}, {"orig": [["0x10046871", "cmp ebx, dword ptr [esp + 0x10]"]], "recomp": [["0x10047961", "cmp dword ptr [esp + 0x10], ebx"]]}, {"both": [["0x10046875", "jne -0x28", "0x10047965"], ["0x10046877", "xor edi, edi", "0x10047967"], ["0x10046879", "xor ebx, ebx", "0x10047969"], ["0x1004687b", "cmp word ptr [esi + 0x18], di", "0x1004796b"], ["0x1004687f", "jbe 0x29", "0x1004796f"], ["0x10046881", "mov eax, dword ptr [esp + 0x24]", "0x10047971"], ["0x10046885", "mov ecx, dword ptr [esi + 8]", "0x10047975"], ["0x10046888", "push eax", "0x10047978"], ["0x10046889", "add ecx, edi", "0x10047979"], ["0x1004688b", "call LegoPathBoundary::RemoveActor (FUNCTION)", "0x1004797b"]]}]]]}, {"address": "0x100468c0", "recomp": "0x100479b0", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Ubound", "matching": 1.0, "diff": []}, {"address": "0x100468f0", "recomp": "0x100479e0", "name": "LegoPathController::FUN_100468f0", "matching": 1.0, "diff": []}, {"address": "0x10046930", "recomp": "0x10047a20", "name": "LegoPathController::FUN_10046930", "matching": 1.0, "diff": []}, {"address": "0x10046970", "recomp": "0x10047a60", "name": "LegoPathController::FUN_10046970", "matching": 1.0, "diff": []}, {"address": "0x10046b30", "recomp": "0x10047c20", "name": "LegoPathController::FUN_10046b30", "matching": 1.0, "diff": []}, {"address": "0x10046b50", "recomp": "0x10047c40", "name": "LegoPathController::GetPathBoundary", "matching": 1.0, "diff": []}, {"address": "0x10046bb0", "recomp": "0x10047ca0", "name": "LegoPathController::FUN_10046bb0", "matching": 1.0, "diff": []}, {"address": "0x10046be0", "recomp": "0x10047cd0", "name": "LegoPathController::Enable", "matching": 1.0, "diff": []}, {"address": "0x10046c10", "recomp": "0x10047d00", "name": "LegoPathController::Init", "matching": 1.0, "effective": true, "diff": [["@@ -0x10046d1c,26 +0x10047e0c,26 @@", [{"both": [["0x10046d1c", "mov dword ptr [ebp - 4], 0xffffffff", "0x10047e0c"], ["0x10046d23", "push 0x50", "0x10047e13"], ["0x10046d25", "mov dword ptr [LegoPathController::g_ctrlBoundariesB (DATA)], eax", "0x10047e15"], ["0x10046d2a", "call ??2@YAPAXI@Z (FUNCTION)", "0x10047e1a"], ["0x10046d2f", "mov dword ptr [ebp - 0x14], eax", "0x10047e1f"], ["0x10046d32", "add esp, 4", "0x10047e22"], ["0x10046d35", "mov dword ptr [ebp - 4], 3", "0x10047e25"], ["0x10046d3c", "mov esi, eax", "0x10047e2c"], ["0x10046d3e", "test esi, esi", "0x10047e2e"], ["0x10046d40", "je 0x18", "0x10047e30"]]}, {"orig": [["0x10046d42", "mov edi, esi"], ["0x10046d44", "mov ebx, 9"], ["0x10046d49", "mov ecx, edi"], ["0x10046d4b", "add edi, 8"]], "recomp": [["0x10047e32", "mov ebx, esi"], ["0x10047e34", "mov edi, 9"], ["0x10047e39", "mov ecx, ebx"], ["0x10047e3b", "add ebx, 8"]]}, {"both": [["0x10046d4e", "call LegoPathController::CtrlEdge::CtrlEdge (FUNCTION)", "0x10047e3e"]]}, {"orig": [["0x10046d53", "dec ebx"]], "recomp": [["0x10047e43", "dec edi"]]}, {"both": [["0x10046d54", "jns -0xd", "0x10047e44"], ["0x10046d56", "mov eax, esi", "0x10047e46"], ["0x10046d58", "jmp 0x2", "0x10047e48"], ["0x10046d5a", "xor eax, eax", "0x10047e4a"], ["0x10046d5c", "mov dword ptr [ebp - 4], 0xffffffff", "0x10047e4c"], ["0x10046d63", "mov dword ptr [LegoPathController::g_ctrlEdgesB (DATA)], eax", "0x10047e53"], ["0x10046d68", "xor eax, eax", "0x10047e58"], ["0x10046d6a", "jmp 0x43", "0x10047e5a"], ["0x10046d6c", "mov eax, dword ptr [ebp - 0x14]", "0x10047e5c"], ["0x10046d6f", "push eax", "0x10047e5f"]]}]]]}, {"address": "0x10046dc0", "recomp": "0x10047eb0", "name": "LegoPathController::CtrlBoundary::CtrlBoundary", "matching": 1.0, "diff": []}, {"address": "0x10046dd0", "recomp": "0x10047ec0", "name": "LegoPathController::CtrlEdge::CtrlEdge", "matching": 1.0, "diff": []}, {"address": "0x10046de0", "recomp": "0x10047ed0", "name": "LegoPathController::Reset", "matching": 1.0, "diff": []}, {"address": "0x10046e50", "recomp": "0x10047f40", "name": "LegoPathController::Read", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004703a,77 +0x1004812a,77 @@", [{"both": [["0x1004703a", "movzx ebx, ax", "0x1004812a"], ["0x1004703d", "lea eax, [ebx*8]", "0x1004812d"], ["0x10047044", "sub eax, ebx", "0x10048134"], ["0x10047046", "lea eax, [ebx + eax*4]", "0x10048136"], ["0x10047049", "shl eax, 2", "0x10048139"], ["0x1004704c", "add eax, 4", "0x1004813c"], ["0x1004704f", "push eax", "0x1004813f"], ["0x10047050", "call ??2@YAPAXI@Z (FUNCTION)", "0x10048140"], ["0x10047055", "mov dword ptr [ebp - 0x18], eax", "0x10048145"], ["0x10047058", "add esp, 4", "0x10048148"]]}, {"orig": [["0x1004705b", "mov edi, eax"], ["0x1004705d", "mov esi, 0"]], "recomp": [["0x1004814b", "mov esi, eax"], ["0x1004814d", "mov edi, 0"]]}, {"both": [["0x10047062", "mov dword ptr [ebp - 4], 3", "0x10048152"]]}, {"orig": [["0x10047069", "test edi, edi"]], "recomp": [["0x10048159", "test esi, esi"]]}, {"both": [["0x1004706b", "je 0x18", "0x1004815b"]]}, {"orig": [["0x1004706d", "lea esi, [edi + 4]"]], "recomp": [["0x1004815d", "lea edi, [esi + 4]"]]}, {"both": [["0x10047070", "push LegoPathBoundary::~LegoPathBoundary (FUNCTION)", "0x10048160"], ["0x10047075", "push LegoPathBoundary::LegoPathBoundary (FUNCTION)", "0x10048165"]]}, {"orig": [["0x1004707a", "mov dword ptr [edi], ebx"]], "recomp": [["0x1004816a", "mov dword ptr [esi], ebx"]]}, {"both": [["0x1004707c", "push ebx", "0x1004816c"], ["0x1004707d", "push 0x74", "0x1004816d"]]}, {"orig": [["0x1004707f", "push esi"]], "recomp": [["0x1004816f", "push edi"]]}, {"both": [["0x10047080", "call ??_L@YGXPAXIHP6EX0@Z1@Z (FUNCTION)", "0x10048170"], ["0x10047085", "mov eax, dword ptr [ebp - 0x10]", "0x10048175"], ["0x10047088", "mov dword ptr [ebp - 4], 0xffffffff", "0x10048178"]]}, {"orig": [["0x1004708f", "mov dword ptr [eax + 8], esi"]], "recomp": [["0x1004817f", "mov dword ptr [eax + 8], edi"]]}, {"both": [["0x10047092", "mov eax, dword ptr [ebp - 0x24]", "0x10048182"], ["0x10047095", "cmp word ptr [eax], 0", "0x10048185"], ["0x10047099", "jbe 0x31", "0x10048189"], ["0x1004709b", "mov eax, dword ptr [ebp + 8]", "0x1004818b"], ["0x1004709e", "mov ecx, dword ptr [ebp - 0x10]", "0x1004818e"], ["0x100470a1", "push eax", "0x10048191"], ["0x100470a2", "call LegoPathController::ReadStructs (FUNCTION)", "0x10048192"], ["0x100470a7", "test eax, eax", "0x10048197"], ["0x100470a9", "je 0x21", "0x10048199"], ["0x100470ab", "mov eax, 0xffffffff", "0x1004819b"], ["0x100470b0", "jmp 0x2d6", "0x100481a0"], ["0x100470b5", "mov eax, <OFFSET13>", "0x100481a5"], ["0x100470ba", "jmp ___CxxFrameHandler (FUNCTION)", "0x100481aa"], ["0x100470bf", "mov eax, dword ptr [ebp - 0x18]", "0x100481af"], ["0x100470c2", "push eax", "0x100481b2"], ["0x100470c3", "call ??3@YAXPAX@Z (FUNCTION)", "0x100481b3"], ["0x100470c8", "add esp, 4", "0x100481b8"], ["0x100470cb", "ret ", "0x100481bb"], ["0x100470cc", "mov eax, dword ptr [ebp - 0x14]", "0x100481bc"]]}, {"orig": [["0x100470cf", "xor esi, esi"]], "recomp": [["0x100481bf", "xor edi, edi"]]}, {"both": [["0x100470d1", "mov ax, word ptr [eax]", "0x100481c1"], ["0x100470d4", "test ax, ax", "0x100481c4"], ["0x100470d7", "je 0x30", "0x100481c7"]]}, {"orig": [["0x100470d9", "mov edi, 0"]], "recomp": [["0x100481c9", "mov esi, 0"]]}, {"both": [["0x100470de", "jbe 0x29", "0x100481ce"], ["0x100470e0", "mov eax, dword ptr [ebp - 0x10]", "0x100481d0"], ["0x100470e3", "mov ecx, dword ptr [ebp + 8]", "0x100481d3"], ["0x100470e6", "mov eax, dword ptr [eax + 0x10]", "0x100481d6"]]}, {"orig": [["0x100470e9", "add eax, esi"]], "recomp": [["0x100481d9", "add eax, edi"]]}, {"both": [["0x100470eb", "push eax", "0x100481db"], ["0x100470ec", "push ecx", "0x100481dc"], ["0x100470ed", "call LegoPathController::ReadVector (FUNCTION)", "0x100481dd"], ["0x100470f2", "add esp, 8", "0x100481e2"], ["0x100470f5", "test eax, eax", "0x100481e5"], ["0x100470f7", "jne 0x33", "0x100481e7"]]}, {"orig": [["0x100470f9", "add esi, 0x14"], ["0x100470fc", "inc edi"]], "recomp": [["0x100481e9", "add edi, 0x14"], ["0x100481ec", "inc esi"]]}, {"both": [["0x100470fd", "xor ecx, ecx", "0x100481ed"], ["0x100470ff", "mov eax, dword ptr [ebp - 0x14]", "0x100481ef"], ["0x10047102", "mov cx, word ptr [eax]", "0x100481f2"]]}, {"orig": [["0x10047105", "cmp ecx, edi"]], "recomp": [["0x100481f5", "cmp ecx, esi"]]}, {"both": [["0x10047107", "jg -0x29", "0x100481f7"], ["0x10047109", "mov eax, dword ptr [ebp - 0x20]", "0x100481f9"], ["0x1004710c", "cmp word ptr [eax], 0", "0x100481fc"], ["0x10047110", "jbe 0x24", "0x10048200"], ["0x10047112", "mov eax, dword ptr [ebp + 8]", "0x10048202"], ["0x10047115", "mov ecx, dword ptr [ebp - 0x10]", "0x10048205"], ["0x10047118", "push eax", "0x10048208"], ["0x10047119", "call LegoPathController::ReadEdges (FUNCTION)", "0x10048209"], ["0x1004711e", "test eax, eax", "0x1004820e"], ["0x10047120", "je 0x14", "0x10048210"]]}]], ["@@ -0x1004716d,33 +0x1004825d,33 @@", [{"both": [["0x1004716d", "mov dword ptr [ebp - 0x24], 0", "0x1004825d"], ["0x10047174", "mov eax, dword ptr [ebp - 0x10]", "0x10048264"], ["0x10047177", "mov ecx, dword ptr [ebp - 0x10]", "0x10048267"], ["0x1004717a", "mov eax, dword ptr [eax + 0xc]", "0x1004826a"], ["0x1004717d", "mov edx, dword ptr [ecx + 0x24]", "0x1004826d"], ["0x10047180", "add eax, dword ptr [ebp - 0x24]", "0x10048270"], ["0x10047183", "mov edi, edx", "0x10048273"], ["0x10047185", "mov ecx, 1", "0x10048275"], ["0x1004718a", "mov dword ptr [ebp - 0x14], eax", "0x1004827a"], ["0x1004718d", "mov esi, dword ptr [edx + 4]", "0x1004827d"]]}, {"orig": [["0x10047190", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], esi"]], "recomp": [["0x10048280", "cmp esi, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]]}, {"both": [["0x10047196", "je 0x21", "0x10048286"], ["0x10047198", "mov edi, esi", "0x10048288"], ["0x1004719a", "mov ecx, 1", "0x1004828a"], ["0x1004719f", "cmp dword ptr [esi + 0xc], eax", "0x1004828f"], ["0x100471a2", "jg 0x2", "0x10048292"], ["0x100471a4", "xor ecx, ecx", "0x10048294"], ["0x100471a6", "test ecx, ecx", "0x10048296"], ["0x100471a8", "jne 0x5", "0x10048298"], ["0x100471aa", "mov esi, dword ptr [esi + 8]", "0x1004829a"], ["0x100471ad", "jmp 0x2", "0x1004829d"], ["0x100471af", "mov esi, dword ptr [esi]", "0x1004829f"]]}, {"orig": [["0x100471b1", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], esi"]], "recomp": [["0x100482a1", "cmp esi, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]]}, {"both": [["0x100471b7", "jne -0x21", "0x100482a7"], ["0x100471b9", "mov eax, dword ptr [ebp - 0x10]", "0x100482a9"], ["0x100471bc", "cmp dword ptr [eax + 0x28], 0", "0x100482ac"], ["0x100471c0", "je 0x17", "0x100482b0"], ["0x100471c2", "lea ecx, [eax + 0x20]", "0x100482b2"], ["0x100471c5", "lea edx, [ebp - 0x14]", "0x100482b5"], ["0x100471c8", "push edx", "0x100482b8"], ["0x100471c9", "lea eax, [ebp - 0x30]", "0x100482b9"], ["0x100471cc", "push edi", "0x100482bc"], ["0x100471cd", "push esi", "0x100482bd"]]}]], ["@@ -0x1004728b,70 +0x1004837b,70 @@", [{"both": [["0x1004728b", "mov dword ptr [eax + 4], ebx", "0x1004837b"], ["0x1004728e", "mov eax, dword ptr [ebp - 0x10]", "0x1004837e"], ["0x10047291", "mov ecx, dword ptr [eax + 0x24]", "0x10048381"], ["0x10047294", "mov dword ptr [ecx + 8], ebx", "0x10048384"], ["0x10047297", "mov eax, dword ptr [ebp - 0x10]", "0x10048387"], ["0x1004729a", "mov ecx, dword ptr [eax + 0x24]", "0x1004838a"], ["0x1004729d", "cmp dword ptr [ecx + 4], ebx", "0x1004838d"], ["0x100472a0", "je 0xbb", "0x10048390"], ["0x100472a6", "xor esi, esi", "0x10048396"], ["0x100472a8", "lea ecx, [ebx + 4]", "0x10048398"]]}, {"orig": [["0x100472ab", "mov edx, dword ptr [ecx]"], ["0x100472ad", "lea eax, [edx + 0x10]"], ["0x100472b0", "cmp dword ptr [eax], esi"]], "recomp": [["0x1004839b", "mov edi, dword ptr [ecx]"], ["0x1004839d", "lea edx, [edi + 0x10]"], ["0x100483a0", "cmp dword ptr [edx], esi"]]}, {"both": [["0x100472b2", "jne 0xa9", "0x100483a2"]]}, {"orig": [["0x100472b8", "mov edi, dword ptr [edx + 4]"], ["0x100472bb", "mov edi, dword ptr [edi]"], ["0x100472bd", "cmp edi, edx"]], "recomp": [["0x100483a8", "mov eax, dword ptr [edi + 4]"], ["0x100483ab", "mov eax, dword ptr [eax]"], ["0x100483ad", "cmp eax, edi"]]}, {"both": [["0x100472bf", "jne 0x3f", "0x100483af"]]}, {"orig": [["0x100472c1", "mov edi, dword ptr [edx + 4]"], ["0x100472c4", "mov edi, dword ptr [edi + 8]"], ["0x100472c7", "cmp dword ptr [edi + 0x10], esi"]], "recomp": [["0x100483b1", "mov eax, dword ptr [edi + 4]"], ["0x100483b4", "mov eax, dword ptr [eax + 8]"], ["0x100483b7", "cmp dword ptr [eax + 0x10], esi"]]}, {"both": [["0x100472ca", "je 0x6c", "0x100483ba"]]}, {"orig": [["0x100472cc", "cmp dword ptr [edx + 8], ebx"]], "recomp": [["0x100483bc", "cmp dword ptr [edi + 8], ebx"]]}, {"both": [["0x100472cf", "jne 0xb", "0x100483bf"]]}, {"orig": [["0x100472d1", "push edx"], ["0x100472d2", "mov ebx, edx"]], "recomp": [["0x100483c1", "push edi"], ["0x100483c2", "mov ebx, edi"]]}, {"both": [["0x100472d4", "mov ecx, dword ptr [ebp - 0x18]", "0x100483c4"], ["0x100472d7", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Lrotate (FUNCTION)", "0x100483c7"], ["0x100472dc", "mov eax, dword ptr [ebx + 4]", "0x100483cc"], ["0x100472df", "mov dword ptr [eax + 0x10], 1", "0x100483cf"], ["0x100472e6", "mov eax, dword ptr [ebx + 4]", "0x100483d6"], ["0x100472e9", "mov ecx, dword ptr [eax + 4]", "0x100483d9"], ["0x100472ec", "mov dword ptr [ecx + 0x10], esi", "0x100483dc"], ["0x100472ef", "mov eax, dword ptr [ebx + 4]", "0x100483df"], ["0x100472f2", "mov ecx, dword ptr [eax + 4]", "0x100483e2"], ["0x100472f5", "push ecx", "0x100483e5"], ["0x100472f6", "mov ecx, dword ptr [ebp - 0x18]", "0x100483e6"], ["0x100472f9", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Rrotate (FUNCTION)", "0x100483e9"], ["0x100472fe", "jmp 0x52", "0x100483ee"]]}, {"orig": [["0x10047300", "cmp dword ptr [edi + 0x10], esi"]], "recomp": [["0x100483f0", "cmp dword ptr [eax + 0x10], esi"]]}, {"both": [["0x10047303", "je 0x33", "0x100483f3"]]}, {"orig": [["0x10047305", "cmp dword ptr [edx], ebx"]], "recomp": [["0x100483f5", "cmp dword ptr [edi], ebx"]]}, {"both": [["0x10047307", "jne 0xb", "0x100483f7"]]}, {"orig": [["0x10047309", "push edx"], ["0x1004730a", "mov ebx, edx"]], "recomp": [["0x100483f9", "push edi"], ["0x100483fa", "mov ebx, edi"]]}, {"both": [["0x1004730c", "mov ecx, dword ptr [ebp - 0x18]", "0x100483fc"], ["0x1004730f", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Rrotate (FUNCTION)", "0x100483ff"], ["0x10047314", "mov eax, dword ptr [ebx + 4]", "0x10048404"], ["0x10047317", "mov dword ptr [eax + 0x10], 1", "0x10048407"], ["0x1004731e", "mov eax, dword ptr [ebx + 4]", "0x1004840e"], ["0x10047321", "mov ecx, dword ptr [eax + 4]", "0x10048411"], ["0x10047324", "mov dword ptr [ecx + 0x10], esi", "0x10048414"], ["0x10047327", "mov eax, dword ptr [ebx + 4]", "0x10048417"], ["0x1004732a", "mov ecx, dword ptr [eax + 4]", "0x1004841a"], ["0x1004732d", "push ecx", "0x1004841d"], ["0x1004732e", "mov ecx, dword ptr [ebp - 0x18]", "0x1004841e"], ["0x10047331", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Lrotate (FUNCTION)", "0x10048421"], ["0x10047336", "jmp 0x1a", "0x10048426"]]}, {"orig": [["0x10047338", "mov dword ptr [eax], 1"], ["0x1004733e", "mov dword ptr [edi + 0x10], 1"]], "recomp": [["0x10048428", "mov dword ptr [edx], 1"], ["0x1004842e", "mov dword ptr [eax + 0x10], 1"]]}, {"both": [["0x10047345", "mov eax, dword ptr [ecx]", "0x10048435"], ["0x10047347", "mov edx, dword ptr [eax + 4]", "0x10048437"], ["0x1004734a", "mov dword ptr [edx + 0x10], esi", "0x1004843a"], ["0x1004734d", "mov eax, dword ptr [ecx]", "0x1004843d"], ["0x1004734f", "mov ebx, dword ptr [eax + 4]", "0x1004843f"], ["0x10047352", "mov eax, dword ptr [ebp - 0x10]", "0x10048442"], ["0x10047355", "mov ecx, dword ptr [eax + 0x24]", "0x10048445"], ["0x10047358", "cmp dword ptr [ecx + 4], ebx", "0x10048448"], ["0x1004735b", "jne -0xb9", "0x1004844b"], ["0x10047361", "mov eax, dword ptr [ebp - 0x10]", "0x10048451"]]}]]]}, {"address": "0x100473a0", "recomp": "0x10048840", "name": "LegoPathStruct::LegoPathStruct", "matching": 1.0, "diff": []}, {"address": "0x10047420", "recomp": "0x100488c0", "name": "LegoPathStructBase::~LegoPathStructBase", "matching": 1.0, "diff": []}, {"address": "0x10047440", "recomp": "0x100488e0", "name": "LegoPathStructBase::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10047470", "recomp": "0x10048910", "name": "LegoPathStruct::~LegoPathStruct", "matching": 1.0, "diff": []}, {"address": "0x100474e0", "recomp": "0x10048490", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::iterator::_Dec", "matching": 1.0, "effective": true, "diff": [["@@ -0x100474e1,30 +0x10048491,30 @@", [{"both": [["0x100474e1", "mov esi, dword ptr [ecx]", "0x10048491"], ["0x100474e3", "cmp dword ptr [esi + 0x10], 0", "0x10048493"], ["0x100474e7", "jne 0xf", "0x10048497"], ["0x100474e9", "mov eax, dword ptr [esi + 4]", "0x10048499"], ["0x100474ec", "cmp dword ptr [eax + 4], esi", "0x1004849c"], ["0x100474ef", "jne 0x7", "0x1004849f"], ["0x100474f1", "mov eax, dword ptr [esi + 8]", "0x100484a1"], ["0x100474f4", "pop esi", "0x100484a4"], ["0x100474f5", "mov dword ptr [ecx], eax", "0x100484a5"], ["0x100474f7", "ret ", "0x100484a7"]]}, {"orig": [["0x100474f8", "mov eax, dword ptr [esi]"]], "recomp": [["0x100484a8", "mov edx, dword ptr [esi]"], ["0x100484aa", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edx"], ["0x100484b0", "je 0x13"], ["0x100484b2", "mov eax, dword ptr [edx + 8]"]]}, {"both": [["0x100474fa", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x100484b5"]]}, {"orig": [["0x10047500", "je 0x13"], ["0x10047502", "mov edx, dword ptr [eax + 8]"], ["0x10047505", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edx"]], "recomp": []}, {"both": [["0x1004750b", "je 0x4", "0x100484bb"]]}, {"orig": [["0x1004750d", "mov eax, edx"]], "recomp": [["0x100484bd", "mov edx, eax"]]}, {"both": [["0x1004750f", "jmp -0xf", "0x100484bf"], ["0x10047511", "pop esi", "0x100484c1"]]}, {"orig": [["0x10047512", "mov dword ptr [ecx], eax"]], "recomp": [["0x100484c2", "mov dword ptr [ecx], edx"]]}, {"both": [["0x10047514", "ret ", "0x100484c4"], ["0x10047515", "mov edx, dword ptr [esi + 4]", "0x100484c5"], ["0x10047518", "cmp dword ptr [edx], esi", "0x100484c8"], ["0x1004751a", "jne 0xb", "0x100484ca"], ["0x1004751c", "mov dword ptr [ecx], edx", "0x100484cc"], ["0x1004751e", "mov eax, edx", "0x100484ce"], ["0x10047520", "mov edx, dword ptr [edx + 4]", "0x100484d0"], ["0x10047523", "cmp dword ptr [edx], eax", "0x100484d3"], ["0x10047525", "je -0xb", "0x100484d5"], ["0x10047527", "pop esi", "0x100484d7"]]}]]]}, {"address": "0x10047530", "recomp": "0x100484e0", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x10047550", "recomp": "0x10048500", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Insert", "matching": 0.8717948717948718, "diff": [["@@ -0x100475d3,35 +0x10048583,35 @@", [{"both": [["0x100475d3", "jne 0x11", "0x10048583"], ["0x100475d5", "mov dword ptr [eax], edx", "0x10048585"], ["0x100475d7", "jmp 0xd", "0x10048587"], ["0x100475d9", "mov edx, dword ptr [esp + 0x10]", "0x10048589"], ["0x100475dd", "mov dword ptr [eax + 4], edx", "0x1004858d"], ["0x100475e0", "mov eax, dword ptr [esi + 4]", "0x10048590"], ["0x100475e3", "mov dword ptr [eax + 8], edx", "0x10048593"], ["0x100475e6", "mov ecx, dword ptr [esp + 0x10]", "0x10048596"], ["0x100475ea", "mov eax, dword ptr [esi + 4]", "0x1004859a"], ["0x100475ed", "cmp dword ptr [eax + 4], ecx", "0x1004859d"]]}, {"orig": [["0x100475f0", "je 0x1b3"]], "recomp": [["0x100485a0", "je 0x1b6"]]}, {"both": [["0x100475f6", "lea edx, [ecx + 4]", "0x100485a6"], ["0x100475f9", "mov eax, dword ptr [edx]", "0x100485a9"], ["0x100475fb", "lea ebx, [eax + 0x10]", "0x100485ab"], ["0x100475fe", "cmp dword ptr [ebx], 0", "0x100485ae"]]}, {"orig": [["0x10047601", "jne 0x1a2"]], "recomp": [["0x100485b1", "jne 0x1a5"]]}, {"both": [["0x10047607", "lea edi, [eax + 4]", "0x100485b7"], ["0x1004760a", "mov ebp, dword ptr [edi]", "0x100485ba"], ["0x1004760c", "mov ebp, dword ptr [ebp]", "0x100485bc"], ["0x1004760f", "cmp ebp, eax", "0x100485bf"]]}, {"orig": [["0x10047611", "jne 0xbb"]], "recomp": [["0x100485c1", "jne 0xbe"]]}, {"both": [["0x10047617", "mov ebp, dword ptr [edi]", "0x100485c7"], ["0x10047619", "mov ebp, dword ptr [ebp + 8]", "0x100485c9"], ["0x1004761c", "cmp dword ptr [ebp + 0x10], 0", "0x100485cc"]]}, {"orig": [["0x10047620", "je 0x159"]], "recomp": [["0x100485d0", "je 0x15c"]]}, {"both": [["0x10047626", "lea ebx, [eax + 8]", "0x100485d6"], ["0x10047629", "mov edx, dword ptr [ebx]", "0x100485d9"], ["0x1004762b", "cmp ecx, edx", "0x100485db"], ["0x1004762d", "jne 0x33", "0x100485dd"], ["0x1004762f", "mov ecx, eax", "0x100485df"], ["0x10047631", "mov eax, dword ptr [edx]", "0x100485e1"], ["0x10047633", "mov dword ptr [ebx], eax", "0x100485e3"], ["0x10047635", "mov eax, dword ptr [edx]", "0x100485e5"], ["0x10047637", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x100485e7"], ["0x1004763d", "je 0x3", "0x100485ed"]]}]], ["@@ -0x1004765a,49 +0x1004860a,50 @@", [{"both": [["0x1004765a", "jmp 0x2", "0x1004860a"], ["0x1004765c", "mov dword ptr [eax], edx", "0x1004860c"], ["0x1004765e", "mov dword ptr [edx], ecx", "0x1004860e"], ["0x10047660", "mov dword ptr [edi], edx", "0x10048610"], ["0x10047662", "mov eax, dword ptr [ecx + 4]", "0x10048612"], ["0x10047665", "mov dword ptr [eax + 0x10], 1", "0x10048615"], ["0x1004766c", "mov eax, dword ptr [ecx + 4]", "0x1004861c"], ["0x1004766f", "mov edx, dword ptr [eax + 4]", "0x1004861f"], ["0x10047672", "mov dword ptr [edx + 0x10], 0", "0x10048622"], ["0x10047679", "mov eax, dword ptr [ecx + 4]", "0x10048629"]]}, {"orig": [["0x1004767c", "mov edi, dword ptr [eax + 4]"], ["0x1004767f", "mov edx, dword ptr [edi]"], ["0x10047681", "mov eax, dword ptr [edx + 8]"], ["0x10047684", "mov dword ptr [edi], eax"], ["0x10047686", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x1004862c", "mov edx, dword ptr [eax + 4]"], ["0x1004862f", "mov edi, dword ptr [edx]"], ["0x10048631", "mov eax, dword ptr [edi + 8]"], ["0x10048634", "mov dword ptr [edx], eax"], ["0x10048636", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x10047689", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x10048639"], ["0x1004768f", "je 0x3", "0x1004863f"]]}, {"orig": [["0x10047691", "mov dword ptr [eax + 4], edi"], ["0x10047694", "mov eax, dword ptr [edi + 4]"], ["0x10047697", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x10048641", "mov dword ptr [eax + 4], edx"], ["0x10048644", "mov eax, dword ptr [edx + 4]"], ["0x10048647", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1004769a", "mov eax, dword ptr [esi + 4]", "0x1004864a"], ["0x1004769d", "add eax, 4", "0x1004864d"]]}, {"orig": [["0x100476a0", "cmp dword ptr [eax], edi"]], "recomp": [["0x10048650", "cmp dword ptr [eax], edx"]]}, {"both": [["0x100476a2", "je 0x24", "0x10048652"]]}, {"orig": [["0x100476a4", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x10048654", "mov ebx, dword ptr [edx + 4]"]]}, {"both": [["0x100476a7", "lea eax, [ebx + 8]", "0x10048657"]]}, {"orig": [["0x100476aa", "cmp dword ptr [eax], edi"]], "recomp": [["0x1004865a", "cmp dword ptr [eax], edx"]]}, {"both": [["0x100476ac", "je 0xd", "0x1004865c"]]}, {"orig": [["0x100476ae", "mov dword ptr [ebx], edx"], ["0x100476b0", "mov dword ptr [edx + 8], edi"], ["0x100476b3", "mov dword ptr [edi + 4], edx"], ["0x100476b6", "jmp 0xe2"], ["0x100476bb", "mov dword ptr [eax], edx"], ["0x100476bd", "mov dword ptr [edx + 8], edi"], ["0x100476c0", "mov dword ptr [edi + 4], edx"], ["0x100476c3", "jmp 0xd5"], ["0x100476c8", "mov dword ptr [eax], edx"], ["0x100476ca", "mov dword ptr [edx + 8], edi"], ["0x100476cd", "jmp 0xa8"]], "recomp": [["0x1004865e", "mov dword ptr [ebx], edi"], ["0x10048660", "mov dword ptr [edi + 8], edx"], ["0x10048663", "mov dword ptr [edx + 4], edi"], ["0x10048666", "jmp 0xe5"], ["0x1004866b", "mov dword ptr [eax], edi"], ["0x1004866d", "mov dword ptr [edi + 8], edx"], ["0x10048670", "mov dword ptr [edx + 4], edi"], ["0x10048673", "jmp 0xd8"], ["0x10048678", "mov dword ptr [eax], edi"], ["0x1004867a", "mov dword ptr [edi + 8], edx"], ["0x1004867d", "mov dword ptr [edx + 4], edi"], ["0x10048680", "jmp 0xcb"]]}, {"both": [["0x100476d2", "cmp dword ptr [ebp + 0x10], 0", "0x10048685"], ["0x100476d6", "je 0xa3", "0x10048689"], ["0x100476dc", "mov edx, dword ptr [eax]", "0x1004868f"], ["0x100476de", "cmp ecx, edx", "0x10048691"], ["0x100476e0", "jne 0x38", "0x10048693"], ["0x100476e2", "mov ecx, eax", "0x10048695"], ["0x100476e4", "mov eax, dword ptr [edx + 8]", "0x10048697"], ["0x100476e7", "mov dword ptr [ecx], eax", "0x1004869a"], ["0x100476e9", "mov eax, dword ptr [edx + 8]", "0x1004869c"], ["0x100476ec", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x1004869f"]]}]], ["@@ -0x1004777d,21 +0x10048730,21 @@", [{"both": [["0x1004777d", "jmp 0x1e", "0x10048730"], ["0x1004777f", "mov dword ptr [ebx], 1", "0x10048732"], ["0x10047785", "mov dword ptr [ebp + 0x10], 1", "0x10048738"], ["0x1004778c", "mov eax, dword ptr [edx]", "0x1004873f"], ["0x1004778e", "mov ecx, dword ptr [eax + 4]", "0x10048741"], ["0x10047791", "mov dword ptr [ecx + 0x10], 0", "0x10048744"], ["0x10047798", "mov eax, dword ptr [edx]", "0x1004874b"], ["0x1004779a", "mov ecx, dword ptr [eax + 4]", "0x1004874d"], ["0x1004779d", "mov eax, dword ptr [esi + 4]", "0x10048750"], ["0x100477a0", "cmp dword ptr [eax + 4], ecx", "0x10048753"]]}, {"orig": [["0x100477a3", "jne -0x1b3"]], "recomp": [["0x10048756", "jne -0x1b6"]]}, {"both": [["0x100477a9", "mov eax, dword ptr [esi + 4]", "0x1004875c"], ["0x100477ac", "mov edx, dword ptr [esp + 0x10]", "0x1004875f"], ["0x100477b0", "mov ecx, dword ptr [eax + 4]", "0x10048763"], ["0x100477b3", "mov eax, dword ptr [esp + 0x18]", "0x10048766"], ["0x100477b7", "pop ebp", "0x1004876a"], ["0x100477b8", "pop edi", "0x1004876b"], ["0x100477b9", "mov dword ptr [ecx + 0x10], 1", "0x1004876c"], ["0x100477c0", "pop esi", "0x10048773"], ["0x100477c1", "mov dword ptr [eax], edx", "0x10048774"], ["0x100477c3", "pop ebx", "0x10048776"]]}]]]}, {"address": "0x100477d0", "recomp": "0x10048780", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Lrotate", "matching": 1.0, "diff": []}, {"address": "0x10047830", "recomp": "0x100487e0", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Rrotate", "matching": 0.4117647058823529, "diff": [["@@ -0x10047830,34 +0x100487e0,34 @@", [{"orig": [["0x10047830", "mov edx, dword ptr [esp + 4]"]], "recomp": []}, {"both": [["0x10047834", "push esi", "0x100487e0"]]}, {"orig": [["0x10047835", "mov esi, dword ptr [edx]"], ["0x10047837", "mov eax, dword ptr [esi + 8]"], ["0x1004783a", "mov dword ptr [edx], eax"], ["0x1004783c", "mov eax, dword ptr [esi + 8]"]], "recomp": [["0x100487e1", "mov esi, dword ptr [esp + 8]"], ["0x100487e5", "mov edx, dword ptr [esi]"], ["0x100487e7", "mov eax, dword ptr [edx + 8]"], ["0x100487ea", "mov dword ptr [esi], eax"], ["0x100487ec", "mov eax, dword ptr [edx + 8]"]]}, {"both": [["0x1004783f", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x100487ef"], ["0x10047845", "je 0x3", "0x100487f5"]]}, {"orig": [["0x10047847", "mov dword ptr [eax + 4], edx"], ["0x1004784a", "mov eax, dword ptr [edx + 4]"], ["0x1004784d", "mov dword ptr [esi + 4], eax"]], "recomp": [["0x100487f7", "mov dword ptr [eax + 4], esi"], ["0x100487fa", "mov eax, dword ptr [esi + 4]"], ["0x100487fd", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x10047850", "mov eax, dword ptr [ecx + 4]", "0x10048800"], ["0x10047853", "add eax, 4", "0x10048803"]]}, {"orig": [["0x10047856", "cmp dword ptr [eax], edx"]], "recomp": [["0x10048806", "cmp dword ptr [eax], esi"]]}, {"both": [["0x10047858", "je 0x22", "0x10048808"]]}, {"orig": [["0x1004785a", "mov ecx, dword ptr [edx + 4]"]], "recomp": [["0x1004880a", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x1004785d", "lea eax, [ecx + 8]", "0x1004880d"]]}, {"orig": [["0x10047860", "cmp dword ptr [eax], edx"]], "recomp": [["0x10048810", "cmp dword ptr [eax], esi"]]}, {"both": [["0x10047862", "je 0xc", "0x10048812"]]}, {"orig": [["0x10047864", "mov dword ptr [ecx], esi"], ["0x10047866", "mov dword ptr [esi + 8], edx"], ["0x10047869", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x10048814", "mov dword ptr [ecx], edx"], ["0x10048816", "mov dword ptr [edx + 8], esi"], ["0x10048819", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x1004786c", "pop esi", "0x1004881c"], ["0x1004786d", "ret 4", "0x1004881d"]]}, {"orig": [["0x10047870", "mov dword ptr [eax], esi"], ["0x10047872", "mov dword ptr [esi + 8], edx"], ["0x10047875", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x10048820", "mov dword ptr [eax], edx"], ["0x10048822", "mov dword ptr [edx + 8], esi"], ["0x10048825", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x10047878", "pop esi", "0x10048828"], ["0x10047879", "ret 4", "0x10048829"]]}, {"orig": [["0x1004787c", "mov dword ptr [eax], esi"], ["0x1004787e", "mov dword ptr [esi + 8], edx"], ["0x10047881", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x1004882c", "mov dword ptr [eax], edx"], ["0x1004882e", "mov dword ptr [edx + 8], esi"], ["0x10048831", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x10047884", "pop esi", "0x10048834"], ["0x10047885", "ret 4", "0x10048835"]]}]]]}, {"address": "0x10047890", "recomp": "0x10048980", "name": "LegoPathStruct::`vector deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10047940", "recomp": "0x10048a30", "name": "LegoPathCtrlEdge::`vector deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100479d0", "recomp": "0x10048ac0", "name": "LegoPathCtrlEdge::LegoPathCtrlEdge", "matching": 1.0, "diff": []}, {"address": "0x10047a30", "recomp": "0x10048b20", "name": "LegoPathCtrlEdge::~LegoPathCtrlEdge", "matching": 1.0, "diff": []}, {"address": "0x10047a80", "recomp": "0x10048b70", "name": "LegoPathBoundary::`vector deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10047ae0", "recomp": "0x10048bd0", "name": "LegoUnknown100db7f4::~LegoUnknown100db7f4", "matching": 1.0, "diff": []}, {"address": "0x10047b30", "recomp": "0x10048c20", "name": "LegoPathController::ReadStructs", "matching": 1.0, "effective": true, "diff": [["@@ -0x10047b30,69 +0x10048c20,69 @@", [{"both": [["0x10047b30", "sub esp, 4", "0x10048c20"], ["0x10047b33", "push ebx", "0x10048c23"], ["0x10047b34", "push esi", "0x10048c24"], ["0x10047b35", "push edi", "0x10048c25"]]}, {"orig": [["0x10047b36", "mov ebx, ecx"]], "recomp": [["0x10048c26", "mov esi, ecx"]]}, {"both": [["0x10047b38", "push ebp", "0x10048c28"], ["0x10047b39", "xor ebp, ebp", "0x10048c29"]]}, {"orig": [["0x10047b3b", "cmp word ptr [ebx + 0x1e], bp"]], "recomp": [["0x10048c2b", "cmp word ptr [esi + 0x1e], bp"]]}, {"both": [["0x10047b3f", "jbe 0x90", "0x10048c2f"]]}, {"orig": [["0x10047b45", "xor edi, edi"]], "recomp": [["0x10048c35", "xor ebx, ebx"]]}, {"both": [["0x10047b47", "mov eax, dword ptr [esp + 0x18]", "0x10048c37"], ["0x10047b4b", "mov ecx, dword ptr [eax]", "0x10048c3b"]]}, {"orig": [["0x10047b4d", "mov esi, dword ptr [ecx + 4]"]], "recomp": [["0x10048c3d", "mov edi, dword ptr [ecx + 4]"]]}, {"both": [["0x10047b50", "lea eax, [esp + 0x13]", "0x10048c40"], ["0x10047b54", "push 1", "0x10048c44"], ["0x10047b56", "mov ecx, dword ptr [esp + 0x1c]", "0x10048c46"], ["0x10047b5a", "push eax", "0x10048c4a"], ["0x10047b5b", "mov byte ptr [esp + 0x1b], 0", "0x10048c4b"]]}, {"orig": [["0x10047b60", "call esi"]], "recomp": [["0x10048c50", "call edi"]]}, {"both": [["0x10047b62", "test eax, eax", "0x10048c52"], ["0x10047b64", "jne 0x7b", "0x10048c54"], ["0x10047b66", "cmp byte ptr [esp + 0x13], 0", "0x10048c56"], ["0x10047b6b", "jbe 0x41", "0x10048c5b"], ["0x10047b6d", "xor eax, eax", "0x10048c5d"], ["0x10047b6f", "mov al, byte ptr [esp + 0x13]", "0x10048c5f"], ["0x10047b73", "inc eax", "0x10048c63"], ["0x10047b74", "push eax", "0x10048c64"], ["0x10047b75", "call ??2@YAPAXI@Z (FUNCTION)", "0x10048c65"], ["0x10047b7a", "add esp, 4", "0x10048c6a"]]}, {"orig": [["0x10047b7d", "mov ecx, dword ptr [ebx + 0x14]"], ["0x10047b80", "mov dword ptr [ecx + edi + 4], eax"]], "recomp": [["0x10048c6d", "mov ecx, dword ptr [esi + 0x14]"], ["0x10048c70", "mov dword ptr [ecx + ebx + 4], eax"]]}, {"both": [["0x10047b84", "xor eax, eax", "0x10048c74"], ["0x10047b86", "mov al, byte ptr [esp + 0x13]", "0x10048c76"]]}, {"orig": [["0x10047b8a", "mov ecx, dword ptr [ebx + 0x14]"]], "recomp": [["0x10048c7a", "mov ecx, dword ptr [esi + 0x14]"]]}, {"both": [["0x10047b8d", "push eax", "0x10048c7d"]]}, {"orig": [["0x10047b8e", "mov edx, dword ptr [ecx + edi + 4]"]], "recomp": [["0x10048c7e", "mov edx, dword ptr [ecx + ebx + 4]"]]}, {"both": [["0x10047b92", "mov ecx, dword ptr [esp + 0x1c]", "0x10048c82"], ["0x10047b96", "push edx", "0x10048c86"]]}, {"orig": [["0x10047b97", "call esi"]], "recomp": [["0x10048c87", "call edi"]]}, {"both": [["0x10047b99", "test eax, eax", "0x10048c89"], ["0x10047b9b", "jne 0x53", "0x10048c8b"]]}, {"orig": [["0x10047b9d", "mov eax, dword ptr [ebx + 0x14]"], ["0x10047ba0", "mov ecx, dword ptr [eax + edi + 4]"]], "recomp": [["0x10048c8d", "mov eax, dword ptr [esi + 0x14]"], ["0x10048c90", "mov ecx, dword ptr [eax + ebx + 4]"]]}, {"both": [["0x10047ba4", "xor eax, eax", "0x10048c94"], ["0x10047ba6", "mov al, byte ptr [esp + 0x13]", "0x10048c96"], ["0x10047baa", "mov byte ptr [ecx + eax], 0", "0x10048c9a"], ["0x10047bae", "push 4", "0x10048c9e"]]}, {"orig": [["0x10047bb0", "mov eax, dword ptr [ebx + 0x14]"], ["0x10047bb3", "add eax, edi"]], "recomp": [["0x10048ca0", "mov eax, dword ptr [esi + 0x14]"], ["0x10048ca3", "add eax, ebx"]]}, {"both": [["0x10047bb5", "mov ecx, dword ptr [esp + 0x1c]", "0x10048ca5"], ["0x10047bb9", "add eax, 8", "0x10048ca9"], ["0x10047bbc", "push eax", "0x10048cac"]]}, {"orig": [["0x10047bbd", "call esi"]], "recomp": [["0x10048cad", "call edi"]]}, {"both": [["0x10047bbf", "test eax, eax", "0x10048caf"], ["0x10047bc1", "jne 0x3c", "0x10048cb1"]]}, {"orig": [["0x10047bc3", "add edi, 0x14"]], "recomp": [["0x10048cb3", "add ebx, 0x14"]]}, {"both": [["0x10047bc6", "inc ebp", "0x10048cb6"], ["0x10047bc7", "xor eax, eax", "0x10048cb7"]]}, {"orig": [["0x10047bc9", "mov ax, word ptr [ebx + 0x1e]"]], "recomp": [["0x10048cb9", "mov ax, word ptr [esi + 0x1e]"]]}, {"both": [["0x10047bcd", "cmp eax, ebp", "0x10048cbd"], ["0x10047bcf", "jg -0x85", "0x10048cbf"], ["0x10047bd5", "xor eax, eax", "0x10048cc5"], ["0x10047bd7", "pop ebp", "0x10048cc7"], ["0x10047bd8", "pop edi", "0x10048cc8"], ["0x10047bd9", "pop esi", "0x10048cc9"], ["0x10047bda", "pop ebx", "0x10048cca"], ["0x10047bdb", "add esp, 4", "0x10048ccb"], ["0x10047bde", "ret 4", "0x10048cce"], ["0x10047be1", "mov eax, 0xffffffff", "0x10048cd1"]]}]]]}, {"address": "0x10047c10", "recomp": "0x10048d00", "name": "LegoPathController::ReadEdges", "matching": 1.0, "diff": []}, {"address": "0x10047e90", "recomp": "0x10048f80", "name": "LegoPathController::ReadBoundaries", "matching": 1.0, "diff": []}, {"address": "0x10048280", "recomp": "0x10049390", "name": "LegoWEGEdge::PathWithTrigger::PathWithTrigger", "matching": 1.0, "diff": []}, {"address": "0x10048290", "recomp": "0x10049370", "name": "Mx4DPointFloat::Mx4DPointFloat", "matching": 1.0, "diff": []}, {"address": "0x100482b0", "recomp": "0x100493a0", "name": "LegoPathController::ReadVector", "matching": 1.0, "diff": []}, {"address": "0x100482e0", "recomp": "0x100493d0", "name": "LegoPathController::ReadVector", "matching": 1.0, "diff": []}, {"address": "0x10048310", "recomp": "0x10049400", "name": "LegoPathController::FUN_10048310", "matching": 0.8752904725019365, "diff": [["@@ -0x1004833d,60 +0x1004942d,61 @@", [{"both": [["0x1004833d", "add ecx, 0xc", "0x1004942d"], ["0x10048340", "call dword ptr [ebx + 0x88]", "0x10049430"], ["0x10048346", "mov ecx, dword ptr [ebp + 8]", "0x10049436"], ["0x10048349", "mov eax, dword ptr [ebp + 0x1c]", "0x10049439"], ["0x1004834c", "mov ebx, dword ptr [ecx + 0x20]", "0x1004943c"], ["0x1004834f", "add ecx, 0x20", "0x1004943f"], ["0x10048352", "push eax", "0x10049442"], ["0x10048353", "call dword ptr [ebx + 0x88]", "0x10049443"], ["0x10048359", "mov edx, dword ptr [ebp + 0x20]", "0x10049449"], ["0x1004835c", "mov ecx, dword ptr [ebp + 8]", "0x1004944c"]]}, {"orig": [], "recomp": [["0x1004944f", "mov dword ptr [ecx + 0x34], edx"]]}, {"both": [["0x1004835f", "mov esi, dword ptr [ebp + 0x14]", "0x10049452"]]}, {"orig": [["0x10048362", "mov dword ptr [ecx + 0x34], edx"]], "recomp": []}, {"both": [["0x10048365", "cmp dword ptr [ebp + 0x20], esi", "0x10049455"]]}, {"orig": [["0x10048368", "jne 0x19"]], "recomp": [["0x10049458", "jne 0x1c"], ["0x1004945a", "mov ecx, dword ptr [ebp + 8]"]]}, {"both": [["0x1004836a", "or byte ptr [ecx + 0x38], 1", "0x1004945d"], ["0x1004836e", "xor eax, eax", "0x10049461"], ["0x10048370", "mov ecx, dword ptr [ebp - 0xc]", "0x10049463"], ["0x10048373", "pop edi", "0x10049466"], ["0x10048374", "mov dword ptr fs:[0], ecx", "0x10049467"], ["0x1004837b", "pop esi", "0x1004946e"], ["0x1004837c", "pop ebx", "0x1004946f"], ["0x1004837d", "mov esp, ebp", "0x10049470"], ["0x1004837f", "pop ebp", "0x10049472"], ["0x10048380", "ret 0x24", "0x10049473"], ["0x10048383", "mov al, byte ptr [ebp - 0xd]", "0x10049476"], ["0x10048386", "push 0", "0x10049479"], ["0x10048388", "push 0", "0x1004947b"], ["0x1004838a", "lea ecx, [ebp - 0x50]", "0x1004947d"], ["0x1004838d", "mov byte ptr [ebp - 0x50], al", "0x10049480"], ["0x10048390", "call list<LegoBEWithFloat,allocator<LegoBEWithFloat> >::_Buynode (FUNCTION)", "0x10049483"]]}, {"orig": [], "recomp": [["0x10049488", "lea ecx, [ebp - 0x21]"], ["0x1004948b", "mov dword ptr [ebp - 0x4c], eax"]]}, {"both": [["0x10048395", "mov dword ptr [ebp - 0x48], 0", "0x1004948e"], ["0x1004839c", "mov dword ptr [ebp - 4], 1", "0x10049495"]]}, {"orig": [["0x100483a3", "mov dword ptr [ebp - 0x4c], eax"], ["0x100483a6", "mov al, byte ptr [ebp - 0xd]"], ["0x100483a9", "mov byte ptr [ebp - 0x68], al"]], "recomp": [["0x1004949c", "lea eax, [ebp - 0xd]"]]}, {"both": [["0x100483ac", "add edi, 0x20", "0x1004949f"]]}, {"orig": [["0x100483af", "mov cl, byte ptr [ebp - 0xd]"], ["0x100483b2", "mov byte ptr [ebp - 0x67], cl"]], "recomp": [["0x100494a2", "push eax"], ["0x100494a3", "push 1"], ["0x100494a5", "push ecx"]]}, {"both": [["0x100483b5", "lea ecx, [ebp - 0x68]", "0x100494a6"]]}, {"orig": [["0x100483b8", "mov dword ptr [ebp - 0x60], 1"], ["0x100483bf", "call <OFFSET3>"]], "recomp": [["0x100494a9", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloa (FUNCTION)"]]}, {"both": [["0x100483c4", "push edi", "0x100494ae"], ["0x100483c5", "lea ecx, [ebp - 0x84]", "0x100494af"], ["0x100483cb", "mov byte ptr [ebp - 4], 4", "0x100494b5"], ["0x100483cf", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,Le (FUNCTION)", "0x100494b9"], ["0x100483d4", "mov byte ptr [ebp - 4], 7", "0x100494be"]]}, {"orig": [], "recomp": [["0x100494c2", "mov dword ptr [ebp - 0x24], 0x497423f0"]]}, {"both": [["0x100483d8", "mov ecx, dword ptr [ebp + 8]", "0x100494c9"]]}, {"orig": [["0x100483db", "mov dword ptr [ebp - 0x2c], 0x497423f0"]], "recomp": [["0x100494cc", "mov dword ptr [ebp - 0x1c], 0"]]}, {"both": [["0x100483e2", "and byte ptr [ecx + 0x38], 0xfe", "0x100494d3"]]}, {"orig": [["0x100483e6", "mov dword ptr [ebp - 0x1c], 0"]], "recomp": []}, {"both": [["0x100483ed", "mov dword ptr [ebp - 0x20], 0", "0x100494d7"], ["0x100483f4", "xor eax, eax", "0x100494de"], ["0x100483f6", "mov al, byte ptr [esi + 4]", "0x100494e0"], ["0x100483f9", "cmp eax, dword ptr [ebp - 0x1c]", "0x100494e3"], ["0x100483fc", "jle 0x2ca", "0x100494e6"], ["0x10048402", "mov ecx, dword ptr [esi + 8]", "0x100494ec"], ["0x10048405", "mov eax, dword ptr [ebp - 0x20]", "0x100494ef"], ["0x10048408", "mov edx, dword ptr [ecx + eax]", "0x100494f2"], ["0x1004840b", "mov dword ptr [ebp - 0x10], edx", "0x100494f5"], ["0x1004840e", "mov cx, word ptr [edx + 0x24]", "0x100494f8"]]}]], ["@@ -0x1004842f,21 +0x10049519,21 @@", [{"both": [["0x1004842f", "mov edx, dword ptr [ebp - 0x10]", "0x10049519"], ["0x10048432", "cmp dword ptr [edx + 8], eax", "0x1004951c"], ["0x10048435", "jne 0x13", "0x1004951f"], ["0x10048437", "test cl, 1", "0x10049521"], ["0x1004843a", "je 0xe", "0x10049524"], ["0x1004843c", "mov dl, byte ptr [eax + 0xc]", "0x10049526"], ["0x1004843f", "and dl, byte ptr [ebp + 0x24]", "0x10049529"], ["0x10048442", "and dl, 3", "0x1004952c"], ["0x10048445", "cmp dl, byte ptr [ebp + 0x24]", "0x1004952f"], ["0x10048448", "je 0x23", "0x10049532"]]}, {"orig": [["0x1004844a", "cmp edi, eax"]], "recomp": [["0x10049534", "cmp eax, edi"]]}, {"both": [["0x1004844c", "jne 0x25f", "0x10049536"], ["0x10048452", "test cl, 2", "0x1004953c"], ["0x10048455", "je 0x256", "0x1004953f"], ["0x1004845b", "mov cl, byte ptr [eax + 0xc]", "0x10049545"], ["0x1004845e", "and cl, byte ptr [ebp + 0x24]", "0x10049548"], ["0x10048461", "and cl, 3", "0x1004954b"], ["0x10048464", "cmp cl, byte ptr [ebp + 0x24]", "0x1004954e"], ["0x10048467", "jne 0x244", "0x10049551"], ["0x1004846d", "mov edi, dword ptr [ebp - 0x10]", "0x10049557"], ["0x10048470", "cmp dword ptr [ebp + 0x20], eax", "0x1004955a"]]}]], ["@@ -0x100484b7,21 +0x100495a1,21 @@", [{"both": [["0x100484b7", "mov eax, dword ptr [edi + 0x20]", "0x100495a1"], ["0x100484ba", "mov ebx, dword ptr [ebp - 0xb4]", "0x100495a4"], ["0x100484c0", "push eax", "0x100495aa"], ["0x100484c1", "call dword ptr [ebx + 0x48]", "0x100495ab"], ["0x100484c4", "mov dword ptr [ebp - 0x58], 0x3f000000", "0x100495ae"], ["0x100484cb", "lea ecx, [ebp - 0x58]", "0x100495b5"], ["0x100484ce", "mov ebx, dword ptr [ebp - 0xb4]", "0x100495b8"], ["0x100484d4", "push ecx", "0x100495be"], ["0x100484d5", "lea ecx, [ebp - 0xb4]", "0x100495bf"], ["0x100484db", "call dword ptr [ebx + 0x5c]", "0x100495c5"]]}, {"orig": [["0x100484de", "mov ecx, dword ptr [ebp + 0x18]"]], "recomp": [["0x100495c8", "mov ecx, dword ptr [ebp + 0xc]"]]}, {"both": [["0x100484e1", "mov ebx, dword ptr [ebp - 0xb4]", "0x100495cb"], ["0x100484e7", "push ecx", "0x100495d1"], ["0x100484e8", "lea ecx, [ebp - 0xb4]", "0x100495d2"], ["0x100484ee", "call dword ptr [ebx + 0x54]", "0x100495d8"], ["0x100484f1", "mov edi, dword ptr [ebp - 0x10]", "0x100495db"], ["0x100484f4", "lea ecx, [ebp - 0x98]", "0x100495de"], ["0x100484fa", "push ecx", "0x100495e4"], ["0x100484fb", "mov ebx, dword ptr [edi + 0x1c]", "0x100495e5"], ["0x100484fe", "lea ecx, [ebp - 0xa0]", "0x100495e8"], ["0x10048504", "call Vector3::Vector3 (FUNCTION)", "0x100495ee"]]}]], ["@@ -0x10048532,64 +0x1004961c,64 @@", [{"both": [["0x10048532", "mov eax, dword ptr [edi + 0x20]", "0x1004961c"], ["0x10048535", "mov ebx, dword ptr [ebp - 0xa0]", "0x1004961f"], ["0x1004853b", "push eax", "0x10049625"], ["0x1004853c", "call dword ptr [ebx + 0x48]", "0x10049626"], ["0x1004853f", "mov dword ptr [ebp - 0x54], 0x3f000000", "0x10049629"], ["0x10048546", "lea ecx, [ebp - 0x54]", "0x10049630"], ["0x10048549", "mov ebx, dword ptr [ebp - 0xa0]", "0x10049633"], ["0x1004854f", "push ecx", "0x10049639"], ["0x10048550", "lea ecx, [ebp - 0xa0]", "0x1004963a"], ["0x10048556", "call dword ptr [ebx + 0x5c]", "0x10049640"]]}, {"orig": [["0x10048559", "mov ecx, dword ptr [ebp + 0xc]"]], "recomp": [["0x10049643", "mov ecx, dword ptr [ebp + 0x18]"]]}, {"both": [["0x1004855c", "mov ebx, dword ptr [ebp - 0xa0]", "0x10049646"], ["0x10048562", "push ecx", "0x1004964c"], ["0x10048563", "lea ecx, [ebp - 0xa0]", "0x1004964d"], ["0x10048569", "call dword ptr [ebx + 0x54]", "0x10049653"], ["0x1004856c", "lea ecx, [ebp - 0xb4]", "0x10049656"], ["0x10048572", "call Vector3::LenSquared (FUNCTION)", "0x1004965c"], ["0x10048577", "fsqrt ", "0x10049661"], ["0x10048579", "lea ecx, [ebp - 0xa0]", "0x10049663"]]}, {"orig": [["0x1004857f", "fstp dword ptr [ebp - 0x28]"]], "recomp": [["0x10049669", "fstp dword ptr [ebp - 0x2c]"]]}, {"both": [["0x10048582", "call Vector3::LenSquared (FUNCTION)", "0x1004966c"], ["0x10048587", "fsqrt ", "0x10049671"]]}, {"orig": [["0x10048589", "fadd dword ptr [ebp - 0x28]"], ["0x1004858c", "fcom dword ptr [ebp - 0x2c]"], ["0x1004858f", "fstp dword ptr [ebp - 0x28]"]], "recomp": [["0x10049673", "fadd dword ptr [ebp - 0x2c]"], ["0x10049676", "fcom dword ptr [ebp - 0x24]"], ["0x10049679", "fstp dword ptr [ebp - 0x2c]"]]}, {"both": [["0x10048592", "fnstsw ax", "0x1004967c"], ["0x10048594", "test ah, 1", "0x1004967e"], ["0x10048597", "je 0x114", "0x10049681"]]}, {"orig": [["0x1004859d", "mov eax, dword ptr [ebp - 0x28]"]], "recomp": [["0x10049687", "mov eax, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100485a0", "mov ecx, dword ptr [ebp + 8]", "0x1004968a"]]}, {"orig": [["0x100485a3", "mov dword ptr [ebp - 0x2c], eax"]], "recomp": [["0x1004968d", "mov dword ptr [ebp - 0x24], eax"]]}, {"both": [["0x100485a6", "mov eax, dword ptr [ecx + 4]", "0x10049690"]]}, {"orig": [["0x100485a9", "mov dword ptr [ebp - 0x24], eax"]], "recomp": [["0x10049693", "mov dword ptr [ebp - 0x28], eax"]]}, {"both": [["0x100485ac", "mov edx, dword ptr [eax]", "0x10049696"], ["0x100485ae", "mov edi, edx", "0x10049698"]]}, {"orig": [["0x100485b0", "mov dword ptr [ebp - 0x18], edx"], ["0x100485b3", "cmp dword ptr [ebp - 0x18], eax"]], "recomp": [["0x1004969a", "cmp edx, dword ptr [ebp - 0x28]"]]}, {"both": [["0x100485b6", "je 0x16", "0x1004969d"], ["0x100485b8", "push edi", "0x1004969f"], ["0x100485b9", "mov eax, edi", "0x100496a0"], ["0x100485bb", "mov edi, dword ptr [edi]", "0x100496a2"], ["0x100485bd", "lea ecx, [ebp - 0x6c]", "0x100496a4"], ["0x100485c0", "push ecx", "0x100496a7"], ["0x100485c1", "mov ecx, dword ptr [ebp + 8]", "0x100496a8"], ["0x100485c4", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::erase (FUNCTION)", "0x100496ab"]]}, {"orig": [["0x100485c9", "cmp edi, dword ptr [ebp - 0x24]"]], "recomp": [["0x100496b0", "cmp edi, dword ptr [ebp - 0x28]"]]}, {"both": [["0x100485cc", "jne -0x16", "0x100496b3"], ["0x100485ce", "mov ecx, dword ptr [ebp + 8]", "0x100496b5"], ["0x100485d1", "or byte ptr [ecx + 0x38], 1", "0x100496b8"], ["0x100485d5", "mov eax, dword ptr [ebp - 0x10]", "0x100496bc"], ["0x100485d8", "mov dword ptr [ebp - 0x8c], eax", "0x100496bf"], ["0x100485de", "lea eax, [ebp - 0x8c]", "0x100496c5"], ["0x100485e4", "push eax", "0x100496cb"], ["0x100485e5", "mov dword ptr [ebp - 0x88], esi", "0x100496cc"]]}, {"orig": [], "recomp": [["0x100496d2", "mov ecx, dword ptr [ebp + 8]"]]}, {"both": [["0x100485eb", "mov edx, dword ptr [ecx + 4]", "0x100496d5"], ["0x100485ee", "lea ecx, [ebp - 0x70]", "0x100496d8"], ["0x100485f1", "push edx", "0x100496db"], ["0x100485f2", "push ecx", "0x100496dc"], ["0x100485f3", "mov ecx, dword ptr [ebp + 8]", "0x100496dd"], ["0x100485f6", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::insert (FUNCTION)", "0x100496e0"], ["0x100485fb", "jmp 0xb1", "0x100496e5"], ["0x10048600", "mov eax, dword ptr [edi + 0x1c]", "0x100496ea"], ["0x10048603", "lea ecx, [ebp - 0xec]", "0x100496ed"], ["0x10048609", "push eax", "0x100496f3"]]}]], ["@@ -0x10048633,32 +0x1004971d,32 @@", [{"both": [["0x10048633", "lea ecx, [ebp - 0xec]", "0x1004971d"], ["0x10048639", "call dword ptr [ebx + 0x5c]", "0x10049723"], ["0x1004863c", "mov ecx, dword ptr [ebp + 0xc]", "0x10049726"], ["0x1004863f", "mov ebx, dword ptr [ebp - 0xec]", "0x10049729"], ["0x10048645", "push ecx", "0x1004972f"], ["0x10048646", "lea ecx, [ebp - 0xec]", "0x10049730"], ["0x1004864c", "call dword ptr [ebx + 0x54]", "0x10049736"], ["0x1004864f", "lea ecx, [ebp - 0xec]", "0x10049739"], ["0x10048655", "call Vector3::LenSquared (FUNCTION)", "0x1004973f"], ["0x1004865a", "fsqrt ", "0x10049744"]]}, {"orig": [["0x1004865c", "mov eax, dword ptr [ebp - 0x4c]"]], "recomp": []}, {"both": [["0x1004865f", "mov edi, dword ptr [ebp - 0x10]", "0x10049746"], ["0x10048662", "mov dword ptr [ebp - 0xfc], edi", "0x10049749"], ["0x10048668", "mov dword ptr [ebp - 0xf8], esi", "0x1004974f"]]}, {"orig": [], "recomp": [["0x10049755", "lea edi, [ebp - 0xfc]"]]}, {"both": [["0x1004866e", "lea ecx, [ebp - 0x74]", "0x1004975b"]]}, {"orig": [], "recomp": [["0x1004975e", "push edi"]]}, {"both": [["0x10048671", "mov dword ptr [ebp - 0xf4], 0", "0x1004975f"]]}, {"orig": [["0x1004867b", "lea edi, [ebp - 0xfc]"], ["0x10048681", "push edi"]], "recomp": [["0x10049769", "fstp dword ptr [ebp - 0xf0]"], ["0x1004976f", "mov eax, dword ptr [ebp - 0x4c]"]]}, {"both": [["0x10048682", "push eax", "0x10049772"], ["0x10048683", "push ecx", "0x10049773"], ["0x10048684", "lea ecx, [ebp - 0x50]", "0x10049774"]]}, {"orig": [["0x10048687", "fstp dword ptr [ebp - 0xf0]"]], "recomp": []}, {"both": [["0x1004868d", "call list<LegoBEWithFloat,allocator<LegoBEWithFloat> >::insert (FUNCTION)", "0x10049777"], ["0x10048692", "mov ecx, dword ptr [ebp - 0x4c]", "0x1004977c"], ["0x10048695", "mov eax, dword ptr [ecx + 4]", "0x1004977f"], ["0x10048698", "lea ecx, [ebp - 0x118]", "0x10049782"], ["0x1004869e", "add eax, 8", "0x10049788"], ["0x100486a1", "mov dword ptr [ebp - 0x30], eax", "0x1004978b"], ["0x100486a4", "lea eax, [ebp - 0x30]", "0x1004978e"], ["0x100486a7", "push eax", "0x10049791"], ["0x100486a8", "push ecx", "0x10049792"], ["0x100486a9", "lea ecx, [ebp - 0x68]", "0x10049793"]]}]], ["@@ -0x100486c4,249 +0x100497ae,249 @@", [{"both": [["0x100486c4", "inc dword ptr [ebp - 0x1c]", "0x100497ae"], ["0x100486c7", "jmp -0x2d8", "0x100497b1"], ["0x100486cc", "mov ecx, dword ptr [ebp + 8]", "0x100497b6"], ["0x100486cf", "test byte ptr [ecx + 0x38], 1", "0x100497b9"], ["0x100486d3", "jne 0x40c", "0x100497bd"], ["0x100486d9", "cmp dword ptr [ebp - 0x78], 0", "0x100497c3"], ["0x100486dd", "jbe 0x402", "0x100497c7"], ["0x100486e3", "mov dword ptr [ebp - 0xc4], 0", "0x100497cd"], ["0x100486ed", "mov dword ptr [ebp - 0xc0], 0", "0x100497d7"], ["0x100486f7", "mov dword ptr [ebp - 0xbc], 0", "0x100497e1"]]}, {"orig": [], "recomp": [["0x100497eb", "mov dword ptr [ebp - 0xb8], 0"], ["0x100497f5", "mov eax, dword ptr [ebp - 0x64]"]]}, {"both": [["0x10048701", "mov dword ptr [ebp - 0x1c], 0x497423f0", "0x100497f8"]]}, {"orig": [["0x10048708", "mov eax, dword ptr [ebp - 0x64]"], ["0x1004870b", "mov dword ptr [ebp - 0xb8], 0"]], "recomp": []}, {"both": [["0x10048715", "mov ecx, dword ptr [eax]", "0x100497ff"], ["0x10048717", "mov dword ptr [ebp - 0x20], ecx", "0x10049801"], ["0x1004871a", "mov dword ptr [ebp - 0x34], ecx", "0x10049804"], ["0x1004871d", "mov ecx, dword ptr [ebp - 0x20]", "0x10049807"], ["0x10048720", "mov dword ptr [ebp - 0x10], ecx", "0x1004980a"], ["0x10048723", "mov eax, dword ptr [ebp - 0x64]", "0x1004980d"], ["0x10048726", "cmp dword ptr [ebp - 0x20], eax", "0x10049810"], ["0x10048729", "je 0x8", "0x10049813"], ["0x1004872b", "lea ecx, [ebp - 0x34]", "0x10049815"], ["0x1004872e", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::iterator::_Inc (FUNCTION)", "0x10049818"], ["0x10048733", "mov eax, dword ptr [ebp - 0x64]", "0x1004981d"], ["0x10048736", "cmp dword ptr [ebp - 0x20], eax", "0x10049820"], ["0x10048739", "je 0x348", "0x10049823"]]}, {"orig": [], "recomp": [["0x10049829", "mov dword ptr [ebp - 0x28], 1"]]}, {"both": [["0x1004873f", "mov eax, dword ptr [ebp - 0x10]", "0x10049830"], ["0x10048742", "add eax, 0xc", "0x10049833"], ["0x10048745", "mov dword ptr [ebp - 0x18], eax", "0x10049836"], ["0x10048748", "mov esi, dword ptr [eax]", "0x10049839"]]}, {"orig": [["0x1004874a", "mov dword ptr [ebp - 0x24], 1"], ["0x10048751", "mov ebx, dword ptr [esi]"], ["0x10048753", "mov ecx, dword ptr [ebx + 4]"], ["0x10048756", "mov edi, ecx"]], "recomp": [["0x1004983b", "mov edi, dword ptr [esi]"], ["0x1004983d", "mov ecx, dword ptr [edi + 4]"], ["0x10049840", "mov ebx, ecx"]]}, {"both": [["0x10048758", "cmp dword ptr [esi + 4], ecx", "0x10049842"], ["0x1004875b", "jne 0x3", "0x10049845"]]}, {"orig": [["0x1004875d", "mov edi, dword ptr [ebx + 8]"], ["0x10048760", "cmp dword ptr [ebx + 8], edi"]], "recomp": [["0x10049847", "mov ebx, dword ptr [edi + 8]"], ["0x1004984a", "cmp dword ptr [edi + 8], ebx"]]}, {"both": [["0x10048763", "jne 0x13", "0x1004984d"]]}, {"orig": [["0x10048765", "test byte ptr [ebx + 0x24], 1"]], "recomp": [["0x1004984f", "test byte ptr [edi + 0x24], 1"]]}, {"both": [["0x10048769", "je 0xd", "0x10049853"]]}, {"orig": [["0x1004876b", "mov al, byte ptr [edi + 0xc]"]], "recomp": [["0x10049855", "mov al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x1004876e", "and al, byte ptr [ebp + 0x24]", "0x10049858"], ["0x10048771", "and al, 3", "0x1004985b"], ["0x10048773", "cmp al, byte ptr [ebp + 0x24]", "0x1004985d"], ["0x10048776", "je 0x23", "0x10049860"]]}, {"orig": [["0x10048778", "cmp edi, ecx"]], "recomp": [["0x10049862", "cmp ebx, ecx"]]}, {"both": [["0x1004877a", "jne 0x2cc", "0x10049864"]]}, {"orig": [["0x10048780", "test byte ptr [ebx + 0x24], 2"]], "recomp": [["0x1004986a", "test byte ptr [edi + 0x24], 2"]]}, {"both": [["0x10048784", "je 0x2c2", "0x1004986e"]]}, {"orig": [["0x1004878a", "mov al, byte ptr [edi + 0xc]"]], "recomp": [["0x10049874", "mov al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x1004878d", "and al, byte ptr [ebp + 0x24]", "0x10049877"], ["0x10048790", "and al, 3", "0x1004987a"], ["0x10048792", "cmp al, byte ptr [ebp + 0x24]", "0x1004987c"], ["0x10048795", "jne 0x2b1", "0x1004987f"]]}, {"orig": [["0x1004879b", "cmp dword ptr [ebp + 0x20], edi"]], "recomp": [["0x10049885", "cmp ebx, dword ptr [ebp + 0x20]"]]}, {"both": [["0x1004879e", "jne 0x141", "0x10049888"]]}, {"orig": [["0x100487a4", "mov edi, dword ptr [ebx + 0x1c]"]], "recomp": []}, {"both": [["0x100487a7", "lea eax, [ebp - 0xd0]", "0x1004988e"]]}, {"orig": [], "recomp": [["0x10049894", "lea ecx, [ebp - 0xd8]"], ["0x1004989a", "mov dword ptr [ebp - 0x28], 0"], ["0x100498a1", "mov ebx, dword ptr [edi + 0x1c]"]]}, {"both": [["0x100487ad", "push eax", "0x100498a4"]]}, {"orig": [["0x100487ae", "lea ecx, [ebp - 0xd8]"], ["0x100487b4", "mov dword ptr [ebp - 0x24], 0"]], "recomp": []}, {"both": [["0x100487bb", "call Vector3::Vector3 (FUNCTION)", "0x100498a5"], ["0x100487c0", "mov dword ptr [ebp - 0xd8], Mx3DPointFloat::`vftable' (VTABLE)", "0x100498aa"]]}, {"orig": [["0x100487ca", "mov edx, dword ptr [edi + 4]"]], "recomp": [["0x100498b4", "mov edx, dword ptr [ebx + 4]"]]}, {"both": [["0x100487cd", "mov ecx, dword ptr [ebp - 0xd4]", "0x100498b7"], ["0x100487d3", "mov eax, dword ptr [edx]", "0x100498bd"], ["0x100487d5", "mov dword ptr [ecx], eax", "0x100498bf"]]}, {"orig": [["0x100487d7", "mov edi, dword ptr [edx + 4]"], ["0x100487da", "mov dword ptr [ecx + 4], edi"]], "recomp": [["0x100498c1", "mov ebx, dword ptr [edx + 4]"], ["0x100498c4", "mov dword ptr [ecx + 4], ebx"]]}, {"both": [["0x100487dd", "mov edx, dword ptr [edx + 8]", "0x100498c7"], ["0x100487e0", "mov dword ptr [ecx + 8], edx", "0x100498ca"], ["0x100487e3", "lea ecx, [ebp - 0xd8]", "0x100498cd"]]}, {"orig": [["0x100487e9", "mov eax, dword ptr [ebx + 0x20]"]], "recomp": [["0x100498d3", "mov eax, dword ptr [edi + 0x20]"]]}, {"both": [["0x100487ec", "mov ebx, dword ptr [ebp - 0xd8]", "0x100498d6"], ["0x100487f2", "push eax", "0x100498dc"], ["0x100487f3", "call dword ptr [ebx + 0x48]", "0x100498dd"]]}, {"orig": [["0x100487f6", "mov dword ptr [ebp - 0xf0], 0x3f000000"]], "recomp": []}, {"both": [["0x10048800", "lea ecx, [ebp - 0xf0]", "0x100498e0"], ["0x10048806", "mov ebx, dword ptr [ebp - 0xd8]", "0x100498e6"]]}, {"orig": [], "recomp": [["0x100498ec", "mov dword ptr [ebp - 0xf0], 0x3f000000"]]}, {"both": [["0x1004880c", "push ecx", "0x100498f6"], ["0x1004880d", "lea ecx, [ebp - 0xd8]", "0x100498f7"], ["0x10048813", "call dword ptr [ebx + 0x5c]", "0x100498fd"], ["0x10048816", "mov ecx, dword ptr [ebp + 0x18]", "0x10049900"], ["0x10048819", "mov ebx, dword ptr [ebp - 0xd8]", "0x10049903"], ["0x1004881f", "push ecx", "0x10049909"], ["0x10048820", "lea ecx, [ebp - 0xd8]", "0x1004990a"], ["0x10048826", "call dword ptr [ebx + 0x54]", "0x10049910"], ["0x10048829", "lea ecx, [ebp - 0xd8]", "0x10049913"], ["0x1004882f", "call Vector3::LenSquared (FUNCTION)", "0x10049919"], ["0x10048834", "fsqrt ", "0x1004991e"], ["0x10048836", "fadd dword ptr [esi + 0xc]", "0x10049920"], ["0x10048839", "fcom dword ptr [ebp - 0x1c]", "0x10049923"], ["0x1004883c", "fstp dword ptr [ebp - 0x18]", "0x10049926"], ["0x1004883f", "fnstsw ax", "0x10049929"], ["0x10048841", "test ah, 1", "0x1004992b"], ["0x10048844", "je 0x202", "0x1004992e"]]}, {"orig": [], "recomp": [["0x10049934", "fld dword ptr [ebp - 0x24]"], ["0x10049937", "fcomp dword ptr [ebp - 0x18]"]]}, {"both": [["0x1004884a", "mov dword ptr [ebp - 0xc4], 0", "0x1004993a"], ["0x10048854", "mov eax, dword ptr [ebp - 0x18]", "0x10049944"], ["0x10048857", "mov dword ptr [ebp - 0x1c], eax", "0x10049947"]]}, {"orig": [["0x1004885a", "fld dword ptr [ebp - 0x18]"], ["0x1004885d", "fcomp dword ptr [ebp - 0x2c]"]], "recomp": []}, {"both": [["0x10048860", "fnstsw ax", "0x1004994a"]]}, {"orig": [["0x10048862", "test ah, 1"], ["0x10048865", "je 0x1e1"]], "recomp": [["0x1004994c", "test ah, 0x41"], ["0x1004994f", "jne 0x1e1"]]}, {"both": [["0x1004886b", "mov eax, dword ptr [ebp - 0x18]", "0x10049955"], ["0x1004886e", "mov ecx, dword ptr [ebp + 8]", "0x10049958"]]}, {"orig": [["0x10048871", "mov dword ptr [ebp - 0x2c], eax"]], "recomp": [["0x1004995b", "mov dword ptr [ebp - 0x24], eax"]]}, {"both": [["0x10048874", "mov eax, dword ptr [ecx + 4]", "0x1004995e"], ["0x10048877", "mov dword ptr [ebp - 0x44], eax", "0x10049961"], ["0x1004887a", "mov edx, dword ptr [eax]", "0x10049964"], ["0x1004887c", "mov edi, edx", "0x10049966"]]}, {"orig": [["0x1004887e", "mov dword ptr [ebp - 0x28], edx"]], "recomp": [["0x10049968", "mov dword ptr [ebp - 0x2c], edx"]]}, {"both": [["0x10048881", "mov eax, dword ptr [ebp - 0x44]", "0x1004996b"]]}, {"orig": [["0x10048884", "cmp dword ptr [ebp - 0x28], eax"]], "recomp": [["0x1004996e", "cmp dword ptr [ebp - 0x2c], eax"]]}, {"both": [["0x10048887", "je 0x19", "0x10049971"], ["0x10048889", "push edi", "0x10049973"], ["0x1004888a", "mov eax, edi", "0x10049974"], ["0x1004888c", "mov edi, dword ptr [edi]", "0x10049976"], ["0x1004888e", "lea ecx, [ebp - 0x90]", "0x10049978"], ["0x10048894", "push ecx", "0x1004997e"], ["0x10048895", "mov ecx, dword ptr [ebp + 8]", "0x1004997f"], ["0x10048898", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::erase (FUNCTION)", "0x10049982"]]}, {"orig": [["0x1004889d", "cmp dword ptr [ebp - 0x44], edi"]], "recomp": [["0x10049987", "cmp edi, dword ptr [ebp - 0x44]"]]}, {"both": [["0x100488a0", "jne -0x19", "0x1004998a"], ["0x100488a2", "mov ecx, dword ptr [ebp + 8]", "0x1004998c"], ["0x100488a5", "or byte ptr [ecx + 0x38], 1", "0x1004998f"], ["0x100488a9", "mov eax, dword ptr [esi + 4]", "0x10049993"], ["0x100488ac", "mov ecx, dword ptr [esi]", "0x10049996"]]}, {"orig": [["0x100488ae", "mov edx, dword ptr [ebp + 8]"]], "recomp": []}, {"both": [["0x100488b1", "mov dword ptr [ebp - 0x120], ecx", "0x10049998"], ["0x100488b7", "mov dword ptr [ebp - 0x11c], eax", "0x1004999e"]]}, {"orig": [], "recomp": [["0x100499a4", "mov edx, dword ptr [ebp + 8]"]]}, {"both": [["0x100488bd", "mov eax, dword ptr [edx + 4]", "0x100499a7"], ["0x100488c0", "lea edx, [ebp - 0x120]", "0x100499aa"]]}, {"orig": [], "recomp": [["0x100499b0", "push edx"]]}, {"both": [["0x100488c6", "mov ecx, dword ptr [eax]", "0x100499b1"]]}, {"orig": [["0x100488c8", "push edx"]], "recomp": [["0x100499b3", "push ecx"]]}, {"both": [["0x100488c9", "lea eax, [ebp - 0xa4]", "0x100499b4"]]}, {"orig": [["0x100488cf", "push ecx"]], "recomp": []}, {"both": [["0x100488d0", "push eax", "0x100499ba"], ["0x100488d1", "mov ecx, dword ptr [ebp + 8]", "0x100499bb"], ["0x100488d4", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::insert (FUNCTION)", "0x100499be"], ["0x100488d9", "mov esi, dword ptr [esi + 8]", "0x100499c3"], ["0x100488dc", "test esi, esi", "0x100499c6"], ["0x100488de", "jne -0x37", "0x100499c8"], ["0x100488e0", "jmp 0x167", "0x100499ca"], ["0x100488e5", "mov dword ptr [ebp - 0x38], 0", "0x100499cf"]]}, {"orig": [["0x100488ec", "cmp byte ptr [edi + 4], 0"]], "recomp": [["0x100499d6", "cmp byte ptr [ebx + 4], 0"]]}, {"both": [["0x100488f0", "jbe 0x156", "0x100499da"], ["0x100488f6", "mov dword ptr [ebp - 0x3c], 0", "0x100499e0"]]}, {"orig": [["0x100488fd", "mov ecx, dword ptr [edi + 8]"]], "recomp": [["0x100499e7", "mov ecx, dword ptr [ebx + 8]"]]}, {"both": [["0x10048900", "mov eax, dword ptr [ebp - 0x3c]", "0x100499ea"], ["0x10048903", "mov edx, dword ptr [ecx + eax]", "0x100499ed"], ["0x10048906", "mov dword ptr [ebp - 0x14], edx", "0x100499f0"], ["0x10048909", "test byte ptr [edx + 0x24], 3", "0x100499f3"], ["0x1004890d", "je 0x124", "0x100499f7"]]}, {"orig": [], "recomp": [["0x100499fd", "mov esi, dword ptr [ebp - 0x80]"]]}, {"both": [["0x10048913", "lea eax, [ebp - 0x14]", "0x10049a00"]]}, {"orig": [], "recomp": [["0x10049a03", "push eax"]]}, {"both": [["0x10048916", "lea ecx, [ebp - 0x74]", "0x10049a04"]]}, {"orig": [["0x10048919", "push eax"]], "recomp": []}, {"both": [["0x1004891a", "push ecx", "0x10049a07"], ["0x1004891b", "lea ecx, [ebp - 0x84]", "0x10049a08"], ["0x10048921", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::find (FUNCTION)", "0x10049a0e"]]}, {"orig": [["0x10048926", "mov ecx, dword ptr [ebp - 0x74]"], ["0x10048929", "cmp dword ptr [ebp - 0x80], ecx"]], "recomp": [["0x10049a13", "cmp dword ptr [ebp - 0x74], esi"]]}, {"both": [["0x1004892c", "je 0x105", "0x10049a16"]]}, {"orig": [], "recomp": [["0x10049a1c", "mov dword ptr [ebp - 0x28], 0"]]}, {"both": [["0x10048932", "mov esi, dword ptr [ebp - 0x14]", "0x10049a23"], ["0x10048935", "lea ecx, [ebp - 0x110]", "0x10049a26"]]}, {"orig": [["0x1004893b", "mov dword ptr [ebp - 0x24], 0"]], "recomp": []}, {"both": [["0x10048942", "mov eax, dword ptr [esi + 0x1c]", "0x10049a2c"], ["0x10048945", "push eax", "0x10049a2f"], ["0x10048946", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10049a30"]]}, {"orig": [["0x1004894b", "mov eax, dword ptr [ebx + 0x1c]"]], "recomp": [["0x10049a35", "mov eax, dword ptr [edi + 0x1c]"]]}, {"both": [["0x1004894e", "lea ecx, [ebp - 0x144]", "0x10049a38"], ["0x10048954", "push eax", "0x10049a3e"], ["0x10048955", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x10049a3f"], ["0x1004895a", "mov eax, dword ptr [esi + 0x20]", "0x10049a44"], ["0x1004895d", "lea ecx, [ebp - 0x110]", "0x10049a47"], ["0x10048963", "push eax", "0x10049a4d"], ["0x10048964", "mov esi, dword ptr [ebp - 0x110]", "0x10049a4e"], ["0x1004896a", "call dword ptr [esi + 0x48]", "0x10049a54"], ["0x1004896d", "mov dword ptr [ebp - 0x70], 0x3f000000", "0x10049a57"], ["0x10048974", "lea ecx, [ebp - 0x70]", "0x10049a5e"], ["0x10048977", "mov esi, dword ptr [ebp - 0x110]", "0x10049a61"], ["0x1004897d", "push ecx", "0x10049a67"], ["0x1004897e", "lea ecx, [ebp - 0x110]", "0x10049a68"], ["0x10048984", "call dword ptr [esi + 0x5c]", "0x10049a6e"]]}, {"orig": [["0x10048987", "mov ecx, dword ptr [ebx + 0x20]"]], "recomp": [["0x10049a71", "mov ecx, dword ptr [edi + 0x20]"]]}, {"both": [["0x1004898a", "mov eax, dword ptr [ebp - 0x144]", "0x10049a74"], ["0x10048990", "push ecx", "0x10049a7a"], ["0x10048991", "lea ecx, [ebp - 0x144]", "0x10049a7b"], ["0x10048997", "call dword ptr [eax + 0x48]", "0x10049a81"]]}, {"orig": [], "recomp": [["0x10049a84", "mov dword ptr [ebp - 0x6c], 0x3f000000"]]}, {"both": [["0x1004899a", "lea ecx, [ebp - 0x6c]", "0x10049a8b"], ["0x1004899d", "mov esi, dword ptr [ebp - 0x144]", "0x10049a8e"]]}, {"orig": [["0x100489a3", "mov dword ptr [ebp - 0x6c], 0x3f000000"]], "recomp": []}, {"both": [["0x100489aa", "push ecx", "0x10049a94"], ["0x100489ab", "lea ecx, [ebp - 0x144]", "0x10049a95"], ["0x100489b1", "call dword ptr [esi + 0x5c]", "0x10049a9b"], ["0x100489b4", "lea ecx, [ebp - 0x144]", "0x10049a9e"], ["0x100489ba", "mov eax, dword ptr [ebp - 0x110]", "0x10049aa4"], ["0x100489c0", "push ecx", "0x10049aaa"], ["0x100489c1", "lea ecx, [ebp - 0x110]", "0x10049aab"], ["0x100489c7", "call dword ptr [eax + 0x54]", "0x10049ab1"], ["0x100489ca", "lea ecx, [ebp - 0x110]", "0x10049ab4"], ["0x100489d0", "call Vector3::LenSquared (FUNCTION)", "0x10049aba"], ["0x100489d5", "fsqrt ", "0x10049abf"], ["0x100489d7", "mov ecx, dword ptr [ebp - 0x18]", "0x10049ac1"], ["0x100489da", "mov edx, dword ptr [ecx]", "0x10049ac4"], ["0x100489dc", "fadd dword ptr [edx + 0xc]", "0x10049ac6"], ["0x100489df", "fcom dword ptr [ebp - 0x1c]", "0x10049ac9"], ["0x100489e2", "fstp dword ptr [ebp - 0x40]", "0x10049acc"], ["0x100489e5", "fnstsw ax", "0x10049acf"], ["0x100489e7", "test ah, 1", "0x10049ad1"], ["0x100489ea", "je 0x4b", "0x10049ad4"], ["0x100489ec", "mov eax, dword ptr [ebp - 0x40]", "0x10049ad6"]]}, {"orig": [["0x100489ef", "mov dword ptr [ebp - 0x12c], edi"], ["0x100489f5", "mov dword ptr [ebp - 0x1c], eax"]], "recomp": []}, {"both": [["0x100489f8", "mov ecx, dword ptr [ebp - 0x14]", "0x10049ad9"], ["0x100489fb", "mov edx, dword ptr [ebp - 0x18]", "0x10049adc"]]}, {"orig": [], "recomp": [["0x10049adf", "mov dword ptr [ebp - 0x1c], eax"]]}, {"both": [["0x100489fe", "mov dword ptr [ebp - 0x130], ecx", "0x10049ae2"]]}, {"orig": [], "recomp": [["0x10049ae8", "mov dword ptr [ebp - 0x12c], ebx"]]}, {"both": [["0x10048a04", "mov eax, dword ptr [edx]", "0x10049aee"], ["0x10048a06", "mov ecx, dword ptr [ebp - 0x40]", "0x10049af0"], ["0x10048a09", "lea edx, [ebp - 0x130]", "0x10049af3"], ["0x10048a0f", "mov dword ptr [ebp - 0x128], eax", "0x10049af9"], ["0x10048a15", "mov dword ptr [ebp - 0x124], ecx", "0x10049aff"], ["0x10048a1b", "lea ecx, [ebp - 0xc4]", "0x10049b05"], ["0x10048a21", "mov eax, dword ptr [edx]", "0x10049b0b"], ["0x10048a23", "mov esi, dword ptr [edx + 4]", "0x10049b0d"], ["0x10048a26", "mov dword ptr [ecx], eax", "0x10049b10"], ["0x10048a28", "mov eax, dword ptr [edx + 8]", "0x10049b12"]]}, {"orig": [], "recomp": [["0x10049b15", "mov edx, dword ptr [edx + 0xc]"]]}, {"both": [["0x10048a2b", "mov dword ptr [ecx + 4], esi", "0x10049b18"]]}, {"orig": [["0x10048a2e", "mov edx, dword ptr [edx + 0xc]"]], "recomp": []}, {"both": [["0x10048a31", "mov dword ptr [ecx + 8], eax", "0x10049b1b"], ["0x10048a34", "mov dword ptr [ecx + 0xc], edx", "0x10049b1e"], ["0x10048a37", "xor eax, eax", "0x10049b21"], ["0x10048a39", "inc dword ptr [ebp - 0x38]", "0x10049b23"], ["0x10048a3c", "add dword ptr [ebp - 0x3c], 4", "0x10049b26"]]}, {"orig": [["0x10048a40", "mov al, byte ptr [edi + 4]"]], "recomp": [["0x10049b2a", "mov al, byte ptr [ebx + 4]"]]}, {"both": [["0x10048a43", "cmp eax, dword ptr [ebp - 0x38]", "0x10049b2d"], ["0x10048a46", "jg -0x14f", "0x10049b30"]]}, {"orig": [["0x10048a4c", "cmp dword ptr [ebp - 0x24], 0"]], "recomp": [["0x10049b36", "cmp dword ptr [ebp - 0x28], 0"]]}, {"both": [["0x10048a50", "je 0x13", "0x10049b3a"], ["0x10048a52", "mov eax, dword ptr [ebp - 0x10]", "0x10049b3c"], ["0x10048a55", "lea ecx, [ebp - 0xdc]", "0x10049b3f"], ["0x10048a5b", "push eax", "0x10049b45"], ["0x10048a5c", "push ecx", "0x10049b46"], ["0x10048a5d", "lea ecx, [ebp - 0x68]", "0x10049b47"], ["0x10048a60", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::erase (FUNCTION)", "0x10049b4a"], ["0x10048a65", "mov eax, dword ptr [ebp - 0x64]", "0x10049b4f"], ["0x10048a68", "cmp dword ptr [ebp - 0x34], eax", "0x10049b52"], ["0x10048a6b", "je 0x1a", "0x10049b55"]]}]], ["@@ -0x10048ae5,21 +0x10049bcf,21 @@", [{"both": [["0x10048ae5", "mov ecx, dword ptr [ebp + 8]", "0x10049bcf"], ["0x10048ae8", "test byte ptr [ecx + 0x38], 1", "0x10049bd2"], ["0x10048aec", "jne 0x28", "0x10049bd6"], ["0x10048aee", "mov byte ptr [ebp - 4], 4", "0x10049bd8"], ["0x10048af2", "call <OFFSET17>", "0x10049bdc"], ["0x10048af7", "mov byte ptr [ebp - 4], 1", "0x10049be1"], ["0x10048afb", "call <OFFSET18>", "0x10049be5"], ["0x10048b00", "mov dword ptr [ebp - 4], 0xffffffff", "0x10049bea"], ["0x10048b07", "call <OFFSET19>", "0x10049bf1"], ["0x10048b0c", "mov eax, 0xffffffff", "0x10049bf6"]]}, {"orig": [["0x10048b11", "jmp -0x7a6"]], "recomp": [["0x10049bfb", "jmp -0x79d"]]}, {"both": [["0x10048b16", "mov ecx, dword ptr [ebp + 8]", "0x10049c00"], ["0x10048b19", "cmp dword ptr [ecx + 8], 0", "0x10049c03"], ["0x10048b1d", "jbe 0x2d", "0x10049c07"], ["0x10048b1f", "lea eax, [ebp - 0x10]", "0x10049c09"], ["0x10048b22", "push eax", "0x10049c0c"], ["0x10048b23", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::begin (FUNCTION)", "0x10049c0d"], ["0x10048b28", "mov eax, dword ptr [eax]", "0x10049c12"], ["0x10048b2a", "mov ecx, dword ptr [ebp + 0xc]", "0x10049c14"], ["0x10048b2d", "push ecx", "0x10049c17"], ["0x10048b2e", "mov ecx, dword ptr [eax + 8]", "0x10049c18"]]}]], ["@@ -0x10048b7f,48 +0x10049c69,50 @@", [{"both": [["0x10048b7f", "cmp edx, eax", "0x10049c69"], ["0x10048b81", "jne 0x8", "0x10049c6b"], ["0x10048b83", "cmp dword ptr [esi + 8], 0", "0x10049c6d"], ["0x10048b87", "je 0x27", "0x10049c71"], ["0x10048b89", "jmp 0x4", "0x10049c73"], ["0x10048b8b", "test eax, eax", "0x10049c75"], ["0x10048b8d", "je 0x21", "0x10049c77"], ["0x10048b8f", "cmp edx, eax", "0x10049c79"], ["0x10048b91", "jne 0x3", "0x10049c7b"], ["0x10048b93", "mov eax, dword ptr [esi + 8]", "0x10049c7d"]]}, {"orig": [["0x10048b96", "cmp dword ptr [ebp + 0x20], eax"]], "recomp": [["0x10049c80", "cmp eax, dword ptr [ebp + 0x20]"]]}, {"both": [["0x10048b99", "jne 0x15", "0x10049c83"], ["0x10048b9b", "mov ecx, dword ptr [ebp + 8]", "0x10049c85"], ["0x10048b9e", "mov dword ptr [ecx + 0x34], edx", "0x10049c88"], ["0x10048ba1", "lea ecx, [ebp - 0x14]", "0x10049c8b"], ["0x10048ba4", "mov eax, dword ptr [edi]", "0x10049c8e"], ["0x10048ba6", "push eax", "0x10049c90"], ["0x10048ba7", "push ecx", "0x10049c91"], ["0x10048ba8", "mov ecx, dword ptr [ebp + 8]", "0x10049c92"], ["0x10048bab", "call list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::erase (FUNCTION)", "0x10049c95"], ["0x10048bb0", "mov eax, dword ptr [ebp + 0x28]", "0x10049c9a"], ["0x10048bb3", "test eax, eax", "0x10049c9d"], ["0x10048bb5", "je 0x5", "0x10049c9f"]]}, {"orig": [["0x10048bb7", "mov ecx, dword ptr [ebp - 0x2c]"]], "recomp": [["0x10049ca1", "mov ecx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x10048bba", "mov dword ptr [eax], ecx", "0x10049ca4"], ["0x10048bbc", "mov byte ptr [ebp - 4], 4", "0x10049ca6"], ["0x10048bc0", "call <OFFSET17>", "0x10049caa"], ["0x10048bc5", "mov byte ptr [ebp - 4], 1", "0x10049caf"], ["0x10048bc9", "call <OFFSET18>", "0x10049cb3"], ["0x10048bce", "mov dword ptr [ebp - 4], 0xffffffff", "0x10049cb8"], ["0x10048bd5", "call <OFFSET19>", "0x10049cbf"]]}, {"orig": [["0x10048bda", "jmp -0x871"]], "recomp": [["0x10049cc4", "jmp -0x868"]]}, {"both": [["0x10048bdf", "lea ecx, [ebp - 0x84]", "0x10049cc9"], ["0x10048be5", "jmp _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::~_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,L (FUNCTION)", "0x10049ccf"], ["0x10048bea", "lea ecx, [ebp - 0x84]", "0x10049cd4"], ["0x10048bf0", "jmp set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::~set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> > (FUNCTION)", "0x10049cda"], ["0x10048bf5", "lea ecx, [ebp - 0x84]", "0x10049cdf"], ["0x10048bfb", "jmp Set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare>::~Set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare> (FUNCTION)", "0x10049ce5"], ["0x10048c00", "lea ecx, [ebp - 0x68]", "0x10049cea"], ["0x10048c03", "jmp _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::~_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFlo (FUNCTION)", "0x10049ced"], ["0x10048c08", "lea ecx, [ebp - 0x68]", "0x10049cf2"], ["0x10048c0b", "jmp multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::~multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> > (FUNCTION)", "0x10049cf5"], ["0x10048c10", "lea ecx, [ebp - 0x68]", "0x10049cfa"], ["0x10048c13", "jmp Multiset<LegoBEWithFloat *,LegoBEWithFloatComparator>::~Multiset<LegoBEWithFloat *,LegoBEWithFloatComparator> (FUNCTION)", "0x10049cfd"], ["0x10048c18", "lea ecx, [ebp - 0x50]", "0x10049d02"], ["0x10048c1b", "jmp list<LegoBEWithFloat,allocator<LegoBEWithFloat> >::~list<LegoBEWithFloat,allocator<LegoBEWithFloat> > (FUNCTION)", "0x10049d05"], ["0x10048c20", "mov eax, <OFFSET22>", "0x10049d0a"], ["0x10048c25", "jmp ___CxxFrameHandler (FUNCTION)", "0x10049d0f"]]}, {"orig": [], "recomp": [["0x10049d14", "lea ecx, [ebp - 0x50]"], ["0x10049d17", "jmp List<LegoBEWithFloat>::~List<LegoBEWithFloat> (FUNCTION)"]]}]]]}, {"address": "0x10048c40", "recomp": "0x100437f0", "name": "LegoUnknown100db7f4::FUN_10048c40", "matching": 1.0, "diff": []}, {"address": "0x10048ed0", "recomp": "0x10049d20", "name": "Mx3DPointFloat::Mx3DPointFloat", "matching": 1.0, "diff": []}, {"address": "0x10048f00", "recomp": "0x1004a130", "name": "list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::begin", "matching": 1.0, "diff": []}, {"address": "0x10048f10", "recomp": "0x1004a140", "name": "list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::insert", "matching": 1.0, "diff": []}, {"address": "0x10048f70", "recomp": "0x1004a1a0", "name": "list<LegoBoundaryEdge,allocator<LegoBoundaryEdge> >::erase", "matching": 1.0, "diff": []}, {"address": "0x10048fc0", "recomp": "0x10049d50", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,Le", "matching": 0.8384615384615385, "diff": [["@@ -0x10049050,50 +0x10049de0,50 @@", [{"both": [["0x10049050", "mov dword ptr [ecx + 0xc], 0", "0x10049de0"], ["0x10049057", "mov dword ptr [ecx + 4], eax", "0x10049de7"], ["0x1004905a", "mov dword ptr [eax], eax", "0x10049dea"], ["0x1004905c", "mov eax, dword ptr [ecx + 4]", "0x10049dec"], ["0x1004905f", "mov dword ptr [eax + 8], eax", "0x10049def"], ["0x10049062", "mov esi, dword ptr [ecx + 4]", "0x10049df2"], ["0x10049065", "mov ecx, dword ptr [ebp + 8]", "0x10049df5"], ["0x10049068", "lea eax, [esi + 4]", "0x10049df8"], ["0x1004906b", "mov dword ptr [ebp - 0x18], eax", "0x10049dfb"], ["0x1004906e", "mov eax, dword ptr [ecx + 4]", "0x10049dfe"]]}, {"orig": [["0x10049071", "mov edi, dword ptr [eax + 4]"], ["0x10049074", "mov dword ptr [ebp - 0x14], edi"], ["0x10049077", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edi"]], "recomp": [["0x10049e01", "mov ebx, dword ptr [eax + 4]"], ["0x10049e04", "mov dword ptr [ebp - 0x14], ebx"], ["0x10049e07", "cmp ebx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]]}, {"both": [["0x1004907d", "je 0x47", "0x10049e0d"]]}, {"orig": [["0x1004907f", "mov eax, dword ptr [edi + 0x10]"]], "recomp": [["0x10049e0f", "mov eax, dword ptr [ebx + 0x10]"]]}, {"both": [["0x10049082", "push 0x14", "0x10049e12"], ["0x10049084", "mov dword ptr [ebp - 0x1c], eax", "0x10049e14"], ["0x10049087", "call ??2@YAPAXI@Z (FUNCTION)", "0x10049e17"], ["0x1004908c", "mov dword ptr [eax + 4], esi", "0x10049e1c"], ["0x1004908f", "add esp, 4", "0x10049e1f"]]}, {"orig": [["0x10049092", "mov ebx, eax"]], "recomp": [["0x10049e22", "mov edi, eax"]]}, {"both": [["0x10049094", "mov eax, dword ptr [ebp - 0x1c]", "0x10049e24"]]}, {"orig": [["0x10049097", "mov dword ptr [ebx + 0x10], eax"], ["0x1004909a", "cmp dword ptr [ebp - 0x14], edi"]], "recomp": [["0x10049e27", "mov dword ptr [edi + 0x10], eax"], ["0x10049e2a", "cmp dword ptr [ebp - 0x14], ebx"]]}, {"both": [["0x1004909d", "jne 0x3", "0x10049e2d"]]}, {"orig": [["0x1004909f", "mov dword ptr [ebp - 0x14], ebx"], ["0x100490a2", "push ebx"], ["0x100490a3", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x10049e2f", "mov dword ptr [ebp - 0x14], edi"], ["0x10049e32", "push edi"], ["0x10049e33", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x100490a6", "push eax", "0x10049e36"], ["0x100490a7", "mov ecx, dword ptr [ebp - 0x10]", "0x10049e37"], ["0x100490aa", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Copy (FUNCTION)", "0x10049e3a"]]}, {"orig": [["0x100490af", "mov dword ptr [ebx + 8], eax"], ["0x100490b2", "lea eax, [ebx + 0xc]"]], "recomp": [["0x10049e3f", "mov dword ptr [edi + 8], eax"], ["0x10049e42", "lea eax, [edi + 0xc]"]]}, {"both": [["0x100490b5", "test eax, eax", "0x10049e45"], ["0x100490b7", "je 0x5", "0x10049e47"]]}, {"orig": [["0x100490b9", "mov ecx, dword ptr [edi + 0xc]"]], "recomp": [["0x10049e49", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100490bc", "mov dword ptr [eax], ecx", "0x10049e4c"]]}, {"orig": [["0x100490be", "mov dword ptr [esi], ebx"], ["0x100490c0", "mov esi, ebx"], ["0x100490c2", "mov edi, dword ptr [edi]"]], "recomp": [["0x10049e4e", "mov dword ptr [esi], edi"], ["0x10049e50", "mov esi, edi"], ["0x10049e52", "mov ebx, dword ptr [ebx]"]]}, {"both": [["0x100490c4", "jmp -0x4f", "0x10049e54"], ["0x100490c6", "mov eax, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]", "0x10049e56"], ["0x100490cb", "mov ecx, dword ptr [ebp - 0x18]", "0x10049e5b"], ["0x100490ce", "mov dword ptr [esi], eax", "0x10049e5e"], ["0x100490d0", "mov eax, dword ptr [ebp + 8]", "0x10049e60"], ["0x100490d3", "mov edx, dword ptr [ebp - 0x14]", "0x10049e63"], ["0x100490d6", "mov dword ptr [ecx], edx", "0x10049e66"], ["0x100490d8", "mov ecx, dword ptr [ebp - 0x10]", "0x10049e68"], ["0x100490db", "mov ebx, dword ptr [eax + 0xc]", "0x10049e6b"], ["0x100490de", "mov eax, dword ptr [ecx + 4]", "0x10049e6e"]]}]], ["@@ -0x1004910d,22 +0x10049e9d,22 @@", [{"both": [["0x1004910d", "ret 4", "0x10049e9d"], ["0x10049110", "mov edx, dword ptr [ecx]", "0x10049ea0"], ["0x10049112", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edx", "0x10049ea2"], ["0x10049118", "je 0x4", "0x10049ea8"], ["0x1004911a", "mov ecx, edx", "0x10049eaa"], ["0x1004911c", "jmp -0xe", "0x10049eac"], ["0x1004911e", "mov dword ptr [eax], ecx", "0x10049eae"], ["0x10049120", "mov ecx, dword ptr [ebp - 0x10]", "0x10049eb0"], ["0x10049123", "mov eax, dword ptr [ecx + 4]", "0x10049eb3"], ["0x10049126", "lea edx, [eax + 8]", "0x10049eb6"]]}, {"orig": [["0x10049129", "mov eax, dword ptr [eax + 4]"], ["0x1004912c", "mov ecx, dword ptr [eax + 8]"], ["0x1004912f", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ecx"]], "recomp": [["0x10049eb9", "mov ecx, dword ptr [eax + 4]"], ["0x10049ebc", "mov eax, dword ptr [ecx + 8]"], ["0x10049ebf", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10049135", "je 0x4", "0x10049ec5"]]}, {"orig": [["0x10049137", "mov eax, ecx"]], "recomp": [["0x10049ec7", "mov ecx, eax"]]}, {"both": [["0x10049139", "jmp -0xf", "0x10049ec9"]]}, {"orig": [["0x1004913b", "mov dword ptr [edx], eax"]], "recomp": [["0x10049ecb", "mov dword ptr [edx], ecx"]]}, {"both": [["0x1004913d", "jmp -0x45", "0x10049ecd"], ["0x1004913f", "mov eax, <OFFSET6>", "0x10049ecf"], ["0x10049144", "jmp ___CxxFrameHandler (FUNCTION)", "0x10049ed4"], ["0x10049149", "lea ecx, [ebp - 0x11]", "0x10049ed9"], ["0x1004914c", "jmp _Lockit::~_Lockit (FUNCTION)", "0x10049edc"]]}]]]}, {"address": "0x10049160", "recomp": "0x10049ef0", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::erase", "matching": 1.0, "effective": true, "diff": [["@@ -0x10049160,41 +0x10049ef0,41 @@", [{"both": [["0x10049160", "sub esp, 0x10", "0x10049ef0"], ["0x10049163", "push ebx", "0x10049ef3"], ["0x10049164", "push esi", "0x10049ef4"], ["0x10049165", "push edi", "0x10049ef5"], ["0x10049166", "mov esi, ecx", "0x10049ef6"], ["0x10049168", "mov ebx, dword ptr [esp + 0x20]", "0x10049ef8"], ["0x1004916c", "push ebp", "0x10049efc"], ["0x1004916d", "push ebx", "0x10049efd"], ["0x1004916e", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Ubound (FUNCTION)", "0x10049efe"], ["0x10049173", "mov edi, eax", "0x10049f03"]]}, {"orig": [["0x10049175", "mov edx, dword ptr [esi + 4]"], ["0x10049178", "mov ecx, edx"], ["0x1004917a", "mov ebp, dword ptr [edx + 4]"], ["0x1004917d", "cmp ebp, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x10049f05", "mov ecx, dword ptr [esi + 4]"], ["0x10049f08", "mov edx, ecx"], ["0x10049f0a", "mov ebp, dword ptr [ecx + 4]"], ["0x10049f0d", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ebp"]]}, {"both": [["0x10049183", "je 0x19", "0x10049f13"], ["0x10049185", "mov eax, dword ptr [ebx]", "0x10049f15"], ["0x10049187", "cmp dword ptr [ebp + 0xc], eax", "0x10049f17"], ["0x1004918a", "jl 0x7", "0x10049f1a"]]}, {"orig": [["0x1004918c", "mov ecx, ebp"]], "recomp": [["0x10049f1c", "mov edx, ebp"]]}, {"both": [["0x1004918e", "mov ebp, dword ptr [ebp]", "0x10049f1e"], ["0x10049191", "jmp 0x3", "0x10049f21"], ["0x10049193", "mov ebp, dword ptr [ebp + 8]", "0x10049f23"]]}, {"orig": [["0x10049196", "cmp ebp, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x10049f26", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ebp"]]}, {"both": [["0x1004919c", "jne -0x17", "0x10049f2c"]]}, {"orig": [["0x1004919e", "mov ebx, ecx"], ["0x100491a0", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x10049f2e", "mov ebx, edx"], ["0x10049f30", "mov dword ptr [esp + 0x10], edx"]]}, {"both": [["0x100491a4", "mov dword ptr [esp + 0x1c], 0", "0x10049f34"]]}, {"orig": [["0x100491ac", "cmp ecx, edi"]], "recomp": [["0x10049f3c", "cmp edi, edx"]]}, {"both": [["0x100491ae", "je 0x3a", "0x10049f3e"]]}, {"orig": [], "recomp": [["0x10049f40", "inc dword ptr [esp + 0x1c]"]]}, {"both": [["0x100491b0", "mov eax, dword ptr [ebx + 8]", "0x10049f44"]]}, {"orig": [["0x100491b3", "inc dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x100491b7", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], eax", "0x10049f47"], ["0x100491bd", "je 0xe", "0x10049f4d"], ["0x100491bf", "mov ebx, dword ptr [eax]", "0x10049f4f"], ["0x100491c1", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ebx", "0x10049f51"], ["0x100491c7", "je 0x1b", "0x10049f57"], ["0x100491c9", "mov eax, ebx", "0x10049f59"], ["0x100491cb", "jmp -0xe", "0x10049f5b"], ["0x100491cd", "mov eax, dword ptr [ebx + 4]", "0x10049f5d"], ["0x100491d0", "cmp dword ptr [eax + 8], ebx", "0x10049f60"], ["0x100491d3", "jne 0xa", "0x10049f63"]]}]], ["@@ -0x100491dd,25 +0x10049f6d,25 @@", [{"both": [["0x100491dd", "je -0xa", "0x10049f6d"], ["0x100491df", "cmp dword ptr [ebx + 8], eax", "0x10049f6f"], ["0x100491e2", "je 0x2", "0x10049f72"], ["0x100491e4", "mov ebx, eax", "0x10049f74"], ["0x100491e6", "cmp ebx, edi", "0x10049f76"], ["0x100491e8", "jne -0x3a", "0x10049f78"], ["0x100491ea", "cmp dword ptr [esi + 0xc], 0", "0x10049f7a"], ["0x100491ee", "mov eax, dword ptr [esp + 0x10]", "0x10049f7e"], ["0x100491f2", "mov dword ptr [esp + 0x14], eax", "0x10049f82"], ["0x100491f6", "je 0x4f", "0x10049f86"]]}, {"orig": [["0x100491f8", "cmp dword ptr [edx], ecx"]], "recomp": [["0x10049f88", "cmp dword ptr [ecx], edx"]]}, {"both": [["0x100491fa", "jne 0x4b", "0x10049f8a"]]}, {"orig": [["0x100491fc", "cmp edi, edx"]], "recomp": [["0x10049f8c", "cmp edi, ecx"]]}, {"both": [["0x100491fe", "jne 0x47", "0x10049f8e"]]}, {"orig": [["0x10049200", "mov edi, dword ptr [edx + 4]"]], "recomp": [["0x10049f90", "mov edi, dword ptr [ecx + 4]"]]}, {"both": [["0x10049203", "mov ebx, edi", "0x10049f93"], ["0x10049205", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ebx", "0x10049f95"], ["0x1004920b", "je 0x1a", "0x10049f9b"], ["0x1004920d", "mov eax, dword ptr [ebx + 8]", "0x10049f9d"], ["0x10049210", "mov ecx, esi", "0x10049fa0"], ["0x10049212", "push eax", "0x10049fa2"], ["0x10049213", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Erase (FUNCTION)", "0x10049fa3"], ["0x10049218", "mov ebx, dword ptr [ebx]", "0x10049fa8"], ["0x1004921a", "push edi", "0x10049faa"], ["0x1004921b", "mov edi, ebx", "0x10049fab"]]}]], ["@@ -0x10049225,31 +0x10049fb5,31 @@", [{"both": [["0x10049225", "jmp -0x22", "0x10049fb5"], ["0x10049227", "mov ecx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]", "0x10049fb7"], ["0x1004922d", "mov eax, dword ptr [esi + 4]", "0x10049fbd"], ["0x10049230", "mov dword ptr [eax + 4], ecx", "0x10049fc0"], ["0x10049233", "mov eax, dword ptr [esi + 4]", "0x10049fc3"], ["0x10049236", "mov dword ptr [esi + 0xc], 0", "0x10049fc6"], ["0x1004923d", "mov dword ptr [eax], eax", "0x10049fcd"], ["0x1004923f", "mov eax, dword ptr [esi + 4]", "0x10049fcf"], ["0x10049242", "mov dword ptr [eax + 8], eax", "0x10049fd2"], ["0x10049245", "jmp 0x2c", "0x10049fd5"]]}, {"orig": [["0x10049247", "cmp ecx, edi"]], "recomp": [["0x10049fd7", "cmp edi, edx"]]}, {"both": [["0x10049249", "je 0x28", "0x10049fd9"], ["0x1004924b", "mov eax, dword ptr [esp + 0x14]", "0x10049fdb"], ["0x1004924f", "lea ecx, [esp + 0x14]", "0x10049fdf"], ["0x10049253", "mov dword ptr [esp + 0x10], eax", "0x10049fe3"], ["0x10049257", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::iterator::_Inc (FUNCTION)", "0x10049fe7"], ["0x1004925c", "mov eax, dword ptr [esp + 0x10]", "0x10049fec"], ["0x10049260", "lea ecx, [esp + 0x18]", "0x10049ff0"], ["0x10049264", "push eax", "0x10049ff4"], ["0x10049265", "push ecx", "0x10049ff5"], ["0x10049266", "mov ecx, esi", "0x10049ff6"], ["0x10049268", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::erase (FUNCTION)", "0x10049ff8"]]}, {"orig": [["0x1004926d", "cmp dword ptr [esp + 0x14], edi"]], "recomp": [["0x10049ffd", "cmp edi, dword ptr [esp + 0x14]"]]}, {"both": [["0x10049271", "jne -0x28", "0x1004a001"], ["0x10049273", "mov eax, dword ptr [esp + 0x1c]", "0x1004a003"], ["0x10049277", "pop ebp", "0x1004a007"], ["0x10049278", "pop edi", "0x1004a008"], ["0x10049279", "pop esi", "0x1004a009"], ["0x1004927a", "pop ebx", "0x1004a00a"], ["0x1004927b", "add esp, 0x10", "0x1004a00b"], ["0x1004927e", "ret 4", "0x1004a00e"]]}]]]}, {"address": "0x10049290", "recomp": "0x1004a020", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::find", "matching": 0.7058823529411765, "diff": [["@@ -0x10049290,32 +0x1004a020,32 @@", [{"both": [["0x10049290", "sub esp, 8", "0x1004a020"]]}, {"orig": [], "recomp": [["0x1004a023", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x10049293", "push esi", "0x1004a027"], ["0x10049294", "push edi", "0x1004a028"], ["0x10049295", "mov esi, dword ptr [ecx + 4]", "0x1004a029"]]}, {"orig": [["0x10049298", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x1004929c", "mov edi, esi", "0x1004a02c"]]}, {"orig": [["0x1004929e", "mov edx, dword ptr [esi + 4]"], ["0x100492a1", "cmp edx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x1004a02e", "mov ecx, dword ptr [esi + 4]"], ["0x1004a031", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x100492a7", "je 0x18", "0x1004a037"]]}, {"orig": [["0x100492a9", "mov eax, dword ptr [ecx]"], ["0x100492ab", "cmp dword ptr [edx + 0xc], eax"]], "recomp": [["0x1004a039", "mov edx, dword ptr [eax]"], ["0x1004a03b", "cmp dword ptr [ecx + 0xc], edx"]]}, {"both": [["0x100492ae", "jl 0x6", "0x1004a03e"]]}, {"orig": [["0x100492b0", "mov edi, edx"], ["0x100492b2", "mov edx, dword ptr [edx]"]], "recomp": [["0x1004a040", "mov edi, ecx"], ["0x1004a042", "mov ecx, dword ptr [ecx]"]]}, {"both": [["0x100492b4", "jmp 0x3", "0x1004a044"]]}, {"orig": [["0x100492b6", "mov edx, dword ptr [edx + 8]"], ["0x100492b9", "cmp edx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x1004a046", "mov ecx, dword ptr [ecx + 8]"], ["0x1004a049", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x100492bf", "jne -0x16", "0x1004a04f"], ["0x100492c1", "mov dword ptr [esp + 8], edi", "0x1004a051"], ["0x100492c5", "cmp edi, esi", "0x1004a055"], ["0x100492c7", "je 0xb", "0x1004a057"]]}, {"orig": [["0x100492c9", "mov eax, dword ptr [ecx]"]], "recomp": [["0x1004a059", "mov eax, dword ptr [eax]"]]}, {"both": [["0x100492cb", "cmp dword ptr [edi + 0xc], eax", "0x1004a05b"], ["0x100492ce", "lea eax, [esp + 8]", "0x1004a05e"], ["0x100492d2", "jle 0x8", "0x1004a062"], ["0x100492d4", "lea eax, [esp + 0xc]", "0x1004a064"], ["0x100492d8", "mov dword ptr [esp + 0xc], esi", "0x1004a068"], ["0x100492dc", "mov ecx, dword ptr [eax]", "0x1004a06c"], ["0x100492de", "mov eax, dword ptr [esp + 0x14]", "0x1004a06e"], ["0x100492e2", "pop edi", "0x1004a072"], ["0x100492e3", "pop esi", "0x1004a073"], ["0x100492e4", "mov dword ptr [eax], ecx", "0x1004a074"]]}]]]}, {"address": "0x100492f0", "recomp": "0x1004a080", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Copy", "matching": 0.6304347826086957, "diff": [["@@ -0x100492f0,46 +0x1004a080,46 @@", [{"both": [["0x100492f0", "sub esp, 8", "0x1004a080"], ["0x100492f3", "mov dword ptr [esp + 4], ecx", "0x1004a083"], ["0x100492f7", "push ebx", "0x1004a087"]]}, {"orig": [["0x100492f8", "mov ebx, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x100492fc", "push esi", "0x1004a088"]]}, {"orig": [["0x100492fd", "mov dword ptr [esp + 8], ebx"]], "recomp": []}, {"both": [["0x10049301", "push edi", "0x1004a089"]]}, {"orig": [["0x10049302", "mov edi, dword ptr [esp + 0x1c]"]], "recomp": [["0x1004a08a", "mov esi, dword ptr [esp + 0x18]"]]}, {"both": [["0x10049306", "push ebp", "0x1004a08e"]]}, {"orig": [["0x10049307", "cmp ebx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x1004a08f", "mov edi, dword ptr [esp + 0x20]"], ["0x1004a093", "mov dword ptr [esp + 0x10], esi"], ["0x1004a097", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], esi"]]}, {"both": [["0x1004930d", "je 0x4a", "0x1004a09d"]]}, {"orig": [["0x1004930f", "mov ebp, dword ptr [ebx + 0x10]"]], "recomp": [["0x1004a09f", "mov ebp, dword ptr [esi + 0x10]"]]}, {"both": [["0x10049312", "push 0x14", "0x1004a0a2"], ["0x10049314", "call ??2@YAPAXI@Z (FUNCTION)", "0x1004a0a4"], ["0x10049319", "mov dword ptr [eax + 4], edi", "0x1004a0a9"], ["0x1004931c", "add esp, 4", "0x1004a0ac"], ["0x1004931f", "mov dword ptr [eax + 0x10], ebp", "0x1004a0af"]]}, {"orig": [["0x10049322", "mov esi, eax"], ["0x10049324", "cmp ebx, dword ptr [esp + 0x10]"]], "recomp": [["0x1004a0b2", "mov ebx, eax"], ["0x1004a0b4", "cmp dword ptr [esp + 0x10], esi"]]}, {"both": [["0x10049328", "jne 0x4", "0x1004a0b8"]]}, {"orig": [["0x1004932a", "mov dword ptr [esp + 0x10], esi"], ["0x1004932e", "push esi"], ["0x1004932f", "mov eax, dword ptr [ebx + 8]"]], "recomp": [["0x1004a0ba", "mov dword ptr [esp + 0x10], ebx"], ["0x1004a0be", "push ebx"], ["0x1004a0bf", "mov eax, dword ptr [esi + 8]"]]}, {"both": [["0x10049332", "mov ecx, dword ptr [esp + 0x18]", "0x1004a0c2"], ["0x10049336", "push eax", "0x1004a0c6"], ["0x10049337", "call _Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Copy (FUNCTION)", "0x1004a0c7"]]}, {"orig": [["0x1004933c", "mov dword ptr [esi + 8], eax"], ["0x1004933f", "lea eax, [esi + 0xc]"]], "recomp": [["0x1004a0cc", "mov dword ptr [ebx + 8], eax"], ["0x1004a0cf", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x10049342", "test eax, eax", "0x1004a0d2"], ["0x10049344", "je 0x5", "0x1004a0d4"]]}, {"orig": [["0x10049346", "mov ecx, dword ptr [ebx + 0xc]"]], "recomp": [["0x1004a0d6", "mov ecx, dword ptr [esi + 0xc]"]]}, {"both": [["0x10049349", "mov dword ptr [eax], ecx", "0x1004a0d9"]]}, {"orig": [["0x1004934b", "mov dword ptr [edi], esi"], ["0x1004934d", "mov edi, esi"], ["0x1004934f", "mov ebx, dword ptr [ebx]"], ["0x10049351", "cmp ebx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x1004a0db", "mov dword ptr [edi], ebx"], ["0x1004a0dd", "mov edi, ebx"], ["0x1004a0df", "mov esi, dword ptr [esi]"], ["0x1004a0e1", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], esi"]]}, {"both": [["0x10049357", "jne -0x4a", "0x1004a0e7"], ["0x10049359", "mov eax, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]", "0x1004a0e9"], ["0x1004935e", "mov dword ptr [edi], eax", "0x1004a0ee"], ["0x10049360", "mov eax, dword ptr [esp + 0x10]", "0x1004a0f0"], ["0x10049364", "pop ebp", "0x1004a0f4"], ["0x10049365", "pop edi", "0x1004a0f5"], ["0x10049366", "pop esi", "0x1004a0f6"], ["0x10049367", "pop ebx", "0x1004a0f7"], ["0x10049368", "add esp, 8", "0x1004a0f8"], ["0x1004936b", "ret 8", "0x1004a0fb"]]}]]]}, {"address": "0x10049370", "recomp": "0x1004a100", "name": "_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Ubound", "matching": 1.0, "effective": true, "diff": [["@@ -0x10049370,15 +0x1004a100,15 @@", [{"both": [["0x10049370", "mov eax, dword ptr [ecx + 4]", "0x1004a100"], ["0x10049373", "mov edx, dword ptr [eax + 4]", "0x1004a103"]]}, {"orig": [["0x10049376", "cmp edx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x1004a106", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edx"]]}, {"both": [["0x1004937c", "je 0x1c", "0x1004a10c"], ["0x1004937e", "mov ecx, dword ptr [esp + 4]", "0x1004a10e"], ["0x10049382", "mov ecx, dword ptr [ecx]", "0x1004a112"], ["0x10049384", "cmp dword ptr [edx + 0xc], ecx", "0x1004a114"], ["0x10049387", "jle 0x6", "0x1004a117"], ["0x10049389", "mov eax, edx", "0x1004a119"], ["0x1004938b", "mov edx, dword ptr [edx]", "0x1004a11b"], ["0x1004938d", "jmp 0x3", "0x1004a11d"], ["0x1004938f", "mov edx, dword ptr [edx + 8]", "0x1004a11f"]]}, {"orig": [["0x10049392", "cmp edx, dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)]"]], "recomp": [["0x1004a122", "cmp dword ptr [_Tree<LegoPathCtrlEdge *,LegoPathCtrlEdge *,set<LegoPathCtrlEdge *,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Kfn,LegoPathCtrlEdgeCompare,allocator<LegoPathCtrlEdge *> >::_Nil (DATA)], edx"]]}, {"both": [["0x10049398", "jne -0x16", "0x1004a128"], ["0x1004939a", "ret 4", "0x1004a12a"]]}]]]}, {"address": "0x100493a0", "recomp": "0x1004a1f0", "name": "list<LegoBEWithFloat,allocator<LegoBEWithFloat> >::~list<LegoBEWithFloat,allocator<LegoBEWithFloat> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x100493a0,19 +0x1004a1f0,19 @@", [{"both": [["0x100493a0", "sub esp, 0xc", "0x1004a1f0"], ["0x100493a3", "push esi", "0x1004a1f3"], ["0x100493a4", "push edi", "0x1004a1f4"], ["0x100493a5", "mov eax, dword ptr [ecx + 4]", "0x1004a1f5"], ["0x100493a8", "mov esi, ecx", "0x1004a1f8"], ["0x100493aa", "mov dword ptr [esp + 0x10], eax", "0x1004a1fa"], ["0x100493ae", "mov ecx, dword ptr [eax]", "0x1004a1fe"], ["0x100493b0", "mov edi, ecx", "0x1004a200"]]}, {"orig": [["0x100493b2", "cmp ecx, eax"]], "recomp": [["0x1004a202", "cmp eax, ecx"]]}, {"both": [["0x100493b4", "je 0x2e", "0x1004a204"], ["0x100493b6", "lea edx, [edi + 4]", "0x1004a206"], ["0x100493b9", "mov dword ptr [esp + 8], edi", "0x1004a209"], ["0x100493bd", "mov eax, edi", "0x1004a20d"], ["0x100493bf", "mov edi, dword ptr [edi]", "0x1004a20f"], ["0x100493c1", "mov ecx, dword ptr [edx]", "0x1004a211"], ["0x100493c3", "mov eax, dword ptr [eax]", "0x1004a213"], ["0x100493c5", "mov dword ptr [ecx], eax", "0x1004a215"], ["0x100493c7", "mov ecx, dword ptr [edx]", "0x1004a217"], ["0x100493c9", "mov eax, dword ptr [esp + 8]", "0x1004a219"]]}]]]}, {"address": "0x10049410", "recomp": "0x1004a260", "name": "list<LegoBEWithFloat,allocator<LegoBEWithFloat> >::insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x10049410,28 +0x1004a260,28 @@", [{"both": [["0x10049410", "push ebx", "0x1004a260"], ["0x10049411", "push esi", "0x1004a261"], ["0x10049412", "push edi", "0x1004a262"], ["0x10049413", "mov esi, ecx", "0x1004a263"]]}, {"orig": [["0x10049415", "mov ebx, dword ptr [esp + 0x14]"]], "recomp": [["0x1004a265", "mov edi, dword ptr [esp + 0x14]"]]}, {"both": [["0x10049419", "push 0x18", "0x1004a269"]]}, {"orig": [["0x1004941b", "mov edi, dword ptr [ebx + 4]"]], "recomp": [["0x1004a26b", "mov ebx, dword ptr [edi + 4]"]]}, {"both": [["0x1004941e", "call ??2@YAPAXI@Z (FUNCTION)", "0x1004a26e"], ["0x10049423", "add esp, 4", "0x1004a273"]]}, {"orig": [["0x10049426", "test edi, edi"]], "recomp": [["0x1004a276", "test ebx, ebx"]]}, {"both": [["0x10049428", "je 0x7", "0x1004a278"]]}, {"orig": [["0x1004942a", "mov dword ptr [eax], ebx"], ["0x1004942c", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x1004a27a", "mov dword ptr [eax], edi"], ["0x1004a27c", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x1004942f", "jmp 0x5", "0x1004a27f"], ["0x10049431", "mov dword ptr [eax], eax", "0x1004a281"], ["0x10049433", "mov dword ptr [eax + 4], eax", "0x1004a283"], ["0x10049436", "lea edx, [eax + 8]", "0x1004a286"]]}, {"orig": [["0x10049439", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1004a289", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1004943c", "mov ecx, dword ptr [eax + 4]", "0x1004a28c"], ["0x1004943f", "test edx, edx", "0x1004a28f"], ["0x10049441", "mov dword ptr [ecx], eax", "0x1004a291"], ["0x10049443", "je 0x1a", "0x1004a293"], ["0x10049445", "mov edi, dword ptr [esp + 0x18]", "0x1004a295"], ["0x10049449", "mov ecx, dword ptr [edi]", "0x1004a299"], ["0x1004944b", "mov dword ptr [edx], ecx", "0x1004a29b"], ["0x1004944d", "mov ebx, dword ptr [edi + 4]", "0x1004a29d"], ["0x10049450", "mov dword ptr [edx + 4], ebx", "0x1004a2a0"], ["0x10049453", "mov ecx, dword ptr [edi + 8]", "0x1004a2a3"]]}]]]}, {"address": "0x10049470", "recomp": "0x1004a2c0", "name": "list<LegoBEWithFloat,allocator<LegoBEWithFloat> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100494a0", "recomp": "0x1004a2f0", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x100494a0,16 +0x1004a2f0,16 @@", [{"both": [["0x100494a0", "mov eax, dword ptr [ecx]", "0x1004a2f0"], ["0x100494a2", "mov edx, dword ptr [eax + 8]", "0x1004a2f2"]]}, {"orig": [["0x100494a5", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], edx"]], "recomp": [["0x1004a2f5", "cmp edx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x100494ab", "je 0x11", "0x1004a2fb"], ["0x100494ad", "mov eax, dword ptr [edx]", "0x1004a2fd"]]}, {"orig": [["0x100494af", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004a2ff", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x100494b5", "je 0x4", "0x1004a305"], ["0x100494b7", "mov edx, eax", "0x1004a307"], ["0x100494b9", "jmp -0xe", "0x1004a309"], ["0x100494bb", "mov dword ptr [ecx], edx", "0x1004a30b"], ["0x100494bd", "ret ", "0x1004a30d"], ["0x100494be", "mov edx, dword ptr [eax + 4]", "0x1004a30e"], ["0x100494c1", "cmp dword ptr [edx + 8], eax", "0x1004a311"], ["0x100494c4", "jne 0xc", "0x1004a314"], ["0x100494c6", "mov dword ptr [ecx], edx", "0x1004a316"], ["0x100494c8", "mov eax, edx", "0x1004a318"]]}]]]}, {"address": "0x100494e0", "recomp": "0x1004a3f0", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::~_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFlo", "matching": 0.8939393939393939, "diff": [["@@ -0x100494ec,31 +0x1004a3fc,31 @@", [{"both": [["0x100494ec", "mov ecx, dword ptr [esi + 4]", "0x1004a3fc"], ["0x100494ef", "mov dword ptr [esp + 0x10], ecx", "0x1004a3ff"], ["0x100494f3", "mov eax, dword ptr [ecx]", "0x1004a403"], ["0x100494f5", "mov dword ptr [esp + 0xc], eax", "0x1004a405"], ["0x100494f9", "mov dword ptr [esp + 0x14], eax", "0x1004a409"], ["0x100494fd", "je 0x4e", "0x1004a40d"], ["0x100494ff", "cmp dword ptr [ecx], eax", "0x1004a40f"], ["0x10049501", "jne 0x4a", "0x1004a411"], ["0x10049503", "cmp ecx, ecx", "0x1004a413"], ["0x10049505", "jne 0x46", "0x1004a415"]]}, {"orig": [["0x10049507", "mov edi, dword ptr [ecx + 4]"], ["0x1004950a", "mov ebx, edi"], ["0x1004950c", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1004a417", "mov ebx, dword ptr [ecx + 4]"], ["0x1004a41a", "mov edi, ebx"], ["0x1004a41c", "cmp edi, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049512", "je 0x1a", "0x1004a422"]]}, {"orig": [["0x10049514", "mov eax, dword ptr [ebx + 8]"]], "recomp": [["0x1004a424", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x10049517", "mov ecx, esi", "0x1004a427"], ["0x10049519", "push eax", "0x1004a429"], ["0x1004951a", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Erase (FUNCTION)", "0x1004a42a"]]}, {"orig": [["0x1004951f", "mov ebx, dword ptr [ebx]"], ["0x10049521", "push edi"], ["0x10049522", "mov edi, ebx"]], "recomp": [["0x1004a42f", "mov edi, dword ptr [edi]"], ["0x1004a431", "push ebx"], ["0x1004a432", "mov ebx, edi"]]}, {"both": [["0x10049524", "call ??3@YAXPAX@Z (FUNCTION)", "0x1004a434"], ["0x10049529", "add esp, 4", "0x1004a439"], ["0x1004952c", "jmp -0x22", "0x1004a43c"], ["0x1004952e", "mov eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]", "0x1004a43e"], ["0x10049533", "mov ecx, dword ptr [esi + 4]", "0x1004a443"], ["0x10049536", "mov dword ptr [ecx + 4], eax", "0x1004a446"], ["0x10049539", "mov eax, dword ptr [esi + 4]", "0x1004a449"], ["0x1004953c", "mov dword ptr [esi + 0xc], 0", "0x1004a44c"], ["0x10049543", "mov dword ptr [eax], eax", "0x1004a453"], ["0x10049545", "mov eax, dword ptr [esi + 4]", "0x1004a455"]]}]]]}, {"address": "0x100495b0", "recomp": "0x1004a4c0", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::insert", "matching": 0.6531531531531531, "diff": [["@@ -0x100495b0,76 +0x1004a4c0,76 @@", [{"both": [["0x100495b0", "sub esp, 0xc", "0x1004a4c0"], ["0x100495b3", "push ebx", "0x1004a4c3"], ["0x100495b4", "push esi", "0x1004a4c4"], ["0x100495b5", "push edi", "0x1004a4c5"]]}, {"orig": [["0x100495b6", "mov esi, ecx"]], "recomp": [["0x1004a4c6", "mov eax, 1"]]}, {"both": [["0x100495b8", "push ebp", "0x1004a4cb"]]}, {"orig": [["0x100495b9", "mov eax, 1"], ["0x100495be", "mov ecx, dword ptr [esi + 4]"], ["0x100495c1", "mov ebp, ecx"], ["0x100495c3", "mov ebx, dword ptr [ecx + 4]"], ["0x100495c6", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"], ["0x100495cc", "je 0x34"]], "recomp": [["0x1004a4cc", "mov edi, ecx"], ["0x1004a4ce", "mov ecx, dword ptr [ecx + 4]"], ["0x1004a4d1", "mov ebx, ecx"], ["0x1004a4d3", "mov ebp, dword ptr [ecx + 4]"], ["0x1004a4d6", "cmp ebp, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"], ["0x1004a4dc", "je 0x35"]]}, {"both": [["0x100495ce", "mov eax, dword ptr [esp + 0x24]", "0x1004a4de"], ["0x100495d2", "mov edx, dword ptr [eax]", "0x1004a4e2"], ["0x100495d4", "add edx, 0xc", "0x1004a4e4"]]}, {"orig": [["0x100495d7", "mov ebp, ebx"], ["0x100495d9", "mov eax, dword ptr [ebx + 0xc]"]], "recomp": [["0x1004a4e7", "mov ebx, ebp"], ["0x1004a4e9", "mov eax, dword ptr [ebp + 0xc]"]]}, {"both": [["0x100495dc", "fld dword ptr [eax + 0xc]", "0x1004a4ec"], ["0x100495df", "fcomp dword ptr [edx]", "0x1004a4ef"], ["0x100495e1", "fnstsw ax", "0x1004a4f1"], ["0x100495e3", "test ah, 0x41", "0x1004a4f3"], ["0x100495e6", "mov eax, 1", "0x1004a4f6"], ["0x100495eb", "je 0x2", "0x1004a4fb"], ["0x100495ed", "xor eax, eax", "0x1004a4fd"], ["0x100495ef", "test eax, eax", "0x1004a4ff"], ["0x100495f1", "jne 0x5", "0x1004a501"]]}, {"orig": [["0x100495f3", "mov ebx, dword ptr [ebx + 8]"], ["0x100495f6", "jmp 0x2"], ["0x100495f8", "mov ebx, dword ptr [ebx]"], ["0x100495fa", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"], ["0x10049600", "jne -0x2b"], ["0x10049602", "cmp dword ptr [esi + 8], 0"]], "recomp": [["0x1004a503", "mov ebp, dword ptr [ebp + 8]"], ["0x1004a506", "jmp 0x3"], ["0x1004a508", "mov ebp, dword ptr [ebp]"], ["0x1004a50b", "cmp ebp, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"], ["0x1004a511", "jne -0x2c"], ["0x1004a513", "cmp dword ptr [edi + 8], 0"]]}, {"both": [["0x10049606", "je 0x34", "0x1004a517"], ["0x10049608", "mov eax, dword ptr [esp + 0x24]", "0x1004a519"], ["0x1004960c", "lea ecx, [esp + 0x14]", "0x1004a51d"], ["0x10049610", "mov dword ptr [esp + 0x10], 1", "0x1004a521"], ["0x10049618", "push eax", "0x1004a529"]]}, {"orig": [], "recomp": [["0x1004a52a", "push ebx"]]}, {"both": [["0x10049619", "push ebp", "0x1004a52b"]]}, {"orig": [["0x1004961a", "push ebx"]], "recomp": []}, {"both": [["0x1004961b", "push ecx", "0x1004a52c"]]}, {"orig": [["0x1004961c", "mov ecx, esi"]], "recomp": [["0x1004a52d", "mov ecx, edi"]]}, {"both": [["0x1004961e", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Insert (FUNCTION)", "0x1004a52f"], ["0x10049623", "mov ecx, dword ptr [eax]", "0x1004a534"], ["0x10049625", "mov eax, dword ptr [esp + 0x20]", "0x1004a536"], ["0x10049629", "mov dword ptr [eax], ecx", "0x1004a53a"], ["0x1004962b", "mov edx, dword ptr [esp + 0x10]", "0x1004a53c"], ["0x1004962f", "pop ebp", "0x1004a540"], ["0x10049630", "pop edi", "0x1004a541"], ["0x10049631", "mov dword ptr [eax + 4], edx", "0x1004a542"], ["0x10049634", "pop esi", "0x1004a545"], ["0x10049635", "pop ebx", "0x1004a546"], ["0x10049636", "add esp, 0xc", "0x1004a547"], ["0x10049639", "ret 8", "0x1004a54a"]]}, {"orig": [["0x1004963c", "mov dword ptr [esp + 0x18], ebp"]], "recomp": [["0x1004a54d", "mov dword ptr [esp + 0x18], ebx"]]}, {"both": [["0x10049640", "test eax, eax", "0x1004a551"], ["0x10049642", "je 0x41", "0x1004a553"]]}, {"orig": [["0x10049644", "cmp dword ptr [ecx], ebp"]], "recomp": [["0x1004a555", "cmp dword ptr [ecx], ebx"]]}, {"both": [["0x10049646", "jne 0x34", "0x1004a557"], ["0x10049648", "mov eax, dword ptr [esp + 0x24]", "0x1004a559"], ["0x1004964c", "lea ecx, [esp + 0x14]", "0x1004a55d"], ["0x10049650", "mov dword ptr [esp + 0x10], 1", "0x1004a561"], ["0x10049658", "push eax", "0x1004a569"]]}, {"orig": [], "recomp": [["0x1004a56a", "push ebx"]]}, {"both": [["0x10049659", "push ebp", "0x1004a56b"]]}, {"orig": [["0x1004965a", "push ebx"]], "recomp": []}, {"both": [["0x1004965b", "push ecx", "0x1004a56c"]]}, {"orig": [["0x1004965c", "mov ecx, esi"]], "recomp": [["0x1004a56d", "mov ecx, edi"]]}, {"both": [["0x1004965e", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Insert (FUNCTION)", "0x1004a56f"], ["0x10049663", "mov ecx, dword ptr [eax]", "0x1004a574"], ["0x10049665", "mov eax, dword ptr [esp + 0x20]", "0x1004a576"], ["0x10049669", "mov dword ptr [eax], ecx", "0x1004a57a"], ["0x1004966b", "mov edx, dword ptr [esp + 0x10]", "0x1004a57c"], ["0x1004966f", "pop ebp", "0x1004a580"], ["0x10049670", "pop edi", "0x1004a581"], ["0x10049671", "mov dword ptr [eax + 4], edx", "0x1004a582"], ["0x10049674", "pop esi", "0x1004a585"], ["0x10049675", "pop ebx", "0x1004a586"]]}]], ["@@ -0x1004967c,136 +0x1004a58d,136 @@", [{"both": [["0x1004967c", "lea ecx, [esp + 0x18]", "0x1004a58d"], ["0x10049680", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::iterator::_Dec (FUNCTION)", "0x1004a591"], ["0x10049685", "mov eax, dword ptr [esp + 0x18]", "0x1004a596"], ["0x10049689", "mov edx, dword ptr [esp + 0x24]", "0x1004a59a"], ["0x1004968d", "mov ecx, dword ptr [eax + 0xc]", "0x1004a59e"], ["0x10049690", "mov eax, dword ptr [edx]", "0x1004a5a1"], ["0x10049692", "fld dword ptr [ecx + 0xc]", "0x1004a5a3"], ["0x10049695", "fcomp dword ptr [eax + 0xc]", "0x1004a5a6"], ["0x10049698", "fnstsw ax", "0x1004a5a9"], ["0x1004969a", "test ah, 1", "0x1004a5ab"]]}, {"orig": [["0x1004969d", "je 0x17a"]], "recomp": [["0x1004a5ae", "je 0x179"]]}, {"both": [["0x100496a3", "push 0", "0x1004a5b4"]]}, {"orig": [["0x100496a5", "mov ecx, esi"]], "recomp": [["0x1004a5b6", "mov ecx, edi"]]}, {"both": [["0x100496a7", "mov dword ptr [esp + 0x14], 1", "0x1004a5b8"]]}, {"orig": [["0x100496af", "push ebp"]], "recomp": [["0x1004a5c0", "push ebx"]]}, {"both": [["0x100496b0", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Buynode (FUNCTION)", "0x1004a5c1"]]}, {"orig": [["0x100496b5", "mov edi, eax"]], "recomp": [["0x1004a5c6", "mov esi, eax"]]}, {"both": [["0x100496b7", "mov ecx, dword ptr [esp + 0x24]", "0x1004a5c8"], ["0x100496bb", "mov eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]", "0x1004a5cc"], ["0x100496c0", "push ecx", "0x1004a5d1"]]}, {"orig": [["0x100496c1", "lea edx, [edi + 0xc]"], ["0x100496c4", "mov dword ptr [edi], eax"]], "recomp": [["0x1004a5d2", "lea edx, [esi + 0xc]"], ["0x1004a5d5", "mov dword ptr [esi], eax"]]}, {"both": [["0x100496c6", "mov eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]", "0x1004a5d7"], ["0x100496cb", "push edx", "0x1004a5dc"]]}, {"orig": [["0x100496cc", "mov dword ptr [edi + 8], eax"]], "recomp": [["0x1004a5dd", "mov dword ptr [esi + 8], eax"]]}, {"both": [["0x100496cf", "call _Construct (FUNCTION)", "0x1004a5e0"], ["0x100496d4", "add esp, 8", "0x1004a5e5"]]}, {"orig": [["0x100496d7", "inc dword ptr [esi + 0xc]"], ["0x100496da", "cmp dword ptr [esi + 4], ebp"]], "recomp": [["0x1004a5e8", "inc dword ptr [edi + 0xc]"], ["0x1004a5eb", "cmp dword ptr [edi + 4], ebx"]]}, {"both": [["0x100496dd", "je 0x2f", "0x1004a5ee"]]}, {"orig": [["0x100496df", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1004a5f0", "cmp ebp, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x100496e5", "jne 0x27", "0x1004a5f6"]]}, {"orig": [["0x100496e7", "mov eax, dword ptr [ebp + 0xc]"]], "recomp": [["0x1004a5f8", "mov eax, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100496ea", "mov ecx, dword ptr [esp + 0x24]", "0x1004a5fb"], ["0x100496ee", "fld dword ptr [eax + 0xc]", "0x1004a5ff"], ["0x100496f1", "mov edx, dword ptr [ecx]", "0x1004a602"], ["0x100496f3", "fcomp dword ptr [edx + 0xc]", "0x1004a604"], ["0x100496f6", "fnstsw ax", "0x1004a607"], ["0x100496f8", "test ah, 0x41", "0x1004a609"], ["0x100496fb", "je 0x11", "0x1004a60c"]]}, {"orig": [["0x100496fd", "mov dword ptr [ebp + 8], edi"], ["0x10049700", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x1004a60e", "mov dword ptr [ebx + 8], esi"], ["0x1004a611", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x10049703", "add eax, 8", "0x1004a614"]]}, {"orig": [["0x10049706", "cmp dword ptr [eax], ebp"], ["0x10049708", "jne 0x1f"], ["0x1004970a", "mov dword ptr [eax], edi"], ["0x1004970c", "jmp 0x1b"], ["0x1004970e", "mov dword ptr [ebp], edi"], ["0x10049711", "mov eax, dword ptr [esi + 4]"], ["0x10049714", "cmp ebp, eax"]], "recomp": [["0x1004a617", "cmp dword ptr [eax], ebx"], ["0x1004a619", "jne 0x1e"], ["0x1004a61b", "mov dword ptr [eax], esi"], ["0x1004a61d", "jmp 0x1a"], ["0x1004a61f", "mov dword ptr [ebx], esi"], ["0x1004a621", "mov eax, dword ptr [edi + 4]"], ["0x1004a624", "cmp ebx, eax"]]}, {"both": [["0x10049716", "je 0x8", "0x1004a626"]]}, {"orig": [["0x10049718", "cmp dword ptr [eax], ebp"]], "recomp": [["0x1004a628", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1004971a", "jne 0xd", "0x1004a62a"]]}, {"orig": [["0x1004971c", "mov dword ptr [eax], edi"]], "recomp": [["0x1004a62c", "mov dword ptr [eax], esi"]]}, {"both": [["0x1004971e", "jmp 0x9", "0x1004a62e"]]}, {"orig": [["0x10049720", "mov dword ptr [eax + 4], edi"], ["0x10049723", "mov eax, dword ptr [esi + 4]"], ["0x10049726", "mov dword ptr [eax + 8], edi"], ["0x10049729", "mov ebx, edi"], ["0x1004972b", "mov eax, dword ptr [esi + 4]"], ["0x1004972e", "cmp dword ptr [eax + 4], edi"]], "recomp": [["0x1004a630", "mov dword ptr [eax + 4], esi"], ["0x1004a633", "mov eax, dword ptr [edi + 4]"], ["0x1004a636", "mov dword ptr [eax + 8], esi"], ["0x1004a639", "mov ebx, esi"], ["0x1004a63b", "mov eax, dword ptr [edi + 4]"], ["0x1004a63e", "cmp dword ptr [eax + 4], esi"]]}, {"both": [["0x10049731", "je 0xc2", "0x1004a641"], ["0x10049737", "lea ecx, [ebx + 4]", "0x1004a647"]]}, {"orig": [["0x1004973a", "mov ebp, dword ptr [ecx]"], ["0x1004973c", "lea edx, [ebp + 0x10]"], ["0x1004973f", "cmp dword ptr [edx], 0"]], "recomp": [["0x1004a64a", "mov edx, dword ptr [ecx]"], ["0x1004a64c", "lea eax, [edx + 0x10]"], ["0x1004a64f", "cmp dword ptr [eax], 0"]]}, {"both": [["0x10049742", "jne 0xb1", "0x1004a652"]]}, {"orig": [["0x10049748", "mov eax, dword ptr [ebp + 4]"], ["0x1004974b", "mov eax, dword ptr [eax]"], ["0x1004974d", "cmp eax, ebp"]], "recomp": [["0x1004a658", "mov ebp, dword ptr [edx + 4]"], ["0x1004a65b", "mov ebp, dword ptr [ebp]"], ["0x1004a65e", "cmp ebp, edx"]]}, {"both": [["0x1004974f", "jne 0x42", "0x1004a660"]]}, {"orig": [["0x10049751", "mov eax, dword ptr [ebp + 4]"], ["0x10049754", "mov eax, dword ptr [eax + 8]"], ["0x10049757", "cmp dword ptr [eax + 0x10], 0"], ["0x1004975b", "je 0x72"], ["0x1004975d", "cmp dword ptr [ebp + 8], ebx"]], "recomp": [["0x1004a662", "mov ebp, dword ptr [edx + 4]"], ["0x1004a665", "mov ebp, dword ptr [ebp + 8]"], ["0x1004a668", "cmp dword ptr [ebp + 0x10], 0"], ["0x1004a66c", "je 0x71"], ["0x1004a66e", "cmp dword ptr [edx + 8], ebx"]]}, {"both": [["0x10049760", "jne 0xa", "0x1004a671"]]}, {"orig": [["0x10049762", "push ebp"], ["0x10049763", "mov ebx, ebp"], ["0x10049765", "mov ecx, esi"]], "recomp": [["0x1004a673", "push edx"], ["0x1004a674", "mov ebx, edx"], ["0x1004a676", "mov ecx, edi"]]}, {"both": [["0x10049767", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Lrotate (FUNCTION)", "0x1004a678"], ["0x1004976c", "mov eax, dword ptr [ebx + 4]", "0x1004a67d"], ["0x1004976f", "mov dword ptr [eax + 0x10], 1", "0x1004a680"], ["0x10049776", "mov eax, dword ptr [ebx + 4]", "0x1004a687"], ["0x10049779", "mov ecx, dword ptr [eax + 4]", "0x1004a68a"], ["0x1004977c", "mov dword ptr [ecx + 0x10], 0", "0x1004a68d"], ["0x10049783", "mov eax, dword ptr [ebx + 4]", "0x1004a694"], ["0x10049786", "mov ecx, dword ptr [eax + 4]", "0x1004a697"], ["0x10049789", "push ecx", "0x1004a69a"]]}, {"orig": [["0x1004978a", "mov ecx, esi"]], "recomp": [["0x1004a69b", "mov ecx, edi"]]}, {"both": [["0x1004978c", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Rrotate (FUNCTION)", "0x1004a69d"]]}, {"orig": [["0x10049791", "jmp 0x5a"], ["0x10049793", "cmp dword ptr [eax + 0x10], 0"], ["0x10049797", "je 0x36"], ["0x10049799", "cmp dword ptr [ebp], ebx"]], "recomp": [["0x1004a6a2", "jmp 0x59"], ["0x1004a6a4", "cmp dword ptr [ebp + 0x10], 0"], ["0x1004a6a8", "je 0x35"], ["0x1004a6aa", "cmp dword ptr [edx], ebx"]]}, {"both": [["0x1004979c", "jne 0xa", "0x1004a6ac"]]}, {"orig": [["0x1004979e", "push ebp"], ["0x1004979f", "mov ebx, ebp"], ["0x100497a1", "mov ecx, esi"]], "recomp": [["0x1004a6ae", "push edx"], ["0x1004a6af", "mov ebx, edx"], ["0x1004a6b1", "mov ecx, edi"]]}, {"both": [["0x100497a3", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Rrotate (FUNCTION)", "0x1004a6b3"], ["0x100497a8", "mov eax, dword ptr [ebx + 4]", "0x1004a6b8"], ["0x100497ab", "mov dword ptr [eax + 0x10], 1", "0x1004a6bb"], ["0x100497b2", "mov eax, dword ptr [ebx + 4]", "0x1004a6c2"], ["0x100497b5", "mov ecx, dword ptr [eax + 4]", "0x1004a6c5"], ["0x100497b8", "mov dword ptr [ecx + 0x10], 0", "0x1004a6c8"], ["0x100497bf", "mov eax, dword ptr [ebx + 4]", "0x1004a6cf"], ["0x100497c2", "mov ecx, dword ptr [eax + 4]", "0x1004a6d2"], ["0x100497c5", "push ecx", "0x1004a6d5"]]}, {"orig": [["0x100497c6", "mov ecx, esi"]], "recomp": [["0x1004a6d6", "mov ecx, edi"]]}, {"both": [["0x100497c8", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Lrotate (FUNCTION)", "0x1004a6d8"], ["0x100497cd", "jmp 0x1e", "0x1004a6dd"]]}, {"orig": [["0x100497cf", "mov dword ptr [edx], 1"], ["0x100497d5", "mov dword ptr [eax + 0x10], 1"]], "recomp": [["0x1004a6df", "mov dword ptr [eax], 1"], ["0x1004a6e5", "mov dword ptr [ebp + 0x10], 1"]]}, {"both": [["0x100497dc", "mov eax, dword ptr [ecx]", "0x1004a6ec"], ["0x100497de", "mov edx, dword ptr [eax + 4]", "0x1004a6ee"], ["0x100497e1", "mov dword ptr [edx + 0x10], 0", "0x1004a6f1"], ["0x100497e8", "mov eax, dword ptr [ecx]", "0x1004a6f8"], ["0x100497ea", "mov ebx, dword ptr [eax + 4]", "0x1004a6fa"]]}, {"orig": [["0x100497ed", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x1004a6fd", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x100497f0", "cmp dword ptr [eax + 4], ebx", "0x1004a700"], ["0x100497f3", "jne -0xc2", "0x1004a703"]]}, {"orig": [["0x100497f9", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x1004a709", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x100497fc", "mov ecx, dword ptr [eax + 4]", "0x1004a70c"], ["0x100497ff", "mov eax, dword ptr [esp + 0x20]", "0x1004a70f"], ["0x10049803", "mov dword ptr [ecx + 0x10], 1", "0x1004a713"]]}, {"orig": [["0x1004980a", "mov dword ptr [eax], edi"]], "recomp": [["0x1004a71a", "mov dword ptr [eax], esi"]]}, {"both": [["0x1004980c", "mov ecx, dword ptr [esp + 0x10]", "0x1004a71c"], ["0x10049810", "pop ebp", "0x1004a720"], ["0x10049811", "pop edi", "0x1004a721"], ["0x10049812", "mov dword ptr [eax + 4], ecx", "0x1004a722"], ["0x10049815", "pop esi", "0x1004a725"], ["0x10049816", "pop ebx", "0x1004a726"], ["0x10049817", "add esp, 0xc", "0x1004a727"], ["0x1004981a", "ret 8", "0x1004a72a"], ["0x1004981d", "mov ecx, dword ptr [esp + 0x18]", "0x1004a72d"], ["0x10049821", "mov eax, dword ptr [esp + 0x20]", "0x1004a731"]]}]]]}, {"address": "0x10049840", "recomp": "0x1004a750", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::iterator::_Dec", "matching": 0.8181818181818182, "diff": [["@@ -0x10049841,30 +0x1004a751,30 @@", [{"both": [["0x10049841", "mov esi, dword ptr [ecx]", "0x1004a751"], ["0x10049843", "cmp dword ptr [esi + 0x10], 0", "0x1004a753"], ["0x10049847", "jne 0xf", "0x1004a757"], ["0x10049849", "mov eax, dword ptr [esi + 4]", "0x1004a759"], ["0x1004984c", "cmp dword ptr [eax + 4], esi", "0x1004a75c"], ["0x1004984f", "jne 0x7", "0x1004a75f"], ["0x10049851", "mov eax, dword ptr [esi + 8]", "0x1004a761"], ["0x10049854", "pop esi", "0x1004a764"], ["0x10049855", "mov dword ptr [ecx], eax", "0x1004a765"], ["0x10049857", "ret ", "0x1004a767"]]}, {"orig": [["0x10049858", "mov edx, dword ptr [esi]"], ["0x1004985a", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], edx"]], "recomp": [["0x1004a768", "mov eax, dword ptr [esi]"], ["0x1004a76a", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049860", "je 0x13", "0x1004a770"]]}, {"orig": [["0x10049862", "mov eax, dword ptr [edx + 8]"], ["0x10049865", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004a772", "mov edx, dword ptr [eax + 8]"], ["0x1004a775", "cmp edx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x1004986b", "je 0x4", "0x1004a77b"]]}, {"orig": [["0x1004986d", "mov edx, eax"]], "recomp": [["0x1004a77d", "mov eax, edx"]]}, {"both": [["0x1004986f", "jmp -0xf", "0x1004a77f"], ["0x10049871", "pop esi", "0x1004a781"]]}, {"orig": [["0x10049872", "mov dword ptr [ecx], edx"]], "recomp": [["0x1004a782", "mov dword ptr [ecx], eax"]]}, {"both": [["0x10049874", "ret ", "0x1004a784"], ["0x10049875", "mov edx, dword ptr [esi + 4]", "0x1004a785"], ["0x10049878", "cmp dword ptr [edx], esi", "0x1004a788"], ["0x1004987a", "jne 0xb", "0x1004a78a"], ["0x1004987c", "mov dword ptr [ecx], edx", "0x1004a78c"], ["0x1004987e", "mov eax, edx", "0x1004a78e"], ["0x10049880", "mov edx, dword ptr [edx + 4]", "0x1004a790"], ["0x10049883", "cmp dword ptr [edx], eax", "0x1004a793"], ["0x10049885", "je -0xb", "0x1004a795"], ["0x10049887", "pop esi", "0x1004a797"]]}]]]}, {"address": "0x10049890", "recomp": "0x1004a7a0", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::erase", "matching": 0.7324324324324324, "diff": [["@@ -0x10049890,51 +0x1004a7a0,49 @@", [{"both": [["0x10049890", "mov eax, dword ptr [esp + 8]", "0x1004a7a0"], ["0x10049894", "sub esp, 4", "0x1004a7a4"], ["0x10049897", "mov dword ptr [esp], eax", "0x1004a7a7"], ["0x1004989b", "push ebx", "0x1004a7ab"], ["0x1004989c", "push esi", "0x1004a7ac"], ["0x1004989d", "push edi", "0x1004a7ad"], ["0x1004989e", "push ebp", "0x1004a7ae"], ["0x1004989f", "mov esi, ecx", "0x1004a7af"], ["0x100498a1", "mov ecx, dword ptr [eax + 8]", "0x1004a7b1"]]}, {"orig": [["0x100498a4", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ecx"], ["0x100498aa", "je 0x14"]], "recomp": [["0x1004a7b4", "cmp ecx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"], ["0x1004a7ba", "je 0xe"]]}, {"both": [["0x100498ac", "mov eax, dword ptr [ecx]", "0x1004a7bc"]]}, {"orig": [["0x100498ae", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"], ["0x100498b4", "je 0x4"]], "recomp": [["0x1004a7be", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"], ["0x1004a7c4", "je 0x29"]]}, {"both": [["0x100498b6", "mov ecx, eax", "0x1004a7c6"], ["0x100498b8", "jmp -0xe", "0x1004a7c8"]]}, {"orig": [], "recomp": [["0x1004a7ca", "mov eax, dword ptr [esp + 0x1c]"], ["0x1004a7ce", "mov ecx, dword ptr [eax + 4]"], ["0x1004a7d1", "cmp dword ptr [ecx + 8], eax"], ["0x1004a7d4", "jne 0x10"]]}, {"both": [["0x100498ba", "mov dword ptr [esp + 0x1c], ecx", "0x1004a7d6"]]}, {"orig": [["0x100498be", "jmp 0x29"], ["0x100498c0", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100498c4", "mov eax, dword ptr [ecx + 4]"]], "recomp": [["0x1004a7da", "mov ecx, dword ptr [ecx + 4]"], ["0x1004a7dd", "mov eax, dword ptr [esp + 0x1c]"], ["0x1004a7e1", "cmp dword ptr [ecx + 8], eax"], ["0x1004a7e4", "je -0x10"], ["0x1004a7e6", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x100498c7", "cmp dword ptr [eax + 8], ecx", "0x1004a7ea"]]}, {"orig": [["0x100498ca", "jne 0x10"], ["0x100498cc", "mov dword ptr [esp + 0x1c], eax"], ["0x100498d0", "mov eax, dword ptr [eax + 4]"], ["0x100498d3", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100498d7", "cmp dword ptr [eax + 8], ecx"], ["0x100498da", "je -0x10"], ["0x100498dc", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100498e0", "cmp dword ptr [ecx + 8], eax"]], "recomp": []}, {"both": [["0x100498e3", "je 0x4", "0x1004a7ed"]]}, {"orig": [["0x100498e5", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x1004a7ef", "mov dword ptr [esp + 0x1c], ecx"]]}, {"both": [["0x100498e9", "mov ecx, dword ptr [esp + 0x10]", "0x1004a7f3"], ["0x100498ed", "mov ebx, dword ptr [ecx]", "0x1004a7f7"]]}, {"orig": [["0x100498ef", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1004a7f9", "cmp ebx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x100498f5", "je 0x26", "0x1004a7ff"], ["0x100498f7", "lea edi, [ecx + 8]", "0x1004a801"], ["0x100498fa", "mov edx, dword ptr [edi]", "0x1004a804"]]}, {"orig": [["0x100498fc", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], edx"]], "recomp": [["0x1004a806", "cmp edx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049902", "je 0x15", "0x1004a80c"], ["0x10049904", "mov eax, dword ptr [edx]", "0x1004a80e"]]}, {"orig": [["0x10049906", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004a810", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x1004990c", "je 0x4", "0x1004a816"], ["0x1004990e", "mov edx, eax", "0x1004a818"], ["0x10049910", "jmp -0xe", "0x1004a81a"], ["0x10049912", "mov ecx, edx", "0x1004a81c"], ["0x10049914", "mov edx, dword ptr [edx + 8]", "0x1004a81e"], ["0x10049917", "jmp 0xe", "0x1004a821"], ["0x10049919", "mov edx, ebx", "0x1004a823"], ["0x1004991b", "jmp 0xa", "0x1004a825"], ["0x1004991d", "mov edi, dword ptr [esp + 0x10]", "0x1004a827"], ["0x10049921", "mov edx, dword ptr [edi + 8]", "0x1004a82b"]]}]], ["@@ -0x10049951,49 +0x1004a85b,49 @@", [{"both": [["0x10049951", "mov dword ptr [eax], edx", "0x1004a85b"], ["0x10049953", "mov ebx, dword ptr [esi + 4]", "0x1004a85d"], ["0x10049956", "mov eax, dword ptr [esp + 0x10]", "0x1004a860"], ["0x1004995a", "cmp dword ptr [ebx], eax", "0x1004a864"], ["0x1004995c", "jne 0x26", "0x1004a866"], ["0x1004995e", "mov eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]", "0x1004a868"], ["0x10049963", "cmp dword ptr [edi], eax", "0x1004a86d"], ["0x10049965", "je 0x14", "0x1004a86f"], ["0x10049967", "mov edi, edx", "0x1004a871"], ["0x10049969", "mov eax, dword ptr [edi]", "0x1004a873"]]}, {"orig": [["0x1004996b", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004a875", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049971", "je 0x4", "0x1004a87b"], ["0x10049973", "mov edi, eax", "0x1004a87d"], ["0x10049975", "jmp -0xe", "0x1004a87f"], ["0x10049977", "mov dword ptr [ebx], edi", "0x1004a881"], ["0x10049979", "jmp 0x9", "0x1004a883"], ["0x1004997b", "mov eax, dword ptr [esp + 0x10]", "0x1004a885"], ["0x1004997f", "mov ebp, dword ptr [eax + 4]", "0x1004a889"], ["0x10049982", "mov dword ptr [ebx], ebp", "0x1004a88c"], ["0x10049984", "mov edi, dword ptr [esi + 4]", "0x1004a88e"], ["0x10049987", "mov eax, dword ptr [esp + 0x10]", "0x1004a891"], ["0x1004998b", "add edi, 8", "0x1004a895"], ["0x1004998e", "cmp dword ptr [edi], eax", "0x1004a898"]]}, {"orig": [["0x10049990", "jne 0x88"]], "recomp": [["0x1004a89a", "jne 0x8a"]]}, {"both": [["0x10049996", "mov ebx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]", "0x1004a8a0"], ["0x1004999c", "cmp dword ptr [eax], ebx", "0x1004a8a6"], ["0x1004999e", "je 0x15", "0x1004a8a8"], ["0x100499a0", "mov eax, edx", "0x1004a8aa"], ["0x100499a2", "mov ebx, dword ptr [eax + 8]", "0x1004a8ac"]]}, {"orig": [["0x100499a5", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1004a8af", "cmp ebx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x100499ab", "je 0x4", "0x1004a8b5"], ["0x100499ad", "mov eax, ebx", "0x1004a8b7"], ["0x100499af", "jmp -0xf", "0x1004a8b9"], ["0x100499b1", "mov dword ptr [edi], eax", "0x1004a8bb"]]}, {"orig": [["0x100499b3", "jmp 0x69"]], "recomp": [["0x1004a8bd", "jmp 0x6b"]]}, {"both": [["0x100499b5", "mov eax, dword ptr [esp + 0x10]", "0x1004a8bf"], ["0x100499b9", "mov ebx, dword ptr [eax + 4]", "0x1004a8c3"], ["0x100499bc", "mov dword ptr [edi], ebx", "0x1004a8c6"]]}, {"orig": [["0x100499be", "jmp 0x5e"]], "recomp": [["0x1004a8c8", "jmp 0x60"]]}, {"both": [["0x100499c0", "mov eax, dword ptr [esp + 0x10]", "0x1004a8ca"], ["0x100499c4", "mov dword ptr [ebx + 4], ecx", "0x1004a8ce"], ["0x100499c7", "mov ebx, dword ptr [eax]", "0x1004a8d1"], ["0x100499c9", "mov dword ptr [ecx], ebx", "0x1004a8d3"], ["0x100499cb", "cmp dword ptr [edi], ecx", "0x1004a8d5"], ["0x100499cd", "jne 0x5", "0x1004a8d7"], ["0x100499cf", "mov dword ptr [edx + 4], ecx", "0x1004a8d9"], ["0x100499d2", "jmp 0x15", "0x1004a8dc"], ["0x100499d4", "mov eax, dword ptr [ecx + 4]", "0x1004a8de"], ["0x100499d7", "mov dword ptr [edx + 4], eax", "0x1004a8e1"]]}]], ["@@ -0x100499f3,51 +0x1004a8fd,51 @@", [{"both": [["0x100499f3", "cmp dword ptr [eax], edi", "0x1004a8fd"], ["0x100499f5", "je 0xc", "0x1004a8ff"], ["0x100499f7", "mov eax, dword ptr [edi + 4]", "0x1004a901"], ["0x100499fa", "cmp dword ptr [eax], edi", "0x1004a904"], ["0x100499fc", "je 0x5", "0x1004a906"], ["0x100499fe", "mov dword ptr [eax + 8], ecx", "0x1004a908"], ["0x10049a01", "jmp 0x2", "0x1004a90b"], ["0x10049a03", "mov dword ptr [eax], ecx", "0x1004a90d"], ["0x10049a05", "mov eax, dword ptr [esp + 0x10]", "0x1004a90f"], ["0x10049a09", "mov ebx, dword ptr [eax + 4]", "0x1004a913"]]}, {"orig": [["0x10049a0c", "lea edi, [eax + 0x10]"]], "recomp": [["0x1004a916", "add eax, 0x10"]]}, {"both": [["0x10049a0f", "mov dword ptr [ecx + 4], ebx", "0x1004a919"]]}, {"orig": [["0x10049a12", "mov ebx, dword ptr [edi]"], ["0x10049a14", "mov ebp, dword ptr [ecx + 0x10]"]], "recomp": [["0x1004a91c", "mov edi, dword ptr [ecx + 0x10]"], ["0x1004a91f", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x10049a17", "mov dword ptr [ecx + 0x10], ebx", "0x1004a921"]]}, {"orig": [["0x10049a1a", "mov ecx, eax"], ["0x10049a1c", "mov dword ptr [edi], ebp"]], "recomp": [["0x1004a924", "mov ecx, dword ptr [esp + 0x10]"], ["0x1004a928", "mov dword ptr [eax], edi"]]}, {"both": [["0x10049a1e", "cmp dword ptr [ecx + 0x10], 1", "0x1004a92a"]]}, {"orig": [["0x10049a22", "jne 0x29e"]], "recomp": [["0x1004a92e", "jne 0x29d"]]}, {"both": [["0x10049a28", "mov eax, dword ptr [esi + 4]", "0x1004a934"], ["0x10049a2b", "cmp dword ptr [eax + 4], edx", "0x1004a937"]]}, {"orig": [["0x10049a2e", "je 0x28b"]], "recomp": [["0x1004a93a", "je 0x28a"]]}, {"both": [["0x10049a34", "cmp dword ptr [edx + 0x10], 1", "0x1004a940"]]}, {"orig": [["0x10049a38", "jne 0x281"]], "recomp": [["0x1004a944", "jne 0x280"]]}, {"both": [["0x10049a3e", "lea ebx, [edx + 4]", "0x1004a94a"], ["0x10049a41", "mov eax, dword ptr [ebx]", "0x1004a94d"], ["0x10049a43", "mov edi, dword ptr [eax]", "0x1004a94f"], ["0x10049a45", "cmp edx, edi", "0x1004a951"], ["0x10049a47", "jne 0x73", "0x1004a953"], ["0x10049a49", "mov edi, dword ptr [eax + 8]", "0x1004a955"], ["0x10049a4c", "cmp dword ptr [edi + 0x10], 0", "0x1004a958"], ["0x10049a50", "jne 0x4f", "0x1004a95c"], ["0x10049a52", "mov dword ptr [edi + 0x10], 1", "0x1004a95e"], ["0x10049a59", "mov eax, dword ptr [ebx]", "0x1004a965"], ["0x10049a5b", "mov dword ptr [eax + 0x10], 0", "0x1004a967"], ["0x10049a62", "mov ebp, dword ptr [ebx]", "0x1004a96e"], ["0x10049a64", "mov eax, dword ptr [ebp + 8]", "0x1004a970"], ["0x10049a67", "mov edi, dword ptr [eax]", "0x1004a973"], ["0x10049a69", "mov dword ptr [ebp + 8], edi", "0x1004a975"], ["0x10049a6c", "mov edi, dword ptr [eax]", "0x1004a978"]]}, {"orig": [["0x10049a6e", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], edi"]], "recomp": [["0x1004a97a", "cmp edi, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049a74", "je 0x3", "0x1004a980"], ["0x10049a76", "mov dword ptr [edi + 4], ebp", "0x1004a982"], ["0x10049a79", "mov edi, dword ptr [ebp + 4]", "0x1004a985"], ["0x10049a7c", "mov dword ptr [eax + 4], edi", "0x1004a988"], ["0x10049a7f", "mov edi, dword ptr [esi + 4]", "0x1004a98b"], ["0x10049a82", "add edi, 4", "0x1004a98e"], ["0x10049a85", "cmp dword ptr [edi], ebp", "0x1004a991"], ["0x10049a87", "je 0xc", "0x1004a993"], ["0x10049a89", "mov edi, dword ptr [ebp + 4]", "0x1004a995"], ["0x10049a8c", "cmp dword ptr [edi], ebp", "0x1004a998"]]}]], ["@@ -0x10049aad,133 +0x1004a9b9,133 @@", [{"both": [["0x10049aad", "mov eax, dword ptr [edi + 8]", "0x1004a9b9"], ["0x10049ab0", "cmp dword ptr [eax + 0x10], 1", "0x1004a9bc"], ["0x10049ab4", "jne 0x8d", "0x1004a9c0"], ["0x10049aba", "jmp 0x71", "0x1004a9c6"], ["0x10049abc", "cmp dword ptr [edi + 0x10], 0", "0x1004a9c8"], ["0x10049ac0", "jne 0x52", "0x1004a9cc"], ["0x10049ac2", "mov dword ptr [edi + 0x10], 1", "0x1004a9ce"], ["0x10049ac9", "mov eax, dword ptr [ebx]", "0x1004a9d5"], ["0x10049acb", "mov dword ptr [eax + 0x10], 0", "0x1004a9d7"], ["0x10049ad2", "mov ebp, dword ptr [ebx]", "0x1004a9de"]]}, {"orig": [["0x10049ad4", "mov edi, dword ptr [ebp]"], ["0x10049ad7", "mov eax, dword ptr [edi + 8]"], ["0x10049ada", "mov dword ptr [ebp], eax"], ["0x10049add", "mov eax, dword ptr [edi + 8]"], ["0x10049ae0", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004a9e0", "mov eax, dword ptr [ebp]"], ["0x1004a9e3", "mov edi, dword ptr [eax + 8]"], ["0x1004a9e6", "mov dword ptr [ebp], edi"], ["0x1004a9e9", "mov edi, dword ptr [eax + 8]"], ["0x1004a9ec", "cmp edi, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049ae6", "je 0x3", "0x1004a9f2"]]}, {"orig": [["0x10049ae8", "mov dword ptr [eax + 4], ebp"], ["0x10049aeb", "mov eax, dword ptr [ebp + 4]"], ["0x10049aee", "mov dword ptr [edi + 4], eax"], ["0x10049af1", "mov eax, dword ptr [esi + 4]"], ["0x10049af4", "add eax, 4"], ["0x10049af7", "cmp dword ptr [eax], ebp"]], "recomp": [["0x1004a9f4", "mov dword ptr [edi + 4], ebp"], ["0x1004a9f7", "mov edi, dword ptr [ebp + 4]"], ["0x1004a9fa", "mov dword ptr [eax + 4], edi"], ["0x1004a9fd", "mov edi, dword ptr [esi + 4]"], ["0x1004aa00", "add edi, 4"], ["0x1004aa03", "cmp dword ptr [edi], ebp"]]}, {"both": [["0x10049af9", "je 0xd", "0x1004aa05"]]}, {"orig": [["0x10049afb", "mov eax, dword ptr [ebp + 4]"], ["0x10049afe", "add eax, 8"], ["0x10049b01", "cmp dword ptr [eax], ebp"]], "recomp": [["0x1004aa07", "mov edi, dword ptr [ebp + 4]"], ["0x1004aa0a", "add edi, 8"], ["0x1004aa0d", "cmp dword ptr [edi], ebp"]]}, {"both": [["0x10049b03", "je 0x3", "0x1004aa0f"]]}, {"orig": [["0x10049b05", "mov eax, dword ptr [ebp + 4]"], ["0x10049b08", "mov dword ptr [eax], edi"], ["0x10049b0a", "mov dword ptr [edi + 8], ebp"], ["0x10049b0d", "mov dword ptr [ebp + 4], edi"]], "recomp": [["0x1004aa11", "mov edi, dword ptr [ebp + 4]"], ["0x1004aa14", "mov dword ptr [edi], eax"], ["0x1004aa16", "mov dword ptr [eax + 8], ebp"], ["0x1004aa19", "mov dword ptr [ebp + 4], eax"]]}, {"both": [["0x10049b10", "mov eax, dword ptr [ebx]", "0x1004aa1c"], ["0x10049b12", "mov edi, dword ptr [eax]", "0x1004aa1e"], ["0x10049b14", "mov eax, dword ptr [edi + 8]", "0x1004aa20"], ["0x10049b17", "cmp dword ptr [eax + 0x10], 1", "0x1004aa23"]]}, {"orig": [["0x10049b1b", "jne 0xf0"]], "recomp": [["0x1004aa27", "jne 0xef"]]}, {"both": [["0x10049b21", "mov eax, dword ptr [edi]", "0x1004aa2d"], ["0x10049b23", "cmp dword ptr [eax + 0x10], 1", "0x1004aa2f"]]}, {"orig": [["0x10049b27", "jne 0xe4"]], "recomp": [["0x1004aa33", "jne 0xe3"]]}, {"both": [["0x10049b2d", "mov dword ptr [edi + 0x10], 0", "0x1004aa39"], ["0x10049b34", "mov edx, dword ptr [ebx]", "0x1004aa40"], ["0x10049b36", "mov eax, dword ptr [esi + 4]", "0x1004aa42"], ["0x10049b39", "cmp dword ptr [eax + 4], edx", "0x1004aa45"], ["0x10049b3c", "jne -0x10e", "0x1004aa48"]]}, {"orig": [["0x10049b42", "jmp 0x178"]], "recomp": [["0x1004aa4e", "jmp 0x177"]]}, {"both": [["0x10049b47", "mov eax, dword ptr [edi + 8]", "0x1004aa53"], ["0x10049b4a", "cmp dword ptr [eax + 0x10], 1", "0x1004aa56"]]}, {"orig": [["0x10049b4e", "jne 0x53"]], "recomp": [["0x1004aa5a", "jne 0x52"]]}, {"both": [["0x10049b50", "mov eax, dword ptr [edi]", "0x1004aa5c"], ["0x10049b52", "mov dword ptr [eax + 0x10], 1", "0x1004aa5e"], ["0x10049b59", "mov dword ptr [edi + 0x10], 0", "0x1004aa65"], ["0x10049b60", "mov ebx, dword ptr [edi]", "0x1004aa6c"], ["0x10049b62", "mov ebp, dword ptr [ebx + 8]", "0x1004aa6e"], ["0x10049b65", "mov dword ptr [edi], ebp", "0x1004aa71"], ["0x10049b67", "mov eax, dword ptr [ebx + 8]", "0x1004aa73"]]}, {"orig": [["0x10049b6a", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004aa76", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049b70", "je 0x3", "0x1004aa7c"], ["0x10049b72", "mov dword ptr [eax + 4], edi", "0x1004aa7e"], ["0x10049b75", "mov eax, dword ptr [edi + 4]", "0x1004aa81"], ["0x10049b78", "mov dword ptr [ebx + 4], eax", "0x1004aa84"], ["0x10049b7b", "mov eax, dword ptr [esi + 4]", "0x1004aa87"], ["0x10049b7e", "add eax, 4", "0x1004aa8a"], ["0x10049b81", "cmp dword ptr [eax], edi", "0x1004aa8d"]]}, {"orig": [["0x10049b83", "je 0x10"], ["0x10049b85", "mov eax, dword ptr [edi + 4]"], ["0x10049b88", "lea ebp, [eax + 8]"], ["0x10049b8b", "cmp dword ptr [ebp], edi"], ["0x10049b8e", "jne 0x5"]], "recomp": [["0x1004aa8f", "je 0xf"], ["0x1004aa91", "mov ebp, dword ptr [edi + 4]"], ["0x1004aa94", "lea eax, [ebp + 8]"], ["0x1004aa97", "cmp dword ptr [eax], edi"], ["0x1004aa99", "je 0x5"]]}, {"both": [["0x10049b90", "mov dword ptr [ebp], ebx", "0x1004aa9b"], ["0x10049b93", "jmp 0x2", "0x1004aa9e"], ["0x10049b95", "mov dword ptr [eax], ebx", "0x1004aaa0"], ["0x10049b97", "mov dword ptr [ebx + 8], edi", "0x1004aaa2"], ["0x10049b9a", "mov dword ptr [edi + 4], ebx", "0x1004aaa5"], ["0x10049b9d", "mov eax, dword ptr [edx + 4]", "0x1004aaa8"], ["0x10049ba0", "mov edi, dword ptr [eax + 8]", "0x1004aaab"], ["0x10049ba3", "mov eax, dword ptr [edx + 4]", "0x1004aaae"], ["0x10049ba6", "mov ebx, dword ptr [eax + 0x10]", "0x1004aab1"], ["0x10049ba9", "mov dword ptr [edi + 0x10], ebx", "0x1004aab4"], ["0x10049bac", "mov ebx, 1", "0x1004aab7"], ["0x10049bb1", "mov eax, dword ptr [edx + 4]", "0x1004aabc"], ["0x10049bb4", "mov dword ptr [eax + 0x10], ebx", "0x1004aabf"], ["0x10049bb7", "mov ebp, dword ptr [edi + 8]", "0x1004aac2"], ["0x10049bba", "mov dword ptr [ebp + 0x10], ebx", "0x1004aac5"]]}, {"orig": [["0x10049bbd", "mov edi, dword ptr [edx + 4]"], ["0x10049bc0", "mov ebx, dword ptr [edi + 8]"], ["0x10049bc3", "mov eax, dword ptr [ebx]"], ["0x10049bc5", "mov dword ptr [edi + 8], eax"], ["0x10049bc8", "mov eax, dword ptr [ebx]"], ["0x10049bca", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004aac8", "mov ebx, dword ptr [edx + 4]"], ["0x1004aacb", "mov edi, dword ptr [ebx + 8]"], ["0x1004aace", "mov eax, dword ptr [edi]"], ["0x1004aad0", "mov dword ptr [ebx + 8], eax"], ["0x1004aad3", "mov eax, dword ptr [edi]"], ["0x1004aad5", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049bd0", "je 0x3", "0x1004aadb"]]}, {"orig": [["0x10049bd2", "mov dword ptr [eax + 4], edi"], ["0x10049bd5", "mov eax, dword ptr [edi + 4]"], ["0x10049bd8", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1004aadd", "mov dword ptr [eax + 4], ebx"], ["0x1004aae0", "mov eax, dword ptr [ebx + 4]"], ["0x1004aae3", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x10049bdb", "mov eax, dword ptr [esi + 4]", "0x1004aae6"], ["0x10049bde", "add eax, 4", "0x1004aae9"]]}, {"orig": [["0x10049be1", "cmp dword ptr [eax], edi"]], "recomp": [["0x1004aaec", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x10049be3", "je 0x20", "0x1004aaee"]]}, {"orig": [["0x10049be5", "mov eax, dword ptr [edi + 4]"], ["0x10049be8", "cmp dword ptr [eax], edi"]], "recomp": [["0x1004aaf0", "mov eax, dword ptr [ebx + 4]"], ["0x1004aaf3", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x10049bea", "je 0xd", "0x1004aaf5"]]}, {"orig": [["0x10049bec", "mov dword ptr [eax + 8], ebx"], ["0x10049bef", "mov dword ptr [ebx], edi"], ["0x10049bf1", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x1004aaf7", "mov dword ptr [eax + 8], edi"], ["0x1004aafa", "mov dword ptr [edi], ebx"], ["0x1004aafc", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x10049bf4", "jmp 0xc6", "0x1004aaff"]]}, {"orig": [["0x10049bf9", "mov dword ptr [eax], ebx"], ["0x10049bfb", "mov dword ptr [ebx], edi"], ["0x10049bfd", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x1004ab04", "mov dword ptr [eax], edi"], ["0x1004ab06", "mov dword ptr [edi], ebx"], ["0x1004ab08", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x10049c00", "jmp 0xba", "0x1004ab0b"]]}, {"orig": [["0x10049c05", "mov dword ptr [eax], ebx"], ["0x10049c07", "mov dword ptr [ebx], edi"], ["0x10049c09", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x1004ab10", "mov dword ptr [eax], edi"], ["0x1004ab12", "mov dword ptr [edi], ebx"], ["0x1004ab14", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x10049c0c", "jmp 0xae", "0x1004ab17"], ["0x10049c11", "mov eax, dword ptr [edi]", "0x1004ab1c"], ["0x10049c13", "cmp dword ptr [eax + 0x10], 1", "0x1004ab1e"], ["0x10049c17", "jne 0x4e", "0x1004ab22"], ["0x10049c19", "mov eax, dword ptr [edi + 8]", "0x1004ab24"], ["0x10049c1c", "mov dword ptr [eax + 0x10], 1", "0x1004ab27"], ["0x10049c23", "mov dword ptr [edi + 0x10], 0", "0x1004ab2e"], ["0x10049c2a", "mov ebx, dword ptr [edi + 8]", "0x1004ab35"], ["0x10049c2d", "mov ebp, dword ptr [ebx]", "0x1004ab38"], ["0x10049c2f", "mov dword ptr [edi + 8], ebp", "0x1004ab3a"], ["0x10049c32", "mov eax, dword ptr [ebx]", "0x1004ab3d"]]}, {"orig": [["0x10049c34", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004ab3f", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049c3a", "je 0x3", "0x1004ab45"], ["0x10049c3c", "mov dword ptr [eax + 4], edi", "0x1004ab47"], ["0x10049c3f", "mov eax, dword ptr [edi + 4]", "0x1004ab4a"], ["0x10049c42", "mov dword ptr [ebx + 4], eax", "0x1004ab4d"], ["0x10049c45", "mov eax, dword ptr [esi + 4]", "0x1004ab50"], ["0x10049c48", "add eax, 4", "0x1004ab53"], ["0x10049c4b", "cmp dword ptr [eax], edi", "0x1004ab56"], ["0x10049c4d", "je 0xc", "0x1004ab58"], ["0x10049c4f", "mov eax, dword ptr [edi + 4]", "0x1004ab5a"], ["0x10049c52", "cmp dword ptr [eax], edi", "0x1004ab5d"]]}]], ["@@ -0x10049c62,45 +0x1004ab6d,47 @@", [{"both": [["0x10049c62", "mov eax, dword ptr [edx + 4]", "0x1004ab6d"], ["0x10049c65", "mov edi, dword ptr [eax]", "0x1004ab70"], ["0x10049c67", "mov eax, dword ptr [edx + 4]", "0x1004ab72"], ["0x10049c6a", "mov ebx, dword ptr [eax + 0x10]", "0x1004ab75"], ["0x10049c6d", "mov dword ptr [edi + 0x10], ebx", "0x1004ab78"], ["0x10049c70", "mov ebx, 1", "0x1004ab7b"], ["0x10049c75", "mov eax, dword ptr [edx + 4]", "0x1004ab80"], ["0x10049c78", "mov dword ptr [eax + 0x10], ebx", "0x1004ab83"], ["0x10049c7b", "mov ebp, dword ptr [edi]", "0x1004ab86"], ["0x10049c7d", "mov dword ptr [ebp + 0x10], ebx", "0x1004ab88"]]}, {"orig": [["0x10049c80", "mov ebx, dword ptr [edx + 4]"], ["0x10049c83", "mov edi, dword ptr [ebx]"], ["0x10049c85", "mov eax, dword ptr [edi + 8]"], ["0x10049c88", "mov dword ptr [ebx], eax"], ["0x10049c8a", "mov eax, dword ptr [edi + 8]"], ["0x10049c8d", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004ab8b", "mov edi, dword ptr [edx + 4]"], ["0x1004ab8e", "mov ebx, dword ptr [edi]"], ["0x1004ab90", "mov eax, dword ptr [ebx + 8]"], ["0x1004ab93", "mov dword ptr [edi], eax"], ["0x1004ab95", "mov eax, dword ptr [ebx + 8]"], ["0x1004ab98", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049c93", "je 0x3", "0x1004ab9e"]]}, {"orig": [["0x10049c95", "mov dword ptr [eax + 4], ebx"], ["0x10049c98", "mov eax, dword ptr [ebx + 4]"], ["0x10049c9b", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1004aba0", "mov dword ptr [eax + 4], edi"], ["0x1004aba3", "mov eax, dword ptr [edi + 4]"], ["0x1004aba6", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x10049c9e", "mov eax, dword ptr [esi + 4]", "0x1004aba9"], ["0x10049ca1", "add eax, 4", "0x1004abac"]]}, {"orig": [["0x10049ca4", "cmp dword ptr [eax], ebx"]], "recomp": [["0x1004abaf", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10049ca6", "je 0xf", "0x1004abb1"]]}, {"orig": [["0x10049ca8", "mov ebp, dword ptr [ebx + 4]"]], "recomp": [["0x1004abb3", "mov ebp, dword ptr [edi + 4]"]]}, {"both": [["0x10049cab", "lea eax, [ebp + 8]", "0x1004abb6"]]}, {"orig": [["0x10049cae", "cmp dword ptr [eax], ebx"]], "recomp": [["0x1004abb9", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10049cb0", "je 0x5", "0x1004abbb"]]}, {"orig": [["0x10049cb2", "mov dword ptr [ebp], edi"]], "recomp": [["0x1004abbd", "mov dword ptr [ebp], ebx"]]}, {"both": [["0x10049cb5", "jmp 0x2", "0x1004abc0"]]}, {"orig": [["0x10049cb7", "mov dword ptr [eax], edi"], ["0x10049cb9", "mov dword ptr [edi + 8], ebx"], ["0x10049cbc", "mov dword ptr [ebx + 4], edi"]], "recomp": [["0x1004abc2", "mov dword ptr [eax], ebx"], ["0x1004abc4", "mov dword ptr [ebx + 8], edi"], ["0x1004abc7", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x10049cbf", "mov dword ptr [edx + 0x10], 1", "0x1004abca"], ["0x10049cc6", "push ecx", "0x1004abd1"], ["0x10049cc7", "call ??3@YAXPAX@Z (FUNCTION)", "0x1004abd2"], ["0x10049ccc", "mov ecx, dword ptr [esp + 0x20]", "0x1004abd7"], ["0x10049cd0", "mov eax, dword ptr [esp + 0x1c]", "0x1004abdb"], ["0x10049cd4", "add esp, 4", "0x1004abdf"], ["0x10049cd7", "dec dword ptr [esi + 0xc]", "0x1004abe2"], ["0x10049cda", "mov dword ptr [eax], ecx", "0x1004abe5"], ["0x10049cdc", "pop ebp", "0x1004abe7"], ["0x10049cdd", "pop edi", "0x1004abe8"], ["0x10049cde", "pop esi", "0x1004abe9"], ["0x10049cdf", "pop ebx", "0x1004abea"]]}, {"orig": [], "recomp": [["0x1004abeb", "add esp, 4"], ["0x1004abee", "ret 8"]]}]]]}, {"address": "0x10049cf0", "recomp": "0x1004ac00", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x10049d10", "recomp": "0x1004ac20", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x10049d10,23 +0x1004ac20,23 @@", [{"both": [["0x10049d10", "push ebx", "0x1004ac20"], ["0x10049d11", "push esi", "0x1004ac21"]]}, {"orig": [], "recomp": [["0x1004ac22", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x10049d12", "push edi", "0x1004ac26"]]}, {"orig": [["0x10049d13", "mov esi, ecx"], ["0x10049d15", "mov ebx, dword ptr [esp + 0x10]"], ["0x10049d19", "mov edi, ebx"], ["0x10049d1b", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1004ac27", "mov edi, ecx"], ["0x1004ac29", "mov ebx, esi"], ["0x1004ac2b", "cmp esi, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049d21", "je 0x20", "0x1004ac31"]]}, {"orig": [["0x10049d23", "mov eax, dword ptr [edi + 8]"], ["0x10049d26", "mov ecx, esi"]], "recomp": [["0x1004ac33", "mov eax, dword ptr [ebx + 8]"], ["0x1004ac36", "mov ecx, edi"]]}, {"both": [["0x10049d28", "push eax", "0x1004ac38"], ["0x10049d29", "call _Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Erase (FUNCTION)", "0x1004ac39"]]}, {"orig": [["0x10049d2e", "mov edi, dword ptr [edi]"], ["0x10049d30", "push ebx"], ["0x10049d31", "mov ebx, edi"]], "recomp": [["0x1004ac3e", "mov ebx, dword ptr [ebx]"], ["0x1004ac40", "push esi"], ["0x1004ac41", "mov esi, ebx"]]}, {"both": [["0x10049d33", "call ??3@YAXPAX@Z (FUNCTION)", "0x1004ac43"], ["0x10049d38", "add esp, 4", "0x1004ac48"]]}, {"orig": [["0x10049d3b", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], edi"]], "recomp": [["0x1004ac4b", "cmp ebx, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049d41", "jne -0x20", "0x1004ac51"], ["0x10049d43", "pop edi", "0x1004ac53"], ["0x10049d44", "pop esi", "0x1004ac54"], ["0x10049d45", "pop ebx", "0x1004ac55"], ["0x10049d46", "ret 4", "0x1004ac56"]]}]]]}, {"address": "0x10049e00", "recomp": "0x1004ac60", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x10049e6e,21 +0x1004acce,21 @@", [{"both": [["0x10049e6e", "mov dword ptr [ecx + 8], edx", "0x1004acce"], ["0x10049e71", "mov eax, dword ptr [esi + 4]", "0x1004acd1"], ["0x10049e74", "add eax, 8", "0x1004acd4"], ["0x10049e77", "cmp dword ptr [eax], ecx", "0x1004acd7"], ["0x10049e79", "jne 0x26", "0x1004acd9"], ["0x10049e7b", "mov dword ptr [eax], edx", "0x1004acdb"], ["0x10049e7d", "jmp 0x22", "0x1004acdd"], ["0x10049e7f", "mov edx, dword ptr [esp + 0x10]", "0x1004acdf"], ["0x10049e83", "mov dword ptr [ecx], edx", "0x1004ace3"], ["0x10049e85", "mov eax, dword ptr [esi + 4]", "0x1004ace5"]]}, {"orig": [["0x10049e88", "cmp ecx, eax"]], "recomp": [["0x1004ace8", "cmp eax, ecx"]]}, {"both": [["0x10049e8a", "je 0x8", "0x1004acea"], ["0x10049e8c", "cmp dword ptr [eax], ecx", "0x1004acec"], ["0x10049e8e", "jne 0x11", "0x1004acee"], ["0x10049e90", "mov dword ptr [eax], edx", "0x1004acf0"], ["0x10049e92", "jmp 0xd", "0x1004acf2"], ["0x10049e94", "mov edx, dword ptr [esp + 0x10]", "0x1004acf4"], ["0x10049e98", "mov dword ptr [eax + 4], edx", "0x1004acf8"], ["0x10049e9b", "mov eax, dword ptr [esi + 4]", "0x1004acfb"], ["0x10049e9e", "mov dword ptr [eax + 8], edx", "0x1004acfe"], ["0x10049ea1", "mov ecx, dword ptr [esp + 0x10]", "0x1004ad01"]]}]], ["@@ -0x10049ec5,27 +0x1004ad25,27 @@", [{"both": [["0x10049ec5", "mov ebp, dword ptr [edi]", "0x1004ad25"], ["0x10049ec7", "mov ebp, dword ptr [ebp]", "0x1004ad27"], ["0x10049eca", "cmp ebp, eax", "0x1004ad2a"], ["0x10049ecc", "jne 0xbb", "0x1004ad2c"], ["0x10049ed2", "mov ebp, dword ptr [edi]", "0x1004ad32"], ["0x10049ed4", "mov ebp, dword ptr [ebp + 8]", "0x1004ad34"], ["0x10049ed7", "cmp dword ptr [ebp + 0x10], 0", "0x1004ad37"], ["0x10049edb", "je 0x159", "0x1004ad3b"], ["0x10049ee1", "lea ebx, [eax + 8]", "0x1004ad41"], ["0x10049ee4", "mov edx, dword ptr [ebx]", "0x1004ad44"]]}, {"orig": [["0x10049ee6", "cmp ecx, edx"]], "recomp": [["0x1004ad46", "cmp edx, ecx"]]}, {"both": [["0x10049ee8", "jne 0x33", "0x1004ad48"], ["0x10049eea", "mov ecx, eax", "0x1004ad4a"], ["0x10049eec", "mov eax, dword ptr [edx]", "0x1004ad4c"], ["0x10049eee", "mov dword ptr [ebx], eax", "0x1004ad4e"], ["0x10049ef0", "mov eax, dword ptr [edx]", "0x1004ad50"]]}, {"orig": [["0x10049ef2", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004ad52", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049ef8", "je 0x3", "0x1004ad58"], ["0x10049efa", "mov dword ptr [eax + 4], ecx", "0x1004ad5a"], ["0x10049efd", "mov eax, dword ptr [edi]", "0x1004ad5d"], ["0x10049eff", "mov dword ptr [edx + 4], eax", "0x1004ad5f"], ["0x10049f02", "mov eax, dword ptr [esi + 4]", "0x1004ad62"], ["0x10049f05", "add eax, 4", "0x1004ad65"], ["0x10049f08", "cmp dword ptr [eax], ecx", "0x1004ad68"], ["0x10049f0a", "je 0xb", "0x1004ad6a"], ["0x10049f0c", "mov eax, dword ptr [edi]", "0x1004ad6c"], ["0x10049f0e", "cmp dword ptr [eax], ecx", "0x1004ad6e"]]}]], ["@@ -0x10049f20,21 +0x1004ad80,21 @@", [{"both": [["0x10049f20", "mov dword ptr [eax + 0x10], 1", "0x1004ad80"], ["0x10049f27", "mov eax, dword ptr [ecx + 4]", "0x1004ad87"], ["0x10049f2a", "mov edx, dword ptr [eax + 4]", "0x1004ad8a"], ["0x10049f2d", "mov dword ptr [edx + 0x10], 0", "0x1004ad8d"], ["0x10049f34", "mov eax, dword ptr [ecx + 4]", "0x1004ad94"], ["0x10049f37", "mov edx, dword ptr [eax + 4]", "0x1004ad97"], ["0x10049f3a", "mov edi, dword ptr [edx]", "0x1004ad9a"], ["0x10049f3c", "mov eax, dword ptr [edi + 8]", "0x1004ad9c"], ["0x10049f3f", "mov dword ptr [edx], eax", "0x1004ad9f"], ["0x10049f41", "mov eax, dword ptr [edi + 8]", "0x1004ada1"]]}, {"orig": [["0x10049f44", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004ada4", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049f4a", "je 0x3", "0x1004adaa"], ["0x10049f4c", "mov dword ptr [eax + 4], edx", "0x1004adac"], ["0x10049f4f", "mov eax, dword ptr [edx + 4]", "0x1004adaf"], ["0x10049f52", "mov dword ptr [edi + 4], eax", "0x1004adb2"], ["0x10049f55", "mov eax, dword ptr [esi + 4]", "0x1004adb5"], ["0x10049f58", "add eax, 4", "0x1004adb8"], ["0x10049f5b", "cmp dword ptr [eax], edx", "0x1004adbb"], ["0x10049f5d", "je 0x24", "0x1004adbd"], ["0x10049f5f", "mov ebx, dword ptr [edx + 4]", "0x1004adbf"], ["0x10049f62", "lea eax, [ebx + 8]", "0x1004adc2"]]}]], ["@@ -0x10049f76,27 +0x1004add6,27 @@", [{"both": [["0x10049f76", "mov dword ptr [eax], edi", "0x1004add6"], ["0x10049f78", "mov dword ptr [edi + 8], edx", "0x1004add8"], ["0x10049f7b", "mov dword ptr [edx + 4], edi", "0x1004addb"], ["0x10049f7e", "jmp 0xd5", "0x1004adde"], ["0x10049f83", "mov dword ptr [eax], edi", "0x1004ade3"], ["0x10049f85", "mov dword ptr [edi + 8], edx", "0x1004ade5"], ["0x10049f88", "jmp 0xa8", "0x1004ade8"], ["0x10049f8d", "cmp dword ptr [ebp + 0x10], 0", "0x1004aded"], ["0x10049f91", "je 0xa3", "0x1004adf1"], ["0x10049f97", "mov edx, dword ptr [eax]", "0x1004adf7"]]}, {"orig": [["0x10049f99", "cmp ecx, edx"]], "recomp": [["0x1004adf9", "cmp edx, ecx"]]}, {"both": [["0x10049f9b", "jne 0x38", "0x1004adfb"], ["0x10049f9d", "mov ecx, eax", "0x1004adfd"], ["0x10049f9f", "mov eax, dword ptr [edx + 8]", "0x1004adff"], ["0x10049fa2", "mov dword ptr [ecx], eax", "0x1004ae02"], ["0x10049fa4", "mov eax, dword ptr [edx + 8]", "0x1004ae04"]]}, {"orig": [["0x10049fa7", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004ae07", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x10049fad", "je 0x3", "0x1004ae0d"], ["0x10049faf", "mov dword ptr [eax + 4], ecx", "0x1004ae0f"], ["0x10049fb2", "mov eax, dword ptr [edi]", "0x1004ae12"], ["0x10049fb4", "mov dword ptr [edx + 4], eax", "0x1004ae14"], ["0x10049fb7", "mov eax, dword ptr [esi + 4]", "0x1004ae17"], ["0x10049fba", "add eax, 4", "0x1004ae1a"], ["0x10049fbd", "cmp dword ptr [eax], ecx", "0x1004ae1d"], ["0x10049fbf", "je 0xd", "0x1004ae1f"], ["0x10049fc1", "mov ebx, dword ptr [edi]", "0x1004ae21"], ["0x10049fc3", "lea eax, [ebx + 8]", "0x1004ae23"]]}]], ["@@ -0x10049fd8,21 +0x1004ae38,21 @@", [{"both": [["0x10049fd8", "mov dword ptr [eax + 0x10], 1", "0x1004ae38"], ["0x10049fdf", "mov eax, dword ptr [ecx + 4]", "0x1004ae3f"], ["0x10049fe2", "mov edx, dword ptr [eax + 4]", "0x1004ae42"], ["0x10049fe5", "mov dword ptr [edx + 0x10], 0", "0x1004ae45"], ["0x10049fec", "mov eax, dword ptr [ecx + 4]", "0x1004ae4c"], ["0x10049fef", "mov edx, dword ptr [eax + 4]", "0x1004ae4f"], ["0x10049ff2", "mov edi, dword ptr [edx + 8]", "0x1004ae52"], ["0x10049ff5", "mov eax, dword ptr [edi]", "0x1004ae55"], ["0x10049ff7", "mov dword ptr [edx + 8], eax", "0x1004ae57"], ["0x10049ffa", "mov eax, dword ptr [edi]", "0x1004ae5a"]]}, {"orig": [["0x10049ffc", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004ae5c", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x1004a002", "je 0x3", "0x1004ae62"], ["0x1004a004", "mov dword ptr [eax + 4], edx", "0x1004ae64"], ["0x1004a007", "mov eax, dword ptr [edx + 4]", "0x1004ae67"], ["0x1004a00a", "mov dword ptr [edi + 4], eax", "0x1004ae6a"], ["0x1004a00d", "mov eax, dword ptr [esi + 4]", "0x1004ae6d"], ["0x1004a010", "add eax, 4", "0x1004ae70"], ["0x1004a013", "cmp dword ptr [eax], edx", "0x1004ae73"], ["0x1004a015", "je 0x1a", "0x1004ae75"], ["0x1004a017", "mov eax, dword ptr [edx + 4]", "0x1004ae77"], ["0x1004a01a", "cmp dword ptr [eax], edx", "0x1004ae7a"]]}]]]}, {"address": "0x1004a090", "recomp": "0x1004aef0", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Lrotate", "matching": 0.36363636363636365, "diff": [["@@ -0x1004a090,33 +0x1004aef0,33 @@", [{"orig": [], "recomp": [["0x1004aef0", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x1004a090", "push esi", "0x1004aef4"]]}, {"orig": [["0x1004a091", "mov esi, dword ptr [esp + 8]"], ["0x1004a095", "mov edx, dword ptr [esi + 8]"], ["0x1004a098", "mov eax, dword ptr [edx]"], ["0x1004a09a", "mov dword ptr [esi + 8], eax"], ["0x1004a09d", "mov eax, dword ptr [edx]"], ["0x1004a09f", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004aef5", "mov esi, dword ptr [edx + 8]"], ["0x1004aef8", "mov eax, dword ptr [esi]"], ["0x1004aefa", "mov dword ptr [edx + 8], eax"], ["0x1004aefd", "mov eax, dword ptr [esi]"], ["0x1004aeff", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x1004a0a5", "je 0x3", "0x1004af05"]]}, {"orig": [["0x1004a0a7", "mov dword ptr [eax + 4], esi"], ["0x1004a0aa", "mov eax, dword ptr [esi + 4]"], ["0x1004a0ad", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x1004af07", "mov dword ptr [eax + 4], edx"], ["0x1004af0a", "mov eax, dword ptr [edx + 4]"], ["0x1004af0d", "mov dword ptr [esi + 4], eax"]]}, {"both": [["0x1004a0b0", "mov eax, dword ptr [ecx + 4]", "0x1004af10"], ["0x1004a0b3", "add eax, 4", "0x1004af13"]]}, {"orig": [["0x1004a0b6", "cmp dword ptr [eax], esi"]], "recomp": [["0x1004af16", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1004a0b8", "je 0x1e", "0x1004af18"]]}, {"orig": [["0x1004a0ba", "mov eax, dword ptr [esi + 4]"], ["0x1004a0bd", "cmp dword ptr [eax], esi"]], "recomp": [["0x1004af1a", "mov eax, dword ptr [edx + 4]"], ["0x1004af1d", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1004a0bf", "je 0xc", "0x1004af1f"]]}, {"orig": [["0x1004a0c1", "mov dword ptr [eax + 8], edx"], ["0x1004a0c4", "mov dword ptr [edx], esi"], ["0x1004a0c6", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x1004af21", "mov dword ptr [eax + 8], esi"], ["0x1004af24", "mov dword ptr [esi], edx"], ["0x1004af26", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x1004a0c9", "pop esi", "0x1004af29"], ["0x1004a0ca", "ret 4", "0x1004af2a"]]}, {"orig": [["0x1004a0cd", "mov dword ptr [eax], edx"], ["0x1004a0cf", "mov dword ptr [edx], esi"], ["0x1004a0d1", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x1004af2d", "mov dword ptr [eax], esi"], ["0x1004af2f", "mov dword ptr [esi], edx"], ["0x1004af31", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x1004a0d4", "pop esi", "0x1004af34"], ["0x1004a0d5", "ret 4", "0x1004af35"]]}, {"orig": [["0x1004a0d8", "mov dword ptr [eax], edx"], ["0x1004a0da", "mov dword ptr [edx], esi"], ["0x1004a0dc", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x1004af38", "mov dword ptr [eax], esi"], ["0x1004af3a", "mov dword ptr [esi], edx"], ["0x1004af3c", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x1004a0df", "pop esi", "0x1004af3f"], ["0x1004a0e0", "ret 4", "0x1004af40"]]}]]]}, {"address": "0x1004a0f0", "recomp": "0x1004af50", "name": "_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Rrotate", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004a0f0,17 +0x1004af50,17 @@", [{"both": [["0x1004a0f0", "push esi", "0x1004af50"], ["0x1004a0f1", "mov esi, dword ptr [esp + 8]", "0x1004af51"], ["0x1004a0f5", "mov edx, dword ptr [esi]", "0x1004af55"], ["0x1004a0f7", "mov eax, dword ptr [edx + 8]", "0x1004af57"], ["0x1004a0fa", "mov dword ptr [esi], eax", "0x1004af5a"], ["0x1004a0fc", "mov eax, dword ptr [edx + 8]", "0x1004af5c"]]}, {"orig": [["0x1004a0ff", "cmp dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)], eax"]], "recomp": [["0x1004af5f", "cmp eax, dword ptr [_Tree<LegoBEWithFloat *,LegoBEWithFloat *,multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Kfn,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::_Nil (DATA)]"]]}, {"both": [["0x1004a105", "je 0x3", "0x1004af65"], ["0x1004a107", "mov dword ptr [eax + 4], esi", "0x1004af67"], ["0x1004a10a", "mov eax, dword ptr [esi + 4]", "0x1004af6a"], ["0x1004a10d", "mov dword ptr [edx + 4], eax", "0x1004af6d"], ["0x1004a110", "mov eax, dword ptr [ecx + 4]", "0x1004af70"], ["0x1004a113", "add eax, 4", "0x1004af73"], ["0x1004a116", "cmp dword ptr [eax], esi", "0x1004af76"], ["0x1004a118", "je 0x22", "0x1004af78"], ["0x1004a11a", "mov ecx, dword ptr [esi + 4]", "0x1004af7a"], ["0x1004a11d", "lea eax, [ecx + 8]", "0x1004af7d"]]}]]]}, {"address": "0x1004a150", "recomp": "0x1004afb0", "name": "List<LegoBEWithFloat>::~List<LegoBEWithFloat>", "matching": 1.0, "diff": []}, {"address": "0x1004a1a0", "recomp": "0x1004b000", "name": "Multiset<LegoBEWithFloat *,LegoBEWithFloatComparator>::~Multiset<LegoBEWithFloat *,LegoBEWithFloatComparator>", "matching": 1.0, "diff": []}, {"address": "0x1004a1f0", "recomp": "0x1004b050", "name": "multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >::~multiset<LegoBEWithFloat *,LegoBEWithFloatComparator,allocator<LegoBEWithFloat *> >", "matching": 1.0, "diff": []}, {"address": "0x1004a240", "recomp": "0x1004b0a0", "name": "LegoPathController::FUN_1004a240", "matching": 1.0, "diff": []}, {"address": "0x1004a380", "recomp": "0x1004b1e0", "name": "LegoPathController::FUN_1004a380", "matching": 0.9930795847750865, "diff": [["@@ -0x1004a43b,24 +0x1004b29b,24 @@", [{"both": [["0x1004a43b", "mov eax, dword ptr [esp + 0x24]", "0x1004b29b"], ["0x1004a43f", "mov ebx, dword ptr [esi]", "0x1004b29f"], ["0x1004a441", "push eax", "0x1004b2a1"], ["0x1004a442", "mov ecx, esi", "0x1004b2a2"], ["0x1004a444", "push esi", "0x1004b2a4"], ["0x1004a445", "call dword ptr [ebx + 0x38]", "0x1004b2a5"], ["0x1004a448", "mov ecx, dword ptr [esp + 0x24]", "0x1004b2a8"], ["0x1004a44c", "mov eax, dword ptr [ecx + 4]", "0x1004b2ac"], ["0x1004a44f", "fadd dword ptr [eax + 0xc]", "0x1004b2af"], ["0x1004a452", "fmul dword ptr [esp + 0x2c]", "0x1004b2b2"]]}, {"orig": [["0x1004a456", "fmul dword ptr [-4.0 (FLOAT)]"]], "recomp": [["0x1004b2b6", "fmul dword ptr [4.0 (FLOAT)]"]]}, {"both": [["0x1004a45c", "fld dword ptr [esp + 0x18]", "0x1004b2bc"], ["0x1004a460", "fmul dword ptr [esp + 0x18]", "0x1004b2c0"]]}, {"orig": [["0x1004a464", "faddp st(1)"]], "recomp": [["0x1004b2c4", "fsubrp st(1)"]]}, {"both": [["0x1004a466", "fcom qword ptr [-0.001 (FLOAT)]", "0x1004b2c6"], ["0x1004a46c", "fstp dword ptr [esp + 0x20]", "0x1004b2cc"], ["0x1004a470", "fnstsw ax", "0x1004b2d0"], ["0x1004a472", "test ah, 1", "0x1004b2d2"], ["0x1004a475", "jne 0x292", "0x1004b2d5"], ["0x1004a47b", "cmp dword ptr [esp + 0x20], 0x80000000", "0x1004b2db"], ["0x1004a483", "jbe 0xa", "0x1004b2e3"], ["0x1004a485", "mov dword ptr [esp + 0x20], 0", "0x1004b2e5"], ["0x1004a48d", "jmp 0xa", "0x1004b2ed"], ["0x1004a48f", "fld dword ptr [esp + 0x20]", "0x1004b2ef"]]}]]]}, {"address": "0x1004a760", "recomp": "0x1004b5c0", "name": "_Construct", "matching": 1.0, "diff": []}, {"address": "0x1004a780", "recomp": "0x1004b5e0", "name": "_Construct", "matching": 1.0, "diff": []}, {"address": "0x1004a7a0", "recomp": "0x100223f0", "name": "_Construct", "matching": 1.0, "diff": []}, {"address": "0x1004a7c0", "recomp": "0x1004c300", "name": "Lego3DWavePresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1004a7f0", "recomp": "0x1004c330", "name": "Lego3DWavePresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1004a810", "recomp": "0x1004c350", "name": "Lego3DWavePresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1004a8b0", "recomp": "0x1004c3f0", "name": "Lego3DWavePresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x1004a8d0", "recomp": "0x1004c410", "name": "LegoAnimMMPresenter::LegoAnimMMPresenter", "matching": 1.0, "diff": []}, {"address": "0x1004a950", "recomp": "0x1004c490", "name": "LegoAnimMMPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1004a960", "recomp": "0x1004c4a0", "name": "LegoAnimMMPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1004aa40", "recomp": "0x1004c580", "name": "LegoAnimMMPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004aa60", "recomp": "0x1004c5a0", "name": "LegoAnimMMPresenter::~LegoAnimMMPresenter", "matching": 1.0, "diff": []}, {"address": "0x1004aaf0", "recomp": "0x1004c630", "name": "LegoAnimMMPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x1004ad10", "recomp": "0x1004c880", "name": "MxDSActionListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004ad80", "recomp": "0x1004c8f0", "name": "MxListCursor<MxDSAction *>::~MxListCursor<MxDSAction *>", "matching": 1.0, "diff": []}, {"address": "0x1004add0", "recomp": "0x1004c940", "name": "MxListCursor<MxDSAction *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004ae40", "recomp": "0x1004c9b0", "name": "MxDSActionListCursor::~MxDSActionListCursor", "matching": 1.0, "diff": []}, {"address": "0x1004ae90", "recomp": "0x1004c850", "name": "list<MxPresenter *,allocator<MxPresenter *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x1004aec0", "recomp": "0x1004ca00", "name": "LegoAnimMMPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x1004afd0", "recomp": "0x1004cb10", "name": "LegoEndAnimNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x1004b080", "recomp": "0x1004cbc0", "name": "LegoEndAnimNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004b0f0", "recomp": "0x1004cc30", "name": "LegoEndAnimNotificationParam::~LegoEndAnimNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x1004b140", "recomp": "0x1004cc80", "name": "LegoAnimMMPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x1004b1c0", "recomp": "0x1004cd00", "name": "LegoAnimMMPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1004b220", "recomp": "0x1004cd60", "name": "LegoAnimMMPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x1004b250", "recomp": "0x1004cd90", "name": "LegoAnimMMPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x1004b2c0", "recomp": "0x1004ce00", "name": "LegoAnimMMPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x1004b2d0", "recomp": "0x1004ce10", "name": "LegoAnimMMPresenter::Notify", "matching": 1.0, "diff": []}, {"address": "0x1004b360", "recomp": "0x1004cea0", "name": "LegoAnimMMPresenter::VTable0x60", "matching": 1.0, "diff": []}, {"address": "0x1004b390", "recomp": "0x1004ced0", "name": "LegoAnimMMPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x1004b450", "recomp": "0x1004cf90", "name": "LegoAnimMMPresenter::FUN_1004b450", "matching": 0.9240506329113924, "diff": [["@@ -0x1004b450,24 +0x1004cf90,23 @@", [{"both": [["0x1004b450", "push ebx", "0x1004cf90"], ["0x1004b451", "push esi", "0x1004cf91"], ["0x1004b452", "push edi", "0x1004cf92"], ["0x1004b453", "mov esi, ecx", "0x1004cf93"], ["0x1004b455", "xor bl, bl", "0x1004cf95"], ["0x1004b457", "call Timer (FUNCTION)", "0x1004cf97"], ["0x1004b45c", "cmp byte ptr [eax + 0xc], bl", "0x1004cf9c"]]}, {"orig": [["0x1004b45f", "je 0xb"]], "recomp": [["0x1004cf9f", "je 0x8"]]}, {"both": [["0x1004b461", "mov edi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x1004cfa1"]]}, {"orig": [], "recomp": [["0x1004cfa7", "jmp 0x9"], ["0x1004cfa9", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x1004cfaf", "sub edi, dword ptr [eax + 8]"]]}, {"both": [["0x1004b467", "sub edi, dword ptr [esi + 0x50]", "0x1004cfb2"]]}, {"orig": [["0x1004b46a", "jmp 0xc"], ["0x1004b46c", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x1004b472", "sub edi, dword ptr [esi + 0x50]"], ["0x1004b475", "sub edi, dword ptr [eax + 8]"]], "recomp": []}, {"both": [["0x1004b478", "xor eax, eax", "0x1004cfb5"], ["0x1004b47a", "mov al, byte ptr [esi + 0x58]", "0x1004cfb7"], ["0x1004b47d", "cmp eax, 7", "0x1004cfba"], ["0x1004b480", "ja 0x81", "0x1004cfbd"], ["0x1004b486", "jmp dword ptr [eax*4 + <OFFSET4>]", "0x1004cfc3"], ["0x1004b48d", "push edi", "0x1004cfca"], ["0x1004b48e", "mov ecx, esi", "0x1004cfcb"], ["0x1004b490", "call LegoAnimMMPresenter::FUN_1004b530 (FUNCTION)", "0x1004cfcd"], ["0x1004b495", "test al, al", "0x1004cfd2"], ["0x1004b497", "je 0x6e", "0x1004cfd4"]]}]], ["@@ -,19 +,20 @@", [{"both": [["0x1004b4f9", "mov byte ptr [esi + 0x58], 7", "0x1004d036"], ["0x1004b4fd", "push edi", "0x1004d03a"], ["0x1004b4fe", "mov ecx, esi", "0x1004d03b"], ["0x1004b500", "mov bl, 1", "0x1004d03d"], ["0x1004b502", "call LegoAnimMMPresenter::FUN_1004b6d0 (FUNCTION)", "0x1004d03f"], ["0x1004b507", "mov al, bl", "0x1004d044"], ["0x1004b509", "pop edi", "0x1004d046"], ["0x1004b50a", "pop esi", "0x1004d047"], ["0x1004b50b", "pop ebx", "0x1004d048"], ["0x1004b50c", "ret ", "0x1004d049"]]}, {"orig": [["0x1004b50d", "lea ecx, [ecx]"]], "recomp": [["0x1004d04a", "mov edi, edi"]]}, {"both": [["", "Jump table:", ""], ["0x1004b510", "Jump_dest_0", "0x1004d04c"], ["0x1004b514", "Jump_dest_1", "0x1004d050"], ["0x1004b518", "Jump_dest_2", "0x1004d054"], ["0x1004b51c", "Jump_dest_3", "0x1004d058"], ["0x1004b520", "Jump_dest_4", "0x1004d05c"], ["0x1004b524", "Jump_dest_5", "0x1004d060"], ["0x1004b528", "Jump_dest_6", "0x1004d064"]]}, {"orig": [], "recomp": [["0x1004d068", "Jump_dest_7"]]}]]]}, {"address": "0x1004b530", "recomp": "0x1004d070", "name": "LegoAnimMMPresenter::FUN_1004b530", "matching": 1.0, "diff": []}, {"address": "0x1004b570", "recomp": "0x1004d0b0", "name": "LegoAnimMMPresenter::FUN_1004b570", "matching": 1.0, "diff": []}, {"address": "0x1004b580", "recomp": "0x1004d0c0", "name": "LegoAnimMMPresenter::FUN_1004b580", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004b580,19 +0x1004d0c0,19 @@", [{"both": [["0x1004b580", "xor eax, eax", "0x1004d0c0"], ["0x1004b582", "mov al, byte ptr [ecx + 0x59]", "0x1004d0c2"], ["0x1004b585", "test eax, eax", "0x1004d0c5"], ["0x1004b587", "jne 0x21", "0x1004d0c7"], ["0x1004b589", "mov eax, dword ptr [ecx + 0x60]", "0x1004d0c9"], ["0x1004b58c", "test eax, eax", "0x1004d0cc"], ["0x1004b58e", "je 0x1a", "0x1004d0ce"], ["0x1004b590", "cmp byte ptr [eax + 0x15], 0", "0x1004d0d0"], ["0x1004b594", "je 0x14", "0x1004d0d4"]]}, {"orig": [["0x1004b596", "mov eax, dword ptr [eax + 0x20]"], ["0x1004b599", "test eax, eax"]], "recomp": [["0x1004d0d6", "mov ecx, dword ptr [eax + 0x20]"], ["0x1004d0d9", "test ecx, ecx"]]}, {"both": [["0x1004b59b", "je 0xd", "0x1004d0db"]]}, {"orig": [["0x1004b59d", "mov ecx, dword ptr [esp + 4]"], ["0x1004b5a1", "cmp dword ptr [eax], ecx"]], "recomp": [["0x1004d0dd", "mov eax, dword ptr [esp + 4]"], ["0x1004d0e1", "cmp dword ptr [ecx], eax"]]}, {"both": [["0x1004b5a3", "jle 0x5", "0x1004d0e3"], ["0x1004b5a5", "xor al, al", "0x1004d0e5"], ["0x1004b5a7", "ret 4", "0x1004d0e7"], ["0x1004b5aa", "mov al, 1", "0x1004d0ea"], ["0x1004b5ac", "ret 4", "0x1004d0ec"]]}]]]}, {"address": "0x1004b5b0", "recomp": "0x1004d0f0", "name": "LegoAnimMMPresenter::FUN_1004b5b0", "matching": 1.0, "diff": []}, {"address": "0x1004b600", "recomp": "0x1004d140", "name": "LegoAnimMMPresenter::FUN_1004b600", "matching": 1.0, "diff": []}, {"address": "0x1004b610", "recomp": "0x1004d150", "name": "LegoAnimMMPresenter::FUN_1004b610", "matching": 1.0, "diff": []}, {"address": "0x1004b6b0", "recomp": "0x1004d1f0", "name": "LegoAnimMMPresenter::FUN_1004b6b0", "matching": 1.0, "diff": []}, {"address": "0x1004b6d0", "recomp": "0x1004d210", "name": "LegoAnimMMPresenter::FUN_1004b6d0", "matching": 0.9489795918367347, "diff": [["@@ -0x1004b724,40 +0x1004d264,40 @@", [{"both": [["0x1004b724", "je 0xa3", "0x1004d264"], ["0x1004b72a", "push esi", "0x1004d26a"], ["0x1004b72b", "call LegoWorld::RemoveActor (FUNCTION)", "0x1004d26b"], ["0x1004b730", "mov eax, dword ptr [edi + 0x60]", "0x1004d270"], ["0x1004b733", "cmp byte ptr [eax + 0x29], 0", "0x1004d273"], ["0x1004b737", "mov eax, 0", "0x1004d277"], ["0x1004b73c", "je 0x8b", "0x1004d27c"], ["0x1004b742", "lea eax, [esp + 0x34]", "0x1004d282"], ["0x1004b746", "lea ecx, [esp + 0x20]", "0x1004d286"], ["0x1004b74a", "mov dword ptr [esp + 0x30], eax", "0x1004d28a"]]}, {"orig": [], "recomp": [["0x1004d28e", "mov eax, Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1004d293", "mov dword ptr [esp + 0x2c], eax"]]}, {"both": [["0x1004b74e", "mov dword ptr [esp + 0x1c], ecx", "0x1004d297"]]}, {"orig": [["0x1004b752", "mov eax, Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x1004b757", "lea ecx, [esp + 0x10]", "0x1004d29b"]]}, {"orig": [["0x1004b75b", "mov dword ptr [esp + 0x2c], eax"]], "recomp": [["0x1004d29f", "mov dword ptr [esp + 0x18], eax"]]}, {"both": [["0x1004b75f", "push ecx", "0x1004d2a3"]]}, {"orig": [], "recomp": [["0x1004d2a4", "mov eax, dword ptr [ebx + 0x14]"]]}, {"both": [["0x1004b760", "lea ecx, [esp + 0x30]", "0x1004d2a7"]]}, {"orig": [["0x1004b764", "mov dword ptr [esp + 0x1c], eax"], ["0x1004b768", "mov eax, dword ptr [ebx + 0x14]"]], "recomp": []}, {"both": [["0x1004b76b", "add eax, 0x30", "0x1004d2ab"], ["0x1004b76e", "mov dword ptr [esp + 0x18], eax", "0x1004d2ae"], ["0x1004b772", "mov dword ptr [esp + 0x14], Vector3::`vftable' (VTABLE)", "0x1004d2b2"], ["0x1004b77a", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x1004d2ba"], ["0x1004b780", "mov eax, dword ptr [ebx + 0x14]", "0x1004d2c0"], ["0x1004b783", "lea ecx, [esp + 0x10]", "0x1004d2c3"], ["0x1004b787", "add eax, 0x20", "0x1004d2c7"], ["0x1004b78a", "push ecx", "0x1004d2ca"], ["0x1004b78b", "lea ecx, [esp + 0x1c]", "0x1004d2cb"]]}, {"orig": [["0x1004b78f", "mov ebp, dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x1004b793", "mov dword ptr [esp + 0x18], eax", "0x1004d2cf"], ["0x1004b797", "mov dword ptr [esp + 0x14], Vector3::`vftable' (VTABLE)", "0x1004d2d3"]]}, {"orig": [], "recomp": [["0x1004d2db", "mov ebp, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1004b79f", "call dword ptr [ebp + 0x88]", "0x1004d2df"], ["0x1004b7a5", "mov eax, dword ptr [esp + 0x30]", "0x1004d2e5"], ["0x1004b7a9", "lea ecx, [esp + 0x18]", "0x1004d2e9"], ["0x1004b7ad", "add eax, 4", "0x1004d2ed"], ["0x1004b7b0", "push ecx", "0x1004d2f0"], ["0x1004b7b1", "lea edx, [esp + 0x30]", "0x1004d2f1"], ["0x1004b7b5", "fld dword ptr [eax]", "0x1004d2f5"], ["0x1004b7b7", "fsub qword ptr [1.25 (FLOAT)]", "0x1004d2f7"], ["0x1004b7bd", "push edx", "0x1004d2fd"], ["0x1004b7be", "fstp dword ptr [eax]", "0x1004d2fe"]]}]]]}, {"address": "0x1004b830", "recomp": "0x1004d370", "name": "LegoAnimMMPresenter::FUN_1004b830", "matching": 1.0, "diff": []}, {"address": "0x1004b840", "recomp": "0x1004d380", "name": "LegoAnimMMPresenter::FUN_1004b840", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004b844,21 +0x1004d384,21 @@", [{"both": [["0x1004b844", "push edi", "0x1004d384"], ["0x1004b845", "mov edi, dword ptr [ecx + 0x1c]", "0x1004d385"], ["0x1004b848", "mov esi, ecx", "0x1004d388"], ["0x1004b84a", "mov ecx, dword ptr [ecx + 0x4c]", "0x1004d38a"], ["0x1004b84d", "test ecx, ecx", "0x1004d38d"], ["0x1004b84f", "je 0x5", "0x1004d38f"], ["0x1004b851", "call LegoAnimPresenter::FUN_1006c7a0 (FUNCTION)", "0x1004d391"], ["0x1004b856", "mov eax, dword ptr [esi + 0x44]", "0x1004d396"], ["0x1004b859", "mov ecx, dword ptr [eax]", "0x1004d399"], ["0x1004b85b", "mov dword ptr [esp + 8], ecx", "0x1004d39b"]]}, {"orig": [["0x1004b85f", "cmp eax, ecx"]], "recomp": [["0x1004d39f", "cmp ecx, eax"]]}, {"both": [["0x1004b861", "je 0x20", "0x1004d3a1"], ["0x1004b863", "mov eax, dword ptr [esp + 8]", "0x1004d3a3"], ["0x1004b867", "mov ecx, dword ptr [eax + 8]", "0x1004d3a7"], ["0x1004b86a", "cmp dword ptr [esi + 0x4c], ecx", "0x1004d3aa"], ["0x1004b86d", "je 0x5", "0x1004d3ad"], ["0x1004b86f", "mov eax, dword ptr [ecx]", "0x1004d3af"], ["0x1004b871", "call dword ptr [eax + 0x40]", "0x1004d3b1"], ["0x1004b874", "mov eax, dword ptr [esp + 8]", "0x1004d3b4"], ["0x1004b878", "mov ecx, dword ptr [eax]", "0x1004d3b8"], ["0x1004b87a", "mov dword ptr [esp + 8], ecx", "0x1004d3ba"]]}]]]}, {"address": "0x1004b8b0", "recomp": "0x1004d3f0", "name": "LegoAnimMMPresenter::FUN_1004b8b0", "matching": 1.0, "diff": []}, {"address": "0x1004b8c0", "recomp": "0x1004d400", "name": "LegoAnimMMPresenter::FUN_1004b8c0", "matching": 1.0, "diff": []}, {"address": "0x1004b8d0", "recomp": "0x1004d410", "name": "MxTransitionManager::MxTransitionManager", "matching": 1.0, "diff": []}, {"address": "0x1004b950", "recomp": "0x1004d490", "name": "MxTransitionManager::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1004b960", "recomp": "0x1004d4a0", "name": "MxTransitionManager::IsA", "matching": 1.0, "diff": []}, {"address": "0x1004b9e0", "recomp": "0x1004d520", "name": "MxTransitionManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004ba00", "recomp": "0x1004d540", "name": "MxTransitionManager::~MxTransitionManager", "matching": 1.0, "diff": []}, {"address": "0x1004baa0", "recomp": "0x1004d5e0", "name": "MxTransitionManager::GetDDrawSurfaceFromVideoManager", "matching": 1.0, "diff": []}, {"address": "0x1004bac0", "recomp": "0x1004d600", "name": "MxTransitionManager::Tickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004bac0,20 +0x1004d600,20 @@", [{"both": [["0x1004bac0", "push ebx", "0x1004d600"], ["0x1004bac1", "push esi", "0x1004d601"], ["0x1004bac2", "push edi", "0x1004d602"], ["0x1004bac3", "mov ebx, ecx", "0x1004d603"], ["0x1004bac5", "mov esi, dword ptr [__imp__timeGetTime@0 (POINTER)]", "0x1004d605"], ["0x1004bacb", "mov edi, dword ptr [ebx + 0x8fc]", "0x1004d60b"], ["0x1004bad1", "add edi, dword ptr [ebx + 0x8f8]", "0x1004d611"], ["0x1004bad7", "call esi", "0x1004d617"]]}, {"orig": [["0x1004bad9", "cmp edi, eax"], ["0x1004badb", "jbe 0x6"]], "recomp": [["0x1004d619", "cmp eax, edi"], ["0x1004d61b", "jae 0x6"]]}, {"both": [["0x1004badd", "xor eax, eax", "0x1004d61d"], ["0x1004badf", "pop edi", "0x1004d61f"], ["0x1004bae0", "pop esi", "0x1004d620"], ["0x1004bae1", "pop ebx", "0x1004d621"], ["0x1004bae2", "ret ", "0x1004d622"], ["0x1004bae3", "call esi", "0x1004d623"], ["0x1004bae5", "mov dword ptr [ebx + 0x8f8], eax", "0x1004d625"], ["0x1004baeb", "mov eax, dword ptr [ebx + 0x2c]", "0x1004d62b"], ["0x1004baee", "dec eax", "0x1004d62e"], ["0x1004baef", "cmp eax, 5", "0x1004d62f"]]}]]]}, {"address": "0x1004bb70", "recomp": "0x1004d6b0", "name": "MxTransitionManager::StartTransition", "matching": 1.0, "diff": []}, {"address": "0x1004bc30", "recomp": "0x1004d770", "name": "MxTransitionManager::EndTransition", "matching": 1.0, "diff": []}, {"address": "0x1004bcf0", "recomp": "0x1004d830", "name": "MxTransitionManager::NoTransition", "matching": 1.0, "diff": []}, {"address": "0x1004bd10", "recomp": "0x1004d850", "name": "MxTransitionManager::DissolveTransition", "matching": 0.8786885245901639, "diff": [["@@ -0x1004bd33,32 +0x1004d873,32 @@", [{"both": [["0x1004bd33", "pop ebx", "0x1004d873"], ["0x1004bd34", "add esp, 0x6c", "0x1004d874"], ["0x1004bd37", "ret ", "0x1004d877"], ["0x1004bd38", "test ax, ax", "0x1004d878"], ["0x1004bd3b", "jne 0x5e", "0x1004d87b"], ["0x1004bd3d", "xor eax, eax", "0x1004d87d"], ["0x1004bd3f", "mov word ptr [esi + eax*2 + 0x36], ax", "0x1004d87f"], ["0x1004bd44", "inc eax", "0x1004d884"], ["0x1004bd45", "cmp eax, 0x280", "0x1004d885"], ["0x1004bd4a", "jl -0xd", "0x1004d88a"]]}, {"orig": [["0x1004bd4c", "lea ebx, [esi + 0x36]"], ["0x1004bd4f", "mov edi, 0x280"], ["0x1004bd54", "add ebx, 2"]], "recomp": [["0x1004d88c", "lea edi, [esi + 0x36]"], ["0x1004d88f", "mov ebx, 0x280"], ["0x1004d894", "add edi, 2"]]}, {"both": [["0x1004bd57", "call _rand (FUNCTION)", "0x1004d897"], ["0x1004bd5c", "cdq ", "0x1004d89c"]]}, {"orig": [["0x1004bd5d", "mov bp, word ptr [ebx - 2]"]], "recomp": [["0x1004d89d", "mov bp, word ptr [edi - 2]"]]}, {"both": [["0x1004bd61", "mov ecx, 0x280", "0x1004d8a1"], ["0x1004bd66", "idiv ecx", "0x1004d8a6"]]}, {"orig": [["0x1004bd68", "dec edi"]], "recomp": [["0x1004d8a8", "dec ebx"]]}, {"both": [["0x1004bd69", "lea eax, [esi + edx*2 + 0x36]", "0x1004d8a9"], ["0x1004bd6d", "mov cx, word ptr [eax]", "0x1004d8ad"]]}, {"orig": [["0x1004bd70", "mov word ptr [ebx - 2], cx"]], "recomp": [["0x1004d8b0", "mov word ptr [edi - 2], cx"]]}, {"both": [["0x1004bd74", "mov word ptr [eax], bp", "0x1004d8b4"], ["0x1004bd77", "jne -0x25", "0x1004d8b7"], ["0x1004bd79", "lea ebx, [esi + 0x536]", "0x1004d8b9"], ["0x1004bd7f", "mov edi, 0x1e0", "0x1004d8bf"], ["0x1004bd84", "add ebx, 2", "0x1004d8c4"], ["0x1004bd87", "call _rand (FUNCTION)", "0x1004d8c7"], ["0x1004bd8c", "cdq ", "0x1004d8cc"], ["0x1004bd8d", "mov ecx, 0x280", "0x1004d8cd"], ["0x1004bd92", "idiv ecx", "0x1004d8d2"], ["0x1004bd94", "mov word ptr [ebx - 2], dx", "0x1004d8d4"]]}]], ["@@ -0x1004bdd4,62 +0x1004d914,62 @@", [{"both": [["0x1004bdd4", "mov eax, dword ptr [esi + 0x30]", "0x1004d914"], ["0x1004bdd7", "push 0", "0x1004d917"], ["0x1004bdd9", "lea ecx, [esp + 0x14]", "0x1004d919"], ["0x1004bddd", "push 1", "0x1004d91d"], ["0x1004bddf", "push ecx", "0x1004d91f"], ["0x1004bde0", "mov ebx, dword ptr [eax]", "0x1004d920"], ["0x1004bde2", "push 0", "0x1004d922"], ["0x1004bde4", "push eax", "0x1004d924"], ["0x1004bde5", "call dword ptr [ebx + 0x64]", "0x1004d925"], ["0x1004bde8", "test eax, eax", "0x1004d928"]]}, {"orig": [["0x1004bdea", "jne 0xce"]], "recomp": [["0x1004d92a", "jne 0xcd"]]}, {"both": [["0x1004bdf0", "lea eax, [esp + 0x10]", "0x1004d930"], ["0x1004bdf4", "mov ecx, esi", "0x1004d934"], ["0x1004bdf6", "push eax", "0x1004d936"], ["0x1004bdf7", "xor edi, edi", "0x1004d937"], ["0x1004bdf9", "call MxTransitionManager::SubmitCopyRect (FUNCTION)", "0x1004d939"], ["0x1004bdfe", "xor ecx, ecx", "0x1004d93e"], ["0x1004be00", "xor eax, eax", "0x1004d940"], ["0x1004be02", "mov cx, word ptr [esi + edi*2 + 0x36]", "0x1004d942"], ["0x1004be07", "mov ax, word ptr [esi + 0x34]", "0x1004d947"], ["0x1004be0b", "shl eax, 4", "0x1004d94b"], ["0x1004be0e", "cmp ecx, eax", "0x1004d94e"]]}, {"orig": [["0x1004be10", "jl 0x57"]], "recomp": [["0x1004d950", "jl 0x56"]]}, {"both": [["0x1004be12", "add eax, 0xf", "0x1004d952"], ["0x1004be15", "cmp eax, ecx", "0x1004d955"]]}, {"orig": [["0x1004be17", "jl 0x50"]], "recomp": [["0x1004d957", "jl 0x4f"]]}, {"both": [["0x1004be19", "xor ecx, ecx", "0x1004d959"], ["0x1004be1b", "mov ebx, 8", "0x1004d95b"], ["0x1004be20", "xor eax, eax", "0x1004d960"], ["0x1004be22", "mov ebp, 0x280", "0x1004d962"], ["0x1004be27", "mov ax, word ptr [esi + ecx*2 + 0x536]", "0x1004d967"], ["0x1004be2f", "add eax, edi", "0x1004d96f"], ["0x1004be31", "cdq ", "0x1004d971"], ["0x1004be32", "idiv ebp", "0x1004d972"]]}, {"orig": [], "recomp": [["0x1004d974", "mov ebp, dword ptr [esp + 0x20]"]]}, {"both": [["0x1004be34", "cmp dword ptr [esp + 0x64], ebx", "0x1004d978"]]}, {"orig": [["0x1004be38", "jne 0x11"], ["0x1004be3a", "mov eax, dword ptr [esp + 0x20]"], ["0x1004be3e", "imul eax, ecx"], ["0x1004be41", "add eax, dword ptr [esp + 0x34]"], ["0x1004be45", "mov byte ptr [eax + edx], 0"], ["0x1004be49", "jmp 0x15"], ["0x1004be4b", "mov ebp, dword ptr [esp + 0x20]"]], "recomp": [["0x1004d97c", "jne 0x10"], ["0x1004d97e", "imul ebp, ecx"], ["0x1004d981", "add ebp, edx"]]}, {"both": [["0x1004be4f", "mov eax, dword ptr [esp + 0x34]", "0x1004d983"]]}, {"orig": [], "recomp": [["0x1004d987", "mov byte ptr [ebp + eax], 0"], ["0x1004d98c", "jmp 0x11"]]}, {"both": [["0x1004be53", "imul ebp, ecx", "0x1004d98e"]]}, {"orig": [], "recomp": [["0x1004d991", "mov eax, dword ptr [esp + 0x34]"]]}, {"both": [["0x1004be56", "lea edx, [ebp + edx*2]", "0x1004d995"], ["0x1004be5a", "mov word ptr [edx + eax], 0", "0x1004d999"], ["0x1004be60", "inc ecx", "0x1004d99f"], ["0x1004be61", "cmp ecx, 0x1e0", "0x1004d9a0"]]}, {"orig": [["0x1004be67", "jl -0x49"]], "recomp": [["0x1004d9a6", "jl -0x48"]]}, {"both": [["0x1004be69", "inc edi", "0x1004d9a8"], ["0x1004be6a", "cmp edi, 0x280", "0x1004d9a9"]]}, {"orig": [["0x1004be70", "jl -0x74"]], "recomp": [["0x1004d9af", "jl -0x73"]]}, {"both": [["0x1004be72", "lea eax, [esp + 0x10]", "0x1004d9b1"], ["0x1004be76", "mov ecx, esi", "0x1004d9b5"], ["0x1004be78", "push eax", "0x1004d9b7"], ["0x1004be79", "call MxTransitionManager::SetupCopyRect (FUNCTION)", "0x1004d9b8"], ["0x1004be7e", "mov eax, dword ptr [esi + 0x30]", "0x1004d9bd"], ["0x1004be81", "mov ecx, dword ptr [esp + 0x34]", "0x1004d9c0"], ["0x1004be85", "mov ebx, dword ptr [eax]", "0x1004d9c4"], ["0x1004be87", "push ecx", "0x1004d9c6"], ["0x1004be88", "push eax", "0x1004d9c7"], ["0x1004be89", "call dword ptr [ebx + 0x80]", "0x1004d9c8"]]}]], ["@@ -0x1004beb2,10 +0x1004d9f1,11 @@", [{"both": [["0x1004beb2", "push 0", "0x1004d9f1"], ["0x1004beb4", "push eax", "0x1004d9f3"], ["0x1004beb5", "mov ebx, dword ptr [eax]", "0x1004d9f4"], ["0x1004beb7", "call dword ptr [ebx + 0x1c]", "0x1004d9f6"], ["0x1004beba", "inc word ptr [esi + 0x34]", "0x1004d9f9"], ["0x1004bebe", "pop ebp", "0x1004d9fd"], ["0x1004bebf", "pop edi", "0x1004d9fe"], ["0x1004bec0", "pop esi", "0x1004d9ff"], ["0x1004bec1", "pop ebx", "0x1004da00"], ["0x1004bec2", "add esp, 0x6c", "0x1004da01"]]}, {"orig": [], "recomp": [["0x1004da04", "ret "]]}]]]}, {"address": "0x1004bed0", "recomp": "0x1004da10", "name": "MxTransitionManager::MosaicTransition", "matching": 0.9680365296803652, "diff": [["@@ -0x1004c038,54 +0x1004db78,54 @@", [{"both": [["0x1004c038", "and eax, 0x3f", "0x1004db78"], ["0x1004c03b", "mov edi, dword ptr [esp + 0x30]", "0x1004db7b"], ["0x1004c03f", "xor eax, edx", "0x1004db7f"], ["0x1004c041", "sub eax, edx", "0x1004db81"], ["0x1004c043", "imul edi, dword ptr [esp + 0x1c]", "0x1004db83"], ["0x1004c048", "lea ebx, [eax + eax*4]", "0x1004db88"], ["0x1004c04b", "mov eax, dword ptr [esp + 0x74]", "0x1004db8b"], ["0x1004c04f", "shr eax, 3", "0x1004db8f"], ["0x1004c052", "lea esi, [ebx*2]", "0x1004db92"], ["0x1004c059", "lea ebx, [edi + edi*4]", "0x1004db99"]]}, {"orig": [["0x1004c05c", "mov edx, esi"], ["0x1004c05e", "imul edx, eax"]], "recomp": [["0x1004db9c", "mov edx, eax"], ["0x1004db9e", "imul edx, esi"]]}, {"both": [["0x1004c061", "lea edi, [edx + ebx*2]", "0x1004dba1"], ["0x1004c064", "add edi, dword ptr [esp + 0x44]", "0x1004dba4"], ["0x1004c068", "cmp eax, 1", "0x1004dba8"], ["0x1004c06b", "jne 0x6", "0x1004dbab"], ["0x1004c06d", "xor edx, edx", "0x1004dbad"], ["0x1004c06f", "mov dl, byte ptr [edi]", "0x1004dbaf"], ["0x1004c071", "jmp 0x5", "0x1004dbb1"], ["0x1004c073", "xor edx, edx", "0x1004dbb3"], ["0x1004c075", "mov dx, word ptr [edi]", "0x1004dbb5"], ["0x1004c078", "lea edi, [ecx - 0xa]", "0x1004dbb8"], ["0x1004c07b", "cmp edi, ecx", "0x1004dbbb"], ["0x1004c07d", "jge 0x59", "0x1004dbbd"], ["0x1004c07f", "cmp dword ptr [esp + 0x74], 8", "0x1004dbbf"], ["0x1004c084", "jne 0x26", "0x1004dbc4"], ["0x1004c086", "mov al, dl", "0x1004dbc6"], ["0x1004c088", "mov ah, al", "0x1004dbc8"], ["0x1004c08a", "mov al, dl", "0x1004dbca"], ["0x1004c08c", "mov ebx, eax", "0x1004dbcc"], ["0x1004c08e", "shl ebx, 0x10", "0x1004dbce"], ["0x1004c091", "mov bx, ax", "0x1004dbd1"]]}, {"orig": [["0x1004c094", "mov eax, edi"], ["0x1004c096", "imul eax, dword ptr [esp + 0x30]"]], "recomp": [["0x1004dbd4", "mov eax, dword ptr [esp + 0x30]"], ["0x1004dbd8", "imul eax, edi"], ["0x1004dbdb", "add eax, dword ptr [esp + 0x44]"]]}, {"both": [["0x1004c09b", "add eax, esi", "0x1004dbdf"]]}, {"orig": [["0x1004c09d", "add eax, dword ptr [esp + 0x44]"]], "recomp": []}, {"both": [["0x1004c0a1", "mov dword ptr [eax], ebx", "0x1004dbe1"], ["0x1004c0a3", "mov dword ptr [eax + 4], ebx", "0x1004dbe3"], ["0x1004c0a6", "mov word ptr [eax + 8], bx", "0x1004dbe6"], ["0x1004c0aa", "jmp 0x27", "0x1004dbea"], ["0x1004c0ac", "movzx ebx, dx", "0x1004dbec"]]}, {"orig": [["0x1004c0af", "mov eax, edi"]], "recomp": [["0x1004dbef", "mov eax, dword ptr [esp + 0x30]"]]}, {"both": [["0x1004c0b1", "mov ebp, ebx", "0x1004dbf3"]]}, {"orig": [["0x1004c0b3", "imul eax, dword ptr [esp + 0x30]"]], "recomp": [["0x1004dbf5", "imul eax, edi"]]}, {"both": [["0x1004c0b8", "shl ebp, 0x10", "0x1004dbf8"], ["0x1004c0bb", "lea eax, [eax + esi*2]", "0x1004dbfb"], ["0x1004c0be", "mov bp, bx", "0x1004dbfe"], ["0x1004c0c1", "add eax, dword ptr [esp + 0x44]", "0x1004dc01"], ["0x1004c0c5", "mov dword ptr [eax], ebp", "0x1004dc05"], ["0x1004c0c7", "mov dword ptr [eax + 4], ebp", "0x1004dc07"], ["0x1004c0ca", "mov dword ptr [eax + 8], ebp", "0x1004dc0a"], ["0x1004c0cd", "mov dword ptr [eax + 0xc], ebp", "0x1004dc0d"], ["0x1004c0d0", "mov dword ptr [eax + 0x10], ebp", "0x1004dc10"], ["0x1004c0d3", "inc edi", "0x1004dc13"]]}]]]}, {"address": "0x1004c170", "recomp": "0x1004dcb0", "name": "MxTransitionManager::WipeDownTransition", "matching": 1.0, "diff": []}, {"address": "0x1004c270", "recomp": "0x1004ddb0", "name": "MxTransitionManager::WindowsTransition", "matching": 1.0, "diff": []}, {"address": "0x1004c3e0", "recomp": "0x1004df20", "name": "MxTransitionManager::BrokenTransition", "matching": 1.0, "diff": []}, {"address": "0x1004c470", "recomp": "0x1004dfb0", "name": "MxTransitionManager::SetWaitIndicator", "matching": 1.0, "diff": []}, {"address": "0x1004c4d0", "recomp": "0x1004e010", "name": "MxTransitionManager::SubmitCopyRect", "matching": 0.6666666666666666, "diff": [["@@ -0x1004c4d0,56 +0x1004e010,56 @@", [{"both": [["0x1004c4d0", "sub esp, 4", "0x1004e010"], ["0x1004c4d3", "push ebx", "0x1004e013"], ["0x1004c4d4", "push esi", "0x1004e014"], ["0x1004c4d5", "push edi", "0x1004e015"], ["0x1004c4d6", "mov ebx, ecx", "0x1004e016"], ["0x1004c4d8", "push ebp", "0x1004e018"], ["0x1004c4d9", "test byte ptr [ebx + 0x20], 1", "0x1004e019"], ["0x1004c4dd", "je 0x84", "0x1004e01d"], ["0x1004c4e3", "cmp dword ptr [ebx + 8], 0", "0x1004e023"], ["0x1004c4e7", "je 0x7e", "0x1004e027"]]}, {"orig": [["0x1004c4e9", "mov edx, dword ptr [ebx + 0x1c]"], ["0x1004c4ec", "test edx, edx"]], "recomp": [["0x1004e029", "mov ebp, dword ptr [ebx + 0x1c]"], ["0x1004e02c", "test ebp, ebp"]]}, {"both": [["0x1004c4ee", "je 0x77", "0x1004e02e"], ["0x1004c4f0", "mov esi, dword ptr [esp + 0x18]", "0x1004e030"]]}, {"orig": [["0x1004c4f4", "mov eax, dword ptr [ebx + 0xc]"], ["0x1004c4f7", "mov ebp, dword ptr [ebx + 0x14]"], ["0x1004c4fa", "mov ecx, dword ptr [esi + 0x54]"], ["0x1004c4fd", "shr ecx, 3"], ["0x1004c500", "sub ebp, eax"], ["0x1004c502", "inc ebp"], ["0x1004c503", "mov edi, dword ptr [esi + 0x10]"]], "recomp": [["0x1004e034", "mov ecx, dword ptr [ebx + 0xc]"], ["0x1004e037", "mov eax, dword ptr [ebx + 0x14]"], ["0x1004e03a", "mov edi, dword ptr [esi + 0x54]"], ["0x1004e03d", "shr edi, 3"], ["0x1004e040", "sub eax, ecx"], ["0x1004e042", "inc eax"], ["0x1004e043", "mov edx, dword ptr [esi + 0x10]"]]}, {"both": [["0x1004c506", "mov dword ptr [esp + 0x10], 0", "0x1004e046"]]}, {"orig": [["0x1004c50e", "imul ebp, ecx"], ["0x1004c511", "imul edi, dword ptr [ebx + 0x10]"], ["0x1004c515", "imul eax, ecx"], ["0x1004c518", "add edi, dword ptr [esi + 0x24]"]], "recomp": [["0x1004e04e", "imul eax, edi"], ["0x1004e051", "imul edx, dword ptr [ebx + 0x10]"], ["0x1004e055", "imul edi, ecx"], ["0x1004e058", "add edx, edi"]]}, {"both": [["0x1004c51b", "mov ecx, dword ptr [ebx + 0x18]", "0x1004e05a"]]}, {"orig": [["0x1004c51e", "add eax, edi"]], "recomp": [["0x1004e05d", "add edx, dword ptr [esi + 0x24]"]]}, {"both": [["0x1004c520", "sub ecx, dword ptr [ebx + 0x10]", "0x1004e060"], ["0x1004c523", "inc ecx", "0x1004e063"], ["0x1004c524", "test ecx, ecx", "0x1004e064"], ["0x1004c526", "jle 0x2c", "0x1004e066"]]}, {"orig": [["0x1004c528", "mov edi, eax"], ["0x1004c52a", "mov esi, edx"], ["0x1004c52c", "mov ecx, ebp"], ["0x1004c52e", "add edx, ebp"]], "recomp": [["0x1004e068", "mov edi, edx"], ["0x1004e06a", "mov esi, ebp"], ["0x1004e06c", "mov ecx, eax"], ["0x1004e06e", "add ebp, eax"]]}, {"both": [["0x1004c530", "shr ecx, 2", "0x1004e070"], ["0x1004c533", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1004e073"]]}, {"orig": [["0x1004c535", "mov ecx, ebp"]], "recomp": [["0x1004e075", "mov ecx, eax"]]}, {"both": [["0x1004c537", "and ecx, 3", "0x1004e077"], ["0x1004c53a", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1004e07a"], ["0x1004c53c", "mov esi, dword ptr [esp + 0x18]", "0x1004e07c"], ["0x1004c540", "mov ecx, dword ptr [ebx + 0x18]", "0x1004e080"], ["0x1004c543", "sub ecx, dword ptr [ebx + 0x10]", "0x1004e083"], ["0x1004c546", "inc dword ptr [esp + 0x10]", "0x1004e086"]]}, {"orig": [["0x1004c54a", "add eax, dword ptr [esi + 0x10]"]], "recomp": [["0x1004e08a", "add edx, dword ptr [esi + 0x10]"]]}, {"both": [["0x1004c54d", "inc ecx", "0x1004e08d"], ["0x1004c54e", "cmp ecx, dword ptr [esp + 0x10]", "0x1004e08e"], ["0x1004c552", "jg -0x2c", "0x1004e092"], ["0x1004c554", "mov eax, dword ptr [ebx + 0x1c]", "0x1004e094"], ["0x1004c557", "push eax", "0x1004e097"], ["0x1004c558", "call ??3@YAXPAX@Z (FUNCTION)", "0x1004e098"], ["0x1004c55d", "mov dword ptr [ebx + 0x1c], 0", "0x1004e09d"], ["0x1004c564", "add esp, 4", "0x1004e0a4"], ["0x1004c567", "pop ebp", "0x1004e0a7"], ["0x1004c568", "pop edi", "0x1004e0a8"]]}]]]}, {"address": "0x1004c580", "recomp": "0x1004e0c0", "name": "MxTransitionManager::SetupCopyRect", "matching": 0.3693379790940767, "diff": [["@@ -0x1004c580,142 +0x1004e0c0,145 @@", [{"orig": [["0x1004c580", "sub esp, 0x10"]], "recomp": [["0x1004e0c0", "sub esp, 8"]]}, {"both": [["0x1004c583", "push ebx", "0x1004e0c3"], ["0x1004c584", "push esi", "0x1004e0c4"], ["0x1004c585", "push edi", "0x1004e0c5"], ["0x1004c586", "mov ebx, ecx", "0x1004e0c6"], ["0x1004c588", "push ebp", "0x1004e0c8"], ["0x1004c589", "test byte ptr [ebx + 0x20], 1", "0x1004e0c9"]]}, {"orig": [["0x1004c58d", "je 0x17f"]], "recomp": [["0x1004e0cd", "je 0x173"]]}, {"both": [["0x1004c593", "mov ecx, dword ptr [ebx + 8]", "0x1004e0d3"], ["0x1004c596", "test ecx, ecx", "0x1004e0d6"]]}, {"orig": [["0x1004c598", "je 0x174"]], "recomp": [["0x1004e0d8", "je 0x168"]]}, {"both": [["0x1004c59e", "mov eax, dword ptr [ecx]", "0x1004e0de"], ["0x1004c5a0", "call dword ptr [eax + 8]", "0x1004e0e0"], ["0x1004c5a3", "mov ecx, dword ptr [ebx + 8]", "0x1004e0e3"], ["0x1004c5a6", "cmp dword ptr [ecx + 8], 3", "0x1004e0e6"]]}, {"orig": [["0x1004c5aa", "jl 0xd3"], ["0x1004c5b0", "mov esi, dword ptr [esp + 0x24]"], ["0x1004c5b4", "mov ebp, dword ptr [ebx + 0x14]"], ["0x1004c5b7", "sub ebp, dword ptr [ebx + 0xc]"], ["0x1004c5ba", "mov edi, dword ptr [ecx + 0x10]"], ["0x1004c5bd", "mov eax, dword ptr [esi + 0x54]"], ["0x1004c5c0", "inc ebp"], ["0x1004c5c1", "shr eax, 3"], ["0x1004c5c4", "mov edx, dword ptr [ecx + 0x14]"]], "recomp": [["0x1004e0ea", "jl 0xc2"], ["0x1004e0f0", "mov esi, dword ptr [esp + 0x1c]"], ["0x1004e0f4", "mov eax, dword ptr [ebx + 0x14]"], ["0x1004e0f7", "sub eax, dword ptr [ebx + 0xc]"], ["0x1004e0fa", "mov edx, dword ptr [ecx + 0x10]"], ["0x1004e0fd", "mov edi, dword ptr [esi + 0x54]"], ["0x1004e100", "inc eax"], ["0x1004e101", "shr edi, 3"], ["0x1004e104", "mov dword ptr [ebx + 0xc], edx"], ["0x1004e107", "imul eax, edi"], ["0x1004e10a", "mov ebp, dword ptr [ecx + 0x14]"]]}, {"both": [["0x1004c5c7", "mov dword ptr [esp + 0x14], eax", "0x1004e10d"]]}, {"orig": [["0x1004c5cb", "mov dword ptr [esp + 0x1c], edx"], ["0x1004c5cf", "imul ebp, eax"]], "recomp": [["0x1004e111", "mov dword ptr [ebx + 0x10], ebp"]]}, {"both": [["0x1004c5d2", "mov eax, dword ptr [ecx]", "0x1004e114"], ["0x1004c5d4", "call dword ptr [eax + 0x84]", "0x1004e116"], ["0x1004c5da", "mov ecx, dword ptr [ebx + 8]", "0x1004e11c"], ["0x1004c5dd", "mov dword ptr [esp + 0x10], eax", "0x1004e11f"]]}, {"orig": [["0x1004c5e1", "mov esi, dword ptr [ecx]"], ["0x1004c5e3", "call dword ptr [esi + 0x80]"], ["0x1004c5e9", "mov edx, dword ptr [esp + 0x1c]"], ["0x1004c5ed", "lea ecx, [edi + eax - 1]"], ["0x1004c5f1", "mov esi, dword ptr [esp + 0x10]"], ["0x1004c5f5", "mov dword ptr [ebx + 0xc], edi"], ["0x1004c5f8", "mov dword ptr [ebx + 0x10], edx"]], "recomp": [["0x1004e123", "mov eax, dword ptr [ecx]"], ["0x1004e125", "call dword ptr [eax + 0x80]"], ["0x1004e12b", "mov edx, dword ptr [ebx + 0xc]"], ["0x1004e12e", "lea ecx, [edx + eax]"], ["0x1004e131", "dec ecx"]]}, {"both": [["0x1004c5fb", "mov dword ptr [ebx + 0x14], ecx", "0x1004e132"]]}, {"orig": [["0x1004c5fe", "lea edx, [esi + edx - 1]"], ["0x1004c602", "mov esi, dword ptr [esp + 0x24]"], ["0x1004c606", "mov dword ptr [ebx + 0x18], edx"], ["0x1004c609", "mov ecx, dword ptr [esi + 0x10]"], ["0x1004c60c", "sub edx, dword ptr [esp + 0x1c]"], ["0x1004c610", "imul ecx, dword ptr [esp + 0x1c]"], ["0x1004c615", "add ecx, dword ptr [esi + 0x24]"], ["0x1004c618", "inc edx"], ["0x1004c619", "mov esi, edi"], ["0x1004c61b", "lea eax, [edi + eax - 1]"], ["0x1004c61f", "imul esi, dword ptr [esp + 0x14]"], ["0x1004c624", "add ecx, esi"], ["0x1004c626", "sub eax, edi"], ["0x1004c628", "inc eax"], ["0x1004c629", "mov dword ptr [esp + 0x10], ecx"], ["0x1004c62d", "imul edx, eax"], ["0x1004c630", "imul edx, dword ptr [esp + 0x14]"], ["0x1004c635", "push edx"]], "recomp": [["0x1004e135", "mov ecx, dword ptr [ebx + 0x10]"], ["0x1004e138", "add ecx, dword ptr [esp + 0x10]"], ["0x1004e13c", "imul eax, dword ptr [esp + 0x10]"], ["0x1004e141", "imul eax, edi"], ["0x1004e144", "dec ecx"], ["0x1004e145", "push eax"], ["0x1004e146", "mov dword ptr [ebx + 0x18], ecx"], ["0x1004e149", "mov ebp, dword ptr [esi + 0x10]"], ["0x1004e14c", "imul edx, edi"], ["0x1004e14f", "imul ebp, dword ptr [ebx + 0x10]"], ["0x1004e153", "add ebp, edx"], ["0x1004e155", "add ebp, dword ptr [esi + 0x24]"]]}, {"both": [["0x1004c636", "call ??2@YAPAXI@Z (FUNCTION)", "0x1004e158"], ["0x1004c63b", "add esp, 4", "0x1004e15d"]]}, {"orig": [], "recomp": [["0x1004e160", "mov edx, eax"]]}, {"both": [["0x1004c63e", "mov dword ptr [ebx + 0x1c], eax", "0x1004e162"]]}, {"orig": [], "recomp": [["0x1004e165", "test edx, edx"], ["0x1004e167", "je 0xd9"], ["0x1004e16d", "mov dword ptr [esp + 0x10], 0"], ["0x1004e175", "mov eax, dword ptr [ebx + 0x18]"], ["0x1004e178", "sub eax, dword ptr [ebx + 0x10]"], ["0x1004e17b", "inc eax"]]}, {"both": [["0x1004c641", "test eax, eax", "0x1004e17c"]]}, {"orig": [["0x1004c643", "je 0xc9"], ["0x1004c649", "xor edx, edx"]], "recomp": [["0x1004e17e", "jle 0x32"], ["0x1004e180", "mov eax, dword ptr [esp + 0x14]"], ["0x1004e184", "mov edi, edx"], ["0x1004e186", "mov esi, ebp"], ["0x1004e188", "mov ecx, eax"], ["0x1004e18a", "shr ecx, 2"], ["0x1004e18d", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x1004e18f", "mov ecx, eax"], ["0x1004e191", "and ecx, 3"], ["0x1004e194", "rep movsb byte ptr es:[edi], byte ptr [esi]"], ["0x1004e196", "mov esi, dword ptr [esp + 0x1c]"], ["0x1004e19a", "add edx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1004c64b", "mov ecx, dword ptr [ebx + 0x18]", "0x1004e19e"]]}, {"orig": [], "recomp": [["0x1004e1a1", "inc dword ptr [esp + 0x10]"], ["0x1004e1a5", "add ebp, dword ptr [esi + 0x10]"]]}, {"both": [["0x1004c64e", "sub ecx, dword ptr [ebx + 0x10]", "0x1004e1a8"], ["0x1004c651", "inc ecx", "0x1004e1ab"]]}, {"orig": [["0x1004c652", "test ecx, ecx"], ["0x1004c654", "jle 0x2d"], ["0x1004c656", "mov edi, eax"], ["0x1004c658", "mov esi, dword ptr [esp + 0x10]"], ["0x1004c65c", "mov ecx, ebp"], ["0x1004c65e", "inc edx"], ["0x1004c65f", "shr ecx, 2"], ["0x1004c662", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x1004c664", "mov ecx, ebp"], ["0x1004c666", "and ecx, 3"], ["0x1004c669", "rep movsb byte ptr es:[edi], byte ptr [esi]"], ["0x1004c66b", "mov esi, dword ptr [esp + 0x24]"], ["0x1004c66f", "add eax, ebp"], ["0x1004c671", "mov ecx, dword ptr [esi + 0x10]"], ["0x1004c674", "add dword ptr [esp + 0x10], ecx"], ["0x1004c678", "mov ecx, dword ptr [ebx + 0x18]"], ["0x1004c67b", "sub ecx, dword ptr [ebx + 0x10]"], ["0x1004c67e", "inc ecx"], ["0x1004c67f", "cmp ecx, edx"], ["0x1004c681", "jg -0x2d"]], "recomp": [["0x1004e1ac", "cmp ecx, dword ptr [esp + 0x10]"], ["0x1004e1b0", "jg -0x2e"]]}, {"both": [["0x1004c683", "mov eax, dword ptr [ebx + 8]", "0x1004e1b2"], ["0x1004c686", "mov ecx, dword ptr [eax + 0x1c]", "0x1004e1b5"], ["0x1004c689", "test byte ptr [ecx + 0x30], 0x10", "0x1004e1b8"]]}, {"orig": [["0x1004c68d", "je 0x48"]], "recomp": [["0x1004e1bc", "je 0x49"]]}, {"both": [["0x1004c68f", "call VideoManager (FUNCTION)", "0x1004e1be"]]}, {"orig": [["0x1004c694", "mov ebp, dword ptr [eax + 0x58]"]], "recomp": [["0x1004e1c3", "mov edi, dword ptr [eax + 0x58]"]]}, {"both": [["0x1004c697", "mov esi, dword ptr [ebx + 8]", "0x1004e1c6"]]}, {"orig": [["0x1004c69a", "mov edi, dword ptr [ebp]"], ["0x1004c69d", "mov ebx, dword ptr [esi]"]], "recomp": []}, {"both": [["0x1004c69f", "push 0", "0x1004e1c9"], ["0x1004c6a1", "mov ecx, esi", "0x1004e1cb"]]}, {"orig": [["0x1004c6a3", "call dword ptr [ebx + 0x84]"]], "recomp": [["0x1004e1cd", "mov eax, dword ptr [esi]"], ["0x1004e1cf", "mov ebx, dword ptr [esi + 0x10]"], ["0x1004e1d2", "mov ebp, dword ptr [esi + 0x14]"], ["0x1004e1d5", "call dword ptr [eax + 0x84]"]]}, {"both": [["0x1004c6a9", "push eax", "0x1004e1db"], ["0x1004c6aa", "mov ecx, esi", "0x1004e1dc"]]}, {"orig": [["0x1004c6ac", "call dword ptr [ebx + 0x80]"]], "recomp": [["0x1004e1de", "mov eax, dword ptr [esi]"], ["0x1004e1e0", "call dword ptr [eax + 0x80]"]]}, {"both": [["0x1004c6b2", "push eax", "0x1004e1e6"]]}, {"orig": [["0x1004c6b3", "mov ecx, dword ptr [esi + 0x10]"], ["0x1004c6b6", "mov eax, dword ptr [esi + 0x14]"], ["0x1004c6b9", "mov edx, dword ptr [esi + 0x50]"]], "recomp": [["0x1004e1e7", "push ebp"], ["0x1004e1e8", "push ebx"], ["0x1004e1e9", "mov eax, dword ptr [esi + 0x50]"]]}, {"both": [["0x1004c6bc", "mov esi, dword ptr [esp + 0x30]", "0x1004e1ec"]]}, {"orig": [["0x1004c6c0", "push eax"], ["0x1004c6c1", "push ecx"]], "recomp": []}, {"both": [["0x1004c6c2", "push 0", "0x1004e1f0"], ["0x1004c6c4", "push 0", "0x1004e1f2"]]}, {"orig": [["0x1004c6c6", "mov ecx, ebp"], ["0x1004c6c8", "push edx"]], "recomp": [["0x1004e1f4", "mov ebx, dword ptr [edi]"], ["0x1004e1f6", "push eax"], ["0x1004e1f7", "mov ecx, edi"]]}, {"both": [["0x1004c6c9", "push esi", "0x1004e1f9"]]}, {"orig": [["0x1004c6ca", "call dword ptr [edi + 0x2c]"]], "recomp": [["0x1004e1fa", "call dword ptr [ebx + 0x2c]"]]}, {"both": [["0x1004c6cd", "pop ebp", "0x1004e1fd"], ["0x1004c6ce", "pop edi", "0x1004e1fe"], ["0x1004c6cf", "pop esi", "0x1004e1ff"], ["0x1004c6d0", "pop ebx", "0x1004e200"]]}, {"orig": [["0x1004c6d1", "add esp, 0x10"]], "recomp": [["0x1004e201", "add esp, 8"]]}, {"both": [["0x1004c6d4", "ret 4", "0x1004e204"], ["0x1004c6d7", "call VideoManager (FUNCTION)", "0x1004e207"], ["0x1004c6dc", "mov edi, dword ptr [eax + 0x58]", "0x1004e20c"]]}, {"orig": [["0x1004c6df", "mov esi, dword ptr [ebx + 8]"], ["0x1004c6e2", "mov ebx, dword ptr [esi]"], ["0x1004c6e4", "mov ecx, esi"], ["0x1004c6e6", "mov ebp, dword ptr [edi]"], ["0x1004c6e8", "call dword ptr [ebx + 0x84]"]], "recomp": [["0x1004e20f", "mov ebp, dword ptr [ebx + 8]"], ["0x1004e212", "mov ebx, dword ptr [ebp + 0x14]"], ["0x1004e215", "mov eax, dword ptr [ebp]"], ["0x1004e218", "mov ecx, ebp"], ["0x1004e21a", "mov esi, dword ptr [ebp + 0x10]"], ["0x1004e21d", "call dword ptr [eax + 0x84]"]]}, {"both": [["0x1004c6ee", "push eax", "0x1004e223"]]}, {"orig": [["0x1004c6ef", "mov ecx, esi"], ["0x1004c6f1", "call dword ptr [ebx + 0x80]"]], "recomp": [["0x1004e224", "mov ecx, ebp"], ["0x1004e226", "mov eax, dword ptr [ebp]"], ["0x1004e229", "call dword ptr [eax + 0x80]"]]}, {"both": [["0x1004c6f7", "push eax", "0x1004e22f"]]}, {"orig": [["0x1004c6f8", "mov ecx, dword ptr [esi + 0x10]"], ["0x1004c6fb", "mov eax, dword ptr [esi + 0x14]"], ["0x1004c6fe", "mov edx, dword ptr [esi + 0x50]"]], "recomp": [["0x1004e230", "push ebx"], ["0x1004e231", "push esi"], ["0x1004e232", "mov eax, dword ptr [ebp + 0x50]"]]}, {"both": [["0x1004c701", "mov esi, dword ptr [esp + 0x2c]", "0x1004e235"]]}, {"orig": [["0x1004c705", "push eax"], ["0x1004c706", "push ecx"]], "recomp": []}, {"both": [["0x1004c707", "push 0", "0x1004e239"], ["0x1004c709", "push 0", "0x1004e23b"]]}, {"orig": [], "recomp": [["0x1004e23d", "mov ebx, dword ptr [edi]"], ["0x1004e23f", "push eax"]]}, {"both": [["0x1004c70b", "mov ecx, edi", "0x1004e240"]]}, {"orig": [["0x1004c70d", "push edx"]], "recomp": []}, {"both": [["0x1004c70e", "push esi", "0x1004e242"]]}, {"orig": [], "recomp": [["0x1004e243", "call dword ptr [ebx + 0x24]"], ["0x1004e246", "pop ebp"], ["0x1004e247", "pop edi"], ["0x1004e248", "pop esi"], ["0x1004e249", "pop ebx"], ["0x1004e24a", "add esp, 8"], ["0x1004e24d", "ret 4"]]}]]]}, {"address": "0x1004c720", "recomp": "0x1004e250", "name": "TowTrack::TowTrack", "matching": 1.0, "diff": []}, {"address": "0x1004c7c0", "recomp": "0x1004e2f0", "name": "TowTrack::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1004c7d0", "recomp": "0x1004e300", "name": "TowTrack::IsA", "matching": 1.0, "diff": []}, {"address": "0x1004c950", "recomp": "0x1004e480", "name": "TowTrack::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004c970", "recomp": "0x1004e4a0", "name": "TowTrack::~TowTrack", "matching": 1.0, "diff": []}, {"address": "0x1004c9e0", "recomp": "0x1004e510", "name": "TowTrack::Create", "matching": 1.0, "diff": []}, {"address": "0x1004cb10", "recomp": "0x1004e640", "name": "TowTrack::Animate", "matching": 1.0, "diff": []}, {"address": "0x1004cc40", "recomp": "0x1004e770", "name": "TowTrack::CreateState", "matching": 1.0, "diff": []}, {"address": "0x1004cc80", "recomp": "0x1004e7b0", "name": "TowTrack::Notify", "matching": 0.8918918918918919, "diff": [["@@ -,49 +,49 @@", [{"both": [["0x1004cc80", "push ebx", "0x1004e7b0"], ["0x1004cc81", "xor eax, eax", "0x1004e7b1"]]}, {"orig": [], "recomp": [["0x1004e7b3", "mov edx, dword ptr [esp + 8]"]]}, {"both": [["0x1004cc83", "push esi", "0x1004e7b7"]]}, {"orig": [["0x1004cc84", "mov esi, dword ptr [esp + 0xc]"], ["0x1004cc88", "mov edx, dword ptr [esi + 4]"], ["0x1004cc8b", "cmp edx, 0x13"]], "recomp": [["0x1004e7b8", "mov esi, dword ptr [edx + 4]"], ["0x1004e7bb", "cmp esi, 0x13"]]}, {"both": [["0x1004cc8e", "ja 0x5c", "0x1004e7be"], ["0x1004cc90", "xor ebx, ebx", "0x1004e7c0"]]}, {"orig": [["0x1004cc92", "mov bl, byte ptr [edx + <OFFSET1>]"]], "recomp": [["0x1004e7c2", "mov bl, byte ptr [esi + <OFFSET1>]"]]}, {"both": [["0x1004cc98", "jmp dword ptr [ebx*4 + <OFFSET2>]", "0x1004e7c8"], ["0x1004cc9f", "mov eax, dword ptr [ecx]", "0x1004e7cf"], ["0x1004cca1", "call dword ptr [eax + 0xd0]", "0x1004e7d1"], ["0x1004cca7", "pop esi", "0x1004e7d7"], ["0x1004cca8", "pop ebx", "0x1004e7d8"], ["0x1004cca9", "ret 4", "0x1004e7d9"]]}, {"orig": [["0x1004ccac", "push esi"]], "recomp": [["0x1004e7dc", "push edx"]]}, {"both": [["0x1004ccad", "mov eax, dword ptr [ecx]", "0x1004e7dd"], ["0x1004ccaf", "call dword ptr [eax + 0xf0]", "0x1004e7df"], ["0x1004ccb5", "pop esi", "0x1004e7e5"], ["0x1004ccb6", "pop ebx", "0x1004e7e6"], ["0x1004ccb7", "ret 4", "0x1004e7e7"], ["0x1004ccba", "mov eax, dword ptr [ecx]", "0x1004e7ea"], ["0x1004ccbc", "call dword ptr [eax + 0xcc]", "0x1004e7ec"], ["0x1004ccc2", "pop esi", "0x1004e7f2"], ["0x1004ccc3", "pop ebx", "0x1004e7f3"], ["0x1004ccc4", "ret 4", "0x1004e7f4"]]}, {"orig": [["0x1004ccc7", "push esi"]], "recomp": [["0x1004e7f7", "push edx"]]}, {"both": [["0x1004ccc8", "mov eax, dword ptr [ecx]", "0x1004e7f8"], ["0x1004ccca", "call dword ptr [eax + 0xd4]", "0x1004e7fa"], ["0x1004ccd0", "pop esi", "0x1004e800"], ["0x1004ccd1", "pop ebx", "0x1004e801"], ["0x1004ccd2", "ret 4", "0x1004e802"]]}, {"orig": [["0x1004ccd5", "push esi"]], "recomp": [["0x1004e805", "push edx"]]}, {"both": [["0x1004ccd6", "mov eax, dword ptr [ecx]", "0x1004e806"], ["0x1004ccd8", "call dword ptr [eax + 0xd8]", "0x1004e808"], ["0x1004ccde", "pop esi", "0x1004e80e"], ["0x1004ccdf", "pop ebx", "0x1004e80f"], ["0x1004cce0", "ret 4", "0x1004e810"]]}, {"orig": [["0x1004cce3", "push esi"]], "recomp": [["0x1004e813", "push edx"]]}, {"both": [["0x1004cce4", "mov eax, dword ptr [ecx]", "0x1004e814"], ["0x1004cce6", "call dword ptr [eax + 0xdc]", "0x1004e816"], ["0x1004ccec", "pop esi", "0x1004e81c"], ["0x1004cced", "pop ebx", "0x1004e81d"], ["0x1004ccee", "ret 4", "0x1004e81e"], ["0x1004ccf1", "lea ecx, [ecx]", "0x1004e821"], ["", "Jump table:", ""], ["0x1004ccf4", "Jump_dest_0", "0x1004e824"], ["0x1004ccf8", "Jump_dest_1", "0x1004e828"], ["0x1004ccfc", "Jump_dest_2", "0x1004e82c"]]}]]]}, {"address": "0x1004cd30", "recomp": "0x1004e860", "name": "TowTrack::HandleEndAnim", "matching": 1.0, "diff": []}, {"address": "0x1004cd40", "recomp": "0x1004e870", "name": "TowTrack::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x1004d330", "recomp": "0x1004ee60", "name": "TowTrack::HandlePathStruct", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004d38a,38 +0x1004eeba,38 @@", [{"both": [["0x1004d38a", "call <OFFSET4>", "0x1004eeba"], ["0x1004d38f", "xor eax, eax", "0x1004eebf"], ["0x1004d391", "mov ecx, dword ptr [ebp - 0xc]", "0x1004eec1"], ["0x1004d394", "mov dword ptr fs:[0], ecx", "0x1004eec4"], ["0x1004d39b", "pop edi", "0x1004eecb"], ["0x1004d39c", "pop esi", "0x1004eecc"], ["0x1004d39d", "pop ebx", "0x1004eecd"], ["0x1004d39e", "mov esp, ebp", "0x1004eece"], ["0x1004d3a0", "pop ebp", "0x1004eed0"], ["0x1004d3a1", "ret 4", "0x1004eed1"]]}, {"orig": [["0x1004d3a4", "mov eax, dword ptr [esi + 0x164]"], ["0x1004d3aa", "mov ebx, dword ptr [eax + 8]"], ["0x1004d3ad", "add eax, 8"], ["0x1004d3b0", "cmp ebx, 2"]], "recomp": [["0x1004eed4", "mov edx, dword ptr [esi + 0x164]"], ["0x1004eeda", "mov eax, dword ptr [edx + 8]"], ["0x1004eedd", "add edx, 8"], ["0x1004eee0", "cmp eax, 2"]]}, {"both": [["0x1004d3b3", "jne 0xa7", "0x1004eee3"], ["0x1004d3b9", "mov cl, byte ptr [edi + 0xe]", "0x1004eee9"], ["0x1004d3bc", "cmp cl, 0x43", "0x1004eeec"], ["0x1004d3bf", "jne 0x10", "0x1004eeef"]]}, {"orig": [["0x1004d3c1", "mov dx, word ptr [edi + 0xc]"], ["0x1004d3c5", "cmp dx, 9"]], "recomp": [["0x1004eef1", "mov bx, word ptr [edi + 0xc]"], ["0x1004eef5", "cmp bx, 9"]]}, {"both": [["0x1004d3c9", "je 0x17", "0x1004eef9"]]}, {"orig": [["0x1004d3cb", "cmp dx, 8"]], "recomp": [["0x1004eefb", "cmp bx, 8"]]}, {"both": [["0x1004d3cf", "je 0x11", "0x1004eeff"], ["0x1004d3d1", "cmp cl, 0x57", "0x1004ef01"], ["0x1004d3d4", "jne 0x86", "0x1004ef04"], ["0x1004d3da", "cmp word ptr [edi + 0xc], 0x169", "0x1004ef0a"], ["0x1004d3e0", "jne 0x7e", "0x1004ef10"]]}, {"orig": [["0x1004d3e2", "mov dword ptr [eax], 0"]], "recomp": [["0x1004ef12", "mov dword ptr [edx], 0"]]}, {"both": [["0x1004d3e8", "call Timer (FUNCTION)", "0x1004ef18"], ["0x1004d3ed", "cmp byte ptr [eax + 0xc], 0", "0x1004ef1d"], ["0x1004d3f1", "je 0x11", "0x1004ef21"], ["0x1004d3f3", "mov edi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x1004ef23"], ["0x1004d3f9", "mov eax, dword ptr [esi + 0x164]", "0x1004ef29"], ["0x1004d3ff", "sub edi, dword ptr [eax + 0xc]", "0x1004ef2f"], ["0x1004d402", "jmp 0x12", "0x1004ef32"], ["0x1004d404", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x1004ef34"], ["0x1004d40a", "mov ecx, dword ptr [esi + 0x164]", "0x1004ef3a"], ["0x1004d410", "sub edi, dword ptr [ecx + 0xc]", "0x1004ef40"]]}]], ["@@ -0x1004d436,48 +0x1004ef66,48 @@", [{"both": [["0x1004d436", "cmp edi, 0x493e0", "0x1004ef66"], ["0x1004d43c", "jge 0x11", "0x1004ef6c"], ["0x1004d43e", "push 0x305", "0x1004ef6e"], ["0x1004d443", "mov ecx, esi", "0x1004ef73"], ["0x1004d445", "call TowTrack::PlayFinalAnimation (FUNCTION)", "0x1004ef75"], ["0x1004d44a", "jmp -0xcc", "0x1004ef7a"], ["0x1004d44f", "push 0x30c", "0x1004ef7f"], ["0x1004d454", "mov ecx, esi", "0x1004ef84"], ["0x1004d456", "call TowTrack::PlayFinalAnimation (FUNCTION)", "0x1004ef86"], ["0x1004d45b", "jmp -0xdd", "0x1004ef8b"]]}, {"orig": [["0x1004d460", "cmp ebx, 1"]], "recomp": [["0x1004ef90", "cmp eax, 1"]]}, {"both": [["0x1004d463", "jne 0x50", "0x1004ef93"], ["0x1004d465", "cmp byte ptr [edi + 0xe], 0x43", "0x1004ef95"], ["0x1004d469", "jne 0x4a", "0x1004ef99"], ["0x1004d46b", "cmp word ptr [edi + 0xc], 0x37", "0x1004ef9b"], ["0x1004d470", "jne 0x43", "0x1004efa0"], ["0x1004d472", "mov ecx, esi", "0x1004efa2"]]}, {"orig": [["0x1004d474", "mov dword ptr [eax], 3"]], "recomp": [["0x1004efa4", "mov dword ptr [edx], 3"]]}, {"both": [["0x1004d47a", "call TowTrack::StopActions (FUNCTION)", "0x1004efaa"], ["0x1004d47f", "mov eax, dword ptr [esi + 0x170]", "0x1004efaf"], ["0x1004d485", "cmp eax, -1", "0x1004efb5"], ["0x1004d488", "je 0x13", "0x1004efb8"], ["0x1004d48a", "push 0", "0x1004efba"], ["0x1004d48c", "push eax", "0x1004efbc"], ["0x1004d48d", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1004efbd"], ["0x1004d492", "push eax", "0x1004efc2"], ["0x1004d493", "push 5", "0x1004efc3"], ["0x1004d495", "call InvokeAction (FUNCTION)", "0x1004efc5"], ["0x1004d49a", "add esp, 0x10", "0x1004efca"], ["0x1004d49d", "mov ecx, esi", "0x1004efcd"], ["0x1004d49f", "call TowTrack::Leave (FUNCTION)", "0x1004efcf"], ["0x1004d4a4", "push 0x313", "0x1004efd4"], ["0x1004d4a9", "mov ecx, esi", "0x1004efd9"], ["0x1004d4ab", "call TowTrack::PlayFinalAnimation (FUNCTION)", "0x1004efdb"], ["0x1004d4b0", "jmp -0x132", "0x1004efe0"], ["0x1004d4b5", "cmp byte ptr [edi + 0xe], 0x57", "0x1004efe5"], ["0x1004d4b9", "jne -0x13c", "0x1004efe9"]]}, {"orig": [["0x1004d4bf", "cmp ebx, 1"]], "recomp": [["0x1004efef", "cmp eax, 1"]]}, {"both": [["0x1004d4c2", "jne -0x145", "0x1004eff2"], ["0x1004d4c8", "mov ax, word ptr [edi + 0xc]", "0x1004eff8"], ["0x1004d4cc", "cmp ax, 0x15f", "0x1004effc"], ["0x1004d4d0", "jne 0x33", "0x1004f000"], ["0x1004d4d2", "cmp word ptr [esi + 0x16c], 0", "0x1004f002"], ["0x1004d4da", "jne -0x15d", "0x1004f00a"], ["0x1004d4e0", "mov word ptr [esi + 0x16c], 1", "0x1004f010"], ["0x1004d4e9", "push 0", "0x1004f019"], ["0x1004d4eb", "mov eax, dword ptr [g_isleScript (DATA)]", "0x1004f01b"], ["0x1004d4f0", "push 0x190", "0x1004f020"]]}]]]}, {"address": "0x1004d690", "recomp": "0x1004f1c0", "name": "TowTrack::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x1004d8f0", "recomp": "0x1004f420", "name": "TowTrack::Exit", "matching": 1.0, "diff": []}, {"address": "0x1004d920", "recomp": "0x1004f450", "name": "TowTrack::Leave", "matching": 1.0, "diff": []}, {"address": "0x1004d9e0", "recomp": "0x1004f510", "name": "TowTrack::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x1004dab0", "recomp": "0x1004f5e0", "name": "TowTrack::FUN_1004dab0", "matching": 1.0, "diff": []}, {"address": "0x1004dad0", "recomp": "0x1004f600", "name": "TowTrack::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x1004db10", "recomp": "0x1004f640", "name": "TowTrack::StopActions", "matching": 1.0, "diff": []}, {"address": "0x1004dbe0", "recomp": "0x1004f710", "name": "TowTrack::FUN_1004dbe0", "matching": 1.0, "diff": []}, {"address": "0x1004dc80", "recomp": "0x1004f7b0", "name": "TowTrack::PlayFinalAnimation", "matching": 1.0, "diff": []}, {"address": "0x1004dcb0", "recomp": "0x1004f7e0", "name": "TowTrack::FUN_1004dcb0", "matching": 1.0, "diff": []}, {"address": "0x1004dcf0", "recomp": "0x1004f820", "name": "TowTrack::PlayAction", "matching": 1.0, "diff": []}, {"address": "0x1004dd30", "recomp": "0x1004f860", "name": "TowTrackMissionState::TowTrackMissionState", "matching": 1.0, "diff": []}, {"address": "0x1004dde0", "recomp": "0x1004fa40", "name": "TowTrackMissionState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x1004dfa0", "recomp": "0x1004f910", "name": "TowTrackMissionState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1004dfb0", "recomp": "0x1004f920", "name": "TowTrackMissionState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1004e060", "recomp": "0x1004f9d0", "name": "TowTrackMissionState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004e0d0", "recomp": "0x100b3ed0", "name": "MxBitmap::VTable0x28", "matching": 1.0, "diff": []}, {"address": "0x1004e0e0", "recomp": "0x1004fc00", "name": "Act2PoliceStation::Notify", "matching": 1.0, "diff": []}, {"address": "0x1004e180", "recomp": "0x1004fca0", "name": "LegoPhonemePresenter::LegoPhonemePresenter", "matching": 1.0, "diff": []}, {"address": "0x1004e200", "recomp": "0x1004fd20", "name": "MxFlcPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1004e310", "recomp": "0x1004fe30", "name": "LegoPhonemePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1004e320", "recomp": "0x1004fe40", "name": "LegoPhonemePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004e340", "recomp": "0x1004fe60", "name": "LegoPhonemePresenter::~LegoPhonemePresenter", "matching": 1.0, "diff": []}, {"address": "0x1004e3b0", "recomp": "0x1004fed0", "name": "LegoPhonemePresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x1004e3d0", "recomp": "0x1004fef0", "name": "LegoPhonemePresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1004e680", "recomp": "0x100501a0", "name": "LegoPhonemeListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004e6f0", "recomp": "0x10050210", "name": "MxListCursor<LegoPhoneme *>::~MxListCursor<LegoPhoneme *>", "matching": 1.0, "diff": []}, {"address": "0x1004e740", "recomp": "0x10050260", "name": "MxListCursor<LegoPhoneme *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004e7b0", "recomp": "0x100502d0", "name": "LegoPhonemeListCursor::~LegoPhonemeListCursor", "matching": 1.0, "diff": []}, {"address": "0x1004e800", "recomp": "0x10050320", "name": "LegoPhonemePresenter::LoadFrame", "matching": 1.0, "diff": []}, {"address": "0x1004e840", "recomp": "0x10050360", "name": "LegoPhonemePresenter::PutFrame", "matching": 1.0, "diff": []}, {"address": "0x1004e870", "recomp": "0x10050390", "name": "LegoPhonemePresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x1004eb20", "recomp": "0x10050640", "name": "MxListEntry<LegoPhoneme *>::MxListEntry<LegoPhoneme *>", "matching": 1.0, "diff": []}, {"address": "0x1004eb40", "recomp": "0x10050660", "name": "LegoTexturePresenter::~LegoTexturePresenter", "matching": 1.0, "diff": []}, {"address": "0x1004ebb0", "recomp": "0x100506d0", "name": "LegoTexturePresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1004ebd0", "recomp": "0x100506f0", "name": "LegoTexturePresenter::Read", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004ec3d,43 +0x1005075d,43 @@", [{"both": [["0x1004ec3d", "mov ecx, edi", "0x1005075d"], ["0x1004ec3f", "call MxCore::MxCore (FUNCTION)", "0x1005075f"], ["0x1004ec44", "mov byte ptr [ebp - 4], 2", "0x10050764"], ["0x1004ec48", "mov byte ptr [ebp - 4], 3", "0x10050768"], ["0x1004ec4c", "mov byte ptr [ebp - 4], 4", "0x1005076c"], ["0x1004ec50", "mov dword ptr [edi], MxCollection<LegoNamedTexture *>::`vftable' (VTABLE)", "0x10050770"], ["0x1004ec56", "mov dword ptr [edi + 8], esi", "0x10050776"], ["0x1004ec59", "mov dword ptr [edi + 0xc], MxCollection<LegoNamedTexture *>::Destroy (FUNCTION)", "0x10050779"], ["0x1004ec60", "mov byte ptr [ebp - 4], 5", "0x10050780"], ["0x1004ec64", "mov byte ptr [ebp - 4], 1", "0x10050784"]]}, {"orig": [["0x1004ec68", "mov ecx, edi"]], "recomp": [["0x10050788", "mov eax, edi"]]}, {"both": [["0x1004ec6a", "mov dword ptr [edi], MxList<LegoNamedTexture *>::`vftable' (VTABLE)", "0x1005078a"], ["0x1004ec70", "mov dword ptr [edi + 0x14], esi", "0x10050790"], ["0x1004ec73", "mov dword ptr [edi + 0x10], esi", "0x10050793"], ["0x1004ec76", "mov dword ptr [edi], MxPtrList<LegoNamedTexture>::`vftable' (VTABLE)", "0x10050796"], ["0x1004ec7c", "mov dword ptr [edi + 0xc], MxPtrList<LegoNamedTexture>::Destroy (FUNCTION)", "0x1005079c"], ["0x1004ec83", "mov dword ptr [edi], LegoNamedTextureList::`vftable' (VTABLE)", "0x100507a3"], ["0x1004ec89", "jmp 0x22", "0x100507a9"], ["0x1004ec8b", "mov ecx, dword ptr [ebp - 0x10]", "0x100507ab"], ["0x1004ec8e", "jmp MxCore::~MxCore (FUNCTION)", "0x100507ae"], ["0x1004ec93", "mov ecx, dword ptr [ebp - 0x10]", "0x100507b3"], ["0x1004ec96", "jmp MxCollection<LegoNamedTexture *>::~MxCollection<LegoNamedTexture *> (FUNCTION)", "0x100507b6"], ["0x1004ec9b", "mov ecx, dword ptr [ebp - 0x10]", "0x100507bb"], ["0x1004ec9e", "jmp MxList<LegoNamedTexture *>::~MxList<LegoNamedTexture *> (FUNCTION)", "0x100507be"], ["0x1004eca3", "mov ecx, dword ptr [ebp - 0x10]", "0x100507c3"], ["0x1004eca6", "jmp MxPtrList<LegoNamedTexture>::~MxPtrList<LegoNamedTexture> (FUNCTION)", "0x100507c6"]]}, {"orig": [["0x1004ecab", "xor ecx, ecx"], ["0x1004ecad", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x100507cb", "xor eax, eax"], ["0x100507cd", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1004ecb0", "push 4", "0x100507d0"], ["0x1004ecb2", "mov byte ptr [ebp - 4], 0", "0x100507d2"]]}, {"orig": [["0x1004ecb6", "mov dword ptr [eax + 0x50], ecx"], ["0x1004ecb9", "lea ecx, [ebp - 0x24]"], ["0x1004ecbc", "push ecx"]], "recomp": [["0x100507d6", "mov dword ptr [ecx + 0x50], eax"], ["0x100507d9", "lea eax, [ebp - 0x24]"], ["0x100507dc", "push eax"]]}, {"both": [["0x1004ecbd", "lea ecx, [ebp - 0x40]", "0x100507dd"], ["0x1004ecc0", "call LegoMemory::Read (FUNCTION)", "0x100507e0"], ["0x1004ecc5", "test eax, eax", "0x100507e5"], ["0x1004ecc7", "jne 0x149", "0x100507e7"], ["0x1004eccd", "mov dword ptr [ebp - 0x28], 0", "0x100507ed"], ["0x1004ecd4", "cmp dword ptr [ebp - 0x24], 0", "0x100507f4"], ["0x1004ecd8", "jbe 0x131", "0x100507f8"], ["0x1004ecde", "push 4", "0x100507fe"], ["0x1004ece0", "lea eax, [ebp - 0x20]", "0x10050800"], ["0x1004ece3", "push eax", "0x10050803"]]}]], ["@@ -0x1004ed87,23 +0x100508a7,23 @@", [{"both": [["0x1004ed87", "push esi", "0x100508a7"], ["0x1004ed88", "mov ecx, dword ptr [ebp - 0x10]", "0x100508a8"], ["0x1004ed8b", "mov byte ptr [ebp - 4], 8", "0x100508ab"], ["0x1004ed8f", "call MxString::operator= (FUNCTION)", "0x100508af"], ["0x1004ed94", "mov byte ptr [ebp - 4], 7", "0x100508b4"], ["0x1004ed98", "mov eax, dword ptr [ebp - 0x10]", "0x100508b8"], ["0x1004ed9b", "mov dword ptr [ebp - 0x2c], eax", "0x100508bb"], ["0x1004ed9e", "mov dword ptr [eax + 0x10], ebx", "0x100508be"], ["0x1004eda1", "jmp 0x7", "0x100508c1"], ["0x1004eda3", "mov dword ptr [ebp - 0x2c], 0", "0x100508c3"]]}, {"orig": [["0x1004edaa", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x100508ca", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1004edad", "push 0xc", "0x100508cd"]]}, {"orig": [["0x1004edaf", "mov ebx, dword ptr [eax + 0x50]"]], "recomp": [["0x100508cf", "mov ebx, dword ptr [ecx + 0x50]"]]}, {"both": [["0x1004edb2", "mov byte ptr [ebp - 4], 0", "0x100508d2"], ["0x1004edb6", "mov edi, dword ptr [ebx + 0x14]", "0x100508d6"], ["0x1004edb9", "call ??2@YAPAXI@Z (FUNCTION)", "0x100508d9"], ["0x1004edbe", "add esp, 4", "0x100508de"], ["0x1004edc1", "mov dword ptr [ebp - 0x14], eax", "0x100508e1"], ["0x1004edc4", "mov byte ptr [ebp - 4], 9", "0x100508e4"], ["0x1004edc8", "test eax, eax", "0x100508e8"], ["0x1004edca", "je 0x11", "0x100508ea"], ["0x1004edcc", "mov ecx, dword ptr [ebp - 0x2c]", "0x100508ec"], ["0x1004edcf", "mov dword ptr [eax], ecx", "0x100508ef"]]}]], ["@@ -0x1004edea,39 +0x1005090a,39 @@", [{"both": [["0x1004edea", "jmp 0x3", "0x1005090a"], ["0x1004edec", "mov dword ptr [ebx + 0x10], eax", "0x1005090c"], ["0x1004edef", "push esi", "0x1005090f"], ["0x1004edf0", "mov dword ptr [ebx + 0x14], eax", "0x10050910"], ["0x1004edf3", "xor esi, esi", "0x10050913"], ["0x1004edf5", "inc dword ptr [ebx + 8]", "0x10050915"], ["0x1004edf8", "call ??3@YAXPAX@Z (FUNCTION)", "0x10050918"], ["0x1004edfd", "add esp, 4", "0x1005091d"], ["0x1004ee00", "inc dword ptr [ebp - 0x28]", "0x10050920"], ["0x1004ee03", "mov eax, dword ptr [ebp - 0x28]", "0x10050923"]]}, {"orig": [["0x1004ee06", "cmp dword ptr [ebp - 0x24], eax"], ["0x1004ee09", "ja -0x131"]], "recomp": [["0x10050926", "cmp eax, dword ptr [ebp - 0x24]"], ["0x10050929", "jb -0x131"]]}, {"both": [["0x1004ee0f", "mov dword ptr [ebp - 0x1c], 0", "0x1005092f"], ["0x1004ee16", "test esi, esi", "0x10050936"], ["0x1004ee18", "je 0x9", "0x10050938"], ["0x1004ee1a", "push esi", "0x1005093a"], ["0x1004ee1b", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005093b"], ["0x1004ee20", "add esp, 4", "0x10050940"], ["0x1004ee23", "cmp dword ptr [ebp - 0x1c], 0", "0x10050943"], ["0x1004ee27", "je 0x1a", "0x10050947"]]}, {"orig": [["0x1004ee29", "mov eax, dword ptr [ebp - 0x18]"], ["0x1004ee2c", "mov ecx, dword ptr [eax + 0x50]"]], "recomp": [["0x10050949", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1005094c", "mov ecx, dword ptr [ecx + 0x50]"]]}, {"both": [["0x1004ee2f", "test ecx, ecx", "0x1005094f"], ["0x1004ee31", "je 0x10", "0x10050951"], ["0x1004ee33", "push 1", "0x10050953"], ["0x1004ee35", "mov eax, dword ptr [ecx]", "0x10050955"], ["0x1004ee37", "call dword ptr [eax]", "0x10050957"]]}, {"orig": [["0x1004ee39", "mov eax, dword ptr [ebp - 0x18]"], ["0x1004ee3c", "mov dword ptr [eax + 0x50], 0"]], "recomp": [["0x10050959", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1005095c", "mov dword ptr [ecx + 0x50], 0"]]}, {"both": [["0x1004ee43", "mov dword ptr [ebp - 4], 0xffffffff", "0x10050963"], ["0x1004ee4a", "call <OFFSET19>", "0x1005096a"], ["0x1004ee4f", "mov eax, dword ptr [ebp - 0x1c]", "0x1005096f"], ["0x1004ee52", "mov ecx, dword ptr [ebp - 0xc]", "0x10050972"], ["0x1004ee55", "mov dword ptr fs:[0], ecx", "0x10050975"], ["0x1004ee5c", "pop edi", "0x1005097c"], ["0x1004ee5d", "pop esi", "0x1005097d"], ["0x1004ee5e", "pop ebx", "0x1005097e"], ["0x1004ee5f", "mov esp, ebp", "0x1005097f"], ["0x1004ee61", "pop ebp", "0x10050981"]]}]]]}, {"address": "0x1004eec0", "recomp": "0x100509e0", "name": "MxCollection<LegoNamedTexture *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1004eed0", "recomp": "0x100509f0", "name": "MxCollection<LegoNamedTexture *>::~MxCollection<LegoNamedTexture *>", "matching": 1.0, "diff": []}, {"address": "0x1004ef20", "recomp": "0x10050a40", "name": "MxCollection<LegoNamedTexture *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1004ef30", "recomp": "0x10050a50", "name": "MxList<LegoNamedTexture *>::~MxList<LegoNamedTexture *>", "matching": 1.0, "diff": []}, {"address": "0x1004efc0", "recomp": "0x10050ae0", "name": "MxPtrList<LegoNamedTexture>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1004f040", "recomp": "0x10050b60", "name": "LegoNamedTextureList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004f0b0", "recomp": "0x10050bd0", "name": "MxPtrList<LegoNamedTexture>::~MxPtrList<LegoNamedTexture>", "matching": 1.0, "diff": []}, {"address": "0x1004f100", "recomp": "0x10050c20", "name": "MxCollection<LegoNamedTexture *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004f170", "recomp": "0x10050c90", "name": "MxList<LegoNamedTexture *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004f179,33 +0x10050c99,33 @@", [{"both": [["0x1004f179", "push -1", "0x10050c99"], ["0x1004f17b", "push <OFFSET1>", "0x10050c9b"], ["0x1004f180", "push eax", "0x10050ca0"], ["0x1004f181", "mov dword ptr fs:[0], esp", "0x10050ca1"], ["0x1004f188", "mov dword ptr [ecx], MxList<LegoNamedTexture *>::`vftable' (VTABLE)", "0x10050ca8"], ["0x1004f18e", "sub esp, 4", "0x10050cae"], ["0x1004f191", "mov dword ptr [ebp - 0x10], ecx", "0x10050cb1"], ["0x1004f194", "mov dword ptr [ebp - 4], 0", "0x10050cb4"], ["0x1004f19b", "push esi", "0x10050cbb"], ["0x1004f19c", "push edi", "0x10050cbc"]]}, {"orig": [["0x1004f19d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1004f1a0", "test esi, esi"]], "recomp": [["0x10050cbd", "mov edi, dword ptr [ecx + 0x10]"], ["0x10050cc0", "test edi, edi"]]}, {"both": [["0x1004f1a2", "je 0x1c", "0x10050cc2"]]}, {"orig": [["0x1004f1a4", "mov edi, dword ptr [esi + 8]"], ["0x1004f1a7", "mov eax, dword ptr [esi]"]], "recomp": [["0x10050cc4", "mov esi, dword ptr [edi + 8]"], ["0x10050cc7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1004f1a9", "push eax", "0x10050cc9"], ["0x1004f1aa", "mov ecx, dword ptr [ebp - 0x10]", "0x10050cca"], ["0x1004f1ad", "call dword ptr [ecx + 0xc]", "0x10050ccd"], ["0x1004f1b0", "add esp, 4", "0x10050cd0"]]}, {"orig": [["0x1004f1b3", "push esi"]], "recomp": [["0x10050cd3", "push edi"]]}, {"both": [["0x1004f1b4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10050cd4"], ["0x1004f1b9", "add esp, 4", "0x10050cd9"]]}, {"orig": [["0x1004f1bc", "mov esi, edi"]], "recomp": [["0x10050cdc", "mov edi, esi"]]}, {"both": [["0x1004f1be", "jmp -0x20", "0x10050cde"], ["0x1004f1c0", "xor eax, eax", "0x10050ce0"], ["0x1004f1c2", "mov ecx, dword ptr [ebp - 0x10]", "0x10050ce2"], ["0x1004f1c5", "mov dword ptr [ebp - 4], 0xffffffff", "0x10050ce5"], ["0x1004f1cc", "mov dword ptr [ecx + 8], eax", "0x10050cec"], ["0x1004f1cf", "mov dword ptr [ecx + 0x14], eax", "0x10050cef"], ["0x1004f1d2", "mov dword ptr [ecx + 0x10], eax", "0x10050cf2"], ["0x1004f1d5", "call <OFFSET4>", "0x10050cf5"], ["0x1004f1da", "test byte ptr [ebp + 8], 1", "0x10050cfa"], ["0x1004f1de", "je 0xc", "0x10050cfe"]]}]]]}, {"address": "0x1004f220", "recomp": "0x10050d40", "name": "MxPtrList<LegoNamedTexture>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004f290", "recomp": "0x10050db0", "name": "LegoTexturePresenter::Store", "matching": 1.0, "diff": []}, {"address": "0x1004f500", "recomp": "0x10051020", "name": "LegoNamedTextureListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004f570", "recomp": "0x10051090", "name": "MxPtrListCursor<LegoNamedTexture>::~MxPtrListCursor<LegoNamedTexture>", "matching": 1.0, "diff": []}, {"address": "0x1004f5c0", "recomp": "0x100510e0", "name": "MxListCursor<LegoNamedTexture *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004f630", "recomp": "0x10051150", "name": "MxPtrListCursor<LegoNamedTexture>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004f6a0", "recomp": "0x100511c0", "name": "MxListCursor<LegoNamedTexture *>::~MxListCursor<LegoNamedTexture *>", "matching": 1.0, "diff": []}, {"address": "0x1004f6f0", "recomp": "0x10051210", "name": "LegoNamedTextureListCursor::~LegoNamedTextureListCursor", "matching": 1.0, "diff": []}, {"address": "0x1004f740", "recomp": "0x10051260", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::find", "matching": 1.0, "diff": []}, {"address": "0x1004f800", "recomp": "0x10051320", "name": "map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x1004f800,25 +0x10051320,25 @@", [{"both": [["0x1004f800", "sub esp, 0x14", "0x10051320"], ["0x1004f803", "push ebx", "0x10051323"], ["0x1004f804", "push esi", "0x10051324"], ["0x1004f805", "push edi", "0x10051325"], ["0x1004f806", "mov eax, 1", "0x10051326"], ["0x1004f80b", "mov ebx, dword ptr [esp + 0x28]", "0x1005132b"], ["0x1004f80f", "push ebp", "0x1005132f"]]}, {"orig": [["0x1004f810", "mov esi, dword ptr [ecx + 4]"]], "recomp": [["0x10051330", "mov edi, dword ptr [ecx + 4]"]]}, {"both": [["0x1004f813", "mov ebp, ecx", "0x10051333"]]}, {"orig": [["0x1004f815", "mov edi, dword ptr [esi + 4]"], ["0x1004f818", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], edi"]], "recomp": [["0x10051335", "mov esi, dword ptr [edi + 4]"], ["0x10051338", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], esi"]]}, {"both": [["0x1004f81e", "je 0x48", "0x1005133e"]]}, {"orig": [["0x1004f820", "mov esi, edi"]], "recomp": [["0x10051340", "mov edi, esi"]]}, {"both": [["0x1004f822", "mov ecx, dword ptr [ebx]", "0x10051342"]]}, {"orig": [["0x1004f824", "mov edx, dword ptr [edi + 0xc]"]], "recomp": [["0x10051344", "mov edx, dword ptr [esi + 0xc]"]]}, {"both": [["0x1004f827", "mov al, byte ptr [ecx]", "0x10051347"], ["0x1004f829", "cmp al, byte ptr [edx]", "0x10051349"], ["0x1004f82b", "jne 0x1a", "0x1005134b"], ["0x1004f82d", "or al, al", "0x1005134d"], ["0x1004f82f", "je 0x12", "0x1005134f"], ["0x1004f831", "mov al, byte ptr [ecx + 1]", "0x10051351"], ["0x1004f834", "cmp al, byte ptr [edx + 1]", "0x10051354"], ["0x1004f837", "jne 0xe", "0x10051357"], ["0x1004f839", "add ecx, 2", "0x10051359"], ["0x1004f83c", "add edx, 2", "0x1005135c"]]}]], ["@@ -0x1004f843,52 +0x10051363,52 @@", [{"both": [["0x1004f843", "xor eax, eax", "0x10051363"], ["0x1004f845", "jmp 0x5", "0x10051365"], ["0x1004f847", "sbb eax, eax", "0x10051367"], ["0x1004f849", "sbb eax, -1", "0x10051369"], ["0x1004f84c", "test eax, eax", "0x1005136c"], ["0x1004f84e", "setg cl", "0x1005136e"], ["0x1004f851", "xor eax, eax", "0x10051371"], ["0x1004f853", "mov al, cl", "0x10051373"], ["0x1004f855", "test eax, eax", "0x10051375"], ["0x1004f857", "jne 0x5", "0x10051377"]]}, {"orig": [["0x1004f859", "mov edi, dword ptr [edi + 8]"]], "recomp": [["0x10051379", "mov esi, dword ptr [esi + 8]"]]}, {"both": [["0x1004f85c", "jmp 0x2", "0x1005137c"]]}, {"orig": [["0x1004f85e", "mov edi, dword ptr [edi]"], ["0x1004f860", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], edi"]], "recomp": [["0x1005137e", "mov esi, dword ptr [esi]"], ["0x10051380", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], esi"]]}, {"both": [["0x1004f866", "jne -0x48", "0x10051386"], ["0x1004f868", "cmp dword ptr [ebp + 8], 0", "0x10051388"], ["0x1004f86c", "je 0x2a", "0x1005138c"], ["0x1004f86e", "lea eax, [esp + 0x20]", "0x1005138e"], ["0x1004f872", "push ebx", "0x10051392"]]}, {"orig": [["0x1004f873", "push esi"]], "recomp": [["0x10051393", "push edi"]]}, {"both": [["0x1004f874", "mov ecx, ebp", "0x10051394"], ["0x1004f876", "mov dword ptr [esp + 0x18], 1", "0x10051396"]]}, {"orig": [["0x1004f87e", "push edi"]], "recomp": [["0x1005139e", "push esi"]]}, {"both": [["0x1004f87f", "push eax", "0x1005139f"], ["0x1004f880", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Insert (FUNCTION)", "0x100513a0"], ["0x1004f885", "mov eax, dword ptr [eax]", "0x100513a5"], ["0x1004f887", "mov ecx, dword ptr [esp + 0x10]", "0x100513a7"], ["0x1004f88b", "mov dword ptr [esp + 0x14], eax", "0x100513ab"], ["0x1004f88f", "mov dword ptr [esp + 0x18], ecx", "0x100513af"], ["0x1004f893", "jmp 0xa8", "0x100513b3"]]}, {"orig": [["0x1004f898", "mov dword ptr [esp + 0x1c], esi"]], "recomp": [["0x100513b8", "mov dword ptr [esp + 0x1c], edi"]]}, {"both": [["0x1004f89c", "test eax, eax", "0x100513bc"], ["0x1004f89e", "je 0x37", "0x100513be"], ["0x1004f8a0", "mov eax, dword ptr [ebp + 4]", "0x100513c0"]]}, {"orig": [["0x1004f8a3", "cmp dword ptr [eax], esi"]], "recomp": [["0x100513c3", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1004f8a5", "jne 0x27", "0x100513c5"], ["0x1004f8a7", "lea eax, [esp + 0x20]", "0x100513c7"], ["0x1004f8ab", "push ebx", "0x100513cb"]]}, {"orig": [["0x1004f8ac", "push esi"]], "recomp": [["0x100513cc", "push edi"]]}, {"both": [["0x1004f8ad", "mov ecx, ebp", "0x100513cd"], ["0x1004f8af", "mov dword ptr [esp + 0x18], 1", "0x100513cf"]]}, {"orig": [["0x1004f8b7", "push edi"]], "recomp": [["0x100513d7", "push esi"]]}, {"both": [["0x1004f8b8", "push eax", "0x100513d8"], ["0x1004f8b9", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Insert (FUNCTION)", "0x100513d9"], ["0x1004f8be", "mov eax, dword ptr [eax]", "0x100513de"], ["0x1004f8c0", "mov ecx, dword ptr [esp + 0x10]", "0x100513e0"], ["0x1004f8c4", "mov dword ptr [esp + 0x14], eax", "0x100513e4"], ["0x1004f8c8", "mov dword ptr [esp + 0x18], ecx", "0x100513e8"], ["0x1004f8cc", "jmp 0x72", "0x100513ec"], ["0x1004f8ce", "lea ecx, [esp + 0x1c]", "0x100513ee"], ["0x1004f8d2", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::iterator::_Dec (FUNCTION)", "0x100513f2"], ["0x1004f8d7", "mov eax, dword ptr [esp + 0x1c]", "0x100513f7"]]}]], ["@@ -0x1004f8f8,24 +0x10051418,24 @@", [{"both": [["0x1004f8f8", "or al, al", "0x10051418"], ["0x1004f8fa", "jne -0x1c", "0x1005141a"], ["0x1004f8fc", "xor eax, eax", "0x1005141c"], ["0x1004f8fe", "jmp 0x5", "0x1005141e"], ["0x1004f900", "sbb eax, eax", "0x10051420"], ["0x1004f902", "sbb eax, -1", "0x10051422"], ["0x1004f905", "test eax, eax", "0x10051425"], ["0x1004f907", "jle 0x27", "0x10051427"], ["0x1004f909", "lea eax, [esp + 0x20]", "0x10051429"], ["0x1004f90d", "push ebx", "0x1005142d"]]}, {"orig": [["0x1004f90e", "push esi"]], "recomp": [["0x1005142e", "push edi"]]}, {"both": [["0x1004f90f", "mov ecx, ebp", "0x1005142f"], ["0x1004f911", "mov dword ptr [esp + 0x18], 1", "0x10051431"]]}, {"orig": [["0x1004f919", "push edi"]], "recomp": [["0x10051439", "push esi"]]}, {"both": [["0x1004f91a", "push eax", "0x1005143a"], ["0x1004f91b", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Insert (FUNCTION)", "0x1005143b"], ["0x1004f920", "mov eax, dword ptr [eax]", "0x10051440"], ["0x1004f922", "mov ecx, dword ptr [esp + 0x10]", "0x10051442"], ["0x1004f926", "mov dword ptr [esp + 0x14], eax", "0x10051446"], ["0x1004f92a", "mov dword ptr [esp + 0x18], ecx", "0x1005144a"], ["0x1004f92e", "jmp 0x10", "0x1005144e"], ["0x1004f930", "mov dword ptr [esp + 0x18], 0", "0x10051450"], ["0x1004f938", "mov eax, dword ptr [esp + 0x1c]", "0x10051458"], ["0x1004f93c", "mov dword ptr [esp + 0x14], eax", "0x1005145c"]]}]]]}, {"address": "0x1004f960", "recomp": "0x10051480", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::iterator::_Dec", "matching": 1.0, "diff": []}, {"address": "0x1004f9b0", "recomp": "0x100514d0", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Insert", "matching": 0.7354838709677419, "diff": [["@@ -0x1004fa5f,34 +0x1005157f,34 @@", [{"both": [["0x1004fa5f", "jne 0x11", "0x1005157f"], ["0x1004fa61", "mov dword ptr [eax], edx", "0x10051581"], ["0x1004fa63", "jmp 0xd", "0x10051583"], ["0x1004fa65", "mov edx, dword ptr [esp + 0x10]", "0x10051585"], ["0x1004fa69", "mov dword ptr [eax + 4], edx", "0x10051589"], ["0x1004fa6c", "mov eax, dword ptr [esi + 4]", "0x1005158c"], ["0x1004fa6f", "mov dword ptr [eax + 8], edx", "0x1005158f"], ["0x1004fa72", "mov ecx, dword ptr [esp + 0x10]", "0x10051592"], ["0x1004fa76", "mov eax, dword ptr [esi + 4]", "0x10051596"], ["0x1004fa79", "cmp dword ptr [eax + 4], ecx", "0x10051599"]]}, {"orig": [["0x1004fa7c", "je 0x1b4"]], "recomp": [["0x1005159c", "je 0x1b3"]]}, {"both": [["0x1004fa82", "lea edx, [ecx + 4]", "0x100515a2"], ["0x1004fa85", "mov eax, dword ptr [edx]", "0x100515a5"]]}, {"orig": [["0x1004fa87", "lea ebp, [eax + 0x14]"], ["0x1004fa8a", "cmp dword ptr [ebp], 0"]], "recomp": [["0x100515a7", "lea ebx, [eax + 0x14]"], ["0x100515aa", "cmp dword ptr [ebx], 0"]]}, {"both": [["0x1004fa8e", "jne 0x1a2", "0x100515ad"], ["0x1004fa94", "lea edi, [eax + 4]", "0x100515b3"]]}, {"orig": [["0x1004fa97", "mov ebx, dword ptr [edi]"], ["0x1004fa99", "mov ebx, dword ptr [ebx]"], ["0x1004fa9b", "cmp ebx, eax"]], "recomp": [["0x100515b6", "mov ebp, dword ptr [edi]"], ["0x100515b8", "mov ebp, dword ptr [ebp]"], ["0x100515bb", "cmp ebp, eax"]]}, {"both": [["0x1004fa9d", "jne 0xbb", "0x100515bd"]]}, {"orig": [["0x1004faa3", "mov ebx, dword ptr [edi]"], ["0x1004faa5", "mov ebx, dword ptr [ebx + 8]"], ["0x1004faa8", "cmp dword ptr [ebx + 0x14], 0"]], "recomp": [["0x100515c3", "mov ebp, dword ptr [edi]"], ["0x100515c5", "mov ebp, dword ptr [ebp + 8]"], ["0x100515c8", "cmp dword ptr [ebp + 0x14], 0"]]}, {"both": [["0x1004faac", "je 0x159", "0x100515cc"], ["0x1004fab2", "lea ebx, [eax + 8]", "0x100515d2"], ["0x1004fab5", "mov edx, dword ptr [ebx]", "0x100515d5"], ["0x1004fab7", "cmp ecx, edx", "0x100515d7"], ["0x1004fab9", "jne 0x33", "0x100515d9"], ["0x1004fabb", "mov ecx, eax", "0x100515db"], ["0x1004fabd", "mov eax, dword ptr [edx]", "0x100515dd"], ["0x1004fabf", "mov dword ptr [ebx], eax", "0x100515df"], ["0x1004fac1", "mov eax, dword ptr [edx]", "0x100515e1"], ["0x1004fac3", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax", "0x100515e3"]]}]], ["@@ -0x1004fae6,122 +0x10051606,123 @@", [{"both": [["0x1004fae6", "jmp 0x2", "0x10051606"], ["0x1004fae8", "mov dword ptr [eax], edx", "0x10051608"], ["0x1004faea", "mov dword ptr [edx], ecx", "0x1005160a"], ["0x1004faec", "mov dword ptr [edi], edx", "0x1005160c"], ["0x1004faee", "mov eax, dword ptr [ecx + 4]", "0x1005160e"], ["0x1004faf1", "mov dword ptr [eax + 0x14], 1", "0x10051611"], ["0x1004faf8", "mov eax, dword ptr [ecx + 4]", "0x10051618"], ["0x1004fafb", "mov edx, dword ptr [eax + 4]", "0x1005161b"], ["0x1004fafe", "mov dword ptr [edx + 0x14], 0", "0x1005161e"], ["0x1004fb05", "mov eax, dword ptr [ecx + 4]", "0x10051625"]]}, {"orig": [["0x1004fb08", "mov edi, dword ptr [eax + 4]"], ["0x1004fb0b", "mov edx, dword ptr [edi]"], ["0x1004fb0d", "mov eax, dword ptr [edx + 8]"], ["0x1004fb10", "mov dword ptr [edi], eax"], ["0x1004fb12", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x10051628", "mov edx, dword ptr [eax + 4]"], ["0x1005162b", "mov edi, dword ptr [edx]"], ["0x1005162d", "mov eax, dword ptr [edi + 8]"], ["0x10051630", "mov dword ptr [edx], eax"], ["0x10051632", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x1004fb15", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax", "0x10051635"], ["0x1004fb1b", "je 0x3", "0x1005163b"]]}, {"orig": [["0x1004fb1d", "mov dword ptr [eax + 4], edi"], ["0x1004fb20", "mov eax, dword ptr [edi + 4]"], ["0x1004fb23", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x1005163d", "mov dword ptr [eax + 4], edx"], ["0x10051640", "mov eax, dword ptr [edx + 4]"], ["0x10051643", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1004fb26", "mov eax, dword ptr [esi + 4]", "0x10051646"], ["0x1004fb29", "add eax, 4", "0x10051649"]]}, {"orig": [["0x1004fb2c", "cmp dword ptr [eax], edi"]], "recomp": [["0x1005164c", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1004fb2e", "je 0x24", "0x1005164e"]]}, {"orig": [["0x1004fb30", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x10051650", "mov ebx, dword ptr [edx + 4]"]]}, {"both": [["0x1004fb33", "lea eax, [ebx + 8]", "0x10051653"]]}, {"orig": [["0x1004fb36", "cmp dword ptr [eax], edi"]], "recomp": [["0x10051656", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1004fb38", "je 0xd", "0x10051658"]]}, {"orig": [["0x1004fb3a", "mov dword ptr [ebx], edx"], ["0x1004fb3c", "mov dword ptr [edx + 8], edi"], ["0x1004fb3f", "mov dword ptr [edi + 4], edx"], ["0x1004fb42", "jmp 0xe3"], ["0x1004fb47", "mov dword ptr [eax], edx"], ["0x1004fb49", "mov dword ptr [edx + 8], edi"], ["0x1004fb4c", "mov dword ptr [edi + 4], edx"], ["0x1004fb4f", "jmp 0xd6"], ["0x1004fb54", "mov dword ptr [eax], edx"], ["0x1004fb56", "mov dword ptr [edx + 8], edi"]], "recomp": [["0x1005165a", "mov dword ptr [ebx], edi"], ["0x1005165c", "mov dword ptr [edi + 8], edx"], ["0x1005165f", "mov dword ptr [edx + 4], edi"], ["0x10051662", "jmp 0xe2"], ["0x10051667", "mov dword ptr [eax], edi"], ["0x10051669", "mov dword ptr [edi + 8], edx"], ["0x1005166c", "mov dword ptr [edx + 4], edi"], ["0x1005166f", "jmp 0xd5"], ["0x10051674", "mov dword ptr [eax], edi"], ["0x10051676", "mov dword ptr [edi + 8], edx"]]}, {"both": [["0x1004fb59", "jmp 0xa8", "0x10051679"]]}, {"orig": [["0x1004fb5e", "cmp dword ptr [ebx + 0x14], 0"]], "recomp": [["0x1005167e", "cmp dword ptr [ebp + 0x14], 0"]]}, {"both": [["0x1004fb62", "je 0xa3", "0x10051682"], ["0x1004fb68", "mov edx, dword ptr [eax]", "0x10051688"], ["0x1004fb6a", "cmp ecx, edx", "0x1005168a"], ["0x1004fb6c", "jne 0x38", "0x1005168c"], ["0x1004fb6e", "mov ecx, eax", "0x1005168e"], ["0x1004fb70", "mov eax, dword ptr [edx + 8]", "0x10051690"], ["0x1004fb73", "mov dword ptr [ecx], eax", "0x10051693"], ["0x1004fb75", "mov eax, dword ptr [edx + 8]", "0x10051695"], ["0x1004fb78", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax", "0x10051698"], ["0x1004fb7e", "je 0x3", "0x1005169e"], ["0x1004fb80", "mov dword ptr [eax + 4], ecx", "0x100516a0"], ["0x1004fb83", "mov eax, dword ptr [edi]", "0x100516a3"], ["0x1004fb85", "mov dword ptr [edx + 4], eax", "0x100516a5"], ["0x1004fb88", "mov eax, dword ptr [esi + 4]", "0x100516a8"], ["0x1004fb8b", "add eax, 4", "0x100516ab"], ["0x1004fb8e", "cmp dword ptr [eax], ecx", "0x100516ae"], ["0x1004fb90", "je 0xd", "0x100516b0"]]}, {"orig": [["0x1004fb92", "mov eax, dword ptr [edi]"], ["0x1004fb94", "lea ebx, [eax + 8]"], ["0x1004fb97", "cmp dword ptr [ebx], ecx"], ["0x1004fb99", "jne 0x4"]], "recomp": [["0x100516b2", "mov ebx, dword ptr [edi]"], ["0x100516b4", "lea eax, [ebx + 8]"], ["0x100516b7", "cmp dword ptr [eax], ecx"], ["0x100516b9", "je 0x4"]]}, {"both": [["0x1004fb9b", "mov dword ptr [ebx], edx", "0x100516bb"], ["0x1004fb9d", "jmp 0x2", "0x100516bd"], ["0x1004fb9f", "mov dword ptr [eax], edx", "0x100516bf"], ["0x1004fba1", "mov dword ptr [edx + 8], ecx", "0x100516c1"], ["0x1004fba4", "mov dword ptr [edi], edx", "0x100516c4"], ["0x1004fba6", "mov eax, dword ptr [ecx + 4]", "0x100516c6"], ["0x1004fba9", "mov dword ptr [eax + 0x14], 1", "0x100516c9"], ["0x1004fbb0", "mov eax, dword ptr [ecx + 4]", "0x100516d0"], ["0x1004fbb3", "mov edx, dword ptr [eax + 4]", "0x100516d3"], ["0x1004fbb6", "mov dword ptr [edx + 0x14], 0", "0x100516d6"], ["0x1004fbbd", "mov eax, dword ptr [ecx + 4]", "0x100516dd"]]}, {"orig": [["0x1004fbc0", "mov edi, dword ptr [eax + 4]"], ["0x1004fbc3", "mov edx, dword ptr [edi + 8]"], ["0x1004fbc6", "mov eax, dword ptr [edx]"], ["0x1004fbc8", "mov dword ptr [edi + 8], eax"], ["0x1004fbcb", "mov eax, dword ptr [edx]"]], "recomp": [["0x100516e0", "mov edx, dword ptr [eax + 4]"], ["0x100516e3", "mov edi, dword ptr [edx + 8]"], ["0x100516e6", "mov eax, dword ptr [edi]"], ["0x100516e8", "mov dword ptr [edx + 8], eax"], ["0x100516eb", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1004fbcd", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax", "0x100516ed"], ["0x1004fbd3", "je 0x3", "0x100516f3"]]}, {"orig": [["0x1004fbd5", "mov dword ptr [eax + 4], edi"], ["0x1004fbd8", "mov eax, dword ptr [edi + 4]"], ["0x1004fbdb", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x100516f5", "mov dword ptr [eax + 4], edx"], ["0x100516f8", "mov eax, dword ptr [edx + 4]"], ["0x100516fb", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1004fbde", "mov eax, dword ptr [esi + 4]", "0x100516fe"], ["0x1004fbe1", "add eax, 4", "0x10051701"]]}, {"orig": [["0x1004fbe4", "cmp dword ptr [eax], edi"]], "recomp": [["0x10051704", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1004fbe6", "je 0x1a", "0x10051706"]]}, {"orig": [["0x1004fbe8", "mov eax, dword ptr [edi + 4]"], ["0x1004fbeb", "cmp dword ptr [eax], edi"]], "recomp": [["0x10051708", "mov eax, dword ptr [edx + 4]"], ["0x1005170b", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1004fbed", "je 0xa", "0x1005170d"]]}, {"orig": [["0x1004fbef", "mov dword ptr [eax + 8], edx"], ["0x1004fbf2", "mov dword ptr [edx], edi"], ["0x1004fbf4", "mov dword ptr [edi + 4], edx"], ["0x1004fbf7", "jmp 0x31"], ["0x1004fbf9", "mov dword ptr [eax], edx"], ["0x1004fbfb", "mov dword ptr [edx], edi"], ["0x1004fbfd", "mov dword ptr [edi + 4], edx"], ["0x1004fc00", "jmp 0x28"], ["0x1004fc02", "mov dword ptr [eax], edx"], ["0x1004fc04", "mov dword ptr [edx], edi"], ["0x1004fc06", "mov dword ptr [edi + 4], edx"], ["0x1004fc09", "jmp 0x1f"], ["0x1004fc0b", "mov dword ptr [ebp], 1"], ["0x1004fc12", "mov dword ptr [ebx + 0x14], 1"]], "recomp": [["0x1005170f", "mov dword ptr [eax + 8], edi"], ["0x10051712", "mov dword ptr [edi], edx"], ["0x10051714", "mov dword ptr [edx + 4], edi"], ["0x10051717", "jmp 0x30"], ["0x10051719", "mov dword ptr [eax], edi"], ["0x1005171b", "mov dword ptr [edi], edx"], ["0x1005171d", "mov dword ptr [edx + 4], edi"], ["0x10051720", "jmp 0x27"], ["0x10051722", "mov dword ptr [eax], edi"], ["0x10051724", "mov dword ptr [edi], edx"], ["0x10051726", "mov dword ptr [edx + 4], edi"], ["0x10051729", "jmp 0x1e"], ["0x1005172b", "mov dword ptr [ebx], 1"], ["0x10051731", "mov dword ptr [ebp + 0x14], 1"]]}, {"both": [["0x1004fc19", "mov eax, dword ptr [edx]", "0x10051738"], ["0x1004fc1b", "mov ecx, dword ptr [eax + 4]", "0x1005173a"], ["0x1004fc1e", "mov dword ptr [ecx + 0x14], 0", "0x1005173d"], ["0x1004fc25", "mov eax, dword ptr [edx]", "0x10051744"], ["0x1004fc27", "mov ecx, dword ptr [eax + 4]", "0x10051746"], ["0x1004fc2a", "mov eax, dword ptr [esi + 4]", "0x10051749"], ["0x1004fc2d", "cmp dword ptr [eax + 4], ecx", "0x1005174c"]]}, {"orig": [["0x1004fc30", "jne -0x1b4"]], "recomp": [["0x1005174f", "jne -0x1b3"]]}, {"both": [["0x1004fc36", "mov eax, dword ptr [esi + 4]", "0x10051755"], ["0x1004fc39", "mov edx, dword ptr [esp + 0x10]", "0x10051758"], ["0x1004fc3d", "mov ecx, dword ptr [eax + 4]", "0x1005175c"], ["0x1004fc40", "mov eax, dword ptr [esp + 0x18]", "0x1005175f"], ["0x1004fc44", "pop ebp", "0x10051763"], ["0x1004fc45", "pop edi", "0x10051764"], ["0x1004fc46", "mov dword ptr [ecx + 0x14], 1", "0x10051765"], ["0x1004fc4d", "pop esi", "0x1005176c"], ["0x1004fc4e", "mov dword ptr [eax], edx", "0x1005176d"], ["0x1004fc50", "pop ebx", "0x1005176f"], ["0x1004fc51", "add esp, 4", "0x10051770"]]}, {"orig": [], "recomp": [["0x10051773", "ret 0x10"]]}]]]}, {"address": "0x1004fc60", "recomp": "0x10051780", "name": "LegoTexturePresenter::PutData", "matching": 1.0, "diff": []}, {"address": "0x1004fcb0", "recomp": "0x100517d0", "name": "LegoTexturePresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x1004fce0", "recomp": "0x10051800", "name": "LegoAct2::LegoAct2", "matching": 1.0, "diff": []}, {"address": "0x1004fe10", "recomp": "0x10051950", "name": "LegoAct2::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x1004fe20", "recomp": "0x10051930", "name": "LegoAct2::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1004fe40", "recomp": "0x10051960", "name": "LegoAct2::~LegoAct2", "matching": 1.0, "diff": []}, {"address": "0x1004ff20", "recomp": "0x10051a40", "name": "LegoAct2::Create", "matching": 1.0, "diff": []}, {"address": "0x10050040", "recomp": "0x10051b60", "name": "LegoAct2::Tickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x100501d9,24 +0x10051cf9,24 @@", [{"both": [["0x100501d9", "mov eax, dword ptr [esi + 0x10d0]", "0x10051cf9"], ["0x100501df", "add eax, 0x32", "0x10051cff"], ["0x100501e2", "mov dword ptr [esi + 0x10d0], eax", "0x10051d02"], ["0x100501e8", "cmp eax, 0x4e20", "0x10051d08"], ["0x100501ed", "jne 0x8f", "0x10051d0d"], ["0x100501f3", "push 'pepper' (STRING)", "0x10051d13"], ["0x100501f8", "call FindROI (FUNCTION)", "0x10051d18"], ["0x100501fd", "add esp, 4", "0x10051d1d"], ["0x10050200", "mov eax, dword ptr [eax + 0x14]", "0x10051d20"], ["0x10050203", "add eax, 0x30", "0x10051d23"]]}, {"orig": [], "recomp": [["0x10051d26", "fld dword ptr [eax + 4]"], ["0x10051d29", "fsub dword ptr [5.25 (FLOAT)]"]]}, {"both": [["0x10050206", "fld dword ptr [eax + 8]", "0x10051d2f"], ["0x10050209", "fadd dword ptr [16.5 (FLOAT)]", "0x10051d32"]]}, {"orig": [["0x1005020f", "fld dword ptr [eax + 4]"], ["0x10050212", "fsub dword ptr [5.25 (FLOAT)]"]], "recomp": []}, {"both": [["0x10050218", "fld dword ptr [eax]", "0x10051d38"], ["0x1005021a", "fadd dword ptr [52.0 (FLOAT)]", "0x10051d3a"], ["0x10050220", "fxch st(2)", "0x10051d40"], ["0x10050222", "fmul st(0), st(0)", "0x10051d42"], ["0x10050224", "fxch st(1)", "0x10051d44"], ["0x10050226", "fmul st(0), st(0)", "0x10051d46"], ["0x10050228", "cmp dword ptr [esi + 0x1144], 0", "0x10051d48"], ["0x1005022f", "faddp st(1)", "0x10051d4f"], ["0x10050231", "fxch st(1)", "0x10051d51"], ["0x10050233", "fmul st(0), st(0)", "0x10051d53"]]}]]]}, {"address": "0x10050380", "recomp": "0x10051ea0", "name": "LegoAct2::Notify", "matching": 0.7063339731285988, "diff": [["@@ -0x10050386,210 +0x10051ea6,230 @@", [{"both": [["0x10050386", "push ebx", "0x10051ea6"], ["0x10050387", "push esi", "0x10051ea7"], ["0x10050388", "push edi", "0x10051ea8"], ["0x10050389", "mov ebx, ecx", "0x10051ea9"], ["0x1005038b", "mov esi, dword ptr [esp + 0xe4]", "0x10051eab"], ["0x10050392", "push ebp", "0x10051eb2"], ["0x10050393", "xor ebp, ebp", "0x10051eb3"], ["0x10050395", "push esi", "0x10051eb5"], ["0x10050396", "call LegoWorld::Notify (FUNCTION)", "0x10051eb6"], ["0x1005039b", "cmp byte ptr [ebx + 0xf6], 0", "0x10051ebb"]]}, {"orig": [["0x100503a2", "je 0x301"]], "recomp": [["0x10051ec2", "je 0x32d"]]}, {"both": [["0x100503a8", "mov ecx, dword ptr [esi + 4]", "0x10051ec8"], ["0x100503ab", "sub ecx, 2", "0x10051ecb"], ["0x100503ae", "cmp ecx, 0x16", "0x10051ece"]]}, {"orig": [["0x100503b1", "ja 0x2f2"]], "recomp": [["0x10051ed1", "ja 0x31e"]]}, {"both": [["0x100503b7", "xor eax, eax", "0x10051ed7"], ["0x100503b9", "mov al, byte ptr [ecx + <OFFSET2>]", "0x10051ed9"], ["0x100503bf", "jmp dword ptr [eax*4 + <OFFSET3>]", "0x10051edf"], ["0x100503c6", "push esi", "0x10051ee6"], ["0x100503c7", "mov ecx, ebx", "0x10051ee7"], ["0x100503c9", "call LegoAct2::HandleEndAction (FUNCTION)", "0x10051ee9"]]}, {"orig": [["0x100503ce", "jmp 0x2d4"]], "recomp": [["0x10051eee", "jmp 0x300"]]}, {"both": [["0x100503d3", "cmp dword ptr [ebx + 0x1128], 0", "0x10051ef3"], ["0x100503da", "mov edi, dword ptr [esi + 8]", "0x10051efa"], ["0x100503dd", "jne 0x13", "0x10051efd"], ["0x100503df", "push 'ambul' (STRING)", "0x10051eff"], ["0x100503e4", "call FindROI (FUNCTION)", "0x10051f04"], ["0x100503e9", "add esp, 4", "0x10051f09"], ["0x100503ec", "mov dword ptr [ebx + 0x1128], eax", "0x10051f0c"], ["0x100503f2", "mov eax, dword ptr [ebx + 0x10d8]", "0x10051f12"], ["0x100503f8", "cmp dword ptr [edi + 0x54], eax", "0x10051f18"], ["0x100503fb", "jne 0x8", "0x10051f1b"], ["0x100503fd", "push esi", "0x10051f1d"], ["0x100503fe", "mov ecx, ebx", "0x10051f1e"], ["0x10050400", "call LegoAct2::HandlePathStruct (FUNCTION)", "0x10051f20"], ["0x10050405", "mov ebp, 1", "0x10051f25"]]}, {"orig": [["0x1005040a", "jmp 0x29a"]], "recomp": [["0x10051f2a", "jmp 0x2c6"]]}, {"both": [["0x1005040f", "call SoundManager (FUNCTION)", "0x10051f2f"], ["0x10050414", "push 0", "0x10051f34"], ["0x10050416", "mov ecx, dword ptr [eax + 0x40]", "0x10051f36"], ["0x10050419", "push 0", "0x10051f39"], ["0x1005041b", "push '28bng' (STRING)", "0x10051f3b"], ["0x10050420", "call LegoCacheSoundManager::Play (FUNCTION)", "0x10051f40"], ["0x10050425", "mov al, byte ptr [ebx + 0x10c1]", "0x10051f45"], ["0x1005042b", "inc al", "0x10051f4b"], ["0x1005042d", "mov byte ptr [ebx + 0x10c1], al", "0x10051f4d"], ["0x10050433", "cmp al, 0xa", "0x10051f53"]]}, {"orig": [["0x10050435", "jne 0x26e"]], "recomp": [["0x10051f55", "jne 0x29a"]]}, {"both": [["0x1005043b", "cmp dword ptr [ebx + 0x10c4], 0xd", "0x10051f5b"]]}, {"orig": [["0x10050442", "jne 0x261"]], "recomp": [["0x10051f62", "jne 0x28d"]]}, {"both": [["0x10050448", "mov dword ptr [ebx + 0x10c4], 0xe", "0x10051f68"], ["0x10050452", "mov eax, dword ptr [esi + 8]", "0x10051f72"], ["0x10050455", "mov ecx, dword ptr [eax + 0x54]", "0x10051f75"], ["0x10050458", "lea eax, [esp + 0x40]", "0x10051f78"], ["0x1005045c", "push eax", "0x10051f7c"]]}, {"orig": [["0x1005045d", "mov esi, dword ptr [ecx + 0x14]"], ["0x10050460", "add esi, 0x30"]], "recomp": [["0x10051f7d", "mov esi, Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10051f82", "mov edi, dword ptr [ecx + 0x14]"]]}, {"both": [["0x10050463", "lea ecx, [esp + 0x3c]", "0x10051f85"]]}, {"orig": [], "recomp": [["0x10051f89", "add edi, 0x30"]]}, {"both": [["0x10050467", "call Vector2::Vector2 (FUNCTION)", "0x10051f8c"]]}, {"orig": [["0x1005046c", "mov dword ptr [esp + 0x38], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10050474", "mov ecx, dword ptr [esp + 0x3c]", "0x10051f91"]]}, {"orig": [["0x10050478", "mov eax, dword ptr [esi]"]], "recomp": [["0x10051f95", "mov dword ptr [esp + 0x38], esi"], ["0x10051f99", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1005047a", "mov dword ptr [ecx], eax", "0x10051f9b"]]}, {"orig": [["0x1005047c", "mov edx, dword ptr [esi + 4]"]], "recomp": [["0x10051f9d", "mov edx, dword ptr [edi + 4]"]]}, {"both": [["0x1005047f", "mov dword ptr [ecx + 4], edx", "0x10051fa0"]]}, {"orig": [["0x10050482", "mov esi, dword ptr [esi + 8]"], ["0x10050485", "mov dword ptr [ecx + 8], esi"]], "recomp": [["0x10051fa3", "mov edi, dword ptr [edi + 8]"], ["0x10051fa6", "mov dword ptr [ecx + 8], edi"]]}, {"both": [["0x10050488", "lea ecx, [esp + 0x60]", "0x10051fa9"], ["0x1005048c", "mov eax, dword ptr [ebx + 0x10d8]", "0x10051fad"]]}, {"orig": [["0x10050492", "mov esi, dword ptr [eax + 0x14]"]], "recomp": [["0x10051fb3", "mov edi, dword ptr [eax + 0x14]"]]}, {"both": [["0x10050495", "lea eax, [esp + 0x68]", "0x10051fb6"]]}, {"orig": [["0x10050499", "add esi, 0x30"]], "recomp": [["0x10051fba", "add edi, 0x30"]]}, {"both": [["0x1005049c", "push eax", "0x10051fbd"], ["0x1005049d", "call Vector2::Vector2 (FUNCTION)", "0x10051fbe"]]}, {"orig": [["0x100504a2", "mov dword ptr [esp + 0x60], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x100504aa", "mov ecx, dword ptr [esp + 0x64]", "0x10051fc3"]]}, {"orig": [["0x100504ae", "mov eax, dword ptr [esi]"]], "recomp": [["0x10051fc7", "mov dword ptr [esp + 0x60], esi"], ["0x10051fcb", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100504b0", "mov dword ptr [ecx], eax", "0x10051fcd"], ["0x100504b2", "lea eax, [esp + 0x2c]", "0x10051fcf"]]}, {"orig": [["0x100504b6", "mov edx, dword ptr [esi + 4]"]], "recomp": [["0x10051fd3", "mov edx, dword ptr [edi + 4]"]]}, {"both": [["0x100504b9", "push eax", "0x10051fd6"], ["0x100504ba", "mov dword ptr [ecx + 4], edx", "0x10051fd7"]]}, {"orig": [["0x100504bd", "mov esi, dword ptr [esi + 8]"], ["0x100504c0", "mov dword ptr [ecx + 8], esi"]], "recomp": [["0x10051fda", "mov edi, dword ptr [edi + 8]"], ["0x10051fdd", "mov dword ptr [ecx + 8], edi"]]}, {"both": [["0x100504c3", "lea ecx, [esp + 0x28]", "0x10051fe0"], ["0x100504c7", "call Vector2::Vector2 (FUNCTION)", "0x10051fe4"], ["0x100504cc", "mov ecx, dword ptr [esp + 0x64]", "0x10051fe9"], ["0x100504d0", "mov edx, dword ptr [esp + 0x28]", "0x10051fed"]]}, {"orig": [["0x100504d4", "mov dword ptr [esp + 0x24], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x10051ff1", "mov dword ptr [esp + 0x24], esi"]]}, {"both": [["0x100504dc", "mov eax, dword ptr [ecx]", "0x10051ff5"], ["0x100504de", "mov dword ptr [edx], eax", "0x10051ff7"], ["0x100504e0", "lea eax, [esp + 0x60]", "0x10051ff9"], ["0x100504e4", "mov esi, dword ptr [ecx + 4]", "0x10051ffd"], ["0x100504e7", "push eax", "0x10052000"], ["0x100504e8", "mov dword ptr [edx + 4], esi", "0x10052001"]]}, {"orig": [["0x100504eb", "mov ecx, dword ptr [ecx + 8]"], ["0x100504ee", "mov dword ptr [edx + 8], ecx"]], "recomp": [["0x10052004", "mov edi, dword ptr [ecx + 8]"]]}, {"both": [["0x100504f1", "lea ecx, [esp + 0x3c]", "0x10052007"]]}, {"orig": [], "recomp": [["0x1005200b", "mov dword ptr [edx + 8], edi"]]}, {"both": [["0x100504f5", "mov esi, dword ptr [esp + 0x3c]", "0x1005200e"], ["0x100504f9", "call dword ptr [esi + 0x54]", "0x10052012"], ["0x100504fc", "lea ecx, [esp + 0xa4]", "0x10052015"]]}, {"orig": [["0x10050503", "mov eax, dword ptr [ebx + 0x10d8]"]], "recomp": []}, {"both": [["0x10050509", "mov edi, ecx", "0x1005201c"], ["0x1005050b", "mov dword ptr [esp + 0xa0], ecx", "0x1005201e"]]}, {"orig": [], "recomp": [["0x10052025", "mov eax, dword ptr [ebx + 0x10d8]"], ["0x1005202b", "mov ecx, 0x10"]]}, {"both": [["0x10050512", "mov dword ptr [esp + 0x9c], MxMatrix::`vftable' (VTABLE)", "0x10052030"], ["0x1005051d", "mov esi, dword ptr [eax + 0x14]", "0x1005203b"]]}, {"orig": [["0x10050520", "mov ecx, 0x10"]], "recomp": []}, {"both": [["0x10050525", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1005203e"], ["0x10050527", "mov ecx, dword ptr [esp + 0xa0]", "0x10052040"]]}, {"orig": [["0x1005052e", "mov dword ptr [esp + 0x1c], ecx"]], "recomp": [["0x10052047", "mov eax, Vector3::`vftable' (VTABLE)"]]}, {"both": [["0x10050532", "lea esi, [ecx + 0x10]", "0x1005204c"]]}, {"orig": [["0x10050535", "mov eax, Vector3::`vftable' (VTABLE)"]], "recomp": [["0x1005204f", "mov dword ptr [esp + 0x20], ecx"], ["0x10052053", "mov dword ptr [esp + 0x1c], eax"]]}, {"both": [["0x1005053a", "add ecx, 0x20", "0x10052057"]]}, {"orig": [["0x1005053d", "mov dword ptr [esp + 0x18], eax"], ["0x10050541", "mov dword ptr [esp + 0x14], ecx"], ["0x10050545", "mov dword ptr [esp + 0x10], eax"]], "recomp": [["0x1005205a", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x10050549", "mov eax, dword ptr [esp + 0x3c]", "0x1005205e"]]}, {"orig": [["0x1005054d", "lea ecx, [esp + 0x10]"]], "recomp": [["0x10052062", "mov dword ptr [esp + 0x18], ecx"], ["0x10052066", "lea ecx, [esp + 0x14]"]]}, {"both": [["0x10050551", "push eax", "0x1005206a"], ["0x10050552", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x1005206b"]]}, {"orig": [], "recomp": [["0x10052071", "lea ecx, [esp + 0x14]"], ["0x10052075", "mov edi, dword ptr [esp + 0x14]"], ["0x10052079", "call dword ptr [edi + 0x40]"], ["0x1005207c", "fcom dword ptr [0.0 (FLOAT)]"], ["0x10052082", "fstp dword ptr [esp + 0x10]"], ["0x10052086", "fnstsw ax"], ["0x10052088", "test ah, 0x41"], ["0x1005208b", "jne 0x27"], ["0x1005208d", "fld dword ptr [esp + 0x10]"], ["0x10052091", "fsqrt "], ["0x10052093", "fcom dword ptr [0.0 (FLOAT)]"], ["0x10052099", "fstp dword ptr [esp + 0x10]"], ["0x1005209d", "fnstsw ax"], ["0x1005209f", "test ah, 0x41"], ["0x100520a2", "jne 0x10"], ["0x100520a4", "lea eax, [esp + 0x10]"], ["0x100520a8", "lea ecx, [esp + 0x14]"], ["0x100520ac", "mov edi, dword ptr [esp + 0x14]"], ["0x100520b0", "push eax"], ["0x100520b1", "call dword ptr [edi + 0x14]"], ["0x100520b4", "lea eax, [esp + 0x54]"], ["0x100520b8", "lea ecx, [esp + 0x4c]"], ["0x100520bc", "push eax"], ["0x100520bd", "mov edi, Mx3DPointFloat::`vftable' (VTABLE)"], ["0x100520c2", "call Vector2::Vector2 (FUNCTION)"], ["0x100520c7", "mov eax, dword ptr [esp + 0x18]"], ["0x100520cb", "mov ecx, dword ptr [esp + 0x50]"], ["0x100520cf", "mov dword ptr [esp + 0x4c], edi"], ["0x100520d3", "mov edx, dword ptr [eax]"], ["0x100520d5", "mov dword ptr [ecx], edx"], ["0x100520d7", "mov edx, dword ptr [eax + 4]"], ["0x100520da", "mov dword ptr [ecx + 4], edx"], ["0x100520dd", "mov eax, dword ptr [eax + 8]"], ["0x100520e0", "mov dword ptr [ecx + 8], eax"]]}, {"both": [["0x10050558", "lea ecx, [esp + 0x10]", "0x100520e3"]]}, {"orig": [["0x1005055c", "call Vector2::Unitize (FUNCTION)"], ["0x10050561", "lea ecx, [esp + 0x54]"]], "recomp": [["0x100520e7", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x10050565", "push ecx", "0x100520eb"]]}, {"orig": [], "recomp": [["0x100520ec", "mov dword ptr [esp + 0x14], 0x3fa00000"]]}, {"both": [["0x10050566", "lea ecx, [esp + 0x50]", "0x100520f4"]]}, {"orig": [["0x1005056a", "call Vector2::Vector2 (FUNCTION)"], ["0x1005056f", "mov edx, dword ptr [esp + 0x14]"], ["0x10050573", "mov ecx, dword ptr [esp + 0x50]"], ["0x10050577", "mov dword ptr [esp + 0x4c], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1005057f", "mov dword ptr [esp + 0x20], 0x3fa00000"], ["0x10050587", "mov eax, dword ptr [edx]"], ["0x10050589", "mov dword ptr [ecx], eax"], ["0x1005058b", "lea eax, [esp + 0x20]"], ["0x1005058f", "mov edi, dword ptr [edx + 4]"], ["0x10050592", "push eax"], ["0x10050593", "mov dword ptr [ecx + 4], edi"], ["0x10050596", "mov edx, dword ptr [edx + 8]"], ["0x10050599", "mov dword ptr [ecx + 8], edx"], ["0x1005059c", "lea ecx, [esp + 0x50]"], ["0x100505a0", "mov edi, dword ptr [esp + 0x50]"], ["0x100505a4", "call dword ptr [edi + 0x5c]"]], "recomp": [["0x100520f8", "call dword ptr [eax + 0x5c]"]]}, {"both": [["0x100505a7", "lea ecx, [esp + 0x4c]", "0x100520fb"], ["0x100505ab", "mov eax, dword ptr [esp + 0x24]", "0x100520ff"], ["0x100505af", "push ecx", "0x10052103"], ["0x100505b0", "lea ecx, [esp + 0x28]", "0x10052104"], ["0x100505b4", "call dword ptr [eax + 0x48]", "0x10052108"], ["0x100505b7", "mov eax, dword ptr [esp + 0x28]", "0x1005210b"], ["0x100505bb", "fld dword ptr [eax + 4]", "0x1005210f"], ["0x100505be", "fadd qword ptr [0.25 (FLOAT)]", "0x10052112"], ["0x100505c4", "fstp dword ptr [eax + 4]", "0x10052118"]]}, {"orig": [["0x100505c7", "mov ecx, dword ptr [esp + 0x14]"]], "recomp": [["0x1005211b", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x100505cb", "push ecx", "0x1005211f"], ["0x100505cc", "push esi", "0x10052120"]]}, {"orig": [["0x100505cd", "lea ecx, [esp + 0x20]"], ["0x100505d1", "mov esi, dword ptr [esp + 0x20]"]], "recomp": [["0x10052121", "lea ecx, [esp + 0x24]"], ["0x10052125", "mov esi, dword ptr [esp + 0x24]"]]}, {"both": [["0x100505d5", "add eax, 4", "0x10052129"], ["0x100505d8", "call dword ptr [esi + 0x74]", "0x1005212c"]]}, {"orig": [["0x100505db", "lea ecx, [esp + 0x18]"]], "recomp": [["0x1005212f", "lea ecx, [esp + 0x1c]"]]}, {"both": [["0x100505df", "call Vector2::Unitize (FUNCTION)", "0x10052133"], ["0x100505e4", "mov esi, dword ptr [esp + 0xa0]", "0x10052138"], ["0x100505eb", "lea eax, [esp + 0x7c]", "0x1005213f"], ["0x100505ef", "add esi, 0x20", "0x10052143"], ["0x100505f2", "push eax", "0x10052146"], ["0x100505f3", "lea ecx, [esp + 0x78]", "0x10052147"]]}, {"orig": [["0x100505f7", "call Vector2::Vector2 (FUNCTION)"], ["0x100505fc", "mov dword ptr [esp + 0x74], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x1005214b", "call Vector3::Vector3 (FUNCTION)"]]}, {"both": [["0x10050604", "mov ecx, dword ptr [esp + 0x78]", "0x10052150"]]}, {"orig": [], "recomp": [["0x10052154", "mov dword ptr [esp + 0x74], edi"]]}, {"both": [["0x10050608", "mov eax, dword ptr [esi]", "0x10052158"], ["0x1005060a", "mov dword ptr [ecx], eax", "0x1005215a"]]}, {"orig": [], "recomp": [["0x1005215c", "lea eax, [esp + 0x90]"]]}, {"both": [["0x1005060c", "mov edx, dword ptr [esi + 4]", "0x10052163"]]}, {"orig": [], "recomp": [["0x10052166", "push eax"]]}, {"both": [["0x1005060f", "mov dword ptr [ecx + 4], edx", "0x10052167"], ["0x10050612", "mov esi, dword ptr [esi + 8]", "0x1005216a"]]}, {"orig": [["0x10050615", "lea eax, [esp + 0x90]"], ["0x1005061c", "push eax"]], "recomp": []}, {"both": [["0x1005061d", "mov dword ptr [ecx + 8], esi", "0x1005216d"], ["0x10050620", "mov esi, dword ptr [esp + 0xa4]", "0x10052170"]]}, {"orig": [], "recomp": [["0x10052177", "add esi, 0x10"]]}, {"both": [["0x10050627", "lea ecx, [esp + 0x8c]", "0x1005217a"]]}, {"orig": [["0x1005062e", "add esi, 0x10"]], "recomp": []}, {"both": [["0x10050631", "call Vector3::Vector3 (FUNCTION)", "0x10052181"]]}, {"orig": [["0x10050636", "mov dword ptr [esp + 0x88], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10050641", "mov ecx, dword ptr [esp + 0x8c]", "0x10052186"]]}, {"orig": [], "recomp": [["0x1005218d", "mov dword ptr [esp + 0x88], edi"]]}, {"both": [["0x10050648", "mov eax, dword ptr [esi]", "0x10052194"], ["0x1005064a", "push 0", "0x10052196"], ["0x1005064c", "mov dword ptr [ecx], eax", "0x10052198"], ["0x1005064e", "mov edx, dword ptr [esi + 4]", "0x1005219a"], ["0x10050651", "lea eax, [esp + 0x78]", "0x1005219d"], ["0x10050655", "push eax", "0x100521a1"], ["0x10050656", "mov dword ptr [ecx + 4], edx", "0x100521a2"], ["0x10050659", "mov esi, dword ptr [esi + 8]", "0x100521a5"], ["0x1005065c", "mov dword ptr [ecx + 8], esi", "0x100521a8"], ["0x1005065f", "lea ecx, [esp + 0x2c]", "0x100521ab"], ["0x10050663", "push ecx", "0x100521af"], ["0x10050664", "push 1", "0x100521b0"], ["0x10050666", "push 1", "0x100521b2"], ["0x10050668", "mov ecx, ebx", "0x100521b4"], ["0x1005066a", "push 0x241", "0x100521b6"], ["0x1005066f", "call LegoAct2::FUN_10052560 (FUNCTION)", "0x100521bb"], ["0x10050674", "mov dword ptr [ebx + 0x10c4], 0xe", "0x100521c0"]]}, {"orig": [], "recomp": [["0x100521ca", "mov dword ptr [ebx + 0x10d0], 0"]]}, {"both": [["0x1005067e", "mov ecx, dword ptr [ebx + 0x10d8]", "0x100521d4"]]}, {"orig": [["0x10050684", "mov dword ptr [ebx + 0x10d0], 0"]], "recomp": []}, {"both": [["0x1005068e", "mov edx, dword ptr [ecx + 0x104]", "0x100521da"], ["0x10050694", "mov dword ptr [edx + 0xdc], 4", "0x100521e0"], ["0x1005069e", "jmp 0x9", "0x100521ea"], ["0x100506a0", "mov ecx, ebx", "0x100521ec"], ["0x100506a2", "call LegoAct2::HandleTransitionEnd (FUNCTION)", "0x100521ee"], ["0x100506a7", "mov ebp, eax", "0x100521f3"], ["0x100506a9", "mov eax, ebp", "0x100521f5"], ["0x100506ab", "pop ebp", "0x100521f7"], ["0x100506ac", "pop edi", "0x100521f8"], ["0x100506ad", "pop esi", "0x100521f9"]]}]], ["@@ -0x100506d9,23 +0x10052225,10 @@", [{"both": [["0x100506d9", "0x4", "0x10052225"], ["0x100506da", "0x4", "0x10052226"], ["0x100506db", "0x4", "0x10052227"], ["0x100506dc", "0x4", "0x10052228"], ["0x100506dd", "0x1", "0x10052229"], ["0x100506de", "0x4", "0x1005222a"], ["0x100506df", "0x4", "0x1005222b"], ["0x100506e0", "0x2", "0x1005222c"], ["0x100506e1", "0x4", "0x1005222d"], ["0x100506e2", "0x3", "0x1005222e"]]}, {"orig": [["0x100506e3", "0xcc"], ["0x100506e4", "0xcc"], ["0x100506e5", "0xcc"], ["0x100506e6", "0xcc"], ["0x100506e7", "0xcc"], ["0x100506e8", "0xcc"], ["0x100506e9", "0xcc"], ["0x100506ea", "0xcc"], ["0x100506eb", "0xcc"], ["0x100506ec", "0xcc"], ["0x100506ed", "0xcc"], ["0x100506ee", "0xcc"], ["0x100506ef", "0xcc"]], "recomp": []}]]]}, {"address": "0x100506f0", "recomp": "0x10052230", "name": "LegoAct2::HandleEndAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x100506f1,46 +0x10052231,46 @@", [{"both": [["0x100506f1", "push esi", "0x10052231"], ["0x100506f2", "mov eax, dword ptr [ecx + 0x10cc]", "0x10052232"], ["0x100506f8", "push edi", "0x10052238"], ["0x100506f9", "mov esi, ecx", "0x10052239"], ["0x100506fb", "cmp byte ptr [eax + 0xc], 0", "0x1005223b"], ["0x100506ff", "je 0x30b", "0x1005223f"], ["0x10050705", "mov eax, dword ptr [esp + 0x10]", "0x10052245"], ["0x10050709", "mov eax, dword ptr [eax + 0xc]", "0x10052249"], ["0x1005070c", "test eax, eax", "0x1005224c"], ["0x1005070e", "je 0x2fc", "0x1005224e"]]}, {"orig": [["0x10050714", "mov ecx, dword ptr [eax + 0x1c]"], ["0x10050717", "mov eax, dword ptr [esi + 0x10c4]"], ["0x1005071d", "cmp eax, 5"]], "recomp": [["0x10052254", "mov eax, dword ptr [eax + 0x1c]"], ["0x10052257", "mov ecx, dword ptr [esi + 0x10c4]"], ["0x1005225d", "cmp ecx, 5"]]}, {"both": [["0x10050720", "jne 0x1a", "0x10052260"]]}, {"orig": [["0x10050722", "cmp dword ptr [esi + 0x1144], ecx"]], "recomp": [["0x10052262", "cmp dword ptr [esi + 0x1144], eax"]]}, {"both": [["0x10050728", "jne 0x12", "0x10052268"], ["0x1005072a", "xor eax, eax", "0x1005226a"], ["0x1005072c", "pop edi", "0x1005226c"], ["0x1005072d", "mov dword ptr [esi + 0x1144], 0", "0x1005226d"], ["0x10050737", "pop esi", "0x10052277"], ["0x10050738", "pop ebx", "0x10052278"], ["0x10050739", "ret 4", "0x10052279"]]}, {"orig": [["0x1005073c", "cmp dword ptr [esi + 0x1140], ecx"]], "recomp": [["0x1005227c", "cmp dword ptr [esi + 0x1140], eax"]]}, {"both": [["0x10050742", "je 0x8", "0x10052282"], ["0x10050744", "xor eax, eax", "0x10052284"], ["0x10050746", "pop edi", "0x10052286"], ["0x10050747", "pop esi", "0x10052287"], ["0x10050748", "pop ebx", "0x10052288"], ["0x10050749", "ret 4", "0x10052289"], ["0x1005074c", "mov dword ptr [esi + 0x1140], 0", "0x1005228c"]]}, {"orig": [["0x10050756", "sub eax, 2"], ["0x10050759", "cmp eax, 0xc"]], "recomp": [["0x10052296", "sub ecx, 2"], ["0x10052299", "cmp ecx, 0xc"]]}, {"both": [["0x1005075c", "ja 0x2ae", "0x1005229c"]]}, {"orig": [["0x10050762", "xor ecx, ecx"], ["0x10050764", "mov cl, byte ptr [eax + <OFFSET1>]"], ["0x1005076a", "jmp dword ptr [ecx*4 + <OFFSET2>]"]], "recomp": [["0x100522a2", "xor eax, eax"], ["0x100522a4", "mov al, byte ptr [ecx + <OFFSET1>]"], ["0x100522aa", "jmp dword ptr [eax*4 + <OFFSET2>]"]]}, {"both": [["0x10050771", "xor eax, eax", "0x100522b1"], ["0x10050773", "pop edi", "0x100522b3"], ["0x10050774", "mov dword ptr [esi + 0x10c4], 3", "0x100522b4"], ["0x1005077e", "pop esi", "0x100522be"], ["0x1005077f", "pop ebx", "0x100522bf"], ["0x10050780", "ret 4", "0x100522c0"], ["0x10050783", "mov ecx, esi", "0x100522c3"], ["0x10050785", "call LegoAct2::FUN_10051960 (FUNCTION)", "0x100522c5"], ["0x1005078a", "xor eax, eax", "0x100522ca"], ["0x1005078c", "pop edi", "0x100522cc"]]}]], ["@@ -0x100509ab,26 +0x100524eb,26 @@", [{"both": [["0x100509ab", "mov ecx, esi", "0x100524eb"], ["0x100509ad", "call LegoAct2::PlayMusic (FUNCTION)", "0x100524ed"], ["0x100509b2", "mov ecx, dword ptr [esi + 0x10d8]", "0x100524f2"], ["0x100509b8", "xor eax, eax", "0x100524f8"], ["0x100509ba", "pop edi", "0x100524fa"], ["0x100509bb", "pop esi", "0x100524fb"], ["0x100509bc", "mov edx, dword ptr [ecx + 0x104]", "0x100524fc"], ["0x100509c2", "pop ebx", "0x10052502"], ["0x100509c3", "mov dword ptr [edx + 0xdc], 0", "0x10052503"], ["0x100509cd", "ret 4", "0x1005250d"]]}, {"orig": [["0x100509d0", "lea edi, [esi + 0xf8]"], ["0x100509d6", "mov ebx, 0xa"], ["0x100509db", "mov ecx, edi"], ["0x100509dd", "add edi, 0x194"]], "recomp": [["0x10052510", "lea ebx, [esi + 0xf8]"], ["0x10052516", "mov edi, 0xa"], ["0x1005251b", "mov ecx, ebx"], ["0x1005251d", "add ebx, 0x194"]]}, {"both": [["0x100509e3", "call Act2Brick::Remove (FUNCTION)", "0x10052523"]]}, {"orig": [["0x100509e8", "dec ebx"]], "recomp": [["0x10052528", "dec edi"]]}, {"both": [["0x100509e9", "jne -0x10", "0x10052529"], ["0x100509eb", "mov ecx, esi", "0x1005252b"], ["0x100509ed", "call LegoAct2::FUN_10051900 (FUNCTION)", "0x1005252d"], ["0x100509f2", "mov dword ptr [esi + 0x1150], 0x24", "0x10052532"], ["0x100509fc", "push 0", "0x1005253c"], ["0x100509fe", "push 0", "0x1005253e"], ["0x10050a00", "push 0x32", "0x10052540"], ["0x10050a02", "push 3", "0x10052542"], ["0x10050a04", "call TransitionManager (FUNCTION)", "0x10052544"], ["0x10050a09", "mov ecx, eax", "0x10052549"]]}]]]}, {"address": "0x10050a50", "recomp": "0x10052590", "name": "LegoAct2::HandleTransitionEnd", "matching": 1.0, "diff": []}, {"address": "0x10050a80", "recomp": "0x100525c0", "name": "LegoAct2::ReadyWorld", "matching": 1.0, "effective": true, "diff": [["@@ -0x10050bf4,28 +0x10052734,28 @@", [{"both": [["0x10050bf4", "push 'Block02' (STRING)", "0x10052734"], ["0x10050bf9", "call FindROI (FUNCTION)", "0x10052739"], ["0x10050bfe", "lea ecx, [esp + 0x14]", "0x1005273e"], ["0x10050c02", "mov ebp, dword ptr [esp + 0x14]", "0x10052742"], ["0x10050c06", "lea edi, [eax + 0xf0]", "0x10052746"], ["0x10050c0c", "add esp, 4", "0x1005274c"], ["0x10050c0f", "mov esi, eax", "0x1005274f"], ["0x10050c11", "mov eax, dword ptr [eax + 0xec]", "0x10052751"], ["0x10050c17", "push eax", "0x10052757"], ["0x10050c18", "call dword ptr [ebp + 0x20]", "0x10052758"]]}, {"orig": [["0x10050c1b", "mov edx, edi"], ["0x10050c1d", "lea ecx, [esp + 0x18]"], ["0x10050c21", "mov eax, dword ptr [edx]"]], "recomp": [["0x1005275b", "mov ecx, edi"], ["0x1005275d", "lea edx, [esp + 0x18]"], ["0x10052761", "mov eax, dword ptr [ecx]"], ["0x10052763", "add ecx, 4"], ["0x10052766", "mov dword ptr [edx], eax"]]}, {"both": [["0x10050c23", "add edx, 4", "0x10052768"]]}, {"orig": [["0x10050c26", "mov dword ptr [ecx], eax"], ["0x10050c28", "add ecx, 4"]], "recomp": []}, {"both": [["0x10050c2b", "lea eax, [esp + 0x24]", "0x1005276b"]]}, {"orig": [["0x10050c2f", "cmp ecx, eax"]], "recomp": [["0x1005276f", "cmp edx, eax"]]}, {"both": [["0x10050c31", "jb -0x12", "0x10052771"], ["0x10050c33", "fld dword ptr [esi + 0xfc]", "0x10052773"], ["0x10050c39", "lea ebp, [esi + 0xa8]", "0x10052779"], ["0x10050c3f", "lea eax, [esp + 0x10]", "0x1005277f"], ["0x10050c43", "fst dword ptr [esp + 0x24]", "0x10052783"], ["0x10050c47", "fmul qword ptr [1.5 (FLOAT)]", "0x10052787"], ["0x10050c4d", "push eax", "0x1005278d"], ["0x10050c4e", "mov ecx, ebp", "0x1005278e"], ["0x10050c50", "fstp dword ptr [esp + 0x28]", "0x10052790"], ["0x10050c54", "call Mx3DPointFloat::operator= (FUNCTION)", "0x10052794"]]}]]]}, {"address": "0x10050cf0", "recomp": "0x10052830", "name": "LegoAct2::Enable", "matching": 0.968609865470852, "diff": [["@@ -0x10050cf9,53 +0x10052839,54 @@", [{"both": [["0x10050cf9", "push -1", "0x10052839"], ["0x10050cfb", "push <OFFSET1>", "0x1005283b"], ["0x10050d00", "push eax", "0x10052840"], ["0x10050d01", "mov dword ptr fs:[0], esp", "0x10052841"], ["0x10050d08", "sub esp, 0xac", "0x10052848"], ["0x10050d0e", "cmp dword ptr [ecx + 0xdc], 1", "0x1005284e"], ["0x10050d15", "sbb al, al", "0x10052855"], ["0x10050d17", "push ebx", "0x10052857"], ["0x10050d18", "push esi", "0x10052858"], ["0x10050d19", "mov bl, byte ptr [ebp + 8]", "0x10052859"]]}, {"orig": [], "recomp": [["0x1005285c", "push edi"], ["0x1005285d", "mov dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x10050d1c", "neg al", "0x10052860"]]}, {"orig": [["0x10050d1e", "mov dword ptr [ebp - 0x10], ecx"]], "recomp": []}, {"both": [["0x10050d21", "cmp al, bl", "0x10052862"], ["0x10050d23", "je 0x2ec", "0x10052864"], ["0x10050d29", "push ebx", "0x1005286a"], ["0x10050d2a", "call LegoWorld::Enable (FUNCTION)", "0x1005286b"], ["0x10050d2f", "test bl, bl", "0x10052870"], ["0x10050d31", "je 0x1e5", "0x10052872"], ["0x10050d37", "mov edx, dword ptr [ebp - 0x10]", "0x10052878"], ["0x10050d3a", "push 1", "0x1005287b"], ["0x10050d3c", "mov eax, dword ptr [edx + 0x10cc]", "0x1005287d"], ["0x10050d42", "mov byte ptr [eax + 0xc], 1", "0x10052883"], ["0x10050d46", "call GameState (FUNCTION)", "0x10052887"], ["0x10050d4b", "mov ecx, eax", "0x1005288c"], ["0x10050d4d", "call LegoGameState::SetActor (FUNCTION)", "0x1005288e"], ["0x10050d52", "push 'pepper' (STRING)", "0x10052893"], ["0x10050d57", "call FindROI (FUNCTION)", "0x10052898"], ["0x10050d5c", "add esp, 4", "0x1005289d"], ["0x10050d5f", "mov edx, dword ptr [ebp - 0x10]", "0x100528a0"], ["0x10050d62", "lea ecx, [edx + 0x10dc]", "0x100528a3"], ["0x10050d68", "push 1", "0x100528a9"], ["0x10050d6a", "mov dword ptr [edx + 0x10d8], eax", "0x100528ab"]]}, {"orig": [["0x10050d70", "mov esi, dword ptr [eax + 0x104]"]], "recomp": [["0x100528b1", "mov edi, dword ptr [eax + 0x104]"]]}, {"both": [["0x10050d76", "mov eax, dword ptr [edx + 0x1124]", "0x100528b7"], ["0x10050d7c", "push eax", "0x100528bd"]]}, {"orig": [], "recomp": [["0x100528be", "mov esi, dword ptr [edi]"]]}, {"both": [["0x10050d7d", "sub esp, 0x48", "0x100528c0"], ["0x10050d80", "mov dword ptr [ebp - 0x14], esp", "0x100528c3"], ["0x10050d83", "push ecx", "0x100528c6"], ["0x10050d84", "mov ecx, dword ptr [ebp - 0x14]", "0x100528c7"], ["0x10050d87", "call MxMatrix::MxMatrix (FUNCTION)", "0x100528ca"]]}, {"orig": [["0x10050d8c", "mov ebx, dword ptr [esi]"], ["0x10050d8e", "mov ecx, esi"], ["0x10050d90", "call dword ptr [ebx + 0xec]"]], "recomp": [["0x100528cf", "mov ecx, edi"], ["0x100528d1", "call dword ptr [esi + 0xec]"]]}, {"both": [["0x10050d96", "call GameState (FUNCTION)", "0x100528d7"], ["0x10050d9b", "cmp dword ptr [eax + 0x428], 2", "0x100528dc"], ["0x10050da2", "jne 0xe", "0x100528e3"], ["0x10050da4", "push 2", "0x100528e5"], ["0x10050da6", "call GameState (FUNCTION)", "0x100528e7"], ["0x10050dab", "mov ecx, eax", "0x100528ec"], ["0x10050dad", "call LegoGameState::StopArea (FUNCTION)", "0x100528ee"], ["0x10050db2", "push 7", "0x100528f3"], ["0x10050db4", "push 0", "0x100528f5"], ["0x10050db6", "call FUN_10015820 (FUNCTION)", "0x100528f7"]]}]], ["@@ -0x10050fef,22 +0x10052b30,23 @@", [{"both": [["0x10050fef", "mov dword ptr [ebp - 4], 0xffffffff", "0x10052b30"], ["0x10050ff6", "mov dword ptr [edx + 0x1144], 0", "0x10052b37"], ["0x10051000", "call <OFFSET31>", "0x10052b41"], ["0x10051005", "call TickleManager (FUNCTION)", "0x10052b46"], ["0x1005100a", "mov ecx, eax", "0x10052b4b"], ["0x1005100c", "mov edx, dword ptr [ebp - 0x10]", "0x10052b4d"], ["0x1005100f", "push edx", "0x10052b50"], ["0x10051010", "mov eax, dword ptr [ecx]", "0x10052b51"], ["0x10051012", "call dword ptr [eax + 0x18]", "0x10052b53"], ["0x10051015", "mov eax, dword ptr [ebp - 0xc]", "0x10052b56"]]}, {"orig": [], "recomp": [["0x10052b59", "pop edi"], ["0x10052b5a", "mov dword ptr fs:[0], eax"]]}, {"both": [["0x10051018", "pop esi", "0x10052b60"]]}, {"orig": [["0x10051019", "mov dword ptr fs:[0], eax"]], "recomp": []}, {"both": [["0x1005101f", "pop ebx", "0x10052b61"], ["0x10051020", "mov esp, ebp", "0x10052b62"], ["0x10051022", "pop ebp", "0x10052b64"], ["0x10051023", "ret 4", "0x10052b65"], ["0x10051026", "lea ecx, [ebp - 0x14]", "0x10052b68"], ["0x10051029", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10052b6b"], ["0x1005102e", "mov eax, <OFFSET32>", "0x10052b70"], ["0x10051033", "jmp ___CxxFrameHandler (FUNCTION)", "0x10052b75"], ["0x10051038", "lea ecx, [ebp - 0xb8]", "0x10052b7a"], ["0x1005103e", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10052b80"]]}]]]}, {"address": "0x10051050", "recomp": "0x10052b90", "name": "MxActionNotificationParam::~MxActionNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x100510c0", "recomp": "0x10052c00", "name": "MxActionNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x100511e0", "recomp": "0x10052d20", "name": "MxActionNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10051270", "recomp": "0x10052db0", "name": "MxEndActionNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x100513a0", "recomp": "0x10052ee0", "name": "MxEndActionNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10051410", "recomp": "0x10052f50", "name": "MxEndActionNotificationParam::~MxEndActionNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x10051460", "recomp": "0x10052fa0", "name": "LegoAct2::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x100516b0", "recomp": "0x100531f0", "name": "LegoAct2::FUN_100516b0", "matching": 1.0, "diff": []}, {"address": "0x100517b0", "recomp": "0x100532f0", "name": "LegoAct2::FUN_100517b0", "matching": 1.0, "diff": []}, {"address": "0x10051840", "recomp": "0x10053380", "name": "LegoAct2::PlayMusic", "matching": 1.0, "diff": []}, {"address": "0x10051900", "recomp": "0x10053440", "name": "LegoAct2::FUN_10051900", "matching": 1.0, "diff": []}, {"address": "0x10051960", "recomp": "0x100534a0", "name": "LegoAct2::FUN_10051960", "matching": 1.0, "diff": []}, {"address": "0x100519c0", "recomp": "0x10053500", "name": "LegoAct2::VTable0x60", "matching": 1.0, "diff": []}, {"address": "0x100519d0", "recomp": "0x10053510", "name": "LegoAct2::Escape", "matching": 1.0, "diff": []}, {"address": "0x10051a60", "recomp": "0x100535a0", "name": "LegoAct2::InitBricks", "matching": 1.0, "diff": []}, {"address": "0x10051a90", "recomp": "0x100535d0", "name": "LegoAct2::UninitBricks", "matching": 1.0, "diff": []}, {"address": "0x10051ac0", "recomp": "0x10053600", "name": "LegoAct2::SpawnBricks", "matching": 0.9100719424460432, "diff": [["@@ -0x10051c52,28 +0x10053792,28 @@", [{"both": [["0x10051c52", "and eax, 1", "0x10053792"], ["0x10051c55", "xor eax, edx", "0x10053795"], ["0x10051c57", "sub eax, edx", "0x10053797"], ["0x10051c59", "cmp ax, 1", "0x10053799"], ["0x10051c5d", "jne 0xd", "0x1005379d"], ["0x10051c5f", "mov byte ptr [ebx + 0x114c], 0", "0x1005379f"], ["0x10051c66", "lea edx, [esp + 0x5c]", "0x100537a6"], ["0x10051c6a", "jmp 0xb", "0x100537aa"], ["0x10051c6c", "mov byte ptr [ebx + 0x114c], 1", "0x100537ac"], ["0x10051c73", "lea edx, [esp + 0x68]", "0x100537b3"]]}, {"orig": [["0x10051c77", "mov eax, dword ptr [esp + 0x18]"], ["0x10051c7b", "mov ecx, dword ptr [edx]"], ["0x10051c7d", "mov dword ptr [eax + 0x30], ecx"], ["0x10051c80", "mov eax, dword ptr [esp + 0x18]"]], "recomp": [["0x100537b7", "mov ecx, dword ptr [esp + 0x18]"], ["0x100537bb", "mov eax, dword ptr [edx]"], ["0x100537bd", "mov dword ptr [ecx + 0x30], eax"], ["0x100537c0", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x10051c84", "mov esi, dword ptr [edx + 4]", "0x100537c4"]]}, {"orig": [["0x10051c87", "mov dword ptr [eax + 0x34], esi"]], "recomp": [["0x100537c7", "mov dword ptr [ecx + 0x34], esi"], ["0x100537ca", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x10051c8a", "mov eax, dword ptr [edx + 8]", "0x100537ce"]]}, {"orig": [["0x10051c8d", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x10051c91", "lea edx, [esp + 0x14]", "0x100537d1"], ["0x10051c95", "push edx", "0x100537d5"], ["0x10051c96", "mov dword ptr [ecx + 0x38], eax", "0x100537d6"], ["0x10051c99", "mov ecx, ebp", "0x100537d9"], ["0x10051c9b", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x100537db"], ["0x10051ca0", "mov byte ptr [ebp + 0xc], 1", "0x100537e0"], ["0x10051ca4", "mov esi, dword ptr [ebp]", "0x100537e4"], ["0x10051ca7", "mov ecx, ebp", "0x100537e7"], ["0x10051ca9", "call dword ptr [esi + 0x14]", "0x100537e9"], ["0x10051cac", "mov ecx, dword ptr [esp + 0x10]", "0x100537ec"]]}]], ["@@ -0x10051da8,30 +0x100538e8,30 @@", [{"both": [["0x10051da8", "and eax, 1", "0x100538e8"], ["0x10051dab", "xor eax, edx", "0x100538eb"], ["0x10051dad", "sub eax, edx", "0x100538ed"], ["0x10051daf", "cmp ax, 1", "0x100538ef"], ["0x10051db3", "jne 0x10", "0x100538f3"], ["0x10051db5", "mov byte ptr [ebx + 0x114e], 4", "0x100538f5"], ["0x10051dbc", "lea ecx, [esp + 0x8c]", "0x100538fc"], ["0x10051dc3", "jmp 0xe", "0x10053903"], ["0x10051dc5", "mov byte ptr [ebx + 0x114e], 5", "0x10053905"], ["0x10051dcc", "lea ecx, [esp + 0x98]", "0x1005390c"]]}, {"orig": [], "recomp": [["0x10053913", "mov edx, dword ptr [esp + 0x18]"], ["0x10053917", "mov eax, dword ptr [ecx]"], ["0x10053919", "mov dword ptr [edx + 0x30], eax"], ["0x1005391c", "mov edx, dword ptr [ecx + 4]"], ["0x1005391f", "mov ebp, dword ptr [esp + 0x18]"], ["0x10053923", "mov dword ptr [ebp + 0x34], edx"], ["0x10053926", "lea edx, [esp + 0x14]"]]}, {"both": [["0x10051dd3", "mov eax, dword ptr [esp + 0x18]", "0x1005392a"]]}, {"orig": [["0x10051dd7", "mov edx, dword ptr [ecx]"], ["0x10051dd9", "mov dword ptr [eax + 0x30], edx"], ["0x10051ddc", "mov eax, dword ptr [esp + 0x18]"], ["0x10051de0", "mov ebp, dword ptr [ecx + 4]"], ["0x10051de3", "lea edx, [esp + 0x14]"]], "recomp": [["0x1005392e", "mov ecx, dword ptr [ecx + 8]"]]}, {"both": [["0x10051de7", "push edx", "0x10053931"]]}, {"orig": [["0x10051de8", "mov dword ptr [eax + 0x34], ebp"], ["0x10051deb", "mov eax, dword ptr [esp + 0x1c]"], ["0x10051def", "mov ecx, dword ptr [ecx + 8]"]], "recomp": []}, {"both": [["0x10051df2", "mov dword ptr [eax + 0x38], ecx", "0x10053932"], ["0x10051df5", "mov ecx, edi", "0x10053935"], ["0x10051df7", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x10053937"], ["0x10051dfc", "mov byte ptr [edi + 0xc], 1", "0x1005393c"], ["0x10051e00", "mov ebp, dword ptr [edi]", "0x10053940"], ["0x10051e02", "mov ecx, edi", "0x10053942"], ["0x10051e04", "call dword ptr [ebp + 0x14]", "0x10053944"], ["0x10051e07", "mov ecx, esi", "0x10053947"], ["0x10051e09", "call Act2Brick::PlayWhistleSound (FUNCTION)", "0x10053949"], ["0x10051e0e", "mov al, byte ptr [ebx + 0x10c0]", "0x1005394e"]]}]], ["@@ -0x10051e63,50 +0x100539a3,50 @@", [{"both": [["0x10051e63", "call _rand (FUNCTION)", "0x100539a3"], ["0x10051e68", "cdq ", "0x100539a8"], ["0x10051e69", "xor eax, edx", "0x100539a9"], ["0x10051e6b", "sub eax, edx", "0x100539ab"], ["0x10051e6d", "and eax, 1", "0x100539ad"], ["0x10051e70", "xor eax, edx", "0x100539b0"], ["0x10051e72", "sub eax, edx", "0x100539b2"], ["0x10051e74", "cmp ax, 1", "0x100539b4"], ["0x10051e78", "jne 0x10", "0x100539b8"], ["0x10051e7a", "mov byte ptr [ebx + 0x114f], 6", "0x100539ba"]]}, {"orig": [["0x10051e81", "lea edx, [esp + 0xa4]"]], "recomp": [["0x100539c1", "lea ecx, [esp + 0xa4]"]]}, {"both": [["0x10051e88", "jmp 0x45", "0x100539c8"], ["0x10051e8a", "mov byte ptr [ebx + 0x114f], 7", "0x100539ca"]]}, {"orig": [["0x10051e91", "lea edx, [esp + 0xb0]"]], "recomp": [["0x100539d1", "lea ecx, [esp + 0xb0]"]]}, {"both": [["0x10051e98", "jmp 0x35", "0x100539d8"], ["0x10051e9a", "call _rand (FUNCTION)", "0x100539da"], ["0x10051e9f", "cdq ", "0x100539df"], ["0x10051ea0", "xor eax, edx", "0x100539e0"], ["0x10051ea2", "sub eax, edx", "0x100539e2"], ["0x10051ea4", "and eax, 1", "0x100539e4"], ["0x10051ea7", "xor eax, edx", "0x100539e7"], ["0x10051ea9", "sub eax, edx", "0x100539e9"], ["0x10051eab", "cmp ax, 1", "0x100539eb"], ["0x10051eaf", "jne 0x10", "0x100539ef"], ["0x10051eb1", "mov byte ptr [ebx + 0x114f], 8", "0x100539f1"]]}, {"orig": [["0x10051eb8", "lea edx, [esp + 0xbc]"]], "recomp": [["0x100539f8", "lea ecx, [esp + 0xbc]"]]}, {"both": [["0x10051ebf", "jmp 0xe", "0x100539ff"], ["0x10051ec1", "mov byte ptr [ebx + 0x114f], 9", "0x10053a01"]]}, {"orig": [["0x10051ec8", "lea edx, [esp + 0xc8]"]], "recomp": [["0x10053a08", "lea ecx, [esp + 0xc8]"]]}, {"both": [["0x10051ecf", "mov eax, dword ptr [esp + 0x18]", "0x10053a0f"]]}, {"orig": [["0x10051ed3", "mov ecx, dword ptr [edx]"], ["0x10051ed5", "mov dword ptr [eax + 0x30], ecx"]], "recomp": [["0x10053a13", "mov edx, dword ptr [ecx]"], ["0x10053a15", "mov dword ptr [eax + 0x30], edx"]]}, {"both": [["0x10051ed8", "mov eax, dword ptr [esp + 0x18]", "0x10053a18"]]}, {"orig": [["0x10051edc", "mov ebp, dword ptr [edx + 4]"], ["0x10051edf", "mov dword ptr [eax + 0x34], ebp"], ["0x10051ee2", "mov eax, dword ptr [edx + 8]"], ["0x10051ee5", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x10053a1c", "mov ebp, dword ptr [ecx + 4]"]]}, {"both": [["0x10051ee9", "lea edx, [esp + 0x14]", "0x10053a1f"], ["0x10051eed", "push edx", "0x10053a23"]]}, {"orig": [["0x10051eee", "mov dword ptr [ecx + 0x38], eax"]], "recomp": [["0x10053a24", "mov dword ptr [eax + 0x34], ebp"], ["0x10053a27", "mov eax, dword ptr [esp + 0x1c]"], ["0x10053a2b", "mov ecx, dword ptr [ecx + 8]"], ["0x10053a2e", "mov dword ptr [eax + 0x38], ecx"]]}, {"both": [["0x10051ef1", "mov ecx, edi", "0x10053a31"], ["0x10051ef3", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x10053a33"], ["0x10051ef8", "mov byte ptr [edi + 0xc], 1", "0x10053a38"], ["0x10051efc", "mov ebp, dword ptr [edi]", "0x10053a3c"], ["0x10051efe", "mov ecx, edi", "0x10053a3e"], ["0x10051f00", "call dword ptr [ebp + 0x14]", "0x10053a40"], ["0x10051f03", "mov ecx, esi", "0x10053a43"], ["0x10051f05", "call Act2Brick::PlayWhistleSound (FUNCTION)", "0x10053a45"], ["0x10051f0a", "pop ebp", "0x10053a4a"], ["0x10051f0b", "inc byte ptr [ebx + 0x10c0]", "0x10053a4b"]]}]]]}, {"address": "0x10051f20", "recomp": "0x10053a60", "name": "LegoAct2::BadEnding", "matching": 1.0, "diff": []}, {"address": "0x10051fa0", "recomp": "0x10053ae0", "name": "LegoAct2::FUN_10051fa0", "matching": 1.0, "diff": []}, {"address": "0x100521f0", "recomp": "0x10053d30", "name": "LegoAct2::FUN_100521f0", "matching": 1.0, "diff": []}, {"address": "0x10052560", "recomp": "0x100540a0", "name": "LegoAct2::FUN_10052560", "matching": 1.0, "effective": true, "diff": [["@@ -0x100527a0,23 +0x100542e0,23 @@", [{"both": [["0x100527a0", "push eax", "0x100542e0"], ["0x100527a1", "mov edi, dword ptr [ebp - 0x70]", "0x100542e1"], ["0x100527a4", "call dword ptr [edi + 0x14]", "0x100542e4"], ["0x100527a7", "xor eax, eax", "0x100542e7"], ["0x100527a9", "test bl, bl", "0x100542e9"], ["0x100527ab", "je 0x3", "0x100542eb"], ["0x100527ad", "lea eax, [ebp - 0x68]", "0x100542ed"], ["0x100527b0", "mov edi, dword ptr [ebp + 8]", "0x100542f0"], ["0x100527b3", "cmp edi, 0x1fe", "0x100542f3"], ["0x100527b9", "jne 0x4", "0x100542f9"]]}, {"orig": [], "recomp": [["0x100542fb", "push 1"], ["0x100542fd", "jmp 0x2"]]}, {"both": [["0x100527bb", "push 0", "0x100542ff"]]}, {"orig": [["0x100527bd", "jmp 0x2"], ["0x100527bf", "push 1"]], "recomp": []}, {"both": [["0x100527c1", "push 1", "0x10054301"], ["0x100527c3", "push 1", "0x10054303"], ["0x100527c5", "push 1", "0x10054305"], ["0x100527c7", "push 0", "0x10054307"], ["0x100527c9", "push 0", "0x10054309"], ["0x100527cb", "push 1", "0x1005430b"], ["0x100527cd", "push eax", "0x1005430d"], ["0x100527ce", "push edi", "0x1005430e"], ["0x100527cf", "call AnimationManager (FUNCTION)", "0x1005430f"], ["0x100527d4", "mov ecx, eax", "0x10054314"]]}]]]}, {"address": "0x10052800", "recomp": "0x10054340", "name": "LegoAct2::FUN_10052800", "matching": 1.0, "diff": []}, {"address": "0x100528e0", "recomp": "0x10054730", "name": "CreateScripts", "matching": 1.0, "diff": []}, {"address": "0x100530c0", "recomp": "0x10054f10", "name": "DestroyScripts", "matching": 1.0, "diff": []}, {"address": "0x10053430", "recomp": "0x10055280", "name": "GetNoCD_SourceName", "matching": 1.0, "diff": []}, {"address": "0x10053440", "recomp": "0x10055290", "name": "LegoEntityPresenter::LegoEntityPresenter", "matching": 1.0, "diff": []}, {"address": "0x100534b0", "recomp": "0x10055300", "name": "LegoEntityPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100534c0", "recomp": "0x10055310", "name": "LegoEntityPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100535a0", "recomp": "0x100553f0", "name": "LegoEntityPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100535c0", "recomp": "0x10055410", "name": "LegoEntityPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100535d0", "recomp": "0x10055420", "name": "LegoEntityPresenter::~LegoEntityPresenter", "matching": 1.0, "diff": []}, {"address": "0x10053630", "recomp": "0x10055480", "name": "LegoEntityPresenter::SetEntity", "matching": 1.0, "diff": []}, {"address": "0x10053640", "recomp": "0x10055490", "name": "LegoEntityPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10053670", "recomp": "0x100554c0", "name": "LegoEntityPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10053680", "recomp": "0x100554d0", "name": "LegoEntityPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x100536c0", "recomp": "0x10055510", "name": "LegoEntityPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x10053720", "recomp": "0x10055570", "name": "LegoEntityPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x10053730", "recomp": "0x10055580", "name": "LegoEntityPresenter::SetEntityLocation", "matching": 1.0, "diff": []}, {"address": "0x10053750", "recomp": "0x100555a0", "name": "LegoEntityPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x100537f0", "recomp": "0x10038cf0", "name": "Act3Ammo::Act3Ammo", "matching": 1.0, "diff": []}, {"address": "0x10053880", "recomp": "0x10038d80", "name": "Act3Ammo::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100538a0", "recomp": "0x10038da0", "name": "Act3Ammo::~Act3Ammo", "matching": 1.0, "diff": []}, {"address": "0x10053900", "recomp": "0x10038e00", "name": "Act3Ammo::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10053930", "recomp": "0x10038e30", "name": "Act3Ammo::Remove", "matching": 1.0, "diff": []}, {"address": "0x10053980", "recomp": "0x10038e80", "name": "Act3Ammo::Create", "matching": 1.0, "diff": []}, {"address": "0x10053b40", "recomp": "0x10039040", "name": "Act3Ammo::FUN_10053b40", "matching": 1.0, "diff": []}, {"address": "0x10053cb0", "recomp": "0x100391b0", "name": "Act3Ammo::FUN_10053cb0", "matching": 1.0, "diff": []}, {"address": "0x10053d30", "recomp": "0x10039230", "name": "Act3Ammo::FUN_10053d30", "matching": 1.0, "diff": []}, {"address": "0x10053db0", "recomp": "0x100392b0", "name": "Act3Ammo::FUN_10053db0", "matching": 0.9095744680851063, "diff": [["@@ -0x10053db0,38 +0x100392b0,36 @@", [{"both": [["0x10053db0", "fld dword ptr [esp + 4]", "0x100392b0"], ["0x10053db4", "fmul dword ptr [esp + 4]", "0x100392b4"], ["0x10053db8", "mov eax, dword ptr [esp + 8]", "0x100392b8"], ["0x10053dbc", "sub esp, 0x3c", "0x100392bc"], ["0x10053dbf", "mov edx, Vector3::`vftable' (VTABLE)", "0x100392bf"], ["0x10053dc4", "push esi", "0x100392c4"], ["0x10053dc5", "mov esi, ecx", "0x100392c5"]]}, {"orig": [], "recomp": [["0x100392c7", "mov ecx, dword ptr [eax + 4]"], ["0x100392ca", "fstp dword ptr [esp + 0x28]"], ["0x100392ce", "lea eax, [ecx + 0x10]"], ["0x100392d1", "mov dword ptr [esp + 0x1c], ecx"], ["0x100392d5", "add ecx, 0x30"]]}, {"both": [["0x10053dc7", "mov dword ptr [esp + 0x18], edx", "0x100392d8"]]}, {"orig": [["0x10053dcb", "fstp dword ptr [esp + 0x28]"], ["0x10053dcf", "mov ecx, dword ptr [eax + 4]"]], "recomp": [["0x100392dc", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x10053dd2", "mov dword ptr [esp + 0x10], edx", "0x100392e0"]]}, {"orig": [["0x10053dd6", "mov dword ptr [esp + 0x1c], ecx"]], "recomp": [["0x100392e4", "lea eax, [ecx - 0x10]"]]}, {"both": [["0x10053dda", "mov dword ptr [esp + 8], edx", "0x100392e7"]]}, {"orig": [["0x10053dde", "lea eax, [ecx + 0x10]"], ["0x10053de1", "add ecx, 0x30"], ["0x10053de4", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x100392eb", "mov dword ptr [esp + 0xc], eax"]]}, {"both": [["0x10053de8", "mov dword ptr [esp + 0x24], ecx", "0x100392ef"]]}, {"orig": [["0x10053dec", "lea eax, [ecx - 0x10]"]], "recomp": [["0x100392f3", "mov eax, dword ptr [esi + 0x178]"], ["0x100392f9", "lea ecx, [esp + 0x2c]"]]}, {"both": [["0x10053def", "mov dword ptr [esp + 0x20], edx", "0x100392fd"]]}, {"orig": [["0x10053df3", "lea edx, [esp + 0x34]"], ["0x10053df7", "lea ecx, [esp + 0x2c]"], ["0x10053dfb", "mov dword ptr [esp + 0xc], eax"], ["0x10053dff", "push edx"], ["0x10053e00", "call Vector2::Vector2 (FUNCTION)"], ["0x10053e05", "mov dword ptr [esp + 0x2c], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10053e0d", "mov ecx, dword ptr [esi + 0x178]"], ["0x10053e13", "push ecx"], ["0x10053e14", "lea ecx, [esp + 0x30]"]], "recomp": [["0x10039301", "push eax"], ["0x10039302", "mov dword ptr [esp + 0x30], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1003930a", "lea edx, [esp + 0x38]"], ["0x1003930e", "mov dword ptr [esp + 0x34], edx"]]}, {"both": [["0x10053e18", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x10039312"], ["0x10053e1e", "lea ecx, [esi + 0x17c]", "0x10039318"], ["0x10053e24", "lea edx, [esp + 0x34]", "0x1003931e"], ["0x10053e28", "mov eax, dword ptr [ecx]", "0x10039322"], ["0x10053e2a", "mov dword ptr [edx], eax", "0x10039324"], ["0x10053e2c", "mov eax, dword ptr [ecx + 4]", "0x10039326"], ["0x10053e2f", "mov ecx, dword ptr [ecx + 8]", "0x10039329"], ["0x10053e32", "mov dword ptr [edx + 4], eax", "0x1003932c"], ["0x10053e35", "lea eax, [esp + 0x44]", "0x1003932f"], ["0x10053e39", "mov dword ptr [edx + 8], ecx", "0x10039333"]]}]], ["@@ -0x10053e5e,23 +0x10039358,23 @@", [{"both": [["0x10053e5e", "mov eax, dword ptr [esp + 0x20]", "0x10039358"], ["0x10053e62", "push ecx", "0x1003935c"], ["0x10053e63", "lea ecx, [esp + 0x24]", "0x1003935d"], ["0x10053e67", "call dword ptr [eax + 0x5c]", "0x10039361"], ["0x10053e6a", "lea ecx, [esp + 0x2c]", "0x10039364"], ["0x10053e6e", "mov eax, dword ptr [esp + 0x20]", "0x10039368"], ["0x10053e72", "push ecx", "0x1003936c"], ["0x10053e73", "lea ecx, [esp + 0x24]", "0x1003936d"], ["0x10053e77", "call dword ptr [eax + 0x48]", "0x10039371"], ["0x10053e7a", "lea ecx, [esi + 0x188]", "0x10039374"]]}, {"orig": [], "recomp": [["0x1003937a", "mov eax, dword ptr [esp + 0x20]"]]}, {"both": [["0x10053e80", "push ecx", "0x1003937e"], ["0x10053e81", "lea ecx, [esp + 0x24]", "0x1003937f"]]}, {"orig": [["0x10053e85", "mov eax, dword ptr [esp + 0x24]"]], "recomp": []}, {"both": [["0x10053e89", "call dword ptr [eax + 0x48]", "0x10039383"], ["0x10053e8c", "mov ecx, dword ptr [esi + 0x164]", "0x10039386"], ["0x10053e92", "mov eax, dword ptr [esp + 8]", "0x1003938c"], ["0x10053e96", "push ecx", "0x10039390"], ["0x10053e97", "lea ecx, [esp + 0xc]", "0x10039391"], ["0x10053e9b", "call dword ptr [eax + 0x20]", "0x10039395"], ["0x10053e9e", "lea ecx, [esp + 4]", "0x10039398"], ["0x10053ea2", "mov eax, dword ptr [esp + 8]", "0x1003939c"], ["0x10053ea6", "mov dword ptr [esp + 4], 0x40000000", "0x100393a0"], ["0x10053eae", "push ecx", "0x100393a8"]]}]], ["@@ -0x10054028,10 +0x10039522,12 @@", [{"both": [["0x10054028", "xor eax, eax", "0x10039522"], ["0x1005402a", "pop esi", "0x10039524"], ["0x1005402b", "add esp, 0x3c", "0x10039525"], ["0x1005402e", "ret 8", "0x10039528"], ["0x10054031", "mov eax, 0xffffffff", "0x1003952b"], ["0x10054036", "pop esi", "0x10039530"], ["0x10054037", "add esp, 0x3c", "0x10039531"], ["0x1005403a", "ret 8", "0x10039534"], ["0x1005403d", "mov eax, 0xffffffff", "0x10039537"], ["0x10054042", "pop esi", "0x1003953c"]]}, {"orig": [], "recomp": [["0x1003953d", "add esp, 0x3c"], ["0x10039540", "ret 8"]]}]]]}, {"address": "0x10054050", "recomp": "0x10039550", "name": "Act3Ammo::Animate", "matching": 0.9323098394975575, "diff": [["@@ -0x10054060,25 +0x10039560,25 @@", [{"both": [["0x10054060", "push eax", "0x10039560"], ["0x10054061", "mov dword ptr fs:[0], esp", "0x10039561"], ["0x10054068", "sub esp, 0x200", "0x10039568"], ["0x1005406e", "push ebx", "0x1003956e"], ["0x1005406f", "push esi", "0x1003956f"], ["0x10054070", "mov eax, dword ptr [ecx + 0xdc]", "0x10039570"], ["0x10054076", "push edi", "0x10039576"], ["0x10054077", "mov ebx, ecx", "0x10039577"], ["0x10054079", "and eax, 0xff", "0x10039579"], ["0x1005407e", "cmp eax, 2", "0x1003957e"]]}, {"orig": [["0x10054081", "je 0x8cf"]], "recomp": [["0x10039581", "je 0x8d4"]]}, {"both": [["0x10054087", "cmp eax, 3", "0x10039587"]]}, {"orig": [["0x1005408a", "je 0x8e4"]], "recomp": [["0x1003958a", "je 0x8e9"]]}, {"both": [["0x10054090", "cmp dword ptr [ebx + 0x50], 0", "0x10039590"]]}, {"orig": [["0x10054094", "jle 0xa0e"]], "recomp": [["0x10039594", "jle 0xa13"]]}, {"both": [["0x1005409a", "cmp dword ptr [ebx + 0x84], 0x80000000", "0x1003959a"], ["0x100540a4", "jbe 0x10", "0x100395a4"], ["0x100540a6", "mov eax, dword ptr [ebp + 8]", "0x100395a6"], ["0x100540a9", "mov dword ptr [ebx + 0x84], eax", "0x100395a9"], ["0x100540af", "mov dword ptr [ebx + 0x7c], 0", "0x100395af"], ["0x100540b6", "lea eax, [ebp - 0x174]", "0x100395b6"], ["0x100540bc", "lea ecx, [ebp - 0x104]", "0x100395bc"], ["0x100540c2", "mov dword ptr [ebp - 0x178], eax", "0x100395c2"], ["0x100540c8", "mov dword ptr [ebp - 0x108], ecx", "0x100395c8"], ["0x100540ce", "mov eax, MxMatrix::`vftable' (VTABLE)", "0x100395ce"]]}]], ["@@ -0x100540e7,33 +0x100395e7,33 @@", [{"both": [["0x100540e7", "fld dword ptr [ebx + 0x78]", "0x100395e7"], ["0x100540ea", "fsub dword ptr [ebx + 0x7c]", "0x100395ea"], ["0x100540ed", "fdiv dword ptr [ebx + 0x50]", "0x100395ed"], ["0x100540f0", "fadd dword ptr [ebx + 0x84]", "0x100395f0"], ["0x100540f6", "fcomp dword ptr [ebp + 8]", "0x100395f6"], ["0x100540f9", "fnstsw ax", "0x100395f9"], ["0x100540fb", "test ah, 1", "0x100395fb"], ["0x100540fe", "jne 0x2b", "0x100395fe"], ["0x10054100", "fld dword ptr [ebp + 8]", "0x10039600"], ["0x10054103", "fsub dword ptr [ebx + 0x84]", "0x10039603"]]}, {"orig": [["0x10054109", "mov eax, dword ptr [ebp + 8]"]], "recomp": []}, {"both": [["0x1005410c", "fmul dword ptr [ebx + 0x50]", "0x10039609"], ["0x1005410f", "fld dword ptr [ebx + 0x80]", "0x1003960c"], ["0x10054115", "fadd st(1)", "0x10039612"], ["0x10054117", "fstp dword ptr [ebx + 0x80]", "0x10039614"], ["0x1005411d", "fadd dword ptr [ebx + 0x7c]", "0x1003961a"], ["0x10054120", "fstp dword ptr [ebx + 0x7c]", "0x1003961d"]]}, {"orig": [], "recomp": [["0x10039620", "mov eax, dword ptr [ebp + 8]"]]}, {"both": [["0x10054123", "mov dword ptr [ebx + 0x84], eax", "0x10039623"], ["0x10054129", "jmp 0x16", "0x10039629"], ["0x1005412b", "mov dword ptr [ebp - 0x1c], 1", "0x1003962b"], ["0x10054132", "mov eax, dword ptr [ebx + 0x78]", "0x10039632"]]}, {"orig": [], "recomp": [["0x10039635", "mov dword ptr [ebx + 0x7c], eax"]]}, {"both": [["0x10054135", "mov ecx, dword ptr [ebp + 8]", "0x10039638"]]}, {"orig": [["0x10054138", "mov dword ptr [ebx + 0x7c], eax"]], "recomp": []}, {"both": [["0x1005413b", "mov dword ptr [ebx + 0x84], ecx", "0x1003963b"], ["0x10054141", "lea ecx, [ebp - 0x17c]", "0x10039641"], ["0x10054147", "mov esi, 0x3f800000", "0x10039647"], ["0x1005414c", "call dword ptr [->Matrix4::Clear (FUNCTION)]", "0x1003964c"], ["0x10054152", "mov eax, dword ptr [ebp - 0x178]", "0x10039652"], ["0x10054158", "mov dword ptr [eax], esi", "0x10039658"], ["0x1005415a", "mov eax, dword ptr [ebp - 0x178]", "0x1003965a"], ["0x10054160", "lea ecx, [ebp - 0x17c]", "0x10039660"], ["0x10054166", "mov dword ptr [eax + 0x14], esi", "0x10039666"], ["0x10054169", "mov eax, dword ptr [ebp - 0x178]", "0x10039669"]]}]], ["@@ -0x10054254,33 +0x10039754,34 @@", [{"both": [["0x10054254", "fmul dword ptr [ebp - 0x14]", "0x10039754"], ["0x10054257", "fstp dword ptr [eax]", "0x10039757"], ["0x10054259", "mov edx, dword ptr [ebp - 0x108]", "0x10039759"], ["0x1005425f", "lea eax, [edx + ecx - 8]", "0x1003975f"], ["0x10054263", "fld dword ptr [eax]", "0x10039763"], ["0x10054265", "fmul dword ptr [ebp - 0x10]", "0x10039765"], ["0x10054268", "jl -0x39", "0x10039768"], ["0x1005426a", "fstp dword ptr [eax]", "0x1003976a"], ["0x1005426c", "xor esi, esi", "0x1003976c"], ["0x1005426e", "cmp dword ptr [ebp - 0x1c], esi", "0x1003976e"]]}, {"orig": [["0x10054271", "je 0x169"]], "recomp": [["0x10039771", "je 0x16f"]]}, {"both": [["0x10054277", "mov ecx, dword ptr [ebx + 0x88]", "0x10039777"], ["0x1005427d", "test ecx, ecx", "0x1003977d"]]}, {"orig": [["0x1005427f", "je 0x14c"]], "recomp": [["0x1003977f", "je 0x152"]]}, {"both": [["0x10054285", "mov eax, dword ptr [ebp - 0x178]", "0x10039785"], ["0x1005428b", "mov edx, Vector3::`vftable' (VTABLE)", "0x1003978b"], ["0x10054290", "mov dword ptr [ebp - 0x24], eax", "0x10039790"]]}, {"orig": [], "recomp": [["0x10039793", "mov dword ptr [ebp - 0x28], edx"], ["0x10039796", "mov eax, dword ptr [ebp - 0x178]"]]}, {"both": [["0x10054293", "add eax, 0x10", "0x1003979c"]]}, {"orig": [["0x10054296", "mov dword ptr [ebp - 0x28], edx"]], "recomp": []}, {"both": [["0x10054299", "mov dword ptr [ebp - 0x88], eax", "0x1003979f"]]}, {"orig": [], "recomp": [["0x100397a5", "mov dword ptr [ebp - 0x8c], edx"]]}, {"both": [["0x1005429f", "mov eax, dword ptr [ebp - 0x178]", "0x100397ab"], ["0x100542a5", "add eax, 0x20", "0x100397b1"]]}, {"orig": [["0x100542a8", "mov dword ptr [ebp - 0x8c], edx"]], "recomp": []}, {"both": [["0x100542ae", "mov dword ptr [ebp - 0x14], eax", "0x100397b4"], ["0x100542b1", "mov dword ptr [ebp - 0x18], edx", "0x100397b7"], ["0x100542b4", "test byte ptr [ebx + 0x154], 1", "0x100397ba"], ["0x100542bb", "mov eax, dword ptr [ecx + 0x18]", "0x100397c1"], ["0x100542be", "push eax", "0x100397c4"], ["0x100542bf", "jne 0x89", "0x100397c5"], ["0x100542c5", "lea ecx, [ebp - 0x28]", "0x100397cb"], ["0x100542c8", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x100397ce"], ["0x100542ce", "mov eax, dword ptr [ebp - 0x88]", "0x100397d4"], ["0x100542d4", "mov dword ptr [eax], 0x3f800000", "0x100397da"]]}]], ["@@ -0x100543fd,79 +0x10039903,79 @@", [{"both": [["0x100543fd", "fst dword ptr [ebp - 0x24]", "0x10039903"], ["0x10054400", "fsin ", "0x10039906"], ["0x10054402", "fstp dword ptr [ebp - 0x10]", "0x10039908"], ["0x10054405", "fld dword ptr [ebp - 0x24]", "0x1003990b"], ["0x10054408", "fcos ", "0x1003990e"], ["0x1005440a", "fstp dword ptr [ebp - 0x14]", "0x10039910"], ["0x1005440d", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10039913"], ["0x1005440f", "xor esi, esi", "0x10039915"], ["0x10054411", "jmp 0x4", "0x10039917"], ["0x10054413", "fstp dword ptr [edx + esi - 8]", "0x10039919"]]}, {"orig": [["0x10054417", "lea eax, [ebp + esi - 0xc0]"], ["0x1005441e", "lea ecx, [ebp + esi - 0xbc]"]], "recomp": [["0x1003991d", "lea ecx, [ebp + esi - 0xc0]"], ["0x10039924", "lea eax, [ebp + esi - 0xbc]"]]}, {"both": [["0x10054425", "mov edx, dword ptr [ebp - 0x108]", "0x1003992b"], ["0x1005442b", "add esi, 0x10", "0x10039931"]]}, {"orig": [], "recomp": [["0x10039934", "fld dword ptr [ecx]"], ["0x10039936", "fmul dword ptr [ebp - 0x14]"]]}, {"both": [["0x1005442e", "fld dword ptr [eax]", "0x10039939"]]}, {"orig": [["0x10054430", "fmul dword ptr [ebp - 0x14]"], ["0x10054433", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x10054435", "fmul dword ptr [ebp - 0x10]", "0x1003993b"], ["0x10054438", "cmp esi, 0x40", "0x1003993e"], ["0x1005443b", "fsubp st(1)", "0x10039941"], ["0x1005443d", "fstp dword ptr [edx + esi - 0xc]", "0x10039943"]]}, {"orig": [], "recomp": [["0x10039947", "fld dword ptr [eax]"], ["0x10039949", "fmul dword ptr [ebp - 0x14]"]]}, {"both": [["0x10054441", "fld dword ptr [ecx]", "0x1003994c"]]}, {"orig": [["0x10054443", "fmul dword ptr [ebp - 0x14]"], ["0x10054446", "fld dword ptr [eax]"]], "recomp": []}, {"both": [["0x10054448", "fmul dword ptr [ebp - 0x10]", "0x1003994e"], ["0x1005444b", "mov edx, dword ptr [ebp - 0x108]", "0x10039951"], ["0x10054451", "faddp st(1)", "0x10039957"], ["0x10054453", "jl -0x42", "0x10039959"], ["0x10054455", "fstp dword ptr [edx + esi - 8]", "0x1003995b"], ["0x10054459", "fld dword ptr [ebx + 0x80]", "0x1003995f"], ["0x1005445f", "fmul dword ptr [0.1666666716337204 (FLOAT)]", "0x10039965"], ["0x10054465", "lea edi, [ebp - 0xc4]", "0x1003996b"], ["0x1005446b", "mov esi, dword ptr [ebp - 0x108]", "0x10039971"], ["0x10054471", "mov ecx, 0x10", "0x10039977"], ["0x10054476", "fst dword ptr [ebp - 0x24]", "0x1003997c"], ["0x10054479", "fsin ", "0x1003997f"], ["0x1005447b", "fstp dword ptr [ebp - 0x10]", "0x10039981"], ["0x1005447e", "fld dword ptr [ebp - 0x24]", "0x10039984"], ["0x10054481", "fcos ", "0x10039987"], ["0x10054483", "fstp dword ptr [ebp - 0x14]", "0x10039989"], ["0x10054486", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1003998c"], ["0x10054488", "xor esi, esi", "0x1003998e"], ["0x1005448a", "jmp 0x4", "0x10039990"], ["0x1005448c", "fstp dword ptr [edx + esi - 8]", "0x10039992"]]}, {"orig": [["0x10054490", "lea eax, [ebp + esi - 0xc4]"], ["0x10054497", "lea ecx, [ebp + esi - 0xbc]"]], "recomp": [["0x10039996", "lea ecx, [ebp + esi - 0xc4]"], ["0x1003999d", "lea eax, [ebp + esi - 0xbc]"]]}, {"both": [["0x1005449e", "mov edx, dword ptr [ebp - 0x108]", "0x100399a4"], ["0x100544a4", "add esi, 0x10", "0x100399aa"]]}, {"orig": [], "recomp": [["0x100399ad", "fld dword ptr [ecx]"], ["0x100399af", "fmul dword ptr [ebp - 0x14]"]]}, {"both": [["0x100544a7", "fld dword ptr [eax]", "0x100399b2"]]}, {"orig": [["0x100544a9", "fmul dword ptr [ebp - 0x14]"], ["0x100544ac", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100544ae", "fmul dword ptr [ebp - 0x10]", "0x100399b4"], ["0x100544b1", "cmp esi, 0x40", "0x100399b7"], ["0x100544b4", "faddp st(1)", "0x100399ba"], ["0x100544b6", "fstp dword ptr [edx + esi - 0x10]", "0x100399bc"]]}, {"orig": [], "recomp": [["0x100399c0", "fld dword ptr [eax]"], ["0x100399c2", "fmul dword ptr [ebp - 0x14]"]]}, {"both": [["0x100544ba", "fld dword ptr [ecx]", "0x100399c5"]]}, {"orig": [["0x100544bc", "fmul dword ptr [ebp - 0x14]"], ["0x100544bf", "fld dword ptr [eax]"]], "recomp": []}, {"both": [["0x100544c1", "fmul dword ptr [ebp - 0x10]", "0x100399c7"], ["0x100544c4", "mov edx, dword ptr [ebp - 0x108]", "0x100399ca"], ["0x100544ca", "fsubp st(1)", "0x100399d0"], ["0x100544cc", "jl -0x42", "0x100399d2"], ["0x100544ce", "fstp dword ptr [edx + esi - 8]", "0x100399d4"], ["0x100544d2", "lea eax, [ebp - 0x204]", "0x100399d8"]]}, {"orig": [], "recomp": [["0x100399de", "mov ecx, 0x10"], ["0x100399e3", "mov edi, eax"], ["0x100399e5", "mov dword ptr [ebp - 0x208], eax"], ["0x100399eb", "mov dword ptr [ebp - 0x20c], MxMatrix::`vftable' (VTABLE)"]]}, {"both": [["0x100544d8", "mov esi, dword ptr [ebp - 0x178]", "0x100399f5"]]}, {"orig": [["0x100544de", "mov edi, eax"], ["0x100544e0", "mov ecx, 0x10"], ["0x100544e5", "mov dword ptr [ebp - 0x20c], MxMatrix::`vftable' (VTABLE)"], ["0x100544ef", "mov dword ptr [ebp - 0x208], eax"]], "recomp": []}, {"both": [["0x100544f5", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100399fb"], ["0x100544f7", "mov eax, dword ptr [ebp - 0x208]", "0x100399fd"], ["0x100544fd", "mov ecx, dword ptr [ebp - 0x108]", "0x10039a03"], ["0x10054503", "push eax", "0x10039a09"], ["0x10054504", "mov esi, dword ptr [ebp - 0x17c]", "0x10039a0a"], ["0x1005450a", "push ecx", "0x10039a10"], ["0x1005450b", "lea ecx, [ebp - 0x17c]", "0x10039a11"], ["0x10054511", "call dword ptr [esi + 0x3c]", "0x10039a17"], ["0x10054514", "lea ecx, [ebp - 0x17c]", "0x10039a1a"], ["0x1005451a", "push ecx", "0x10039a20"]]}]], ["@@ -0x1005452e,24 +0x10039a34,24 @@", [{"both": [["0x1005452e", "fcomp dword ptr [ebx + 0x78]", "0x10039a34"], ["0x10054531", "fnstsw ax", "0x10039a37"], ["0x10054533", "test ah, 1", "0x10039a39"], ["0x10054536", "jne 0x7", "0x10039a3c"], ["0x10054538", "mov dword ptr [ebx + 0x50], 0", "0x10039a3e"], ["0x1005453f", "mov dword ptr [ebp - 0x74], Vector3::`vftable' (VTABLE)", "0x10039a45"], ["0x10054546", "mov eax, dword ptr [ebp - 0x178]", "0x10039a4c"], ["0x1005454c", "add eax, 0x30", "0x10039a52"], ["0x1005454f", "mov dword ptr [ebp - 0x70], eax", "0x10039a55"], ["0x10054552", "cmp dword ptr [ebp - 0x1c], 0", "0x10039a58"]]}, {"orig": [["0x10054556", "je 0x54c"]], "recomp": [["0x10039a5c", "je 0x54b"]]}, {"both": [["0x1005455c", "mov ax, word ptr [ebx + 0x154]", "0x10039a62"], ["0x10054563", "test al, 8", "0x10039a69"]]}, {"orig": [["0x10054565", "jne 0x3b2"]], "recomp": [["0x10039a6b", "jne 0x3b1"]]}, {"both": [["0x1005456b", "test al, 1", "0x10039a71"], ["0x1005456d", "je 0x10", "0x10039a73"], ["0x1005456f", "call SoundManager (FUNCTION)", "0x10039a75"], ["0x10054574", "push 0", "0x10039a7a"], ["0x10054576", "push 0", "0x10039a7c"], ["0x10054578", "push 'stickpz' (STRING)", "0x10039a7e"], ["0x1005457d", "jmp 0xe", "0x10039a83"], ["0x1005457f", "call SoundManager (FUNCTION)", "0x10039a85"], ["0x10054584", "push 0", "0x10039a8a"], ["0x10054586", "push 0", "0x10039a8c"]]}]], ["@@ -0x100545ad,90 +0x10039ab3,90 @@", [{"both": [["0x100545ad", "mov edx, dword ptr [esi + 8]", "0x10039ab3"], ["0x100545b0", "mov dword ptr [ebp - 0x3c], edx", "0x10039ab6"], ["0x100545b3", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Init (FUNCTION)", "0x10039ab9"], ["0x100545b8", "push esi", "0x10039abe"], ["0x100545b9", "lea ecx, [ebp - 0x44]", "0x10039abf"], ["0x100545bc", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy (FUNCTION)", "0x10039ac2"], ["0x100545c1", "mov eax, dword ptr [ebp - 0x40]", "0x10039ac7"], ["0x100545c4", "mov dword ptr [ebp - 4], 2", "0x10039aca"], ["0x100545cb", "mov ecx, dword ptr [eax]", "0x10039ad1"], ["0x100545cd", "mov dword ptr [ebp - 0x1c], ecx", "0x10039ad3"]]}, {"orig": [["0x100545d0", "cmp ecx, dword ptr [ebp - 0x40]"]], "recomp": [["0x10039ad6", "cmp ecx, eax"]]}, {"both": [["0x100545d3", "je 0x2e4", "0x10039ad8"], ["0x100545d9", "mov edi, dword ptr [esi + 4]", "0x10039ade"], ["0x100545dc", "mov eax, dword ptr [ebp - 0x1c]", "0x10039ae1"], ["0x100545df", "add eax, 0xc", "0x10039ae4"], ["0x100545e2", "lea ecx, [ebp - 0x24]", "0x10039ae7"], ["0x100545e5", "push eax", "0x10039aea"], ["0x100545e6", "push ecx", "0x10039aeb"], ["0x100545e7", "mov ecx, esi", "0x10039aec"], ["0x100545e9", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::find (FUNCTION)", "0x10039aee"]]}, {"orig": [["0x100545ee", "cmp edi, dword ptr [ebp - 0x24]"]], "recomp": [["0x10039af3", "cmp dword ptr [ebp - 0x24], edi"]]}, {"both": [["0x100545f1", "je 0x287", "0x10039af6"], ["0x100545f7", "mov eax, dword ptr [ebp - 0x1c]", "0x10039afc"], ["0x100545fa", "mov eax, dword ptr [eax + 0xc]", "0x10039aff"], ["0x100545fd", "cmp ebx, eax", "0x10039b02"], ["0x100545ff", "je 0x279", "0x10039b04"], ["0x10054605", "mov edi, dword ptr [eax + 0x54]", "0x10039b0a"], ["0x10054608", "push 5", "0x10039b0d"], ["0x1005460a", "push 'pammo' (STRING)", "0x10039b0f"], ["0x1005460f", "mov eax, dword ptr [edi + 0xe4]", "0x10039b14"], ["0x10054615", "push eax", "0x10039b1a"], ["0x10054616", "call _strncmp (FUNCTION)", "0x10039b1b"], ["0x1005461b", "add esp, 0xc", "0x10039b20"], ["0x1005461e", "test eax, eax", "0x10039b23"], ["0x10054620", "jne 0x145", "0x10039b25"], ["0x10054626", "lea eax, [ebp - 0x12c]", "0x10039b2b"], ["0x1005462c", "lea ecx, [ebp - 0x64]", "0x10039b31"]]}, {"orig": [["0x1005462f", "mov dword ptr [ebp - 0x134], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10054639", "mov dword ptr [ebp - 0x130], eax", "0x10039b34"], ["0x1005463f", "mov dword ptr [ebp - 0x68], ecx", "0x10039b3a"]]}, {"orig": [["0x10054642", "lea ecx, [ebp - 0x84]"]], "recomp": [["0x10039b3d", "mov dword ptr [ebp - 0x134], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x10054648", "mov dword ptr [ebp - 0x6c], Mx3DPointFloat::`vftable' (VTABLE)", "0x10039b47"], ["0x1005464f", "mov eax, dword ptr [edi + 0x14]", "0x10039b4e"]]}, {"orig": [], "recomp": [["0x10039b51", "lea ecx, [ebp - 0x84]"], ["0x10039b57", "add eax, 0x30"]]}, {"both": [["0x10054652", "push ecx", "0x10039b5a"]]}, {"orig": [["0x10054653", "add eax, 0x30"]], "recomp": []}, {"both": [["0x10054656", "lea ecx, [ebp - 0x134]", "0x10039b5b"]]}, {"orig": [], "recomp": [["0x10039b61", "mov dword ptr [ebp - 0x80], eax"]]}, {"both": [["0x1005465c", "mov dword ptr [ebp - 0x84], Vector3::`vftable' (VTABLE)", "0x10039b64"]]}, {"orig": [["0x10054666", "mov dword ptr [ebp - 0x80], eax"]], "recomp": []}, {"both": [["0x10054669", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x10039b6e"], ["0x1005466f", "mov ecx, dword ptr [ebx + 0x54]", "0x10039b74"], ["0x10054672", "mov eax, dword ptr [ecx + 0x14]", "0x10039b77"], ["0x10054675", "lea ecx, [ebp - 0x7c]", "0x10039b7a"], ["0x10054678", "add eax, 0x30", "0x10039b7d"], ["0x1005467b", "push ecx", "0x10039b80"], ["0x1005467c", "lea ecx, [ebp - 0x6c]", "0x10039b81"], ["0x1005467f", "mov dword ptr [ebp - 0x78], eax", "0x10039b84"], ["0x10054682", "mov eax, dword ptr [ebp - 0x6c]", "0x10039b87"], ["0x10054685", "mov dword ptr [ebp - 0x7c], Vector3::`vftable' (VTABLE)", "0x10039b8a"], ["0x1005468c", "call dword ptr [eax + 0x88]", "0x10039b91"], ["0x10054692", "lea ecx, [ebp - 0x134]", "0x10039b97"], ["0x10054698", "mov eax, dword ptr [ebp - 0x6c]", "0x10039b9d"], ["0x1005469b", "push ecx", "0x10039ba0"], ["0x1005469c", "lea ecx, [ebp - 0x6c]", "0x10039ba1"], ["0x1005469f", "call dword ptr [eax + 0x54]", "0x10039ba4"], ["0x100546a2", "mov eax, dword ptr [edi]", "0x10039ba7"], ["0x100546a4", "mov ecx, edi", "0x10039ba9"], ["0x100546a6", "call dword ptr [eax + 0x10]", "0x10039bab"], ["0x100546a9", "fld dword ptr [eax + 0x14]", "0x10039bae"]]}, {"orig": [], "recomp": [["0x10039bb1", "mov eax, dword ptr [ebp - 0x68]"]]}, {"both": [["0x100546ac", "mov ecx, dword ptr [ebp - 0x68]", "0x10039bb4"]]}, {"orig": [["0x100546af", "mov eax, dword ptr [ebp - 0x68]"], ["0x100546b2", "add ecx, 4"], ["0x100546b5", "add eax, 8"]], "recomp": [["0x10039bb7", "add eax, 4"], ["0x10039bba", "add ecx, 8"]]}, {"both": [["0x100546b8", "mov edx, dword ptr [ebp - 0x68]", "0x10039bbd"], ["0x100546bb", "fld dword ptr [edx]", "0x10039bc0"], ["0x100546bd", "fmul dword ptr [edx]", "0x10039bc2"]]}, {"orig": [], "recomp": [["0x10039bc4", "fld dword ptr [eax]"], ["0x10039bc6", "fmul dword ptr [eax]"], ["0x10039bc8", "faddp st(1)"]]}, {"both": [["0x100546bf", "fld dword ptr [ecx]", "0x10039bca"], ["0x100546c1", "fmul dword ptr [ecx]", "0x10039bcc"]]}, {"orig": [["0x100546c3", "faddp st(1)"], ["0x100546c5", "fld dword ptr [eax]"], ["0x100546c7", "fmul dword ptr [eax]"]], "recomp": []}, {"both": [["0x100546c9", "faddp st(1)", "0x10039bce"], ["0x100546cb", "fxch st(1)", "0x10039bd0"], ["0x100546cd", "fmul st(0), st(0)", "0x10039bd2"], ["0x100546cf", "fcompp ", "0x10039bd4"], ["0x100546d1", "fnstsw ax", "0x10039bd6"], ["0x100546d3", "test ah, 1", "0x10039bd8"], ["0x100546d6", "jne 0x1a2", "0x10039bdb"], ["0x100546dc", "mov dword ptr [ebp - 0x10], 0xffffffff", "0x10039be1"], ["0x100546e3", "lea eax, [ebp - 0x10]", "0x10039be8"], ["0x100546e6", "mov ecx, dword ptr [edi + 0xe4]", "0x10039beb"]]}]], ["@@ -0x10054928,22 +0x10039e2d,22 @@", [{"both": [["0x10054928", "call Act3::RemovePizza (FUNCTION)", "0x10039e2d"], ["0x1005492d", "push 2", "0x10039e32"], ["0x1005492f", "mov ecx, dword ptr [ebx + 0x15c]", "0x10039e34"], ["0x10054935", "call Act3::FUN_10072ad0 (FUNCTION)", "0x10039e3a"], ["0x1005493a", "jmp 0x169", "0x10039e3f"], ["0x1005493f", "call Act3::RemoveDonut (FUNCTION)", "0x10039e44"], ["0x10054944", "push 4", "0x10039e49"], ["0x10054946", "mov ecx, dword ptr [ebx + 0x15c]", "0x10039e4b"], ["0x1005494c", "call Act3::FUN_10072ad0 (FUNCTION)", "0x10039e51"], ["0x10054951", "jmp 0x152", "0x10039e56"]]}, {"orig": [["0x10054956", "fld dword ptr [2000.0 (FLOAT)]"], ["0x1005495c", "fadd dword ptr [ebp + 8]"]], "recomp": [["0x10039e5b", "fld dword ptr [ebp + 8]"], ["0x10039e5e", "fadd dword ptr [2000.0 (FLOAT)]"]]}, {"both": [["0x1005495f", "fstp dword ptr [ebx + 0x158]", "0x10039e64"], ["0x10054965", "mov dword ptr [ebx + 0xdc], 3", "0x10039e6a"], ["0x1005496f", "jmp 0x134", "0x10039e74"], ["0x10054974", "lea eax, [ebp - 0x1bc]", "0x10039e79"], ["0x1005497a", "lea ecx, [ebp - 0x18c]", "0x10039e7f"], ["0x10054980", "mov dword ptr [ebp - 0x1c0], eax", "0x10039e85"], ["0x10054986", "mov dword ptr [ebp - 0x1c4], MxMatrix::`vftable' (VTABLE)", "0x10039e8b"], ["0x10054990", "mov dword ptr [ebp - 0x14], ecx", "0x10039e95"], ["0x10054993", "lea ecx, [ebp - 0x1c4]", "0x10039e98"], ["0x10054999", "mov dword ptr [ebp - 0x18], Vector3::`vftable' (VTABLE)", "0x10039e9e"]]}]], ["@@ -0x100549e3,39 +0x10039ee8,39 @@", [{"both": [["0x100549e3", "xor edx, edx", "0x10039ee8"], ["0x100549e5", "mov eax, dword ptr [ebp - 0x14]", "0x10039eea"], ["0x100549e8", "mov dword ptr [eax], edx", "0x10039eed"], ["0x100549ea", "mov dword ptr [eax + 4], edx", "0x10039eef"], ["0x100549ed", "lea edi, [ebp - 0xc4]", "0x10039ef2"], ["0x100549f3", "mov dword ptr [eax + 8], edx", "0x10039ef8"], ["0x100549f6", "mov ecx, 0x10", "0x10039efb"], ["0x100549fb", "fstp dword ptr [ebp - 0x1c]", "0x10039f00"], ["0x100549fe", "fld qword ptr [0.6000000238418579 (FLOAT)]", "0x10039f03"], ["0x10054a04", "fcos ", "0x10039f09"]]}, {"orig": [], "recomp": [["0x10039f0b", "fstp dword ptr [ebp - 0x20]"]]}, {"both": [["0x10054a06", "mov esi, dword ptr [ebp - 0x1c0]", "0x10039f0e"]]}, {"orig": [["0x10054a0c", "fstp dword ptr [ebp - 0x20]"]], "recomp": []}, {"both": [["0x10054a0f", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10039f14"], ["0x10054a11", "jmp 0x4", "0x10039f16"], ["0x10054a13", "fstp dword ptr [esi + edx - 8]", "0x10039f18"]]}, {"orig": [["0x10054a17", "lea ecx, [ebp + edx - 0xc0]"], ["0x10054a1e", "lea eax, [ebp + edx - 0xbc]"]], "recomp": [["0x10039f1c", "lea eax, [ebp + edx - 0xc0]"], ["0x10039f23", "lea ecx, [ebp + edx - 0xbc]"]]}, {"both": [["0x10054a25", "mov esi, dword ptr [ebp - 0x1c0]", "0x10039f2a"], ["0x10054a2b", "add edx, 0x10", "0x10039f30"]]}, {"orig": [], "recomp": [["0x10039f33", "fld dword ptr [eax]"], ["0x10039f35", "fmul dword ptr [ebp - 0x20]"]]}, {"both": [["0x10054a2e", "fld dword ptr [ecx]", "0x10039f38"]]}, {"orig": [["0x10054a30", "fmul dword ptr [ebp - 0x20]"], ["0x10054a33", "fld dword ptr [eax]"]], "recomp": []}, {"both": [["0x10054a35", "fmul dword ptr [ebp - 0x1c]", "0x10039f3a"], ["0x10054a38", "cmp edx, 0x40", "0x10039f3d"], ["0x10054a3b", "fsubp st(1)", "0x10039f40"], ["0x10054a3d", "fstp dword ptr [esi + edx - 0xc]", "0x10039f42"]]}, {"orig": [], "recomp": [["0x10039f46", "fld dword ptr [ecx]"], ["0x10039f48", "fmul dword ptr [ebp - 0x20]"]]}, {"both": [["0x10054a41", "fld dword ptr [eax]", "0x10039f4b"]]}, {"orig": [["0x10054a43", "fmul dword ptr [ebp - 0x20]"], ["0x10054a46", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x10054a48", "fmul dword ptr [ebp - 0x1c]", "0x10039f4d"], ["0x10054a4b", "mov esi, dword ptr [ebp - 0x1c0]", "0x10039f50"], ["0x10054a51", "faddp st(1)", "0x10039f56"], ["0x10054a53", "jl -0x42", "0x10039f58"], ["0x10054a55", "fstp dword ptr [esi + edx - 8]", "0x10039f5a"], ["0x10054a59", "mov eax, dword ptr [ebp - 0x30]", "0x10039f5e"], ["0x10054a5c", "lea ecx, [ebp - 0x18]", "0x10039f61"], ["0x10054a5f", "push eax", "0x10039f64"], ["0x10054a60", "mov esi, dword ptr [ebp - 0x18]", "0x10039f65"], ["0x10054a63", "call dword ptr [esi + 0x20]", "0x10039f68"]]}]]]}, {"address": "0x10054ac0", "recomp": "0x10055600", "name": "LegoNavController::LegoNavController", "matching": 1.0, "diff": []}, {"address": "0x10054b80", "recomp": "0x100556c0", "name": "LegoNavController::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10054b90", "recomp": "0x100556d0", "name": "LegoNavController::IsA", "matching": 1.0, "diff": []}, {"address": "0x10054c10", "recomp": "0x10055750", "name": "LegoNavController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10054c30", "recomp": "0x10055770", "name": "LegoNavController::~LegoNavController", "matching": 1.0, "diff": []}, {"address": "0x10054ca0", "recomp": "0x100557e0", "name": "LegoNavController::SetControlMax", "matching": 1.0, "diff": []}, {"address": "0x10054cd0", "recomp": "0x10055810", "name": "LegoNavController::SetToDefaultParams", "matching": 1.0, "diff": []}, {"address": "0x10054d40", "recomp": "0x10055880", "name": "LegoNavController::GetDefaults", "matching": 1.0, "diff": []}, {"address": "0x10054dd0", "recomp": "0x10055910", "name": "LegoNavController::SetDefaults", "matching": 1.0, "diff": []}, {"address": "0x10054e40", "recomp": "0x10055980", "name": "LegoNavController::SetTargets", "matching": 1.0, "diff": []}, {"address": "0x10054f10", "recomp": "0x10055a50", "name": "LegoNavController::CalculateNewTargetVel", "matching": 1.0, "diff": []}, {"address": "0x10054f90", "recomp": "0x10055ad0", "name": "LegoNavController::CalculateNewAccel", "matching": 1.0, "diff": []}, {"address": "0x10054fe0", "recomp": "0x10055b20", "name": "LegoNavController::CalculateNewVel", "matching": 1.0, "diff": []}, {"address": "0x10055080", "recomp": "0x10055bc0", "name": "LegoNavController::CalculateNewPosDir", "matching": 0.9548022598870056, "diff": [["@@ -0x100550a4,22 +0x10055be4,22 @@", [{"both": [["0x100550a4", "call Timer (FUNCTION)", "0x10055be4"], ["0x100550a9", "cmp byte ptr [eax + 0xc], bl", "0x10055be9"], ["0x100550ac", "je 0x8", "0x10055bec"], ["0x100550ae", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10055bee"], ["0x100550b4", "jmp 0x9", "0x10055bf4"], ["0x100550b6", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10055bf6"], ["0x100550bc", "sub ecx, dword ptr [eax + 8]", "0x10055bfc"], ["0x100550bf", "mov eax, ecx", "0x10055bff"], ["0x100550c1", "sub eax, dword ptr [esi + 0x58]", "0x10055c01"], ["0x100550c4", "mov dword ptr [esp + 0x54], eax", "0x10055c04"]]}, {"orig": [], "recomp": [["0x10055c08", "fild dword ptr [esp + 0x54]"]]}, {"both": [["0x100550c8", "mov dword ptr [esi + 0x58], ecx", "0x10055c0c"]]}, {"orig": [["0x100550cb", "fild dword ptr [esp + 0x54]"]], "recomp": []}, {"both": [["0x100550cf", "mov ecx, esi", "0x10055c0f"], ["0x100550d1", "fmul qword ptr [0.001 (FLOAT)]", "0x10055c11"], ["0x100550d7", "fstp dword ptr [esp + 0x14]", "0x10055c17"], ["0x100550db", "call LegoNavController::ProcessKeyboardInput (FUNCTION)", "0x10055c1b"], ["0x100550e0", "cmp eax, -1", "0x10055c20"], ["0x100550e3", "jne 0xc", "0x10055c23"], ["0x100550e5", "lea eax, [esp + 0x13]", "0x10055c25"], ["0x100550e9", "mov ecx, esi", "0x10055c29"], ["0x100550eb", "push eax", "0x10055c2b"], ["0x100550ec", "call LegoNavController::ProcessJoystickInput (FUNCTION)", "0x10055c2c"]]}]], ["@@ -0x10055155,30 +0x10055c95,30 @@", [{"both": [["0x10055155", "fld dword ptr [esi + 0x18]", "0x10055c95"], ["0x10055158", "fabs ", "0x10055c98"], ["0x1005515a", "fcomp dword ptr [esi + 0x14]", "0x10055c9a"], ["0x1005515d", "fnstsw ax", "0x10055c9d"], ["0x1005515f", "test ah, 0x41", "0x10055c9f"], ["0x10055162", "jne 0x15f", "0x10055ca2"], ["0x10055168", "lea eax, [esp + 0x20]", "0x10055ca8"], ["0x1005516c", "mov ecx, Mx3DPointFloat::`vftable' (VTABLE)", "0x10055cac"], ["0x10055171", "lea edx, [esp + 0x48]", "0x10055cb1"], ["0x10055175", "mov dword ptr [esp + 0x1c], eax", "0x10055cb5"]]}, {"orig": [["0x10055179", "fld dword ptr [esi + 0x28]"], ["0x1005517c", "fmul dword ptr [0.4000000059604645 (FLOAT)]"]], "recomp": []}, {"both": [["0x10055182", "lea eax, [esp + 0x34]", "0x10055cb9"], ["0x10055186", "mov dword ptr [esp + 0x18], ecx", "0x10055cbd"], ["0x1005518a", "mov dword ptr [esp + 0x44], edx", "0x10055cc1"]]}, {"orig": [["0x1005518e", "fchs "], ["0x10055190", "fcom dword ptr [esi + 0x18]"]], "recomp": []}, {"both": [["0x10055193", "mov dword ptr [esp + 0x40], ecx", "0x10055cc5"], ["0x10055197", "mov dword ptr [esp + 0x30], eax", "0x10055cc9"], ["0x1005519b", "mov dword ptr [esp + 0x2c], ecx", "0x10055ccd"]]}, {"orig": [], "recomp": [["0x10055cd1", "fld dword ptr [esi + 0x28]"], ["0x10055cd4", "fmul dword ptr [0.4000000059604645 (FLOAT)]"], ["0x10055cda", "fchs "], ["0x10055cdc", "fcom dword ptr [esi + 0x18]"]]}, {"both": [["0x1005519f", "fstp dword ptr [esp + 0x54]", "0x10055cdf"], ["0x100551a3", "fnstsw ax", "0x10055ce3"], ["0x100551a5", "test ah, 0x41", "0x10055ce5"], ["0x100551a8", "jne 0x7", "0x10055ce8"], ["0x100551aa", "mov eax, dword ptr [esp + 0x54]", "0x10055cea"], ["0x100551ae", "mov dword ptr [esi + 0x18], eax", "0x10055cee"], ["0x100551b1", "fld dword ptr [esi + 0x18]", "0x10055cf1"], ["0x100551b4", "fmul dword ptr [esp + 0x14]", "0x10055cf4"], ["0x100551b8", "mov ebp, dword ptr [esp + 0x80]", "0x10055cf8"], ["0x100551bf", "mov eax, dword ptr [ebp + 4]", "0x10055cff"]]}]], ["@@ -0x10055255,43 +0x10055d95,43 @@", [{"both": [["0x10055255", "test ecx, ecx", "0x10055d95"], ["0x10055257", "je 0x16", "0x10055d97"], ["0x10055259", "mov ecx, dword ptr [ecx + 4]", "0x10055d99"], ["0x1005525c", "cmp dword ptr [ecx + 4], 0x80000000", "0x10055d9c"], ["0x10055263", "jbe 0xa", "0x10055da3"], ["0x10055265", "fld dword ptr [esp + 0x14]", "0x10055da5"], ["0x10055269", "fchs ", "0x10055da9"], ["0x1005526b", "fstp dword ptr [esp + 0x14]", "0x10055dab"], ["0x1005526f", "fld dword ptr [esp + 0x14]", "0x10055daf"], ["0x10055273", "fcos ", "0x10055db3"]]}, {"orig": [["0x10055275", "mov edi, dword ptr [ebp + 4]"]], "recomp": []}, {"both": [["0x10055278", "mov ecx, dword ptr [esp + 0x88]", "0x10055db5"], ["0x1005527f", "fstp dword ptr [esp + 0x74]", "0x10055dbc"], ["0x10055283", "fld dword ptr [esp + 0x14]", "0x10055dc0"], ["0x10055287", "fsin ", "0x10055dc4"]]}, {"orig": [], "recomp": [["0x10055dc6", "fst dword ptr [esp + 0x6c]"], ["0x10055dca", "mov edi, dword ptr [ebp + 4]"]]}, {"both": [["0x10055289", "mov ebx, dword ptr [ecx + 4]", "0x10055dcd"]]}, {"orig": [["0x1005528c", "fst dword ptr [esp + 0x6c]"]], "recomp": []}, {"both": [["0x10055290", "fmul dword ptr [edi + 8]", "0x10055dd0"], ["0x10055293", "fld dword ptr [edi]", "0x10055dd3"], ["0x10055295", "fmul dword ptr [esp + 0x74]", "0x10055dd5"], ["0x10055299", "faddp st(1)", "0x10055dd9"], ["0x1005529b", "fstp dword ptr [ebx]", "0x10055ddb"]]}, {"orig": [["0x1005529d", "fld dword ptr [esp + 0x6c]"], ["0x100552a1", "fchs "]], "recomp": []}, {"both": [["0x100552a3", "mov edi, dword ptr [ebp + 4]", "0x10055ddd"], ["0x100552a6", "mov ebx, dword ptr [ecx + 4]", "0x10055de0"], ["0x100552a9", "mov edi, dword ptr [edi + 4]", "0x10055de3"], ["0x100552ac", "mov dword ptr [ebx + 4], edi", "0x10055de6"], ["0x100552af", "mov edi, dword ptr [ebp + 4]", "0x10055de9"]]}, {"orig": [["0x100552b2", "mov ebx, dword ptr [ecx + 4]"]], "recomp": [["0x10055dec", "fld dword ptr [esp + 0x6c]"], ["0x10055df0", "fchs "]]}, {"both": [["0x100552b5", "fmul dword ptr [edi]", "0x10055df2"], ["0x100552b7", "fld dword ptr [edi + 8]", "0x10055df4"], ["0x100552ba", "fmul dword ptr [esp + 0x74]", "0x10055df7"]]}, {"orig": [], "recomp": [["0x10055dfb", "mov ebx, dword ptr [ecx + 4]"]]}, {"both": [["0x100552be", "faddp st(1)", "0x10055dfe"], ["0x100552c0", "fstp dword ptr [ebx + 8]", "0x10055e00"], ["0x100552c3", "mov bl, 1", "0x10055e03"], ["0x100552c5", "jmp 0x19", "0x10055e05"], ["0x100552c7", "mov eax, dword ptr [esp + 0x7c]", "0x10055e07"], ["0x100552cb", "mov ebp, dword ptr [esp + 0x80]", "0x10055e0b"], ["0x100552d2", "mov edx, dword ptr [esp + 0x84]", "0x10055e12"], ["0x100552d9", "mov ecx, dword ptr [esp + 0x88]", "0x10055e19"], ["0x100552e0", "cmp byte ptr [esi + 0x5d], 0", "0x10055e20"], ["0x100552e4", "je 0x1fe", "0x10055e24"]]}]], ["@@ -0x10055436,40 +0x10055f76,40 @@", [{"both": [["0x10055436", "mov ebx, dword ptr [esp + 0x44]", "0x10055f76"], ["0x1005543a", "mov ebp, dword ptr [esp + 0x30]", "0x10055f7a"], ["0x1005543e", "mov eax, dword ptr [edx + 4]", "0x10055f7e"], ["0x10055441", "fld dword ptr [ebx + 8]", "0x10055f81"], ["0x10055444", "fadd dword ptr [ebp + 8]", "0x10055f84"], ["0x10055447", "fstp dword ptr [eax + 8]", "0x10055f87"], ["0x1005544a", "test dword ptr [esi + 0x68], 0x7fffffff", "0x10055f8a"], ["0x10055451", "je 0x55", "0x10055f91"], ["0x10055453", "fld dword ptr [esi + 0x68]", "0x10055f93"], ["0x10055456", "fmul qword ptr [0.017453333333333335 (FLOAT)]", "0x10055f96"]]}, {"orig": [["0x1005545c", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x10055460", "fld st(0)", "0x10055f9c"], ["0x10055462", "fcos ", "0x10055f9e"], ["0x10055464", "fstp dword ptr [esp + 0x74]", "0x10055fa0"], ["0x10055468", "fsin ", "0x10055fa4"]]}, {"orig": [], "recomp": [["0x10055fa6", "fst dword ptr [esp + 0x6c]"], ["0x10055faa", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1005546a", "mov edx, dword ptr [ecx + 4]", "0x10055fae"]]}, {"orig": [["0x1005546d", "fst dword ptr [esp + 0x6c]"]], "recomp": []}, {"both": [["0x10055471", "fmul dword ptr [eax + 8]", "0x10055fb1"], ["0x10055474", "fld dword ptr [eax]", "0x10055fb4"], ["0x10055476", "fmul dword ptr [esp + 0x74]", "0x10055fb6"], ["0x1005547a", "faddp st(1)", "0x10055fba"], ["0x1005547c", "fstp dword ptr [edx]", "0x10055fbc"]]}, {"orig": [], "recomp": [["0x10055fbe", "mov eax, dword ptr [esp + 0x1c]"], ["0x10055fc2", "mov edx, dword ptr [ecx + 4]"], ["0x10055fc5", "mov ebx, dword ptr [eax + 4]"], ["0x10055fc8", "mov dword ptr [edx + 4], ebx"]]}, {"both": [["0x1005547e", "fld dword ptr [esp + 0x6c]", "0x10055fcb"], ["0x10055482", "fchs ", "0x10055fcf"], ["0x10055484", "mov eax, dword ptr [esp + 0x1c]", "0x10055fd1"], ["0x10055488", "mov edx, dword ptr [ecx + 4]", "0x10055fd5"]]}, {"orig": [["0x1005548b", "mov ebx, dword ptr [eax + 4]"], ["0x1005548e", "mov dword ptr [edx + 4], ebx"], ["0x10055491", "mov edx, dword ptr [ecx + 4]"], ["0x10055494", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x10055498", "fmul dword ptr [eax]", "0x10055fd8"], ["0x1005549a", "fld dword ptr [eax + 8]", "0x10055fda"], ["0x1005549d", "fmul dword ptr [esp + 0x74]", "0x10055fdd"], ["0x100554a1", "faddp st(1)", "0x10055fe1"], ["0x100554a3", "fstp dword ptr [edx + 8]", "0x10055fe3"], ["0x100554a6", "jmp 0x25", "0x10055fe6"], ["0x100554a8", "mov eax, dword ptr [esp + 0x1c]", "0x10055fe8"], ["0x100554ac", "mov edx, dword ptr [ecx + 4]", "0x10055fec"], ["0x100554af", "mov ebx, dword ptr [eax]", "0x10055fef"], ["0x100554b1", "mov dword ptr [edx], ebx", "0x10055ff1"]]}]]]}, {"address": "0x10055500", "recomp": "0x10056040", "name": "LegoNavController::UpdateLocation", "matching": 0.8928571428571429, "diff": [["@@ -0x10055500,33 +0x10056040,33 @@", [{"both": [["0x10055500", "sub esp, 0x74", "0x10056040"], ["0x10055503", "push ebx", "0x10056043"], ["0x10055504", "push esi", "0x10056044"], ["0x10055505", "push edi", "0x10056045"], ["0x10055506", "mov ebx, 0xffffffff", "0x10056046"], ["0x1005550b", "push ebp", "0x1005604b"]]}, {"orig": [["0x1005550c", "mov edi, g_locations[0].m_name (UNK)"], ["0x10055511", "mov esi, dword ptr [esp + 0x88]"], ["0x10055518", "mov eax, dword ptr [edi]"]], "recomp": [["0x1005604c", "mov esi, g_locations[0].m_name (UNK)"], ["0x10056051", "mov edi, dword ptr [esp + 0x88]"], ["0x10056058", "mov eax, dword ptr [esi]"]]}, {"both": [["0x1005551a", "push eax", "0x1005605a"]]}, {"orig": [["0x1005551b", "push esi"]], "recomp": [["0x1005605b", "push edi"]]}, {"both": [["0x1005551c", "call __strcmpi (FUNCTION)", "0x1005605c"], ["0x10055521", "add esp, 8", "0x10056061"], ["0x10055524", "test eax, eax", "0x10056064"], ["0x10055526", "jne 0xd5", "0x10056066"], ["0x1005552c", "mov dword ptr [esp + 0x3c], MxMatrix::`vftable' (VTABLE)", "0x1005606c"], ["0x10055534", "lea eax, [esp + 0x44]", "0x10056074"], ["0x10055538", "mov dword ptr [esp + 0x40], eax", "0x10056078"], ["0x1005553c", "call VideoManager (FUNCTION)", "0x1005607c"], ["0x10055541", "mov ebx, dword ptr [eax + 0x6c]", "0x10056081"]]}, {"orig": [["0x10055544", "lea ecx, [edi + 0x10]"], ["0x10055547", "lea eax, [edi + 0x1c]"], ["0x1005554a", "lea edx, [edi + 4]"]], "recomp": [["0x10056084", "lea ecx, [esi + 0x10]"], ["0x10056087", "lea eax, [esi + 0x1c]"], ["0x1005608a", "lea edx, [esi + 4]"]]}, {"both": [["0x1005554d", "mov dword ptr [esp + 0x14], eax", "0x1005608d"], ["0x10055551", "mov dword ptr [esp + 0x1c], ecx", "0x10056091"], ["0x10055555", "lea eax, [esp + 0x3c]", "0x10056095"], ["0x10055559", "lea ecx, [esp + 0x10]", "0x10056099"], ["0x1005555d", "mov dword ptr [esp + 0x24], edx", "0x1005609d"], ["0x10055561", "push eax", "0x100560a1"], ["0x10055562", "lea edx, [esp + 0x1c]", "0x100560a2"], ["0x10055566", "push ecx", "0x100560a6"], ["0x10055567", "lea eax, [esp + 0x28]", "0x100560a7"], ["0x1005556b", "push edx", "0x100560ab"]]}]], ["@@ -0x100555e8,20 +0x10056128,20 @@", [{"both": [["0x100555e8", "call dword ptr [eax + 8]", "0x10056128"], ["0x100555eb", "push eax", "0x1005612b"], ["0x100555ec", "lea ecx, [ebp - 0x10]", "0x1005612c"], ["0x100555ef", "lea eax, [ebp - 0x20]", "0x1005612f"], ["0x100555f2", "push eax", "0x10056132"], ["0x100555f3", "push ecx", "0x10056133"], ["0x100555f4", "push ebp", "0x10056134"], ["0x100555f5", "call SoundManager (FUNCTION)", "0x10056135"], ["0x100555fa", "mov ecx, eax", "0x1005613a"], ["0x100555fc", "call LegoSoundManager::UpdateListener (FUNCTION)", "0x1005613c"]]}, {"orig": [["0x10055601", "add edi, 0x60"], ["0x10055604", "cmp edi, g_locationCalcStep (DATA)"]], "recomp": [["0x10056141", "add esi, 0x60"], ["0x10056144", "cmp esi, 0x100f505c"]]}, {"both": [["0x1005560a", "jb -0xf8", "0x1005614a"], ["0x10055610", "mov eax, ebx", "0x10056150"], ["0x10055612", "pop ebp", "0x10056152"], ["0x10055613", "pop edi", "0x10056153"], ["0x10055614", "pop esi", "0x10056154"], ["0x10055615", "pop ebx", "0x10056155"], ["0x10055616", "add esp, 0x74", "0x10056156"], ["0x10055619", "ret ", "0x10056159"]]}]]]}, {"address": "0x10055620", "recomp": "0x10056160", "name": "LegoNavController::UpdateLocation", "matching": 1.0, "diff": []}, {"address": "0x10055720", "recomp": "0x10056260", "name": "LegoNavController::GetLocation", "matching": 1.0, "diff": []}, {"address": "0x10055740", "recomp": "0x10056280", "name": "LegoNavController::GetNumLocations", "matching": 1.0, "diff": []}, {"address": "0x10055750", "recomp": "0x10056290", "name": "LegoNavController::ProcessJoystickInput", "matching": 1.0, "diff": []}, {"address": "0x100558b0", "recomp": "0x100563f0", "name": "LegoNavController::ProcessKeyboardInput", "matching": 1.0, "diff": []}, {"address": "0x10055a60", "recomp": "0x100565a0", "name": "LegoNavController::Notify", "matching": 0.9802215189873418, "diff": [["@@ -0x10055a6b,26 +0x100565ab,26 @@", [{"both": [["0x10055a6b", "push <OFFSET1>", "0x100565ab"], ["0x10055a70", "push eax", "0x100565b0"], ["0x10055a71", "mov dword ptr fs:[0], esp", "0x100565b1"], ["0x10055a78", "mov eax, dword ptr [ebp + 8]", "0x100565b8"], ["0x10055a7b", "sub esp, 0x248", "0x100565bb"], ["0x10055a81", "cmp dword ptr [eax + 4], 7", "0x100565c1"], ["0x10055a85", "push ebx", "0x100565c5"], ["0x10055a86", "push esi", "0x100565c6"], ["0x10055a87", "push edi", "0x100565c7"], ["0x10055a88", "mov esi, ecx", "0x100565c8"]]}, {"orig": [["0x10055a8a", "jne 0xe0d"]], "recomp": [["0x100565ca", "jne 0xe0c"], ["0x100565d0", "mov byte ptr [esi + 0x5d], 1"]]}, {"both": [["0x10055a90", "mov al, byte ptr [eax + 0x18]", "0x100565d4"], ["0x10055a93", "xor ebx, ebx", "0x100565d7"]]}, {"orig": [], "recomp": [["0x100565d9", "mov bl, al"]]}, {"both": [["0x10055a95", "mov byte ptr [ebp - 0x55], al", "0x100565db"]]}, {"orig": [["0x10055a98", "mov byte ptr [esi + 0x5d], 1"], ["0x10055a9c", "mov bl, byte ptr [ebp - 0x55]"]], "recomp": []}, {"both": [["0x10055a9f", "lea eax, [ebx - 0x13]", "0x100565de"], ["0x10055aa2", "cmp eax, 0x68", "0x100565e1"], ["0x10055aa5", "ja 0xf", "0x100565e4"], ["0x10055aa7", "xor ecx, ecx", "0x100565e6"], ["0x10055aa9", "mov cl, byte ptr [eax + <OFFSET2>]", "0x100565e8"], ["0x10055aaf", "jmp dword ptr [ecx*4 + <OFFSET3>]", "0x100565ee"], ["0x10055ab6", "mov eax, dword ptr [g_currentInput (DATA)]", "0x100565f5"], ["0x10055abb", "mov al, byte ptr [eax]", "0x100565fa"], ["0x10055abd", "test al, al", "0x100565fc"], ["0x10055abf", "je 0x21", "0x100565fe"]]}]], ["@@ -0x10055be1,41 +0x10056720,41 @@", [{"both": [["0x10055be1", "mov ecx, dword ptr [g_nextLocation (DATA)]", "0x10056720"], ["0x10055be7", "push ecx", "0x10056726"], ["0x10055be8", "call LegoNavController::UpdateLocation (FUNCTION)", "0x10056727"], ["0x10055bed", "add esp, 4", "0x1005672c"], ["0x10055bf0", "jmp 0x9e", "0x1005672f"], ["0x10055bf5", "cmp dword ptr [g_animationCalcStep (DATA)], 0", "0x10056734"], ["0x10055bfc", "je 0x91", "0x1005673b"], ["0x10055c02", "cmp dword ptr [g_animationCalcStep (DATA)], 1", "0x10056741"], ["0x10055c09", "jne 0x1f", "0x10056748"], ["0x10055c0b", "lea eax, [ebx*4 - 0xc0]", "0x1005674a"]]}, {"orig": [["0x10055c12", "mov dword ptr [g_animationCalcStep (DATA)], 2"]], "recomp": []}, {"both": [["0x10055c1c", "lea ecx, [eax + eax*4]", "0x10056751"], ["0x10055c1f", "lea edx, [ecx + ecx*4]", "0x10056754"], ["0x10055c22", "mov dword ptr [g_nextAnimation (DATA)], edx", "0x10056757"]]}, {"orig": [], "recomp": [["0x1005675d", "mov dword ptr [g_animationCalcStep (DATA)], 2"]]}, {"both": [["0x10055c28", "jmp 0x69", "0x10056767"], ["0x10055c2a", "cmp dword ptr [g_animationCalcStep (DATA)], 2", "0x10056769"], ["0x10055c31", "jne 0x1b", "0x10056770"]]}, {"orig": [["0x10055c33", "mov dword ptr [g_animationCalcStep (DATA)], 3"]], "recomp": []}, {"both": [["0x10055c3d", "lea eax, [ebx + ebx*4 - 0xf0]", "0x10056772"], ["0x10055c44", "add eax, eax", "0x10056779"], ["0x10055c46", "add dword ptr [g_nextAnimation (DATA)], eax", "0x1005677b"]]}, {"orig": [], "recomp": [["0x10056781", "mov dword ptr [g_animationCalcStep (DATA)], 3"]]}, {"both": [["0x10055c4c", "jmp 0x45", "0x1005678b"], ["0x10055c4e", "lea eax, [ebx - 0x30]", "0x1005678d"], ["0x10055c51", "push 1", "0x10056790"], ["0x10055c53", "push 1", "0x10056792"]]}, {"orig": [], "recomp": [["0x10056794", "add dword ptr [g_nextAnimation (DATA)], eax"], ["0x1005679a", "mov dword ptr [g_animationCalcStep (DATA)], 0"], ["0x100567a4", "push 1"]]}, {"both": [["0x10055c55", "mov ecx, dword ptr [g_unk0x100f66bc (DATA)]", "0x100567a6"], ["0x10055c5b", "push 1", "0x100567ac"]]}, {"orig": [["0x10055c5d", "add dword ptr [g_nextAnimation (DATA)], eax"], ["0x10055c63", "push 1"]], "recomp": []}, {"both": [["0x10055c65", "mov edx, dword ptr [g_nextAnimation (DATA)]", "0x100567ae"]]}, {"orig": [["0x10055c6b", "mov dword ptr [g_animationCalcStep (DATA)], 0"]], "recomp": []}, {"both": [["0x10055c75", "push 0", "0x100567b4"], ["0x10055c77", "push ecx", "0x100567b6"], ["0x10055c78", "push 1", "0x100567b7"], ["0x10055c7a", "push 0", "0x100567b9"], ["0x10055c7c", "push edx", "0x100567bb"], ["0x10055c7d", "call AnimationManager (FUNCTION)", "0x100567bc"], ["0x10055c82", "mov ecx, eax", "0x100567c1"], ["0x10055c84", "call LegoAnimationManager::FUN_10060dc0 (FUNCTION)", "0x100567c3"], ["0x10055c89", "mov dword ptr [g_unk0x100f66bc (DATA)], 2", "0x100567c8"], ["0x10055c93", "cmp dword ptr [g_switchAct (DATA)], 0", "0x100567d2"]]}]], ["@@ -0x10056096,34 +0x10056bd5,34 @@", [{"both": [["0x10056096", "mov ecx, 0x10", "0x10056bd5"], ["0x1005609b", "fstp dword ptr [ebp - 0x58]", "0x10056bda"], ["0x1005609e", "fld qword ptr [0.26179999113082886 (FLOAT)]", "0x10056bdd"], ["0x100560a4", "fcos ", "0x10056be3"], ["0x100560a6", "fstp dword ptr [ebp - 0xe8]", "0x10056be5"], ["0x100560ac", "mov esi, dword ptr [ebp - 0x50]", "0x10056beb"], ["0x100560af", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10056bee"], ["0x100560b1", "xor esi, esi", "0x10056bf0"], ["0x100560b3", "jmp 0x4", "0x10056bf2"], ["0x100560b5", "fstp dword ptr [edx + esi - 8]", "0x10056bf4"]]}, {"orig": [["0x100560b9", "lea ecx, [ebp + esi - 0xd8]"], ["0x100560c0", "lea eax, [ebp + esi - 0xd4]"]], "recomp": [["0x10056bf8", "lea eax, [ebp + esi - 0xd8]"], ["0x10056bff", "lea ecx, [ebp + esi - 0xd4]"]]}, {"both": [["0x100560c7", "mov edx, dword ptr [ebp - 0x50]", "0x10056c06"], ["0x100560ca", "add esi, 0x10", "0x10056c09"]]}, {"orig": [], "recomp": [["0x10056c0c", "fld dword ptr [eax]"], ["0x10056c0e", "fmul dword ptr [ebp - 0xe8]"]]}, {"both": [["0x100560cd", "fld dword ptr [ecx]", "0x10056c14"]]}, {"orig": [["0x100560cf", "fmul dword ptr [ebp - 0xe8]"], ["0x100560d5", "fld dword ptr [eax]"]], "recomp": []}, {"both": [["0x100560d7", "fmul dword ptr [ebp - 0x58]", "0x10056c16"], ["0x100560da", "cmp esi, 0x40", "0x10056c19"], ["0x100560dd", "fsubp st(1)", "0x10056c1c"], ["0x100560df", "fstp dword ptr [edx + esi - 0xc]", "0x10056c1e"]]}, {"orig": [], "recomp": [["0x10056c22", "fld dword ptr [ecx]"], ["0x10056c24", "fmul dword ptr [ebp - 0xe8]"]]}, {"both": [["0x100560e3", "fld dword ptr [eax]", "0x10056c2a"]]}, {"orig": [["0x100560e5", "fmul dword ptr [ebp - 0xe8]"], ["0x100560eb", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100560ed", "fmul dword ptr [ebp - 0x58]", "0x10056c2c"], ["0x100560f0", "mov edx, dword ptr [ebp - 0x50]", "0x10056c2f"], ["0x100560f3", "faddp st(1)", "0x10056c32"], ["0x100560f5", "jl -0x42", "0x10056c34"], ["0x100560f7", "fstp dword ptr [edx + esi - 8]", "0x10056c36"], ["0x100560fb", "lea eax, [ebp - 0x54]", "0x10056c3a"], ["0x100560fe", "mov ecx, ebx", "0x10056c3d"], ["0x10056100", "push eax", "0x10056c3f"], ["0x10056101", "call OrientableROI::WrappedVTable0x24 (FUNCTION)", "0x10056c40"], ["0x10056106", "jmp 0x792", "0x10056c45"]]}]], ["@@ -0x10056153,34 +0x10056c92,34 @@", [{"both": [["0x10056153", "mov ecx, 0x10", "0x10056c92"], ["0x10056158", "fstp dword ptr [ebp - 0xe8]", "0x10056c97"], ["0x1005615e", "fld qword ptr [0.26179999113082886 (FLOAT)]", "0x10056c9d"], ["0x10056164", "fcos ", "0x10056ca3"], ["0x10056166", "fstp dword ptr [ebp - 0x58]", "0x10056ca5"], ["0x10056169", "mov esi, dword ptr [ebp - 0x50]", "0x10056ca8"], ["0x1005616c", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10056cab"], ["0x1005616e", "xor esi, esi", "0x10056cad"], ["0x10056170", "jmp 0x4", "0x10056caf"], ["0x10056172", "fstp dword ptr [edx + esi - 0xc]", "0x10056cb1"]]}, {"orig": [["0x10056176", "lea eax, [ebp + esi - 0xdc]"], ["0x1005617d", "lea ecx, [ebp + esi - 0xd8]"]], "recomp": [["0x10056cb5", "lea ecx, [ebp + esi - 0xdc]"], ["0x10056cbc", "lea eax, [ebp + esi - 0xd8]"]]}, {"both": [["0x10056184", "mov edx, dword ptr [ebp - 0x50]", "0x10056cc3"], ["0x10056187", "add esi, 0x10", "0x10056cc6"]]}, {"orig": [], "recomp": [["0x10056cc9", "fld dword ptr [ecx]"], ["0x10056ccb", "fmul dword ptr [ebp - 0x58]"]]}, {"both": [["0x1005618a", "fld dword ptr [eax]", "0x10056cce"]]}, {"orig": [["0x1005618c", "fmul dword ptr [ebp - 0x58]"], ["0x1005618f", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x10056191", "fmul dword ptr [ebp - 0xe8]", "0x10056cd0"], ["0x10056197", "cmp esi, 0x40", "0x10056cd6"], ["0x1005619a", "fsubp st(1)", "0x10056cd9"], ["0x1005619c", "fstp dword ptr [edx + esi - 0x10]", "0x10056cdb"]]}, {"orig": [], "recomp": [["0x10056cdf", "fld dword ptr [ecx]"], ["0x10056ce1", "fmul dword ptr [ebp - 0xe8]"]]}, {"both": [["0x100561a0", "fld dword ptr [eax]", "0x10056ce7"]]}, {"orig": [["0x100561a2", "fmul dword ptr [ebp - 0xe8]"], ["0x100561a8", "fld dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100561aa", "fmul dword ptr [ebp - 0x58]", "0x10056ce9"], ["0x100561ad", "mov edx, dword ptr [ebp - 0x50]", "0x10056cec"], ["0x100561b0", "faddp st(1)", "0x10056cef"], ["0x100561b2", "jl -0x42", "0x10056cf1"], ["0x100561b4", "fstp dword ptr [edx + esi - 0xc]", "0x10056cf3"], ["0x100561b8", "lea eax, [ebp - 0x54]", "0x10056cf7"], ["0x100561bb", "mov ecx, ebx", "0x10056cfa"], ["0x100561bd", "push eax", "0x10056cfc"], ["0x100561be", "call OrientableROI::WrappedVTable0x24 (FUNCTION)", "0x10056cfd"], ["0x100561c3", "jmp 0x6d5", "0x10056d02"]]}]], ["@@ -0x1005668f,28 +0x100571ce,28 @@", [{"both": [["0x1005668f", "mov dword ptr [ecx + 8], eax", "0x100571ce"], ["0x10056692", "lea ecx, [ebp - 0x20]", "0x100571d1"], ["0x10056695", "push ecx", "0x100571d4"], ["0x10056696", "mov eax, dword ptr [ebp - 0xb0]", "0x100571d5"], ["0x1005669c", "lea ecx, [ebp - 0xb0]", "0x100571db"], ["0x100566a2", "call dword ptr [eax + 0x54]", "0x100571e1"], ["0x100566a5", "mov ecx, dword ptr [ebp - 0xac]", "0x100571e4"], ["0x100566ab", "mov eax, dword ptr [ebp - 0xac]", "0x100571ea"], ["0x100566b1", "add ecx, 4", "0x100571f0"], ["0x100566b4", "add eax, 8", "0x100571f3"]]}, {"orig": [["0x100566b7", "mov edx, dword ptr [ebp - 0xac]"], ["0x100566bd", "fld dword ptr [edx]"], ["0x100566bf", "fmul dword ptr [edx]"]], "recomp": []}, {"both": [["0x100566c1", "fld dword ptr [ecx]", "0x100571f6"], ["0x100566c3", "fmul dword ptr [ecx]", "0x100571f8"]]}, {"orig": [["0x100566c5", "faddp st(1)"]], "recomp": []}, {"both": [["0x100566c7", "fld dword ptr [eax]", "0x100571fa"], ["0x100566c9", "fmul dword ptr [eax]", "0x100571fc"]]}, {"orig": [], "recomp": [["0x100571fe", "mov ecx, dword ptr [ebp - 0xac]"], ["0x10057204", "faddp st(1)"], ["0x10057206", "fld dword ptr [ecx]"], ["0x10057208", "fmul dword ptr [ecx]"]]}, {"both": [["0x100566cb", "faddp st(1)", "0x1005720a"], ["0x100566cd", "fcomp qword ptr [2000.0 (FLOAT)]", "0x1005720c"], ["0x100566d3", "fnstsw ax", "0x10057212"], ["0x100566d5", "test ah, 1", "0x10057214"], ["0x100566d8", "jne 0x9", "0x10057217"], ["0x100566da", "cmp dword ptr [ebx + 0xe0], 0", "0x10057219"], ["0x100566e1", "jle 0x7", "0x10057220"], ["0x100566e3", "mov eax, dword ptr [edi]", "0x10057222"], ["0x100566e5", "mov ecx, edi", "0x10057224"], ["0x100566e7", "call dword ptr [eax + 0x38]", "0x10057226"]]}]], ["@@ -,21 +,21 @@", [{"both": [["0x10056898", "call LegoGameState::Save (FUNCTION)", "0x100573d7"], ["0x1005689d", "xor eax, eax", "0x100573dc"], ["0x1005689f", "mov ecx, dword ptr [ebp - 0xc]", "0x100573de"], ["0x100568a2", "mov dword ptr fs:[0], ecx", "0x100573e1"], ["0x100568a9", "pop edi", "0x100573e8"], ["0x100568aa", "pop esi", "0x100573e9"], ["0x100568ab", "pop ebx", "0x100573ea"], ["0x100568ac", "mov esp, ebp", "0x100573eb"], ["0x100568ae", "pop ebp", "0x100573ed"], ["0x100568af", "ret 4", "0x100573ee"]]}, {"orig": [["0x100568b2", "mov edi, edi"]], "recomp": [["0x100573f1", "lea ecx, [ecx]"]]}, {"both": [["", "Jump table:", ""], ["0x100568b4", "Jump_dest_0", "0x100573f4"], ["0x100568b8", "Jump_dest_1", "0x100573f8"], ["0x100568bc", "Jump_dest_2", "0x100573fc"], ["0x100568c0", "Jump_dest_3", "0x10057400"], ["0x100568c4", "Jump_dest_4", "0x10057404"], ["0x100568c8", "Jump_dest_5", "0x10057408"], ["0x100568cc", "Jump_dest_6", "0x1005740c"], ["0x100568d0", "Jump_dest_7", "0x10057410"], ["", "Data table:", ""]]}]]]}, {"address": "0x10056a70", "recomp": "0x100575b0", "name": "LegoPathBoundary::LegoPathBoundary", "matching": 1.0, "diff": []}, {"address": "0x10056c20", "recomp": "0x10057760", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::~_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoA", "matching": 1.0, "diff": []}, {"address": "0x10056cf0", "recomp": "0x10057830", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::iterator::_Inc", "matching": 1.0, "diff": []}, {"address": "0x10056d30", "recomp": "0x10057870", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::erase", "matching": 0.6430517711171662, "diff": [["@@ -0x10056d30,41 +0x10057870,39 @@", [{"both": [["0x10056d30", "mov eax, dword ptr [esp + 8]", "0x10057870"], ["0x10056d34", "sub esp, 4", "0x10057874"], ["0x10056d37", "mov dword ptr [esp], eax", "0x10057877"], ["0x10056d3b", "push ebx", "0x1005787b"], ["0x10056d3c", "push esi", "0x1005787c"], ["0x10056d3d", "push edi", "0x1005787d"], ["0x10056d3e", "push ebp", "0x1005787e"], ["0x10056d3f", "mov esi, ecx", "0x1005787f"], ["0x10056d41", "mov ecx, dword ptr [eax + 8]", "0x10057881"], ["0x10056d44", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ecx", "0x10057884"]]}, {"orig": [["0x10056d4a", "je 0x14"]], "recomp": [["0x1005788a", "je 0xe"]]}, {"both": [["0x10056d4c", "mov eax, dword ptr [ecx]", "0x1005788c"], ["0x10056d4e", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x1005788e"]]}, {"orig": [["0x10056d54", "je 0x4"]], "recomp": [["0x10057894", "je 0x29"]]}, {"both": [["0x10056d56", "mov ecx, eax", "0x10057896"], ["0x10056d58", "jmp -0xe", "0x10057898"]]}, {"orig": [], "recomp": [["0x1005789a", "mov eax, dword ptr [esp + 0x1c]"], ["0x1005789e", "mov ecx, dword ptr [eax + 4]"], ["0x100578a1", "cmp dword ptr [ecx + 8], eax"], ["0x100578a4", "jne 0x10"]]}, {"both": [["0x10056d5a", "mov dword ptr [esp + 0x1c], ecx", "0x100578a6"]]}, {"orig": [["0x10056d5e", "jmp 0x29"], ["0x10056d60", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10056d64", "mov eax, dword ptr [ecx + 4]"]], "recomp": [["0x100578aa", "mov ecx, dword ptr [ecx + 4]"], ["0x100578ad", "mov eax, dword ptr [esp + 0x1c]"], ["0x100578b1", "cmp dword ptr [ecx + 8], eax"], ["0x100578b4", "je -0x10"], ["0x100578b6", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x10056d67", "cmp dword ptr [eax + 8], ecx", "0x100578ba"]]}, {"orig": [["0x10056d6a", "jne 0x10"], ["0x10056d6c", "mov dword ptr [esp + 0x1c], eax"], ["0x10056d70", "mov eax, dword ptr [eax + 4]"], ["0x10056d73", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10056d77", "cmp dword ptr [eax + 8], ecx"], ["0x10056d7a", "je -0x10"], ["0x10056d7c", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10056d80", "cmp dword ptr [ecx + 8], eax"]], "recomp": []}, {"both": [["0x10056d83", "je 0x4", "0x100578bd"]]}, {"orig": [["0x10056d85", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x100578bf", "mov dword ptr [esp + 0x1c], ecx"]]}, {"both": [["0x10056d89", "mov ecx, dword ptr [esp + 0x10]", "0x100578c3"], ["0x10056d8d", "mov ebx, dword ptr [ecx]", "0x100578c7"], ["0x10056d8f", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ebx", "0x100578c9"], ["0x10056d95", "je 0x26", "0x100578cf"], ["0x10056d97", "lea edi, [ecx + 8]", "0x100578d1"], ["0x10056d9a", "mov edx, dword ptr [edi]", "0x100578d4"], ["0x10056d9c", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], edx", "0x100578d6"], ["0x10056da2", "je 0x15", "0x100578dc"], ["0x10056da4", "mov eax, dword ptr [edx]", "0x100578de"], ["0x10056da6", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x100578e0"]]}]], ["@@ -0x10056dec,51 +0x10057926,51 @@", [{"both": [["0x10056dec", "mov dword ptr [eax + 8], edx", "0x10057926"], ["0x10056def", "jmp 0x2", "0x10057929"], ["0x10056df1", "mov dword ptr [eax], edx", "0x1005792b"], ["0x10056df3", "mov ebx, dword ptr [esi + 4]", "0x1005792d"], ["0x10056df6", "mov eax, dword ptr [esp + 0x10]", "0x10057930"], ["0x10056dfa", "cmp dword ptr [ebx], eax", "0x10057934"], ["0x10056dfc", "jne 0x26", "0x10057936"], ["0x10056dfe", "mov eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]", "0x10057938"], ["0x10056e03", "cmp dword ptr [edi], eax", "0x1005793d"], ["0x10056e05", "je 0x14", "0x1005793f"]]}, {"orig": [["0x10056e07", "mov edi, edx"], ["0x10056e09", "mov eax, dword ptr [edi]"], ["0x10056e0b", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x10057941", "mov eax, edx"], ["0x10057943", "mov edi, dword ptr [eax]"], ["0x10057945", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10056e11", "je 0x4", "0x1005794b"]]}, {"orig": [["0x10056e13", "mov edi, eax"]], "recomp": [["0x1005794d", "mov eax, edi"]]}, {"both": [["0x10056e15", "jmp -0xe", "0x1005794f"]]}, {"orig": [["0x10056e17", "mov dword ptr [ebx], edi"]], "recomp": [["0x10057951", "mov dword ptr [ebx], eax"]]}, {"both": [["0x10056e19", "jmp 0x9", "0x10057953"], ["0x10056e1b", "mov eax, dword ptr [esp + 0x10]", "0x10057955"], ["0x10056e1f", "mov ebp, dword ptr [eax + 4]", "0x10057959"], ["0x10056e22", "mov dword ptr [ebx], ebp", "0x1005795c"], ["0x10056e24", "mov edi, dword ptr [esi + 4]", "0x1005795e"], ["0x10056e27", "mov eax, dword ptr [esp + 0x10]", "0x10057961"], ["0x10056e2b", "add edi, 8", "0x10057965"], ["0x10056e2e", "cmp dword ptr [edi], eax", "0x10057968"]]}, {"orig": [["0x10056e30", "jne 0x88"]], "recomp": [["0x1005796a", "jne 0x8a"]]}, {"both": [["0x10056e36", "mov ebx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]", "0x10057970"], ["0x10056e3c", "cmp dword ptr [eax], ebx", "0x10057976"], ["0x10056e3e", "je 0x15", "0x10057978"]]}, {"orig": [["0x10056e40", "mov eax, edx"], ["0x10056e42", "mov ebx, dword ptr [eax + 8]"], ["0x10056e45", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1005797a", "mov ebx, edx"], ["0x1005797c", "mov eax, dword ptr [ebx + 8]"], ["0x1005797f", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10056e4b", "je 0x4", "0x10057985"]]}, {"orig": [["0x10056e4d", "mov eax, ebx"]], "recomp": [["0x10057987", "mov ebx, eax"]]}, {"both": [["0x10056e4f", "jmp -0xf", "0x10057989"]]}, {"orig": [["0x10056e51", "mov dword ptr [edi], eax"], ["0x10056e53", "jmp 0x69"]], "recomp": [["0x1005798b", "mov dword ptr [edi], ebx"], ["0x1005798d", "jmp 0x6b"]]}, {"both": [["0x10056e55", "mov eax, dword ptr [esp + 0x10]", "0x1005798f"], ["0x10056e59", "mov ebx, dword ptr [eax + 4]", "0x10057993"], ["0x10056e5c", "mov dword ptr [edi], ebx", "0x10057996"]]}, {"orig": [["0x10056e5e", "jmp 0x5e"]], "recomp": [["0x10057998", "jmp 0x60"]]}, {"both": [["0x10056e60", "mov eax, dword ptr [esp + 0x10]", "0x1005799a"], ["0x10056e64", "mov dword ptr [ebx + 4], ecx", "0x1005799e"], ["0x10056e67", "mov ebx, dword ptr [eax]", "0x100579a1"], ["0x10056e69", "mov dword ptr [ecx], ebx", "0x100579a3"], ["0x10056e6b", "cmp dword ptr [edi], ecx", "0x100579a5"], ["0x10056e6d", "jne 0x5", "0x100579a7"], ["0x10056e6f", "mov dword ptr [edx + 4], ecx", "0x100579a9"], ["0x10056e72", "jmp 0x15", "0x100579ac"], ["0x10056e74", "mov eax, dword ptr [ecx + 4]", "0x100579ae"], ["0x10056e77", "mov dword ptr [edx + 4], eax", "0x100579b1"]]}]], ["@@ -0x10056e93,180 +0x100579cd,180 @@", [{"both": [["0x10056e93", "cmp dword ptr [eax], edi", "0x100579cd"], ["0x10056e95", "je 0xc", "0x100579cf"], ["0x10056e97", "mov eax, dword ptr [edi + 4]", "0x100579d1"], ["0x10056e9a", "cmp dword ptr [eax], edi", "0x100579d4"], ["0x10056e9c", "je 0x5", "0x100579d6"], ["0x10056e9e", "mov dword ptr [eax + 8], ecx", "0x100579d8"], ["0x10056ea1", "jmp 0x2", "0x100579db"], ["0x10056ea3", "mov dword ptr [eax], ecx", "0x100579dd"], ["0x10056ea5", "mov eax, dword ptr [esp + 0x10]", "0x100579df"], ["0x10056ea9", "mov ebx, dword ptr [eax + 4]", "0x100579e3"]]}, {"orig": [["0x10056eac", "lea edi, [eax + 0x10]"]], "recomp": [["0x100579e6", "add eax, 0x10"]]}, {"both": [["0x10056eaf", "mov dword ptr [ecx + 4], ebx", "0x100579e9"]]}, {"orig": [["0x10056eb2", "mov ebx, dword ptr [edi]"], ["0x10056eb4", "mov ebp, dword ptr [ecx + 0x10]"]], "recomp": [["0x100579ec", "mov edi, dword ptr [ecx + 0x10]"], ["0x100579ef", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x10056eb7", "mov dword ptr [ecx + 0x10], ebx", "0x100579f1"]]}, {"orig": [["0x10056eba", "mov ecx, eax"], ["0x10056ebc", "mov dword ptr [edi], ebp"]], "recomp": [["0x100579f4", "mov ecx, dword ptr [esp + 0x10]"], ["0x100579f8", "mov dword ptr [eax], edi"]]}, {"both": [["0x10056ebe", "cmp dword ptr [ecx + 0x10], 1", "0x100579fa"]]}, {"orig": [["0x10056ec2", "jne 0x296"]], "recomp": [["0x100579fe", "jne 0x294"]]}, {"both": [["0x10056ec8", "mov eax, dword ptr [esi + 4]", "0x10057a04"], ["0x10056ecb", "cmp dword ptr [eax + 4], edx", "0x10057a07"]]}, {"orig": [["0x10056ece", "je 0x283"]], "recomp": [["0x10057a0a", "je 0x281"]]}, {"both": [["0x10056ed4", "cmp dword ptr [edx + 0x10], 1", "0x10057a10"]]}, {"orig": [["0x10056ed8", "jne 0x279"]], "recomp": [["0x10057a14", "jne 0x277"]]}, {"both": [["0x10056ede", "lea ebx, [edx + 4]", "0x10057a1a"], ["0x10056ee1", "mov eax, dword ptr [ebx]", "0x10057a1d"], ["0x10056ee3", "mov edi, dword ptr [eax]", "0x10057a1f"], ["0x10056ee5", "cmp edx, edi", "0x10057a21"]]}, {"orig": [["0x10056ee7", "jne 0x76"]], "recomp": [["0x10057a23", "jne 0x73"]]}, {"both": [["0x10056ee9", "mov edi, dword ptr [eax + 8]", "0x10057a25"]]}, {"orig": [], "recomp": [["0x10057a28", "cmp dword ptr [edi + 0x10], 0"], ["0x10057a2c", "jne 0x4f"], ["0x10057a2e", "mov dword ptr [edi + 0x10], 1"], ["0x10057a35", "mov eax, dword ptr [ebx]"], ["0x10057a37", "mov dword ptr [eax + 0x10], 0"], ["0x10057a3e", "mov ebp, dword ptr [ebx]"], ["0x10057a40", "mov edi, dword ptr [ebp + 8]"], ["0x10057a43", "mov eax, dword ptr [edi]"], ["0x10057a45", "mov dword ptr [ebp + 8], eax"], ["0x10057a48", "mov eax, dword ptr [edi]"], ["0x10057a4a", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"], ["0x10057a50", "je 0x3"], ["0x10057a52", "mov dword ptr [eax + 4], ebp"], ["0x10057a55", "mov eax, dword ptr [ebp + 4]"], ["0x10057a58", "mov dword ptr [edi + 4], eax"], ["0x10057a5b", "mov eax, dword ptr [esi + 4]"], ["0x10057a5e", "add eax, 4"], ["0x10057a61", "cmp dword ptr [eax], ebp"], ["0x10057a63", "je 0xc"], ["0x10057a65", "mov eax, dword ptr [ebp + 4]"], ["0x10057a68", "cmp dword ptr [eax], ebp"], ["0x10057a6a", "je 0x5"], ["0x10057a6c", "mov dword ptr [eax + 8], edi"], ["0x10057a6f", "jmp 0x2"], ["0x10057a71", "mov dword ptr [eax], edi"], ["0x10057a73", "mov dword ptr [edi], ebp"], ["0x10057a75", "mov dword ptr [ebp + 4], edi"], ["0x10057a78", "mov eax, dword ptr [ebx]"], ["0x10057a7a", "mov edi, dword ptr [eax + 8]"], ["0x10057a7d", "mov eax, dword ptr [edi]"], ["0x10057a7f", "cmp dword ptr [eax + 0x10], 1"], ["0x10057a83", "jne 0x9a"], ["0x10057a89", "mov eax, dword ptr [edi + 8]"], ["0x10057a8c", "cmp dword ptr [eax + 0x10], 1"], ["0x10057a90", "jne 0x8d"], ["0x10057a96", "jmp 0x71"]]}, {"both": [["0x10056eec", "cmp dword ptr [edi + 0x10], 0", "0x10057a98"], ["0x10056ef0", "jne 0x52", "0x10057a9c"], ["0x10056ef2", "mov dword ptr [edi + 0x10], 1", "0x10057a9e"], ["0x10056ef9", "mov eax, dword ptr [ebx]", "0x10057aa5"], ["0x10056efb", "mov dword ptr [eax + 0x10], 0", "0x10057aa7"]]}, {"orig": [["0x10056f02", "mov edi, dword ptr [ebx]"], ["0x10056f04", "mov ebp, dword ptr [edi + 8]"], ["0x10056f07", "mov eax, dword ptr [ebp]"], ["0x10056f0a", "mov dword ptr [edi + 8], eax"], ["0x10056f0d", "mov eax, dword ptr [ebp]"]], "recomp": [["0x10057aae", "mov ebp, dword ptr [ebx]"], ["0x10057ab0", "mov edi, dword ptr [ebp]"], ["0x10057ab3", "mov eax, dword ptr [edi + 8]"], ["0x10057ab6", "mov dword ptr [ebp], eax"], ["0x10057ab9", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x10056f10", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x10057abc"], ["0x10056f16", "je 0x3", "0x10057ac2"]]}, {"orig": [["0x10056f18", "mov dword ptr [eax + 4], edi"], ["0x10056f1b", "mov eax, dword ptr [edi + 4]"], ["0x10056f1e", "mov dword ptr [ebp + 4], eax"]], "recomp": [["0x10057ac4", "mov dword ptr [eax + 4], ebp"], ["0x10057ac7", "mov eax, dword ptr [ebp + 4]"], ["0x10057aca", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x10056f21", "mov eax, dword ptr [esi + 4]", "0x10057acd"], ["0x10056f24", "add eax, 4", "0x10057ad0"]]}, {"orig": [["0x10056f27", "cmp dword ptr [eax], edi"], ["0x10056f29", "je 0xc"], ["0x10056f2b", "mov eax, dword ptr [edi + 4]"], ["0x10056f2e", "cmp dword ptr [eax], edi"], ["0x10056f30", "je 0x5"], ["0x10056f32", "mov dword ptr [eax + 8], ebp"], ["0x10056f35", "jmp 0x2"], ["0x10056f37", "mov dword ptr [eax], ebp"], ["0x10056f39", "mov dword ptr [ebp], edi"], ["0x10056f3c", "mov dword ptr [edi + 4], ebp"], ["0x10056f3f", "mov eax, dword ptr [ebx]"], ["0x10056f41", "mov edi, dword ptr [eax + 8]"], ["0x10056f44", "mov eax, dword ptr [edi]"], ["0x10056f46", "cmp dword ptr [eax + 0x10], 1"], ["0x10056f4a", "jne 0x98"], ["0x10056f50", "mov eax, dword ptr [edi + 8]"], ["0x10056f53", "cmp dword ptr [eax + 0x10], 1"], ["0x10056f57", "jne 0x8b"], ["0x10056f5d", "jmp 0x6f"], ["0x10056f5f", "cmp dword ptr [edi + 0x10], 0"], ["0x10056f63", "jne 0x50"], ["0x10056f65", "mov dword ptr [edi + 0x10], 1"], ["0x10056f6c", "mov eax, dword ptr [ebx]"], ["0x10056f6e", "mov dword ptr [eax + 0x10], 0"], ["0x10056f75", "mov edi, dword ptr [ebx]"], ["0x10056f77", "mov ebp, dword ptr [edi]"], ["0x10056f79", "mov eax, dword ptr [ebp + 8]"], ["0x10056f7c", "mov dword ptr [edi], eax"], ["0x10056f7e", "mov eax, dword ptr [ebp + 8]"], ["0x10056f81", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x10057ad3", "cmp dword ptr [eax], ebp"], ["0x10057ad5", "je 0xd"], ["0x10057ad7", "mov eax, dword ptr [ebp + 4]"], ["0x10057ada", "add eax, 8"], ["0x10057add", "cmp dword ptr [eax], ebp"]]}, {"both": [["0x10056f87", "je 0x3", "0x10057adf"]]}, {"orig": [["0x10056f89", "mov dword ptr [eax + 4], edi"], ["0x10056f8c", "mov eax, dword ptr [edi + 4]"], ["0x10056f8f", "mov dword ptr [ebp + 4], eax"], ["0x10056f92", "mov eax, dword ptr [esi + 4]"], ["0x10056f95", "add eax, 4"], ["0x10056f98", "cmp dword ptr [eax], edi"], ["0x10056f9a", "je 0xd"], ["0x10056f9c", "mov eax, dword ptr [edi + 4]"], ["0x10056f9f", "add eax, 8"], ["0x10056fa2", "cmp dword ptr [eax], edi"], ["0x10056fa4", "je 0x3"], ["0x10056fa6", "mov eax, dword ptr [edi + 4]"], ["0x10056fa9", "mov dword ptr [eax], ebp"], ["0x10056fab", "mov dword ptr [ebp + 8], edi"], ["0x10056fae", "mov dword ptr [edi + 4], ebp"]], "recomp": [["0x10057ae1", "mov eax, dword ptr [ebp + 4]"], ["0x10057ae4", "mov dword ptr [eax], edi"], ["0x10057ae6", "mov dword ptr [edi + 8], ebp"], ["0x10057ae9", "mov dword ptr [ebp + 4], edi"]]}, {"both": [["0x10056fb1", "mov eax, dword ptr [ebx]", "0x10057aec"], ["0x10056fb3", "mov edi, dword ptr [eax]", "0x10057aee"], ["0x10056fb5", "mov eax, dword ptr [edi + 8]", "0x10057af0"], ["0x10056fb8", "cmp dword ptr [eax + 0x10], 1", "0x10057af3"]]}, {"orig": [["0x10056fbc", "jne 0xe7"]], "recomp": [["0x10057af7", "jne 0xe6"]]}, {"both": [["0x10056fc2", "mov eax, dword ptr [edi]", "0x10057afd"], ["0x10056fc4", "cmp dword ptr [eax + 0x10], 1", "0x10057aff"]]}, {"orig": [["0x10056fc8", "jne 0xdb"]], "recomp": [["0x10057b03", "jne 0xda"]]}, {"both": [["0x10056fce", "mov dword ptr [edi + 0x10], 0", "0x10057b09"], ["0x10056fd5", "mov edx, dword ptr [ebx]", "0x10057b10"], ["0x10056fd7", "mov eax, dword ptr [esi + 4]", "0x10057b12"], ["0x10056fda", "cmp dword ptr [eax + 4], edx", "0x10057b15"]]}, {"orig": [["0x10056fdd", "jne -0x10f"], ["0x10056fe3", "jmp 0x16f"]], "recomp": [["0x10057b18", "jne -0x10e"], ["0x10057b1e", "jmp 0x16e"]]}, {"both": [["0x10056fe8", "mov eax, dword ptr [edi + 8]", "0x10057b23"], ["0x10056feb", "cmp dword ptr [eax + 0x10], 1", "0x10057b26"]]}, {"orig": [["0x10056fef", "jne 0x53"]], "recomp": [["0x10057b2a", "jne 0x52"]]}, {"both": [["0x10056ff1", "mov eax, dword ptr [edi]", "0x10057b2c"], ["0x10056ff3", "mov dword ptr [eax + 0x10], 1", "0x10057b2e"], ["0x10056ffa", "mov dword ptr [edi + 0x10], 0", "0x10057b35"], ["0x10057001", "mov ebx, dword ptr [edi]", "0x10057b3c"], ["0x10057003", "mov ebp, dword ptr [ebx + 8]", "0x10057b3e"], ["0x10057006", "mov dword ptr [edi], ebp", "0x10057b41"], ["0x10057008", "mov eax, dword ptr [ebx + 8]", "0x10057b43"], ["0x1005700b", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x10057b46"], ["0x10057011", "je 0x3", "0x10057b4c"], ["0x10057013", "mov dword ptr [eax + 4], edi", "0x10057b4e"], ["0x10057016", "mov eax, dword ptr [edi + 4]", "0x10057b51"], ["0x10057019", "mov dword ptr [ebx + 4], eax", "0x10057b54"], ["0x1005701c", "mov eax, dword ptr [esi + 4]", "0x10057b57"], ["0x1005701f", "add eax, 4", "0x10057b5a"], ["0x10057022", "cmp dword ptr [eax], edi", "0x10057b5d"]]}, {"orig": [["0x10057024", "je 0x10"], ["0x10057026", "mov eax, dword ptr [edi + 4]"], ["0x10057029", "lea ebp, [eax + 8]"], ["0x1005702c", "cmp dword ptr [ebp], edi"], ["0x1005702f", "jne 0x5"]], "recomp": [["0x10057b5f", "je 0xf"], ["0x10057b61", "mov ebp, dword ptr [edi + 4]"], ["0x10057b64", "lea eax, [ebp + 8]"], ["0x10057b67", "cmp dword ptr [eax], edi"], ["0x10057b69", "je 0x5"]]}, {"both": [["0x10057031", "mov dword ptr [ebp], ebx", "0x10057b6b"], ["0x10057034", "jmp 0x2", "0x10057b6e"], ["0x10057036", "mov dword ptr [eax], ebx", "0x10057b70"], ["0x10057038", "mov dword ptr [ebx + 8], edi", "0x10057b72"], ["0x1005703b", "mov dword ptr [edi + 4], ebx", "0x10057b75"], ["0x1005703e", "mov eax, dword ptr [edx + 4]", "0x10057b78"], ["0x10057041", "mov edi, dword ptr [eax + 8]", "0x10057b7b"], ["0x10057044", "mov eax, dword ptr [edx + 4]", "0x10057b7e"], ["0x10057047", "mov ebx, dword ptr [eax + 0x10]", "0x10057b81"], ["0x1005704a", "mov dword ptr [edi + 0x10], ebx", "0x10057b84"], ["0x1005704d", "mov ebx, 1", "0x10057b87"], ["0x10057052", "mov eax, dword ptr [edx + 4]", "0x10057b8c"], ["0x10057055", "mov dword ptr [eax + 0x10], ebx", "0x10057b8f"], ["0x10057058", "mov ebp, dword ptr [edi + 8]", "0x10057b92"], ["0x1005705b", "mov dword ptr [ebp + 0x10], ebx", "0x10057b95"]]}, {"orig": [["0x1005705e", "mov ebx, dword ptr [edx + 4]"], ["0x10057061", "mov edi, dword ptr [ebx + 8]"], ["0x10057064", "mov eax, dword ptr [edi]"], ["0x10057066", "mov dword ptr [ebx + 8], eax"], ["0x10057069", "mov eax, dword ptr [edi]"]], "recomp": [["0x10057b98", "mov edi, dword ptr [edx + 4]"], ["0x10057b9b", "mov ebx, dword ptr [edi + 8]"], ["0x10057b9e", "mov eax, dword ptr [ebx]"], ["0x10057ba0", "mov dword ptr [edi + 8], eax"], ["0x10057ba3", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x1005706b", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x10057ba5"], ["0x10057071", "je 0x3", "0x10057bab"]]}, {"orig": [["0x10057073", "mov dword ptr [eax + 4], ebx"], ["0x10057076", "mov eax, dword ptr [ebx + 4]"], ["0x10057079", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x10057bad", "mov dword ptr [eax + 4], edi"], ["0x10057bb0", "mov eax, dword ptr [edi + 4]"], ["0x10057bb3", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x1005707c", "mov eax, dword ptr [esi + 4]", "0x10057bb6"], ["0x1005707f", "add eax, 4", "0x10057bb9"]]}, {"orig": [["0x10057082", "cmp dword ptr [eax], ebx"]], "recomp": [["0x10057bbc", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10057084", "je 0x1a", "0x10057bbe"]]}, {"orig": [["0x10057086", "mov eax, dword ptr [ebx + 4]"], ["0x10057089", "cmp dword ptr [eax], ebx"]], "recomp": [["0x10057bc0", "mov eax, dword ptr [edi + 4]"], ["0x10057bc3", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1005708b", "je 0xa", "0x10057bc5"]]}, {"orig": [["0x1005708d", "mov dword ptr [eax + 8], edi"], ["0x10057090", "mov dword ptr [edi], ebx"]], "recomp": [["0x10057bc7", "mov dword ptr [eax + 8], ebx"], ["0x10057bca", "mov dword ptr [ebx], edi"]]}, {"both": [["0x10057092", "jmp 0xbd", "0x10057bcc"]]}, {"orig": [["0x10057097", "mov dword ptr [eax], edi"], ["0x10057099", "mov dword ptr [edi], ebx"]], "recomp": [["0x10057bd1", "mov dword ptr [eax], ebx"], ["0x10057bd3", "mov dword ptr [ebx], edi"]]}, {"both": [["0x1005709b", "jmp 0xb4", "0x10057bd5"]]}, {"orig": [["0x100570a0", "mov dword ptr [eax], edi"], ["0x100570a2", "mov dword ptr [edi], ebx"]], "recomp": [["0x10057bda", "mov dword ptr [eax], ebx"], ["0x10057bdc", "mov dword ptr [ebx], edi"]]}, {"both": [["0x100570a4", "jmp 0xab", "0x10057bde"], ["0x100570a9", "mov eax, dword ptr [edi]", "0x10057be3"], ["0x100570ab", "cmp dword ptr [eax + 0x10], 1", "0x10057be5"], ["0x100570af", "jne 0x4e", "0x10057be9"], ["0x100570b1", "mov eax, dword ptr [edi + 8]", "0x10057beb"], ["0x100570b4", "mov dword ptr [eax + 0x10], 1", "0x10057bee"], ["0x100570bb", "mov dword ptr [edi + 0x10], 0", "0x10057bf5"], ["0x100570c2", "mov ebx, dword ptr [edi + 8]", "0x10057bfc"], ["0x100570c5", "mov ebp, dword ptr [ebx]", "0x10057bff"], ["0x100570c7", "mov dword ptr [edi + 8], ebp", "0x10057c01"]]}]], ["@@ -0x100570fa,45 +0x10057c34,47 @@", [{"both": [["0x100570fa", "mov eax, dword ptr [edx + 4]", "0x10057c34"], ["0x100570fd", "mov edi, dword ptr [eax]", "0x10057c37"], ["0x100570ff", "mov eax, dword ptr [edx + 4]", "0x10057c39"], ["0x10057102", "mov ebx, dword ptr [eax + 0x10]", "0x10057c3c"], ["0x10057105", "mov dword ptr [edi + 0x10], ebx", "0x10057c3f"], ["0x10057108", "mov ebx, 1", "0x10057c42"], ["0x1005710d", "mov eax, dword ptr [edx + 4]", "0x10057c47"], ["0x10057110", "mov dword ptr [eax + 0x10], ebx", "0x10057c4a"], ["0x10057113", "mov ebp, dword ptr [edi]", "0x10057c4d"], ["0x10057115", "mov dword ptr [ebp + 0x10], ebx", "0x10057c4f"]]}, {"orig": [["0x10057118", "mov ebx, dword ptr [edx + 4]"], ["0x1005711b", "mov edi, dword ptr [ebx]"], ["0x1005711d", "mov eax, dword ptr [edi + 8]"], ["0x10057120", "mov dword ptr [ebx], eax"], ["0x10057122", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x10057c52", "mov edi, dword ptr [edx + 4]"], ["0x10057c55", "mov ebx, dword ptr [edi]"], ["0x10057c57", "mov eax, dword ptr [ebx + 8]"], ["0x10057c5a", "mov dword ptr [edi], eax"], ["0x10057c5c", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x10057125", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x10057c5f"], ["0x1005712b", "je 0x3", "0x10057c65"]]}, {"orig": [["0x1005712d", "mov dword ptr [eax + 4], ebx"], ["0x10057130", "mov eax, dword ptr [ebx + 4]"], ["0x10057133", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x10057c67", "mov dword ptr [eax + 4], edi"], ["0x10057c6a", "mov eax, dword ptr [edi + 4]"], ["0x10057c6d", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x10057136", "mov eax, dword ptr [esi + 4]", "0x10057c70"], ["0x10057139", "add eax, 4", "0x10057c73"]]}, {"orig": [["0x1005713c", "cmp dword ptr [eax], ebx"]], "recomp": [["0x10057c76", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1005713e", "je 0xf", "0x10057c78"]]}, {"orig": [["0x10057140", "mov ebp, dword ptr [ebx + 4]"]], "recomp": [["0x10057c7a", "mov ebp, dword ptr [edi + 4]"]]}, {"both": [["0x10057143", "lea eax, [ebp + 8]", "0x10057c7d"]]}, {"orig": [["0x10057146", "cmp dword ptr [eax], ebx"]], "recomp": [["0x10057c80", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10057148", "je 0x5", "0x10057c82"]]}, {"orig": [["0x1005714a", "mov dword ptr [ebp], edi"]], "recomp": [["0x10057c84", "mov dword ptr [ebp], ebx"]]}, {"both": [["0x1005714d", "jmp 0x2", "0x10057c87"]]}, {"orig": [["0x1005714f", "mov dword ptr [eax], edi"], ["0x10057151", "mov dword ptr [edi + 8], ebx"], ["0x10057154", "mov dword ptr [ebx + 4], edi"]], "recomp": [["0x10057c89", "mov dword ptr [eax], ebx"], ["0x10057c8b", "mov dword ptr [ebx + 8], edi"], ["0x10057c8e", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x10057157", "mov dword ptr [edx + 0x10], 1", "0x10057c91"], ["0x1005715e", "push ecx", "0x10057c98"], ["0x1005715f", "call ??3@YAXPAX@Z (FUNCTION)", "0x10057c99"], ["0x10057164", "mov ecx, dword ptr [esp + 0x20]", "0x10057c9e"], ["0x10057168", "mov eax, dword ptr [esp + 0x1c]", "0x10057ca2"], ["0x1005716c", "add esp, 4", "0x10057ca6"], ["0x1005716f", "dec dword ptr [esi + 0xc]", "0x10057ca9"], ["0x10057172", "mov dword ptr [eax], ecx", "0x10057cac"], ["0x10057174", "pop ebp", "0x10057cae"], ["0x10057175", "pop edi", "0x10057caf"], ["0x10057176", "pop esi", "0x10057cb0"], ["0x10057177", "pop ebx", "0x10057cb1"]]}, {"orig": [], "recomp": [["0x10057cb2", "add esp, 4"], ["0x10057cb5", "ret 8"]]}]]]}, {"address": "0x10057180", "recomp": "0x10057cc0", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Erase", "matching": 0.6521739130434783, "diff": [["@@ -0x10057180,23 +0x10057cc0,23 @@", [{"both": [["0x10057180", "push ebx", "0x10057cc0"], ["0x10057181", "push esi", "0x10057cc1"], ["0x10057182", "push edi", "0x10057cc2"], ["0x10057183", "mov esi, ecx", "0x10057cc3"]]}, {"orig": [["0x10057185", "mov edi, dword ptr [esp + 0x10]"], ["0x10057189", "mov ebx, edi"], ["0x1005718b", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], edi"]], "recomp": [["0x10057cc5", "mov ebx, dword ptr [esp + 0x10]"], ["0x10057cc9", "mov edi, ebx"], ["0x10057ccb", "cmp ebx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x10057191", "je 0x20", "0x10057cd1"]]}, {"orig": [["0x10057193", "mov eax, dword ptr [ebx + 8]"]], "recomp": [["0x10057cd3", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x10057196", "mov ecx, esi", "0x10057cd6"], ["0x10057198", "push eax", "0x10057cd8"], ["0x10057199", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Erase (FUNCTION)", "0x10057cd9"]]}, {"orig": [["0x1005719e", "mov ebx, dword ptr [ebx]"], ["0x100571a0", "push edi"], ["0x100571a1", "mov edi, ebx"]], "recomp": [["0x10057cde", "mov edi, dword ptr [edi]"], ["0x10057ce0", "push ebx"], ["0x10057ce1", "mov ebx, edi"]]}, {"both": [["0x100571a3", "call ??3@YAXPAX@Z (FUNCTION)", "0x10057ce3"], ["0x100571a8", "add esp, 4", "0x10057ce8"]]}, {"orig": [["0x100571ab", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ebx"]], "recomp": [["0x10057ceb", "cmp edi, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x100571b1", "jne -0x20", "0x10057cf1"], ["0x100571b3", "pop edi", "0x10057cf3"], ["0x100571b4", "pop esi", "0x10057cf4"], ["0x100571b5", "pop ebx", "0x10057cf5"], ["0x100571b6", "ret 4", "0x10057cf6"]]}]]]}, {"address": "0x100571c0", "recomp": "0x10057d00", "name": "set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::~set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >", "matching": 1.0, "diff": []}, {"address": "0x10057210", "recomp": "0x10057d50", "name": "Set<LegoAnimPresenter *,LegoAnimPresenterSetCompare>::~Set<LegoAnimPresenter *,LegoAnimPresenterSetCompare>", "matching": 1.0, "diff": []}, {"address": "0x10057260", "recomp": "0x10057da0", "name": "LegoPathBoundary::~LegoPathBoundary", "matching": 0.8861788617886179, "diff": [["@@ -0x10057281,100 +0x10057dc1,102 @@", [{"both": [["0x10057281", "mov dword ptr [ebp - 0x14], ecx", "0x10057dc1"], ["0x10057284", "push esi", "0x10057dc4"], ["0x10057285", "xor ecx, ecx", "0x10057dc5"], ["0x10057287", "mov edx, dword ptr [ebp - 0x14]", "0x10057dc7"], ["0x1005728a", "mov dword ptr [ebp - 4], ecx", "0x10057dca"], ["0x1005728d", "mov eax, dword ptr [edx + 0x58]", "0x10057dcd"], ["0x10057290", "mov byte ptr [ebp - 4], 2", "0x10057dd0"], ["0x10057294", "mov esi, dword ptr [eax]", "0x10057dd4"], ["0x10057296", "mov dword ptr [ebp - 0x10], esi", "0x10057dd6"], ["0x10057299", "cmp esi, eax", "0x10057dd9"]]}, {"orig": [["0x1005729b", "je 0x57"]], "recomp": [["0x10057ddb", "je 0x5c"]]}, {"both": [["0x1005729d", "mov eax, dword ptr [ebp - 0x10]", "0x10057ddd"], ["0x100572a0", "mov edx, dword ptr [eax + 0xc]", "0x10057de0"], ["0x100572a3", "mov dword ptr [edx + 0x88], ecx", "0x10057de3"], ["0x100572a9", "mov eax, dword ptr [ebp - 0x10]", "0x10057de9"]]}, {"orig": [["0x100572ac", "mov edx, dword ptr [eax + 8]"]], "recomp": [["0x10057dec", "mov eax, dword ptr [eax + 8]"], ["0x10057def", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"], ["0x10057df5", "je 0x13"], ["0x10057df7", "mov edx, dword ptr [eax]"]]}, {"both": [["0x100572af", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx", "0x10057df9"]]}, {"orig": [["0x100572b5", "je 0xe"], ["0x100572b7", "mov eax, dword ptr [edx]"], ["0x100572b9", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"], ["0x100572bf", "je 0x25"], ["0x100572c1", "mov edx, eax"]], "recomp": [["0x10057dff", "je 0x4"], ["0x10057e01", "mov eax, edx"]]}, {"both": [["0x100572c3", "jmp -0xe", "0x10057e03"]]}, {"orig": [], "recomp": [["0x10057e05", "mov dword ptr [ebp - 0x10], eax"], ["0x10057e08", "jmp 0x24"]]}, {"both": [["0x100572c5", "mov eax, dword ptr [ebp - 0x10]", "0x10057e0a"], ["0x100572c8", "mov edx, dword ptr [eax + 4]", "0x10057e0d"], ["0x100572cb", "cmp dword ptr [edx + 8], eax", "0x10057e10"], ["0x100572ce", "jne 0xe", "0x10057e13"], ["0x100572d0", "mov dword ptr [ebp - 0x10], edx", "0x10057e15"], ["0x100572d3", "mov edx, dword ptr [edx + 4]", "0x10057e18"], ["0x100572d6", "mov eax, dword ptr [ebp - 0x10]", "0x10057e1b"], ["0x100572d9", "cmp dword ptr [edx + 8], eax", "0x10057e1e"], ["0x100572dc", "je -0xe", "0x10057e21"], ["0x100572de", "mov eax, dword ptr [ebp - 0x10]", "0x10057e23"], ["0x100572e1", "cmp dword ptr [eax + 8], edx", "0x10057e26"], ["0x100572e4", "je 0x3", "0x10057e29"], ["0x100572e6", "mov dword ptr [ebp - 0x10], edx", "0x10057e2b"], ["0x100572e9", "mov eax, dword ptr [ebp - 0x10]", "0x10057e2e"], ["0x100572ec", "mov edx, dword ptr [ebp - 0x14]", "0x10057e31"], ["0x100572ef", "cmp dword ptr [edx + 0x58], eax", "0x10057e34"]]}, {"orig": [["0x100572f2", "jne -0x57"]], "recomp": [["0x10057e37", "jne -0x5c"]]}, {"both": [["0x100572f4", "mov edx, dword ptr [ebp - 0x14]", "0x10057e39"], ["0x100572f7", "cmp dword ptr [edx + 0x60], 0", "0x10057e3c"], ["0x100572fb", "mov eax, dword ptr [edx + 0x58]", "0x10057e40"], ["0x100572fe", "mov dword ptr [ebp - 0x18], eax", "0x10057e43"], ["0x10057301", "mov ecx, dword ptr [eax]", "0x10057e46"], ["0x10057303", "mov dword ptr [ebp - 0x10], ecx", "0x10057e48"], ["0x10057306", "je 0x4d", "0x10057e4b"], ["0x10057308", "lea esi, [edx + 0x54]", "0x10057e4d"], ["0x1005730b", "lea eax, [ebp - 0x20]", "0x10057e50"], ["0x1005730e", "push eax", "0x10057e53"], ["0x1005730f", "mov ecx, esi", "0x10057e54"], ["0x10057311", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::begin (FUNCTION)", "0x10057e56"], ["0x10057316", "mov ecx, dword ptr [ebp - 0x10]", "0x10057e5b"], ["0x10057319", "cmp dword ptr [eax], ecx", "0x10057e5e"], ["0x1005731b", "jne 0x38", "0x10057e60"], ["0x1005731d", "mov edx, dword ptr [ebp - 0x14]", "0x10057e62"], ["0x10057320", "mov eax, dword ptr [edx + 0x58]", "0x10057e65"]]}, {"orig": [["0x10057323", "cmp eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x10057e68", "cmp dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x10057326", "jne 0x2d", "0x10057e6b"], ["0x10057328", "mov eax, dword ptr [eax + 4]", "0x10057e6d"], ["0x1005732b", "mov ecx, esi", "0x10057e70"], ["0x1005732d", "push eax", "0x10057e72"], ["0x1005732e", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase (FUNCTION)", "0x10057e73"], ["0x10057333", "mov eax, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]", "0x10057e78"], ["0x10057338", "mov edx, dword ptr [ebp - 0x14]", "0x10057e7d"], ["0x1005733b", "mov ecx, dword ptr [edx + 0x58]", "0x10057e80"], ["0x1005733e", "mov dword ptr [ecx + 4], eax", "0x10057e83"], ["0x10057341", "mov eax, dword ptr [edx + 0x58]", "0x10057e86"], ["0x10057344", "mov dword ptr [edx + 0x60], 0", "0x10057e89"], ["0x1005734b", "mov dword ptr [eax], eax", "0x10057e90"], ["0x1005734d", "mov eax, dword ptr [edx + 0x58]", "0x10057e92"], ["0x10057350", "mov dword ptr [eax + 8], eax", "0x10057e95"], ["0x10057353", "jmp 0x33", "0x10057e98"]]}, {"orig": [["0x10057355", "mov eax, dword ptr [ebp - 0x18]"], ["0x10057358", "cmp dword ptr [ebp - 0x10], eax"]], "recomp": [["0x10057e9a", "mov eax, dword ptr [ebp - 0x10]"], ["0x10057e9d", "cmp dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x1005735b", "je 0x2b", "0x10057ea0"], ["0x1005735d", "mov esi, dword ptr [ebp - 0x14]", "0x10057ea2"], ["0x10057360", "add esi, 0x54", "0x10057ea5"], ["0x10057363", "mov eax, dword ptr [ebp - 0x10]", "0x10057ea8"], ["0x10057366", "lea ecx, [ebp - 0x10]", "0x10057eab"], ["0x10057369", "mov dword ptr [ebp - 0x1c], eax", "0x10057eae"], ["0x1005736c", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::iterator::_Inc (FUNCTION)", "0x10057eb1"], ["0x10057371", "mov eax, dword ptr [ebp - 0x1c]", "0x10057eb6"], ["0x10057374", "lea ecx, [ebp - 0x24]", "0x10057eb9"], ["0x10057377", "push eax", "0x10057ebc"], ["0x10057378", "push ecx", "0x10057ebd"], ["0x10057379", "mov ecx, esi", "0x10057ebe"], ["0x1005737b", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::erase (FUNCTION)", "0x10057ec0"]]}, {"orig": [["0x10057380", "mov ecx, dword ptr [ebp - 0x18]"], ["0x10057383", "cmp dword ptr [ebp - 0x10], ecx"]], "recomp": [["0x10057ec5", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10057ec8", "cmp dword ptr [ebp - 0x18], ecx"]]}, {"both": [["0x10057386", "jne -0x25", "0x10057ecb"], ["0x10057388", "mov byte ptr [ebp - 4], 1", "0x10057ecd"], ["0x1005738c", "call <OFFSET8>", "0x10057ed1"], ["0x10057391", "mov byte ptr [ebp - 4], 0", "0x10057ed6"], ["0x10057395", "call <OFFSET9>", "0x10057eda"], ["0x1005739a", "mov dword ptr [ebp - 4], 0xffffffff", "0x10057edf"], ["0x100573a1", "call <OFFSET10>", "0x10057ee6"], ["0x100573a6", "mov eax, dword ptr [ebp - 0xc]", "0x10057eeb"], ["0x100573a9", "pop esi", "0x10057eee"], ["0x100573aa", "mov dword ptr fs:[0], eax", "0x10057eef"]]}]]]}, {"address": "0x100573e0", "recomp": "0x10057f30", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::begin", "matching": 1.0, "diff": []}, {"address": "0x100573f0", "recomp": "0x10057f40", "name": "LegoPathBoundary::AddActor", "matching": 1.0, "effective": true, "diff": [["@@ -0x100573f0,33 +0x10057f40,33 @@", [{"both": [["0x100573f0", "sub esp, 0x1c", "0x10057f40"], ["0x100573f3", "push ebx", "0x10057f43"], ["0x100573f4", "push esi", "0x10057f44"], ["0x100573f5", "mov eax, dword ptr [ecx + 0x58]", "0x10057f45"], ["0x100573f8", "push edi", "0x10057f48"], ["0x100573f9", "mov esi, ecx", "0x10057f49"], ["0x100573fb", "mov ebx, eax", "0x10057f4b"], ["0x100573fd", "mov edi, dword ptr [eax + 4]", "0x10057f4d"], ["0x10057400", "mov edx, 1", "0x10057f50"]]}, {"orig": [["0x10057405", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x10057f55", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edi"]]}, {"both": [["0x1005740b", "je 0x25", "0x10057f5b"], ["0x1005740d", "mov ecx, dword ptr [esp + 0x2c]", "0x10057f5d"], ["0x10057411", "mov ebx, edi", "0x10057f61"], ["0x10057413", "mov edx, 1", "0x10057f63"], ["0x10057418", "cmp dword ptr [edi + 0xc], ecx", "0x10057f68"], ["0x1005741b", "jg 0x2", "0x10057f6b"], ["0x1005741d", "xor edx, edx", "0x10057f6d"], ["0x1005741f", "test edx, edx", "0x10057f6f"], ["0x10057421", "jne 0x5", "0x10057f71"], ["0x10057423", "mov edi, dword ptr [edi + 8]", "0x10057f73"], ["0x10057426", "jmp 0x2", "0x10057f76"], ["0x10057428", "mov edi, dword ptr [edi]", "0x10057f78"]]}, {"orig": [["0x1005742a", "cmp edi, dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)]"]], "recomp": [["0x10057f7a", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10057430", "jne -0x21", "0x10057f80"], ["0x10057432", "cmp dword ptr [esi + 0x5c], 0", "0x10057f82"], ["0x10057436", "je 0xd", "0x10057f86"], ["0x10057438", "lea eax, [esp + 0x2c]", "0x10057f88"], ["0x1005743c", "lea ecx, [esp + 0x20]", "0x10057f8c"], ["0x10057440", "push eax", "0x10057f90"], ["0x10057441", "push ebx", "0x10057f91"], ["0x10057442", "push edi", "0x10057f92"], ["0x10057443", "jmp 0x3a", "0x10057f93"], ["0x10057445", "mov dword ptr [esp + 0xc], ebx", "0x10057f95"]]}]]]}, {"address": "0x100574a0", "recomp": "0x10057ff0", "name": "LegoPathBoundary::RemoveActor", "matching": 0.7936507936507936, "diff": [["@@ -0x100574ad,54 +0x10057ffd,54 @@", [{"both": [["0x100574ad", "push ebp", "0x10057ffd"], ["0x100574ae", "mov esi, ecx", "0x10057ffe"], ["0x100574b0", "push eax", "0x10058000"], ["0x100574b1", "mov ecx, edi", "0x10058001"], ["0x100574b3", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Ubound (FUNCTION)", "0x10058003"], ["0x100574b8", "mov ebx, eax", "0x10058008"], ["0x100574ba", "mov ecx, edi", "0x1005800a"], ["0x100574bc", "lea eax, [esp + 0x20]", "0x1005800c"], ["0x100574c0", "push eax", "0x10058010"], ["0x100574c1", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Lbound (FUNCTION)", "0x10058011"]]}, {"orig": [["0x100574c6", "mov edx, eax"]], "recomp": [["0x10058016", "mov ebp, eax"]]}, {"both": [["0x100574c8", "mov dword ptr [esp + 0x10], eax", "0x10058018"], ["0x100574cc", "cmp eax, ebx", "0x1005801c"]]}, {"orig": [["0x100574ce", "je 0x3b"], ["0x100574d0", "mov ebp, dword ptr [edx + 8]"], ["0x100574d3", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebp"], ["0x100574d9", "je 0x13"], ["0x100574db", "mov ecx, dword ptr [ebp]"]], "recomp": [["0x1005801e", "je 0x3a"], ["0x10058020", "mov edx, dword ptr [ebp + 8]"], ["0x10058023", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], edx"], ["0x10058029", "je 0x12"], ["0x1005802b", "mov ecx, dword ptr [edx]"]]}, {"both": [["0x100574de", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ecx", "0x1005802d"], ["0x100574e4", "je 0x4", "0x10058033"]]}, {"orig": [], "recomp": [["0x10058035", "mov edx, ecx"], ["0x10058037", "jmp -0xe"], ["0x10058039", "mov ebp, edx"], ["0x1005803b", "jmp 0x19"], ["0x1005803d", "mov ecx, dword ptr [ebp + 4]"], ["0x10058040", "cmp dword ptr [ecx + 8], ebp"], ["0x10058043", "jne 0xa"]]}, {"both": [["0x100574e6", "mov ebp, ecx", "0x10058045"]]}, {"orig": [["0x100574e8", "jmp -0xf"], ["0x100574ea", "mov edx, ebp"], ["0x100574ec", "jmp 0x19"], ["0x100574ee", "mov ecx, dword ptr [edx + 4]"], ["0x100574f1", "cmp dword ptr [ecx + 8], edx"], ["0x100574f4", "jne 0xa"], ["0x100574f6", "mov edx, ecx"]], "recomp": []}, {"both": [["0x100574f8", "mov ecx, dword ptr [ecx + 4]", "0x10058047"]]}, {"orig": [["0x100574fb", "cmp dword ptr [ecx + 8], edx"]], "recomp": [["0x1005804a", "cmp dword ptr [ecx + 8], ebp"]]}, {"both": [["0x100574fe", "je -0xa", "0x1005804d"]]}, {"orig": [["0x10057500", "cmp dword ptr [edx + 8], ecx"]], "recomp": [["0x1005804f", "cmp dword ptr [ebp + 8], ecx"]]}, {"both": [["0x10057503", "je 0x2", "0x10058052"]]}, {"orig": [["0x10057505", "mov edx, ecx"], ["0x10057507", "cmp edx, ebx"], ["0x10057509", "jne -0x3b"]], "recomp": [["0x10058054", "mov ebp, ecx"], ["0x10058056", "cmp ebp, ebx"], ["0x10058058", "jne -0x3a"]]}, {"both": [["0x1005750b", "cmp dword ptr [esi + 0x60], 0", "0x1005805a"], ["0x1005750f", "mov ecx, dword ptr [esp + 0x10]", "0x1005805e"], ["0x10057513", "mov dword ptr [esp + 0x10], ecx", "0x10058062"], ["0x10057517", "je 0x51", "0x10058066"], ["0x10057519", "mov ecx, dword ptr [esi + 0x58]", "0x10058068"], ["0x1005751c", "cmp dword ptr [ecx], eax", "0x1005806b"], ["0x1005751e", "jne 0x4a", "0x1005806d"]]}, {"orig": [["0x10057520", "cmp ecx, ebx"]], "recomp": [["0x1005806f", "cmp ebx, ecx"]]}, {"both": [["0x10057522", "jne 0x46", "0x10058071"], ["0x10057524", "mov ebp, dword ptr [ecx + 4]", "0x10058073"], ["0x10057527", "mov ebx, ebp", "0x10058076"], ["0x10057529", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ebx", "0x10058078"], ["0x1005752f", "je 0x1a", "0x1005807e"], ["0x10057531", "mov eax, dword ptr [ebx + 8]", "0x10058080"], ["0x10057534", "mov ecx, edi", "0x10058083"], ["0x10057536", "push eax", "0x10058085"], ["0x10057537", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Erase (FUNCTION)", "0x10058086"], ["0x1005753c", "mov ebx, dword ptr [ebx]", "0x1005808b"]]}]], ["@@ -0x10057589,10 +0x100580d8,11 @@", [{"both": [["0x10057589", "mov ecx, edi", "0x100580d8"], ["0x1005758b", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::erase (FUNCTION)", "0x100580da"], ["0x10057590", "cmp dword ptr [esp + 0x10], ebx", "0x100580df"], ["0x10057594", "jne -0x28", "0x100580e3"], ["0x10057596", "xor eax, eax", "0x100580e5"], ["0x10057598", "pop ebp", "0x100580e7"], ["0x10057599", "pop edi", "0x100580e8"], ["0x1005759a", "pop esi", "0x100580e9"], ["0x1005759b", "pop ebx", "0x100580ea"], ["0x1005759c", "add esp, 0xc", "0x100580eb"]]}, {"orig": [], "recomp": [["0x100580ee", "ret 4"]]}]]]}, {"address": "0x100575b0", "recomp": "0x10058100", "name": "LegoPathBoundary::FUN_100575b0", "matching": 0.8283582089552238, "diff": [["@@ -0x100575b0,134 +0x10058100,134 @@", [{"both": [["0x100575b0", "sub esp, 0x1c", "0x10058100"], ["0x100575b3", "push ebx", "0x10058103"], ["0x100575b4", "push esi", "0x10058104"], ["0x100575b5", "push edi", "0x10058105"]]}, {"orig": [["0x100575b6", "mov esi, ecx"]], "recomp": [["0x10058106", "xor ebx, ebx"], ["0x10058108", "cmp byte ptr [ecx + 0x48], bl"]]}, {"both": [["0x100575b8", "push ebp", "0x1005810b"]]}, {"orig": [["0x100575b9", "xor ebx, ebx"], ["0x100575bb", "cmp byte ptr [esi + 0x48], bl"]], "recomp": [["0x1005810c", "mov edi, ecx"]]}, {"both": [["0x100575be", "jbe 0x14e", "0x1005810e"]]}, {"orig": [["0x100575c4", "cmp dword ptr [esi + 0x50], ebx"]], "recomp": [["0x10058114", "cmp dword ptr [edi + 0x50], ebx"]]}, {"both": [["0x100575c7", "je 0x145", "0x10058117"]]}, {"orig": [["0x100575cd", "push esi"], ["0x100575ce", "mov eax, dword ptr [esi + 8]"]], "recomp": [["0x1005811d", "push edi"], ["0x1005811e", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x100575d1", "mov ecx, dword ptr [eax]", "0x10058121"], ["0x100575d3", "call LegoEdge::CCWVertex (FUNCTION)", "0x10058123"]]}, {"orig": [["0x100575d8", "mov edi, eax"]], "recomp": [["0x10058128", "mov esi, eax"]]}, {"both": [["0x100575da", "mov ecx, dword ptr [esp + 0x30]", "0x1005812a"], ["0x100575de", "lea eax, [esp + 0x20]", "0x1005812e"], ["0x100575e2", "push ecx", "0x10058132"], ["0x100575e3", "lea ecx, [esp + 0x1c]", "0x10058133"], ["0x100575e7", "mov dword ptr [esp + 0x20], eax", "0x10058137"], ["0x100575eb", "mov dword ptr [esp + 0x1c], Mx3DPointFloat::`vftable' (VTABLE)", "0x1005813b"], ["0x100575f3", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x10058143"], ["0x100575f9", "mov ebp, dword ptr [esp + 0x18]", "0x10058149"], ["0x100575fd", "lea ecx, [esp + 0x18]", "0x1005814d"]]}, {"orig": [["0x10057601", "push edi"]], "recomp": [["0x10058151", "push esi"]]}, {"both": [["0x10057602", "call dword ptr [ebp + 0x54]", "0x10058152"]]}, {"orig": [["0x10057605", "mov ecx, dword ptr [esi + 0x50]"]], "recomp": [["0x10058155", "mov ecx, dword ptr [edi + 0x50]"]]}, {"both": [["0x10057608", "mov edx, dword ptr [esp + 0x1c]", "0x10058158"], ["0x1005760c", "mov ebp, dword ptr [esp + 0x18]", "0x1005815c"], ["0x10057610", "mov eax, dword ptr [ecx + 4]", "0x10058160"], ["0x10057613", "lea ecx, [esp + 0x18]", "0x10058163"], ["0x10057617", "push eax", "0x10058167"], ["0x10057618", "push edx", "0x10058168"], ["0x10057619", "call dword ptr [ebp + 0x18]", "0x10058169"], ["0x1005761c", "fstp dword ptr [esp + 0x10]", "0x1005816c"], ["0x10057620", "mov ecx, dword ptr [esp + 0x34]", "0x10058170"], ["0x10057624", "mov eax, dword ptr [esp + 0x18]", "0x10058174"], ["0x10057628", "push ecx", "0x10058178"], ["0x10057629", "lea ecx, [esp + 0x1c]", "0x10058179"], ["0x1005762d", "call dword ptr [eax + 0x88]", "0x1005817d"], ["0x10057633", "mov ebp, dword ptr [esp + 0x18]", "0x10058183"], ["0x10057637", "lea ecx, [esp + 0x18]", "0x10058187"]]}, {"orig": [["0x1005763b", "push edi"]], "recomp": [["0x1005818b", "push esi"]]}, {"both": [["0x1005763c", "call dword ptr [ebp + 0x54]", "0x1005818c"]]}, {"orig": [["0x1005763f", "mov ecx, dword ptr [esi + 0x50]"]], "recomp": [["0x1005818f", "mov ecx, dword ptr [edi + 0x50]"]]}, {"both": [["0x10057642", "mov edx, dword ptr [esp + 0x1c]", "0x10058192"], ["0x10057646", "mov ebp, dword ptr [esp + 0x18]", "0x10058196"], ["0x1005764a", "mov eax, dword ptr [ecx + 4]", "0x1005819a"], ["0x1005764d", "lea ecx, [esp + 0x18]", "0x1005819d"], ["0x10057651", "push eax", "0x100581a1"], ["0x10057652", "push edx", "0x100581a2"], ["0x10057653", "call dword ptr [ebp + 0x18]", "0x100581a3"], ["0x10057656", "fcom dword ptr [esp + 0x10]", "0x100581a6"], ["0x1005765a", "fstp dword ptr [esp + 0x14]", "0x100581aa"], ["0x1005765e", "fnstsw ax", "0x100581ae"], ["0x10057660", "test ah, 0x41", "0x100581b0"], ["0x10057663", "jne 0x55", "0x100581b3"]]}, {"orig": [["0x10057665", "cmp byte ptr [esi + 0x48], bl"]], "recomp": [["0x100581b5", "cmp byte ptr [edi + 0x48], bl"]]}, {"both": [["0x10057668", "jbe 0xa4", "0x100581b8"]]}, {"orig": [["0x1005766e", "xor edi, edi"]], "recomp": [["0x100581be", "xor esi, esi"]]}, {"both": [["0x10057670", "mov ebp, dword ptr [esp + 0x38]", "0x100581c0"]]}, {"orig": [["0x10057674", "mov edx, dword ptr [esi + 0x4c]"], ["0x10057677", "add edx, edi"]], "recomp": [["0x100581c4", "mov edx, dword ptr [edi + 0x4c]"], ["0x100581c7", "add edx, esi"]]}, {"both": [["0x10057679", "fld dword ptr [edx + 8]", "0x100581c9"], ["0x1005767c", "fcomp dword ptr [esp + 0x10]", "0x100581cc"], ["0x10057680", "mov ecx, dword ptr [edx]", "0x100581d0"], ["0x10057682", "fnstsw ax", "0x100581d2"], ["0x10057684", "test ah, 1", "0x100581d4"], ["0x10057687", "jne 0x1a", "0x100581d7"], ["0x10057689", "fld dword ptr [edx + 8]", "0x100581d9"], ["0x1005768c", "fcomp dword ptr [esp + 0x14]", "0x100581dc"], ["0x10057690", "fnstsw ax", "0x100581e0"], ["0x10057692", "test ah, 1", "0x100581e2"], ["0x10057695", "je 0xc", "0x100581e5"], ["0x10057697", "mov eax, dword ptr [edx + 4]", "0x100581e7"], ["0x1005769a", "push eax", "0x100581ea"], ["0x1005769b", "push 1", "0x100581eb"], ["0x1005769d", "push ebp", "0x100581ed"], ["0x1005769e", "mov eax, dword ptr [ecx]", "0x100581ee"], ["0x100576a0", "call dword ptr [eax + 4]", "0x100581f0"]]}, {"orig": [["0x100576a3", "add edi, 0xc"]], "recomp": [["0x100581f3", "add esi, 0xc"]]}, {"both": [["0x100576a6", "inc ebx", "0x100581f6"], ["0x100576a7", "xor eax, eax", "0x100581f7"]]}, {"orig": [["0x100576a9", "mov al, byte ptr [esi + 0x48]"]], "recomp": [["0x100581f9", "mov al, byte ptr [edi + 0x48]"]]}, {"both": [["0x100576ac", "cmp eax, ebx", "0x100581fc"], ["0x100576ae", "jg -0x3c", "0x100581fe"], ["0x100576b0", "pop ebp", "0x10058200"], ["0x100576b1", "pop edi", "0x10058201"], ["0x100576b2", "pop esi", "0x10058202"], ["0x100576b3", "pop ebx", "0x10058203"], ["0x100576b4", "add esp, 0x1c", "0x10058204"], ["0x100576b7", "ret 0xc", "0x10058207"], ["0x100576ba", "fld dword ptr [esp + 0x14]", "0x1005820a"], ["0x100576be", "fcomp dword ptr [esp + 0x10]", "0x1005820e"], ["0x100576c2", "fnstsw ax", "0x10058212"], ["0x100576c4", "test ah, 1", "0x10058214"], ["0x100576c7", "je 0x49", "0x10058217"], ["0x100576c9", "xor ebx, ebx", "0x10058219"]]}, {"orig": [["0x100576cb", "xor edi, edi"], ["0x100576cd", "cmp byte ptr [esi + 0x48], bl"]], "recomp": [["0x1005821b", "xor esi, esi"], ["0x1005821d", "cmp byte ptr [edi + 0x48], bl"]]}, {"both": [["0x100576d0", "jbe 0x40", "0x10058220"], ["0x100576d2", "mov ebp, dword ptr [esp + 0x38]", "0x10058222"]]}, {"orig": [["0x100576d6", "mov edx, dword ptr [esi + 0x4c]"]], "recomp": [["0x10058226", "mov edx, dword ptr [edi + 0x4c]"]]}, {"both": [["0x100576d9", "add edx, ebx", "0x10058229"], ["0x100576db", "fld dword ptr [edx + 8]", "0x1005822b"], ["0x100576de", "fcomp dword ptr [esp + 0x14]", "0x1005822e"], ["0x100576e2", "mov ecx, dword ptr [edx]", "0x10058232"], ["0x100576e4", "fnstsw ax", "0x10058234"], ["0x100576e6", "test ah, 1", "0x10058236"], ["0x100576e9", "jne 0x1a", "0x10058239"], ["0x100576eb", "fld dword ptr [edx + 8]", "0x1005823b"], ["0x100576ee", "fcomp dword ptr [esp + 0x10]", "0x1005823e"], ["0x100576f2", "fnstsw ax", "0x10058242"], ["0x100576f4", "test ah, 1", "0x10058244"], ["0x100576f7", "je 0xc", "0x10058247"], ["0x100576f9", "mov eax, dword ptr [edx + 4]", "0x10058249"], ["0x100576fc", "push eax", "0x1005824c"], ["0x100576fd", "push 0", "0x1005824d"], ["0x100576ff", "push ebp", "0x1005824f"], ["0x10057700", "mov eax, dword ptr [ecx]", "0x10058250"], ["0x10057702", "call dword ptr [eax + 4]", "0x10058252"], ["0x10057705", "add ebx, 0xc", "0x10058255"]]}, {"orig": [["0x10057708", "inc edi"]], "recomp": [["0x10058258", "inc esi"]]}, {"both": [["0x10057709", "xor eax, eax", "0x10058259"]]}, {"orig": [["0x1005770b", "mov al, byte ptr [esi + 0x48]"], ["0x1005770e", "cmp eax, edi"]], "recomp": [["0x1005825b", "mov al, byte ptr [edi + 0x48]"], ["0x1005825e", "cmp eax, esi"]]}, {"both": [["0x10057710", "jg -0x3c", "0x10058260"], ["0x10057712", "pop ebp", "0x10058262"], ["0x10057713", "pop edi", "0x10058263"], ["0x10057714", "pop esi", "0x10058264"], ["0x10057715", "pop ebx", "0x10058265"], ["0x10057716", "add esp, 0x1c", "0x10058266"], ["0x10057719", "ret 0xc", "0x10058269"]]}]]]}, {"address": "0x10057720", "recomp": "0x10058270", "name": "LegoPathBoundary::SwitchBoundary", "matching": 0.8656716417910447, "diff": [["@@ -0x1005772e,81 +0x1005827e,81 @@", [{"both": [["0x1005772e", "push ebp", "0x1005827e"], ["0x1005772f", "mov ecx, dword ptr [ebx]", "0x1005827f"], ["0x10057731", "mov esi, dword ptr [edi]", "0x10058281"], ["0x10057733", "mov edx, dword ptr [esi + 4]", "0x10058283"], ["0x10057736", "cmp edx, ecx", "0x10058286"], ["0x10057738", "jne 0x8", "0x10058288"], ["0x1005773a", "lea eax, [esi + 0x24]", "0x1005828a"], ["0x1005773d", "test byte ptr [eax], 1", "0x1005828d"], ["0x10057740", "jne 0x15", "0x10058290"], ["0x10057742", "cmp dword ptr [esi + 8], ecx", "0x10058292"]]}, {"orig": [["0x10057745", "jne 0x1ae"]], "recomp": [["0x10058295", "jne 0x1b1"]]}, {"both": [["0x1005774b", "lea eax, [esi + 0x24]", "0x1005829b"], ["0x1005774e", "test byte ptr [eax], 2", "0x1005829e"]]}, {"orig": [["0x10057751", "je 0x1a2"]], "recomp": [["0x100582a1", "je 0x1a5"]]}, {"both": [["0x10057757", "mov ebp, edx", "0x100582a7"], ["0x10057759", "cmp edx, ecx", "0x100582a9"], ["0x1005775b", "jne 0x3", "0x100582ab"], ["0x1005775d", "mov ebp, dword ptr [esi + 8]", "0x100582ad"], ["0x10057760", "test ebp, ebp", "0x100582b0"], ["0x10057762", "jne 0x2", "0x100582b2"], ["0x10057764", "mov ebp, ecx", "0x100582b4"], ["0x10057766", "mov dword ptr [esp + 0x18], 0", "0x100582b6"], ["0x1005776e", "cmp dword ptr [esi + 8], ebp", "0x100582be"], ["0x10057771", "jne 0xb", "0x100582c1"], ["0x10057773", "test byte ptr [eax], 1", "0x100582c3"], ["0x10057776", "je 0x6", "0x100582c6"], ["0x10057778", "test byte ptr [ebp + 0xc], 1", "0x100582c8"], ["0x1005777c", "jne 0xf", "0x100582cc"]]}, {"orig": [["0x1005777e", "cmp ebp, edx"]], "recomp": [["0x100582ce", "cmp edx, ebp"]]}, {"both": [["0x10057780", "jne 0x1e", "0x100582d0"], ["0x10057782", "test byte ptr [eax], 2", "0x100582d2"], ["0x10057785", "je 0x19", "0x100582d5"], ["0x10057787", "test byte ptr [ebp + 0xc], 1", "0x100582d7"], ["0x1005778b", "je 0x13", "0x100582db"], ["0x1005778d", "mov eax, dword ptr [esp + 0x20]", "0x100582dd"], ["0x10057791", "mov ecx, dword ptr [esp + 0x20]", "0x100582e1"], ["0x10057795", "mov eax, dword ptr [eax]", "0x100582e5"], ["0x10057797", "call dword ptr [eax + 0x7c]", "0x100582e7"], ["0x1005779a", "mov byte ptr [esp + 0x13], al", "0x100582ea"], ["0x1005779e", "jmp 0x5", "0x100582ee"], ["0x100577a0", "mov byte ptr [esp + 0x13], 1", "0x100582f0"], ["0x100577a5", "push ebp", "0x100582f5"], ["0x100577a6", "mov ecx, dword ptr [edi]", "0x100582f6"], ["0x100577a8", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x100582f8"]]}, {"orig": [["0x100577ad", "mov ecx, eax"]], "recomp": [["0x100582fd", "mov edx, eax"]]}, {"both": [["0x100577af", "mov dword ptr [edi], eax", "0x100582ff"]]}, {"orig": [["0x100577b1", "cmp ebp, dword ptr [ecx + 4]"]], "recomp": [["0x10058301", "cmp dword ptr [edx + 4], ebp"]]}, {"both": [["0x100577b4", "jne 0x5", "0x10058304"]]}, {"orig": [["0x100577b6", "mov edx, dword ptr [ecx + 8]"]], "recomp": [["0x10058306", "mov eax, dword ptr [edx + 8]"]]}, {"both": [["0x100577b9", "jmp 0x3", "0x10058309"]]}, {"orig": [["0x100577bb", "mov edx, dword ptr [ecx + 4]"], ["0x100577be", "mov ax, word ptr [ecx + 0x24]"], ["0x100577c2", "test al, 3"], ["0x100577c4", "je 0x29"]], "recomp": [["0x1005830b", "mov eax, dword ptr [edx + 4]"], ["0x1005830e", "mov cx, word ptr [edx + 0x24]"], ["0x10058312", "test cl, 3"], ["0x10058315", "je 0x2b"]]}, {"both": [["0x100577c6", "cmp byte ptr [esp + 0x13], 0", "0x10058317"]]}, {"orig": [["0x100577cb", "jne 0x1e"], ["0x100577cd", "cmp dword ptr [ecx + 8], edx"], ["0x100577d0", "jne 0xa"], ["0x100577d2", "test al, 1"]], "recomp": [["0x1005831c", "jne 0x20"], ["0x1005831e", "cmp dword ptr [edx + 8], eax"], ["0x10058321", "jne 0xb"], ["0x10058323", "test cl, 1"]]}, {"both": [["0x100577d4", "je 0x6", "0x10058326"]]}, {"orig": [["0x100577d6", "test byte ptr [edx + 0xc], 1"]], "recomp": [["0x10058328", "test byte ptr [eax + 0xc], 1"], ["0x1005832c", "jne 0x10"], ["0x1005832e", "cmp eax, dword ptr [edx + 4]"]]}, {"both": [["0x100577da", "jne 0xf", "0x10058331"]]}, {"orig": [["0x100577dc", "cmp dword ptr [ecx + 4], edx"], ["0x100577df", "jne 0xe"], ["0x100577e1", "test al, 2"]], "recomp": [["0x10058333", "test cl, 2"]]}, {"both": [["0x100577e3", "je 0xa", "0x10058336"]]}, {"orig": [["0x100577e5", "test byte ptr [edx + 0xc], 1"]], "recomp": [["0x10058338", "test byte ptr [eax + 0xc], 1"]]}, {"both": [["0x100577e9", "je 0x4", "0x1005833c"], ["0x100577eb", "inc dword ptr [esp + 0x18]", "0x1005833e"]]}, {"orig": [["0x100577ef", "cmp esi, ecx"], ["0x100577f1", "jne -0x4e"]], "recomp": [["0x10058342", "cmp edx, esi"], ["0x10058344", "jne -0x51"]]}, {"both": [["0x100577f3", "mov byte ptr [esp + 0x12], 1", "0x10058346"], ["0x100577f8", "mov eax, dword ptr [esp + 0x18]", "0x1005834b"], ["0x100577fc", "dec eax", "0x1005834f"], ["0x100577fd", "cmp dword ptr [esp + 0x18], 1", "0x10058350"], ["0x10057802", "mov dword ptr [esp + 0x14], eax", "0x10058355"], ["0x10057806", "jg 0xa", "0x10058359"], ["0x10057808", "mov dword ptr [esp + 0x14], 0", "0x1005835b"], ["0x10057810", "jmp 0x29", "0x10058363"], ["0x10057812", "cmp dword ptr [esp + 0x18], 2", "0x10058365"], ["0x10057817", "jne 0xa", "0x1005836a"]]}]], ["@@ -0x10057843,54 +0x10058396,54 @@", [{"both": [["0x10057843", "mov ecx, dword ptr [edi]", "0x10058396"], ["0x10057845", "cmp byte ptr [esp + 0x16], 0", "0x10058398"], ["0x1005784a", "je 0x7", "0x1005839d"], ["0x1005784c", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x1005839f"], ["0x10057851", "jmp 0x5", "0x100583a4"], ["0x10057853", "call LegoEdge::GetClockwiseEdge (FUNCTION)", "0x100583a6"], ["0x10057858", "mov dword ptr [edi], eax", "0x100583ab"], ["0x1005785a", "mov ecx, dword ptr [edi]", "0x100583ad"], ["0x1005785c", "mov eax, dword ptr [ecx + 4]", "0x100583af"], ["0x1005785f", "mov edx, eax", "0x100583b2"]]}, {"orig": [["0x10057861", "cmp ebp, eax"]], "recomp": [["0x100583b4", "cmp eax, ebp"]]}, {"both": [["0x10057863", "jne 0x3", "0x100583b6"], ["0x10057865", "mov edx, dword ptr [ecx + 8]", "0x100583b8"], ["0x10057868", "test byte ptr [ecx + 0x24], 3", "0x100583bb"], ["0x1005786c", "je 0x2c", "0x100583bf"], ["0x1005786e", "cmp byte ptr [esp + 0x13], 0", "0x100583c1"], ["0x10057873", "jne 0x21", "0x100583c6"], ["0x10057875", "cmp dword ptr [ecx + 8], edx", "0x100583c8"], ["0x10057878", "jne 0xc", "0x100583cb"], ["0x1005787a", "test byte ptr [ecx + 0x24], 1", "0x100583cd"], ["0x1005787e", "je 0x6", "0x100583d1"], ["0x10057880", "test byte ptr [edx + 0xc], 1", "0x100583d3"], ["0x10057884", "jne 0x10", "0x100583d7"]]}, {"orig": [["0x10057886", "cmp eax, edx"]], "recomp": [["0x100583d9", "cmp edx, eax"]]}, {"both": [["0x10057888", "jne 0x10", "0x100583db"], ["0x1005788a", "test byte ptr [ecx + 0x24], 2", "0x100583dd"], ["0x1005788e", "je 0xa", "0x100583e1"], ["0x10057890", "test byte ptr [edx + 0xc], 1", "0x100583e3"], ["0x10057894", "je 0x4", "0x100583e7"], ["0x10057896", "dec dword ptr [esp + 0x14]", "0x100583e9"], ["0x1005789a", "cmp dword ptr [esp + 0x14], 0", "0x100583ed"], ["0x1005789f", "jg -0x5f", "0x100583f2"], ["0x100578a1", "mov ecx, dword ptr [edi]", "0x100583f4"]]}, {"orig": [["0x100578a3", "cmp esi, ecx"]], "recomp": [["0x100583f6", "cmp ecx, esi"]]}, {"both": [["0x100578a5", "jne 0x12", "0x100583f8"], ["0x100578a7", "push ebp", "0x100583fa"], ["0x100578a8", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x100583fb"], ["0x100578ad", "push ebp", "0x10058400"], ["0x100578ae", "mov ecx, eax", "0x10058401"], ["0x100578b0", "mov dword ptr [edi], eax", "0x10058403"], ["0x100578b2", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x10058405"], ["0x100578b7", "mov dword ptr [edi], eax", "0x1005840a"], ["0x100578b9", "mov ecx, dword ptr [ebx]", "0x1005840c"]]}, {"orig": [["0x100578bb", "cmp ebp, ecx"]], "recomp": [["0x1005840e", "cmp ecx, ebp"]]}, {"both": [["0x100578bd", "je 0x22", "0x10058410"], ["0x100578bf", "mov eax, dword ptr [esp + 0x20]", "0x10058412"], ["0x100578c3", "push eax", "0x10058416"], ["0x100578c4", "call LegoPathBoundary::RemoveActor (FUNCTION)", "0x10058417"], ["0x100578c9", "mov eax, dword ptr [esp + 0x20]", "0x1005841c"], ["0x100578cd", "mov ecx, ebp", "0x10058420"], ["0x100578cf", "push eax", "0x10058422"], ["0x100578d0", "mov dword ptr [ebx], ebp", "0x10058423"], ["0x100578d2", "call LegoPathBoundary::AddActor (FUNCTION)", "0x10058425"], ["0x100578d7", "pop ebp", "0x1005842a"]]}]], ["@@ -0x100578f3,24 +0x10058446,24 @@", [{"both": [["0x100578f3", "add esp, 0xc", "0x10058446"], ["0x100578f6", "ret 0x10", "0x10058449"], ["0x100578f9", "mov ebp, 3", "0x1005844c"], ["0x100578fe", "mov eax, dword ptr [ebx]", "0x10058451"], ["0x10057900", "mov ecx, dword ptr [edi]", "0x10058453"], ["0x10057902", "push eax", "0x10058455"], ["0x10057903", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x10058456"], ["0x10057908", "mov dword ptr [edi], eax", "0x1005845b"], ["0x1005790a", "test word ptr [eax + 0x24], bp", "0x1005845d"], ["0x1005790e", "jne 0x4", "0x10058461"]]}, {"orig": [["0x10057910", "cmp esi, eax"]], "recomp": [["0x10058463", "cmp eax, esi"]]}, {"both": [["0x10057912", "jne -0x16", "0x10058465"], ["0x10057914", "mov ecx, dword ptr [edi]", "0x10058467"]]}, {"orig": [["0x10057916", "cmp esi, ecx"]], "recomp": [["0x10058469", "cmp ecx, esi"]]}, {"both": [["0x10057918", "jne 0x16", "0x1005846b"], ["0x1005791a", "mov eax, dword ptr [ebx]", "0x1005846d"], ["0x1005791c", "push eax", "0x1005846f"], ["0x1005791d", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x10058470"], ["0x10057922", "mov dword ptr [edi], eax", "0x10058475"], ["0x10057924", "mov eax, dword ptr [ebx]", "0x10058477"], ["0x10057926", "push eax", "0x10058479"], ["0x10057927", "mov ecx, dword ptr [edi]", "0x1005847a"], ["0x10057929", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x1005847c"], ["0x1005792e", "mov dword ptr [edi], eax", "0x10058481"]]}]]]}, {"address": "0x10057950", "recomp": "0x100584a0", "name": "LegoPathBoundary::Intersect", "matching": 0.9858299595141701, "diff": [["@@ -0x10057987,24 +0x100584d7,24 @@", [{"both": [["0x10057987", "xor edi, edi", "0x100584d7"], ["0x10057989", "mov eax, dword ptr [esp + 0x9c]", "0x100584d9"], ["0x10057990", "mov ecx, dword ptr [eax]", "0x100584e0"], ["0x10057992", "mov edx, dword ptr [ecx + 0x38]", "0x100584e2"], ["0x10057995", "mov dword ptr [esp + 0x54], edx", "0x100584e5"], ["0x10057999", "mov eax, dword ptr [esi + 8]", "0x100584e9"], ["0x1005799c", "mov ebp, dword ptr [esi + 0x2c]", "0x100584ec"], ["0x1005799f", "add ebp, ebx", "0x100584ef"], ["0x100579a1", "mov ecx, dword ptr [eax + edi]", "0x100584f1"], ["0x100579a4", "mov eax, dword ptr [esp + 0x9c]", "0x100584f4"]]}, {"orig": [], "recomp": [["0x100584fb", "mov dword ptr [esp + 0x1c], ecx"], ["0x100584ff", "mov ecx, dword ptr [esp + 0x9c]"], ["0x10058506", "push eax"]]}, {"both": [["0x100579ab", "push ebp", "0x10058507"]]}, {"orig": [["0x100579ac", "mov dword ptr [esp + 0x20], ecx"], ["0x100579b0", "push eax"], ["0x100579b1", "mov ecx, dword ptr [esp + 0xa4]"]], "recomp": []}, {"both": [["0x100579b8", "call dword ptr [esp + 0x5c]", "0x10058508"], ["0x100579bc", "mov eax, dword ptr [ebp + 4]", "0x1005850c"], ["0x100579bf", "fadd dword ptr [eax + 0xc]", "0x1005850f"], ["0x100579c2", "fcomp qword ptr [-1e-07 (FLOAT)]", "0x10058512"], ["0x100579c8", "fnstsw ax", "0x10058518"], ["0x100579ca", "test ah, 0x41", "0x1005851a"], ["0x100579cd", "je 0x11b", "0x1005851d"], ["0x100579d3", "cmp dword ptr [esp + 0x40], 0", "0x10058523"], ["0x100579d8", "jne 0x82", "0x10058528"], ["0x100579de", "mov eax, dword ptr [esp + 0x9c]", "0x1005852e"]]}]], ["@@ -0x10057ac1,24 +0x10058611,24 @@", [{"both": [["0x10057ac1", "fnstsw ax", "0x10058611"], ["0x10057ac3", "test ah, 1", "0x10058613"], ["0x10057ac6", "jne 0x26", "0x10058616"], ["0x10057ac8", "cmp dword ptr [esp + 0x10], 0", "0x10058618"], ["0x10057acd", "je 0xf", "0x1005861d"], ["0x10057acf", "fld dword ptr [esp + 0x38]", "0x1005861f"], ["0x10057ad3", "fcomp dword ptr [esp + 0x7c]", "0x10058623"], ["0x10057ad7", "fnstsw ax", "0x10058627"], ["0x10057ad9", "test ah, 0x41", "0x10058629"], ["0x10057adc", "jne 0x10", "0x1005862c"]]}, {"orig": [["0x10057ade", "mov eax, dword ptr [esp + 0x7c]"], ["0x10057ae2", "mov dword ptr [esp + 0x38], eax"], ["0x10057ae6", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10057aea", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x1005862e", "mov eax, dword ptr [esp + 0x1c]"], ["0x10058632", "mov ecx, dword ptr [esp + 0x7c]"], ["0x10058636", "mov dword ptr [esp + 0x10], eax"], ["0x1005863a", "mov dword ptr [esp + 0x38], ecx"]]}, {"both": [["0x10057aee", "add ebx, 0x18", "0x1005863e"], ["0x10057af1", "add edi, 4", "0x10058641"], ["0x10057af4", "xor eax, eax", "0x10058644"], ["0x10057af6", "inc dword ptr [esp + 0x14]", "0x10058646"], ["0x10057afa", "mov al, byte ptr [esi + 4]", "0x1005864a"], ["0x10057afd", "cmp eax, dword ptr [esp + 0x14]", "0x1005864d"], ["0x10057b01", "jg -0x16e", "0x10058651"], ["0x10057b07", "cmp dword ptr [esp + 0x10], 0", "0x10058657"], ["0x10057b0c", "je 0x4b2", "0x1005865c"], ["0x10057b12", "cmp dword ptr [esp + 0x38], 0x80000000", "0x10058662"]]}]]]}, {"address": "0x10057fe0", "recomp": "0x10058b30", "name": "LegoPathBoundary::FUN_10057fe0", "matching": 0.8571428571428571, "diff": [["@@ -0x10057fe0,44 +0x10058b30,44 @@", [{"both": [["0x10057fe0", "sub esp, 0x20", "0x10058b30"], ["0x10057fe3", "lea eax, [esp + 0xc]", "0x10058b33"], ["0x10057fe7", "push esi", "0x10058b37"], ["0x10057fe8", "push edi", "0x10058b38"], ["0x10057fe9", "mov esi, ecx", "0x10058b39"], ["0x10057feb", "mov dword ptr [esp + 0xc], Mx3DPointFloat::`vftable' (VTABLE)", "0x10058b3b"]]}, {"orig": [], "recomp": [["0x10058b43", "mov ecx, dword ptr [esi + 0x34]"]]}, {"both": [["0x10057ff3", "mov dword ptr [esp + 0x10], eax", "0x10058b46"]]}, {"orig": [["0x10057ff7", "mov ecx, dword ptr [esi + 0x34]"]], "recomp": []}, {"both": [["0x10057ffa", "push ecx", "0x10058b4a"], ["0x10057ffb", "lea ecx, [esp + 0x10]", "0x10058b4b"], ["0x10057fff", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x10058b4f"]]}, {"orig": [], "recomp": [["0x10058b55", "mov edi, dword ptr [esi + 0x3c]"]]}, {"both": [["0x10058005", "lea ecx, [esi + 0x38]", "0x10058b58"], ["0x10058008", "lea edx, [esp + 0x14]", "0x10058b5b"], ["0x1005800c", "mov eax, dword ptr [ecx]", "0x10058b5f"]]}, {"orig": [], "recomp": [["0x10058b61", "mov ecx, dword ptr [ecx + 8]"]]}, {"both": [["0x1005800e", "mov dword ptr [edx], eax", "0x10058b64"]]}, {"orig": [["0x10058010", "mov edi, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x10058013", "mov dword ptr [edx + 4], edi", "0x10058b66"], ["0x10058016", "mov edi, dword ptr [esp + 0x2c]", "0x10058b69"]]}, {"orig": [["0x1005801a", "mov ecx, dword ptr [ecx + 8]"]], "recomp": [["0x10058b6d", "mov dword ptr [edx + 8], ecx"]]}, {"both": [["0x1005801d", "lea eax, [edi + 0xa8]", "0x10058b70"]]}, {"orig": [], "recomp": [["0x10058b76", "lea ecx, [esp + 0xc]"]]}, {"both": [["0x10058023", "push eax", "0x10058b7a"]]}, {"orig": [["0x10058024", "mov dword ptr [edx + 8], ecx"], ["0x10058027", "lea ecx, [esp + 0x10]"]], "recomp": []}, {"both": [["0x1005802b", "mov eax, dword ptr [esp + 0x10]", "0x10058b7b"], ["0x1005802f", "call dword ptr [eax + 0x54]", "0x10058b7f"]]}, {"orig": [["0x10058032", "mov edx, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x10058036", "mov ecx, dword ptr [esp + 0x10]", "0x10058b82"]]}, {"orig": [["0x1005803a", "add edx, 4"], ["0x1005803d", "add ecx, 8"]], "recomp": []}, {"both": [["0x10058040", "mov eax, dword ptr [esp + 0x10]", "0x10058b86"]]}, {"orig": [], "recomp": [["0x10058b8a", "add ecx, 4"], ["0x10058b8d", "add eax, 8"], ["0x10058b90", "fld dword ptr [ecx]"], ["0x10058b92", "fmul dword ptr [ecx]"]]}, {"both": [["0x10058044", "fld dword ptr [eax]", "0x10058b94"], ["0x10058046", "fmul dword ptr [eax]", "0x10058b96"]]}, {"orig": [["0x10058048", "fld dword ptr [edx]"], ["0x1005804a", "fmul dword ptr [edx]"]], "recomp": [["0x10058b98", "mov ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x1005804c", "faddp st(1)", "0x10058b9c"], ["0x1005804e", "fld dword ptr [ecx]", "0x10058b9e"], ["0x10058050", "fmul dword ptr [ecx]", "0x10058ba0"], ["0x10058052", "faddp st(1)", "0x10058ba2"], ["0x10058054", "fstp dword ptr [esp + 8]", "0x10058ba4"], ["0x10058058", "fld dword ptr [edi + 0xa4]", "0x10058ba8"], ["0x1005805e", "fadd dword ptr [esi + 0x44]", "0x10058bae"], ["0x10058061", "fstp dword ptr [esp + 0x20]", "0x10058bb1"], ["0x10058065", "fld dword ptr [esp + 8]", "0x10058bb5"], ["0x10058069", "fcomp qword ptr [0.001 (FLOAT)]", "0x10058bb9"]]}]]]}, {"address": "0x100580c0", "recomp": "0x10058c10", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::insert", "matching": 0.513189448441247, "diff": [["@@ -0x100580c0,208 +0x10058c10,209 @@", [{"both": [["0x100580c0", "sub esp, 0xc", "0x10058c10"], ["0x100580c3", "push ebx", "0x10058c13"], ["0x100580c4", "push esi", "0x10058c14"]]}, {"orig": [["0x100580c5", "mov edx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100580c8", "push edi", "0x10058c15"]]}, {"orig": [], "recomp": [["0x10058c16", "mov ebx, ecx"]]}, {"both": [["0x100580c9", "push ebp", "0x10058c18"]]}, {"orig": [["0x100580ca", "mov esi, ecx"], ["0x100580cc", "mov ebx, dword ptr [edx + 4]"], ["0x100580cf", "mov ebp, edx"], ["0x100580d1", "mov ecx, 1"], ["0x100580d6", "cmp ebx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x100580dc", "je 0x27"], ["0x100580de", "mov eax, dword ptr [esp + 0x24]"], ["0x100580e2", "mov eax, dword ptr [eax]"], ["0x100580e4", "mov ebp, ebx"], ["0x100580e6", "mov ecx, 1"], ["0x100580eb", "cmp dword ptr [ebx + 0xc], eax"], ["0x100580ee", "jg 0x2"], ["0x100580f0", "xor ecx, ecx"], ["0x100580f2", "test ecx, ecx"]], "recomp": [["0x10058c19", "mov eax, 1"], ["0x10058c1e", "mov ebp, dword ptr [ebx + 4]"], ["0x10058c21", "mov edi, ebp"], ["0x10058c23", "mov esi, dword ptr [ebp + 4]"], ["0x10058c26", "cmp esi, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x10058c2c", "je 0x25"], ["0x10058c2e", "mov ecx, dword ptr [esp + 0x24]"], ["0x10058c32", "mov edx, dword ptr [ecx]"], ["0x10058c34", "mov edi, esi"], ["0x10058c36", "cmp dword ptr [esi + 0xc], edx"], ["0x10058c39", "setg cl"], ["0x10058c3c", "xor eax, eax"], ["0x10058c3e", "mov al, cl"], ["0x10058c40", "test eax, eax"]]}, {"both": [["0x100580f4", "jne 0x5", "0x10058c42"]]}, {"orig": [["0x100580f6", "mov ebx, dword ptr [ebx + 8]"]], "recomp": [["0x10058c44", "mov esi, dword ptr [esi + 8]"]]}, {"both": [["0x100580f9", "jmp 0x2", "0x10058c47"]]}, {"orig": [["0x100580fb", "mov ebx, dword ptr [ebx]"], ["0x100580fd", "cmp ebx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x10058103", "jne -0x21"], ["0x10058105", "cmp dword ptr [esi + 8], 0"]], "recomp": [["0x10058c49", "mov esi, dword ptr [esi]"], ["0x10058c4b", "cmp esi, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x10058c51", "jne -0x1f"], ["0x10058c53", "cmp dword ptr [ebx + 8], 0"]]}, {"both": [["0x10058109", "je 0x34", "0x10058c57"]]}, {"orig": [["0x1005810b", "mov eax, dword ptr [esp + 0x24]"], ["0x1005810f", "lea ecx, [esp + 0x14]"]], "recomp": [["0x10058c59", "mov ecx, dword ptr [esp + 0x24]"], ["0x10058c5d", "lea eax, [esp + 0x14]"]]}, {"both": [["0x10058113", "mov dword ptr [esp + 0x10], 1", "0x10058c61"]]}, {"orig": [], "recomp": [["0x10058c69", "push ecx"], ["0x10058c6a", "push edi"], ["0x10058c6b", "push esi"], ["0x10058c6c", "mov ecx, ebx"]]}, {"both": [["0x1005811b", "push eax", "0x10058c6e"]]}, {"orig": [["0x1005811c", "push ebp"], ["0x1005811d", "push ebx"], ["0x1005811e", "push ecx"], ["0x1005811f", "mov ecx, esi"]], "recomp": []}, {"both": [["0x10058121", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Insert (FUNCTION)", "0x10058c6f"], ["0x10058126", "mov ecx, dword ptr [eax]", "0x10058c74"], ["0x10058128", "mov eax, dword ptr [esp + 0x20]", "0x10058c76"], ["0x1005812c", "mov dword ptr [eax], ecx", "0x10058c7a"], ["0x1005812e", "mov edx, dword ptr [esp + 0x10]", "0x10058c7c"], ["0x10058132", "pop ebp", "0x10058c80"], ["0x10058133", "pop edi", "0x10058c81"], ["0x10058134", "mov dword ptr [eax + 4], edx", "0x10058c82"], ["0x10058137", "pop esi", "0x10058c85"], ["0x10058138", "pop ebx", "0x10058c86"], ["0x10058139", "add esp, 0xc", "0x10058c87"], ["0x1005813c", "ret 8", "0x10058c8a"]]}, {"orig": [["0x1005813f", "mov dword ptr [esp + 0x18], ebp"], ["0x10058143", "test ecx, ecx"], ["0x10058145", "je 0x41"], ["0x10058147", "cmp dword ptr [edx], ebp"]], "recomp": [["0x10058c8d", "mov dword ptr [esp + 0x18], edi"], ["0x10058c91", "test eax, eax"], ["0x10058c93", "je 0x42"], ["0x10058c95", "cmp dword ptr [ebp], edi"]]}, {"both": [["0x10058149", "jne 0x34", "0x10058c98"]]}, {"orig": [["0x1005814b", "mov eax, dword ptr [esp + 0x24]"], ["0x1005814f", "lea ecx, [esp + 0x14]"]], "recomp": [["0x10058c9a", "mov ecx, dword ptr [esp + 0x24]"], ["0x10058c9e", "lea eax, [esp + 0x14]"]]}, {"both": [["0x10058153", "mov dword ptr [esp + 0x10], 1", "0x10058ca2"]]}, {"orig": [], "recomp": [["0x10058caa", "push ecx"], ["0x10058cab", "push edi"], ["0x10058cac", "push esi"], ["0x10058cad", "mov ecx, ebx"]]}, {"both": [["0x1005815b", "push eax", "0x10058caf"]]}, {"orig": [["0x1005815c", "push ebp"], ["0x1005815d", "push ebx"], ["0x1005815e", "push ecx"], ["0x1005815f", "mov ecx, esi"]], "recomp": []}, {"both": [["0x10058161", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Insert (FUNCTION)", "0x10058cb0"], ["0x10058166", "mov ecx, dword ptr [eax]", "0x10058cb5"], ["0x10058168", "mov eax, dword ptr [esp + 0x20]", "0x10058cb7"], ["0x1005816c", "mov dword ptr [eax], ecx", "0x10058cbb"], ["0x1005816e", "mov edx, dword ptr [esp + 0x10]", "0x10058cbd"], ["0x10058172", "pop ebp", "0x10058cc1"], ["0x10058173", "pop edi", "0x10058cc2"], ["0x10058174", "mov dword ptr [eax + 4], edx", "0x10058cc3"], ["0x10058177", "pop esi", "0x10058cc6"], ["0x10058178", "pop ebx", "0x10058cc7"], ["0x10058179", "add esp, 0xc", "0x10058cc8"], ["0x1005817c", "ret 8", "0x10058ccb"], ["0x1005817f", "lea ecx, [esp + 0x18]", "0x10058cce"], ["0x10058183", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::iterator::_Dec (FUNCTION)", "0x10058cd2"]]}, {"orig": [["0x10058188", "mov ecx, dword ptr [esp + 0x18]"], ["0x1005818c", "mov eax, dword ptr [esp + 0x24]"], ["0x10058190", "mov edx, dword ptr [eax]"], ["0x10058192", "cmp dword ptr [ecx + 0xc], edx"], ["0x10058195", "jge 0x16f"]], "recomp": [["0x10058cd7", "mov eax, dword ptr [esp + 0x18]"], ["0x10058cdb", "mov ecx, dword ptr [esp + 0x24]"], ["0x10058cdf", "mov edx, dword ptr [ecx]"], ["0x10058ce1", "cmp dword ptr [eax + 0xc], edx"], ["0x10058ce4", "jge 0x16e"]]}, {"both": [["0x1005819b", "push 0", "0x10058cea"]]}, {"orig": [["0x1005819d", "mov ecx, esi"]], "recomp": [["0x10058cec", "mov ecx, ebx"]]}, {"both": [["0x1005819f", "mov dword ptr [esp + 0x14], 1", "0x10058cee"]]}, {"orig": [["0x100581a7", "push ebp"]], "recomp": [["0x10058cf6", "push edi"]]}, {"both": [["0x100581a8", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Buynode (FUNCTION)", "0x10058cf7"]]}, {"orig": [["0x100581ad", "mov edi, eax"]], "recomp": [["0x10058cfc", "mov ebp, eax"]]}, {"both": [["0x100581af", "mov ecx, dword ptr [esp + 0x24]", "0x10058cfe"], ["0x100581b3", "mov eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]", "0x10058d02"], ["0x100581b8", "push ecx", "0x10058d07"]]}, {"orig": [["0x100581b9", "lea edx, [edi + 0xc]"], ["0x100581bc", "mov dword ptr [edi], eax"]], "recomp": [["0x10058d08", "lea edx, [ebp + 0xc]"], ["0x10058d0b", "mov dword ptr [ebp], eax"]]}, {"both": [["0x100581be", "mov eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]", "0x10058d0e"], ["0x100581c3", "push edx", "0x10058d13"]]}, {"orig": [["0x100581c4", "mov dword ptr [edi + 8], eax"]], "recomp": [["0x10058d14", "mov dword ptr [ebp + 8], eax"]]}, {"both": [["0x100581c7", "call _Construct (FUNCTION)", "0x10058d17"], ["0x100581cc", "add esp, 8", "0x10058d1c"]]}, {"orig": [["0x100581cf", "inc dword ptr [esi + 0xc]"], ["0x100581d2", "cmp dword ptr [esi + 4], ebp"]], "recomp": [["0x10058d1f", "inc dword ptr [ebx + 0xc]"], ["0x10058d22", "cmp dword ptr [ebx + 4], edi"]]}, {"both": [["0x100581d5", "je 0x24", "0x10058d25"]]}, {"orig": [["0x100581d7", "cmp ebx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]], "recomp": [["0x10058d27", "cmp esi, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x100581dd", "jne 0x1c", "0x10058d2d"]]}, {"orig": [["0x100581df", "mov eax, dword ptr [esp + 0x24]"], ["0x100581e3", "mov ecx, dword ptr [eax]"], ["0x100581e5", "cmp dword ptr [ebp + 0xc], ecx"]], "recomp": [["0x10058d2f", "mov ecx, dword ptr [esp + 0x24]"], ["0x10058d33", "mov eax, dword ptr [ecx]"], ["0x10058d35", "cmp dword ptr [edi + 0xc], eax"]]}, {"both": [["0x100581e8", "jg 0x11", "0x10058d38"]]}, {"orig": [["0x100581ea", "mov dword ptr [ebp + 8], edi"], ["0x100581ed", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x10058d3a", "mov dword ptr [edi + 8], ebp"], ["0x10058d3d", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x100581f0", "add eax, 8", "0x10058d40"]]}, {"orig": [["0x100581f3", "cmp dword ptr [eax], ebp"], ["0x100581f5", "jne 0x1f"], ["0x100581f7", "mov dword ptr [eax], edi"], ["0x100581f9", "jmp 0x1b"], ["0x100581fb", "mov dword ptr [ebp], edi"], ["0x100581fe", "mov eax, dword ptr [esi + 4]"], ["0x10058201", "cmp eax, ebp"]], "recomp": [["0x10058d43", "cmp dword ptr [eax], edi"], ["0x10058d45", "jne 0x1e"], ["0x10058d47", "mov dword ptr [eax], ebp"], ["0x10058d49", "jmp 0x1a"], ["0x10058d4b", "mov dword ptr [edi], ebp"], ["0x10058d4d", "mov eax, dword ptr [ebx + 4]"], ["0x10058d50", "cmp edi, eax"]]}, {"both": [["0x10058203", "je 0x8", "0x10058d52"]]}, {"orig": [["0x10058205", "cmp dword ptr [eax], ebp"]], "recomp": [["0x10058d54", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10058207", "jne 0xd", "0x10058d56"]]}, {"orig": [["0x10058209", "mov dword ptr [eax], edi"]], "recomp": [["0x10058d58", "mov dword ptr [eax], ebp"]]}, {"both": [["0x1005820b", "jmp 0x9", "0x10058d5a"]]}, {"orig": [["0x1005820d", "mov dword ptr [eax + 4], edi"], ["0x10058210", "mov eax, dword ptr [esi + 4]"], ["0x10058213", "mov dword ptr [eax + 8], edi"], ["0x10058216", "mov ebx, edi"], ["0x10058218", "mov eax, dword ptr [esi + 4]"], ["0x1005821b", "cmp dword ptr [eax + 4], edi"], ["0x1005821e", "je 0xc2"], ["0x10058224", "lea ecx, [ebx + 4]"]], "recomp": [["0x10058d5c", "mov dword ptr [eax + 4], ebp"], ["0x10058d5f", "mov eax, dword ptr [ebx + 4]"], ["0x10058d62", "mov dword ptr [eax + 8], ebp"], ["0x10058d65", "mov esi, ebp"], ["0x10058d67", "mov eax, dword ptr [ebx + 4]"], ["0x10058d6a", "cmp dword ptr [eax + 4], ebp"], ["0x10058d6d", "je 0xc1"], ["0x10058d73", "lea ecx, [esi + 4]"]]}, {"both": [["0x10058227", "mov edx, dword ptr [ecx]", "0x10058d76"], ["0x10058229", "lea eax, [edx + 0x10]", "0x10058d78"], ["0x1005822c", "cmp dword ptr [eax], 0", "0x10058d7b"]]}, {"orig": [["0x1005822f", "jne 0xb1"], ["0x10058235", "mov ebp, dword ptr [edx + 4]"], ["0x10058238", "mov ebp, dword ptr [ebp]"], ["0x1005823b", "cmp ebp, edx"]], "recomp": [["0x10058d7e", "jne 0xb0"], ["0x10058d84", "mov edi, dword ptr [edx + 4]"], ["0x10058d87", "mov edi, dword ptr [edi]"], ["0x10058d89", "cmp edi, edx"]]}, {"both": [["0x1005823d", "jne 0x42", "0x10058d8b"]]}, {"orig": [["0x1005823f", "mov ebp, dword ptr [edx + 4]"], ["0x10058242", "mov ebp, dword ptr [ebp + 8]"], ["0x10058245", "cmp dword ptr [ebp + 0x10], 0"]], "recomp": [["0x10058d8d", "mov edi, dword ptr [edx + 4]"], ["0x10058d90", "mov edi, dword ptr [edi + 8]"], ["0x10058d93", "cmp dword ptr [edi + 0x10], 0"]]}, {"both": [["0x10058249", "je 0x71", "0x10058d97"]]}, {"orig": [["0x1005824b", "cmp dword ptr [edx + 8], ebx"]], "recomp": [["0x10058d99", "cmp dword ptr [edx + 8], esi"]]}, {"both": [["0x1005824e", "jne 0xa", "0x10058d9c"], ["0x10058250", "push edx", "0x10058d9e"]]}, {"orig": [["0x10058251", "mov ebx, edx"], ["0x10058253", "mov ecx, esi"]], "recomp": [["0x10058d9f", "mov esi, edx"], ["0x10058da1", "mov ecx, ebx"]]}, {"both": [["0x10058255", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Lrotate (FUNCTION)", "0x10058da3"]]}, {"orig": [["0x1005825a", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10058da8", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x1005825d", "mov dword ptr [eax + 0x10], 1", "0x10058dab"]]}, {"orig": [["0x10058264", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10058db2", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10058267", "mov ecx, dword ptr [eax + 4]", "0x10058db5"], ["0x1005826a", "mov dword ptr [ecx + 0x10], 0", "0x10058db8"]]}, {"orig": [["0x10058271", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10058dbf", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10058274", "mov ecx, dword ptr [eax + 4]", "0x10058dc2"], ["0x10058277", "push ecx", "0x10058dc5"]]}, {"orig": [["0x10058278", "mov ecx, esi"]], "recomp": [["0x10058dc6", "mov ecx, ebx"]]}, {"both": [["0x1005827a", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Rrotate (FUNCTION)", "0x10058dc8"], ["0x1005827f", "jmp 0x59", "0x10058dcd"]]}, {"orig": [["0x10058281", "cmp dword ptr [ebp + 0x10], 0"]], "recomp": [["0x10058dcf", "cmp dword ptr [edi + 0x10], 0"]]}, {"both": [["0x10058285", "je 0x35", "0x10058dd3"]]}, {"orig": [["0x10058287", "cmp dword ptr [edx], ebx"]], "recomp": [["0x10058dd5", "cmp dword ptr [edx], esi"]]}, {"both": [["0x10058289", "jne 0xa", "0x10058dd7"], ["0x1005828b", "push edx", "0x10058dd9"]]}, {"orig": [["0x1005828c", "mov ebx, edx"], ["0x1005828e", "mov ecx, esi"]], "recomp": [["0x10058dda", "mov esi, edx"], ["0x10058ddc", "mov ecx, ebx"]]}, {"both": [["0x10058290", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Rrotate (FUNCTION)", "0x10058dde"]]}, {"orig": [["0x10058295", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10058de3", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10058298", "mov dword ptr [eax + 0x10], 1", "0x10058de6"]]}, {"orig": [["0x1005829f", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10058ded", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100582a2", "mov ecx, dword ptr [eax + 4]", "0x10058df0"], ["0x100582a5", "mov dword ptr [ecx + 0x10], 0", "0x10058df3"]]}, {"orig": [["0x100582ac", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10058dfa", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100582af", "mov ecx, dword ptr [eax + 4]", "0x10058dfd"], ["0x100582b2", "push ecx", "0x10058e00"]]}, {"orig": [["0x100582b3", "mov ecx, esi"]], "recomp": [["0x10058e01", "mov ecx, ebx"]]}, {"both": [["0x100582b5", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Lrotate (FUNCTION)", "0x10058e03"], ["0x100582ba", "jmp 0x1e", "0x10058e08"], ["0x100582bc", "mov dword ptr [eax], 1", "0x10058e0a"]]}, {"orig": [["0x100582c2", "mov dword ptr [ebp + 0x10], 1"]], "recomp": [["0x10058e10", "mov dword ptr [edi + 0x10], 1"]]}, {"both": [["0x100582c9", "mov eax, dword ptr [ecx]", "0x10058e17"], ["0x100582cb", "mov edx, dword ptr [eax + 4]", "0x10058e19"], ["0x100582ce", "mov dword ptr [edx + 0x10], 0", "0x10058e1c"], ["0x100582d5", "mov eax, dword ptr [ecx]", "0x10058e23"]]}, {"orig": [["0x100582d7", "mov ebx, dword ptr [eax + 4]"], ["0x100582da", "mov eax, dword ptr [esi + 4]"], ["0x100582dd", "cmp dword ptr [eax + 4], ebx"], ["0x100582e0", "jne -0xc2"], ["0x100582e6", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x10058e25", "mov esi, dword ptr [eax + 4]"], ["0x10058e28", "mov eax, dword ptr [ebx + 4]"], ["0x10058e2b", "cmp dword ptr [eax + 4], esi"], ["0x10058e2e", "jne -0xc1"], ["0x10058e34", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x100582e9", "mov ecx, dword ptr [eax + 4]", "0x10058e37"], ["0x100582ec", "mov eax, dword ptr [esp + 0x20]", "0x10058e3a"], ["0x100582f0", "mov dword ptr [ecx + 0x10], 1", "0x10058e3e"]]}, {"orig": [["0x100582f7", "mov dword ptr [eax], edi"]], "recomp": [["0x10058e45", "mov dword ptr [eax], ebp"]]}, {"both": [["0x100582f9", "mov ecx, dword ptr [esp + 0x10]", "0x10058e47"], ["0x100582fd", "pop ebp", "0x10058e4b"], ["0x100582fe", "pop edi", "0x10058e4c"], ["0x100582ff", "mov dword ptr [eax + 4], ecx", "0x10058e4d"], ["0x10058302", "pop esi", "0x10058e50"], ["0x10058303", "pop ebx", "0x10058e51"], ["0x10058304", "add esp, 0xc", "0x10058e52"], ["0x10058307", "ret 8", "0x10058e55"], ["0x1005830a", "mov ecx, dword ptr [esp + 0x18]", "0x10058e58"], ["0x1005830e", "mov eax, dword ptr [esp + 0x20]", "0x10058e5c"], ["0x10058312", "pop ebp", "0x10058e60"], ["0x10058313", "pop edi", "0x10058e61"], ["0x10058314", "pop esi", "0x10058e62"], ["0x10058315", "mov dword ptr [eax], ecx", "0x10058e63"], ["0x10058317", "mov dword ptr [eax + 4], 0", "0x10058e65"], ["0x1005831e", "pop ebx", "0x10058e6c"], ["0x1005831f", "add esp, 0xc", "0x10058e6d"]]}, {"orig": [], "recomp": [["0x10058e70", "ret 8"]]}]]]}, {"address": "0x10058330", "recomp": "0x10058e80", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::iterator::_Dec", "matching": 1.0, "diff": []}, {"address": "0x10058380", "recomp": "0x10058ed0", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100583a0", "recomp": "0x10058ef0", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Insert", "matching": 0.9158878504672897, "diff": [["@@ -0x10058423,34 +0x10058f73,34 @@", [{"both": [["0x10058423", "jne 0x11", "0x10058f73"], ["0x10058425", "mov dword ptr [eax], edx", "0x10058f75"], ["0x10058427", "jmp 0xd", "0x10058f77"], ["0x10058429", "mov edx, dword ptr [esp + 0x10]", "0x10058f79"], ["0x1005842d", "mov dword ptr [eax + 4], edx", "0x10058f7d"], ["0x10058430", "mov eax, dword ptr [esi + 4]", "0x10058f80"], ["0x10058433", "mov dword ptr [eax + 8], edx", "0x10058f83"], ["0x10058436", "mov ecx, dword ptr [esp + 0x10]", "0x10058f86"], ["0x1005843a", "mov eax, dword ptr [esi + 4]", "0x10058f8a"], ["0x1005843d", "cmp dword ptr [eax + 4], ecx", "0x10058f8d"]]}, {"orig": [["0x10058440", "je 0x1b3"]], "recomp": [["0x10058f90", "je 0x1b4"]]}, {"both": [["0x10058446", "lea edx, [ecx + 4]", "0x10058f96"], ["0x10058449", "mov eax, dword ptr [edx]", "0x10058f99"]]}, {"orig": [["0x1005844b", "lea ebx, [eax + 0x10]"], ["0x1005844e", "cmp dword ptr [ebx], 0"]], "recomp": [["0x10058f9b", "lea ebp, [eax + 0x10]"], ["0x10058f9e", "cmp dword ptr [ebp], 0"]]}, {"both": [["0x10058451", "jne 0x1a2", "0x10058fa2"], ["0x10058457", "lea edi, [eax + 4]", "0x10058fa8"]]}, {"orig": [["0x1005845a", "mov ebp, dword ptr [edi]"], ["0x1005845c", "mov ebp, dword ptr [ebp]"], ["0x1005845f", "cmp ebp, eax"]], "recomp": [["0x10058fab", "mov ebx, dword ptr [edi]"], ["0x10058fad", "mov ebx, dword ptr [ebx]"], ["0x10058faf", "cmp ebx, eax"]]}, {"both": [["0x10058461", "jne 0xbb", "0x10058fb1"]]}, {"orig": [["0x10058467", "mov ebp, dword ptr [edi]"], ["0x10058469", "mov ebp, dword ptr [ebp + 8]"], ["0x1005846c", "cmp dword ptr [ebp + 0x10], 0"]], "recomp": [["0x10058fb7", "mov ebx, dword ptr [edi]"], ["0x10058fb9", "mov ebx, dword ptr [ebx + 8]"], ["0x10058fbc", "cmp dword ptr [ebx + 0x10], 0"]]}, {"both": [["0x10058470", "je 0x159", "0x10058fc0"], ["0x10058476", "lea ebx, [eax + 8]", "0x10058fc6"], ["0x10058479", "mov edx, dword ptr [ebx]", "0x10058fc9"], ["0x1005847b", "cmp ecx, edx", "0x10058fcb"], ["0x1005847d", "jne 0x33", "0x10058fcd"], ["0x1005847f", "mov ecx, eax", "0x10058fcf"], ["0x10058481", "mov eax, dword ptr [edx]", "0x10058fd1"], ["0x10058483", "mov dword ptr [ebx], eax", "0x10058fd3"], ["0x10058485", "mov eax, dword ptr [edx]", "0x10058fd5"], ["0x10058487", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x10058fd7"]]}]], ["@@ -0x100584ed,29 +0x1005903d,29 @@", [{"both": [["0x100584ed", "add eax, 4", "0x1005903d"], ["0x100584f0", "cmp dword ptr [eax], edi", "0x10059040"], ["0x100584f2", "je 0x24", "0x10059042"], ["0x100584f4", "mov ebx, dword ptr [edi + 4]", "0x10059044"], ["0x100584f7", "lea eax, [ebx + 8]", "0x10059047"], ["0x100584fa", "cmp dword ptr [eax], edi", "0x1005904a"], ["0x100584fc", "je 0xd", "0x1005904c"], ["0x100584fe", "mov dword ptr [ebx], edx", "0x1005904e"], ["0x10058500", "mov dword ptr [edx + 8], edi", "0x10059050"], ["0x10058503", "mov dword ptr [edi + 4], edx", "0x10059053"]]}, {"orig": [["0x10058506", "jmp 0xe2"]], "recomp": [["0x10059056", "jmp 0xe3"]]}, {"both": [["0x1005850b", "mov dword ptr [eax], edx", "0x1005905b"], ["0x1005850d", "mov dword ptr [edx + 8], edi", "0x1005905d"], ["0x10058510", "mov dword ptr [edi + 4], edx", "0x10059060"]]}, {"orig": [["0x10058513", "jmp 0xd5"]], "recomp": [["0x10059063", "jmp 0xd6"]]}, {"both": [["0x10058518", "mov dword ptr [eax], edx", "0x10059068"], ["0x1005851a", "mov dword ptr [edx + 8], edi", "0x1005906a"], ["0x1005851d", "jmp 0xa8", "0x1005906d"]]}, {"orig": [["0x10058522", "cmp dword ptr [ebp + 0x10], 0"]], "recomp": [["0x10059072", "cmp dword ptr [ebx + 0x10], 0"]]}, {"both": [["0x10058526", "je 0xa3", "0x10059076"], ["0x1005852c", "mov edx, dword ptr [eax]", "0x1005907c"], ["0x1005852e", "cmp ecx, edx", "0x1005907e"], ["0x10058530", "jne 0x38", "0x10059080"], ["0x10058532", "mov ecx, eax", "0x10059082"], ["0x10058534", "mov eax, dword ptr [edx + 8]", "0x10059084"], ["0x10058537", "mov dword ptr [ecx], eax", "0x10059087"], ["0x10058539", "mov eax, dword ptr [edx + 8]", "0x10059089"], ["0x1005853c", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax", "0x1005908c"], ["0x10058542", "je 0x3", "0x10059092"]]}]], ["@@ -0x100585a2,39 +0x100590f2,39 @@", [{"both": [["0x100585a2", "mov eax, dword ptr [esi + 4]", "0x100590f2"], ["0x100585a5", "add eax, 4", "0x100590f5"], ["0x100585a8", "cmp dword ptr [eax], edi", "0x100590f8"], ["0x100585aa", "je 0x1a", "0x100590fa"], ["0x100585ac", "mov eax, dword ptr [edi + 4]", "0x100590fc"], ["0x100585af", "cmp dword ptr [eax], edi", "0x100590ff"], ["0x100585b1", "je 0xa", "0x10059101"], ["0x100585b3", "mov dword ptr [eax + 8], edx", "0x10059103"], ["0x100585b6", "mov dword ptr [edx], edi", "0x10059106"], ["0x100585b8", "mov dword ptr [edi + 4], edx", "0x10059108"]]}, {"orig": [["0x100585bb", "jmp 0x30"]], "recomp": [["0x1005910b", "jmp 0x31"]]}, {"both": [["0x100585bd", "mov dword ptr [eax], edx", "0x1005910d"], ["0x100585bf", "mov dword ptr [edx], edi", "0x1005910f"], ["0x100585c1", "mov dword ptr [edi + 4], edx", "0x10059111"]]}, {"orig": [["0x100585c4", "jmp 0x27"]], "recomp": [["0x10059114", "jmp 0x28"]]}, {"both": [["0x100585c6", "mov dword ptr [eax], edx", "0x10059116"], ["0x100585c8", "mov dword ptr [edx], edi", "0x10059118"], ["0x100585ca", "mov dword ptr [edi + 4], edx", "0x1005911a"]]}, {"orig": [["0x100585cd", "jmp 0x1e"], ["0x100585cf", "mov dword ptr [ebx], 1"], ["0x100585d5", "mov dword ptr [ebp + 0x10], 1"]], "recomp": [["0x1005911d", "jmp 0x1f"], ["0x1005911f", "mov dword ptr [ebp], 1"], ["0x10059126", "mov dword ptr [ebx + 0x10], 1"]]}, {"both": [["0x100585dc", "mov eax, dword ptr [edx]", "0x1005912d"], ["0x100585de", "mov ecx, dword ptr [eax + 4]", "0x1005912f"], ["0x100585e1", "mov dword ptr [ecx + 0x10], 0", "0x10059132"], ["0x100585e8", "mov eax, dword ptr [edx]", "0x10059139"], ["0x100585ea", "mov ecx, dword ptr [eax + 4]", "0x1005913b"], ["0x100585ed", "mov eax, dword ptr [esi + 4]", "0x1005913e"], ["0x100585f0", "cmp dword ptr [eax + 4], ecx", "0x10059141"]]}, {"orig": [["0x100585f3", "jne -0x1b3"]], "recomp": [["0x10059144", "jne -0x1b4"]]}, {"both": [["0x100585f9", "mov eax, dword ptr [esi + 4]", "0x1005914a"], ["0x100585fc", "mov edx, dword ptr [esp + 0x10]", "0x1005914d"], ["0x10058600", "mov ecx, dword ptr [eax + 4]", "0x10059151"], ["0x10058603", "mov eax, dword ptr [esp + 0x18]", "0x10059154"], ["0x10058607", "pop ebp", "0x10059158"], ["0x10058608", "pop edi", "0x10059159"], ["0x10058609", "mov dword ptr [ecx + 0x10], 1", "0x1005915a"], ["0x10058610", "pop esi", "0x10059161"], ["0x10058611", "mov dword ptr [eax], edx", "0x10059162"], ["0x10058613", "pop ebx", "0x10059164"]]}]]]}, {"address": "0x10058620", "recomp": "0x10059170", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Lrotate", "matching": 1.0, "diff": []}, {"address": "0x10058680", "recomp": "0x100591d0", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Rrotate", "matching": 1.0, "diff": []}, {"address": "0x100586e0", "recomp": "0x10059230", "name": "LegoPathBoundary::FUN_100586e0", "matching": 0.8037383177570093, "diff": [["@@ -0x100586e0,58 +0x10059230,58 @@", [{"both": [["0x100586e0", "sub esp, 0x1c", "0x10059230"], ["0x100586e3", "push ebx", "0x10059233"], ["0x100586e4", "push esi", "0x10059234"]]}, {"orig": [["0x100586e5", "mov ebx, dword ptr [esp + 0x28]"]], "recomp": []}, {"both": [["0x100586e9", "push edi", "0x10059235"], ["0x100586ea", "push ebp", "0x10059236"], ["0x100586eb", "mov edi, ecx", "0x10059237"]]}, {"orig": [["0x100586ed", "test ebx, ebx"]], "recomp": [["0x10059239", "mov ebp, dword ptr [esp + 0x30]"], ["0x1005923d", "test ebp, ebp"]]}, {"both": [["0x100586ef", "je 0xac", "0x1005923f"]]}, {"orig": [], "recomp": [["0x10059245", "mov ebx, dword ptr [edi + 0x68]"]]}, {"both": [["0x100586f5", "lea esi, [edi + 0x64]", "0x10059248"], ["0x100586f8", "lea eax, [esp + 0x20]", "0x1005924b"]]}, {"orig": [], "recomp": [["0x1005924f", "mov ecx, esi"], ["0x10059251", "mov dword ptr [esp + 0x20], ebp"]]}, {"both": [["0x100586fc", "push eax", "0x10059255"]]}, {"orig": [["0x100586fd", "mov ecx, esi"], ["0x100586ff", "mov dword ptr [esp + 0x24], ebx"], ["0x10058703", "mov ebp, dword ptr [edi + 0x68]"]], "recomp": []}, {"both": [["0x10058706", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Lbound (FUNCTION)", "0x10059256"], ["0x1005870b", "mov dword ptr [esp + 0x14], eax", "0x1005925b"], ["0x1005870f", "mov ecx, dword ptr [edi + 0x68]", "0x1005925f"], ["0x10058712", "cmp eax, ecx", "0x10059262"], ["0x10058714", "je 0xd", "0x10059264"], ["0x10058716", "mov edx, dword ptr [esp + 0x20]", "0x10059266"], ["0x1005871a", "cmp dword ptr [eax + 0xc], edx", "0x1005926a"], ["0x1005871d", "lea eax, [esp + 0x14]", "0x1005926d"], ["0x10058721", "jle 0x8", "0x10059271"], ["0x10058723", "lea eax, [esp + 0x1c]", "0x10059273"], ["0x10058727", "mov dword ptr [esp + 0x1c], ecx", "0x10059277"]]}, {"orig": [["0x1005872b", "cmp ebp, dword ptr [eax]"]], "recomp": [["0x1005927b", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1005872d", "je 0xdb", "0x1005927d"]]}, {"orig": [["0x10058733", "lea eax, [esp + 0x14]"]], "recomp": [["0x10059283", "lea eax, [esp + 0x20]"], ["0x10059287", "lea ecx, [esp + 0x14]"], ["0x1005928b", "mov dword ptr [esp + 0x20], ebp"], ["0x1005928f", "push eax"], ["0x10059290", "push ecx"]]}, {"both": [["0x10058737", "mov ecx, esi", "0x10059291"]]}, {"orig": [["0x10058739", "mov dword ptr [esp + 0x20], ebx"], ["0x1005873d", "lea ebx, [esp + 0x20]"], ["0x10058741", "push ebx"], ["0x10058742", "push eax"]], "recomp": []}, {"both": [["0x10058743", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::equal_range (FUNCTION)", "0x10059293"], ["0x10058748", "mov dword ptr [esp + 0x24], 0", "0x10059298"]]}, {"orig": [["0x10058750", "mov eax, dword ptr [esp + 0x18]"], ["0x10058754", "mov edx, dword ptr [esp + 0x13]"], ["0x10058758", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x100592a0", "mov ecx, dword ptr [esp + 0x18]"], ["0x100592a4", "mov eax, dword ptr [esp + 0x13]"], ["0x100592a8", "mov dword ptr [esp + 0x1c], ecx"], ["0x100592ac", "push eax"], ["0x100592ad", "mov edx, dword ptr [esp + 0x18]"], ["0x100592b1", "lea ecx, [esp + 0x28]"], ["0x100592b5", "mov dword ptr [esp + 0x2c], edx"], ["0x100592b9", "push ecx"], ["0x100592ba", "mov edx, dword ptr [esp + 0x24]"], ["0x100592be", "mov eax, dword ptr [esp + 0x30]"]]}, {"both": [["0x1005875c", "push edx", "0x100592c2"]]}, {"orig": [["0x1005875d", "mov ecx, dword ptr [esp + 0x18]"], ["0x10058761", "lea eax, [esp + 0x28]"], ["0x10058765", "mov dword ptr [esp + 0x2c], ecx"]], "recomp": []}, {"both": [["0x10058769", "push eax", "0x100592c3"]]}, {"orig": [["0x1005876a", "mov ecx, dword ptr [esp + 0x24]"], ["0x1005876e", "mov edx, dword ptr [esp + 0x30]"], ["0x10058772", "push ecx"], ["0x10058773", "push edx"]], "recomp": []}, {"both": [["0x10058774", "call _Distance (FUNCTION)", "0x100592c4"], ["0x10058779", "mov ecx, dword ptr [esp + 0x28]", "0x100592c9"], ["0x1005877d", "mov edx, dword ptr [esp + 0x24]", "0x100592cd"], ["0x10058781", "lea eax, [esp + 0x2c]", "0x100592d1"], ["0x10058785", "add esp, 0x10", "0x100592d5"], ["0x10058788", "push ecx", "0x100592d8"], ["0x10058789", "push edx", "0x100592d9"], ["0x1005878a", "push eax", "0x100592da"], ["0x1005878b", "mov ecx, esi", "0x100592db"], ["0x1005878d", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::erase (FUNCTION)", "0x100592dd"]]}]]]}, {"address": "0x10058820", "recomp": "0x10059370", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::erase", "matching": 1.0, "diff": []}, {"address": "0x100588e0", "recomp": "0x10059430", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::equal_range", "matching": 1.0, "effective": true, "diff": [["@@ -0x100588e0,29 +0x10059430,29 @@", [{"both": [["0x100588e0", "sub esp, 8", "0x10059430"], ["0x100588e3", "push ebx", "0x10059433"], ["0x100588e4", "push esi", "0x10059434"], ["0x100588e5", "push edi", "0x10059435"], ["0x100588e6", "mov ebx, dword ptr [ecx + 4]", "0x10059436"], ["0x100588e9", "mov ecx, ebx", "0x10059439"], ["0x100588eb", "mov edx, dword ptr [esp + 0x1c]", "0x1005943b"], ["0x100588ef", "mov edi, dword ptr [ebx + 4]", "0x1005943f"], ["0x100588f2", "mov eax, edi", "0x10059442"]]}, {"orig": [["0x100588f4", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x10059444", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x100588fa", "je 0x18", "0x1005944a"], ["0x100588fc", "mov esi, dword ptr [edx]", "0x1005944c"], ["0x100588fe", "cmp dword ptr [eax + 0xc], esi", "0x1005944e"], ["0x10058901", "jle 0x6", "0x10059451"], ["0x10058903", "mov ecx, eax", "0x10059453"], ["0x10058905", "mov eax, dword ptr [eax]", "0x10059455"], ["0x10058907", "jmp 0x3", "0x10059457"], ["0x10058909", "mov eax, dword ptr [eax + 8]", "0x10059459"]]}, {"orig": [["0x1005890c", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]], "recomp": [["0x1005945c", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]]}, {"both": [["0x10058912", "jne -0x16", "0x10059462"], ["0x10058914", "mov dword ptr [esp + 0x10], ecx", "0x10059464"], ["0x10058918", "cmp edi, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]", "0x10059468"], ["0x1005891e", "je 0x18", "0x1005946e"], ["0x10058920", "mov eax, dword ptr [edx]", "0x10059470"], ["0x10058922", "cmp dword ptr [edi + 0xc], eax", "0x10059472"], ["0x10058925", "jl 0x6", "0x10059475"], ["0x10058927", "mov ebx, edi", "0x10059477"], ["0x10058929", "mov edi, dword ptr [edi]", "0x10059479"], ["0x1005892b", "jmp 0x3", "0x1005947b"]]}]]]}, {"address": "0x10058950", "recomp": "0x100594a0", "name": "_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Lbound", "matching": 1.0, "effective": true, "diff": [["@@ -0x10058950,15 +0x100594a0,15 @@", [{"both": [["0x10058950", "mov eax, dword ptr [ecx + 4]", "0x100594a0"], ["0x10058953", "mov edx, dword ptr [eax + 4]", "0x100594a3"]]}, {"orig": [["0x10058956", "cmp edx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]], "recomp": [["0x100594a6", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], edx"]]}, {"both": [["0x1005895c", "je 0x1c", "0x100594ac"], ["0x1005895e", "mov ecx, dword ptr [esp + 4]", "0x100594ae"], ["0x10058962", "mov ecx, dword ptr [ecx]", "0x100594b2"], ["0x10058964", "cmp dword ptr [edx + 0xc], ecx", "0x100594b4"], ["0x10058967", "jl 0x6", "0x100594b7"], ["0x10058969", "mov eax, edx", "0x100594b9"], ["0x1005896b", "mov edx, dword ptr [edx]", "0x100594bb"], ["0x1005896d", "jmp 0x3", "0x100594bd"], ["0x1005896f", "mov edx, dword ptr [edx + 8]", "0x100594bf"]]}, {"orig": [["0x10058972", "cmp edx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]], "recomp": [["0x100594c2", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], edx"]]}, {"both": [["0x10058978", "jne -0x16", "0x100594c8"], ["0x1005897a", "ret 4", "0x100594ca"]]}]]]}, {"address": "0x10058980", "recomp": "0x100594d0", "name": "_Construct", "matching": 1.0, "diff": []}, {"address": "0x100589a0", "recomp": "0x100594f0", "name": "_Distance", "matching": 1.0, "diff": []}, {"address": "0x10058a00", "recomp": "0x10059900", "name": "LegoOmni::LegoOmni", "matching": 1.0, "diff": []}, {"address": "0x10058a90", "recomp": "0x10059990", "name": "MxOmni::IsPaused", "matching": 1.0, "diff": []}, {"address": "0x10058aa0", "recomp": "0x100599a0", "name": "LegoOmni::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10058ab0", "recomp": "0x100599b0", "name": "LegoOmni::IsA", "matching": 1.0, "diff": []}, {"address": "0x10058b30", "recomp": "0x10059a30", "name": "LegoOmni::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10058b50", "recomp": "0x10059a50", "name": "LegoOmni::~LegoOmni", "matching": 1.0, "diff": []}, {"address": "0x10058bd0", "recomp": "0x10059ad0", "name": "LegoOmni::Init", "matching": 1.0, "diff": []}, {"address": "0x10058c30", "recomp": "0x10059b30", "name": "LegoOmni::Destroy", "matching": 0.9283667621776505, "diff": [["@@ -0x10058cf2,61 +0x10059bf2,62 @@", [{"both": [["0x10058cf2", "mov dword ptr [esi + 0x90], 0", "0x10059bf2"], ["0x10058cfc", "mov ecx, dword ptr [esi + 0x98]", "0x10059bfc"], ["0x10058d02", "test ecx, ecx", "0x10059c02"], ["0x10058d04", "je 0x10", "0x10059c04"], ["0x10058d06", "push 1", "0x10059c06"], ["0x10058d08", "mov eax, dword ptr [ecx]", "0x10059c08"], ["0x10058d0a", "call dword ptr [eax]", "0x10059c0a"], ["0x10058d0c", "mov dword ptr [esi + 0x98], 0", "0x10059c0c"], ["0x10058d16", "mov edi, dword ptr [esi + 0x74]", "0x10059c16"], ["0x10058d19", "test edi, edi", "0x10059c19"]]}, {"orig": [["0x10058d1b", "je 0x85"]], "recomp": [["0x10059c1b", "je 0x87"]]}, {"both": [["0x10058d21", "mov eax, dword ptr [edi + 0xc]", "0x10059c21"]]}, {"orig": [["0x10058d24", "add edi, 8"]], "recomp": []}, {"both": [["0x10058d27", "mov ecx, dword ptr [eax]", "0x10059c24"], ["0x10058d29", "mov dword ptr [ebp - 0x10], ecx", "0x10059c26"]]}, {"orig": [["0x10058d2c", "cmp eax, ecx"], ["0x10058d2e", "je 0x62"]], "recomp": [["0x10059c29", "cmp ecx, eax"], ["0x10059c2b", "je 0x67"]]}, {"both": [["0x10058d30", "mov eax, dword ptr [ebp - 0x10]", "0x10059c2d"], ["0x10058d33", "mov ebx, dword ptr [eax + 0x10]", "0x10059c30"], ["0x10058d36", "test ebx, ebx", "0x10059c33"], ["0x10058d38", "je 0x10", "0x10059c35"], ["0x10058d3a", "mov ecx, ebx", "0x10059c37"], ["0x10058d3c", "call LegoTextureInfo::~LegoTextureInfo (FUNCTION)", "0x10059c39"], ["0x10058d41", "push ebx", "0x10059c3e"], ["0x10058d42", "call ??3@YAXPAX@Z (FUNCTION)", "0x10059c3f"], ["0x10058d47", "add esp, 4", "0x10059c44"], ["0x10058d4a", "mov eax, dword ptr [ebp - 0x10]", "0x10059c47"]]}, {"orig": [["0x10058d4d", "mov ecx, dword ptr [eax + 8]"]], "recomp": [["0x10059c4a", "mov eax, dword ptr [eax + 8]"], ["0x10059c4d", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"], ["0x10059c53", "je 0x13"], ["0x10059c55", "mov ecx, dword ptr [eax]"]]}, {"both": [["0x10058d50", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x10059c57"]]}, {"orig": [["0x10058d56", "je 0xe"], ["0x10058d58", "mov eax, dword ptr [ecx]"], ["0x10058d5a", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"], ["0x10058d60", "je 0x25"], ["0x10058d62", "mov ecx, eax"]], "recomp": [["0x10059c5d", "je 0x4"], ["0x10059c5f", "mov eax, ecx"]]}, {"both": [["0x10058d64", "jmp -0xe", "0x10059c61"]]}, {"orig": [], "recomp": [["0x10059c63", "mov dword ptr [ebp - 0x10], eax"], ["0x10059c66", "jmp 0x24"]]}, {"both": [["0x10058d66", "mov eax, dword ptr [ebp - 0x10]", "0x10059c68"], ["0x10058d69", "mov ecx, dword ptr [eax + 4]", "0x10059c6b"], ["0x10058d6c", "cmp dword ptr [ecx + 8], eax", "0x10059c6e"], ["0x10058d6f", "jne 0xe", "0x10059c71"], ["0x10058d71", "mov dword ptr [ebp - 0x10], ecx", "0x10059c73"], ["0x10058d74", "mov ecx, dword ptr [ecx + 4]", "0x10059c76"], ["0x10058d77", "mov eax, dword ptr [ebp - 0x10]", "0x10059c79"], ["0x10058d7a", "cmp dword ptr [ecx + 8], eax", "0x10059c7c"], ["0x10058d7d", "je -0xe", "0x10059c7f"], ["0x10058d7f", "mov eax, dword ptr [ebp - 0x10]", "0x10059c81"], ["0x10058d82", "cmp dword ptr [eax + 8], ecx", "0x10059c84"], ["0x10058d85", "je 0x3", "0x10059c87"], ["0x10058d87", "mov dword ptr [ebp - 0x10], ecx", "0x10059c89"], ["0x10058d8a", "mov eax, dword ptr [ebp - 0x10]", "0x10059c8c"]]}, {"orig": [["0x10058d8d", "cmp dword ptr [edi + 4], eax"], ["0x10058d90", "jne -0x62"]], "recomp": [["0x10059c8f", "cmp dword ptr [edi + 0xc], eax"], ["0x10059c92", "jne -0x67"]]}, {"both": [["0x10058d92", "mov ecx, dword ptr [esi + 0x74]", "0x10059c94"], ["0x10058d95", "test ecx, ecx", "0x10059c97"], ["0x10058d97", "je 0x6", "0x10059c99"], ["0x10058d99", "push 1", "0x10059c9b"], ["0x10058d9b", "mov eax, dword ptr [ecx]", "0x10059c9d"], ["0x10058d9d", "call dword ptr [eax]", "0x10059c9f"], ["0x10058d9f", "mov dword ptr [esi + 0x74], 0", "0x10059ca1"], ["0x10058da6", "mov ecx, dword ptr [esi + 0x6c]", "0x10059ca8"], ["0x10058da9", "test ecx, ecx", "0x10059cab"], ["0x10058dab", "je 0xd", "0x10059cad"]]}]]]}, {"address": "0x10058e70", "recomp": "0x10059d70", "name": "LegoOmni::Create", "matching": 0.949748743718593, "diff": [["@@ -0x10059112,32 +0x1005a012,30 @@", [{"both": [["0x10059112", "call ViewLODListManager::ViewLODListManager (FUNCTION)", "0x1005a012"], ["0x10059117", "xor ebx, ebx", "0x1005a017"], ["0x10059119", "mov edx, dword ptr [ebp - 0x14]", "0x1005a019"], ["0x1005911c", "push 0x24", "0x1005a01c"], ["0x1005911e", "mov byte ptr [ebp - 4], bl", "0x1005a01e"], ["0x10059121", "mov dword ptr [edx + 0x6c], eax", "0x1005a021"], ["0x10059124", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a024"], ["0x10059129", "add esp, 4", "0x1005a029"], ["0x1005912c", "mov dword ptr [ebp - 0x18], eax", "0x1005a02c"], ["0x1005912f", "mov byte ptr [ebp - 4], 0xa", "0x1005a02f"]]}, {"orig": [["0x10059133", "cmp dword ptr [ebp - 0x18], ebx"], ["0x10059136", "je 0x175"], ["0x1005913c", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1005a033", "cmp eax, ebx"], ["0x1005a035", "je 0x156"], ["0x1005a03b", "lea ecx, [eax + 8]"]]}, {"both": [["0x1005913f", "mov dl, byte ptr [ebp - 0xd]", "0x1005a03e"]]}, {"orig": [["0x10059142", "add ecx, 8"]], "recomp": []}, {"both": [["0x10059145", "mov dword ptr [ebp - 0x24], ecx", "0x1005a041"], ["0x10059148", "mov byte ptr [ecx], dl", "0x1005a044"], ["0x1005914a", "mov al, byte ptr [ebp - 0x19]", "0x1005a046"], ["0x1005914d", "mov edx, dword ptr [ebp - 0x18]", "0x1005a049"]]}, {"orig": [], "recomp": [["0x1005a04c", "mov byte ptr [ebp - 4], 0xb"]]}, {"both": [["0x10059150", "mov byte ptr [edx + 9], al", "0x1005a050"]]}, {"orig": [["0x10059153", "mov edx, dword ptr [ebp - 0x18]"], ["0x10059156", "mov byte ptr [ebp - 4], 0xb"]], "recomp": []}, {"both": [["0x1005915a", "mov dword ptr [edx + 0x10], ebx", "0x1005a053"], ["0x1005915d", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ebx", "0x1005a056"], ["0x10059163", "jne 0x34", "0x1005a05c"], ["0x10059165", "push 0x18", "0x1005a05e"], ["0x10059167", "call allocator<LegoTextureInfo *>::_Charalloc (FUNCTION)", "0x1005a060"], ["0x1005916c", "push eax", "0x1005a065"], ["0x1005916d", "mov esi, eax", "0x1005a066"], ["0x1005916f", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Parent (FUNCTION)", "0x1005a068"], ["0x10059174", "add esp, 4", "0x1005a06d"], ["0x10059177", "mov dword ptr [eax], ebx", "0x1005a070"]]}]], ["@@ -0x100591ad,66 +0x1005a0a6,58 @@", [{"both": [["0x100591ad", "call allocator<LegoTextureInfo *>::_Charalloc (FUNCTION)", "0x1005a0a6"], ["0x100591b2", "push eax", "0x1005a0ab"], ["0x100591b3", "mov edi, eax", "0x1005a0ac"], ["0x100591b5", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Parent (FUNCTION)", "0x1005a0ae"], ["0x100591ba", "add esp, 4", "0x1005a0b3"], ["0x100591bd", "mov dword ptr [eax], esi", "0x1005a0b6"], ["0x100591bf", "xor esi, esi", "0x1005a0b8"], ["0x100591c1", "push edi", "0x1005a0ba"], ["0x100591c2", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Color (FUNCTION)", "0x1005a0bb"], ["0x100591c7", "add esp, 4", "0x1005a0c0"]]}, {"orig": [], "recomp": [["0x1005a0c3", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100591ca", "mov dword ptr [eax], esi", "0x1005a0c6"]]}, {"orig": [["0x100591cc", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x100591cf", "mov dword ptr [ecx + 0xc], edi", "0x1005a0c8"]]}, {"orig": [["0x100591d2", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x100591d5", "mov dword ptr [ecx + 0x14], esi", "0x1005a0cb"]]}, {"orig": [["0x100591d8", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x100591db", "mov edi, dword ptr [ecx + 0xc]", "0x1005a0ce"], ["0x100591de", "push edi", "0x1005a0d1"], ["0x100591df", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Left (FUNCTION)", "0x1005a0d2"], ["0x100591e4", "add esp, 4", "0x1005a0d7"], ["0x100591e7", "mov ecx, dword ptr [ebp - 0x18]", "0x1005a0da"], ["0x100591ea", "mov edi, dword ptr [ecx + 0xc]", "0x1005a0dd"], ["0x100591ed", "mov dword ptr [eax], edi", "0x1005a0e0"]]}, {"orig": [["0x100591ef", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x100591f2", "mov edi, dword ptr [ecx + 0xc]", "0x1005a0e2"], ["0x100591f5", "push edi", "0x1005a0e5"], ["0x100591f6", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Right (FUNCTION)", "0x1005a0e6"], ["0x100591fb", "add esp, 4", "0x1005a0eb"], ["0x100591fe", "mov ecx, dword ptr [ebp - 0x18]", "0x1005a0ee"], ["0x10059201", "mov byte ptr [ebp - 4], 0xf", "0x1005a0f1"]]}, {"orig": [["0x10059205", "mov byte ptr [ebp - 4], 0xa"]], "recomp": []}, {"both": [["0x10059209", "mov edi, dword ptr [ecx + 0xc]", "0x1005a0f5"], ["0x1005920c", "mov ebx, 0x10", "0x1005a0f8"]]}, {"orig": [], "recomp": [["0x1005a0fd", "push ebx"]]}, {"both": [["0x10059211", "mov dword ptr [eax], edi", "0x1005a0fe"]]}, {"orig": [], "recomp": [["0x1005a100", "mov byte ptr [ebp - 4], 0xa"], ["0x1005a104", "mov dword ptr [ecx], LegoContainer<LegoTextureInfo>::`vftable' (VTABLE)"]]}, {"both": [["0x10059213", "mov byte ptr [ebp - 4], bl", "0x1005a10a"]]}, {"orig": [["0x10059216", "mov ecx, dword ptr [ebp - 0x18]"], ["0x10059219", "push ebx"], ["0x1005921a", "mov dword ptr [ecx], LegoContainer<LegoTextureInfo>::`vftable' (VTABLE)"], ["0x10059220", "mov ecx, dword ptr [ebp - 0x18]"], ["0x10059223", "mov byte ptr [ecx + 4], 1"]], "recomp": []}, {"both": [["0x10059227", "mov al, byte ptr [ebp - 0xd]", "0x1005a10d"]]}, {"orig": [["0x1005922a", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x1005922d", "mov byte ptr [ecx + 0x18], al", "0x1005a110"], ["0x10059230", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a113"], ["0x10059235", "add esp, 4", "0x1005a118"]]}, {"orig": [], "recomp": [["0x1005a11b", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1005a11e", "mov byte ptr [ebp - 4], 0x12"], ["0x1005a122", "mov byte ptr [ebp - 4], 0xa"]]}, {"both": [["0x10059238", "mov dword ptr [eax], eax", "0x1005a126"]]}, {"orig": [["0x1005923a", "mov byte ptr [ebp - 4], 0x12"]], "recomp": []}, {"both": [["0x1005923e", "mov dword ptr [eax + 4], eax", "0x1005a128"]]}, {"orig": [["0x10059241", "mov ecx, dword ptr [ebp - 0x18]"], ["0x10059244", "mov byte ptr [ebp - 4], 0xa"]], "recomp": []}, {"both": [["0x10059248", "mov dword ptr [ecx + 0x1c], eax", "0x1005a12b"]]}, {"orig": [["0x1005924b", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1005a12e", "mov eax, ecx"]]}, {"both": [["0x1005924e", "mov dword ptr [ecx + 0x20], esi", "0x1005a130"]]}, {"orig": [["0x10059251", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": []}, {"both": [["0x10059254", "mov dword ptr [ecx], LegoTextureContainer::`vftable' (VTABLE)", "0x1005a133"]]}, {"orig": [["0x1005925a", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1005a139", "mov byte ptr [ecx + 4], 1"]]}, {"both": [["0x1005925d", "jmp 0x54", "0x1005a13d"], ["0x1005925f", "mov ecx, dword ptr [ebp - 0x18]", "0x1005a13f"], ["0x10059262", "add ecx, 0x18", "0x1005a142"], ["0x10059265", "jmp list<pair<LegoTextureInfo *,int>,allocator<pair<LegoTextureInfo *,int> > >::~list<pair<LegoTextureInfo *,int>,allocator<pair<LegoTextureInfo *,int> > > (FUNCTION)", "0x1005a145"], ["0x1005926a", "mov ecx, dword ptr [ebp - 0x18]", "0x1005a14a"], ["0x1005926d", "add ecx, 0x18", "0x1005a14d"], ["0x10059270", "jmp List<pair<LegoTextureInfo *,int> >::~List<pair<LegoTextureInfo *,int> > (FUNCTION)", "0x1005a150"], ["0x10059275", "lea ecx, [ebp - 0x25]", "0x1005a155"], ["0x10059278", "jmp _Lockit::~_Lockit (FUNCTION)", "0x1005a158"], ["0x1005927d", "mov ecx, dword ptr [ebp - 0x18]", "0x1005a15d"]]}]], ["@@ -0x10059432,35 +0x1005a312,35 @@", [{"both": [["0x10059432", "jmp MxCore::~MxCore (FUNCTION)", "0x1005a312"], ["0x10059437", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a317"], ["0x1005943a", "jmp MxCollection<LegoWorld *>::~MxCollection<LegoWorld *> (FUNCTION)", "0x1005a31a"], ["0x1005943f", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a31f"], ["0x10059442", "jmp MxList<LegoWorld *>::~MxList<LegoWorld *> (FUNCTION)", "0x1005a322"], ["0x10059447", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a327"], ["0x1005944a", "jmp MxPtrList<LegoWorld>::~MxPtrList<LegoWorld> (FUNCTION)", "0x1005a32a"], ["0x1005944f", "xor eax, eax", "0x1005a32f"], ["0x10059451", "mov edx, dword ptr [ebp - 0x14]", "0x1005a331"], ["0x10059454", "mov byte ptr [ebp - 4], 0", "0x1005a334"]]}, {"orig": [], "recomp": [["0x1005a338", "mov dword ptr [edx + 0x78], eax"]]}, {"both": [["0x10059458", "cmp dword ptr [edx + 0x6c], 0", "0x1005a33b"]]}, {"orig": [["0x1005945c", "mov dword ptr [edx + 0x78], eax"], ["0x1005945f", "je -0x476"]], "recomp": [["0x1005a33f", "je -0x456"]]}, {"both": [["0x10059465", "cmp dword ptr [edx + 0x74], 0", "0x1005a345"]]}, {"orig": [["0x10059469", "je -0x480"]], "recomp": [["0x1005a349", "je -0x460"]]}, {"both": [["0x1005946f", "test eax, eax", "0x1005a34f"]]}, {"orig": [["0x10059471", "je -0x488"]], "recomp": [["0x1005a351", "je -0x468"]]}, {"both": [["0x10059477", "cmp dword ptr [edx + 0x8c], 0", "0x1005a357"]]}, {"orig": [["0x1005947e", "je -0x495"]], "recomp": [["0x1005a35e", "je -0x475"]]}, {"both": [["0x10059484", "cmp dword ptr [edx + 0x90], 0", "0x1005a364"]]}, {"orig": [["0x1005948b", "je -0x4a2"]], "recomp": [["0x1005a36b", "je -0x482"]]}, {"both": [["0x10059491", "cmp dword ptr [edx + 0x94], 0", "0x1005a371"]]}, {"orig": [["0x10059498", "je -0x4af"]], "recomp": [["0x1005a378", "je -0x48f"]]}, {"both": [["0x1005949e", "cmp dword ptr [edx + 0x98], 0", "0x1005a37e"]]}, {"orig": [["0x100594a5", "je -0x4bc"]], "recomp": [["0x1005a385", "je -0x49c"]]}, {"both": [["0x100594ab", "push 0x24", "0x1005a38b"], ["0x100594ad", "mov ebx, 0x1d", "0x1005a38d"], ["0x100594b2", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a392"], ["0x100594b7", "mov dword ptr [ebp - 0x10], eax", "0x1005a397"], ["0x100594ba", "add esp, 4", "0x1005a39a"], ["0x100594bd", "mov esi, eax", "0x1005a39d"], ["0x100594bf", "mov byte ptr [ebp - 4], bl", "0x1005a39f"], ["0x100594c2", "test esi, esi", "0x1005a3a2"], ["0x100594c4", "je 0x5c", "0x1005a3a4"], ["0x100594c6", "lea edi, [esi + 4]", "0x1005a3a6"]]}]], ["@@ -0x10059507,21 +0x1005a3e7,21 @@", [{"both": [["0x10059507", "add ecx, 0x14", "0x1005a3e7"], ["0x1005950a", "jmp MxString::~MxString (FUNCTION)", "0x1005a3ea"], ["0x1005950f", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a3ef"], ["0x10059512", "add ecx, 4", "0x1005a3f2"], ["0x10059515", "jmp MxString::~MxString (FUNCTION)", "0x1005a3f5"], ["0x1005951a", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a3fa"], ["0x1005951d", "jmp MxVariable::~MxVariable (FUNCTION)", "0x1005a3fd"], ["0x10059522", "xor eax, eax", "0x1005a402"], ["0x10059524", "mov byte ptr [ebp - 4], 0", "0x1005a404"], ["0x10059528", "test eax, eax", "0x1005a408"]]}, {"orig": [["0x1005952a", "je -0x541"]], "recomp": [["0x1005a40a", "je -0x521"]]}, {"both": [["0x10059530", "push eax", "0x1005a410"], ["0x10059531", "mov edx, dword ptr [ebp - 0x14]", "0x1005a411"], ["0x10059534", "mov ecx, dword ptr [edx + 0x20]", "0x1005a414"], ["0x10059537", "mov ebx, 0x21", "0x1005a417"], ["0x1005953c", "call MxVariableTable::SetVariable (FUNCTION)", "0x1005a41c"], ["0x10059541", "push 0x24", "0x1005a421"], ["0x10059543", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a423"], ["0x10059548", "mov dword ptr [ebp - 0x10], eax", "0x1005a428"], ["0x1005954b", "add esp, 4", "0x1005a42b"], ["0x1005954e", "mov esi, eax", "0x1005a42e"]]}]], ["@@ -0x10059598,21 +0x1005a478,21 @@", [{"both": [["0x10059598", "add ecx, 0x14", "0x1005a478"], ["0x1005959b", "jmp MxString::~MxString (FUNCTION)", "0x1005a47b"], ["0x100595a0", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a480"], ["0x100595a3", "add ecx, 4", "0x1005a483"], ["0x100595a6", "jmp MxString::~MxString (FUNCTION)", "0x1005a486"], ["0x100595ab", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a48b"], ["0x100595ae", "jmp MxVariable::~MxVariable (FUNCTION)", "0x1005a48e"], ["0x100595b3", "xor eax, eax", "0x1005a493"], ["0x100595b5", "mov byte ptr [ebp - 4], 0", "0x1005a495"], ["0x100595b9", "test eax, eax", "0x1005a499"]]}, {"orig": [["0x100595bb", "je -0x5d2"]], "recomp": [["0x1005a49b", "je -0x5b2"]]}, {"both": [["0x100595c1", "push eax", "0x1005a4a1"], ["0x100595c2", "mov edx, dword ptr [ebp - 0x14]", "0x1005a4a2"], ["0x100595c5", "mov ecx, dword ptr [edx + 0x20]", "0x1005a4a5"], ["0x100595c8", "mov ebx, 0x25", "0x1005a4a8"], ["0x100595cd", "call MxVariableTable::SetVariable (FUNCTION)", "0x1005a4ad"], ["0x100595d2", "push 0x24", "0x1005a4b2"], ["0x100595d4", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a4b4"], ["0x100595d9", "mov dword ptr [ebp - 0x10], eax", "0x1005a4b9"], ["0x100595dc", "add esp, 4", "0x1005a4bc"], ["0x100595df", "mov esi, eax", "0x1005a4bf"]]}]], ["@@ -0x10059629,21 +0x1005a509,21 @@", [{"both": [["0x10059629", "add ecx, 0x14", "0x1005a509"], ["0x1005962c", "jmp MxString::~MxString (FUNCTION)", "0x1005a50c"], ["0x10059631", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a511"], ["0x10059634", "add ecx, 4", "0x1005a514"], ["0x10059637", "jmp MxString::~MxString (FUNCTION)", "0x1005a517"], ["0x1005963c", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a51c"], ["0x1005963f", "jmp MxVariable::~MxVariable (FUNCTION)", "0x1005a51f"], ["0x10059644", "xor eax, eax", "0x1005a524"], ["0x10059646", "mov byte ptr [ebp - 4], 0", "0x1005a526"], ["0x1005964a", "test eax, eax", "0x1005a52a"]]}, {"orig": [["0x1005964c", "je -0x663"]], "recomp": [["0x1005a52c", "je -0x643"]]}, {"both": [["0x10059652", "push eax", "0x1005a532"], ["0x10059653", "mov edx, dword ptr [ebp - 0x14]", "0x1005a533"], ["0x10059656", "mov ecx, dword ptr [edx + 0x20]", "0x1005a536"], ["0x10059659", "mov ebx, 0x29", "0x1005a539"], ["0x1005965e", "call MxVariableTable::SetVariable (FUNCTION)", "0x1005a53e"], ["0x10059663", "push 0x24", "0x1005a543"], ["0x10059665", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a545"], ["0x1005966a", "mov dword ptr [ebp - 0x10], eax", "0x1005a54a"], ["0x1005966d", "add esp, 4", "0x1005a54d"], ["0x10059670", "mov esi, eax", "0x1005a550"]]}]], ["@@ -0x100596ba,83 +0x1005a59a,83 @@", [{"both": [["0x100596ba", "add ecx, 0x14", "0x1005a59a"], ["0x100596bd", "jmp MxString::~MxString (FUNCTION)", "0x1005a59d"], ["0x100596c2", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a5a2"], ["0x100596c5", "add ecx, 4", "0x1005a5a5"], ["0x100596c8", "jmp MxString::~MxString (FUNCTION)", "0x1005a5a8"], ["0x100596cd", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a5ad"], ["0x100596d0", "jmp MxVariable::~MxVariable (FUNCTION)", "0x1005a5b0"], ["0x100596d5", "xor eax, eax", "0x1005a5b5"], ["0x100596d7", "mov byte ptr [ebp - 4], 0", "0x1005a5b7"], ["0x100596db", "test eax, eax", "0x1005a5bb"]]}, {"orig": [["0x100596dd", "je -0x6f4"]], "recomp": [["0x1005a5bd", "je -0x6d4"]]}, {"both": [["0x100596e3", "push eax", "0x1005a5c3"], ["0x100596e4", "mov edx, dword ptr [ebp - 0x14]", "0x1005a5c4"], ["0x100596e7", "mov ecx, dword ptr [edx + 0x20]", "0x1005a5c7"], ["0x100596ea", "call MxVariableTable::SetVariable (FUNCTION)", "0x1005a5ca"], ["0x100596ef", "call CreateScripts (FUNCTION)", "0x1005a5cf"], ["0x100596f4", "call IslePathActor::RegisterSpawnLocations (FUNCTION)", "0x1005a5d4"], ["0x100596f9", "mov ecx, dword ptr [ebp - 0x14]", "0x1005a5d9"], ["0x100596fc", "call LegoOmni::RegisterWorlds (FUNCTION)", "0x1005a5dc"], ["0x10059701", "mov dword ptr [ebp - 0x20], eax", "0x1005a5e1"], ["0x10059704", "test eax, eax", "0x1005a5e4"]]}, {"orig": [["0x10059706", "jne -0x71d"]], "recomp": [["0x1005a5e6", "jne -0x6fd"]]}, {"both": [["0x1005970c", "push 0x150", "0x1005a5ec"], ["0x10059711", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a5f1"], ["0x10059716", "mov dword ptr [ebp - 0x10], eax", "0x1005a5f6"], ["0x10059719", "add esp, 4", "0x1005a5f9"], ["0x1005971c", "mov byte ptr [ebp - 4], 0x2d", "0x1005a5fc"], ["0x10059720", "mov esi, eax", "0x1005a600"], ["0x10059722", "mov eax, 0", "0x1005a602"], ["0x10059727", "test esi, esi", "0x1005a607"], ["0x10059729", "je 0x7", "0x1005a609"], ["0x1005972b", "mov ecx, esi", "0x1005a60b"], ["0x1005972d", "call MxBackgroundAudioManager::MxBackgroundAudioManager (FUNCTION)", "0x1005a60d"], ["0x10059732", "mov edx, dword ptr [ebp - 0x14]", "0x1005a612"], ["0x10059735", "test eax, eax", "0x1005a615"], ["0x10059737", "mov byte ptr [ebp - 4], 0", "0x1005a617"], ["0x1005973b", "mov dword ptr [edx + 0x134], eax", "0x1005a61b"]]}, {"orig": [["0x10059741", "je -0x758"]], "recomp": [["0x1005a621", "je -0x738"]]}, {"both": [["0x10059747", "push 0x900", "0x1005a627"], ["0x1005974c", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005a62c"], ["0x10059751", "mov dword ptr [ebp - 0x10], eax", "0x1005a631"], ["0x10059754", "add esp, 4", "0x1005a634"], ["0x10059757", "mov esi, eax", "0x1005a637"], ["0x10059759", "mov ecx, 0", "0x1005a639"], ["0x1005975e", "mov byte ptr [ebp - 4], 0x2e", "0x1005a63e"], ["0x10059762", "test esi, esi", "0x1005a642"], ["0x10059764", "je 0x9", "0x1005a644"], ["0x10059766", "mov ecx, esi", "0x1005a646"], ["0x10059768", "call MxTransitionManager::MxTransitionManager (FUNCTION)", "0x1005a648"], ["0x1005976d", "mov ecx, eax", "0x1005a64d"], ["0x1005976f", "xor ebx, ebx", "0x1005a64f"], ["0x10059771", "mov edx, dword ptr [ebp - 0x14]", "0x1005a651"], ["0x10059774", "mov byte ptr [ebp - 4], bl", "0x1005a654"], ["0x10059777", "test ecx, ecx", "0x1005a657"], ["0x10059779", "mov dword ptr [edx + 0x138], ecx", "0x1005a659"]]}, {"orig": [["0x1005977f", "je -0x796"]], "recomp": [["0x1005a65f", "je -0x776"]]}, {"both": [["0x10059785", "mov eax, dword ptr [ecx]", "0x1005a665"], ["0x10059787", "call dword ptr [eax + 0x14]", "0x1005a667"], ["0x1005978a", "test eax, eax", "0x1005a66a"]]}, {"orig": [["0x1005978c", "jne -0x7a3"]], "recomp": [["0x1005a66c", "jne -0x783"]]}, {"both": [["0x10059792", "mov edx, dword ptr [ebp - 0x14]", "0x1005a672"], ["0x10059795", "push edx", "0x1005a675"], ["0x10059796", "mov ecx, dword ptr [edx + 0x28]", "0x1005a676"], ["0x10059799", "call MxNotificationManager::Register (FUNCTION)", "0x1005a679"], ["0x1005979e", "push 1", "0x1005a67e"], ["0x100597a0", "call SetAppCursor (FUNCTION)", "0x1005a680"], ["0x100597a5", "add esp, 4", "0x1005a685"], ["0x100597a8", "mov edx, dword ptr [ebp - 0x14]", "0x1005a688"], ["0x100597ab", "push ebx", "0x1005a68b"], ["0x100597ac", "mov ecx, dword ptr [edx + 0x9c]", "0x1005a68c"], ["0x100597b2", "call LegoGameState::SetCurrentAct (FUNCTION)", "0x1005a692"], ["0x100597b7", "mov dword ptr [ebp - 0x20], ebx", "0x1005a697"]]}, {"orig": [["0x100597ba", "jmp -0x7d0"]], "recomp": [["0x1005a69a", "jmp -0x7b0"]]}, {"both": [["0x100597bf", "mov eax, dword ptr [ebp - 0x10]", "0x1005a69f"], ["0x100597c2", "push eax", "0x1005a6a2"], ["0x100597c3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005a6a3"], ["0x100597c8", "add esp, 4", "0x1005a6a8"], ["0x100597cb", "ret ", "0x1005a6ab"], ["0x100597cc", "mov eax, dword ptr [ebp - 0x10]", "0x1005a6ac"], ["0x100597cf", "push eax", "0x1005a6af"], ["0x100597d0", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005a6b0"], ["0x100597d5", "add esp, 4", "0x1005a6b5"], ["0x100597d8", "ret ", "0x1005a6b8"]]}]], ["@@ -0x1005988e,10 +0x1005a76e,20 @@", [{"both": [["0x1005988e", "ret ", "0x1005a76e"], ["0x1005988f", "mov eax, dword ptr [ebp - 0x10]", "0x1005a76f"], ["0x10059892", "push eax", "0x1005a772"], ["0x10059893", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005a773"], ["0x10059898", "add esp, 4", "0x1005a778"], ["0x1005989b", "ret ", "0x1005a77b"], ["0x1005989c", "mov eax, dword ptr [ebp - 0x10]", "0x1005a77c"], ["0x1005989f", "push eax", "0x1005a77f"], ["0x100598a0", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005a780"], ["0x100598a5", "add esp, 4", "0x1005a785"]]}, {"orig": [], "recomp": [["0x1005a788", "ret "], ["0x1005a789", "mov eax, dword ptr [ebp - 0x1c]"], ["0x1005a78c", "push eax"], ["0x1005a78d", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x1005a792", "add esp, 4"], ["0x1005a795", "ret "], ["0x1005a796", "mov eax, <OFFSET56>"], ["0x1005a79b", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x1005a7a0", "lea ecx, [ebp - 0x2c]"], ["0x1005a7a3", "jmp MxAutoLock::~MxAutoLock (FUNCTION)"]]}]]]}, {"address": "0x100598d0", "recomp": "0x1005a7b0", "name": "LegoWorldList::Compare", "matching": 1.0, "diff": []}, {"address": "0x100598f0", "recomp": "0x1005a7d0", "name": "MxCollection<LegoWorld *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x10059900", "recomp": "0x1005a7e0", "name": "MxCollection<LegoWorld *>::~MxCollection<LegoWorld *>", "matching": 1.0, "diff": []}, {"address": "0x10059950", "recomp": "0x1005a830", "name": "MxCollection<LegoWorld *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10059960", "recomp": "0x1005a840", "name": "MxList<LegoWorld *>::~MxList<LegoWorld *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x10059969,33 +0x1005a849,33 @@", [{"both": [["0x10059969", "push -1", "0x1005a849"], ["0x1005996b", "push <OFFSET1>", "0x1005a84b"], ["0x10059970", "push eax", "0x1005a850"], ["0x10059971", "mov dword ptr fs:[0], esp", "0x1005a851"], ["0x10059978", "mov dword ptr [ecx], MxList<LegoWorld *>::`vftable' (VTABLE)", "0x1005a858"], ["0x1005997e", "sub esp, 4", "0x1005a85e"], ["0x10059981", "mov dword ptr [ebp - 0x10], ecx", "0x1005a861"], ["0x10059984", "mov dword ptr [ebp - 4], 0", "0x1005a864"], ["0x1005998b", "push esi", "0x1005a86b"], ["0x1005998c", "push edi", "0x1005a86c"]]}, {"orig": [["0x1005998d", "mov esi, dword ptr [ecx + 0x10]"], ["0x10059990", "test esi, esi"]], "recomp": [["0x1005a86d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1005a870", "test edi, edi"]]}, {"both": [["0x10059992", "je 0x1c", "0x1005a872"]]}, {"orig": [["0x10059994", "mov edi, dword ptr [esi + 8]"], ["0x10059997", "mov eax, dword ptr [esi]"]], "recomp": [["0x1005a874", "mov esi, dword ptr [edi + 8]"], ["0x1005a877", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10059999", "push eax", "0x1005a879"], ["0x1005999a", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a87a"], ["0x1005999d", "call dword ptr [ecx + 0xc]", "0x1005a87d"], ["0x100599a0", "add esp, 4", "0x1005a880"]]}, {"orig": [["0x100599a3", "push esi"]], "recomp": [["0x1005a883", "push edi"]]}, {"both": [["0x100599a4", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005a884"], ["0x100599a9", "add esp, 4", "0x1005a889"]]}, {"orig": [["0x100599ac", "mov esi, edi"]], "recomp": [["0x1005a88c", "mov edi, esi"]]}, {"both": [["0x100599ae", "jmp -0x20", "0x1005a88e"], ["0x100599b0", "xor eax, eax", "0x1005a890"], ["0x100599b2", "mov ecx, dword ptr [ebp - 0x10]", "0x1005a892"], ["0x100599b5", "mov dword ptr [ebp - 4], 0xffffffff", "0x1005a895"], ["0x100599bc", "mov dword ptr [ecx + 8], eax", "0x1005a89c"], ["0x100599bf", "mov dword ptr [ecx + 0x14], eax", "0x1005a89f"], ["0x100599c2", "mov dword ptr [ecx + 0x10], eax", "0x1005a8a2"], ["0x100599c5", "call <OFFSET4>", "0x1005a8a5"], ["0x100599ca", "mov eax, dword ptr [ebp - 0xc]", "0x1005a8aa"], ["0x100599cd", "pop edi", "0x1005a8ad"]]}]]]}, {"address": "0x100599f0", "recomp": "0x1005a8d0", "name": "MxPtrList<LegoWorld>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10059a00", "recomp": "0x1005a8e0", "name": "LegoWorldList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10059a70", "recomp": "0x1005a950", "name": "MxPtrList<LegoWorld>::~MxPtrList<LegoWorld>", "matching": 1.0, "diff": []}, {"address": "0x10059ac0", "recomp": "0x1005a9a0", "name": "MxCollection<LegoWorld *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10059b30", "recomp": "0x1005aa10", "name": "MxList<LegoWorld *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x10059b39,33 +0x1005aa19,33 @@", [{"both": [["0x10059b39", "push -1", "0x1005aa19"], ["0x10059b3b", "push <OFFSET1>", "0x1005aa1b"], ["0x10059b40", "push eax", "0x1005aa20"], ["0x10059b41", "mov dword ptr fs:[0], esp", "0x1005aa21"], ["0x10059b48", "mov dword ptr [ecx], MxList<LegoWorld *>::`vftable' (VTABLE)", "0x1005aa28"], ["0x10059b4e", "sub esp, 4", "0x1005aa2e"], ["0x10059b51", "mov dword ptr [ebp - 0x10], ecx", "0x1005aa31"], ["0x10059b54", "mov dword ptr [ebp - 4], 0", "0x1005aa34"], ["0x10059b5b", "push esi", "0x1005aa3b"], ["0x10059b5c", "push edi", "0x1005aa3c"]]}, {"orig": [["0x10059b5d", "mov esi, dword ptr [ecx + 0x10]"], ["0x10059b60", "test esi, esi"]], "recomp": [["0x1005aa3d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1005aa40", "test edi, edi"]]}, {"both": [["0x10059b62", "je 0x1c", "0x1005aa42"]]}, {"orig": [["0x10059b64", "mov edi, dword ptr [esi + 8]"], ["0x10059b67", "mov eax, dword ptr [esi]"]], "recomp": [["0x1005aa44", "mov esi, dword ptr [edi + 8]"], ["0x1005aa47", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10059b69", "push eax", "0x1005aa49"], ["0x10059b6a", "mov ecx, dword ptr [ebp - 0x10]", "0x1005aa4a"], ["0x10059b6d", "call dword ptr [ecx + 0xc]", "0x1005aa4d"], ["0x10059b70", "add esp, 4", "0x1005aa50"]]}, {"orig": [["0x10059b73", "push esi"]], "recomp": [["0x1005aa53", "push edi"]]}, {"both": [["0x10059b74", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005aa54"], ["0x10059b79", "add esp, 4", "0x1005aa59"]]}, {"orig": [["0x10059b7c", "mov esi, edi"]], "recomp": [["0x1005aa5c", "mov edi, esi"]]}, {"both": [["0x10059b7e", "jmp -0x20", "0x1005aa5e"], ["0x10059b80", "xor eax, eax", "0x1005aa60"], ["0x10059b82", "mov ecx, dword ptr [ebp - 0x10]", "0x1005aa62"], ["0x10059b85", "mov dword ptr [ebp - 4], 0xffffffff", "0x1005aa65"], ["0x10059b8c", "mov dword ptr [ecx + 8], eax", "0x1005aa6c"], ["0x10059b8f", "mov dword ptr [ecx + 0x14], eax", "0x1005aa6f"], ["0x10059b92", "mov dword ptr [ecx + 0x10], eax", "0x1005aa72"], ["0x10059b95", "call <OFFSET4>", "0x1005aa75"], ["0x10059b9a", "test byte ptr [ebp + 8], 1", "0x1005aa7a"], ["0x10059b9e", "je 0xc", "0x1005aa7e"]]}]]]}, {"address": "0x10059be0", "recomp": "0x1005aac0", "name": "MxPtrList<LegoWorld>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10059c50", "recomp": "0x1005ac10", "name": "allocator<LegoTextureInfo *>::_Charalloc", "matching": 1.0, "diff": []}, {"address": "0x10059c70", "recomp": "0x1005ac30", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Color", "matching": 1.0, "diff": []}, {"address": "0x10059c80", "recomp": "0x1005ac40", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Left", "matching": 1.0, "diff": []}, {"address": "0x10059c90", "recomp": "0x1005ac50", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Parent", "matching": 1.0, "diff": []}, {"address": "0x10059ca0", "recomp": "0x1005ac60", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Right", "matching": 1.0, "diff": []}, {"address": "0x10059cb0", "recomp": "0x1005ac70", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::~_Tree<char const *,pair<char con", "matching": 0.9090909090909091, "diff": [["@@ -0x10059cb0,21 +0x1005ac70,21 @@", [{"both": [["0x10059cb0", "sub esp, 0x10", "0x1005ac70"], ["0x10059cb3", "push ebx", "0x1005ac73"], ["0x10059cb4", "push esi", "0x1005ac74"], ["0x10059cb5", "push edi", "0x1005ac75"], ["0x10059cb6", "mov esi, ecx", "0x1005ac76"], ["0x10059cb8", "cmp dword ptr [ecx + 0xc], 0", "0x1005ac78"], ["0x10059cbc", "mov ecx, dword ptr [esi + 4]", "0x1005ac7c"]]}, {"orig": [["0x10059cbf", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x1005ac7f", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x10059cc3", "mov eax, dword ptr [ecx]", "0x1005ac83"], ["0x10059cc5", "mov dword ptr [esp + 0xc], eax", "0x1005ac85"]]}, {"orig": [["0x10059cc9", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x1005ac89", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x10059ccd", "je 0x4e", "0x1005ac8d"], ["0x10059ccf", "cmp dword ptr [ecx], eax", "0x1005ac8f"], ["0x10059cd1", "jne 0x4a", "0x1005ac91"], ["0x10059cd3", "cmp ecx, ecx", "0x1005ac93"], ["0x10059cd5", "jne 0x46", "0x1005ac95"], ["0x10059cd7", "mov edi, dword ptr [ecx + 4]", "0x1005ac97"], ["0x10059cda", "mov ebx, edi", "0x1005ac9a"], ["0x10059cdc", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005ac9c"], ["0x10059ce2", "je 0x1a", "0x1005aca2"], ["0x10059ce4", "mov eax, dword ptr [ebx + 8]", "0x1005aca4"]]}]], ["@@ -0x10059cfc,25 +0x1005acbc,25 @@", [{"both": [["0x10059cfc", "jmp -0x22", "0x1005acbc"], ["0x10059cfe", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005acbe"], ["0x10059d03", "mov ecx, dword ptr [esi + 4]", "0x1005acc3"], ["0x10059d06", "mov dword ptr [ecx + 4], eax", "0x1005acc6"], ["0x10059d09", "mov eax, dword ptr [esi + 4]", "0x1005acc9"], ["0x10059d0c", "mov dword ptr [esi + 0xc], 0", "0x1005accc"], ["0x10059d13", "mov dword ptr [eax], eax", "0x1005acd3"], ["0x10059d15", "mov eax, dword ptr [esi + 4]", "0x1005acd5"], ["0x10059d18", "mov dword ptr [eax + 8], eax", "0x1005acd8"], ["0x10059d1b", "jmp 0x36", "0x1005acdb"]]}, {"orig": [], "recomp": [["0x1005acdd", "mov eax, dword ptr [esp + 0xc]"], ["0x1005ace1", "cmp dword ptr [esp + 0x14], eax"], ["0x1005ace5", "je 0x2c"]]}, {"both": [["0x10059d1d", "mov eax, dword ptr [esp + 0x10]", "0x1005ace7"]]}, {"orig": [["0x10059d21", "cmp dword ptr [esp + 0xc], eax"], ["0x10059d25", "je 0x2c"], ["0x10059d27", "mov eax, dword ptr [esp + 0x14]"], ["0x10059d2b", "lea ecx, [esp + 0x14]"]], "recomp": [["0x1005aceb", "lea ecx, [esp + 0x10]"]]}, {"both": [["0x10059d2f", "mov dword ptr [esp + 0x18], eax", "0x1005acef"], ["0x10059d33", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::iterator::_Inc (FUNCTION)", "0x1005acf3"], ["0x10059d38", "mov eax, dword ptr [esp + 0x18]", "0x1005acf8"], ["0x10059d3c", "lea ecx, [esp + 0xc]", "0x1005acfc"], ["0x10059d40", "push eax", "0x1005ad00"], ["0x10059d41", "push ecx", "0x1005ad01"], ["0x10059d42", "mov ecx, esi", "0x1005ad02"], ["0x10059d44", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::erase (FUNCTION)", "0x1005ad04"], ["0x10059d49", "mov ecx, dword ptr [esp + 0x10]", "0x1005ad09"], ["0x10059d4d", "cmp dword ptr [esp + 0x14], ecx", "0x1005ad0d"]]}]]]}, {"address": "0x10059d80", "recomp": "0x1005ad40", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::iterator::_Inc", "matching": 1.0, "diff": []}, {"address": "0x10059dc0", "recomp": "0x1005ad80", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::erase", "matching": 0.7506775067750677, "diff": [["@@ -0x10059e3e,21 +0x1005adfe,21 @@", [{"both": [["0x10059e3e", "mov edx, eax", "0x1005adfe"], ["0x10059e40", "jmp -0xe", "0x1005ae00"], ["0x10059e42", "mov ecx, edx", "0x1005ae02"], ["0x10059e44", "mov edx, dword ptr [edx + 8]", "0x1005ae04"], ["0x10059e47", "jmp 0xe", "0x1005ae07"], ["0x10059e49", "mov edx, ebx", "0x1005ae09"], ["0x10059e4b", "jmp 0xa", "0x1005ae0b"], ["0x10059e4d", "mov edi, dword ptr [esp + 0x10]", "0x1005ae0d"], ["0x10059e51", "mov edx, dword ptr [edi + 8]", "0x1005ae11"], ["0x10059e54", "add edi, 8", "0x1005ae14"]]}, {"orig": [["0x10059e57", "cmp dword ptr [esp + 0x10], ecx"]], "recomp": [["0x1005ae17", "cmp ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10059e5b", "jne 0x8f", "0x1005ae1b"], ["0x10059e61", "mov eax, dword ptr [ecx + 4]", "0x1005ae21"], ["0x10059e64", "mov ebx, dword ptr [esp + 0x10]", "0x1005ae24"], ["0x10059e68", "mov dword ptr [edx + 4], eax", "0x1005ae28"], ["0x10059e6b", "mov eax, dword ptr [esi + 4]", "0x1005ae2b"], ["0x10059e6e", "add eax, 4", "0x1005ae2e"], ["0x10059e71", "cmp dword ptr [eax], ebx", "0x1005ae31"], ["0x10059e73", "je 0xc", "0x1005ae33"], ["0x10059e75", "mov eax, dword ptr [ebx + 4]", "0x1005ae35"], ["0x10059e78", "cmp dword ptr [eax], ebx", "0x1005ae38"]]}]], ["@@ -0x10059e7c,51 +0x1005ae3c,51 @@", [{"both": [["0x10059e7c", "mov dword ptr [eax + 8], edx", "0x1005ae3c"], ["0x10059e7f", "jmp 0x2", "0x1005ae3f"], ["0x10059e81", "mov dword ptr [eax], edx", "0x1005ae41"], ["0x10059e83", "mov ebx, dword ptr [esi + 4]", "0x1005ae43"], ["0x10059e86", "mov eax, dword ptr [esp + 0x10]", "0x1005ae46"], ["0x10059e8a", "cmp dword ptr [ebx], eax", "0x1005ae4a"], ["0x10059e8c", "jne 0x26", "0x1005ae4c"], ["0x10059e8e", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005ae4e"], ["0x10059e93", "cmp dword ptr [edi], eax", "0x1005ae53"], ["0x10059e95", "je 0x14", "0x1005ae55"]]}, {"orig": [["0x10059e97", "mov eax, edx"], ["0x10059e99", "mov edi, dword ptr [eax]"], ["0x10059e9b", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1005ae57", "mov edi, edx"], ["0x1005ae59", "mov eax, dword ptr [edi]"], ["0x1005ae5b", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x10059ea1", "je 0x4", "0x1005ae61"]]}, {"orig": [["0x10059ea3", "mov eax, edi"]], "recomp": [["0x1005ae63", "mov edi, eax"]]}, {"both": [["0x10059ea5", "jmp -0xe", "0x1005ae65"]]}, {"orig": [["0x10059ea7", "mov dword ptr [ebx], eax"]], "recomp": [["0x1005ae67", "mov dword ptr [ebx], edi"]]}, {"both": [["0x10059ea9", "jmp 0x9", "0x1005ae69"], ["0x10059eab", "mov eax, dword ptr [esp + 0x10]", "0x1005ae6b"], ["0x10059eaf", "mov ebp, dword ptr [eax + 4]", "0x1005ae6f"], ["0x10059eb2", "mov dword ptr [ebx], ebp", "0x1005ae72"], ["0x10059eb4", "mov edi, dword ptr [esi + 4]", "0x1005ae74"], ["0x10059eb7", "mov eax, dword ptr [esp + 0x10]", "0x1005ae77"], ["0x10059ebb", "add edi, 8", "0x1005ae7b"], ["0x10059ebe", "cmp dword ptr [edi], eax", "0x1005ae7e"]]}, {"orig": [["0x10059ec0", "jne 0x88"]], "recomp": [["0x1005ae80", "jne 0x8a"]]}, {"both": [["0x10059ec6", "mov ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005ae86"], ["0x10059ecc", "cmp dword ptr [eax], ebx", "0x1005ae8c"], ["0x10059ece", "je 0x15", "0x1005ae8e"]]}, {"orig": [["0x10059ed0", "mov eax, edx"], ["0x10059ed2", "mov ebx, dword ptr [eax + 8]"], ["0x10059ed5", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1005ae90", "mov ebx, edx"], ["0x1005ae92", "mov eax, dword ptr [ebx + 8]"], ["0x1005ae95", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x10059edb", "je 0x4", "0x1005ae9b"]]}, {"orig": [["0x10059edd", "mov eax, ebx"]], "recomp": [["0x1005ae9d", "mov ebx, eax"]]}, {"both": [["0x10059edf", "jmp -0xf", "0x1005ae9f"]]}, {"orig": [["0x10059ee1", "mov dword ptr [edi], eax"], ["0x10059ee3", "jmp 0x69"]], "recomp": [["0x1005aea1", "mov dword ptr [edi], ebx"], ["0x1005aea3", "jmp 0x6b"]]}, {"both": [["0x10059ee5", "mov eax, dword ptr [esp + 0x10]", "0x1005aea5"], ["0x10059ee9", "mov ebx, dword ptr [eax + 4]", "0x1005aea9"], ["0x10059eec", "mov dword ptr [edi], ebx", "0x1005aeac"]]}, {"orig": [["0x10059eee", "jmp 0x5e"]], "recomp": [["0x1005aeae", "jmp 0x60"]]}, {"both": [["0x10059ef0", "mov eax, dword ptr [esp + 0x10]", "0x1005aeb0"], ["0x10059ef4", "mov dword ptr [ebx + 4], ecx", "0x1005aeb4"], ["0x10059ef7", "mov ebx, dword ptr [eax]", "0x1005aeb7"], ["0x10059ef9", "mov dword ptr [ecx], ebx", "0x1005aeb9"], ["0x10059efb", "cmp dword ptr [edi], ecx", "0x1005aebb"], ["0x10059efd", "jne 0x5", "0x1005aebd"], ["0x10059eff", "mov dword ptr [edx + 4], ecx", "0x1005aebf"], ["0x10059f02", "jmp 0x15", "0x1005aec2"], ["0x10059f04", "mov eax, dword ptr [ecx + 4]", "0x1005aec4"], ["0x10059f07", "mov dword ptr [edx + 4], eax", "0x1005aec7"]]}]], ["@@ -0x10059f23,140 +0x1005aee3,140 @@", [{"both": [["0x10059f23", "cmp dword ptr [eax], edi", "0x1005aee3"], ["0x10059f25", "je 0xc", "0x1005aee5"], ["0x10059f27", "mov eax, dword ptr [edi + 4]", "0x1005aee7"], ["0x10059f2a", "cmp dword ptr [eax], edi", "0x1005aeea"], ["0x10059f2c", "je 0x5", "0x1005aeec"], ["0x10059f2e", "mov dword ptr [eax + 8], ecx", "0x1005aeee"], ["0x10059f31", "jmp 0x2", "0x1005aef1"], ["0x10059f33", "mov dword ptr [eax], ecx", "0x1005aef3"], ["0x10059f35", "mov eax, dword ptr [esp + 0x10]", "0x1005aef5"], ["0x10059f39", "mov ebx, dword ptr [eax + 4]", "0x1005aef9"]]}, {"orig": [["0x10059f3c", "lea edi, [eax + 0x14]"]], "recomp": [["0x1005aefc", "add eax, 0x14"]]}, {"both": [["0x10059f3f", "mov dword ptr [ecx + 4], ebx", "0x1005aeff"]]}, {"orig": [["0x10059f42", "mov ebx, dword ptr [edi]"], ["0x10059f44", "mov ebp, dword ptr [ecx + 0x14]"]], "recomp": [["0x1005af02", "mov edi, dword ptr [ecx + 0x14]"], ["0x1005af05", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x10059f47", "mov dword ptr [ecx + 0x14], ebx", "0x1005af07"]]}, {"orig": [["0x10059f4a", "mov ecx, eax"], ["0x10059f4c", "mov dword ptr [edi], ebp"]], "recomp": [["0x1005af0a", "mov ecx, dword ptr [esp + 0x10]"], ["0x1005af0e", "mov dword ptr [eax], edi"]]}, {"both": [["0x10059f4e", "cmp dword ptr [ecx + 0x14], 1", "0x1005af10"]]}, {"orig": [["0x10059f52", "jne 0x296"]], "recomp": [["0x1005af14", "jne 0x295"]]}, {"both": [["0x10059f58", "mov eax, dword ptr [esi + 4]", "0x1005af1a"], ["0x10059f5b", "cmp dword ptr [eax + 4], edx", "0x1005af1d"]]}, {"orig": [["0x10059f5e", "je 0x283"]], "recomp": [["0x1005af20", "je 0x282"]]}, {"both": [["0x10059f64", "cmp dword ptr [edx + 0x14], 1", "0x1005af26"]]}, {"orig": [["0x10059f68", "jne 0x279"]], "recomp": [["0x1005af2a", "jne 0x278"]]}, {"both": [["0x10059f6e", "lea ebx, [edx + 4]", "0x1005af30"], ["0x10059f71", "mov eax, dword ptr [ebx]", "0x1005af33"], ["0x10059f73", "mov edi, dword ptr [eax]", "0x1005af35"], ["0x10059f75", "cmp edx, edi", "0x1005af37"]]}, {"orig": [["0x10059f77", "jne 0x76"]], "recomp": [["0x1005af39", "jne 0x73"]]}, {"both": [["0x10059f79", "mov edi, dword ptr [eax + 8]", "0x1005af3b"]]}, {"orig": [], "recomp": [["0x1005af3e", "cmp dword ptr [edi + 0x14], 0"], ["0x1005af42", "jne 0x4f"], ["0x1005af44", "mov dword ptr [edi + 0x14], 1"], ["0x1005af4b", "mov eax, dword ptr [ebx]"], ["0x1005af4d", "mov dword ptr [eax + 0x14], 0"], ["0x1005af54", "mov ebp, dword ptr [ebx]"], ["0x1005af56", "mov eax, dword ptr [ebp + 8]"], ["0x1005af59", "mov edi, dword ptr [eax]"], ["0x1005af5b", "mov dword ptr [ebp + 8], edi"], ["0x1005af5e", "mov edi, dword ptr [eax]"], ["0x1005af60", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"], ["0x1005af66", "je 0x3"], ["0x1005af68", "mov dword ptr [edi + 4], ebp"], ["0x1005af6b", "mov edi, dword ptr [ebp + 4]"], ["0x1005af6e", "mov dword ptr [eax + 4], edi"], ["0x1005af71", "mov edi, dword ptr [esi + 4]"], ["0x1005af74", "add edi, 4"], ["0x1005af77", "cmp dword ptr [edi], ebp"], ["0x1005af79", "je 0xc"], ["0x1005af7b", "mov edi, dword ptr [ebp + 4]"], ["0x1005af7e", "cmp dword ptr [edi], ebp"], ["0x1005af80", "je 0x5"], ["0x1005af82", "mov dword ptr [edi + 8], eax"], ["0x1005af85", "jmp 0x2"], ["0x1005af87", "mov dword ptr [edi], eax"], ["0x1005af89", "mov dword ptr [eax], ebp"], ["0x1005af8b", "mov dword ptr [ebp + 4], eax"], ["0x1005af8e", "mov eax, dword ptr [ebx]"], ["0x1005af90", "mov edi, dword ptr [eax + 8]"], ["0x1005af93", "mov eax, dword ptr [edi]"], ["0x1005af95", "cmp dword ptr [eax + 0x14], 1"], ["0x1005af99", "jne 0x9a"], ["0x1005af9f", "mov eax, dword ptr [edi + 8]"], ["0x1005afa2", "cmp dword ptr [eax + 0x14], 1"], ["0x1005afa6", "jne 0x8d"], ["0x1005afac", "jmp 0x71"]]}, {"both": [["0x10059f7c", "cmp dword ptr [edi + 0x14], 0", "0x1005afae"], ["0x10059f80", "jne 0x52", "0x1005afb2"], ["0x10059f82", "mov dword ptr [edi + 0x14], 1", "0x1005afb4"], ["0x10059f89", "mov eax, dword ptr [ebx]", "0x1005afbb"], ["0x10059f8b", "mov dword ptr [eax + 0x14], 0", "0x1005afbd"]]}, {"orig": [["0x10059f92", "mov eax, dword ptr [ebx]"], ["0x10059f94", "mov ebp, dword ptr [eax + 8]"], ["0x10059f97", "mov edi, dword ptr [ebp]"], ["0x10059f9a", "mov dword ptr [eax + 8], edi"], ["0x10059f9d", "mov edi, dword ptr [ebp]"]], "recomp": [["0x1005afc4", "mov ebp, dword ptr [ebx]"], ["0x1005afc6", "mov eax, dword ptr [ebp]"], ["0x1005afc9", "mov edi, dword ptr [eax + 8]"], ["0x1005afcc", "mov dword ptr [ebp], edi"], ["0x1005afcf", "mov edi, dword ptr [eax + 8]"]]}, {"both": [["0x10059fa0", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005afd2"], ["0x10059fa6", "je 0x3", "0x1005afd8"]]}, {"orig": [["0x10059fa8", "mov dword ptr [edi + 4], eax"], ["0x10059fab", "mov edi, dword ptr [eax + 4]"], ["0x10059fae", "mov dword ptr [ebp + 4], edi"]], "recomp": [["0x1005afda", "mov dword ptr [edi + 4], ebp"], ["0x1005afdd", "mov edi, dword ptr [ebp + 4]"], ["0x1005afe0", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x10059fb1", "mov edi, dword ptr [esi + 4]", "0x1005afe3"], ["0x10059fb4", "add edi, 4", "0x1005afe6"]]}, {"orig": [["0x10059fb7", "cmp dword ptr [edi], eax"], ["0x10059fb9", "je 0xc"], ["0x10059fbb", "mov edi, dword ptr [eax + 4]"], ["0x10059fbe", "cmp dword ptr [edi], eax"], ["0x10059fc0", "je 0x5"], ["0x10059fc2", "mov dword ptr [edi + 8], ebp"], ["0x10059fc5", "jmp 0x2"], ["0x10059fc7", "mov dword ptr [edi], ebp"], ["0x10059fc9", "mov dword ptr [ebp], eax"], ["0x10059fcc", "mov dword ptr [eax + 4], ebp"], ["0x10059fcf", "mov eax, dword ptr [ebx]"], ["0x10059fd1", "mov edi, dword ptr [eax + 8]"], ["0x10059fd4", "mov eax, dword ptr [edi]"], ["0x10059fd6", "cmp dword ptr [eax + 0x14], 1"], ["0x10059fda", "jne 0x98"], ["0x10059fe0", "mov eax, dword ptr [edi + 8]"], ["0x10059fe3", "cmp dword ptr [eax + 0x14], 1"], ["0x10059fe7", "jne 0x8b"], ["0x10059fed", "jmp 0x6f"], ["0x10059fef", "cmp dword ptr [edi + 0x14], 0"], ["0x10059ff3", "jne 0x50"], ["0x10059ff5", "mov dword ptr [edi + 0x14], 1"], ["0x10059ffc", "mov eax, dword ptr [ebx]"], ["0x10059ffe", "mov dword ptr [eax + 0x14], 0"], ["0x1005a005", "mov edi, dword ptr [ebx]"], ["0x1005a007", "mov ebp, dword ptr [edi]"], ["0x1005a009", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x1005afe9", "cmp dword ptr [edi], ebp"], ["0x1005afeb", "je 0xd"], ["0x1005afed", "mov edi, dword ptr [ebp + 4]"], ["0x1005aff0", "add edi, 8"], ["0x1005aff3", "cmp dword ptr [edi], ebp"], ["0x1005aff5", "je 0x3"], ["0x1005aff7", "mov edi, dword ptr [ebp + 4]"]]}, {"both": [["0x1005a00c", "mov dword ptr [edi], eax", "0x1005affa"]]}, {"orig": [["0x1005a00e", "mov eax, dword ptr [ebp + 8]"], ["0x1005a011", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"], ["0x1005a017", "je 0x3"], ["0x1005a019", "mov dword ptr [eax + 4], edi"], ["0x1005a01c", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x1005affc", "mov dword ptr [eax + 8], ebp"]]}, {"both": [["0x1005a01f", "mov dword ptr [ebp + 4], eax", "0x1005afff"]]}, {"orig": [["0x1005a022", "mov eax, dword ptr [esi + 4]"], ["0x1005a025", "add eax, 4"], ["0x1005a028", "cmp dword ptr [eax], edi"], ["0x1005a02a", "je 0xd"], ["0x1005a02c", "mov eax, dword ptr [edi + 4]"], ["0x1005a02f", "add eax, 8"], ["0x1005a032", "cmp dword ptr [eax], edi"], ["0x1005a034", "je 0x3"], ["0x1005a036", "mov eax, dword ptr [edi + 4]"], ["0x1005a039", "mov dword ptr [eax], ebp"], ["0x1005a03b", "mov dword ptr [ebp + 8], edi"], ["0x1005a03e", "mov dword ptr [edi + 4], ebp"]], "recomp": []}, {"both": [["0x1005a041", "mov eax, dword ptr [ebx]", "0x1005b002"], ["0x1005a043", "mov edi, dword ptr [eax]", "0x1005b004"], ["0x1005a045", "mov eax, dword ptr [edi + 8]", "0x1005b006"], ["0x1005a048", "cmp dword ptr [eax + 0x14], 1", "0x1005b009"]]}, {"orig": [["0x1005a04c", "jne 0xe6"]], "recomp": [["0x1005b00d", "jne 0xe7"]]}, {"both": [["0x1005a052", "mov eax, dword ptr [edi]", "0x1005b013"], ["0x1005a054", "cmp dword ptr [eax + 0x14], 1", "0x1005b015"]]}, {"orig": [["0x1005a058", "jne 0xda"]], "recomp": [["0x1005b019", "jne 0xdb"]]}, {"both": [["0x1005a05e", "mov dword ptr [edi + 0x14], 0", "0x1005b01f"], ["0x1005a065", "mov edx, dword ptr [ebx]", "0x1005b026"], ["0x1005a067", "mov eax, dword ptr [esi + 4]", "0x1005b028"], ["0x1005a06a", "cmp dword ptr [eax + 4], edx", "0x1005b02b"]]}, {"orig": [["0x1005a06d", "jne -0x10f"]], "recomp": [["0x1005b02e", "jne -0x10e"]]}, {"both": [["0x1005a073", "jmp 0x16f", "0x1005b034"], ["0x1005a078", "mov eax, dword ptr [edi + 8]", "0x1005b039"], ["0x1005a07b", "cmp dword ptr [eax + 0x14], 1", "0x1005b03c"]]}, {"orig": [["0x1005a07f", "jne 0x52"]], "recomp": [["0x1005b040", "jne 0x53"]]}, {"both": [["0x1005a081", "mov eax, dword ptr [edi]", "0x1005b042"], ["0x1005a083", "mov dword ptr [eax + 0x14], 1", "0x1005b044"], ["0x1005a08a", "mov dword ptr [edi + 0x14], 0", "0x1005b04b"], ["0x1005a091", "mov ebx, dword ptr [edi]", "0x1005b052"], ["0x1005a093", "mov ebp, dword ptr [ebx + 8]", "0x1005b054"], ["0x1005a096", "mov dword ptr [edi], ebp", "0x1005b057"], ["0x1005a098", "mov eax, dword ptr [ebx + 8]", "0x1005b059"], ["0x1005a09b", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005b05c"], ["0x1005a0a1", "je 0x3", "0x1005b062"], ["0x1005a0a3", "mov dword ptr [eax + 4], edi", "0x1005b064"], ["0x1005a0a6", "mov eax, dword ptr [edi + 4]", "0x1005b067"], ["0x1005a0a9", "mov dword ptr [ebx + 4], eax", "0x1005b06a"], ["0x1005a0ac", "mov eax, dword ptr [esi + 4]", "0x1005b06d"], ["0x1005a0af", "add eax, 4", "0x1005b070"], ["0x1005a0b2", "cmp dword ptr [eax], edi", "0x1005b073"]]}, {"orig": [["0x1005a0b4", "je 0xf"], ["0x1005a0b6", "mov ebp, dword ptr [edi + 4]"], ["0x1005a0b9", "lea eax, [ebp + 8]"], ["0x1005a0bc", "cmp dword ptr [eax], edi"], ["0x1005a0be", "je 0x5"]], "recomp": [["0x1005b075", "je 0x10"], ["0x1005b077", "mov eax, dword ptr [edi + 4]"], ["0x1005b07a", "lea ebp, [eax + 8]"], ["0x1005b07d", "cmp dword ptr [ebp], edi"], ["0x1005b080", "jne 0x5"]]}, {"both": [["0x1005a0c0", "mov dword ptr [ebp], ebx", "0x1005b082"], ["0x1005a0c3", "jmp 0x2", "0x1005b085"], ["0x1005a0c5", "mov dword ptr [eax], ebx", "0x1005b087"], ["0x1005a0c7", "mov dword ptr [ebx + 8], edi", "0x1005b089"], ["0x1005a0ca", "mov dword ptr [edi + 4], ebx", "0x1005b08c"], ["0x1005a0cd", "mov eax, dword ptr [edx + 4]", "0x1005b08f"], ["0x1005a0d0", "mov edi, dword ptr [eax + 8]", "0x1005b092"], ["0x1005a0d3", "mov eax, dword ptr [edx + 4]", "0x1005b095"], ["0x1005a0d6", "mov ebx, dword ptr [eax + 0x14]", "0x1005b098"], ["0x1005a0d9", "mov dword ptr [edi + 0x14], ebx", "0x1005b09b"]]}]], ["@@ -0x1005a108,27 +0x1005b0ca,27 @@", [{"both": [["0x1005a108", "mov dword ptr [edi + 4], eax", "0x1005b0ca"], ["0x1005a10b", "mov eax, dword ptr [esi + 4]", "0x1005b0cd"], ["0x1005a10e", "add eax, 4", "0x1005b0d0"], ["0x1005a111", "cmp dword ptr [eax], ebx", "0x1005b0d3"], ["0x1005a113", "je 0x1a", "0x1005b0d5"], ["0x1005a115", "mov eax, dword ptr [ebx + 4]", "0x1005b0d7"], ["0x1005a118", "cmp dword ptr [eax], ebx", "0x1005b0da"], ["0x1005a11a", "je 0xa", "0x1005b0dc"], ["0x1005a11c", "mov dword ptr [eax + 8], edi", "0x1005b0de"], ["0x1005a11f", "mov dword ptr [edi], ebx", "0x1005b0e1"]]}, {"orig": [["0x1005a121", "jmp 0xbe"]], "recomp": [["0x1005b0e3", "jmp 0xbd"]]}, {"both": [["0x1005a126", "mov dword ptr [eax], edi", "0x1005b0e8"], ["0x1005a128", "mov dword ptr [edi], ebx", "0x1005b0ea"]]}, {"orig": [["0x1005a12a", "jmp 0xb5"]], "recomp": [["0x1005b0ec", "jmp 0xb4"]]}, {"both": [["0x1005a12f", "mov dword ptr [eax], edi", "0x1005b0f1"], ["0x1005a131", "mov dword ptr [edi], ebx", "0x1005b0f3"]]}, {"orig": [["0x1005a133", "jmp 0xac"]], "recomp": [["0x1005b0f5", "jmp 0xab"]]}, {"both": [["0x1005a138", "mov eax, dword ptr [edi]", "0x1005b0fa"], ["0x1005a13a", "cmp dword ptr [eax + 0x14], 1", "0x1005b0fc"], ["0x1005a13e", "jne 0x4e", "0x1005b100"], ["0x1005a140", "mov eax, dword ptr [edi + 8]", "0x1005b102"], ["0x1005a143", "mov dword ptr [eax + 0x14], 1", "0x1005b105"], ["0x1005a14a", "mov dword ptr [edi + 0x14], 0", "0x1005b10c"], ["0x1005a151", "mov ebx, dword ptr [edi + 8]", "0x1005b113"], ["0x1005a154", "mov ebp, dword ptr [ebx]", "0x1005b116"], ["0x1005a156", "mov dword ptr [edi + 8], ebp", "0x1005b118"], ["0x1005a159", "mov eax, dword ptr [ebx]", "0x1005b11b"]]}]], ["@@ -0x1005a1af,25 +0x1005b171,25 @@", [{"both": [["0x1005a1af", "mov dword ptr [ebx], eax", "0x1005b171"], ["0x1005a1b1", "mov eax, dword ptr [edi + 8]", "0x1005b173"], ["0x1005a1b4", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]", "0x1005b176"], ["0x1005a1ba", "je 0x3", "0x1005b17c"], ["0x1005a1bc", "mov dword ptr [eax + 4], ebx", "0x1005b17e"], ["0x1005a1bf", "mov eax, dword ptr [ebx + 4]", "0x1005b181"], ["0x1005a1c2", "mov dword ptr [edi + 4], eax", "0x1005b184"], ["0x1005a1c5", "mov eax, dword ptr [esi + 4]", "0x1005b187"], ["0x1005a1c8", "add eax, 4", "0x1005b18a"], ["0x1005a1cb", "cmp dword ptr [eax], ebx", "0x1005b18d"]]}, {"orig": [["0x1005a1cd", "je 0x10"], ["0x1005a1cf", "mov eax, dword ptr [ebx + 4]"], ["0x1005a1d2", "lea ebp, [eax + 8]"], ["0x1005a1d5", "cmp dword ptr [ebp], ebx"], ["0x1005a1d8", "jne 0x5"]], "recomp": [["0x1005b18f", "je 0xf"], ["0x1005b191", "mov ebp, dword ptr [ebx + 4]"], ["0x1005b194", "lea eax, [ebp + 8]"], ["0x1005b197", "cmp dword ptr [eax], ebx"], ["0x1005b199", "je 0x5"]]}, {"both": [["0x1005a1da", "mov dword ptr [ebp], edi", "0x1005b19b"], ["0x1005a1dd", "jmp 0x2", "0x1005b19e"], ["0x1005a1df", "mov dword ptr [eax], edi", "0x1005b1a0"], ["0x1005a1e1", "mov dword ptr [edi + 8], ebx", "0x1005b1a2"], ["0x1005a1e4", "mov dword ptr [ebx + 4], edi", "0x1005b1a5"], ["0x1005a1e7", "mov dword ptr [edx + 0x14], 1", "0x1005b1a8"], ["0x1005a1ee", "push ecx", "0x1005b1af"], ["0x1005a1ef", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005b1b0"], ["0x1005a1f4", "mov ecx, dword ptr [esp + 0x20]", "0x1005b1b5"], ["0x1005a1f8", "mov eax, dword ptr [esp + 0x1c]", "0x1005b1b9"]]}]]]}, {"address": "0x1005a210", "recomp": "0x1005b1d0", "name": "_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x1005a210,23 +0x1005b1d0,23 @@", [{"both": [["0x1005a210", "push ebx", "0x1005b1d0"], ["0x1005a211", "push esi", "0x1005b1d1"]]}, {"orig": [["0x1005a212", "mov esi, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x1005a216", "push edi", "0x1005b1d2"]]}, {"orig": [["0x1005a217", "mov edi, ecx"], ["0x1005a219", "mov ebx, esi"], ["0x1005a21b", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1005b1d3", "mov esi, ecx"], ["0x1005b1d5", "mov ebx, dword ptr [esp + 0x10]"], ["0x1005b1d9", "mov edi, ebx"], ["0x1005b1db", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x1005a221", "je 0x20", "0x1005b1e1"]]}, {"orig": [["0x1005a223", "mov eax, dword ptr [ebx + 8]"], ["0x1005a226", "mov ecx, edi"]], "recomp": [["0x1005b1e3", "mov eax, dword ptr [edi + 8]"], ["0x1005b1e6", "mov ecx, esi"]]}, {"both": [["0x1005a228", "push eax", "0x1005b1e8"], ["0x1005a229", "call _Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Erase (FUNCTION)", "0x1005b1e9"]]}, {"orig": [["0x1005a22e", "mov ebx, dword ptr [ebx]"], ["0x1005a230", "push esi"], ["0x1005a231", "mov esi, ebx"]], "recomp": [["0x1005b1ee", "mov edi, dword ptr [edi]"], ["0x1005b1f0", "push ebx"], ["0x1005b1f1", "mov ebx, edi"]]}, {"both": [["0x1005a233", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005b1f3"], ["0x1005a238", "add esp, 4", "0x1005b1f8"]]}, {"orig": [["0x1005a23b", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1005b1fb", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x1005a241", "jne -0x20", "0x1005b201"], ["0x1005a243", "pop edi", "0x1005b203"], ["0x1005a244", "pop esi", "0x1005b204"], ["0x1005a245", "pop ebx", "0x1005b205"], ["0x1005a246", "ret 4", "0x1005b206"]]}]]]}, {"address": "0x1005a250", "recomp": "0x1005b210", "name": "list<pair<LegoTextureInfo *,int>,allocator<pair<LegoTextureInfo *,int> > >::~list<pair<LegoTextureInfo *,int>,allocator<pair<LegoTextureInfo *,int> > >", "matching": 1.0, "diff": []}, {"address": "0x1005a2c0", "recomp": "0x1005b430", "name": "map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::~map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >", "matching": 1.0, "diff": []}, {"address": "0x1005a310", "recomp": "0x1005b2f0", "name": "LegoContainer<LegoTextureInfo>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005a400", "recomp": "0x1005b3e0", "name": "LegoContainerInfo<LegoTextureInfo>::~LegoContainerInfo<LegoTextureInfo>", "matching": 1.0, "diff": []}, {"address": "0x1005a450", "recomp": "0x1005b480", "name": "Map<char const *,LegoTextureInfo *,LegoContainerInfoComparator>::~Map<char const *,LegoTextureInfo *,LegoContainerInfoComparator>", "matching": 1.0, "diff": []}, {"address": "0x1005a4a0", "recomp": "0x1005b4d0", "name": "list<MxTickleClient *,allocator<MxTickleClient *> >::~list<MxTickleClient *,allocator<MxTickleClient *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005a4c3,21 +0x1005b4f3,21 @@", [{"both": [["0x1005a4c3", "mov eax, dword ptr [eax]", "0x1005b4f3"], ["0x1005a4c5", "mov dword ptr [ecx], eax", "0x1005b4f5"], ["0x1005a4c7", "mov ecx, dword ptr [edx]", "0x1005b4f7"], ["0x1005a4c9", "mov eax, dword ptr [esp + 8]", "0x1005b4f9"], ["0x1005a4cd", "push eax", "0x1005b4fd"], ["0x1005a4ce", "mov edx, dword ptr [eax]", "0x1005b4fe"], ["0x1005a4d0", "mov dword ptr [edx + 4], ecx", "0x1005b500"], ["0x1005a4d3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005b503"], ["0x1005a4d8", "add esp, 4", "0x1005b508"], ["0x1005a4db", "dec dword ptr [esi + 8]", "0x1005b50b"]]}, {"orig": [["0x1005a4de", "cmp edi, dword ptr [esp + 0x10]"]], "recomp": [["0x1005b50e", "cmp dword ptr [esp + 0x10], edi"]]}, {"both": [["0x1005a4e2", "jne -0x2e", "0x1005b512"], ["0x1005a4e4", "mov eax, dword ptr [esi + 4]", "0x1005b514"], ["0x1005a4e7", "push eax", "0x1005b517"], ["0x1005a4e8", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005b518"], ["0x1005a4ed", "mov dword ptr [esi + 4], 0", "0x1005b51d"], ["0x1005a4f4", "add esp, 4", "0x1005b524"], ["0x1005a4f7", "mov dword ptr [esi + 8], 0", "0x1005b527"], ["0x1005a4fe", "pop edi", "0x1005b52e"], ["0x1005a4ff", "pop esi", "0x1005b52f"], ["0x1005a500", "add esp, 0xc", "0x1005b530"]]}]]]}, {"address": "0x1005a510", "recomp": "0x1005b540", "name": "MxTickleManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005a530", "recomp": "0x1005b560", "name": "List<MxTickleClient *>::~List<MxTickleClient *>", "matching": 1.0, "diff": []}, {"address": "0x1005a580", "recomp": "0x1005b280", "name": "LegoTextureContainer::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005a5a0", "recomp": "0x1005b2a0", "name": "List<pair<LegoTextureInfo *,int> >::~List<pair<LegoTextureInfo *,int> >", "matching": 1.0, "diff": []}, {"address": "0x1005a5f0", "recomp": "0x1005b5b0", "name": "LegoOmni::RegisterWorlds", "matching": 1.0, "diff": []}, {"address": "0x1005ac40", "recomp": "0x1005bc00", "name": "LegoOmni::WorldContainer::WorldContainer", "matching": 1.0, "diff": []}, {"address": "0x1005ac50", "recomp": "0x1005bc10", "name": "LegoOmni::WorldContainer::operator=", "matching": 1.0, "diff": []}, {"address": "0x1005ac90", "recomp": "0x1005bc50", "name": "LegoOmni::CreateInstance", "matching": 1.0, "diff": []}, {"address": "0x1005ad10", "recomp": "0x1005bcd0", "name": "LegoOmni::GetInstance", "matching": 1.0, "diff": []}, {"address": "0x1005ad20", "recomp": "0x1005bce0", "name": "LegoOmni::AddWorld", "matching": 0.8235294117647058, "diff": [["@@ -0x1005ad26,50 +0x1005bce6,50 @@", [{"both": [["0x1005ad26", "push ebp", "0x1005bce6"], ["0x1005ad27", "mov ebp, esp", "0x1005bce7"], ["0x1005ad29", "push -1", "0x1005bce9"], ["0x1005ad2b", "push <OFFSET1>", "0x1005bceb"], ["0x1005ad30", "push eax", "0x1005bcf0"], ["0x1005ad31", "mov dword ptr fs:[0], esp", "0x1005bcf1"], ["0x1005ad38", "sub esp, 4", "0x1005bcf8"], ["0x1005ad3b", "push ebx", "0x1005bcfb"], ["0x1005ad3c", "push esi", "0x1005bcfc"], ["0x1005ad3d", "push edi", "0x1005bcfd"]]}, {"orig": [["0x1005ad3e", "mov esi, dword ptr [ecx + 0x78]"]], "recomp": [["0x1005bcfe", "mov ebx, dword ptr [ecx + 0x78]"]]}, {"both": [["0x1005ad41", "push 0xc", "0x1005bd01"]]}, {"orig": [["0x1005ad43", "mov ebx, dword ptr [esi + 0x14]"]], "recomp": [["0x1005bd03", "mov esi, dword ptr [ebx + 0x14]"]]}, {"both": [["0x1005ad46", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005bd06"], ["0x1005ad4b", "mov dword ptr [ebp - 0x10], eax", "0x1005bd0b"], ["0x1005ad4e", "add esp, 4", "0x1005bd0e"], ["0x1005ad51", "mov edi, eax", "0x1005bd11"], ["0x1005ad53", "xor ecx, ecx", "0x1005bd13"], ["0x1005ad55", "mov eax, 0", "0x1005bd15"], ["0x1005ad5a", "mov dword ptr [ebp - 4], ecx", "0x1005bd1a"], ["0x1005ad5d", "test edi, edi", "0x1005bd1d"], ["0x1005ad5f", "je 0xd", "0x1005bd1f"], ["0x1005ad61", "mov eax, dword ptr [ebp + 8]", "0x1005bd21"], ["0x1005ad64", "mov dword ptr [edi], eax", "0x1005bd24"], ["0x1005ad66", "mov eax, edi", "0x1005bd26"]]}, {"orig": [["0x1005ad68", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x1005bd28", "mov dword ptr [edi + 4], esi"]]}, {"both": [["0x1005ad6b", "mov dword ptr [edi + 8], ecx", "0x1005bd2b"], ["0x1005ad6e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1005bd2e"]]}, {"orig": [["0x1005ad75", "test ebx, ebx"]], "recomp": [["0x1005bd35", "test esi, esi"]]}, {"both": [["0x1005ad77", "je 0x1b", "0x1005bd37"]]}, {"orig": [["0x1005ad79", "mov dword ptr [ebx + 8], eax"]], "recomp": [["0x1005bd39", "mov dword ptr [esi + 8], eax"]]}, {"both": [["0x1005ad7c", "pop edi", "0x1005bd3c"]]}, {"orig": [["0x1005ad7d", "mov dword ptr [esi + 0x14], eax"]], "recomp": [["0x1005bd3d", "mov dword ptr [ebx + 0x14], eax"]]}, {"both": [["0x1005ad80", "mov eax, dword ptr [ebp - 0xc]", "0x1005bd40"]]}, {"orig": [["0x1005ad83", "inc dword ptr [esi + 8]"]], "recomp": [["0x1005bd43", "pop esi"]]}, {"both": [["0x1005ad86", "mov dword ptr fs:[0], eax", "0x1005bd44"]]}, {"orig": [["0x1005ad8c", "pop esi"]], "recomp": [["0x1005bd4a", "inc dword ptr [ebx + 8]"]]}, {"both": [["0x1005ad8d", "pop ebx", "0x1005bd4d"], ["0x1005ad8e", "mov esp, ebp", "0x1005bd4e"], ["0x1005ad90", "pop ebp", "0x1005bd50"], ["0x1005ad91", "ret 4", "0x1005bd51"]]}, {"orig": [["0x1005ad94", "mov dword ptr [esi + 0x10], eax"]], "recomp": [["0x1005bd54", "mov dword ptr [ebx + 0x10], eax"]]}, {"both": [["0x1005ad97", "jmp -0x1d", "0x1005bd57"], ["0x1005ad99", "mov eax, <OFFSET3>", "0x1005bd59"], ["0x1005ad9e", "jmp ___CxxFrameHandler (FUNCTION)", "0x1005bd5e"], ["0x1005ada3", "mov eax, dword ptr [ebp - 0x10]", "0x1005bd63"], ["0x1005ada6", "push eax", "0x1005bd66"], ["0x1005ada7", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005bd67"], ["0x1005adac", "add esp, 4", "0x1005bd6c"], ["0x1005adaf", "ret ", "0x1005bd6f"]]}]]]}, {"address": "0x1005adb0", "recomp": "0x1005bd70", "name": "LegoOmni::DeleteWorld", "matching": 1.0, "diff": []}, {"address": "0x1005af10", "recomp": "0x1005bed0", "name": "LegoOmni::RemoveWorld", "matching": 1.0, "diff": []}, {"address": "0x1005b0c0", "recomp": "0x1005c080", "name": "LegoOmni::FindWorld", "matching": 1.0, "diff": []}, {"address": "0x1005b1d0", "recomp": "0x1005c190", "name": "LegoOmni::DeleteObject", "matching": 0.6268656716417911, "diff": [["@@ -0x1005b1d0,67 +0x1005c190,67 @@", [{"both": [["0x1005b1d0", "push ebx", "0x1005c190"], ["0x1005b1d1", "push esi", "0x1005c191"]]}, {"orig": [], "recomp": [["0x1005c192", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x1005b1d2", "push edi", "0x1005c196"]]}, {"orig": [["0x1005b1d3", "mov ebx, ecx"], ["0x1005b1d5", "mov edi, dword ptr [esp + 0x10]"], ["0x1005b1d9", "lea esi, [edi + 0x20]"], ["0x1005b1dc", "cmp dword ptr [esi], 0"]], "recomp": [["0x1005c197", "mov edi, ecx"], ["0x1005c199", "lea ebx, [esi + 0x20]"], ["0x1005c19c", "cmp dword ptr [ebx], 0"]]}, {"both": [["0x1005b1df", "je 0x77", "0x1005c19f"]]}, {"orig": [["0x1005b1e1", "mov eax, dword ptr [edi + 0x1c]"]], "recomp": [["0x1005c1a1", "mov eax, dword ptr [esi + 0x1c]"]]}, {"both": [["0x1005b1e4", "push eax", "0x1005c1a4"]]}, {"orig": [["0x1005b1e5", "push esi"]], "recomp": [["0x1005c1a5", "push ebx"]]}, {"both": [["0x1005b1e6", "call LegoOmni::FindWorld (FUNCTION)", "0x1005c1a6"], ["0x1005b1eb", "test eax, eax", "0x1005c1ab"], ["0x1005b1ed", "je 0xe", "0x1005c1ad"], ["0x1005b1ef", "push eax", "0x1005c1af"]]}, {"orig": [["0x1005b1f0", "mov ecx, ebx"]], "recomp": [["0x1005c1b0", "mov ecx, edi"]]}, {"both": [["0x1005b1f2", "call LegoOmni::DeleteWorld (FUNCTION)", "0x1005c1b2"], ["0x1005b1f7", "pop edi", "0x1005c1b7"], ["0x1005b1f8", "pop esi", "0x1005c1b8"], ["0x1005b1f9", "pop ebx", "0x1005c1b9"], ["0x1005b1fa", "ret 4", "0x1005c1ba"]]}, {"orig": [["0x1005b1fd", "mov ecx, dword ptr [ebx + 0x7c]"]], "recomp": [["0x1005c1bd", "mov ecx, dword ptr [edi + 0x7c]"]]}, {"both": [["0x1005b200", "test ecx, ecx", "0x1005c1c0"], ["0x1005b202", "je 0x54", "0x1005c1c2"]]}, {"orig": [["0x1005b204", "mov eax, dword ptr [edi + 0x1c]"]], "recomp": [["0x1005c1c4", "mov eax, dword ptr [esi + 0x1c]"]]}, {"both": [["0x1005b207", "push eax", "0x1005c1c7"]]}, {"orig": [["0x1005b208", "push esi"]], "recomp": [["0x1005c1c8", "push ebx"]]}, {"both": [["0x1005b209", "call LegoWorld::Find (FUNCTION)", "0x1005c1c9"]]}, {"orig": [["0x1005b20e", "mov esi, eax"], ["0x1005b210", "test esi, esi"]], "recomp": [["0x1005c1ce", "mov ebx, eax"], ["0x1005c1d0", "test ebx, ebx"]]}, {"both": [["0x1005b212", "je 0x44", "0x1005c1d2"]]}, {"orig": [["0x1005b214", "push esi"], ["0x1005b215", "mov ecx, dword ptr [ebx + 0x7c]"]], "recomp": [["0x1005c1d4", "push ebx"], ["0x1005c1d5", "mov ecx, dword ptr [edi + 0x7c]"]]}, {"both": [["0x1005b218", "call LegoWorld::Remove (FUNCTION)", "0x1005c1d8"]]}, {"orig": [["0x1005b21d", "mov edi, dword ptr [esi]"]], "recomp": [["0x1005c1dd", "mov esi, dword ptr [ebx]"]]}, {"both": [["0x1005b21f", "push 'MxPresenter' (STRING)", "0x1005c1df"]]}, {"orig": [["0x1005b224", "mov ecx, esi"], ["0x1005b226", "call dword ptr [edi + 0x10]"]], "recomp": [["0x1005c1e4", "mov ecx, ebx"], ["0x1005c1e6", "call dword ptr [esi + 0x10]"]]}, {"both": [["0x1005b229", "test al, al", "0x1005c1e9"], ["0x1005b22b", "jne 0x10", "0x1005c1eb"]]}, {"orig": [["0x1005b22d", "test esi, esi"]], "recomp": [["0x1005c1ed", "test ebx, ebx"]]}, {"both": [["0x1005b22f", "je 0x2f", "0x1005c1ef"], ["0x1005b231", "push 1", "0x1005c1f1"]]}, {"orig": [["0x1005b233", "mov ecx, esi"], ["0x1005b235", "call dword ptr [edi]"]], "recomp": [["0x1005c1f3", "mov ecx, ebx"], ["0x1005c1f5", "call dword ptr [esi]"]]}, {"both": [["0x1005b237", "pop edi", "0x1005c1f7"], ["0x1005b238", "pop esi", "0x1005c1f8"], ["0x1005b239", "pop ebx", "0x1005c1f9"], ["0x1005b23a", "ret 4", "0x1005c1fa"]]}, {"orig": [["0x1005b23d", "mov eax, dword ptr [esi + 0x1c]"]], "recomp": [["0x1005c1fd", "mov eax, dword ptr [ebx + 0x1c]"]]}, {"both": [["0x1005b240", "push eax", "0x1005c200"], ["0x1005b241", "call Streamer (FUNCTION)", "0x1005c201"], ["0x1005b246", "mov ecx, eax", "0x1005c206"], ["0x1005b248", "call MxStreamer::FUN_100b98f0 (FUNCTION)", "0x1005c208"]]}, {"orig": [["0x1005b24d", "mov ecx, esi"], ["0x1005b24f", "call dword ptr [edi + 0x40]"]], "recomp": [["0x1005c20d", "mov ecx, ebx"], ["0x1005c20f", "call dword ptr [esi + 0x40]"]]}, {"both": [["0x1005b252", "pop edi", "0x1005c212"], ["0x1005b253", "pop esi", "0x1005c213"], ["0x1005b254", "pop ebx", "0x1005c214"], ["0x1005b255", "ret 4", "0x1005c215"]]}, {"orig": [["0x1005b258", "push edi"], ["0x1005b259", "mov ecx, ebx"]], "recomp": [["0x1005c218", "push esi"], ["0x1005c219", "mov ecx, edi"]]}, {"both": [["0x1005b25b", "call MxOmni::DeleteObject (FUNCTION)", "0x1005c21b"], ["0x1005b260", "pop edi", "0x1005c220"], ["0x1005b261", "pop esi", "0x1005c221"], ["0x1005b262", "pop ebx", "0x1005c222"], ["0x1005b263", "ret 4", "0x1005c223"]]}]]]}, {"address": "0x1005b270", "recomp": "0x1005c230", "name": "LegoOmni::FindROI", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005b270,46 +0x1005c230,46 @@", [{"both": [["0x1005b270", "sub esp, 4", "0x1005c230"], ["0x1005b273", "mov eax, dword ptr [ecx + 0x2c]", "0x1005c233"], ["0x1005b276", "push ebx", "0x1005c236"], ["0x1005b277", "mov ecx, dword ptr [eax + 0x68]", "0x1005c237"], ["0x1005b27a", "push esi", "0x1005c23a"], ["0x1005b27b", "push edi", "0x1005c23b"], ["0x1005b27c", "mov edx, dword ptr [ecx + 8]", "0x1005c23c"]]}, {"orig": [["0x1005b27f", "mov edi, dword ptr [esp + 0x14]"], ["0x1005b283", "mov esi, dword ptr [edx + 0x88]"], ["0x1005b289", "add esi, 8"], ["0x1005b28c", "test edi, edi"]], "recomp": [["0x1005c23f", "mov esi, dword ptr [esp + 0x14]"], ["0x1005c243", "mov edi, dword ptr [edx + 0x88]"], ["0x1005c249", "add edi, 8"], ["0x1005c24c", "test esi, esi"]]}, {"both": [["0x1005b28e", "je 0x46", "0x1005c24e"]]}, {"orig": [["0x1005b290", "cmp byte ptr [edi], 0"]], "recomp": [["0x1005c250", "cmp byte ptr [esi], 0"]]}, {"both": [["0x1005b293", "je 0x41", "0x1005c253"]]}, {"orig": [["0x1005b295", "cmp dword ptr [esi + 8], 0"]], "recomp": [["0x1005c255", "cmp dword ptr [edi + 8], 0"]]}, {"both": [["0x1005b299", "jbe 0x3b", "0x1005c259"]]}, {"orig": [["0x1005b29b", "mov ecx, dword ptr [esi + 4]"], ["0x1005b29e", "mov eax, dword ptr [ecx]"], ["0x1005b2a0", "mov dword ptr [esp + 0xc], eax"], ["0x1005b2a4", "cmp eax, ecx"]], "recomp": [["0x1005c25b", "mov eax, dword ptr [edi + 4]"], ["0x1005c25e", "mov ecx, dword ptr [eax]"], ["0x1005c260", "mov dword ptr [esp + 0xc], ecx"], ["0x1005c264", "cmp ecx, eax"]]}, {"both": [["0x1005b2a6", "je 0x2e", "0x1005c266"], ["0x1005b2a8", "mov eax, dword ptr [esp + 0xc]", "0x1005c268"], ["0x1005b2ac", "mov ebx, dword ptr [eax + 8]", "0x1005c26c"], ["0x1005b2af", "mov eax, dword ptr [ebx + 0xe4]", "0x1005c26f"], ["0x1005b2b5", "test eax, eax", "0x1005c275"], ["0x1005b2b7", "je 0xe", "0x1005c277"]]}, {"orig": [["0x1005b2b9", "push edi"]], "recomp": [["0x1005c279", "push esi"]]}, {"both": [["0x1005b2ba", "push eax", "0x1005c27a"], ["0x1005b2bb", "call __strcmpi (FUNCTION)", "0x1005c27b"], ["0x1005b2c0", "add esp, 8", "0x1005c280"], ["0x1005b2c3", "test eax, eax", "0x1005c283"], ["0x1005b2c5", "je 0x1a", "0x1005c285"], ["0x1005b2c7", "mov eax, dword ptr [esp + 0xc]", "0x1005c287"], ["0x1005b2cb", "mov ecx, dword ptr [eax]", "0x1005c28b"], ["0x1005b2cd", "mov dword ptr [esp + 0xc], ecx", "0x1005c28d"]]}, {"orig": [["0x1005b2d1", "cmp dword ptr [esi + 4], ecx"]], "recomp": [["0x1005c291", "cmp dword ptr [edi + 4], ecx"]]}, {"both": [["0x1005b2d4", "jne -0x2e", "0x1005c294"], ["0x1005b2d6", "xor eax, eax", "0x1005c296"], ["0x1005b2d8", "pop edi", "0x1005c298"], ["0x1005b2d9", "pop esi", "0x1005c299"], ["0x1005b2da", "pop ebx", "0x1005c29a"], ["0x1005b2db", "add esp, 4", "0x1005c29b"], ["0x1005b2de", "ret 4", "0x1005c29e"], ["0x1005b2e1", "mov eax, ebx", "0x1005c2a1"], ["0x1005b2e3", "pop edi", "0x1005c2a3"], ["0x1005b2e4", "pop esi", "0x1005c2a4"]]}]]]}, {"address": "0x1005b2f0", "recomp": "0x1005c2b0", "name": "LegoOmni::AddToWorld", "matching": 1.0, "diff": []}, {"address": "0x1005b3a0", "recomp": "0x1005c360", "name": "LegoOmni::NotifyCurrentEntity", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005b3a0,10 +0x1005c360,10 @@", [{"orig": [["0x1005b3a0", "mov eax, dword ptr [ecx + 0x7c]"], ["0x1005b3a3", "test eax, eax"]], "recomp": [["0x1005c360", "mov ecx, dword ptr [ecx + 0x7c]"], ["0x1005c363", "test ecx, ecx"]]}, {"both": [["0x1005b3a5", "je 0x12", "0x1005c365"]]}, {"orig": [["0x1005b3a7", "mov ecx, dword ptr [esp + 4]"]], "recomp": [["0x1005c367", "mov eax, dword ptr [esp + 4]"], ["0x1005c36b", "push eax"]]}, {"both": [["0x1005b3ab", "push ecx", "0x1005c36c"]]}, {"orig": [["0x1005b3ac", "push eax"]], "recomp": []}, {"both": [["0x1005b3ad", "call NotificationManager (FUNCTION)", "0x1005c36d"], ["0x1005b3b2", "mov ecx, eax", "0x1005c372"], ["0x1005b3b4", "call MxNotificationManager::Send (FUNCTION)", "0x1005c374"], ["0x1005b3b9", "ret 4", "0x1005c379"]]}]]]}, {"address": "0x1005b3c0", "recomp": "0x1005c380", "name": "LegoOmni::DoesEntityExist", "matching": 1.0, "diff": []}, {"address": "0x1005b400", "recomp": "0x1005c3c0", "name": "LegoOmni::GetCurrPathInfo", "matching": 1.0, "diff": []}, {"address": "0x1005b430", "recomp": "0x1005c3f0", "name": "LegoOmni::GetWorldName", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005b430,18 +0x1005c3f0,18 @@", [{"both": [["0x1005b430", "push esi", "0x1005c3f0"], ["0x1005b431", "mov edx, dword ptr [ecx + 0x68]", "0x1005c3f1"], ["0x1005b434", "xor esi, esi", "0x1005c3f4"]]}, {"orig": [["0x1005b436", "mov ecx, edx"], ["0x1005b438", "mov eax, dword ptr [esp + 8]"], ["0x1005b43c", "cmp dword ptr [ecx], eax"]], "recomp": [["0x1005c3f6", "mov eax, edx"], ["0x1005c3f8", "mov ecx, dword ptr [esp + 8]"], ["0x1005c3fc", "cmp dword ptr [eax], ecx"]]}, {"both": [["0x1005b43e", "je 0xf", "0x1005c3fe"]]}, {"orig": [["0x1005b440", "add ecx, 0x1c"]], "recomp": [["0x1005c400", "add eax, 0x1c"]]}, {"both": [["0x1005b443", "inc esi", "0x1005c403"], ["0x1005b444", "cmp esi, 0x13", "0x1005c404"], ["0x1005b447", "jl -0xd", "0x1005c407"], ["0x1005b449", "xor eax, eax", "0x1005c409"], ["0x1005b44b", "pop esi", "0x1005c40b"], ["0x1005b44c", "ret 4", "0x1005c40c"], ["0x1005b44f", "lea eax, [esi*8]", "0x1005c40f"], ["0x1005b456", "sub eax, esi", "0x1005c416"], ["0x1005b458", "pop esi", "0x1005c418"], ["0x1005b459", "lea eax, [edx + eax*4 + 4]", "0x1005c419"]]}]]]}, {"address": "0x1005b460", "recomp": "0x1005c420", "name": "LegoOmni::GetWorldAtom", "matching": 1.0, "diff": []}, {"address": "0x1005b490", "recomp": "0x1005c450", "name": "LegoOmni::GetWorldId", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005b490,32 +0x1005c450,32 @@", [{"both": [["0x1005b490", "push ebx", "0x1005c450"], ["0x1005b491", "push esi", "0x1005c451"], ["0x1005b492", "push edi", "0x1005c452"], ["0x1005b493", "xor ebx, ebx", "0x1005c453"], ["0x1005b495", "push ebp", "0x1005c455"], ["0x1005b496", "mov edi, ecx", "0x1005c456"]]}, {"orig": [["0x1005b498", "xor esi, esi"], ["0x1005b49a", "mov ebp, dword ptr [esp + 0x14]"]], "recomp": [["0x1005c458", "xor ebp, ebp"], ["0x1005c45a", "mov esi, dword ptr [esp + 0x14]"]]}, {"both": [["0x1005b49e", "mov eax, dword ptr [edi + 0x68]", "0x1005c45e"]]}, {"orig": [["0x1005b4a1", "add eax, esi"]], "recomp": [["0x1005c461", "add eax, ebp"]]}, {"both": [["0x1005b4a3", "cmp eax, -4", "0x1005c463"], ["0x1005b4a6", "je 0x11", "0x1005c466"]]}, {"orig": [["0x1005b4a8", "push ebp"]], "recomp": [["0x1005c468", "push esi"]]}, {"both": [["0x1005b4a9", "add eax, 4", "0x1005c469"], ["0x1005b4ac", "push eax", "0x1005c46c"], ["0x1005b4ad", "call __strcmpi (FUNCTION)", "0x1005c46d"], ["0x1005b4b2", "add esp, 8", "0x1005c472"], ["0x1005b4b5", "test eax, eax", "0x1005c475"], ["0x1005b4b7", "je 0x18", "0x1005c477"]]}, {"orig": [["0x1005b4b9", "add esi, 0x1c"]], "recomp": [["0x1005c479", "add ebp, 0x1c"]]}, {"both": [["0x1005b4bc", "inc ebx", "0x1005c47c"]]}, {"orig": [["0x1005b4bd", "cmp esi, 0x214"]], "recomp": [["0x1005c47d", "cmp ebp, 0x214"]]}, {"both": [["0x1005b4c3", "jl -0x27", "0x1005c483"], ["0x1005b4c5", "mov eax, 0xffffffff", "0x1005c485"], ["0x1005b4ca", "pop ebp", "0x1005c48a"], ["0x1005b4cb", "pop edi", "0x1005c48b"], ["0x1005b4cc", "pop esi", "0x1005c48c"], ["0x1005b4cd", "pop ebx", "0x1005c48d"], ["0x1005b4ce", "ret 4", "0x1005c48e"], ["0x1005b4d1", "lea eax, [ebx*8]", "0x1005c491"], ["0x1005b4d8", "mov ecx, dword ptr [edi + 0x68]", "0x1005c498"], ["0x1005b4db", "sub eax, ebx", "0x1005c49b"]]}]]]}, {"address": "0x1005b4f0", "recomp": "0x1005c4b0", "name": "LegoOmni::FUN_1005b4f0", "matching": 1.0, "diff": []}, {"address": "0x1005b560", "recomp": "0x1005c520", "name": "LegoOmni::CreateBackgroundAudio", "matching": 1.0, "diff": []}, {"address": "0x1005b580", "recomp": "0x1005c540", "name": "LegoOmni::Start", "matching": 1.0, "diff": []}, {"address": "0x1005b5c0", "recomp": "0x1005c580", "name": "LegoOmni::DeleteAction", "matching": 1.0, "diff": []}, {"address": "0x1005b5f0", "recomp": "0x1005c5b0", "name": "LegoOmni::Notify", "matching": 1.0, "diff": []}, {"address": "0x1005b640", "recomp": "0x1005c600", "name": "LegoOmni::Pause", "matching": 1.0, "diff": []}, {"address": "0x1005b650", "recomp": "0x1005c610", "name": "LegoOmni::Resume", "matching": 1.0, "diff": []}, {"address": "0x1005b660", "recomp": "0x1005ab30", "name": "LegoContainer<LegoTextureInfo>::~LegoContainer<LegoTextureInfo>", "matching": 1.0, "diff": []}, {"address": "0x1005b740", "recomp": "0x1005c620", "name": "MxList<LegoWorld *>::DeleteEntry", "matching": 1.0, "diff": []}, {"address": "0x1005b790", "recomp": "0x1005c670", "name": "LegoInputManager::LegoInputManager", "matching": 1.0, "diff": []}, {"address": "0x1005b8b0", "recomp": "0x1005c7c0", "name": "LegoInputManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x1005b8c0", "recomp": "0x1005c790", "name": "LegoInputManager::PutData", "matching": 1.0, "diff": []}, {"address": "0x1005b8d0", "recomp": "0x1005c7a0", "name": "LegoInputManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005b8f0", "recomp": "0x1005c7d0", "name": "LegoInputManager::~LegoInputManager", "matching": 1.0, "diff": []}, {"address": "0x1005b960", "recomp": "0x1005c840", "name": "LegoInputManager::Create", "matching": 1.0, "diff": []}, {"address": "0x1005bb80", "recomp": "0x1005ca60", "name": "MxCollection<LegoEventNotificationParam>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1005bbe0", "recomp": "0x1005cac0", "name": "MxCollection<LegoEventNotificationParam>::~MxCollection<LegoEventNotificationParam>", "matching": 1.0, "diff": []}, {"address": "0x1005bc30", "recomp": "0x1005cb10", "name": "MxCollection<LegoEventNotificationParam>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1005bc80", "recomp": "0x1005cb60", "name": "MxList<LegoEventNotificationParam>::~MxList<LegoEventNotificationParam>", "matching": 1.0, "diff": []}, {"address": "0x1005bd50", "recomp": "0x1005ccf0", "name": "MxCollection<LegoEventNotificationParam>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005bdc0", "recomp": "0x1005cd60", "name": "MxList<LegoEventNotificationParam>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005beb0", "recomp": "0x1005ce50", "name": "LegoEventQueue::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005bf20", "recomp": "0x1005cec0", "name": "MxQueue<LegoEventNotificationParam>::~MxQueue<LegoEventNotificationParam>", "matching": 1.0, "diff": []}, {"address": "0x1005bf70", "recomp": "0x1005cf10", "name": "MxQueue<LegoEventNotificationParam>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005bfe0", "recomp": "0x1005cf80", "name": "LegoInputManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1005c030", "recomp": "0x1005cfd0", "name": "LegoInputManager::CreateAndAcquireKeyboard", "matching": 0.9555555555555556, "diff": [["@@ -0x1005c04a,34 +0x1005cfea,34 @@", [{"both": [["0x1005c04a", "push ebx", "0x1005cfea"], ["0x1005c04b", "push 0x500", "0x1005cfeb"], ["0x1005c050", "push eax", "0x1005cff0"], ["0x1005c051", "call _DirectInputCreateA@16 (FUNCTION)", "0x1005cff1"], ["0x1005c056", "test eax, eax", "0x1005cff6"], ["0x1005c058", "jne 0x3a", "0x1005cff8"], ["0x1005c05a", "mov eax, dword ptr [ebx]", "0x1005cffa"], ["0x1005c05c", "add esi, 0x90", "0x1005cffc"], ["0x1005c062", "push 0", "0x1005d002"], ["0x1005c064", "push esi", "0x1005d004"]]}, {"orig": [["0x1005c065", "push <OFFSET3>"]], "recomp": [["0x1005d005", "push GUID_SysKeyboard (DATA)"]]}, {"both": [["0x1005c06a", "mov ebx, dword ptr [eax]", "0x1005d00a"], ["0x1005c06c", "push eax", "0x1005d00c"], ["0x1005c06d", "call dword ptr [ebx + 0xc]", "0x1005d00d"], ["0x1005c070", "test eax, eax", "0x1005d010"], ["0x1005c072", "jne 0x20", "0x1005d012"], ["0x1005c074", "mov eax, dword ptr [esi]", "0x1005d014"], ["0x1005c076", "push 6", "0x1005d016"], ["0x1005c078", "mov ebx, dword ptr [eax]", "0x1005d018"], ["0x1005c07a", "push edi", "0x1005d01a"], ["0x1005c07b", "push eax", "0x1005d01b"], ["0x1005c07c", "call dword ptr [ebx + 0x34]", "0x1005d01c"], ["0x1005c07f", "mov eax, dword ptr [esi]", "0x1005d01f"]]}, {"orig": [["0x1005c081", "push <OFFSET4>"]], "recomp": [["0x1005d021", "push c_dfDIKeyboard (DATA)"]]}, {"both": [["0x1005c086", "push eax", "0x1005d026"], ["0x1005c087", "mov ebx, dword ptr [eax]", "0x1005d027"], ["0x1005c089", "call dword ptr [ebx + 0x2c]", "0x1005d029"], ["0x1005c08c", "mov eax, dword ptr [esi]", "0x1005d02c"], ["0x1005c08e", "push eax", "0x1005d02e"], ["0x1005c08f", "mov ebx, dword ptr [eax]", "0x1005d02f"], ["0x1005c091", "call dword ptr [ebx + 0x1c]", "0x1005d031"], ["0x1005c094", "pop edi", "0x1005d034"], ["0x1005c095", "pop esi", "0x1005d035"], ["0x1005c096", "pop ebx", "0x1005d036"]]}]]]}, {"address": "0x1005c0a0", "recomp": "0x1005d040", "name": "LegoInputManager::ReleaseDX", "matching": 1.0, "diff": []}, {"address": "0x1005c0f0", "recomp": "0x1005d090", "name": "LegoInputManager::GetKeyboardState", "matching": 1.0, "diff": []}, {"address": "0x1005c160", "recomp": "0x1005d100", "name": "LegoInputManager::GetNavigationKeyStates", "matching": 0.9016393442622951, "diff": [["@@ -0x1005c1a4,41 +0x1005d144,41 @@", [{"both": [["0x1005c1a4", "jmp 0x6", "0x1005d144"], ["0x1005c1a6", "mov esi, dword ptr [__imp__GetAsyncKeyState@4 (POINTER)]", "0x1005d146"], ["0x1005c1ac", "test byte ptr [edi + 0x162], 0x80", "0x1005d14c"], ["0x1005c1b3", "je 0x10", "0x1005d153"], ["0x1005c1b5", "push 0x27", "0x1005d155"], ["0x1005c1b7", "call esi", "0x1005d157"], ["0x1005c1b9", "test ax, ax", "0x1005d159"], ["0x1005c1bc", "jne 0x7", "0x1005d15c"], ["0x1005c1be", "mov byte ptr [edi + 0x162], 0", "0x1005d15e"], ["0x1005c1c5", "xor ecx, ecx", "0x1005d165"]]}, {"orig": [["0x1005c1c7", "mov al, byte ptr [edi + 0x15d]"], ["0x1005c1cd", "or al, byte ptr [edi + 0xdd]"]], "recomp": [["0x1005d167", "mov al, byte ptr [edi + 0xdd]"], ["0x1005d16d", "or al, byte ptr [edi + 0x15d]"]]}, {"both": [["0x1005c1d3", "test al, 0x80", "0x1005d173"], ["0x1005c1d5", "je 0x5", "0x1005d175"], ["0x1005c1d7", "mov ecx, 4", "0x1005d177"]]}, {"orig": [["0x1005c1dc", "mov al, byte ptr [edi + 0xe5]"], ["0x1005c1e2", "or al, byte ptr [edi + 0x165]"]], "recomp": [["0x1005d17c", "mov al, byte ptr [edi + 0x165]"], ["0x1005d182", "or al, byte ptr [edi + 0xe5]"]]}, {"both": [["0x1005c1e8", "test al, 0x80", "0x1005d188"], ["0x1005c1ea", "je 0x3", "0x1005d18a"], ["0x1005c1ec", "or ecx, 8", "0x1005d18c"], ["0x1005c1ef", "mov al, byte ptr [edi + 0xe0]", "0x1005d18f"], ["0x1005c1f5", "or al, byte ptr [edi + 0x160]", "0x1005d195"], ["0x1005c1fb", "test al, 0x80", "0x1005d19b"], ["0x1005c1fd", "je 0x3", "0x1005d19d"], ["0x1005c1ff", "or ecx, 1", "0x1005d19f"], ["0x1005c202", "mov al, byte ptr [edi + 0xe2]", "0x1005d1a2"], ["0x1005c208", "or al, byte ptr [edi + 0x162]", "0x1005d1a8"], ["0x1005c20e", "test al, 0x80", "0x1005d1ae"], ["0x1005c210", "je 0x3", "0x1005d1b0"], ["0x1005c212", "or ecx, 2", "0x1005d1b2"]]}, {"orig": [["0x1005c215", "mov al, byte ptr [edi + 0xb2]"], ["0x1005c21b", "or al, byte ptr [edi + 0x132]"]], "recomp": [["0x1005d1b5", "mov al, byte ptr [edi + 0x132]"], ["0x1005d1bb", "or al, byte ptr [edi + 0xb2]"]]}, {"both": [["0x1005c221", "test al, 0x80", "0x1005d1c1"], ["0x1005c223", "je 0x3", "0x1005d1c3"], ["0x1005c225", "or ecx, 0x10", "0x1005d1c5"], ["0x1005c228", "mov eax, dword ptr [esp + 0xc]", "0x1005d1c8"], ["0x1005c22c", "pop edi", "0x1005d1cc"], ["0x1005c22d", "pop esi", "0x1005d1cd"], ["0x1005c22e", "mov dword ptr [eax], ecx", "0x1005d1ce"], ["0x1005c230", "xor eax, eax", "0x1005d1d0"], ["0x1005c232", "ret 4", "0x1005d1d2"]]}]]]}, {"address": "0x1005c240", "recomp": "0x1005d1e0", "name": "LegoInputManager::GetJoystickId", "matching": 1.0, "diff": []}, {"address": "0x1005c320", "recomp": "0x1005d2c0", "name": "LegoInputManager::GetJoystickState", "matching": 1.0, "diff": []}, {"address": "0x1005c470", "recomp": "0x1005d410", "name": "LegoInputManager::Register", "matching": 0.6981132075471698, "diff": [["@@ -0x1005c470,104 +0x1005d410,108 @@", [{"both": [["0x1005c470", "mov eax, dword ptr fs:[0]", "0x1005d410"], ["0x1005c476", "push ebp", "0x1005d416"], ["0x1005c477", "mov ebp, esp", "0x1005d417"], ["0x1005c479", "push -1", "0x1005d419"], ["0x1005c47b", "push <OFFSET1>", "0x1005d41b"], ["0x1005c480", "push eax", "0x1005d420"], ["0x1005c481", "mov dword ptr fs:[0], esp", "0x1005d421"]]}, {"orig": [["0x1005c488", "sub esp, 0x18"]], "recomp": [["0x1005d428", "sub esp, 0x1c"]]}, {"both": [["0x1005c48b", "push ebx", "0x1005d42b"], ["0x1005c48c", "push esi", "0x1005d42c"], ["0x1005c48d", "lea eax, [ecx + 0x40]", "0x1005d42d"], ["0x1005c490", "push edi", "0x1005d430"], ["0x1005c491", "mov esi, ecx", "0x1005d431"], ["0x1005c493", "push eax", "0x1005d433"], ["0x1005c494", "lea ecx, [ebp - 0x24]", "0x1005d434"], ["0x1005c497", "xor ebx, ebx", "0x1005d437"], ["0x1005c499", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x1005d439"]]}, {"orig": [["0x1005c49e", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1005d43e", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x1005c4a1", "mov dword ptr [ebp - 4], ebx", "0x1005d441"], ["0x1005c4a4", "mov edi, dword ptr [esi + 0x5c]", "0x1005d444"], ["0x1005c4a7", "call MxCore::MxCore (FUNCTION)", "0x1005d447"], ["0x1005c4ac", "mov byte ptr [ebp - 4], 1", "0x1005d44c"]]}, {"orig": [["0x1005c4b0", "mov dword ptr [ebp - 0x18], edi"], ["0x1005c4b3", "mov dword ptr [ebp - 0x14], ebx"], ["0x1005c4b6", "mov dword ptr [ebp - 0x20], MxListCursor<MxCore *>::`vftable' (VTABLE)"]], "recomp": [["0x1005d450", "mov dword ptr [ebp - 0x14], edi"], ["0x1005d453", "mov dword ptr [ebp - 0x10], ebx"], ["0x1005d456", "mov dword ptr [ebp - 0x1c], MxListCursor<MxCore *>::`vftable' (VTABLE)"]]}, {"both": [["0x1005c4bd", "mov byte ptr [ebp - 4], 2", "0x1005d45d"]]}, {"orig": [["0x1005c4c1", "mov dword ptr [ebp - 0x20], MxPtrListCursor<MxCore>::`vftable' (VTABLE)"]], "recomp": [["0x1005d461", "mov dword ptr [ebp - 0x1c], MxPtrListCursor<MxCore>::`vftable' (VTABLE)"]]}, {"both": [["0x1005c4c8", "mov byte ptr [ebp - 4], 3", "0x1005d468"]]}, {"orig": [["0x1005c4cc", "mov dword ptr [ebp - 0x20], LegoNotifyListCursor::`vftable' (VTABLE)"], ["0x1005c4d3", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1005d46c", "mov dword ptr [ebp - 0x1c], LegoNotifyListCursor::`vftable' (VTABLE)"], ["0x1005d473", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1005c4d6", "mov edi, dword ptr [ebp + 8]", "0x1005d476"], ["0x1005c4d9", "mov byte ptr [ebp - 4], 4", "0x1005d479"], ["0x1005c4dd", "mov ecx, dword ptr [eax + 0x10]", "0x1005d47d"]]}, {"orig": [["0x1005c4e0", "mov dword ptr [ebp - 0x14], ecx"]], "recomp": [["0x1005d480", "mov dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x1005c4e3", "cmp ecx, ebx", "0x1005d483"], ["0x1005c4e5", "je 0x22", "0x1005d485"], ["0x1005c4e7", "push edi", "0x1005d487"]]}, {"orig": [["0x1005c4e8", "mov eax, dword ptr [ebp - 0x14]"], ["0x1005c4eb", "mov edx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1005d488", "mov eax, dword ptr [ebp - 0x10]"], ["0x1005d48b", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1005c4ee", "mov ecx, dword ptr [eax]", "0x1005d48e"], ["0x1005c4f0", "push ecx", "0x1005d490"], ["0x1005c4f1", "mov eax, dword ptr [edx]", "0x1005d491"], ["0x1005c4f3", "mov ecx, edx", "0x1005d493"], ["0x1005c4f5", "call dword ptr [eax + 0x14]", "0x1005d495"], ["0x1005c4f8", "test al, al", "0x1005d498"], ["0x1005c4fa", "je 0xd", "0x1005d49a"]]}, {"orig": [["0x1005c4fc", "mov eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x1005d49c", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1005c4ff", "mov ecx, dword ptr [eax + 8]", "0x1005d49f"]]}, {"orig": [["0x1005c502", "mov dword ptr [ebp - 0x14], ecx"]], "recomp": [["0x1005d4a2", "mov dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x1005c505", "cmp ecx, ebx", "0x1005d4a5"], ["0x1005c507", "jne -0x22", "0x1005d4a7"]]}, {"orig": [["0x1005c509", "cmp dword ptr [ebp - 0x14], 0"], ["0x1005c50d", "jne 0x3c"]], "recomp": [["0x1005d4a9", "cmp dword ptr [ebp - 0x10], 0"], ["0x1005d4ad", "jne 0x49"]]}, {"both": [["0x1005c50f", "mov ebx, dword ptr [esi + 0x5c]", "0x1005d4af"], ["0x1005c512", "push 0xc", "0x1005d4b2"]]}, {"orig": [["0x1005c514", "mov esi, dword ptr [ebx + 0x14]"]], "recomp": [["0x1005d4b4", "mov ecx, dword ptr [ebx + 0x14]"], ["0x1005d4b7", "mov dword ptr [ebp - 0x20], ecx"]]}, {"both": [["0x1005c517", "call ??2@YAPAXI@Z (FUNCTION)", "0x1005d4ba"]]}, {"orig": [], "recomp": [["0x1005d4bf", "mov dword ptr [ebp - 0x28], eax"]]}, {"both": [["0x1005c51c", "add esp, 4", "0x1005d4c2"]]}, {"orig": [["0x1005c51f", "mov dword ptr [ebp - 0x10], eax"]], "recomp": []}, {"both": [["0x1005c522", "mov byte ptr [ebp - 4], 5", "0x1005d4c5"]]}, {"orig": [["0x1005c526", "test eax, eax"], ["0x1005c528", "je 0xe"], ["0x1005c52a", "mov dword ptr [eax], edi"], ["0x1005c52c", "mov dword ptr [eax + 4], esi"], ["0x1005c52f", "mov dword ptr [eax + 8], 0"]], "recomp": [["0x1005d4c9", "mov esi, eax"], ["0x1005d4cb", "test esi, esi"], ["0x1005d4cd", "je 0x11"], ["0x1005d4cf", "mov ecx, dword ptr [ebp - 0x20]"], ["0x1005d4d2", "mov dword ptr [esi], edi"], ["0x1005d4d4", "mov dword ptr [esi + 4], ecx"], ["0x1005d4d7", "mov dword ptr [esi + 8], 0"]]}, {"both": [["0x1005c536", "jmp 0x2", "0x1005d4de"], ["0x1005c538", "xor eax, eax", "0x1005d4e0"], ["0x1005c53a", "mov byte ptr [ebp - 4], 4", "0x1005d4e2"]]}, {"orig": [["0x1005c53e", "test esi, esi"], ["0x1005c540", "je 0x30"], ["0x1005c542", "mov dword ptr [esi + 8], eax"]], "recomp": [["0x1005d4e6", "cmp dword ptr [ebp - 0x20], 0"], ["0x1005d4ea", "je 0x33"], ["0x1005d4ec", "mov ecx, dword ptr [ebp - 0x20]"], ["0x1005d4ef", "mov dword ptr [ecx + 8], eax"]]}, {"both": [["0x1005c545", "mov dword ptr [ebx + 0x14], eax", "0x1005d4f2"], ["0x1005c548", "inc dword ptr [ebx + 8]", "0x1005d4f5"], ["0x1005c54b", "mov byte ptr [ebp - 4], 0", "0x1005d4f8"], ["0x1005c54f", "call <OFFSET8>", "0x1005d4fc"], ["0x1005c554", "mov dword ptr [ebp - 4], 0xffffffff", "0x1005d501"], ["0x1005c55b", "call <OFFSET9>", "0x1005d508"], ["0x1005c560", "mov eax, dword ptr [ebp - 0xc]", "0x1005d50d"], ["0x1005c563", "pop edi", "0x1005d510"], ["0x1005c564", "mov dword ptr fs:[0], eax", "0x1005d511"], ["0x1005c56a", "pop esi", "0x1005d517"], ["0x1005c56b", "pop ebx", "0x1005d518"], ["0x1005c56c", "mov esp, ebp", "0x1005d519"], ["0x1005c56e", "pop ebp", "0x1005d51b"], ["0x1005c56f", "ret 4", "0x1005d51c"], ["0x1005c572", "mov dword ptr [ebx + 0x10], eax", "0x1005d51f"], ["0x1005c575", "jmp -0x32", "0x1005d522"]]}, {"orig": [["0x1005c577", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x1005d524", "mov eax, dword ptr [ebp - 0x28]"]]}, {"both": [["0x1005c57a", "push eax", "0x1005d527"], ["0x1005c57b", "call ??3@YAXPAX@Z (FUNCTION)", "0x1005d528"], ["0x1005c580", "add esp, 4", "0x1005d52d"], ["0x1005c583", "ret ", "0x1005d530"]]}, {"orig": [["0x1005c584", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1005d531", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x1005c587", "jmp MxCore::~MxCore (FUNCTION)", "0x1005d534"]]}, {"orig": [["0x1005c58c", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1005d539", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x1005c58f", "jmp MxListCursor<MxCore *>::~MxListCursor<MxCore *> (FUNCTION)", "0x1005d53c"]]}, {"orig": [["0x1005c594", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1005d541", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x1005c597", "jmp MxPtrListCursor<MxCore>::~MxPtrListCursor<MxCore> (FUNCTION)", "0x1005d544"]]}, {"orig": [["0x1005c59c", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1005d549", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x1005c59f", "jmp LegoNotifyListCursor::~LegoNotifyListCursor (FUNCTION)", "0x1005d54c"], ["0x1005c5a4", "mov eax, <OFFSET11>", "0x1005d551"], ["0x1005c5a9", "jmp ___CxxFrameHandler (FUNCTION)", "0x1005d556"], ["0x1005c5ae", "lea ecx, [ebp - 0x24]", "0x1005d55b"], ["0x1005c5b1", "jmp MxAutoLock::~MxAutoLock (FUNCTION)", "0x1005d55e"]]}]]]}, {"address": "0x1005c5c0", "recomp": "0x1005d570", "name": "LegoInputManager::UnRegister", "matching": 1.0, "diff": []}, {"address": "0x1005c700", "recomp": "0x1005d6b0", "name": "LegoInputManager::SetCamera", "matching": 1.0, "diff": []}, {"address": "0x1005c710", "recomp": "0x1005d6c0", "name": "LegoInputManager::ClearCamera", "matching": 1.0, "diff": []}, {"address": "0x1005c720", "recomp": "0x1005d6d0", "name": "LegoInputManager::SetWorld", "matching": 1.0, "diff": []}, {"address": "0x1005c730", "recomp": "0x1005d6e0", "name": "LegoInputManager::ClearWorld", "matching": 1.0, "diff": []}, {"address": "0x1005c740", "recomp": "0x1005d6f0", "name": "LegoInputManager::QueueEvent", "matching": 1.0, "diff": []}, {"address": "0x1005c820", "recomp": "0x1005d7d0", "name": "LegoInputManager::ProcessEvents", "matching": 1.0, "diff": []}, {"address": "0x1005c9c0", "recomp": "0x1005d970", "name": "LegoInputManager::ProcessOneEvent", "matching": 1.0, "diff": []}, {"address": "0x1005cdf0", "recomp": "0x1005dda0", "name": "LegoInputManager::FUN_1005cdf0", "matching": 1.0, "diff": []}, {"address": "0x1005cfb0", "recomp": "0x1005df60", "name": "LegoInputManager::StartAutoDragTimer", "matching": 1.0, "diff": []}, {"address": "0x1005cfd0", "recomp": "0x1005df80", "name": "LegoInputManager::StopAutoDragTimer", "matching": 1.0, "diff": []}, {"address": "0x1005cff0", "recomp": "0x1005dfa0", "name": "LegoInputManager::EnableInputProcessing", "matching": 1.0, "diff": []}, {"address": "0x1005d010", "recomp": "0x1005cc30", "name": "MxListEntry<LegoEventNotificationParam>::GetValue", "matching": 1.0, "diff": []}, {"address": "0x1005d0d0", "recomp": "0x1005dfc0", "name": "LegoRaceMap::LegoRaceMap", "matching": 1.0, "diff": []}, {"address": "0x1005d2b0", "recomp": "0x1005e1a0", "name": "LegoRaceMap::~LegoRaceMap", "matching": 1.0, "diff": []}, {"address": "0x1005d310", "recomp": "0x1005e200", "name": "LegoRaceMap::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x1005d4b0", "recomp": "0x1005e3a0", "name": "LegoRaceMap::FUN_1005d4b0", "matching": 1.0, "diff": []}, {"address": "0x1005d550", "recomp": "0x1005e440", "name": "LegoRaceMap::Notify", "matching": 1.0, "diff": []}, {"address": "0x1005d5c0", "recomp": "0x1005e4b0", "name": "LegoRaceMap::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1005d5d0", "recomp": "0x1005e4c0", "name": "LegoRaceMap::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005d610", "recomp": "0x1005e500", "name": "LegoRaceMap::Notify`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1005d620", "recomp": "0x1005e510", "name": "LegoRaceActor::ClassName`vtordisp{-4, 4294966912}'", "matching": 1.0, "diff": []}, {"address": "0x1005d630", "recomp": "0x1005e520", "name": "LegoRaceActor::IsA`vtordisp{-4, 4294966912}'", "matching": 1.0, "diff": []}, {"address": "0x1005d640", "recomp": "0x1005e530", "name": "LegoRaceMap::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x1005d650", "recomp": "0x1004c2d0", "name": "LegoRaceActor::HitActor`vtordisp{-4, 4294966912}'", "matching": 1.0, "diff": []}, {"address": "0x1005d660", "recomp": "0x1005e540", "name": "JukeBox::JukeBox", "matching": 1.0, "diff": []}, {"address": "0x1005d6e0", "recomp": "0x1005e700", "name": "JukeBox::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x1005d6f0", "recomp": "0x1005e5c0", "name": "JukeBox::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1005d700", "recomp": "0x1005e5d0", "name": "JukeBox::IsA", "matching": 1.0, "diff": []}, {"address": "0x1005d810", "recomp": "0x1005e6e0", "name": "JukeBox::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005d830", "recomp": "0x1005e710", "name": "JukeBox::~JukeBox", "matching": 1.0, "diff": []}, {"address": "0x1005d8d0", "recomp": "0x1005e7b0", "name": "JukeBox::Create", "matching": 1.0, "diff": []}, {"address": "0x1005d980", "recomp": "0x1005e860", "name": "JukeBox::Notify", "matching": 0.8048780487804879, "diff": [["@@ -0x1005d980,41 +0x1005e860,41 @@", [{"both": [["0x1005d980", "push ebx", "0x1005e860"], ["0x1005d981", "push esi", "0x1005e861"], ["0x1005d982", "push edi", "0x1005e862"]]}, {"orig": [], "recomp": [["0x1005e863", "mov esi, ecx"]]}, {"both": [["0x1005d983", "xor ebx, ebx", "0x1005e865"]]}, {"orig": [["0x1005d985", "mov edi, ecx"], ["0x1005d987", "mov esi, dword ptr [esp + 0x10]"], ["0x1005d98b", "push esi"]], "recomp": [["0x1005e867", "mov edi, dword ptr [esp + 0x10]"], ["0x1005e86b", "push edi"]]}, {"both": [["0x1005d98c", "call LegoWorld::Notify (FUNCTION)", "0x1005e86c"]]}, {"orig": [["0x1005d991", "cmp byte ptr [edi + 0xf6], bl"]], "recomp": [["0x1005e871", "cmp byte ptr [esi + 0xf6], bl"]]}, {"both": [["0x1005d997", "je 0x41", "0x1005e877"]]}, {"orig": [["0x1005d999", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x1005e879", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x1005d99c", "cmp eax, 0x11", "0x1005e87c"], ["0x1005d99f", "je 0xd", "0x1005e87f"], ["0x1005d9a1", "cmp eax, 0x18", "0x1005e881"], ["0x1005d9a4", "je 0x1c", "0x1005e884"], ["0x1005d9a6", "mov eax, ebx", "0x1005e886"], ["0x1005d9a8", "pop edi", "0x1005e888"], ["0x1005d9a9", "pop esi", "0x1005e889"], ["0x1005d9aa", "pop ebx", "0x1005e88a"], ["0x1005d9ab", "ret 4", "0x1005e88b"]]}, {"orig": [["0x1005d9ae", "push esi"], ["0x1005d9af", "mov ecx, edi"]], "recomp": [["0x1005e88e", "push edi"], ["0x1005e88f", "mov ecx, esi"]]}, {"both": [["0x1005d9b1", "xor ebx, ebx", "0x1005e891"], ["0x1005d9b3", "call JukeBox::HandleControl (FUNCTION)", "0x1005e893"], ["0x1005d9b8", "mov bl, al", "0x1005e898"], ["0x1005d9ba", "pop edi", "0x1005e89a"], ["0x1005d9bb", "mov eax, ebx", "0x1005e89b"], ["0x1005d9bd", "pop esi", "0x1005e89d"], ["0x1005d9be", "pop ebx", "0x1005e89e"], ["0x1005d9bf", "ret 4", "0x1005e89f"]]}, {"orig": [["0x1005d9c2", "mov eax, dword ptr [edi + 0xf8]"]], "recomp": [["0x1005e8a2", "mov eax, dword ptr [esi + 0xf8]"]]}, {"both": [["0x1005d9c8", "mov ebx, 1", "0x1005e8a8"], ["0x1005d9cd", "push eax", "0x1005e8ad"], ["0x1005d9ce", "call GameState (FUNCTION)", "0x1005e8ae"], ["0x1005d9d3", "mov ecx, eax", "0x1005e8b3"], ["0x1005d9d5", "call LegoGameState::SwitchArea (FUNCTION)", "0x1005e8b5"], ["0x1005d9da", "mov eax, ebx", "0x1005e8ba"], ["0x1005d9dc", "pop edi", "0x1005e8bc"], ["0x1005d9dd", "pop esi", "0x1005e8bd"], ["0x1005d9de", "pop ebx", "0x1005e8be"], ["0x1005d9df", "ret 4", "0x1005e8bf"]]}]]]}, {"address": "0x1005d9f0", "recomp": "0x1005e8d0", "name": "JukeBox::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x1005da70", "recomp": "0x1005e950", "name": "JukeBox::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x1005dde0", "recomp": "0x1005ecc0", "name": "JukeBox::Enable", "matching": 1.0, "diff": []}, {"address": "0x1005de30", "recomp": "0x1005ed10", "name": "JukeBox::Tickle", "matching": 1.0, "diff": []}, {"address": "0x1005de70", "recomp": "0x1005ed50", "name": "JukeBox::Escape", "matching": 1.0, "diff": []}, {"address": "0x1005de80", "recomp": "0x1005ed60", "name": "LegoFlcTexturePresenter::LegoFlcTexturePresenter", "matching": 1.0, "diff": []}, {"address": "0x1005def0", "recomp": "0x1005edd0", "name": "LegoFlcTexturePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1005df00", "recomp": "0x1005ede0", "name": "LegoFlcTexturePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005df70", "recomp": "0x1005ee50", "name": "LegoFlcTexturePresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x1005df80", "recomp": "0x1005ee60", "name": "LegoFlcTexturePresenter::StartingTickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005dfe3,21 +0x1005eec3,21 @@", [{"both": [["0x1005dfe3", "mov ecx, edx", "0x1005eec3"], ["0x1005dfe5", "shr ecx, 2", "0x1005eec5"], ["0x1005dfe8", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1005eec8"], ["0x1005dfea", "mov ecx, edx", "0x1005eeca"], ["0x1005dfec", "xor ebp, ebp", "0x1005eecc"], ["0x1005dfee", "and ecx, 3", "0x1005eece"], ["0x1005dff1", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1005eed1"], ["0x1005dff3", "call TextureContainer (FUNCTION)", "0x1005eed3"], ["0x1005dff8", "mov edx, dword ptr [eax + 0xc]", "0x1005eed8"], ["0x1005dffb", "mov ecx, dword ptr [edx + 4]", "0x1005eedb"]]}, {"orig": [["0x1005dffe", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ecx"]], "recomp": [["0x1005eede", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x1005e004", "je 0x41", "0x1005eee4"], ["0x1005e006", "mov edi, dword ptr [ecx + 0xc]", "0x1005eee6"], ["0x1005e009", "lea esi, [esp + 0x20]", "0x1005eee9"], ["0x1005e00d", "mov bl, byte ptr [edi]", "0x1005eeed"], ["0x1005e00f", "cmp bl, byte ptr [esi]", "0x1005eeef"], ["0x1005e011", "jne 0x1a", "0x1005eef1"], ["0x1005e013", "or bl, bl", "0x1005eef3"], ["0x1005e015", "je 0x12", "0x1005eef5"], ["0x1005e017", "mov bl, byte ptr [edi + 1]", "0x1005eef7"], ["0x1005e01a", "cmp bl, byte ptr [esi + 1]", "0x1005eefa"]]}]], ["@@ -0x1005e029,21 +0x1005ef09,21 @@", [{"both": [["0x1005e029", "xor esi, esi", "0x1005ef09"], ["0x1005e02b", "jmp 0x5", "0x1005ef0b"], ["0x1005e02d", "sbb esi, esi", "0x1005ef0d"], ["0x1005e02f", "sbb esi, -1", "0x1005ef0f"], ["0x1005e032", "test esi, esi", "0x1005ef12"], ["0x1005e034", "jg 0x6", "0x1005ef14"], ["0x1005e036", "mov edx, ecx", "0x1005ef16"], ["0x1005e038", "mov ecx, dword ptr [ecx]", "0x1005ef18"], ["0x1005e03a", "jmp 0x3", "0x1005ef1a"], ["0x1005e03c", "mov ecx, dword ptr [ecx + 8]", "0x1005ef1c"]]}, {"orig": [["0x1005e03f", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ecx"]], "recomp": [["0x1005ef1f", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x1005e045", "jne -0x41", "0x1005ef25"], ["0x1005e047", "mov dword ptr [esp + 0x10], edx", "0x1005ef27"], ["0x1005e04b", "cmp dword ptr [eax + 0xc], edx", "0x1005ef2b"], ["0x1005e04e", "je 0x34", "0x1005ef2e"], ["0x1005e050", "lea esi, [esp + 0x20]", "0x1005ef30"], ["0x1005e054", "mov ecx, dword ptr [edx + 0xc]", "0x1005ef34"], ["0x1005e057", "mov dl, byte ptr [esi]", "0x1005ef37"], ["0x1005e059", "cmp dl, byte ptr [ecx]", "0x1005ef39"], ["0x1005e05b", "jne 0x1a", "0x1005ef3b"], ["0x1005e05d", "or dl, dl", "0x1005ef3d"]]}]]]}, {"address": "0x1005e0c0", "recomp": "0x1005efa0", "name": "LegoFlcTexturePresenter::LoadFrame", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005e0c0,23 +0x1005efa0,23 @@", [{"both": [["0x1005e0c0", "mov eax, dword ptr [esp + 4]", "0x1005efa0"], ["0x1005e0c4", "sub esp, 4", "0x1005efa4"], ["0x1005e0c7", "push esi", "0x1005efa7"]]}, {"orig": [["0x1005e0c8", "mov edx, dword ptr [eax + 0x18]"]], "recomp": [["0x1005efa8", "mov eax, dword ptr [eax + 0x18]"]]}, {"both": [["0x1005e0cb", "push edi", "0x1005efab"], ["0x1005e0cc", "mov esi, dword ptr [ecx + 0x50]", "0x1005efac"]]}, {"orig": [["0x1005e0cf", "mov eax, dword ptr [edx]"]], "recomp": [["0x1005efaf", "mov edx, dword ptr [eax]"]]}, {"both": [["0x1005e0d1", "lea edi, [esp + 0xb]", "0x1005efb1"], ["0x1005e0d5", "push edi", "0x1005efb5"]]}, {"orig": [["0x1005e0d6", "mov dword ptr [ecx + 0x68], eax"], ["0x1005e0d9", "shl eax, 4"]], "recomp": [["0x1005efb6", "mov dword ptr [ecx + 0x68], edx"], ["0x1005efb9", "shl edx, 4"]]}, {"both": [["0x1005e0dc", "mov ecx, dword ptr [ecx + 0x64]", "0x1005efbc"]]}, {"orig": [["0x1005e0df", "lea eax, [edx + eax + 4]"]], "recomp": [["0x1005efbf", "lea eax, [eax + edx + 4]"]]}, {"both": [["0x1005e0e3", "mov edx, dword ptr [esi + 0x14]", "0x1005efc3"], ["0x1005e0e6", "push eax", "0x1005efc6"], ["0x1005e0e7", "push ecx", "0x1005efc7"], ["0x1005e0e8", "push edx", "0x1005efc8"], ["0x1005e0e9", "mov eax, dword ptr [esi + 8]", "0x1005efc9"], ["0x1005e0ec", "push eax", "0x1005efcc"], ["0x1005e0ed", "call DecodeFLCFrame (FUNCTION)", "0x1005efcd"], ["0x1005e0f2", "add esp, 0x14", "0x1005efd2"], ["0x1005e0f5", "pop edi", "0x1005efd5"], ["0x1005e0f6", "pop esi", "0x1005efd6"]]}]]]}, {"address": "0x1005e100", "recomp": "0x1005efe0", "name": "LegoFlcTexturePresenter::PutFrame", "matching": 1.0, "diff": []}, {"address": "0x1005e130", "recomp": "0x1005f010", "name": "Police::Police", "matching": 1.0, "diff": []}, {"address": "0x1005e1d0", "recomp": "0x1005f1f0", "name": "Police::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x1005e1e0", "recomp": "0x1005f0b0", "name": "Police::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1005e1f0", "recomp": "0x1005f0c0", "name": "Police::IsA", "matching": 1.0, "diff": []}, {"address": "0x1005e300", "recomp": "0x1005f1d0", "name": "Police::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005e320", "recomp": "0x1005f200", "name": "Police::~Police", "matching": 1.0, "diff": []}, {"address": "0x1005e3e0", "recomp": "0x1005f2c0", "name": "Police::Create", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005e3e0,47 +0x1005f2c0,47 @@", [{"both": [["0x1005e3e0", "mov eax, dword ptr [esp + 4]", "0x1005f2c0"], ["0x1005e3e4", "push ebx", "0x1005f2c4"], ["0x1005e3e5", "push esi", "0x1005f2c5"], ["0x1005e3e6", "mov ebx, ecx", "0x1005f2c6"], ["0x1005e3e8", "push edi", "0x1005f2c8"], ["0x1005e3e9", "push eax", "0x1005f2c9"], ["0x1005e3ea", "call LegoWorld::Create (FUNCTION)", "0x1005f2ca"]]}, {"orig": [["0x1005e3ef", "mov edi, eax"], ["0x1005e3f1", "test edi, edi"]], "recomp": [["0x1005f2cf", "mov esi, eax"], ["0x1005f2d1", "test esi, esi"]]}, {"both": [["0x1005e3f3", "jne 0x1a", "0x1005f2d3"], ["0x1005e3f5", "push ebx", "0x1005f2d5"], ["0x1005e3f6", "call InputManager (FUNCTION)", "0x1005f2d6"], ["0x1005e3fb", "mov ecx, eax", "0x1005f2db"], ["0x1005e3fd", "call LegoInputManager::SetWorld (FUNCTION)", "0x1005f2dd"], ["0x1005e402", "push ebx", "0x1005f2e2"], ["0x1005e403", "call ControlManager (FUNCTION)", "0x1005f2e3"], ["0x1005e408", "mov ecx, eax", "0x1005f2e8"], ["0x1005e40a", "call LegoControlManager::Register (FUNCTION)", "0x1005f2ea"], ["0x1005e40f", "push 0", "0x1005f2ef"], ["0x1005e411", "call SetIsWorldActive (FUNCTION)", "0x1005f2f1"], ["0x1005e416", "add esp, 4", "0x1005f2f6"], ["0x1005e419", "push ebx", "0x1005f2f9"], ["0x1005e41a", "call InputManager (FUNCTION)", "0x1005f2fa"], ["0x1005e41f", "mov ecx, eax", "0x1005f2ff"], ["0x1005e421", "call LegoInputManager::Register (FUNCTION)", "0x1005f301"], ["0x1005e426", "call GameState (FUNCTION)", "0x1005f306"], ["0x1005e42b", "mov ecx, eax", "0x1005f30b"]]}, {"orig": [["0x1005e42d", "mov esi, eax"]], "recomp": [["0x1005f30d", "mov edi, eax"]]}, {"both": [["0x1005e42f", "push 'PoliceState' (STRING)", "0x1005f30f"], ["0x1005e434", "call LegoGameState::GetState (FUNCTION)", "0x1005f314"], ["0x1005e439", "test eax, eax", "0x1005f319"], ["0x1005e43b", "jne 0xc", "0x1005f31b"], ["0x1005e43d", "push 'PoliceState' (STRING)", "0x1005f31d"]]}, {"orig": [["0x1005e442", "mov ecx, esi"]], "recomp": [["0x1005f322", "mov ecx, edi"]]}, {"both": [["0x1005e444", "call LegoGameState::CreateState (FUNCTION)", "0x1005f324"], ["0x1005e449", "mov dword ptr [ebx + 0x108], eax", "0x1005f329"], ["0x1005e44f", "call GameState (FUNCTION)", "0x1005f32f"], ["0x1005e454", "mov dword ptr [eax + 0x424], 0x22", "0x1005f334"], ["0x1005e45e", "push 0", "0x1005f33e"], ["0x1005e460", "call GameState (FUNCTION)", "0x1005f340"], ["0x1005e465", "mov ecx, eax", "0x1005f345"], ["0x1005e467", "call LegoGameState::StopArea (FUNCTION)", "0x1005f347"]]}, {"orig": [["0x1005e46c", "mov eax, edi"]], "recomp": [["0x1005f34c", "mov eax, esi"]]}, {"both": [["0x1005e46e", "pop edi", "0x1005f34e"], ["0x1005e46f", "pop esi", "0x1005f34f"], ["0x1005e470", "pop ebx", "0x1005f350"], ["0x1005e471", "ret 4", "0x1005f351"]]}]]]}, {"address": "0x1005e480", "recomp": "0x1005f360", "name": "Police::Notify", "matching": 1.0, "diff": []}, {"address": "0x1005e530", "recomp": "0x1005f410", "name": "Police::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x1005e550", "recomp": "0x1005f430", "name": "Police::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x1005e6a0", "recomp": "0x1005f580", "name": "Police::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x1005e6f0", "recomp": "0x1005f5d0", "name": "Police::HandleKeyPress", "matching": 1.0, "diff": []}, {"address": "0x1005e740", "recomp": "0x1005f620", "name": "Police::Enable", "matching": 1.0, "diff": []}, {"address": "0x1005e790", "recomp": "0x1005f670", "name": "Police::Escape", "matching": 1.0, "diff": []}, {"address": "0x1005e7c0", "recomp": "0x1005f6a0", "name": "PoliceState::PoliceState", "matching": 1.0, "diff": []}, {"address": "0x1005e860", "recomp": "0x1005f740", "name": "PoliceState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1005e870", "recomp": "0x1005f750", "name": "PoliceState::IsA", "matching": 1.0, "diff": []}, {"address": "0x1005e920", "recomp": "0x1005f800", "name": "PoliceState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005e990", "recomp": "0x1005f870", "name": "PoliceState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x1005ea40", "recomp": "0x1005f920", "name": "PoliceState::FUN_1005ea40", "matching": 1.0, "diff": []}, {"address": "0x1005eb50", "recomp": "0x1005fa30", "name": "LegoAnimationManager::configureLegoAnimationManager", "matching": 1.0, "diff": []}, {"address": "0x1005eb60", "recomp": "0x1005fa40", "name": "LegoAnimationManager::LegoAnimationManager", "matching": 1.0, "diff": []}, {"address": "0x1005ec80", "recomp": "0x1005fb60", "name": "LegoAnimationManager::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1005ec90", "recomp": "0x1005fb70", "name": "LegoAnimationManager::IsA", "matching": 1.0, "diff": []}, {"address": "0x1005ed10", "recomp": "0x1005fbf0", "name": "LegoAnimationManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005ed30", "recomp": "0x1005fc10", "name": "LegoAnimationManager::~LegoAnimationManager", "matching": 0.9345794392523364, "diff": [["@@ -0x1005ed59,27 +0x1005fc39,27 @@", [{"both": [["0x1005ed59", "mov dword ptr [ebp - 4], esi", "0x1005fc39"], ["0x1005ed5c", "call TickleManager (FUNCTION)", "0x1005fc3c"], ["0x1005ed61", "mov ecx, dword ptr [ebp - 0x10]", "0x1005fc41"], ["0x1005ed64", "mov edx, dword ptr [eax]", "0x1005fc44"], ["0x1005ed66", "push ecx", "0x1005fc46"], ["0x1005ed67", "mov ecx, eax", "0x1005fc47"], ["0x1005ed69", "call dword ptr [edx + 0x18]", "0x1005fc49"], ["0x1005ed6c", "push esi", "0x1005fc4c"], ["0x1005ed6d", "mov ecx, dword ptr [ebp - 0x10]", "0x1005fc4d"], ["0x1005ed70", "call LegoAnimationManager::FUN_10061010 (FUNCTION)", "0x1005fc50"]]}, {"orig": [], "recomp": [["0x1005fc55", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1005ed75", "mov dword ptr [ebp - 0x14], esi", "0x1005fc58"]]}, {"orig": [["0x1005ed78", "mov esi, dword ptr [ebp - 0x10]"], ["0x1005ed7b", "add esi, 0x3c"], ["0x1005ed7e", "mov edi, dword ptr [esi]"], ["0x1005ed80", "test edi, edi"]], "recomp": [["0x1005fc5b", "add edi, 0x3c"], ["0x1005fc5e", "mov esi, dword ptr [edi]"], ["0x1005fc60", "test esi, esi"]]}, {"both": [["0x1005ed82", "je 0x60", "0x1005fc62"]]}, {"orig": [["0x1005ed84", "mov eax, dword ptr [edi + 0xe4]"]], "recomp": [["0x1005fc64", "mov eax, dword ptr [esi + 0xe4]"]]}, {"both": [["0x1005ed8a", "mov ebx, 0", "0x1005fc6a"], ["0x1005ed8f", "push eax", "0x1005fc6f"], ["0x1005ed90", "call CharacterManager (FUNCTION)", "0x1005fc70"], ["0x1005ed95", "mov ecx, eax", "0x1005fc75"], ["0x1005ed97", "call LegoCharacterManager::GetExtraActor (FUNCTION)", "0x1005fc77"], ["0x1005ed9c", "test eax, eax", "0x1005fc7c"], ["0x1005ed9e", "je 0xa", "0x1005fc7e"], ["0x1005eda0", "mov ecx, dword ptr [eax + 4]", "0x1005fc80"], ["0x1005eda3", "mov edx, dword ptr [ecx + 4]", "0x1005fc83"], ["0x1005eda6", "lea ebx, [edx + eax + 4]", "0x1005fc86"]]}]], ["@@ -0x1005edae,25 +0x1005fc8e,25 @@", [{"both": [["0x1005edae", "cmp dword ptr [ebx + 0x138], 0", "0x1005fc8e"], ["0x1005edb5", "je 0x20", "0x1005fc95"], ["0x1005edb7", "call CurrentWorld (FUNCTION)", "0x1005fc97"], ["0x1005edbc", "test eax, eax", "0x1005fc9c"], ["0x1005edbe", "je 0x17", "0x1005fc9e"], ["0x1005edc0", "push ebx", "0x1005fca0"], ["0x1005edc1", "call CurrentWorld (FUNCTION)", "0x1005fca1"], ["0x1005edc6", "mov ecx, eax", "0x1005fca6"], ["0x1005edc8", "call LegoWorld::RemoveActor (FUNCTION)", "0x1005fca8"], ["0x1005edcd", "mov dword ptr [ebx + 0x138], 0", "0x1005fcad"]]}, {"orig": [["0x1005edd7", "push edi"]], "recomp": [["0x1005fcb7", "push esi"]]}, {"both": [["0x1005edd8", "call CharacterManager (FUNCTION)", "0x1005fcb8"], ["0x1005eddd", "mov ecx, eax", "0x1005fcbd"], ["0x1005eddf", "call LegoCharacterManager::ReleaseActor (FUNCTION)", "0x1005fcbf"]]}, {"orig": [["0x1005ede4", "add esi, 0x18"]], "recomp": [["0x1005fcc4", "add edi, 0x18"]]}, {"both": [["0x1005ede7", "inc dword ptr [ebp - 0x14]", "0x1005fcc7"], ["0x1005edea", "cmp dword ptr [ebp - 0x14], 0x28", "0x1005fcca"], ["0x1005edee", "jl -0x72", "0x1005fcce"], ["0x1005edf0", "mov ecx, dword ptr [ebp - 0x10]", "0x1005fcd0"], ["0x1005edf3", "mov ecx, dword ptr [ecx + 0x20]", "0x1005fcd3"], ["0x1005edf6", "test ecx, ecx", "0x1005fcd6"], ["0x1005edf8", "je 0x6", "0x1005fcd8"], ["0x1005edfa", "push 1", "0x1005fcda"], ["0x1005edfc", "mov eax, dword ptr [ecx]", "0x1005fcdc"], ["0x1005edfe", "call dword ptr [eax]", "0x1005fcde"]]}]]]}, {"address": "0x1005ee80", "recomp": "0x1005fd60", "name": "LegoAnimationManager::Reset", "matching": 1.0, "diff": []}, {"address": "0x1005ef10", "recomp": "0x1005fdf0", "name": "LegoAnimationManager::Suspend", "matching": 1.0, "diff": []}, {"address": "0x1005f0b0", "recomp": "0x1005ff90", "name": "LegoAnimationManager::Resume", "matching": 1.0, "diff": []}, {"address": "0x1005f130", "recomp": "0x10060010", "name": "LegoAnimationManager::Init", "matching": 1.0, "diff": []}, {"address": "0x1005f360", "recomp": "0x10060240", "name": "LegoROIList::Compare", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005f360,10 +0x10060240,10 @@", [{"orig": [["0x1005f360", "mov ecx, dword ptr [esp + 8]"], ["0x1005f364", "mov eax, dword ptr [esp + 4]"], ["0x1005f368", "cmp ecx, eax"]], "recomp": [["0x10060240", "mov eax, dword ptr [esp + 8]"], ["0x10060244", "mov ecx, dword ptr [esp + 4]"], ["0x10060248", "cmp eax, ecx"]]}, {"both": [["0x1005f36a", "jne 0x5", "0x1006024a"], ["0x1005f36c", "xor al, al", "0x1006024c"], ["0x1005f36e", "ret 8", "0x1006024e"], ["0x1005f371", "mov al, 1", "0x10060251"], ["0x1005f373", "jbe 0x2", "0x10060253"], ["0x1005f375", "mov al, 0xff", "0x10060255"], ["0x1005f377", "ret 8", "0x10060257"]]}]]]}, {"address": "0x1005f380", "recomp": "0x10060260", "name": "MxCollection<LegoROI *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1005f390", "recomp": "0x10060270", "name": "MxCollection<LegoROI *>::~MxCollection<LegoROI *>", "matching": 1.0, "diff": []}, {"address": "0x1005f3e0", "recomp": "0x100602c0", "name": "MxCollection<LegoROI *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1005f3f0", "recomp": "0x100602d0", "name": "MxList<LegoROI *>::~MxList<LegoROI *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005f3f9,33 +0x100602d9,33 @@", [{"both": [["0x1005f3f9", "push -1", "0x100602d9"], ["0x1005f3fb", "push <OFFSET1>", "0x100602db"], ["0x1005f400", "push eax", "0x100602e0"], ["0x1005f401", "mov dword ptr fs:[0], esp", "0x100602e1"], ["0x1005f408", "mov dword ptr [ecx], MxList<LegoROI *>::`vftable' (VTABLE)", "0x100602e8"], ["0x1005f40e", "sub esp, 4", "0x100602ee"], ["0x1005f411", "mov dword ptr [ebp - 0x10], ecx", "0x100602f1"], ["0x1005f414", "mov dword ptr [ebp - 4], 0", "0x100602f4"], ["0x1005f41b", "push esi", "0x100602fb"], ["0x1005f41c", "push edi", "0x100602fc"]]}, {"orig": [["0x1005f41d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1005f420", "test esi, esi"]], "recomp": [["0x100602fd", "mov edi, dword ptr [ecx + 0x10]"], ["0x10060300", "test edi, edi"]]}, {"both": [["0x1005f422", "je 0x1c", "0x10060302"]]}, {"orig": [["0x1005f424", "mov edi, dword ptr [esi + 8]"], ["0x1005f427", "mov eax, dword ptr [esi]"]], "recomp": [["0x10060304", "mov esi, dword ptr [edi + 8]"], ["0x10060307", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1005f429", "push eax", "0x10060309"], ["0x1005f42a", "mov ecx, dword ptr [ebp - 0x10]", "0x1006030a"], ["0x1005f42d", "call dword ptr [ecx + 0xc]", "0x1006030d"], ["0x1005f430", "add esp, 4", "0x10060310"]]}, {"orig": [["0x1005f433", "push esi"]], "recomp": [["0x10060313", "push edi"]]}, {"both": [["0x1005f434", "call ??3@YAXPAX@Z (FUNCTION)", "0x10060314"], ["0x1005f439", "add esp, 4", "0x10060319"]]}, {"orig": [["0x1005f43c", "mov esi, edi"]], "recomp": [["0x1006031c", "mov edi, esi"]]}, {"both": [["0x1005f43e", "jmp -0x20", "0x1006031e"], ["0x1005f440", "xor eax, eax", "0x10060320"], ["0x1005f442", "mov ecx, dword ptr [ebp - 0x10]", "0x10060322"], ["0x1005f445", "mov dword ptr [ebp - 4], 0xffffffff", "0x10060325"], ["0x1005f44c", "mov dword ptr [ecx + 8], eax", "0x1006032c"], ["0x1005f44f", "mov dword ptr [ecx + 0x14], eax", "0x1006032f"], ["0x1005f452", "mov dword ptr [ecx + 0x10], eax", "0x10060332"], ["0x1005f455", "call <OFFSET4>", "0x10060335"], ["0x1005f45a", "mov eax, dword ptr [ebp - 0xc]", "0x1006033a"], ["0x1005f45d", "pop edi", "0x1006033d"]]}]]]}, {"address": "0x1005f480", "recomp": "0x10060360", "name": "LegoROIList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005f4f0", "recomp": "0x100603d0", "name": "MxPtrList<LegoROI>::~MxPtrList<LegoROI>", "matching": 1.0, "diff": []}, {"address": "0x1005f540", "recomp": "0x10060420", "name": "MxCollection<LegoROI *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005f5b0", "recomp": "0x10060490", "name": "MxList<LegoROI *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005f660", "recomp": "0x10060540", "name": "MxPtrList<LegoROI>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005f6d0", "recomp": "0x100605b0", "name": "LegoAnimationManager::FUN_1005f6d0", "matching": 1.0, "diff": []}, {"address": "0x1005f700", "recomp": "0x100605e0", "name": "LegoAnimationManager::EnableCamAnims", "matching": 1.0, "diff": []}, {"address": "0x1005f720", "recomp": "0x10060600", "name": "LegoAnimationManager::LoadWorldInfo", "matching": 0.9678030303030303, "diff": [["@@ -0x1005f76e,27 +0x1006064e,27 @@", [{"both": [["0x1005f76e", "mov edx, dword ptr [ebp - 0x10]", "0x1006064e"], ["0x1005f771", "mov ecx, dword ptr [edx + 0x24]", "0x10060651"], ["0x1005f774", "test ecx, ecx", "0x10060654"], ["0x1005f776", "je 0x10", "0x10060656"], ["0x1005f778", "push 1", "0x10060658"], ["0x1005f77a", "mov eax, dword ptr [ecx]", "0x1006065a"], ["0x1005f77c", "call dword ptr [eax]", "0x1006065c"], ["0x1005f77e", "mov edx, dword ptr [ebp - 0x10]", "0x1006065e"], ["0x1005f781", "mov dword ptr [edx + 0x24], 0", "0x10060661"], ["0x1005f788", "mov edx, dword ptr [ebp - 0x10]", "0x10060668"]]}, {"orig": [["0x1005f78b", "mov eax, 2"]], "recomp": [["0x1006066b", "mov ecx, 2"]]}, {"both": [["0x1005f790", "add edx, 0x28", "0x10060670"]]}, {"orig": [["0x1005f793", "xor ecx, ecx"], ["0x1005f795", "mov dword ptr [edx], ecx"]], "recomp": [["0x10060673", "xor eax, eax"], ["0x10060675", "mov dword ptr [edx], eax"]]}, {"both": [["0x1005f797", "add edx, 4", "0x10060677"]]}, {"orig": [["0x1005f79a", "dec eax"], ["0x1005f79b", "mov dword ptr [edx + 4], ecx"]], "recomp": [["0x1006067a", "dec ecx"], ["0x1006067b", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x1005f79e", "jne -0xb", "0x1006067e"], ["0x1005f7a0", "xor eax, eax", "0x10060680"], ["0x1005f7a2", "mov edx, dword ptr [ebp - 0x10]", "0x10060682"], ["0x1005f7a5", "mov byte ptr [edx + 0x38], al", "0x10060685"], ["0x1005f7a8", "mov byte ptr [edx + 0x39], al", "0x10060688"], ["0x1005f7ab", "mov byte ptr [edx + 0x430], al", "0x1006068b"], ["0x1005f7b1", "mov dword ptr [edx + 0x42c], eax", "0x10060691"], ["0x1005f7b7", "mov eax, g_characters[0].m_active (UNK)", "0x10060697"], ["0x1005f7bc", "mov byte ptr [eax], 0", "0x1006069c"], ["0x1005f7bf", "add eax, 0x18", "0x1006069f"]]}]], ["@@ -0x1005faf1,25 +0x100609d1,25 @@", [{"both": [["0x1005faf1", "sub eax, 2", "0x100609d1"], ["0x1005faf4", "push eax", "0x100609d4"], ["0x1005faf5", "call LegoAnimationManager::GetCharacterIndex (FUNCTION)", "0x100609d5"], ["0x1005fafa", "mov edx, dword ptr [ebp - 0x10]", "0x100609da"], ["0x1005fafd", "mov byte ptr [esi + 0x28], al", "0x100609dd"], ["0x1005fb00", "xor esi, esi", "0x100609e0"], ["0x1005fb02", "mov ecx, dword ptr [edx + 0x14]", "0x100609e2"], ["0x1005fb05", "mov byte ptr [ecx + ebx + 0x29], 0", "0x100609e5"], ["0x1005fb0a", "mov ecx, 0xffffffff", "0x100609ea"], ["0x1005fb0f", "mov edx, dword ptr [ebp - 0x10]", "0x100609ef"]]}, {"orig": [], "recomp": [["0x100609f2", "mov eax, dword ptr [edx + 0x14]"], ["0x100609f5", "add eax, esi"]]}, {"both": [["0x1005fb12", "inc esi", "0x100609f7"]]}, {"orig": [["0x1005fb13", "mov eax, dword ptr [edx + 0x14]"], ["0x1005fb16", "add eax, ebx"]], "recomp": []}, {"both": [["0x1005fb18", "cmp esi, 3", "0x100609f8"]]}, {"orig": [["0x1005fb1b", "mov byte ptr [eax + esi + 0x29], cl"]], "recomp": [["0x100609fb", "mov byte ptr [eax + ebx + 0x2a], cl"]]}, {"both": [["0x1005fb1f", "jl -0x12", "0x100609ff"], ["0x1005fb21", "mov eax, dword ptr [edx + 0x14]", "0x10060a01"], ["0x1005fb24", "add eax, ebx", "0x10060a04"], ["0x1005fb26", "cmp word ptr [eax + 8], -1", "0x10060a06"], ["0x1005fb2b", "jne 0x46", "0x10060a0b"], ["0x1005fb2d", "xor edi, edi", "0x10060a0d"], ["0x1005fb2f", "cmp byte ptr [eax + 0x20], 0", "0x10060a0f"], ["0x1005fb33", "jbe 0x3e", "0x10060a13"], ["0x1005fb35", "xor esi, esi", "0x10060a15"], ["0x1005fb37", "mov edx, dword ptr [ebp - 0x10]", "0x10060a17"]]}]], ["@@ -0x1005fb54,50 +0x10060a34,50 @@", [{"both": [["0x1005fb54", "lea eax, [eax + eax*2]", "0x10060a34"], ["0x1005fb57", "mov byte ptr [eax*8 + g_characters[0].m_active (UNK)], 1", "0x10060a37"], ["0x1005fb5f", "mov edx, dword ptr [ebp - 0x10]", "0x10060a3f"], ["0x1005fb62", "xor eax, eax", "0x10060a42"], ["0x1005fb64", "add esi, 0x30", "0x10060a44"], ["0x1005fb67", "inc edi", "0x10060a47"], ["0x1005fb68", "mov ecx, dword ptr [edx + 0x14]", "0x10060a48"], ["0x1005fb6b", "mov al, byte ptr [ecx + ebx + 0x20]", "0x10060a4b"], ["0x1005fb6f", "cmp eax, edi", "0x10060a4f"], ["0x1005fb71", "jg -0x3c", "0x10060a51"]]}, {"orig": [["0x1005fb73", "xor edi, edi"]], "recomp": [["0x10060a53", "xor esi, esi"]]}, {"both": [["0x1005fb75", "mov edx, dword ptr [ebp - 0x10]", "0x10060a55"]]}, {"orig": [["0x1005fb78", "mov dword ptr [ebp - 0x20], edi"]], "recomp": [["0x10060a58", "mov dword ptr [ebp - 0x20], esi"]]}, {"both": [["0x1005fb7b", "mov eax, dword ptr [edx + 0x14]", "0x10060a5b"], ["0x1005fb7e", "cmp byte ptr [eax + ebx + 0x20], 0", "0x10060a5e"], ["0x1005fb83", "jbe 0x56", "0x10060a63"]]}, {"orig": [["0x1005fb85", "xor esi, esi"]], "recomp": [["0x10060a65", "xor edi, edi"]]}, {"both": [["0x1005fb87", "lea eax, [ebp - 0x30]", "0x10060a67"], ["0x1005fb8a", "mov edx, dword ptr [ebp - 0x10]", "0x10060a6a"], ["0x1005fb8d", "push eax", "0x10060a6d"], ["0x1005fb8e", "mov ecx, dword ptr [edx + 0x14]", "0x10060a6e"], ["0x1005fb91", "mov eax, dword ptr [ecx + ebx + 0x24]", "0x10060a71"], ["0x1005fb95", "mov ecx, dword ptr [ebp - 0x10]", "0x10060a75"]]}, {"orig": [["0x1005fb98", "mov edx, dword ptr [eax + esi]"]], "recomp": [["0x10060a78", "mov edx, dword ptr [eax + edi]"]]}, {"both": [["0x1005fb9b", "push edx", "0x10060a7b"], ["0x1005fb9c", "call LegoAnimationManager::FindVehicle (FUNCTION)", "0x10060a7c"], ["0x1005fba1", "test al, al", "0x10060a81"], ["0x1005fba3", "je 0x1f", "0x10060a83"], ["0x1005fba5", "mov edx, dword ptr [ebp - 0x10]", "0x10060a85"], ["0x1005fba8", "mov ecx, dword ptr [edx + 0x14]", "0x10060a88"], ["0x1005fbab", "add ecx, ebx", "0x10060a8b"], ["0x1005fbad", "mov edx, dword ptr [ecx + 0x24]", "0x10060a8d"]]}, {"orig": [["0x1005fbb0", "cmp byte ptr [edx + esi + 0x2c], 0"]], "recomp": [["0x10060a90", "cmp byte ptr [edx + edi + 0x2c], 0"]]}, {"both": [["0x1005fbb5", "je 0xd", "0x10060a95"], ["0x1005fbb7", "mov al, byte ptr [ebp - 0x30]", "0x10060a97"]]}, {"orig": [["0x1005fbba", "inc edi"], ["0x1005fbbb", "cmp edi, 3"], ["0x1005fbbe", "mov byte ptr [ecx + edi + 0x29], al"]], "recomp": [["0x10060a9a", "inc esi"], ["0x10060a9b", "cmp esi, 3"], ["0x10060a9e", "mov byte ptr [ecx + esi + 0x29], al"]]}, {"both": [["0x1005fbc2", "jg 0x17", "0x10060aa2"]]}, {"orig": [["0x1005fbc4", "add esi, 0x30"]], "recomp": [["0x10060aa4", "add edi, 0x30"]]}, {"both": [["0x1005fbc7", "mov edx, dword ptr [ebp - 0x10]", "0x10060aa7"], ["0x1005fbca", "mov ecx, dword ptr [edx + 0x14]", "0x10060aaa"], ["0x1005fbcd", "xor eax, eax", "0x10060aad"], ["0x1005fbcf", "inc dword ptr [ebp - 0x20]", "0x10060aaf"], ["0x1005fbd2", "mov al, byte ptr [ecx + ebx + 0x20]", "0x10060ab2"], ["0x1005fbd6", "cmp eax, dword ptr [ebp - 0x20]", "0x10060ab6"], ["0x1005fbd9", "jg -0x54", "0x10060ab9"], ["0x1005fbdb", "mov ecx, dword ptr [ebp - 0x1c]", "0x10060abb"], ["0x1005fbde", "inc dword ptr [ebp - 0x18]", "0x10060abe"], ["0x1005fbe1", "add ebx, 0x30", "0x10060ac1"]]}]]]}, {"address": "0x1005fdf0", "recomp": "0x10060cd0", "name": "MxCollection<LegoTranInfo *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1005fe00", "recomp": "0x10060ce0", "name": "MxCollection<LegoTranInfo *>::~MxCollection<LegoTranInfo *>", "matching": 1.0, "diff": []}, {"address": "0x1005fe50", "recomp": "0x10060d30", "name": "MxCollection<LegoTranInfo *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1005fe60", "recomp": "0x10060d40", "name": "MxList<LegoTranInfo *>::~MxList<LegoTranInfo *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1005fe69,33 +0x10060d49,33 @@", [{"both": [["0x1005fe69", "push -1", "0x10060d49"], ["0x1005fe6b", "push <OFFSET1>", "0x10060d4b"], ["0x1005fe70", "push eax", "0x10060d50"], ["0x1005fe71", "mov dword ptr fs:[0], esp", "0x10060d51"], ["0x1005fe78", "mov dword ptr [ecx], MxList<LegoTranInfo *>::`vftable' (VTABLE)", "0x10060d58"], ["0x1005fe7e", "sub esp, 4", "0x10060d5e"], ["0x1005fe81", "mov dword ptr [ebp - 0x10], ecx", "0x10060d61"], ["0x1005fe84", "mov dword ptr [ebp - 4], 0", "0x10060d64"], ["0x1005fe8b", "push esi", "0x10060d6b"], ["0x1005fe8c", "push edi", "0x10060d6c"]]}, {"orig": [["0x1005fe8d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1005fe90", "test esi, esi"]], "recomp": [["0x10060d6d", "mov edi, dword ptr [ecx + 0x10]"], ["0x10060d70", "test edi, edi"]]}, {"both": [["0x1005fe92", "je 0x1c", "0x10060d72"]]}, {"orig": [["0x1005fe94", "mov edi, dword ptr [esi + 8]"], ["0x1005fe97", "mov eax, dword ptr [esi]"]], "recomp": [["0x10060d74", "mov esi, dword ptr [edi + 8]"], ["0x10060d77", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1005fe99", "push eax", "0x10060d79"], ["0x1005fe9a", "mov ecx, dword ptr [ebp - 0x10]", "0x10060d7a"], ["0x1005fe9d", "call dword ptr [ecx + 0xc]", "0x10060d7d"], ["0x1005fea0", "add esp, 4", "0x10060d80"]]}, {"orig": [["0x1005fea3", "push esi"]], "recomp": [["0x10060d83", "push edi"]]}, {"both": [["0x1005fea4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10060d84"], ["0x1005fea9", "add esp, 4", "0x10060d89"]]}, {"orig": [["0x1005feac", "mov esi, edi"]], "recomp": [["0x10060d8c", "mov edi, esi"]]}, {"both": [["0x1005feae", "jmp -0x20", "0x10060d8e"], ["0x1005feb0", "xor eax, eax", "0x10060d90"], ["0x1005feb2", "mov ecx, dword ptr [ebp - 0x10]", "0x10060d92"], ["0x1005feb5", "mov dword ptr [ebp - 4], 0xffffffff", "0x10060d95"], ["0x1005febc", "mov dword ptr [ecx + 8], eax", "0x10060d9c"], ["0x1005febf", "mov dword ptr [ecx + 0x14], eax", "0x10060d9f"], ["0x1005fec2", "mov dword ptr [ecx + 0x10], eax", "0x10060da2"], ["0x1005fec5", "call <OFFSET4>", "0x10060da5"], ["0x1005feca", "mov eax, dword ptr [ebp - 0xc]", "0x10060daa"], ["0x1005fecd", "pop edi", "0x10060dad"]]}]]]}, {"address": "0x1005fef0", "recomp": "0x10060dd0", "name": "LegoTranInfoList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1005ff60", "recomp": "0x10060e40", "name": "MxPtrList<LegoTranInfo>::~MxPtrList<LegoTranInfo>", "matching": 1.0, "diff": []}, {"address": "0x1005ffb0", "recomp": "0x10060e90", "name": "MxCollection<LegoTranInfo *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10060020", "recomp": "0x10060f00", "name": "MxList<LegoTranInfo *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x10060029,33 +0x10060f09,33 @@", [{"both": [["0x10060029", "push -1", "0x10060f09"], ["0x1006002b", "push <OFFSET1>", "0x10060f0b"], ["0x10060030", "push eax", "0x10060f10"], ["0x10060031", "mov dword ptr fs:[0], esp", "0x10060f11"], ["0x10060038", "mov dword ptr [ecx], MxList<LegoTranInfo *>::`vftable' (VTABLE)", "0x10060f18"], ["0x1006003e", "sub esp, 4", "0x10060f1e"], ["0x10060041", "mov dword ptr [ebp - 0x10], ecx", "0x10060f21"], ["0x10060044", "mov dword ptr [ebp - 4], 0", "0x10060f24"], ["0x1006004b", "push esi", "0x10060f2b"], ["0x1006004c", "push edi", "0x10060f2c"]]}, {"orig": [["0x1006004d", "mov esi, dword ptr [ecx + 0x10]"], ["0x10060050", "test esi, esi"]], "recomp": [["0x10060f2d", "mov edi, dword ptr [ecx + 0x10]"], ["0x10060f30", "test edi, edi"]]}, {"both": [["0x10060052", "je 0x1c", "0x10060f32"]]}, {"orig": [["0x10060054", "mov edi, dword ptr [esi + 8]"], ["0x10060057", "mov eax, dword ptr [esi]"]], "recomp": [["0x10060f34", "mov esi, dword ptr [edi + 8]"], ["0x10060f37", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10060059", "push eax", "0x10060f39"], ["0x1006005a", "mov ecx, dword ptr [ebp - 0x10]", "0x10060f3a"], ["0x1006005d", "call dword ptr [ecx + 0xc]", "0x10060f3d"], ["0x10060060", "add esp, 4", "0x10060f40"]]}, {"orig": [["0x10060063", "push esi"]], "recomp": [["0x10060f43", "push edi"]]}, {"both": [["0x10060064", "call ??3@YAXPAX@Z (FUNCTION)", "0x10060f44"], ["0x10060069", "add esp, 4", "0x10060f49"]]}, {"orig": [["0x1006006c", "mov esi, edi"]], "recomp": [["0x10060f4c", "mov edi, esi"]]}, {"both": [["0x1006006e", "jmp -0x20", "0x10060f4e"], ["0x10060070", "xor eax, eax", "0x10060f50"], ["0x10060072", "mov ecx, dword ptr [ebp - 0x10]", "0x10060f52"], ["0x10060075", "mov dword ptr [ebp - 4], 0xffffffff", "0x10060f55"], ["0x1006007c", "mov dword ptr [ecx + 8], eax", "0x10060f5c"], ["0x1006007f", "mov dword ptr [ecx + 0x14], eax", "0x10060f5f"], ["0x10060082", "mov dword ptr [ecx + 0x10], eax", "0x10060f62"], ["0x10060085", "call <OFFSET4>", "0x10060f65"], ["0x1006008a", "test byte ptr [ebp + 8], 1", "0x10060f6a"], ["0x1006008e", "je 0xc", "0x10060f6e"]]}]]]}, {"address": "0x100600d0", "recomp": "0x10060fb0", "name": "MxPtrList<LegoTranInfo>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10060140", "recomp": "0x10061020", "name": "LegoAnimationManager::FindVehicle", "matching": 1.0, "diff": []}, {"address": "0x10060180", "recomp": "0x10061060", "name": "LegoAnimationManager::ReadAnimInfo", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006024b,31 +0x1006112b,31 @@", [{"both": [["0x1006024b", "call edi", "0x1006112b"], ["0x1006024d", "cmp eax, -1", "0x1006112d"], ["0x10060250", "je 0xa4", "0x10061130"], ["0x10060256", "push 1", "0x10061136"], ["0x10060258", "lea eax, [esi + 0xd]", "0x10061138"], ["0x1006025b", "mov ecx, dword ptr [esp + 0x24]", "0x1006113b"], ["0x1006025f", "push eax", "0x1006113f"], ["0x10060260", "call edi", "0x10061140"], ["0x10060262", "cmp eax, -1", "0x10061142"], ["0x10060265", "je 0x8f", "0x10061145"]]}, {"orig": [["0x1006026b", "xor ebp, ebp"], ["0x1006026d", "lea ebx, [esi + 0x10]"]], "recomp": [["0x1006114b", "xor ebx, ebx"], ["0x1006114d", "lea ebp, [esi + 0x10]"]]}, {"both": [["0x10060270", "mov ecx, dword ptr [esp + 0x20]", "0x10061150"], ["0x10060274", "push 4", "0x10061154"]]}, {"orig": [["0x10060276", "push ebx"]], "recomp": [["0x10061156", "push ebp"]]}, {"both": [["0x10060277", "call edi", "0x10061157"], ["0x10060279", "test eax, eax", "0x10061159"], ["0x1006027b", "jne 0x7d", "0x1006115b"]]}, {"orig": [["0x1006027d", "add ebx, 4"], ["0x10060280", "inc ebp"], ["0x10060281", "cmp ebp, 4"]], "recomp": [["0x1006115d", "add ebp, 4"], ["0x10061160", "inc ebx"], ["0x10061161", "cmp ebx, 4"]]}, {"both": [["0x10060284", "jl -0x16", "0x10061164"], ["0x10060286", "push 1", "0x10061166"], ["0x10060288", "lea eax, [esi + 0x20]", "0x10061168"], ["0x1006028b", "mov ecx, dword ptr [esp + 0x24]", "0x1006116b"], ["0x1006028f", "push eax", "0x1006116f"], ["0x10060290", "call edi", "0x10061170"], ["0x10060292", "cmp eax, -1", "0x10061172"], ["0x10060295", "je 0x63", "0x10061175"], ["0x10060297", "xor eax, eax", "0x10061177"], ["0x10060299", "mov al, byte ptr [esi + 0x20]", "0x10061179"]]}]]]}, {"address": "0x10060310", "recomp": "0x100611f0", "name": "LegoAnimationManager::ReadModelInfo", "matching": 0.65, "diff": [["@@ -0x10060310,80 +0x100611f0,80 @@", [{"both": [["0x10060310", "sub esp, 4", "0x100611f0"], ["0x10060313", "push ebx", "0x100611f3"], ["0x10060314", "push esi", "0x100611f4"]]}, {"orig": [], "recomp": [["0x100611f5", "mov esi, dword ptr [esp + 0x10]"]]}, {"both": [["0x10060315", "push edi", "0x100611f9"]]}, {"orig": [], "recomp": [["0x100611fa", "lea ecx, [esp + 0xf]"]]}, {"both": [["0x10060316", "push ebp", "0x100611fe"], ["0x10060317", "mov ebp, 0xffffffff", "0x100611ff"]]}, {"orig": [["0x1006031c", "mov edi, dword ptr [esp + 0x18]"], ["0x10060320", "lea ecx, [esp + 0x13]"]], "recomp": [["0x10061204", "mov eax, dword ptr [esi]"]]}, {"both": [["0x10060324", "push 1", "0x10061206"]]}, {"orig": [["0x10060326", "mov eax, dword ptr [edi]"]], "recomp": []}, {"both": [["0x10060328", "push ecx", "0x10061208"]]}, {"orig": [["0x10060329", "mov ecx, edi"], ["0x1006032b", "mov esi, dword ptr [eax + 4]"], ["0x1006032e", "call esi"]], "recomp": [["0x10061209", "mov ebx, dword ptr [eax + 4]"], ["0x1006120c", "mov ecx, esi"], ["0x1006120e", "call ebx"]]}, {"both": [["0x10060330", "cmp eax, ebp", "0x10061210"], ["0x10060332", "je 0x7c", "0x10061212"], ["0x10060334", "xor eax, eax", "0x10061214"], ["0x10060336", "mov al, byte ptr [esp + 0x13]", "0x10061216"], ["0x1006033a", "inc eax", "0x1006121a"], ["0x1006033b", "push eax", "0x1006121b"], ["0x1006033c", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006121c"]]}, {"orig": [["0x10060341", "mov ebx, dword ptr [esp + 0x20]"]], "recomp": [["0x10061221", "mov edi, dword ptr [esp + 0x20]"]]}, {"both": [["0x10060345", "add esp, 4", "0x10061225"]]}, {"orig": [["0x10060348", "mov dword ptr [ebx], eax"]], "recomp": [["0x10061228", "mov dword ptr [edi], eax"]]}, {"both": [["0x1006034a", "xor eax, eax", "0x1006122a"], ["0x1006034c", "mov al, byte ptr [esp + 0x13]", "0x1006122c"]]}, {"orig": [["0x10060350", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x10061230", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x10060352", "push eax", "0x10061232"], ["0x10060353", "push ecx", "0x10061233"]]}, {"orig": [["0x10060354", "mov ecx, edi"], ["0x10060356", "call esi"]], "recomp": [["0x10061234", "mov ecx, esi"], ["0x10061236", "call ebx"]]}, {"both": [["0x10060358", "cmp eax, ebp", "0x10061238"], ["0x1006035a", "je 0x54", "0x1006123a"], ["0x1006035c", "xor eax, eax", "0x1006123c"]]}, {"orig": [["0x1006035e", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x1006123e", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x10060360", "mov al, byte ptr [esp + 0x13]", "0x10061240"], ["0x10060364", "push 1", "0x10061244"]]}, {"orig": [["0x10060366", "lea edx, [ebx + 4]"]], "recomp": [["0x10061246", "lea edx, [edi + 4]"]]}, {"both": [["0x10060369", "mov byte ptr [eax + ecx], 0", "0x10061249"], ["0x1006036d", "push edx", "0x1006124d"]]}, {"orig": [["0x1006036e", "mov ecx, edi"], ["0x10060370", "call esi"]], "recomp": [["0x1006124e", "mov ecx, esi"], ["0x10061250", "call ebx"]]}, {"both": [["0x10060372", "cmp eax, ebp", "0x10061252"], ["0x10060374", "je 0x3a", "0x10061254"], ["0x10060376", "push 0xc", "0x10061256"]]}, {"orig": [["0x10060378", "lea eax, [ebx + 8]"]], "recomp": [["0x10061258", "lea eax, [edi + 8]"]]}, {"both": [["0x1006037b", "push eax", "0x1006125b"]]}, {"orig": [["0x1006037c", "mov ecx, edi"], ["0x1006037e", "call esi"]], "recomp": [["0x1006125c", "mov ecx, esi"], ["0x1006125e", "call ebx"]]}, {"both": [["0x10060380", "test eax, eax", "0x10061260"], ["0x10060382", "jne 0x2c", "0x10061262"], ["0x10060384", "push 0xc", "0x10061264"]]}, {"orig": [["0x10060386", "lea eax, [ebx + 0x14]"]], "recomp": [["0x10061266", "lea eax, [edi + 0x14]"]]}, {"both": [["0x10060389", "push eax", "0x10061269"]]}, {"orig": [["0x1006038a", "mov ecx, edi"], ["0x1006038c", "call esi"]], "recomp": [["0x1006126a", "mov ecx, esi"], ["0x1006126c", "call ebx"]]}, {"both": [["0x1006038e", "test eax, eax", "0x1006126e"], ["0x10060390", "jne 0x1e", "0x10061270"], ["0x10060392", "push 0xc", "0x10061272"]]}, {"orig": [["0x10060394", "lea eax, [ebx + 0x20]"]], "recomp": [["0x10061274", "lea eax, [edi + 0x20]"]]}, {"both": [["0x10060397", "push eax", "0x10061277"]]}, {"orig": [["0x10060398", "mov ecx, edi"], ["0x1006039a", "call esi"]], "recomp": [["0x10061278", "mov ecx, esi"], ["0x1006127a", "call ebx"]]}, {"both": [["0x1006039c", "test eax, eax", "0x1006127c"], ["0x1006039e", "jne 0x10", "0x1006127e"], ["0x100603a0", "push 1", "0x10061280"]]}, {"orig": [["0x100603a2", "add ebx, 0x2c"], ["0x100603a5", "push ebx"], ["0x100603a6", "mov ecx, edi"], ["0x100603a8", "call esi"]], "recomp": [["0x10061282", "add edi, 0x2c"], ["0x10061285", "push edi"], ["0x10061286", "mov ecx, esi"], ["0x10061288", "call ebx"]]}, {"both": [["0x100603aa", "cmp eax, ebp", "0x1006128a"], ["0x100603ac", "je 0x2", "0x1006128c"], ["0x100603ae", "xor ebp, ebp", "0x1006128e"], ["0x100603b0", "mov eax, ebp", "0x10061290"], ["0x100603b2", "pop ebp", "0x10061292"], ["0x100603b3", "pop edi", "0x10061293"], ["0x100603b4", "pop esi", "0x10061294"], ["0x100603b5", "pop ebx", "0x10061295"], ["0x100603b6", "add esp, 4", "0x10061296"], ["0x100603b9", "ret 8", "0x10061299"]]}]]]}, {"address": "0x100603c0", "recomp": "0x100612a0", "name": "LegoAnimationManager::DeleteAnimations", "matching": 1.0, "diff": []}, {"address": "0x10060480", "recomp": "0x10061360", "name": "LegoAnimationManager::FUN_10060480", "matching": 1.0, "diff": []}, {"address": "0x100604d0", "recomp": "0x100613b0", "name": "LegoAnimationManager::FUN_100604d0", "matching": 1.0, "diff": []}, {"address": "0x100604f0", "recomp": "0x100613d0", "name": "LegoAnimationManager::FUN_100604f0", "matching": 1.0, "effective": true, "diff": [["@@ -0x100604f0,32 +0x100613d0,32 @@", [{"both": [["0x100604f0", "push ebx", "0x100613d0"], ["0x100604f1", "push esi", "0x100613d1"], ["0x100604f2", "mov ebx, dword ptr [esp + 0x10]", "0x100613d2"], ["0x100604f6", "push edi", "0x100613d6"], ["0x100604f7", "push ebp", "0x100613d7"], ["0x100604f8", "test ebx, ebx", "0x100613d8"], ["0x100604fa", "je 0x32", "0x100613da"]]}, {"orig": [["0x100604fc", "mov esi, dword ptr [esp + 0x14]"], ["0x10060500", "xor edx, edx"], ["0x10060502", "cmp word ptr [ecx + 0xc], dx"]], "recomp": [["0x100613dc", "mov edx, dword ptr [esp + 0x14]"], ["0x100613e0", "xor esi, esi"], ["0x100613e2", "cmp word ptr [ecx + 0xc], si"]]}, {"both": [["0x10060506", "jbe 0x20", "0x100613e6"], ["0x10060508", "xor edi, edi", "0x100613e8"], ["0x1006050a", "mov eax, dword ptr [ecx + 0x14]", "0x100613ea"]]}, {"orig": [["0x1006050d", "mov ebp, dword ptr [esi]"]], "recomp": [["0x100613ed", "mov ebp, dword ptr [edx]"]]}, {"both": [["0x1006050f", "add eax, edi", "0x100613ef"], ["0x10060511", "cmp dword ptr [eax + 4], ebp", "0x100613f1"], ["0x10060514", "jne 0x4", "0x100613f4"], ["0x10060516", "mov byte ptr [eax + 0x29], 1", "0x100613f6"], ["0x1006051a", "add edi, 0x30", "0x100613fa"]]}, {"orig": [["0x1006051d", "inc edx"]], "recomp": [["0x100613fd", "inc esi"]]}, {"both": [["0x1006051e", "xor eax, eax", "0x100613fe"], ["0x10060520", "mov ax, word ptr [ecx + 0xc]", "0x10061400"]]}, {"orig": [["0x10060524", "cmp eax, edx"]], "recomp": [["0x10061404", "cmp eax, esi"]]}, {"both": [["0x10060526", "jg -0x1e", "0x10061406"]]}, {"orig": [["0x10060528", "add esi, 4"]], "recomp": [["0x10061408", "add edx, 4"]]}, {"both": [["0x1006052b", "dec ebx", "0x1006140b"], ["0x1006052c", "jne -0x2e", "0x1006140c"], ["0x1006052e", "pop ebp", "0x1006140e"], ["0x1006052f", "pop edi", "0x1006140f"], ["0x10060530", "pop esi", "0x10061410"], ["0x10060531", "pop ebx", "0x10061411"], ["0x10060532", "ret 8", "0x10061412"]]}]]]}, {"address": "0x10060540", "recomp": "0x10061420", "name": "LegoAnimationManager::FUN_10060540", "matching": 1.0, "diff": []}, {"address": "0x10060570", "recomp": "0x10061450", "name": "LegoAnimationManager::FUN_10060570", "matching": 1.0, "diff": []}, {"address": "0x100605e0", "recomp": "0x100614c0", "name": "LegoAnimationManager::FUN_100605e0", "matching": 0.9473684210526315, "diff": [["@@ -0x1006075e,91 +0x1006163e,91 @@", [{"both": [["0x1006075e", "mov dword ptr [edx + 0x1c], ecx", "0x1006163e"], ["0x10060761", "mov dword ptr [eax + 4], ecx", "0x10061641"], ["0x10060764", "mov ecx, dword ptr [ebp + 0x18]", "0x10061644"], ["0x10060767", "mov byte ptr [eax + 0x10], 0", "0x10061647"], ["0x1006076b", "mov dword ptr [eax + 8], ecx", "0x1006164b"], ["0x1006076e", "mov ebx, dword ptr [edx + 0x14]", "0x1006164e"], ["0x10060771", "mov dl, byte ptr [ebp + 0xc]", "0x10061651"], ["0x10060774", "mov cx, word ptr [ebx + esi + 8]", "0x10061654"], ["0x10060779", "mov word ptr [eax + 0x12], cx", "0x10061659"], ["0x1006077d", "mov ecx, dword ptr [ebp - 0x18]", "0x1006165d"]]}, {"orig": [["0x10060780", "cmp dword ptr [ebp + 0x10], 0"]], "recomp": []}, {"both": [["0x10060784", "mov byte ptr [eax + 0x14], dl", "0x10061660"], ["0x10060787", "mov edx, dword ptr [ecx + 4]", "0x10061663"], ["0x1006078a", "mov cl, byte ptr [ebp + 0x1c]", "0x10061666"], ["0x1006078d", "mov dword ptr [eax + 0x18], edx", "0x10061669"], ["0x10060790", "mov byte ptr [eax + 0x15], cl", "0x1006166c"]]}, {"orig": [], "recomp": [["0x1006166f", "cmp dword ptr [ebp + 0x10], 0"]]}, {"both": [["0x10060793", "je 0x4a", "0x10061673"], ["0x10060795", "push 0x48", "0x10061675"], ["0x10060797", "call ??2@YAPAXI@Z (FUNCTION)", "0x10061677"], ["0x1006079c", "mov dword ptr [ebp - 0x1c], eax", "0x1006167c"], ["0x1006079f", "add esp, 4", "0x1006167f"], ["0x100607a2", "mov ebx, eax", "0x10061682"], ["0x100607a4", "mov ecx, 0", "0x10061684"], ["0x100607a9", "mov byte ptr [ebp - 4], 2", "0x10061689"], ["0x100607ad", "test ebx, ebx", "0x1006168d"], ["0x100607af", "je 0x24", "0x1006168f"], ["0x100607b1", "lea eax, [ebx + 8]", "0x10061691"]]}, {"orig": [["0x100607b4", "mov ecx, dword ptr [ebp + 0x10]"]], "recomp": []}, {"both": [["0x100607b7", "mov dword ptr [ebx], Matrix4::`vftable' (VTABLE)", "0x10061694"], ["0x100607bd", "mov dword ptr [ebx + 4], eax", "0x1006169a"], ["0x100607c0", "mov dword ptr [ebx], MxMatrix::`vftable' (VTABLE)", "0x1006169d"], ["0x100607c6", "mov edi, dword ptr [ebx + 4]", "0x100616a3"]]}, {"orig": [], "recomp": [["0x100616a6", "mov ecx, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100607c9", "mov esi, dword ptr [ecx + 4]", "0x100616a9"], ["0x100607cc", "mov ecx, 0x10", "0x100616ac"], ["0x100607d1", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100616b1"], ["0x100607d3", "mov ecx, ebx", "0x100616b3"], ["0x100607d5", "mov eax, dword ptr [ebp - 0x14]", "0x100616b5"], ["0x100607d8", "mov byte ptr [ebp - 4], 0", "0x100616b8"], ["0x100607dc", "mov dword ptr [eax + 0xc], ecx", "0x100616bc"], ["0x100607df", "mov ecx, dword ptr [ebp - 0x10]", "0x100616bf"], ["0x100607e2", "mov eax, dword ptr [ebp - 0x14]", "0x100616c2"], ["0x100607e5", "add ecx, 0x28", "0x100616c5"], ["0x100607e8", "mov dl, byte ptr [ebp + 0x20]", "0x100616c8"], ["0x100607eb", "mov dword ptr [eax + 0x1c], ecx", "0x100616cb"], ["0x100607ee", "mov ecx, dword ptr [ebp - 0x10]", "0x100616ce"], ["0x100607f1", "add ecx, 0x30", "0x100616d1"], ["0x100607f4", "mov dword ptr [eax + 0x20], ecx", "0x100616d4"], ["0x100607f7", "mov cl, byte ptr [ebp + 0x24]", "0x100616d7"], ["0x100607fa", "mov byte ptr [eax + 0x28], dl", "0x100616da"], ["0x100607fd", "mov edx, dword ptr [ebp - 0x10]", "0x100616dd"], ["0x10060800", "mov byte ptr [eax + 0x29], cl", "0x100616e0"]]}, {"orig": [["0x10060803", "mov edi, dword ptr [edx + 0x20]"], ["0x10060806", "test edi, edi"]], "recomp": [["0x100616e3", "mov esi, dword ptr [edx + 0x20]"], ["0x100616e6", "test esi, esi"]]}, {"both": [["0x10060808", "je 0x51", "0x100616e8"]]}, {"orig": [["0x1006080a", "mov ebx, dword ptr [edi + 0x14]"]], "recomp": [["0x100616ea", "mov edi, dword ptr [esi + 0x14]"]]}, {"both": [["0x1006080d", "push 0xc", "0x100616ed"], ["0x1006080f", "call ??2@YAPAXI@Z (FUNCTION)", "0x100616ef"], ["0x10060814", "mov dword ptr [ebp - 0x1c], eax", "0x100616f4"], ["0x10060817", "add esp, 4", "0x100616f7"], ["0x1006081a", "mov byte ptr [ebp - 4], 3", "0x100616fa"]]}, {"orig": [["0x1006081e", "mov esi, eax"], ["0x10060820", "test esi, esi"]], "recomp": [["0x100616fe", "mov ebx, eax"], ["0x10061700", "test ebx, ebx"]]}, {"both": [["0x10060822", "je 0x20", "0x10061702"], ["0x10060824", "mov eax, dword ptr [ebp - 0x14]", "0x10061704"]]}, {"orig": [["0x10060827", "mov dword ptr [esi], eax"], ["0x10060829", "mov eax, esi"], ["0x1006082b", "mov dword ptr [esi + 4], ebx"], ["0x1006082e", "mov dword ptr [esi + 8], 0"]], "recomp": [["0x10061707", "mov dword ptr [ebx], eax"], ["0x10061709", "mov eax, ebx"], ["0x1006170b", "mov dword ptr [ebx + 4], edi"], ["0x1006170e", "mov dword ptr [ebx + 8], 0"]]}, {"both": [["0x10060835", "jmp 0xf", "0x10061715"], ["0x10060837", "mov eax, dword ptr [ebp - 0x1c]", "0x10061717"], ["0x1006083a", "push eax", "0x1006171a"], ["0x1006083b", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006171b"], ["0x10060840", "add esp, 4", "0x10061720"], ["0x10060843", "ret ", "0x10061723"], ["0x10060844", "xor eax, eax", "0x10061724"], ["0x10060846", "mov byte ptr [ebp - 4], 0", "0x10061726"]]}, {"orig": [["0x1006084a", "test ebx, ebx"]], "recomp": [["0x1006172a", "test edi, edi"]]}, {"both": [["0x1006084c", "je 0xe2", "0x1006172c"]]}, {"orig": [["0x10060852", "mov dword ptr [ebx + 8], eax"], ["0x10060855", "mov dword ptr [edi + 0x14], eax"], ["0x10060858", "inc dword ptr [edi + 8]"]], "recomp": [["0x10061732", "mov dword ptr [edi + 8], eax"], ["0x10061735", "mov dword ptr [esi + 0x14], eax"], ["0x10061738", "inc dword ptr [esi + 8]"]]}, {"both": [["0x1006085b", "mov eax, dword ptr [ebp - 0x14]", "0x1006173b"], ["0x1006085e", "mov edx, dword ptr [g_strANIMMAN_ID (DATA)]", "0x1006173e"], ["0x10060864", "mov ecx, dword ptr [eax + 4]", "0x10061744"], ["0x10060867", "lea eax, [ebp - 0x1b4]", "0x10061747"], ["0x1006086d", "push ecx", "0x1006174d"], ["0x1006086e", "push edx", "0x1006174e"], ["0x1006086f", "push '%s:%d' (STRING)", "0x1006174f"], ["0x10060874", "push eax", "0x10061754"], ["0x10060875", "call _sprintf (FUNCTION)", "0x10061755"], ["0x1006087a", "add esp, 0x10", "0x1006175a"]]}]], ["@@ -0x1006090f,21 +0x100617ef,21 @@", [{"both": [["0x1006090f", "or dword ptr [eax + 0x74], 2", "0x100617ef"], ["0x10060913", "inc word ptr [ecx + 0x22]", "0x100617f3"], ["0x10060917", "call Timer (FUNCTION)", "0x100617f7"], ["0x1006091c", "cmp byte ptr [eax + 0xc], 0", "0x100617fc"], ["0x10060920", "mov edx, dword ptr [ebp - 0x10]", "0x10061800"], ["0x10060923", "je 0x24", "0x10061803"], ["0x10060925", "add edx, 0x404", "0x10061805"], ["0x1006092b", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x1006180b"], ["0x10060930", "mov dword ptr [edx], eax", "0x10061810"], ["0x10060932", "jmp 0x26", "0x10061812"]]}, {"orig": [["0x10060934", "mov dword ptr [edi + 0x10], eax"]], "recomp": [["0x10061814", "mov dword ptr [esi + 0x10], eax"]]}, {"both": [["0x10060937", "jmp -0xe7", "0x10061817"], ["0x1006093c", "mov eax, dword ptr [ebp - 0x1c]", "0x1006181c"], ["0x1006093f", "push eax", "0x1006181f"], ["0x10060940", "call ??3@YAXPAX@Z (FUNCTION)", "0x10061820"], ["0x10060945", "add esp, 4", "0x10061825"], ["0x10060948", "ret ", "0x10061828"], ["0x10060949", "add edx, 0x404", "0x10061829"], ["0x1006094f", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x1006182f"], ["0x10060955", "sub ecx, dword ptr [eax + 8]", "0x10061835"], ["0x10060958", "mov dword ptr [edx], ecx", "0x10061838"]]}]]]}, {"address": "0x100609f0", "recomp": "0x100618d0", "name": "LegoAnimationManager::FUN_100609f0", "matching": 1.0, "effective": true, "diff": [["@@ -0x10060b31,50 +0x10061a11,50 @@", [{"both": [["0x10060b31", "add ecx, 0x28", "0x10061a11"], ["0x10060b34", "mov dl, byte ptr [ebp + 0x10]", "0x10061a14"], ["0x10060b37", "mov dword ptr [eax + 0x1c], ecx", "0x10061a17"], ["0x10060b3a", "mov ecx, dword ptr [ebp - 0x14]", "0x10061a1a"], ["0x10060b3d", "add ecx, 0x30", "0x10061a1d"], ["0x10060b40", "mov dword ptr [eax + 0x20], ecx", "0x10061a20"], ["0x10060b43", "mov cl, byte ptr [ebp + 0x14]", "0x10061a23"], ["0x10060b46", "mov byte ptr [eax + 0x28], dl", "0x10061a26"], ["0x10060b49", "mov edx, dword ptr [ebp - 0x14]", "0x10061a29"], ["0x10060b4c", "mov byte ptr [eax + 0x29], cl", "0x10061a2c"]]}, {"orig": [["0x10060b4f", "mov ebx, dword ptr [edx + 0x20]"], ["0x10060b52", "test ebx, ebx"]], "recomp": [["0x10061a2f", "mov edi, dword ptr [edx + 0x20]"], ["0x10061a32", "test edi, edi"]]}, {"both": [["0x10060b54", "je 0x51", "0x10061a34"]]}, {"orig": [["0x10060b56", "mov esi, dword ptr [ebx + 0x14]"]], "recomp": [["0x10061a36", "mov ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x10060b59", "push 0xc", "0x10061a39"], ["0x10060b5b", "call ??2@YAPAXI@Z (FUNCTION)", "0x10061a3b"], ["0x10060b60", "mov dword ptr [ebp - 0x18], eax", "0x10061a40"], ["0x10060b63", "add esp, 4", "0x10061a43"], ["0x10060b66", "mov byte ptr [ebp - 4], 3", "0x10061a46"]]}, {"orig": [["0x10060b6a", "mov edi, eax"], ["0x10060b6c", "test edi, edi"]], "recomp": [["0x10061a4a", "mov esi, eax"], ["0x10061a4c", "test esi, esi"]]}, {"both": [["0x10060b6e", "je 0x20", "0x10061a4e"], ["0x10060b70", "mov eax, dword ptr [ebp - 0x10]", "0x10061a50"]]}, {"orig": [["0x10060b73", "mov dword ptr [edi], eax"], ["0x10060b75", "mov eax, edi"], ["0x10060b77", "mov dword ptr [edi + 4], esi"], ["0x10060b7a", "mov dword ptr [edi + 8], 0"]], "recomp": [["0x10061a53", "mov dword ptr [esi], eax"], ["0x10061a55", "mov eax, esi"], ["0x10061a57", "mov dword ptr [esi + 4], ebx"], ["0x10061a5a", "mov dword ptr [esi + 8], 0"]]}, {"both": [["0x10060b81", "jmp 0xf", "0x10061a61"], ["0x10060b83", "mov eax, dword ptr [ebp - 0x18]", "0x10061a63"], ["0x10060b86", "push eax", "0x10061a66"], ["0x10060b87", "call ??3@YAXPAX@Z (FUNCTION)", "0x10061a67"], ["0x10060b8c", "add esp, 4", "0x10061a6c"], ["0x10060b8f", "ret ", "0x10061a6f"], ["0x10060b90", "xor eax, eax", "0x10061a70"], ["0x10060b92", "mov byte ptr [ebp - 4], 0", "0x10061a72"]]}, {"orig": [["0x10060b96", "test esi, esi"]], "recomp": [["0x10061a76", "test ebx, ebx"]]}, {"both": [["0x10060b98", "je 0xd9", "0x10061a78"]]}, {"orig": [["0x10060b9e", "mov dword ptr [esi + 8], eax"], ["0x10060ba1", "mov dword ptr [ebx + 0x14], eax"], ["0x10060ba4", "inc dword ptr [ebx + 8]"]], "recomp": [["0x10061a7e", "mov dword ptr [ebx + 8], eax"], ["0x10061a81", "mov dword ptr [edi + 0x14], eax"], ["0x10061a84", "inc dword ptr [edi + 8]"]]}, {"both": [["0x10060ba7", "mov eax, dword ptr [ebp - 0x10]", "0x10061a87"], ["0x10060baa", "mov edx, dword ptr [g_strANIMMAN_ID (DATA)]", "0x10061a8a"], ["0x10060bb0", "mov ecx, dword ptr [eax + 4]", "0x10061a90"], ["0x10060bb3", "lea eax, [ebp - 0x1b0]", "0x10061a93"], ["0x10060bb9", "push ecx", "0x10061a99"], ["0x10060bba", "push edx", "0x10061a9a"], ["0x10060bbb", "push '%s:%d' (STRING)", "0x10061a9b"], ["0x10060bc0", "push eax", "0x10061aa0"], ["0x10060bc1", "call _sprintf (FUNCTION)", "0x10061aa1"], ["0x10060bc6", "add esp, 0x10", "0x10061aa6"]]}]], ["@@ -0x10060c51,21 +0x10061b31,21 @@", [{"both": [["0x10060c51", "mov edx, dword ptr [ebp - 0x14]", "0x10061b31"], ["0x10060c54", "or dword ptr [eax + 0x74], 2", "0x10061b34"], ["0x10060c58", "mov byte ptr [edx + 0x39], 1", "0x10061b38"], ["0x10060c5c", "call Timer (FUNCTION)", "0x10061b3c"], ["0x10060c61", "cmp byte ptr [eax + 0xc], 0", "0x10061b41"], ["0x10060c65", "je 0x25", "0x10061b45"], ["0x10060c67", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10061b47"], ["0x10060c6c", "mov edx, dword ptr [ebp - 0x14]", "0x10061b4c"], ["0x10060c6f", "mov dword ptr [edx + 0x404], eax", "0x10061b4f"], ["0x10060c75", "jmp 0x27", "0x10061b55"]]}, {"orig": [["0x10060c77", "mov dword ptr [ebx + 0x10], eax"]], "recomp": [["0x10061b57", "mov dword ptr [edi + 0x10], eax"]]}, {"both": [["0x10060c7a", "jmp -0xde", "0x10061b5a"], ["0x10060c7f", "mov eax, dword ptr [ebp - 0x18]", "0x10061b5f"], ["0x10060c82", "push eax", "0x10061b62"], ["0x10060c83", "call ??3@YAXPAX@Z (FUNCTION)", "0x10061b63"], ["0x10060c88", "add esp, 4", "0x10061b68"], ["0x10060c8b", "ret ", "0x10061b6b"], ["0x10060c8c", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10061b6c"], ["0x10060c92", "mov edx, dword ptr [ebp - 0x14]", "0x10061b72"], ["0x10060c95", "sub ecx, dword ptr [eax + 8]", "0x10061b75"], ["0x10060c98", "mov dword ptr [edx + 0x404], ecx", "0x10061b78"]]}]]]}, {"address": "0x10060d00", "recomp": "0x10061be0", "name": "LegoAnimationManager::StartEntityAction", "matching": 1.0, "diff": []}, {"address": "0x10060dc0", "recomp": "0x10061ca0", "name": "LegoAnimationManager::FUN_10060dc0", "matching": 1.0, "diff": []}, {"address": "0x10060eb0", "recomp": "0x10061d90", "name": "LegoAnimationManager::CameraTriggerFire", "matching": 0.7807017543859649, "diff": [["@@ -0x10060eb0,64 +0x10061d90,66 @@", [{"orig": [["0x10060eb0", "sub esp, 0xc"]], "recomp": [["0x10061d90", "sub esp, 0x10"]]}, {"both": [["0x10060eb3", "push ebx", "0x10061d93"], ["0x10060eb4", "push esi", "0x10061d94"], ["0x10060eb5", "push edi", "0x10061d95"], ["0x10060eb6", "mov esi, ecx", "0x10061d96"], ["0x10060eb8", "push ebp", "0x10061d98"], ["0x10060eb9", "call Lego (FUNCTION)", "0x10061d99"], ["0x10060ebe", "cmp byte ptr [eax + 0x13c], 0", "0x10061d9e"]]}, {"orig": [], "recomp": [["0x10061da5", "je 0x13a"], ["0x10061dab", "cmp byte ptr [esi + 0x3a], 0"]]}, {"both": [["0x10060ec5", "je 0x130", "0x10061daf"]]}, {"orig": [["0x10060ecb", "cmp byte ptr [esi + 0x3a], 0"], ["0x10060ecf", "je 0x126"]], "recomp": []}, {"both": [["0x10060ed5", "cmp byte ptr [esi + 0x39], 0", "0x10061db5"]]}, {"orig": [["0x10060ed9", "jne 0x11c"], ["0x10060edf", "mov edi, dword ptr [esp + 0x28]"]], "recomp": [["0x10061db9", "jne 0x126"], ["0x10061dbf", "mov edi, dword ptr [esp + 0x2c]"]]}, {"both": [["0x10060ee3", "push edi", "0x10061dc3"], ["0x10060ee4", "call LegoNavController::GetLocation (FUNCTION)", "0x10061dc4"]]}, {"orig": [["0x10060ee9", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x10061dc9", "mov dword ptr [esp + 0x20], eax"]]}, {"both": [["0x10060eed", "add esp, 4", "0x10061dcd"], ["0x10060ef0", "test eax, eax", "0x10061dd0"]]}, {"orig": [["0x10060ef2", "je 0x2a"], ["0x10060ef4", "mov bl, byte ptr [eax + 0x5d]"], ["0x10060ef7", "test bl, bl"], ["0x10060ef9", "je 0xfc"]], "recomp": [["0x10061dd2", "je 0x34"], ["0x10061dd4", "mov al, byte ptr [eax + 0x5d]"], ["0x10061dd7", "mov byte ptr [esp + 0x18], al"], ["0x10061ddb", "test al, al"], ["0x10061ddd", "je 0x102"], ["0x10061de3", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x10060eff", "cmp byte ptr [eax + 0x5c], 0", "0x10061de7"]]}, {"orig": [["0x10060f03", "je 0x19"]], "recomp": [["0x10061deb", "je 0x1b"]]}, {"both": [["0x10060f05", "call _rand (FUNCTION)", "0x10061ded"], ["0x10060f0a", "cdq ", "0x10061df2"], ["0x10060f0b", "mov ecx, 0x64", "0x10061df3"], ["0x10060f10", "idiv ecx", "0x10061df8"], ["0x10060f12", "xor eax, eax", "0x10061dfa"]]}, {"orig": [["0x10060f14", "mov al, bl"]], "recomp": [["0x10061dfc", "mov al, byte ptr [esp + 0x18]"]]}, {"both": [["0x10060f16", "cmp edx, eax", "0x10061e00"], ["0x10060f18", "jg 0xdd", "0x10061e02"]]}, {"orig": [["0x10060f1e", "lea eax, [esp + 0x12]"]], "recomp": [["0x10061e08", "lea eax, [esp + 0x14]"]]}, {"both": [["0x10060f22", "lea ecx, [esp + 0x16]", "0x10061e0c"], ["0x10060f26", "push eax", "0x10061e10"], ["0x10060f27", "push ecx", "0x10061e11"], ["0x10060f28", "push edi", "0x10061e12"], ["0x10060f29", "mov ecx, esi", "0x10061e13"], ["0x10060f2b", "call LegoAnimationManager::FUN_100617c0 (FUNCTION)", "0x10061e15"], ["0x10060f30", "test eax, eax", "0x10061e1a"], ["0x10060f32", "jne 0xc3", "0x10061e1c"], ["0x10060f38", "mov ax, word ptr [esp + 0x16]", "0x10061e22"], ["0x10060f3d", "mov ebx, 0xffffffff", "0x10061e27"]]}, {"orig": [["0x10060f42", "mov byte ptr [esp + 0x11], 0"]], "recomp": [["0x10061e2c", "mov byte ptr [esp + 0x13], 0"]]}, {"both": [["0x10060f47", "mov di, ax", "0x10061e31"]]}, {"orig": [["0x10060f4a", "mov word ptr [esp + 0x14], ax"], ["0x10060f4f", "cmp word ptr [esp + 0x12], ax"]], "recomp": [["0x10061e34", "mov word ptr [esp + 0x18], ax"], ["0x10061e39", "cmp word ptr [esp + 0x14], ax"]]}, {"both": [["0x10060f54", "jb 0x67", "0x10061e3e"], ["0x10060f56", "movzx ebp, di", "0x10061e40"], ["0x10060f59", "shl ebp, 4", "0x10061e43"], ["0x10060f5c", "lea ebp, [ebp + ebp*2]", "0x10061e46"], ["0x10060f60", "add ebp, dword ptr [esi + 0x14]", "0x10061e4a"]]}, {"orig": [["0x10060f63", "cmp byte ptr [esp + 0x2c], 0"]], "recomp": [["0x10061e4d", "cmp byte ptr [esp + 0x30], 0"]]}, {"both": [["0x10060f68", "jne 0xc", "0x10061e52"], ["0x10060f6a", "push ebp", "0x10061e54"], ["0x10060f6b", "mov ecx, esi", "0x10061e55"], ["0x10060f6d", "call LegoAnimationManager::FUN_100623a0 (FUNCTION)", "0x10061e57"], ["0x10060f72", "test al, al", "0x10061e5c"], ["0x10060f74", "jne 0x3e", "0x10061e5e"], ["0x10060f76", "push ebp", "0x10061e60"], ["0x10060f77", "mov ecx, esi", "0x10061e61"], ["0x10060f79", "call LegoAnimationManager::FUN_10062710 (FUNCTION)", "0x10061e63"], ["0x10060f7e", "test al, al", "0x10061e68"]]}]], ["@@ -0x10060f8f,44 +0x10061e79,44 @@", [{"both": [["0x10060f8f", "cmp ecx, ebx", "0x10061e79"], ["0x10060f91", "jae 0x21", "0x10061e7b"], ["0x10060f93", "test ax, ax", "0x10061e7d"], ["0x10060f96", "je 0x8", "0x10061e80"], ["0x10060f98", "mov eax, dword ptr [ebp]", "0x10061e82"], ["0x10060f9b", "cmp byte ptr [eax], 0x69", "0x10061e85"], ["0x10060f9e", "je 0x14", "0x10061e88"], ["0x10060fa0", "mov eax, dword ptr [ebp]", "0x10061e8a"], ["0x10060fa3", "cmp byte ptr [eax], 0x49", "0x10061e8d"], ["0x10060fa6", "je 0xc", "0x10061e90"]]}, {"orig": [["0x10060fa8", "mov word ptr [esp + 0x14], di"]], "recomp": [["0x10061e92", "mov word ptr [esp + 0x18], di"]]}, {"both": [["0x10060fad", "mov ebx, ecx", "0x10061e97"]]}, {"orig": [["0x10060faf", "mov byte ptr [esp + 0x11], 1"]], "recomp": [["0x10061e99", "mov byte ptr [esp + 0x13], 1"]]}, {"both": [["0x10060fb4", "inc di", "0x10061e9e"]]}, {"orig": [["0x10060fb6", "cmp word ptr [esp + 0x12], di"]], "recomp": [["0x10061ea0", "cmp word ptr [esp + 0x14], di"]]}, {"both": [["0x10060fbb", "jae -0x67", "0x10061ea5"]]}, {"orig": [["0x10060fbd", "cmp byte ptr [esp + 0x11], 0"]], "recomp": [["0x10061ea7", "cmp byte ptr [esp + 0x13], 0"]]}, {"both": [["0x10060fc2", "je 0x37", "0x10061eac"]]}, {"orig": [["0x10060fc4", "mov eax, dword ptr [esp + 0x14]"]], "recomp": [["0x10061eae", "mov eax, dword ptr [esp + 0x18]"]]}, {"both": [["0x10060fc8", "push 1", "0x10061eb2"], ["0x10060fca", "and eax, 0xffff", "0x10061eb4"], ["0x10060fcf", "push 1", "0x10061eb9"], ["0x10060fd1", "push 1", "0x10061ebb"], ["0x10060fd3", "mov ecx, dword ptr [esi + 0x14]", "0x10061ebd"], ["0x10060fd6", "push 0", "0x10061ec0"], ["0x10060fd8", "mov edx, eax", "0x10061ec2"], ["0x10060fda", "shl edx, 4", "0x10061ec4"], ["0x10060fdd", "push 0", "0x10061ec7"], ["0x10060fdf", "lea ebx, [edx + edx*2]", "0x10061ec9"], ["0x10060fe2", "push 1", "0x10061ecc"], ["0x10060fe4", "push 0", "0x10061ece"], ["0x10060fe6", "mov cl, byte ptr [ecx + ebx + 0xa]", "0x10061ed0"], ["0x10060fea", "push ecx", "0x10061ed4"], ["0x10060feb", "push eax", "0x10061ed5"], ["0x10060fec", "mov ecx, esi", "0x10061ed6"], ["0x10060fee", "call LegoAnimationManager::FUN_100605e0 (FUNCTION)", "0x10061ed8"]]}, {"orig": [["0x10060ff3", "mov eax, dword ptr [esp + 0x18]"]], "recomp": [["0x10061edd", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x10060ff7", "mov byte ptr [eax + 0x5c], 1", "0x10061ee1"], ["0x10060ffb", "pop ebp", "0x10061ee5"], ["0x10060ffc", "pop edi", "0x10061ee6"], ["0x10060ffd", "pop esi", "0x10061ee7"], ["0x10060ffe", "pop ebx", "0x10061ee8"]]}, {"orig": [["0x10060fff", "add esp, 0xc"]], "recomp": [["0x10061ee9", "add esp, 0x10"]]}, {"both": [["0x10061002", "ret 0x10", "0x10061eec"]]}]]]}, {"address": "0x10061010", "recomp": "0x10061ef0", "name": "LegoAnimationManager::FUN_10061010", "matching": 0.5145631067961165, "diff": [["@@ -0x10061010,205 +0x10061ef0,207 @@", [{"both": [["0x10061010", "mov eax, dword ptr fs:[0]", "0x10061ef0"], ["0x10061016", "push ebp", "0x10061ef6"], ["0x10061017", "mov ebp, esp", "0x10061ef7"], ["0x10061019", "push -1", "0x10061ef9"], ["0x1006101b", "push <OFFSET1>", "0x10061efb"], ["0x10061020", "push eax", "0x10061f00"], ["0x10061021", "mov dword ptr fs:[0], esp", "0x10061f01"]]}, {"orig": [["0x10061028", "sub esp, 0x38"], ["0x1006102b", "mov byte ptr [ebp - 0x19], 0"]], "recomp": [["0x10061f08", "sub esp, 0x2c"], ["0x10061f0b", "mov byte ptr [ebp - 0x15], 0"]]}, {"both": [["0x1006102f", "push ebx", "0x10061f0f"]]}, {"orig": [["0x10061030", "mov dword ptr [ebp - 0x18], ecx"]], "recomp": [["0x10061f10", "mov dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x10061033", "push esi", "0x10061f13"], ["0x10061034", "push edi", "0x10061f14"], ["0x10061035", "push -1", "0x10061f15"], ["0x10061037", "call LegoAnimationManager::FUN_10064b50 (FUNCTION)", "0x10061f17"]]}, {"orig": [["0x1006103c", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x10061f1c", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1006103f", "mov esi, dword ptr [eax + 0x20]", "0x10061f1f"], ["0x10061042", "test esi, esi", "0x10061f22"]]}, {"orig": [["0x10061044", "je 0x237"], ["0x1006104a", "lea ecx, [ebp - 0x40]"]], "recomp": [["0x10061f24", "je 0x225"], ["0x10061f2a", "lea ecx, [ebp - 0x38]"]]}, {"both": [["0x1006104d", "call MxCore::MxCore (FUNCTION)", "0x10061f2d"], ["0x10061052", "mov dword ptr [ebp - 4], 0", "0x10061f32"]]}, {"orig": [["0x10061059", "mov dword ptr [ebp - 0x40], MxListCursor<LegoTranInfo *>::`vftable' (VTABLE)"], ["0x10061060", "mov dword ptr [ebp - 0x34], 0"]], "recomp": [["0x10061f39", "mov dword ptr [ebp - 0x38], MxListCursor<LegoTranInfo *>::`vftable' (VTABLE)"], ["0x10061f40", "mov dword ptr [ebp - 0x2c], 0"]]}, {"both": [["0x10061067", "mov dword ptr [ebp - 4], 1", "0x10061f47"]]}, {"orig": [["0x1006106e", "mov dword ptr [ebp - 0x40], MxPtrListCursor<LegoTranInfo>::`vftable' (VTABLE)"]], "recomp": [["0x10061f4e", "mov dword ptr [ebp - 0x38], MxPtrListCursor<LegoTranInfo>::`vftable' (VTABLE)"]]}, {"both": [["0x10061075", "mov dword ptr [ebp - 4], 2", "0x10061f55"]]}, {"orig": [["0x1006107c", "mov dword ptr [ebp - 0x40], LegoTranInfoListCursor::`vftable' (VTABLE)"]], "recomp": [["0x10061f5c", "mov dword ptr [ebp - 0x38], LegoTranInfoListCursor::`vftable' (VTABLE)"]]}, {"both": [["0x10061083", "mov dword ptr [ebp - 4], 3", "0x10061f63"]]}, {"orig": [["0x1006108a", "mov dword ptr [ebp - 0x38], esi"], ["0x1006108d", "cmp dword ptr [ebp - 0x34], 0"]], "recomp": [["0x10061f6a", "mov dword ptr [ebp - 0x30], esi"], ["0x10061f6d", "cmp dword ptr [ebp - 0x2c], 0"]]}, {"both": [["0x10061091", "jne 0x8", "0x10061f71"]]}, {"orig": [["0x10061093", "mov eax, dword ptr [ebp - 0x38]"]], "recomp": [["0x10061f73", "mov eax, dword ptr [ebp - 0x30]"]]}, {"both": [["0x10061096", "mov ecx, dword ptr [eax + 0x10]", "0x10061f76"], ["0x10061099", "jmp 0x6", "0x10061f79"]]}, {"orig": [["0x1006109b", "mov eax, dword ptr [ebp - 0x34]"]], "recomp": [["0x10061f7b", "mov eax, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x1006109e", "mov ecx, dword ptr [eax + 8]", "0x10061f7e"]]}, {"orig": [["0x100610a1", "mov dword ptr [ebp - 0x34], ecx"], ["0x100610a4", "cmp dword ptr [ebp - 0x34], 0"], ["0x100610a8", "je 0x1c7"], ["0x100610ae", "mov eax, dword ptr [ebp - 0x34]"], ["0x100610b1", "cmp dword ptr [ebp - 0x34], 0"]], "recomp": [["0x10061f81", "mov dword ptr [ebp - 0x2c], ecx"], ["0x10061f84", "cmp dword ptr [ebp - 0x2c], 0"], ["0x10061f88", "je 0x1b5"], ["0x10061f8e", "mov eax, dword ptr [ebp - 0x2c]"], ["0x10061f91", "cmp dword ptr [ebp - 0x2c], 0"]]}, {"both": [["0x100610b5", "mov ecx, dword ptr [eax]", "0x10061f95"], ["0x100610b7", "mov dword ptr [ebp - 0x14], ecx", "0x10061f97"]]}, {"orig": [["0x100610ba", "je 0x1b5"]], "recomp": [["0x10061f9a", "je 0x1a3"], ["0x10061fa0", "mov ebx, dword ptr [ebp - 0x14]"], ["0x10061fa3", "mov ecx, dword ptr [ebx + 0x24]"], ["0x10061fa6", "add ebx, 0x24"], ["0x10061fa9", "test ecx, ecx"], ["0x10061fab", "je 0x8b"]]}, {"both": [["0x100610c0", "mov edi, dword ptr [ebp - 0x14]", "0x10061fb1"]]}, {"orig": [["0x100610c3", "mov ecx, dword ptr [edi + 0x24]"], ["0x100610c6", "add edi, 0x24"], ["0x100610c9", "test ecx, ecx"], ["0x100610cb", "je 0x9a"]], "recomp": []}, {"both": [["0x100610d1", "mov esi, dword ptr [ebp - 0x14]", "0x10061fb4"]]}, {"orig": [["0x100610d4", "mov edx, dword ptr [ebp - 0x14]"], ["0x100610d7", "add esi, 0x74"], ["0x100610da", "add edx, 0x14"], ["0x100610dd", "mov dword ptr [ebp - 0x44], edx"], ["0x100610e0", "mov ebx, dword ptr [esi]"], ["0x100610e2", "mov eax, ebx"], ["0x100610e4", "and al, 2"], ["0x100610e6", "cmp byte ptr [edx], 0"], ["0x100610e9", "je 0x60"], ["0x100610eb", "mov edx, dword ptr [ebp - 0x14]"], ["0x100610ee", "cmp word ptr [edx + 0x12], -1"], ["0x100610f3", "je 0x56"]], "recomp": [["0x10061fb7", "add edi, 0x74"], ["0x10061fba", "add esi, 0x14"], ["0x10061fbd", "mov edx, dword ptr [edi]"], ["0x10061fbf", "cmp byte ptr [esi], 0"], ["0x10061fc2", "je 0x58"], ["0x10061fc4", "mov eax, dword ptr [ebp - 0x14]"], ["0x10061fc7", "cmp word ptr [eax + 0x12], -1"], ["0x10061fcc", "je 0x4e"]]}, {"both": [["0x100610f5", "cmp byte ptr [ebp + 8], 0", "0x10061fce"]]}, {"orig": [["0x100610f9", "je 0x50"], ["0x100610fb", "cmp dword ptr [ecx + 0x4c], 0"], ["0x100610ff", "je 0x36"], ["0x10061101", "mov edx, dword ptr [ecx + 0x4c]"], ["0x10061104", "mov edx, dword ptr [edx + 0x64]"], ["0x10061107", "test edx, edx"], ["0x10061109", "je 0x2c"], ["0x1006110b", "cmp dword ptr [edx + 0x14], 0"], ["0x1006110f", "je 0x26"], ["0x10061111", "test bl, 2"]], "recomp": [["0x10061fd2", "je 0x48"], ["0x10061fd4", "mov eax, dword ptr [ecx + 0x4c]"], ["0x10061fd7", "test eax, eax"], ["0x10061fd9", "je 0x30"], ["0x10061fdb", "mov eax, dword ptr [eax + 0x64]"], ["0x10061fde", "test eax, eax"], ["0x10061fe0", "je 0x29"], ["0x10061fe2", "cmp dword ptr [eax + 0x14], 0"], ["0x10061fe6", "je 0x23"], ["0x10061fe8", "test dl, 2"]]}, {"both": [["0x10061114", "je 0xf", "0x10061feb"], ["0x10061116", "call BackgroundAudioManager (FUNCTION)", "0x10061fed"], ["0x1006111b", "mov ecx, eax", "0x10061ff2"], ["0x1006111d", "call MxBackgroundAudioManager::RaiseVolume (FUNCTION)", "0x10061ff4"]]}, {"orig": [["0x10061122", "and dword ptr [esi], 0xfffffffd"], ["0x10061125", "mov ecx, dword ptr [edi]"]], "recomp": [["0x10061ff9", "and dword ptr [edi], 0xfffffffd"], ["0x10061ffc", "mov ecx, dword ptr [ebx]"]]}, {"both": [["0x10061127", "call LegoAnimMMPresenter::FUN_1004b840 (FUNCTION)", "0x10061ffe"]]}, {"orig": [["0x1006112c", "mov edx, dword ptr [ebp - 0x44]"], ["0x1006112f", "mov byte ptr [edx], 0"], ["0x10061132", "jmp -0xaa"]], "recomp": [["0x10062003", "mov byte ptr [esi], 0"], ["0x10062006", "jmp -0x9e"]]}, {"both": [["0x10061137", "call LegoAnimMMPresenter::FUN_1004b8c0 (FUNCTION)", "0x1006200b"]]}, {"orig": [["0x1006113c", "mov edx, dword ptr [ebp - 0x44]"], ["0x1006113f", "mov byte ptr [ebp - 0x19], 1"], ["0x10061143", "mov byte ptr [edx], 0"], ["0x10061146", "jmp -0xbe"], ["0x1006114b", "test bl, 2"]], "recomp": [["0x10062010", "mov byte ptr [ebp - 0x15], 1"], ["0x10062014", "mov byte ptr [esi], 0"], ["0x10062017", "jmp -0xaf"], ["0x1006201c", "test dl, 2"]]}, {"both": [["0x1006114e", "je 0xf", "0x1006201f"], ["0x10061150", "call BackgroundAudioManager (FUNCTION)", "0x10062021"], ["0x10061155", "mov ecx, eax", "0x10062026"], ["0x10061157", "call MxBackgroundAudioManager::RaiseVolume (FUNCTION)", "0x10062028"]]}, {"orig": [["0x1006115c", "and dword ptr [esi], 0xfffffffd"], ["0x1006115f", "mov ecx, dword ptr [edi]"]], "recomp": [["0x1006202d", "and dword ptr [edi], 0xfffffffd"], ["0x10062030", "mov ecx, dword ptr [ebx]"]]}, {"both": [["0x10061161", "call LegoAnimMMPresenter::FUN_1004b840 (FUNCTION)", "0x10062032"]]}, {"orig": [["0x10061166", "jmp -0xde"], ["0x1006116b", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x10062037", "jmp -0xcf"], ["0x1006203c", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1006116e", "mov esi, dword ptr [eax + 0x24]", "0x1006203f"], ["0x10061171", "test esi, esi", "0x10062042"]]}, {"orig": [["0x10061173", "je 0xc6"], ["0x10061179", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x10062044", "je 0xc3"], ["0x1006204a", "lea ecx, [ebp - 0x28]"]]}, {"both": [["0x1006117c", "call MxCore::MxCore (FUNCTION)", "0x1006204d"], ["0x10061181", "mov byte ptr [ebp - 4], 4", "0x10062052"]]}, {"orig": [["0x10061185", "mov dword ptr [ebp - 0x2c], MxListCursor<LegoTranInfo *>::`vftable' (VTABLE)"], ["0x1006118c", "mov dword ptr [ebp - 0x20], 0"]], "recomp": [["0x10062056", "mov dword ptr [ebp - 0x28], MxListCursor<LegoTranInfo *>::`vftable' (VTABLE)"], ["0x1006205d", "mov dword ptr [ebp - 0x1c], 0"]]}, {"both": [["0x10061193", "mov byte ptr [ebp - 4], 5", "0x10062064"]]}, {"orig": [["0x10061197", "mov dword ptr [ebp - 0x2c], MxPtrListCursor<LegoTranInfo>::`vftable' (VTABLE)"]], "recomp": [["0x10062068", "mov dword ptr [ebp - 0x28], MxPtrListCursor<LegoTranInfo>::`vftable' (VTABLE)"]]}, {"both": [["0x1006119e", "mov byte ptr [ebp - 4], 6", "0x1006206f"]]}, {"orig": [["0x100611a2", "mov dword ptr [ebp - 0x2c], LegoTranInfoListCursor::`vftable' (VTABLE)"], ["0x100611a9", "mov dword ptr [ebp - 0x24], esi"], ["0x100611ac", "mov eax, dword ptr [ebp - 0x24]"]], "recomp": [["0x10062073", "mov dword ptr [ebp - 0x28], LegoTranInfoListCursor::`vftable' (VTABLE)"], ["0x1006207a", "mov dword ptr [ebp - 0x20], esi"], ["0x1006207d", "mov eax, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100611af", "mov byte ptr [ebp - 4], 7", "0x10062080"], ["0x100611b3", "mov ecx, dword ptr [eax + 0x10]", "0x10062084"]]}, {"orig": [["0x100611b6", "mov dword ptr [ebp - 0x20], ecx"]], "recomp": [["0x10062087", "mov dword ptr [ebp - 0x1c], ecx"]]}, {"both": [["0x100611b9", "test ecx, ecx", "0x1006208a"], ["0x100611bb", "je 0x27", "0x1006208c"], ["0x100611bd", "xor ebx, ebx", "0x1006208e"], ["0x100611bf", "mov eax, dword ptr [ebp - 0x14]", "0x10062090"]]}, {"orig": [["0x100611c2", "mov ecx, dword ptr [ebp - 0x20]"]], "recomp": [["0x10062093", "mov ecx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100611c5", "push eax", "0x10062096"], ["0x100611c6", "mov edx, dword ptr [ecx]", "0x10062097"], ["0x100611c8", "push edx", "0x10062099"]]}, {"orig": [["0x100611c9", "mov eax, dword ptr [ebp - 0x24]"]], "recomp": [["0x1006209a", "mov eax, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100611cc", "mov ecx, eax", "0x1006209d"], ["0x100611ce", "mov esi, dword ptr [eax]", "0x1006209f"], ["0x100611d0", "call dword ptr [esi + 0x14]", "0x100620a1"], ["0x100611d3", "test al, al", "0x100620a4"], ["0x100611d5", "je 0xd", "0x100620a6"]]}, {"orig": [["0x100611d7", "mov eax, dword ptr [ebp - 0x20]"]], "recomp": [["0x100620a8", "mov eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100611da", "mov ecx, dword ptr [eax + 8]", "0x100620ab"]]}, {"orig": [["0x100611dd", "mov dword ptr [ebp - 0x20], ecx"]], "recomp": [["0x100620ae", "mov dword ptr [ebp - 0x1c], ecx"]]}, {"both": [["0x100611e0", "cmp ecx, ebx", "0x100620b1"], ["0x100611e2", "jne -0x25", "0x100620b3"]]}, {"orig": [["0x100611e4", "cmp dword ptr [ebp - 0x20], 0"], ["0x100611e8", "jne 0x4c"], ["0x100611ea", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x100620b5", "cmp dword ptr [ebp - 0x1c], 0"], ["0x100620b9", "jne 0x49"], ["0x100620bb", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100611ed", "push 0xc", "0x100620be"], ["0x100611ef", "mov ebx, dword ptr [eax + 0x24]", "0x100620c0"], ["0x100611f2", "mov esi, dword ptr [ebx + 0x14]", "0x100620c3"], ["0x100611f5", "call ??2@YAPAXI@Z (FUNCTION)", "0x100620c6"]]}, {"orig": [["0x100611fa", "mov dword ptr [ebp - 0x1c], eax"]], "recomp": [["0x100620cb", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100611fd", "add esp, 4", "0x100620ce"], ["0x10061200", "mov byte ptr [ebp - 4], 8", "0x100620d1"], ["0x10061204", "mov edi, eax", "0x100620d5"], ["0x10061206", "mov eax, 0", "0x100620d7"], ["0x1006120b", "test edi, edi", "0x100620dc"]]}, {"orig": [["0x1006120d", "je 0x11"]], "recomp": [["0x100620de", "je 0xe"], ["0x100620e0", "push 0"]]}, {"both": [["0x1006120f", "mov eax, dword ptr [ebp - 0x14]", "0x100620e2"]]}, {"orig": [["0x10061212", "mov dword ptr [edi], eax"], ["0x10061214", "mov eax, edi"], ["0x10061216", "mov dword ptr [edi + 4], esi"], ["0x10061219", "mov dword ptr [edi + 8], 0"]], "recomp": [["0x100620e5", "push esi"], ["0x100620e6", "mov ecx, edi"], ["0x100620e8", "push eax"], ["0x100620e9", "call MxListEntry<LegoTranInfo *>::MxListEntry<LegoTranInfo *> (FUNCTION)"]]}, {"both": [["0x10061220", "mov byte ptr [ebp - 4], 7", "0x100620ee"], ["0x10061224", "test esi, esi", "0x100620f2"], ["0x10061226", "je 0x5", "0x100620f4"], ["0x10061228", "mov dword ptr [esi + 8], eax", "0x100620f6"], ["0x1006122b", "jmp 0x3", "0x100620f9"], ["0x1006122d", "mov dword ptr [ebx + 0x10], eax", "0x100620fb"], ["0x10061230", "mov dword ptr [ebx + 0x14], eax", "0x100620fe"], ["0x10061233", "inc dword ptr [ebx + 8]", "0x10062101"], ["0x10061236", "mov byte ptr [ebp - 4], 3", "0x10062104"]]}, {"orig": [["0x1006123a", "call <OFFSET12>"], ["0x1006123f", "mov byte ptr [ebp - 0x19], 1"], ["0x10061243", "jmp -0x1bb"], ["0x10061248", "mov eax, dword ptr [ebp - 0x1c]"]], "recomp": [["0x10062108", "call <OFFSET13>"], ["0x1006210d", "mov byte ptr [ebp - 0x15], 1"], ["0x10062111", "jmp -0x1a9"], ["0x10062116", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1006124b", "push eax", "0x10062119"], ["0x1006124c", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006211a"], ["0x10061251", "add esp, 4", "0x1006211f"], ["0x10061254", "ret ", "0x10062122"]]}, {"orig": [["0x10061255", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x10062123", "lea ecx, [ebp - 0x28]"]]}, {"both": [["0x10061258", "jmp MxCore::~MxCore (FUNCTION)", "0x10062126"]]}, {"orig": [["0x1006125d", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x1006212b", "lea ecx, [ebp - 0x28]"]]}, {"both": [["0x10061260", "jmp MxListCursor<LegoTranInfo *>::~MxListCursor<LegoTranInfo *> (FUNCTION)", "0x1006212e"]]}, {"orig": [["0x10061265", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x10062133", "lea ecx, [ebp - 0x28]"]]}, {"both": [["0x10061268", "jmp MxPtrListCursor<LegoTranInfo>::~MxPtrListCursor<LegoTranInfo> (FUNCTION)", "0x10062136"]]}, {"orig": [["0x1006126d", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x1006213b", "lea ecx, [ebp - 0x28]"]]}, {"both": [["0x10061270", "jmp LegoTranInfoListCursor::~LegoTranInfoListCursor (FUNCTION)", "0x1006213e"], ["0x10061275", "mov dword ptr [ebp - 4], 0xffffffff", "0x10062143"]]}, {"orig": [["0x1006127c", "call <OFFSET14>"], ["0x10061281", "mov cl, byte ptr [ebp - 0x19]"], ["0x10061284", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006214a", "call <OFFSET15>"], ["0x1006214f", "mov cl, byte ptr [ebp - 0x15]"], ["0x10062152", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x10061287", "mov byte ptr [eax + 0x39], cl", "0x10062155"], ["0x1006128a", "call Timer (FUNCTION)", "0x10062158"], ["0x1006128f", "cmp byte ptr [eax + 0xc], 0", "0x1006215d"], ["0x10061293", "je 0x32", "0x10062161"], ["0x10061295", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10062163"], ["0x1006129b", "jmp 0x33", "0x10062169"]]}, {"orig": [["0x1006129d", "lea ecx, [ebp - 0x40]"]], "recomp": [["0x1006216b", "lea ecx, [ebp - 0x38]"]]}, {"both": [["0x100612a0", "jmp MxCore::~MxCore (FUNCTION)", "0x1006216e"]]}, {"orig": [["0x100612a5", "lea ecx, [ebp - 0x40]"]], "recomp": [["0x10062173", "lea ecx, [ebp - 0x38]"]]}, {"both": [["0x100612a8", "jmp MxListCursor<LegoTranInfo *>::~MxListCursor<LegoTranInfo *> (FUNCTION)", "0x10062176"]]}, {"orig": [["0x100612ad", "lea ecx, [ebp - 0x40]"]], "recomp": [["0x1006217b", "lea ecx, [ebp - 0x38]"]]}, {"both": [["0x100612b0", "jmp MxPtrListCursor<LegoTranInfo>::~MxPtrListCursor<LegoTranInfo> (FUNCTION)", "0x1006217e"]]}, {"orig": [["0x100612b5", "mov eax, <OFFSET17>"]], "recomp": [["0x10062183", "mov eax, <OFFSET18>"]]}, {"both": [["0x100612ba", "jmp ___CxxFrameHandler (FUNCTION)", "0x10062188"]]}, {"orig": [["0x100612bf", "lea ecx, [ebp - 0x40]"]], "recomp": [["0x1006218d", "lea ecx, [ebp - 0x38]"]]}, {"both": [["0x100612c2", "jmp LegoTranInfoListCursor::~LegoTranInfoListCursor (FUNCTION)", "0x10062190"], ["0x100612c7", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10062195"], ["0x100612cd", "sub ecx, dword ptr [eax + 8]", "0x1006219b"]]}, {"orig": [["0x100612d0", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006219e", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100612d3", "pop edi", "0x100621a1"], ["0x100612d4", "pop esi", "0x100621a2"], ["0x100612d5", "pop ebx", "0x100621a3"]]}, {"orig": [], "recomp": [["0x100621a4", "mov dword ptr [eax + 0x404], ecx"], ["0x100621aa", "mov eax, dword ptr [ebp - 0xc]"], ["0x100621ad", "mov dword ptr fs:[0], eax"], ["0x100621b3", "mov esp, ebp"], ["0x100621b5", "pop ebp"], ["0x100621b6", "ret 4"]]}]]]}, {"address": "0x100612f0", "recomp": "0x100621c0", "name": "LegoTranInfoListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10061360", "recomp": "0x10062230", "name": "MxPtrListCursor<LegoTranInfo>::~MxPtrListCursor<LegoTranInfo>", "matching": 1.0, "diff": []}, {"address": "0x100613b0", "recomp": "0x10062280", "name": "MxListCursor<LegoTranInfo *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10061420", "recomp": "0x100622f0", "name": "MxPtrListCursor<LegoTranInfo>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10061490", "recomp": "0x10062360", "name": "MxListCursor<LegoTranInfo *>::~MxListCursor<LegoTranInfo *>", "matching": 1.0, "diff": []}, {"address": "0x100614e0", "recomp": "0x100623b0", "name": "LegoTranInfoListCursor::~LegoTranInfoListCursor", "matching": 1.0, "diff": []}, {"address": "0x10061530", "recomp": "0x10062400", "name": "LegoAnimationManager::FUN_10061530", "matching": 1.0, "diff": []}, {"address": "0x10061750", "recomp": "0x10062620", "name": "MxListCursor<LegoTranInfo *>::MxListCursor<LegoTranInfo *>", "matching": 1.0, "diff": []}, {"address": "0x100617c0", "recomp": "0x10062690", "name": "LegoAnimationManager::FUN_100617c0", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006185a,43 +0x1006272a,43 @@", [{"both": [["0x1006185a", "add ebp, 8", "0x1006272a"], ["0x1006185d", "mov dx, word ptr [ebp]", "0x1006272d"], ["0x10061861", "cmp dx, -1", "0x10062731"], ["0x10061865", "je 0x1e", "0x10062735"], ["0x10061867", "movsx edx, dx", "0x10062737"], ["0x1006186a", "cmp edx, esi", "0x1006273a"], ["0x1006186c", "je 0xd", "0x1006273c"], ["0x1006186e", "add ebp, 0x30", "0x1006273e"], ["0x10061871", "inc edi", "0x10062741"], ["0x10061872", "movzx edx, bx", "0x10062742"]]}, {"orig": [["0x10061875", "cmp edi, edx"], ["0x10061877", "jl -0x1c"]], "recomp": [["0x10062745", "cmp edx, edi"], ["0x10062747", "jg -0x1c"]]}, {"both": [["0x10061879", "jmp 0xa", "0x10062749"], ["0x1006187b", "mov byte ptr [esp + 0x13], 1", "0x1006274b"], ["0x10061880", "mov word ptr [esp + 0x14], di", "0x10062750"], ["0x10061885", "cmp byte ptr [esp + 0x13], 0", "0x10062755"], ["0x1006188a", "je 0x4b", "0x1006275a"], ["0x1006188c", "movzx edx, bx", "0x1006275c"]]}, {"orig": [["0x1006188f", "cmp edi, edx"], ["0x10061891", "jge 0x23"]], "recomp": [["0x1006275f", "cmp edx, edi"], ["0x10062761", "jle 0x23"]]}, {"both": [["0x10061893", "mov ecx, dword ptr [ecx + 0x14]", "0x10062763"], ["0x10061896", "mov ebx, edi", "0x10062766"], ["0x10061898", "shl ebx, 4", "0x10062768"], ["0x1006189b", "lea ebp, [ebx + ebx*2]", "0x1006276b"], ["0x1006189e", "lea ecx, [ecx + ebp + 8]", "0x1006276e"], ["0x100618a2", "movsx ebx, word ptr [ecx]", "0x10062772"], ["0x100618a5", "cmp ebx, esi", "0x10062775"], ["0x100618a7", "jne 0xd", "0x10062777"], ["0x100618a9", "mov word ptr [esp + 0x16], di", "0x10062779"], ["0x100618ae", "add ecx, 0x30", "0x1006277e"], ["0x100618b1", "inc edi", "0x10062781"]]}, {"orig": [["0x100618b2", "cmp edi, edx"], ["0x100618b4", "jl -0x14"]], "recomp": [["0x10062782", "cmp edx, edi"], ["0x10062784", "jg -0x14"]]}, {"both": [["0x100618b6", "cmp byte ptr [esp + 0x13], 0", "0x10062786"], ["0x100618bb", "je 0x1a", "0x1006278b"], ["0x100618bd", "mov cx, word ptr [esp + 0x14]", "0x1006278d"], ["0x100618c2", "mov eax, dword ptr [esp + 0x20]", "0x10062792"], ["0x100618c6", "mov word ptr [eax], cx", "0x10062796"], ["0x100618c9", "mov edx, dword ptr [esp + 0x24]", "0x10062799"], ["0x100618cd", "mov ax, word ptr [esp + 0x16]", "0x1006279d"], ["0x100618d2", "mov word ptr [edx], ax", "0x100627a2"], ["0x100618d5", "xor eax, eax", "0x100627a5"], ["0x100618d7", "pop ebp", "0x100627a7"]]}]]]}, {"address": "0x100618f0", "recomp": "0x100627c0", "name": "LegoAnimationManager::GetTranInfo", "matching": 1.0, "diff": []}, {"address": "0x100619f0", "recomp": "0x100628c0", "name": "LegoAnimationManager::Notify", "matching": 1.0, "diff": []}, {"address": "0x10061cc0", "recomp": "0x10062b90", "name": "LegoAnimationManager::Tickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x10061ef2,66 +0x10062dc2,66 @@", [{"both": [["0x10061ef2", "mov dword ptr [ecx + 8], edx", "0x10062dc2"], ["0x10061ef5", "call GameState (FUNCTION)", "0x10062dc5"], ["0x10061efa", "mov al, byte ptr [eax + 0xc]", "0x10062dca"], ["0x10061efd", "cmp al, 5", "0x10062dcd"], ["0x10061eff", "ja 0xe", "0x10062dcf"], ["0x10061f01", "xor ecx, ecx", "0x10062dd1"], ["0x10061f03", "mov cl, al", "0x10062dd3"], ["0x10061f05", "mov al, byte ptr [ecx + g_unk0x100d8b28[0] (DATA)]", "0x10062dd5"], ["0x10061f0b", "mov byte ptr [esp + 0x13], al", "0x10062ddb"], ["0x10061f0f", "xor esi, esi", "0x10062ddf"]]}, {"orig": [["0x10061f11", "lea edi, [ebp + 0x3c]"], ["0x10061f14", "mov ebx, dword ptr [edi]"], ["0x10061f16", "test ebx, ebx"]], "recomp": [["0x10062de1", "lea ebx, [ebp + 0x3c]"], ["0x10062de4", "mov edi, dword ptr [ebx]"], ["0x10062de6", "test edi, edi"]]}, {"both": [["0x10061f18", "je 0x74", "0x10062de8"]]}, {"orig": [["0x10061f1a", "mov al, byte ptr [edi + 0x14]"]], "recomp": [["0x10062dea", "mov al, byte ptr [ebx + 0x14]"]]}, {"both": [["0x10061f1d", "mov ecx, dword ptr [esp + 0x13]", "0x10062ded"], ["0x10061f21", "mov edx, dword ptr [esp + 0x1c]", "0x10062df1"], ["0x10061f25", "push eax", "0x10062df5"], ["0x10061f26", "mov eax, dword ptr [esp + 0x38]", "0x10062df6"], ["0x10061f2a", "push ecx", "0x10062dfa"], ["0x10061f2b", "lea ecx, [esp + 0x28]", "0x10062dfb"], ["0x10061f2f", "push edx", "0x10062dff"], ["0x10061f30", "lea edx, [esp + 0x44]", "0x10062e00"], ["0x10061f34", "push eax", "0x10062e04"], ["0x10061f35", "push ecx", "0x10062e05"], ["0x10061f36", "push edx", "0x10062e06"]]}, {"orig": [["0x10061f37", "push ebx"]], "recomp": [["0x10062e07", "push edi"]]}, {"both": [["0x10061f38", "mov ecx, ebp", "0x10062e08"], ["0x10061f3a", "call LegoAnimationManager::FUN_10062110 (FUNCTION)", "0x10062e0a"], ["0x10061f3f", "mov word ptr [esp + 0x18], ax", "0x10062e0f"], ["0x10061f44", "test ax, ax", "0x10062e14"], ["0x10061f47", "je 0x45", "0x10062e17"], ["0x10061f49", "lea eax, [esp + 0x54]", "0x10062e19"]]}, {"orig": [["0x10061f4d", "lea ecx, [ebx + 0x10]"]], "recomp": [["0x10062e1d", "lea ecx, [edi + 0x10]"]]}, {"both": [["0x10061f50", "mov dword ptr [esp + 0x50], eax", "0x10062e20"], ["0x10061f54", "push ecx", "0x10062e24"], ["0x10061f55", "mov dword ptr [esp + 0x50], MxMatrix::`vftable' (VTABLE)", "0x10062e25"], ["0x10061f5d", "lea ecx, [esp + 0x50]", "0x10062e2d"], ["0x10061f61", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x10062e31"], ["0x10061f67", "lea ecx, [esp + 0x4c]", "0x10062e37"], ["0x10061f6b", "push 1", "0x10062e3b"], ["0x10061f6d", "mov eax, dword ptr [esp + 0x1c]", "0x10062e3d"], ["0x10061f71", "push 1", "0x10062e41"], ["0x10061f73", "push 1", "0x10062e43"], ["0x10061f75", "and eax, 0xffff", "0x10062e45"], ["0x10061f7a", "push 0", "0x10062e4a"]]}, {"orig": [["0x10061f7c", "push ebx"]], "recomp": [["0x10062e4c", "push edi"]]}, {"both": [["0x10061f7d", "push 1", "0x10062e4d"], ["0x10061f7f", "push ecx", "0x10062e4f"], ["0x10061f80", "push 0", "0x10062e50"], ["0x10061f82", "mov ecx, ebp", "0x10062e52"], ["0x10061f84", "push eax", "0x10062e54"], ["0x10061f85", "call LegoAnimationManager::FUN_100605e0 (FUNCTION)", "0x10062e55"], ["0x10061f8a", "test eax, eax", "0x10062e5a"], ["0x10061f8c", "je 0x4e", "0x10062e5c"]]}, {"orig": [["0x10061f8e", "add edi, 0x18"]], "recomp": [["0x10062e5e", "add ebx, 0x18"]]}, {"both": [["0x10061f91", "inc esi", "0x10062e61"], ["0x10061f92", "cmp esi, 0x28", "0x10062e62"], ["0x10061f95", "jl -0x87", "0x10062e65"], ["0x10061f9b", "mov eax, dword ptr [esp + 0x14]", "0x10062e6b"], ["0x10061f9f", "sub eax, dword ptr [ebp + 0x40c]", "0x10062e6f"], ["0x10061fa5", "cmp eax, 0x3e8", "0x10062e75"], ["0x10061faa", "jle 0x11", "0x10062e7a"], ["0x10061fac", "mov ecx, ebp", "0x10062e7c"], ["0x10061fae", "call LegoAnimationManager::FUN_10063d10 (FUNCTION)", "0x10062e7e"], ["0x10061fb3", "mov eax, dword ptr [esp + 0x14]", "0x10062e83"]]}]]]}, {"address": "0x10062110", "recomp": "0x10062fe0", "name": "LegoAnimationManager::FUN_10062110", "matching": 0.8743455497382199, "diff": [["@@ -0x100621e7,60 +0x100630b7,60 @@", [{"both": [["0x100621e7", "call dword ptr [ebx + 0x54]", "0x100630b7"], ["0x100621ea", "mov edx, dword ptr [esp + 0x1c]", "0x100630ba"], ["0x100621ee", "mov ecx, dword ptr [esp + 0x1c]", "0x100630be"], ["0x100621f2", "add edx, 4", "0x100630c2"], ["0x100621f5", "add ecx, 8", "0x100630c5"], ["0x100621f8", "mov eax, dword ptr [esp + 0x1c]", "0x100630c8"], ["0x100621fc", "fld dword ptr [eax]", "0x100630cc"], ["0x100621fe", "fmul dword ptr [eax]", "0x100630ce"], ["0x10062200", "fld dword ptr [edx]", "0x100630d0"], ["0x10062202", "fmul dword ptr [edx]", "0x100630d2"]]}, {"orig": [["0x10062204", "xor edx, edx"]], "recomp": [["0x100630d4", "mov edx, g_unk0x100f74b0[0].[0] (DATA)"]]}, {"both": [["0x10062206", "faddp st(1)", "0x100630d9"], ["0x10062208", "fld dword ptr [ecx]", "0x100630db"], ["0x1006220a", "fmul dword ptr [ecx]", "0x100630dd"]]}, {"orig": [["0x1006220c", "mov ecx, g_unk0x100f74b0[0].[0] (DATA)"]], "recomp": [["0x100630df", "xor ecx, ecx"]]}, {"both": [["0x10062211", "faddp st(1)", "0x100630e1"], ["0x10062213", "fstp dword ptr [esp + 0x14]", "0x100630e3"]]}, {"orig": [["0x10062217", "fld dword ptr [ecx]"]], "recomp": [["0x100630e7", "fld dword ptr [edx]"]]}, {"both": [["0x10062219", "fcomp dword ptr [esp + 0x58]", "0x100630e9"], ["0x1006221d", "fnstsw ax", "0x100630ed"], ["0x1006221f", "test ah, 1", "0x100630ef"], ["0x10062222", "jne 0xe", "0x100630f2"]]}, {"orig": [["0x10062224", "add ecx, 0xc"], ["0x10062227", "inc edx"], ["0x10062228", "cmp ecx, g_legoAnimationManagerConfig (DATA)"]], "recomp": [["0x100630f4", "add edx, 0xc"], ["0x100630f7", "inc ecx"], ["0x100630f8", "cmp edx, g_legoAnimationManagerConfig (DATA)"]]}, {"both": [["0x1006222e", "jb -0x19", "0x100630fe"], ["0x10062230", "jmp 0x1a", "0x10063100"]]}, {"orig": [["0x10062232", "lea eax, [edx + edx*2]"]], "recomp": [["0x10063102", "lea eax, [ecx + ecx*2]"]]}, {"both": [["0x10062235", "shl eax, 2", "0x10063105"], ["0x10062238", "mov ecx, dword ptr [eax + g_unk0x100f74b0[0].[1] (UNK)]", "0x10063108"], ["0x1006223e", "mov edx, dword ptr [eax + g_unk0x100f74b0[0].[2] (UNK)]", "0x1006310e"], ["0x10062244", "mov dword ptr [esp + 0x10], ecx", "0x10063114"], ["0x10062248", "mov dword ptr [esp + 0x2c], edx", "0x10063118"], ["0x1006224c", "fld dword ptr [esp + 0x10]", "0x1006311c"], ["0x10062250", "fcomp dword ptr [esp + 0x14]", "0x10063120"], ["0x10062254", "fnstsw ax", "0x10063124"], ["0x10062256", "test ah, 0x41", "0x10063126"], ["0x10062259", "jne 0x88", "0x10063129"], ["0x1006225f", "fld dword ptr [esp + 0x2c]", "0x1006312f"], ["0x10062263", "fcomp dword ptr [esp + 0x14]", "0x10063133"], ["0x10062267", "fnstsw ax", "0x10063137"], ["0x10062269", "test ah, 1", "0x10063139"], ["0x1006226c", "je 0x79", "0x1006313c"], ["0x1006226e", "mov eax, dword ptr [edi + 0xe4]", "0x1006313e"], ["0x10062274", "mov ecx, esi", "0x10063144"], ["0x10062276", "push eax", "0x10063146"], ["0x10062277", "call LegoAnimationManager::GetCharacterIndex (FUNCTION)", "0x10063147"], ["0x1006227c", "mov dx, word ptr [esi + 0xe]", "0x1006314c"]]}, {"orig": [["0x10062280", "cmp dx, word ptr [esi + 0x10]"], ["0x10062284", "ja 0x61"]], "recomp": [["0x10063150", "cmp word ptr [esi + 0x10], dx"], ["0x10063154", "jb 0x61"]]}, {"both": [["0x10062286", "movzx edi, dx", "0x10063156"], ["0x10062289", "shl edi, 4", "0x10063159"], ["0x1006228c", "lea edi, [edi + edi*2]", "0x1006315c"], ["0x1006228f", "add edi, dword ptr [esi + 0x14]", "0x1006315f"], ["0x10062292", "cmp byte ptr [edi + 0x28], al", "0x10063162"], ["0x10062295", "jne 0x48", "0x10063165"], ["0x10062297", "mov cl, byte ptr [esp + 0x5c]", "0x10063167"], ["0x1006229b", "test byte ptr [edi + 0xc], cl", "0x1006316b"], ["0x1006229e", "je 0x3f", "0x1006316e"], ["0x100622a0", "cmp byte ptr [edi + 0x29], 0", "0x10063170"]]}]], ["@@ -0x100622bd,59 +0x1006318d,59 @@", [{"both": [["0x100622bd", "xor ebx, ebx", "0x1006318d"], ["0x100622bf", "movsx ebp, byte ptr [edi + ebx + 0x2a]", "0x1006318f"], ["0x100622c4", "cmp ebp, ecx", "0x10063194"], ["0x100622c6", "je 0x8", "0x10063196"], ["0x100622c8", "inc ebx", "0x10063198"], ["0x100622c9", "cmp ebx, 3", "0x10063199"], ["0x100622cc", "jl -0xf", "0x1006319c"], ["0x100622ce", "jmp 0x5", "0x1006319e"], ["0x100622d0", "mov byte ptr [esp + 0x10], 1", "0x100631a0"], ["0x100622d5", "mov cl, byte ptr [esp + 0x10]", "0x100631a5"]]}, {"orig": [["0x100622d9", "cmp cl, byte ptr [esp + 0x60]"]], "recomp": [["0x100631a9", "cmp byte ptr [esp + 0x60], cl"]]}, {"both": [["0x100622dd", "je 0x15", "0x100631ad"], ["0x100622df", "inc dx", "0x100631af"]]}, {"orig": [["0x100622e1", "cmp dx, word ptr [esi + 0x10]"], ["0x100622e5", "jbe -0x61"]], "recomp": [["0x100631b1", "cmp word ptr [esi + 0x10], dx"], ["0x100631b5", "jae -0x61"]]}, {"both": [["0x100622e7", "xor ax, ax", "0x100631b7"], ["0x100622ea", "pop ebp", "0x100631ba"], ["0x100622eb", "pop edi", "0x100631bb"], ["0x100622ec", "pop esi", "0x100631bc"], ["0x100622ed", "pop ebx", "0x100631bd"], ["0x100622ee", "add esp, 0x34", "0x100631be"], ["0x100622f1", "ret 0x1c", "0x100631c1"], ["0x100622f4", "mov word ptr [esp + 0x10], dx", "0x100631c4"], ["0x100622f9", "mov ecx, dword ptr [esi + 0x14]", "0x100631c9"], ["0x100622fc", "movzx edi, dx", "0x100631cc"], ["0x100622ff", "inc dx", "0x100631cf"], ["0x10062301", "shl edi, 4", "0x100631d1"]]}, {"orig": [["0x10062304", "cmp dx, word ptr [esi + 0x10]"], ["0x10062308", "lea ebx, [edi + edi*2]"], ["0x1006230b", "mov di, word ptr [ebx + ecx + 0x22]"], ["0x10062310", "ja 0x3f"]], "recomp": [["0x100631d4", "cmp word ptr [esi + 0x10], dx"], ["0x100631d8", "lea ebp, [edi + edi*2]"], ["0x100631db", "mov bx, word ptr [ebp + ecx + 0x22]"], ["0x100631e0", "jb 0x3f"]]}, {"both": [["0x10062312", "mov si, word ptr [esi + 0x10]", "0x100631e2"]]}, {"orig": [["0x10062316", "mov ebx, ecx"]], "recomp": [["0x100631e6", "mov edi, ecx"]]}, {"both": [["0x10062318", "movzx ecx, dx", "0x100631e8"], ["0x1006231b", "shl ecx, 4", "0x100631eb"], ["0x1006231e", "lea ecx, [ecx + ecx*2]", "0x100631ee"]]}, {"orig": [["0x10062321", "cmp byte ptr [ecx + ebx + 0x28], al"], ["0x10062325", "lea ebp, [ecx + ebx]"]], "recomp": [["0x100631f1", "cmp byte ptr [ecx + edi + 0x28], al"], ["0x100631f5", "lea ebp, [ecx + edi]"]]}, {"both": [["0x10062328", "jne 0x20", "0x100631f8"], ["0x1006232a", "mov cl, byte ptr [esp + 0x5c]", "0x100631fa"], ["0x1006232e", "test byte ptr [ebp + 0xc], cl", "0x100631fe"], ["0x10062331", "je 0x17", "0x10063201"], ["0x10062333", "cmp byte ptr [ebp + 0x29], 0", "0x10063203"], ["0x10062337", "je 0x11", "0x10063207"], ["0x10062339", "mov cx, word ptr [ebp + 0x22]", "0x10063209"]]}, {"orig": [["0x1006233d", "cmp di, cx"], ["0x10062340", "jbe 0x8"], ["0x10062342", "mov di, cx"]], "recomp": [["0x1006320d", "cmp cx, bx"], ["0x10063210", "jae 0x8"], ["0x10063212", "mov bx, cx"]]}, {"both": [["0x10062345", "mov word ptr [esp + 0x10], dx", "0x10063215"], ["0x1006234a", "inc dx", "0x1006321a"]]}, {"orig": [["0x1006234c", "cmp dx, si"], ["0x1006234f", "jbe -0x39"]], "recomp": [["0x1006321c", "cmp si, dx"], ["0x1006321f", "jae -0x39"]]}, {"both": [["0x10062351", "mov ax, word ptr [esp + 0x10]", "0x10063221"], ["0x10062356", "pop ebp", "0x10063226"], ["0x10062357", "pop edi", "0x10063227"], ["0x10062358", "pop esi", "0x10063228"], ["0x10062359", "pop ebx", "0x10063229"], ["0x1006235a", "add esp, 0x34", "0x1006322a"], ["0x1006235d", "ret 0x1c", "0x1006322d"]]}]]]}, {"address": "0x10062360", "recomp": "0x10063230", "name": "LegoAnimationManager::GetCharacterIndex", "matching": 1.0, "diff": []}, {"address": "0x100623a0", "recomp": "0x10063270", "name": "LegoAnimationManager::FUN_100623a0", "matching": 1.0, "diff": []}, {"address": "0x10062520", "recomp": "0x100633f0", "name": "LegoAnimationManager::ModelExists", "matching": 1.0, "diff": []}, {"address": "0x10062580", "recomp": "0x10063450", "name": "LegoAnimationManager::FUN_10062580", "matching": 0.8805970149253731, "diff": [["@@ -0x10062580,67 +0x10063450,67 @@", [{"both": [["0x10062580", "mov eax, dword ptr [esp + 4]", "0x10063450"], ["0x10062584", "sub esp, 4", "0x10063454"], ["0x10062587", "push ebx", "0x10063457"], ["0x10062588", "push esi", "0x10063458"], ["0x10062589", "push edi", "0x10063459"]]}, {"orig": [["0x1006258a", "mov esi, dword ptr [eax + 0x24]"]], "recomp": [["0x1006345a", "mov esi, ecx"]]}, {"both": [["0x1006258d", "push ebp", "0x1006345c"]]}, {"orig": [["0x1006258e", "mov edi, ecx"]], "recomp": [["0x1006345d", "mov edi, dword ptr [eax + 0x24]"]]}, {"both": [["0x10062590", "mov al, byte ptr [eax + 0x20]", "0x10063460"]]}, {"orig": [["0x10062593", "test esi, esi"]], "recomp": [["0x10063463", "test edi, edi"]]}, {"both": [["0x10062595", "mov byte ptr [esp + 0x13], al", "0x10063465"], ["0x10062599", "je 0xa5", "0x10063469"], ["0x1006259f", "test al, al", "0x1006346f"], ["0x100625a1", "je 0x9d", "0x10063471"], ["0x100625a7", "mov bl, 0", "0x10063477"], ["0x100625a9", "jbe 0x95", "0x10063479"], ["0x100625af", "xor eax, eax", "0x1006347f"], ["0x100625b1", "mov al, bl", "0x10063481"], ["0x100625b3", "shl eax, 4", "0x10063483"], ["0x100625b6", "lea ecx, [eax + eax*2]", "0x10063486"], ["0x100625b9", "mov ebp, 0", "0x10063489"]]}, {"orig": [["0x100625be", "mov edx, dword ptr [ecx + esi]"]], "recomp": [["0x1006348e", "mov edx, dword ptr [ecx + edi]"]]}, {"both": [["0x100625c1", "push edx", "0x10063491"], ["0x100625c2", "call CharacterManager (FUNCTION)", "0x10063492"], ["0x100625c7", "mov ecx, eax", "0x10063497"], ["0x100625c9", "call LegoCharacterManager::GetExtraActor (FUNCTION)", "0x10063499"], ["0x100625ce", "test eax, eax", "0x1006349e"], ["0x100625d0", "je 0xa", "0x100634a0"], ["0x100625d2", "mov ecx, dword ptr [eax + 4]", "0x100634a2"], ["0x100625d5", "mov edx, dword ptr [ecx + 4]", "0x100634a5"], ["0x100625d8", "lea ebp, [edx + eax + 4]", "0x100634a8"], ["0x100625dc", "test ebp, ebp", "0x100634ac"], ["0x100625de", "je 0x58", "0x100634ae"], ["0x100625e0", "mov ecx, dword ptr [ebp + 0x138]", "0x100634b0"], ["0x100625e6", "test ecx, ecx", "0x100634b6"], ["0x100625e8", "je 0x4e", "0x100634b8"], ["0x100625ea", "push ebp", "0x100634ba"], ["0x100625eb", "call LegoPathController::RemoveActor (FUNCTION)", "0x100634bb"], ["0x100625f0", "xor ecx, ecx", "0x100634c0"]]}, {"orig": [["0x100625f2", "lea edx, [edi + 0x3c]"]], "recomp": [["0x100634c2", "lea edx, [esi + 0x3c]"]]}, {"both": [["0x100625f5", "mov dword ptr [ebp + 0x138], 0", "0x100634c5"], ["0x100625ff", "mov eax, dword ptr [ebp + 0x54]", "0x100634cf"], ["0x10062602", "cmp dword ptr [edx], eax", "0x100634d2"], ["0x10062604", "je 0xb", "0x100634d4"], ["0x10062606", "add edx, 0x18", "0x100634d6"], ["0x10062609", "inc ecx", "0x100634d9"], ["0x1006260a", "cmp ecx, 0x28", "0x100634da"], ["0x1006260d", "jl -0xd", "0x100634dd"], ["0x1006260f", "jmp 0x27", "0x100634df"], ["0x10062611", "lea eax, [ecx + ecx*2]", "0x100634e1"]]}, {"orig": [["0x10062614", "mov ecx, dword ptr [edi + eax*8 + 0x40]"]], "recomp": [["0x100634e4", "mov ecx, dword ptr [esi + eax*8 + 0x40]"]]}, {"both": [["0x10062618", "lea eax, [ecx + ecx*2]", "0x100634e8"], ["0x1006261b", "shl eax, 3", "0x100634eb"], ["0x1006261e", "mov byte ptr [eax + g_characters[0].m_unk0x07 (UNK)], 1", "0x100634ee"], ["0x10062625", "movsx eax, byte ptr [eax + g_characters[0].m_vehicleId (UNK)]", "0x100634f5"], ["0x1006262c", "test eax, eax", "0x100634fc"], ["0x1006262e", "jl 0x8", "0x100634fe"], ["0x10062630", "mov byte ptr [eax*8 + g_vehicles[0].m_unk0x05 (UNK)], 0", "0x10063500"], ["0x10062638", "inc bl", "0x10063508"]]}, {"orig": [["0x1006263a", "cmp bl, byte ptr [esp + 0x13]"], ["0x1006263e", "jb -0x95"]], "recomp": [["0x1006350a", "cmp byte ptr [esp + 0x13], bl"], ["0x1006350e", "ja -0x95"]]}, {"both": [["0x10062644", "pop ebp", "0x10063514"], ["0x10062645", "pop edi", "0x10063515"], ["0x10062646", "pop esi", "0x10063516"], ["0x10062647", "pop ebx", "0x10063517"], ["0x10062648", "add esp, 4", "0x10063518"], ["0x1006264b", "ret 4", "0x1006351b"]]}]]]}, {"address": "0x10062650", "recomp": "0x10063520", "name": "LegoAnimationManager::FUN_10062650", "matching": 1.0, "diff": []}, {"address": "0x10062710", "recomp": "0x100635e0", "name": "LegoAnimationManager::FUN_10062710", "matching": 1.0, "diff": []}, {"address": "0x10062770", "recomp": "0x10063640", "name": "LegoAnimationManager::FUN_10062770", "matching": 1.0, "diff": []}, {"address": "0x100627d0", "recomp": "0x100636a0", "name": "LegoAnimationManager::PurgeExtra", "matching": 1.0, "diff": []}, {"address": "0x100629b0", "recomp": "0x10063880", "name": "LegoAnimationManager::AddExtra", "matching": 1.0, "effective": true, "diff": [["@@ -0x100629ea,30 +0x100638ba,30 @@", [{"both": [["0x100629ea", "push 0", "0x100638ba"], ["0x100629ec", "mov ecx, edi", "0x100638bc"], ["0x100629ee", "call LegoAnimationManager::PurgeExtra (FUNCTION)", "0x100638be"], ["0x100629f3", "call UserActor (FUNCTION)", "0x100638c3"], ["0x100629f8", "test eax, eax", "0x100638c8"], ["0x100629fa", "je 0xd", "0x100638ca"], ["0x100629fc", "cmp dword ptr [eax + 0x50], 0x41a00000", "0x100638cc"], ["0x10062a03", "jg 0x40d", "0x100638d3"], ["0x10062a09", "xor ecx, ecx", "0x100638d9"], ["0x10062a0b", "mov eax, dword ptr [edi + 0x418]", "0x100638db"]]}, {"orig": [["0x10062a11", "cmp ecx, eax"]], "recomp": [["0x100638e1", "cmp eax, ecx"]]}, {"both": [["0x10062a13", "je 0x3fd", "0x100638e3"], ["0x10062a19", "lea edx, [edi + 0x3c]", "0x100638e9"], ["0x10062a1c", "cmp dword ptr [edx], 0", "0x100638ec"], ["0x10062a1f", "je 0x8", "0x100638ef"], ["0x10062a21", "add edx, 0x18", "0x100638f1"], ["0x10062a24", "inc ecx", "0x100638f4"]]}, {"orig": [["0x10062a25", "cmp ecx, eax"], ["0x10062a27", "jb -0xd"], ["0x10062a29", "cmp ecx, eax"]], "recomp": [["0x100638f5", "cmp eax, ecx"], ["0x100638f7", "ja -0xd"], ["0x100638f9", "cmp eax, ecx"]]}, {"both": [["0x10062a2b", "je 0x3e5", "0x100638fb"], ["0x10062a31", "call _rand (FUNCTION)", "0x10063901"], ["0x10062a36", "cdq ", "0x10063906"], ["0x10062a37", "xor eax, edx", "0x10063907"], ["0x10062a39", "sub eax, edx", "0x10063909"], ["0x10062a3b", "and eax, 1", "0x1006390b"], ["0x10062a3e", "xor eax, edx", "0x1006390e"], ["0x10062a40", "sub eax, edx", "0x10063910"], ["0x10062a42", "cmp eax, 1", "0x10063912"], ["0x10062a45", "mov al, 2", "0x10063915"]]}]]]}, {"address": "0x10062e20", "recomp": "0x10063cf0", "name": "LegoAnimationManager::FUN_10062e20", "matching": 0.8856304985337243, "diff": [["@@ -0x10062eb3,90 +0x10063d83,90 @@", [{"both": [["0x10062eb3", "jne 0xc", "0x10063d83"], ["0x10062eb5", "xor al, al", "0x10063d85"], ["0x10062eb7", "pop ebp", "0x10063d87"], ["0x10062eb8", "pop edi", "0x10063d88"], ["0x10062eb9", "pop esi", "0x10063d89"], ["0x10062eba", "pop ebx", "0x10063d8a"], ["0x10062ebb", "add esp, 0x40", "0x10063d8b"], ["0x10062ebe", "ret 8", "0x10063d8e"], ["0x10062ec1", "mov eax, dword ptr [esp + 0x18]", "0x10063d91"], ["0x10062ec5", "lea ecx, [eax + eax*2]", "0x10063d95"]]}, {"orig": [["0x10062ec8", "lea esi, [ecx*8]"], ["0x10062ecf", "cmp byte ptr [esi + g_characters[0].m_inExtras (UNK)], 0"]], "recomp": [["0x10063d98", "lea ebx, [ecx*8]"], ["0x10063d9f", "cmp byte ptr [ebx + g_characters[0].m_inExtras (UNK)], 0"]]}, {"both": [["0x10062ed6", "jne 0x39", "0x10063da6"]]}, {"orig": [["0x10062ed8", "xor ebx, ebx"]], "recomp": [["0x10063da8", "xor esi, esi"]]}, {"both": [["0x10062eda", "mov eax, dword ptr [esp + 0x14]", "0x10063daa"], ["0x10062ede", "add eax, 0x3c", "0x10063dae"], ["0x10062ee1", "cmp dword ptr [eax], 0", "0x10063db1"], ["0x10062ee4", "je 0xb", "0x10063db4"], ["0x10062ee6", "add eax, 0x18", "0x10063db6"]]}, {"orig": [["0x10062ee9", "inc ebx"], ["0x10062eea", "cmp ebx, 0x28"]], "recomp": [["0x10063db9", "inc esi"], ["0x10063dba", "cmp esi, 0x28"]]}, {"both": [["0x10062eed", "jl -0xe", "0x10063dbd"], ["0x10062eef", "jmp 0xf", "0x10063dbf"]]}, {"orig": [["0x10062ef1", "lea edx, [ebx + ebx*2]"]], "recomp": [["0x10063dc1", "lea edx, [esi + esi*2]"]]}, {"both": [["0x10062ef4", "mov ecx, dword ptr [esp + 0x14]", "0x10063dc4"], ["0x10062ef8", "mov eax, dword ptr [esp + 0x54]", "0x10063dc8"], ["0x10062efc", "mov dword ptr [ecx + edx*8 + 0x3c], eax", "0x10063dcc"]]}, {"orig": [["0x10062f00", "cmp ebx, 0x28"]], "recomp": [["0x10063dd0", "cmp esi, 0x28"]]}, {"both": [["0x10062f03", "jne 0x3c", "0x10063dd3"], ["0x10062f05", "xor al, al", "0x10063dd5"], ["0x10062f07", "pop ebp", "0x10063dd7"], ["0x10062f08", "pop edi", "0x10063dd8"], ["0x10062f09", "pop esi", "0x10063dd9"], ["0x10062f0a", "pop ebx", "0x10063dda"], ["0x10062f0b", "add esp, 0x40", "0x10063ddb"], ["0x10062f0e", "ret 8", "0x10063dde"]]}, {"orig": [["0x10062f11", "xor ebx, ebx"]], "recomp": [["0x10063de1", "xor esi, esi"]]}, {"both": [["0x10062f13", "mov ecx, dword ptr [esp + 0x14]", "0x10063de3"], ["0x10062f17", "mov byte ptr [esp + 0x13], 1", "0x10063de7"], ["0x10062f1c", "add ecx, 0x3c", "0x10063dec"], ["0x10062f1f", "mov eax, dword ptr [esp + 0x54]", "0x10063def"], ["0x10062f23", "cmp dword ptr [ecx], eax", "0x10063df3"], ["0x10062f25", "je 0x9", "0x10063df5"], ["0x10062f27", "add ecx, 0x18", "0x10063df7"]]}, {"orig": [["0x10062f2a", "inc ebx"], ["0x10062f2b", "cmp ebx, 0x28"]], "recomp": [["0x10063dfa", "inc esi"], ["0x10063dfb", "cmp esi, 0x28"]]}, {"both": [["0x10062f2e", "jl -0x11", "0x10063dfe"]]}, {"orig": [["0x10062f30", "cmp ebx, 0x28"]], "recomp": [["0x10063e00", "cmp esi, 0x28"]]}, {"both": [["0x10062f33", "jne 0xc", "0x10063e03"], ["0x10062f35", "xor al, al", "0x10063e05"], ["0x10062f37", "pop ebp", "0x10063e07"], ["0x10062f38", "pop edi", "0x10063e08"], ["0x10062f39", "pop esi", "0x10063e09"], ["0x10062f3a", "pop ebx", "0x10063e0a"], ["0x10062f3b", "add esp, 0x40", "0x10063e0b"], ["0x10062f3e", "ret 8", "0x10063e0e"]]}, {"orig": [["0x10062f41", "cmp byte ptr [esi + g_characters[0].m_unk0x07 (UNK)], 0"]], "recomp": [["0x10063e11", "cmp byte ptr [ebx + g_characters[0].m_unk0x07 (UNK)], 0"]]}, {"both": [["0x10062f48", "je 0xb1", "0x10063e18"], ["0x10062f4e", "mov ecx, dword ptr [esp + 0x14]", "0x10063e1e"], ["0x10062f52", "dec dword ptr [ecx + 0x414]", "0x10063e22"], ["0x10062f58", "mov eax, dword ptr [ebp + 4]", "0x10063e28"], ["0x10062f5b", "mov edx, dword ptr [eax + 4]", "0x10063e2b"], ["0x10062f5e", "cmp dword ptr [edx + ebp + 0x8c], 0", "0x10063e2e"], ["0x10062f66", "jne 0x56", "0x10063e36"]]}, {"orig": [["0x10062f68", "mov byte ptr [esi + g_characters[0].m_unk0x07 (UNK)], 0"], ["0x10062f6f", "cmp dword ptr [esi + g_characters[0].m_unk0x0c (UNK)], 0"]], "recomp": [["0x10063e38", "mov byte ptr [ebx + g_characters[0].m_unk0x07 (UNK)], 0"], ["0x10063e3f", "cmp dword ptr [ebx + g_characters[0].m_unk0x0c (UNK)], 0"]]}, {"both": [["0x10062f76", "jge 0xa", "0x10063e46"]]}, {"orig": [["0x10062f78", "mov dword ptr [esi + g_characters[0].m_unk0x0c (UNK)], 0"], ["0x10062f82", "cmp dword ptr [esi + g_characters[0].m_unk0x10 (UNK)], 0"]], "recomp": [["0x10063e48", "mov dword ptr [ebx + g_characters[0].m_unk0x0c (UNK)], 0"], ["0x10063e52", "cmp dword ptr [ebx + g_characters[0].m_unk0x10 (UNK)], 0"]]}, {"both": [["0x10062f89", "jge 0xa", "0x10063e59"]]}, {"orig": [["0x10062f8b", "mov dword ptr [esi + g_characters[0].m_unk0x10 (UNK)], 0"], ["0x10062f95", "lea eax, [ebx + ebx*2]"]], "recomp": [["0x10063e5b", "mov dword ptr [ebx + g_characters[0].m_unk0x10 (UNK)], 0"], ["0x10063e65", "lea eax, [esi + esi*2]"]]}, {"both": [["0x10062f98", "mov ecx, dword ptr [esp + 0x14]", "0x10063e68"], ["0x10062f9c", "pop ebp", "0x10063e6c"], ["0x10062f9d", "pop edi", "0x10063e6d"], ["0x10062f9e", "mov dword ptr [ecx + eax*8 + 0x3c], 0", "0x10063e6e"]]}, {"orig": [["0x10062fa6", "mov byte ptr [esi + g_characters[0].m_unk0x07 (UNK)], 0"], ["0x10062fad", "mov byte ptr [esi + g_characters[0].m_inExtras (UNK)], 0"]], "recomp": []}, {"both": [["0x10062fb4", "xor al, al", "0x10063e76"], ["0x10062fb6", "pop esi", "0x10063e78"]]}, {"orig": [], "recomp": [["0x10063e79", "mov byte ptr [ebx + g_characters[0].m_unk0x07 (UNK)], 0"], ["0x10063e80", "mov byte ptr [ebx + g_characters[0].m_inExtras (UNK)], 0"]]}, {"both": [["0x10062fb7", "pop ebx", "0x10063e87"], ["0x10062fb8", "add esp, 0x40", "0x10063e88"], ["0x10062fbb", "ret 8", "0x10063e8b"], ["0x10062fbe", "mov eax, dword ptr [esp + 0x54]", "0x10063e8e"], ["0x10062fc2", "push eax", "0x10063e92"], ["0x10062fc3", "call CharacterManager (FUNCTION)", "0x10063e93"], ["0x10062fc8", "mov ecx, eax", "0x10063e98"], ["0x10062fca", "call LegoCharacterManager::ReleaseActor (FUNCTION)", "0x10063e9a"], ["0x10062fcf", "call GameState (FUNCTION)", "0x10063e9f"], ["0x10062fd4", "cmp dword ptr [eax + 0x10], 0", "0x10063ea4"]]}]], ["@@ -0x10063019,25 +0x10063ee9,25 @@", [{"both": [["0x10063019", "jne 0xc", "0x10063ee9"], ["0x1006301b", "xor al, al", "0x10063eeb"], ["0x1006301d", "pop ebp", "0x10063eed"], ["0x1006301e", "pop edi", "0x10063eee"], ["0x1006301f", "pop esi", "0x10063eef"], ["0x10063020", "pop ebx", "0x10063ef0"], ["0x10063021", "add esp, 0x40", "0x10063ef1"], ["0x10063024", "ret 8", "0x10063ef4"], ["0x10063027", "cmp byte ptr [esp + 0x13], 0", "0x10063ef7"], ["0x1006302c", "je 0x1f", "0x10063efc"]]}, {"orig": [["0x1006302e", "cmp byte ptr [esi + g_characters[0].m_unk0x07 (UNK)], 0"]], "recomp": [["0x10063efe", "cmp byte ptr [ebx + g_characters[0].m_unk0x07 (UNK)], 0"]]}, {"both": [["0x10063035", "je 0x16", "0x10063f05"]]}, {"orig": [["0x10063037", "cmp dword ptr [esi + g_characters[0].m_unk0x0c (UNK)], 0"]], "recomp": [["0x10063f07", "cmp dword ptr [ebx + g_characters[0].m_unk0x0c (UNK)], 0"]]}, {"both": [["0x1006303e", "jl 0x9", "0x10063f0e"]]}, {"orig": [["0x10063040", "cmp dword ptr [esi + g_characters[0].m_unk0x10 (UNK)], 0"]], "recomp": [["0x10063f10", "cmp dword ptr [ebx + g_characters[0].m_unk0x10 (UNK)], 0"]]}, {"both": [["0x10063047", "jge 0x4", "0x10063f17"], ["0x10063049", "mov cl, 1", "0x10063f19"], ["0x1006304b", "jmp 0x2", "0x10063f1b"], ["0x1006304d", "xor cl, cl", "0x10063f1d"], ["0x1006304f", "mov eax, 1", "0x10063f1f"], ["0x10063054", "test cl, cl", "0x10063f24"], ["0x10063056", "jne 0x14a", "0x10063f26"], ["0x1006305c", "call _rand (FUNCTION)", "0x10063f2c"], ["0x10063061", "cdq ", "0x10063f31"], ["0x10063062", "mov ecx, 3", "0x10063f32"]]}]], ["@@ -0x10063071,50 +0x10063f41,50 @@", [{"both": [["0x10063071", "cmp edx, 1", "0x10063f41"], ["0x10063074", "je 0xee", "0x10063f44"], ["0x1006307a", "cmp edx, 2", "0x10063f4a"], ["0x1006307d", "je 0xec", "0x10063f4d"], ["0x10063083", "mov al, byte ptr [esp + 0x3c]", "0x10063f53"], ["0x10063087", "lea ecx, [esp + 0x30]", "0x10063f57"], ["0x1006308b", "mov byte ptr [ebp + 0xc], al", "0x10063f5b"], ["0x1006308e", "lea eax, [esp + 0x44]", "0x10063f5e"], ["0x10063092", "mov edx, dword ptr [esp + 0x54]", "0x10063f62"], ["0x10063096", "mov dword ptr [esp + 0x40], eax", "0x10063f66"]]}, {"orig": [], "recomp": [["0x10063f6a", "mov dword ptr [esp + 0x2c], ecx"]]}, {"both": [["0x1006309a", "mov eax, Mx3DPointFloat::`vftable' (VTABLE)", "0x10063f6e"], ["0x1006309f", "mov edi, Vector3::`vftable' (VTABLE)", "0x10063f73"]]}, {"orig": [], "recomp": [["0x10063f78", "lea ecx, [esp + 0x20]"]]}, {"both": [["0x100630a4", "mov dword ptr [esp + 0x3c], eax", "0x10063f7c"]]}, {"orig": [["0x100630a8", "mov dword ptr [esp + 0x2c], ecx"], ["0x100630ac", "lea ecx, [esp + 0x20]"]], "recomp": []}, {"both": [["0x100630b0", "mov dword ptr [esp + 0x28], eax", "0x10063f80"], ["0x100630b4", "push ecx", "0x10063f84"], ["0x100630b5", "mov eax, dword ptr [edx + 0x14]", "0x10063f85"], ["0x100630b8", "lea ecx, [esp + 0x40]", "0x10063f88"], ["0x100630bc", "add eax, 0x30", "0x10063f8c"], ["0x100630bf", "mov dword ptr [esp + 0x28], eax", "0x10063f8f"], ["0x100630c3", "mov dword ptr [esp + 0x24], edi", "0x10063f93"], ["0x100630c7", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x10063f97"], ["0x100630cd", "mov eax, dword ptr [esp + 0x54]", "0x10063f9d"], ["0x100630d1", "lea ecx, [esp + 0x28]", "0x10063fa1"], ["0x100630d5", "mov eax, dword ptr [eax + 0x14]", "0x10063fa5"], ["0x100630d8", "add eax, 0x20", "0x10063fa8"], ["0x100630db", "mov dword ptr [esp + 0x24], eax", "0x10063fab"]]}, {"orig": [], "recomp": [["0x10063faf", "mov eax, dword ptr [esp + 0x28]"]]}, {"both": [["0x100630df", "mov dword ptr [esp + 0x20], edi", "0x10063fb3"], ["0x100630e3", "lea edi, [esp + 0x20]", "0x10063fb7"]]}, {"orig": [["0x100630e7", "mov eax, dword ptr [esp + 0x28]"]], "recomp": []}, {"both": [["0x100630eb", "push edi", "0x10063fbb"], ["0x100630ec", "call dword ptr [eax + 0x88]", "0x10063fbc"], ["0x100630f2", "lea eax, [esp + 0x20]", "0x10063fc2"], ["0x100630f6", "lea ecx, [esp + 0x28]", "0x10063fc6"]]}, {"orig": [["0x100630fa", "mov dword ptr [esp + 0x20], 0xbf800000"]], "recomp": []}, {"both": [["0x10063102", "mov edi, dword ptr [esp + 0x28]", "0x10063fca"], ["0x10063106", "push eax", "0x10063fce"]]}, {"orig": [], "recomp": [["0x10063fcf", "mov dword ptr [esp + 0x24], 0xbf800000"]]}, {"both": [["0x10063107", "call dword ptr [edi + 0x5c]", "0x10063fd7"]]}, {"orig": [["0x1006310a", "lea edx, [ebx + ebx*2]"]], "recomp": [["0x10063fda", "lea edx, [esi + esi*2]"]]}, {"both": [["0x1006310d", "mov ecx, dword ptr [esp + 0x14]", "0x10063fdd"], ["0x10063111", "lea edi, [ecx + edx*8]", "0x10063fe1"], ["0x10063114", "cmp byte ptr [esp + 0x13], 0", "0x10063fe4"], ["0x10063119", "mov dword ptr [edi + 0x4c], 0xbf800000", "0x10063fe9"], ["0x10063120", "je 0xf", "0x10063ff0"], ["0x10063122", "mov eax, dword ptr [ebp + 4]", "0x10063ff2"], ["0x10063125", "mov edx, dword ptr [eax + 8]", "0x10063ff5"], ["0x10063128", "lea ecx, [edx + ebp + 4]", "0x10063ff8"], ["0x1006312c", "mov eax, dword ptr [ecx]", "0x10063ffc"], ["0x1006312e", "call dword ptr [eax + 0xc]", "0x10063ffe"]]}]], ["@@ -0x10063191,60 +0x10064061,60 @@", [{"both": [["0x10063191", "lea edx, [esp + 0x3c]", "0x10064061"], ["0x10063195", "mov edi, dword ptr [esp + 0x58]", "0x10064065"], ["0x10063199", "push eax", "0x10064069"], ["0x1006319a", "push edx", "0x1006406a"], ["0x1006319b", "push edi", "0x1006406b"], ["0x1006319c", "push ecx", "0x1006406c"], ["0x1006319d", "mov ecx, dword ptr [esp + 0x2c]", "0x1006406d"], ["0x100631a1", "call LegoWorld::PlaceActor (FUNCTION)", "0x10064071"], ["0x100631a6", "test eax, eax", "0x10064076"], ["0x100631a8", "je 0x26", "0x10064078"]]}, {"orig": [["0x100631aa", "cmp byte ptr [esi + g_characters[0].m_unk0x07 (UNK)], 0"]], "recomp": [["0x1006407a", "cmp byte ptr [ebx + g_characters[0].m_unk0x07 (UNK)], 0"]]}, {"both": [["0x100631b1", "je 0x1d", "0x10064081"], ["0x100631b3", "mov eax, 0", "0x10064083"], ["0x100631b8", "test ebp, ebp", "0x10064088"], ["0x100631ba", "je 0xa", "0x1006408a"], ["0x100631bc", "mov eax, dword ptr [ebp + 4]", "0x1006408c"], ["0x100631bf", "mov ecx, dword ptr [eax + 4]", "0x1006408f"], ["0x100631c2", "lea eax, [ecx + ebp + 4]", "0x10064092"], ["0x100631c6", "mov ecx, dword ptr [esp + 0x1c]", "0x10064096"], ["0x100631ca", "push eax", "0x1006409a"], ["0x100631cb", "call LegoWorld::PlaceActor (FUNCTION)", "0x1006409b"], ["0x100631d0", "mov ecx, dword ptr [esp + 0x14]", "0x100640a0"], ["0x100631d4", "test eax, eax", "0x100640a4"]]}, {"orig": [["0x100631d6", "mov byte ptr [esi + g_characters[0].m_unk0x07 (UNK)], 0"], ["0x100631dd", "lea eax, [ebx + ebx*2]"]], "recomp": [["0x100640a6", "mov byte ptr [ebx + g_characters[0].m_unk0x07 (UNK)], 0"], ["0x100640ad", "lea eax, [esi + esi*2]"]]}, {"both": [["0x100631e0", "je 0x1b", "0x100640b0"], ["0x100631e2", "mov dword ptr [ecx + eax*8 + 0x3c], 0", "0x100640b2"]]}, {"orig": [["0x100631ea", "mov byte ptr [esi + g_characters[0].m_inExtras (UNK)], 0"]], "recomp": [["0x100640ba", "mov byte ptr [ebx + g_characters[0].m_inExtras (UNK)], 0"]]}, {"both": [["0x100631f1", "xor al, al", "0x100640c1"], ["0x100631f3", "pop ebp", "0x100640c3"], ["0x100631f4", "pop edi", "0x100640c4"], ["0x100631f5", "pop esi", "0x100640c5"], ["0x100631f6", "pop ebx", "0x100640c6"], ["0x100631f7", "add esp, 0x40", "0x100640c7"], ["0x100631fa", "ret 8", "0x100640ca"]]}, {"orig": [["0x100631fd", "lea edi, [ecx + eax*8]"]], "recomp": [["0x100640cd", "lea esi, [ecx + eax*8]"]]}, {"both": [["0x10063200", "mov eax, dword ptr [esp + 0x18]", "0x100640d0"]]}, {"orig": [["0x10063204", "mov dword ptr [edi + 0x40], eax"]], "recomp": [["0x100640d4", "mov dword ptr [esi + 0x40], eax"]]}, {"both": [["0x10063207", "call Timer (FUNCTION)", "0x100640d7"], ["0x1006320c", "cmp byte ptr [eax + 0xc], 0", "0x100640dc"], ["0x10063210", "je 0xa", "0x100640e0"], ["0x10063212", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x100640e2"]]}, {"orig": [["0x10063217", "mov dword ptr [edi + 0x44], eax"]], "recomp": [["0x100640e7", "mov dword ptr [esi + 0x44], eax"]]}, {"both": [["0x1006321a", "jmp 0xc", "0x100640ea"], ["0x1006321c", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x100640ec"], ["0x10063222", "sub ecx, dword ptr [eax + 8]", "0x100640f2"]]}, {"orig": [["0x10063225", "mov dword ptr [edi + 0x44], ecx"], ["0x10063228", "mov byte ptr [edi + 0x48], 1"], ["0x1006322c", "mov byte ptr [edi + 0x49], 0"], ["0x10063230", "mov byte ptr [esi + g_characters[0].m_inExtras (UNK)], 1"]], "recomp": [["0x100640f5", "mov dword ptr [esi + 0x44], ecx"], ["0x100640f8", "mov byte ptr [esi + 0x48], 1"], ["0x100640fc", "mov byte ptr [esi + 0x49], 0"], ["0x10064100", "mov byte ptr [ebx + g_characters[0].m_inExtras (UNK)], 1"]]}, {"both": [["0x10063237", "mov eax, dword ptr [ebp + 4]", "0x10064107"], ["0x1006323a", "push 0", "0x1006410a"], ["0x1006323c", "mov edx, dword ptr [eax + 4]", "0x1006410c"], ["0x1006323f", "lea ecx, [edx + ebp + 4]", "0x1006410f"], ["0x10063243", "mov eax, dword ptr [ecx]", "0x10064113"], ["0x10063245", "call dword ptr [eax + 0x30]", "0x10064115"], ["0x10063248", "mov ecx, dword ptr [esp + 0x14]", "0x10064118"], ["0x1006324c", "mov al, 1", "0x1006411c"], ["0x1006324e", "pop ebp", "0x1006411e"], ["0x1006324f", "pop edi", "0x1006411f"]]}]]]}, {"address": "0x10063270", "recomp": "0x10064140", "name": "LegoAnimationManager::FUN_10063270", "matching": 0.9954337899543378, "diff": [["@@ -0x100634c9,21 +0x10064399,21 @@", [{"both": [["0x100634c9", "mov eax, dword ptr [esi - 5]", "0x10064399"], ["0x100634cc", "push eax", "0x1006439c"], ["0x100634cd", "call Lego (FUNCTION)", "0x1006439d"], ["0x100634d2", "mov ecx, eax", "0x100643a2"], ["0x100634d4", "call LegoOmni::FindROI (FUNCTION)", "0x100643a4"], ["0x100634d9", "mov dword ptr [ebp - 0x10], eax", "0x100643a9"], ["0x100634dc", "cmp eax, ebx", "0x100643ac"], ["0x100634de", "je 0x3", "0x100643ae"], ["0x100634e0", "mov byte ptr [eax + 0xc], bl", "0x100643b0"], ["0x100634e3", "add esi, 8", "0x100643b3"]]}, {"orig": [["0x100634e6", "cmp esi, 0x100f6d5d"]], "recomp": [["0x100643b6", "cmp esi, 0x100f23d5"]]}, {"both": [["0x100634ec", "jb -0x29", "0x100643bc"], ["0x100634ee", "mov dword ptr [ebp - 4], 0xffffffff", "0x100643be"], ["0x100634f5", "call <OFFSET22>", "0x100643c5"], ["0x100634fa", "mov eax, dword ptr [ebp - 0xc]", "0x100643ca"], ["0x100634fd", "pop edi", "0x100643cd"], ["0x100634fe", "mov dword ptr fs:[0], eax", "0x100643ce"], ["0x10063504", "pop esi", "0x100643d4"], ["0x10063505", "pop ebx", "0x100643d5"], ["0x10063506", "mov esp, ebp", "0x100643d6"], ["0x10063508", "pop ebp", "0x100643d8"]]}]]]}, {"address": "0x10063540", "recomp": "0x10064410", "name": "LegoROIListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100635b0", "recomp": "0x10064480", "name": "MxPtrListCursor<LegoROI>::~MxPtrListCursor<LegoROI>", "matching": 1.0, "diff": []}, {"address": "0x10063600", "recomp": "0x100644d0", "name": "MxListCursor<LegoROI *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10063670", "recomp": "0x10064540", "name": "MxPtrListCursor<LegoROI>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100636e0", "recomp": "0x100645b0", "name": "MxListCursor<LegoROI *>::~MxListCursor<LegoROI *>", "matching": 1.0, "diff": []}, {"address": "0x10063730", "recomp": "0x10064600", "name": "LegoROIListCursor::~LegoROIListCursor", "matching": 1.0, "diff": []}, {"address": "0x10063780", "recomp": "0x10064650", "name": "LegoAnimationManager::FUN_10063780", "matching": 1.0, "diff": []}, {"address": "0x10063950", "recomp": "0x10064820", "name": "LegoAnimationManager::FUN_10063950", "matching": 1.0, "diff": []}, {"address": "0x10063aa0", "recomp": "0x10064970", "name": "LegoAnimationManager::FUN_10063aa0", "matching": 1.0, "diff": []}, {"address": "0x10063b90", "recomp": "0x10064a60", "name": "LegoAnimationManager::FUN_10063b90", "matching": 1.0, "diff": []}, {"address": "0x10063d10", "recomp": "0x10064be0", "name": "LegoAnimationManager::FUN_10063d10", "matching": 1.0, "effective": true, "diff": [["@@ -0x10063d10,56 +0x10064be0,56 @@", [{"both": [["0x10063d10", "sub esp, 4", "0x10064be0"], ["0x10063d13", "push ebx", "0x10064be3"], ["0x10063d14", "push esi", "0x10064be4"], ["0x10063d15", "push edi", "0x10064be5"]]}, {"orig": [["0x10063d16", "mov ebx, ecx"]], "recomp": [["0x10064be6", "mov esi, ecx"]]}, {"both": [["0x10063d18", "push ebp", "0x10064be8"], ["0x10063d19", "call CurrentWorld (FUNCTION)", "0x10064be9"], ["0x10063d1e", "test eax, eax", "0x10064bee"], ["0x10063d20", "je 0x110", "0x10064bf0"], ["0x10063d26", "call Timer (FUNCTION)", "0x10064bf6"], ["0x10063d2b", "cmp byte ptr [eax + 0xc], 0", "0x10064bfb"], ["0x10063d2f", "je 0x8", "0x10064bff"]]}, {"orig": [["0x10063d31", "mov esi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]], "recomp": [["0x10064c01", "mov ebx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]]}, {"both": [["0x10063d37", "jmp 0x9", "0x10064c07"]]}, {"orig": [["0x10063d39", "mov esi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x10063d3f", "sub esi, dword ptr [eax + 8]"], ["0x10063d42", "add ebx, 0x48"]], "recomp": [["0x10064c09", "mov ebx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x10064c0f", "sub ebx, dword ptr [eax + 8]"], ["0x10064c12", "add esi, 0x48"]]}, {"both": [["0x10063d45", "mov edi, 0x28", "0x10064c15"]]}, {"orig": [["0x10063d4a", "mov edx, dword ptr [ebx - 0xc]"]], "recomp": [["0x10064c1a", "mov edx, dword ptr [esi - 0xc]"]]}, {"both": [["0x10063d4d", "test edx, edx", "0x10064c1d"], ["0x10063d4f", "je 0xd7", "0x10064c1f"]]}, {"orig": [["0x10063d55", "cmp byte ptr [ebx], 0"]], "recomp": [["0x10064c25", "cmp byte ptr [esi], 0"]]}, {"both": [["0x10063d58", "je 0xb0", "0x10064c28"]]}, {"orig": [["0x10063d5e", "mov eax, dword ptr [ebx - 8]"]], "recomp": [["0x10064c2e", "mov eax, dword ptr [esi - 8]"]]}, {"both": [["0x10063d61", "lea ecx, [eax + eax*2]", "0x10064c31"], ["0x10063d64", "mov eax, dword ptr [ecx*8 + g_characters[0].m_unk0x0c (UNK)]", "0x10064c34"], ["0x10063d6b", "test eax, eax", "0x10064c3b"], ["0x10063d6d", "jl 0x9b", "0x10064c3d"]]}, {"orig": [["0x10063d73", "mov ecx, esi"], ["0x10063d75", "sub ecx, dword ptr [ebx - 4]"]], "recomp": [["0x10064c43", "mov ecx, ebx"], ["0x10064c45", "sub ecx, dword ptr [esi - 4]"]]}, {"both": [["0x10063d78", "cmp ecx, eax", "0x10064c48"], ["0x10063d7a", "jle 0x8e", "0x10064c4a"]]}, {"orig": [["0x10063d80", "mov byte ptr [ebx], 0"]], "recomp": [["0x10064c50", "mov byte ptr [esi], 0"]]}, {"both": [["0x10063d83", "mov eax, dword ptr [edx + 0xe4]", "0x10064c53"], ["0x10063d89", "push eax", "0x10064c59"], ["0x10063d8a", "call CharacterManager (FUNCTION)", "0x10064c5a"], ["0x10063d8f", "mov ecx, eax", "0x10064c5f"], ["0x10063d91", "call LegoCharacterManager::GetExtraActor (FUNCTION)", "0x10064c61"], ["0x10063d96", "mov ebp, eax", "0x10064c66"], ["0x10063d98", "test ebp, ebp", "0x10064c68"], ["0x10063d9a", "je 0x8c", "0x10064c6a"]]}, {"orig": [["0x10063da0", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10064c70", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10063da3", "mov dword ptr [esp + 0x10], eax", "0x10064c73"], ["0x10063da7", "cmp eax, 0x80000000", "0x10064c77"], ["0x10063dac", "jbe 0x4a", "0x10064c7c"]]}, {"orig": [["0x10063dae", "cmp byte ptr [ebx + 8], 0"]], "recomp": [["0x10064c7e", "cmp byte ptr [esi + 8], 0"]]}, {"both": [["0x10063db2", "je 0x21", "0x10064c82"], ["0x10063db4", "call _rand (FUNCTION)", "0x10064c84"], ["0x10063db9", "mov dword ptr [esp + 0x10], eax", "0x10064c89"], ["0x10063dbd", "fild dword ptr [esp + 0x10]", "0x10064c8d"], ["0x10063dc1", "fmul qword ptr [1.5 (FLOAT)]", "0x10064c91"], ["0x10063dc7", "fmul dword ptr [3.0518509447574615e-05 (FLOAT)]", "0x10064c97"], ["0x10063dcd", "fadd qword ptr [0.9 (FLOAT)]", "0x10064c9d"], ["0x10063dd3", "jmp 0x1f", "0x10064ca3"], ["0x10063dd5", "call _rand (FUNCTION)", "0x10064ca5"], ["0x10063dda", "mov dword ptr [esp + 0x10], eax", "0x10064caa"]]}]], ["@@ -0x10063e0c,19 +0x10064cdc,19 @@", [{"both": [["0x10063e0c", "jmp 0x1e", "0x10064cdc"], ["0x10063e0e", "mov eax, dword ptr [edx + 0xe4]", "0x10064cde"], ["0x10063e14", "push eax", "0x10064ce4"], ["0x10063e15", "call CharacterManager (FUNCTION)", "0x10064ce5"], ["0x10063e1a", "mov ecx, eax", "0x10064cea"], ["0x10063e1c", "call LegoCharacterManager::GetExtraActor (FUNCTION)", "0x10064cec"], ["0x10063e21", "mov ecx, eax", "0x10064cf1"], ["0x10063e23", "test ecx, ecx", "0x10064cf3"], ["0x10063e25", "je 0x5", "0x10064cf5"], ["0x10063e27", "call LegoExtraActor::Restart (FUNCTION)", "0x10064cf7"]]}, {"orig": [["0x10063e2c", "add ebx, 0x18"]], "recomp": [["0x10064cfc", "add esi, 0x18"]]}, {"both": [["0x10063e2f", "dec edi", "0x10064cff"], ["0x10063e30", "jne -0xec", "0x10064d00"], ["0x10063e36", "pop ebp", "0x10064d06"], ["0x10063e37", "pop edi", "0x10064d07"], ["0x10063e38", "pop esi", "0x10064d08"], ["0x10063e39", "pop ebx", "0x10064d09"], ["0x10063e3a", "add esp, 4", "0x10064d0a"], ["0x10063e3d", "ret ", "0x10064d0d"]]}]]]}, {"address": "0x10063e40", "recomp": "0x10064d10", "name": "LegoAnimationManager::FUN_10063e40", "matching": 1.0, "diff": []}, {"address": "0x10063fb0", "recomp": "0x10064e80", "name": "LegoAnimationManager::FUN_10063fb0", "matching": 1.0, "diff": []}, {"address": "0x10064010", "recomp": "0x10064ee0", "name": "LegoAnimationManager::FUN_10064010", "matching": 1.0, "diff": []}, {"address": "0x10064120", "recomp": "0x10064ff0", "name": "LegoAnimationManager::FUN_10064120", "matching": 1.0, "effective": true, "diff": [["@@ -0x100642ed,23 +0x100651bd,23 @@", [{"both": [["0x100642ed", "push esi", "0x100651bd"], ["0x100642ee", "mov ecx, edi", "0x100651be"], ["0x100642f0", "test bl, bl", "0x100651c0"], ["0x100642f2", "je 0x7", "0x100651c2"], ["0x100642f4", "call LegoEdge::GetCounterclockwiseEdge (FUNCTION)", "0x100651c4"], ["0x100642f9", "jmp 0x5", "0x100651c9"], ["0x100642fb", "call LegoEdge::GetClockwiseEdge (FUNCTION)", "0x100651cb"], ["0x10064300", "test byte ptr [eax + 0x24], 3", "0x100651d0"], ["0x10064304", "mov edi, eax", "0x100651d4"], ["0x10064306", "jne 0x4", "0x100651d6"]]}, {"orig": [["0x10064308", "cmp ebp, edi"]], "recomp": [["0x100651d8", "cmp edi, ebp"]]}, {"both": [["0x1006430a", "jne -0x1f", "0x100651da"]]}, {"orig": [["0x1006430c", "cmp ebp, edi"]], "recomp": [["0x100651dc", "cmp edi, ebp"]]}, {"both": [["0x1006430e", "jne -0xa2", "0x100651de"], ["0x10064314", "xor al, al", "0x100651e4"], ["0x10064316", "pop ebp", "0x100651e6"], ["0x10064317", "pop edi", "0x100651e7"], ["0x10064318", "pop esi", "0x100651e8"], ["0x10064319", "pop ebx", "0x100651e9"], ["0x1006431a", "add esp, 0x44", "0x100651ea"], ["0x1006431d", "ret 0xc", "0x100651ed"], ["0x10064320", "mov ecx, dword ptr [esp + 0x58]", "0x100651f0"], ["0x10064324", "mov eax, dword ptr [esp + 0x18]", "0x100651f4"]]}]], ["@@ -0x1006432a,26 +0x100651fa,26 @@", [{"both": [["0x1006432a", "mov dword ptr [ecx + 0x10], eax", "0x100651fa"], ["0x1006432d", "mov dword ptr [ecx + 8], eax", "0x100651fd"], ["0x10064330", "xor eax, eax", "0x10065200"], ["0x10064332", "mov edx, dword ptr [esi + 0x10]", "0x10065202"], ["0x10064335", "mov dword ptr [ecx], edx", "0x10065205"], ["0x10064337", "mov al, byte ptr [esi + 4]", "0x10065207"], ["0x1006433a", "cmp ebx, eax", "0x1006520a"], ["0x1006433c", "jge 0x1c", "0x1006520c"], ["0x1006433e", "mov edx, dword ptr [esi + 8]", "0x1006520e"], ["0x10064341", "mov edx, dword ptr [edx + ebx*4]", "0x10065211"]]}, {"orig": [["0x10064344", "cmp edx, edi"]], "recomp": [["0x10065214", "cmp edi, edx"]]}, {"both": [["0x10064346", "jne 0x6", "0x10065216"], ["0x10064348", "mov dword ptr [ecx + 4], ebx", "0x10065218"], ["0x1006434b", "inc ebx", "0x1006521b"], ["0x1006434c", "jmp -0x14", "0x1006521c"]]}, {"orig": [["0x1006434e", "cmp edx, dword ptr [esp + 0x10]"]], "recomp": [["0x1006521e", "cmp dword ptr [esp + 0x10], edx"]]}, {"both": [["0x10064352", "jne 0x3", "0x10065222"], ["0x10064354", "mov dword ptr [ecx + 0xc], ebx", "0x10065224"], ["0x10064357", "inc ebx", "0x10065227"], ["0x10064358", "jmp -0x20", "0x10065228"], ["0x1006435a", "mov al, 1", "0x1006522a"], ["0x1006435c", "pop ebp", "0x1006522c"], ["0x1006435d", "pop edi", "0x1006522d"], ["0x1006435e", "pop esi", "0x1006522e"], ["0x1006435f", "pop ebx", "0x1006522f"], ["0x10064360", "add esp, 0x44", "0x10065230"]]}]]]}, {"address": "0x10064380", "recomp": "0x10065250", "name": "LegoAnimationManager::FUN_10064380", "matching": 0.8442622950819673, "diff": [["@@ -0x10064380,160 +0x10065250,160 @@", [{"both": [["0x10064380", "sub esp, 0xc", "0x10065250"], ["0x10064383", "mov dword ptr [esp], ecx", "0x10065253"], ["0x10064387", "push ebx", "0x10065257"], ["0x10064388", "push esi", "0x10065258"], ["0x10064389", "push edi", "0x10065259"], ["0x1006438a", "push ebp", "0x1006525a"]]}, {"orig": [], "recomp": [["0x1006525b", "xor esi, esi"]]}, {"both": [["0x1006438b", "xor edi, edi", "0x1006525d"]]}, {"orig": [["0x1006438d", "xor esi, esi"]], "recomp": []}, {"both": [["0x1006438f", "call CurrentWorld (FUNCTION)", "0x1006525f"], ["0x10064394", "mov ebp, dword ptr [esp + 0x10]", "0x10065264"], ["0x10064398", "mov ebx, dword ptr [esp + 0x20]", "0x10065268"], ["0x1006439c", "add ebp, 0x3c", "0x1006526c"], ["0x1006439f", "mov dword ptr [esp + 0x18], eax", "0x1006526f"], ["0x100643a3", "mov dword ptr [esp + 0x14], 0xffffffff", "0x10065273"], ["0x100643ab", "mov eax, dword ptr [ebp]", "0x1006527b"], ["0x100643ae", "test eax, eax", "0x1006527e"], ["0x100643b0", "jne 0xf", "0x10065280"], ["0x100643b2", "cmp dword ptr [esp + 0x14], -1", "0x10065282"], ["0x100643b7", "jne 0x4", "0x10065287"]]}, {"orig": [["0x100643b9", "mov dword ptr [esp + 0x14], esi"]], "recomp": [["0x10065289", "mov dword ptr [esp + 0x14], edi"]]}, {"both": [["0x100643bd", "test eax, eax", "0x1006528d"], ["0x100643bf", "je 0x14", "0x1006528f"], ["0x100643c1", "push ebx", "0x10065291"], ["0x100643c2", "mov eax, dword ptr [eax + 0xe4]", "0x10065292"], ["0x100643c8", "push eax", "0x10065298"], ["0x100643c9", "call __strcmpi (FUNCTION)", "0x10065299"], ["0x100643ce", "add esp, 8", "0x1006529e"], ["0x100643d1", "test eax, eax", "0x100652a1"], ["0x100643d3", "je 0xb", "0x100652a3"], ["0x100643d5", "add ebp, 0x18", "0x100652a5"]]}, {"orig": [["0x100643d8", "inc esi"], ["0x100643d9", "cmp esi, 0x28"]], "recomp": [["0x100652a8", "inc edi"], ["0x100652a9", "cmp edi, 0x28"]]}, {"both": [["0x100643dc", "jl -0x33", "0x100652ac"], ["0x100643de", "jmp 0x56", "0x100652ae"], ["0x100643e0", "push ebx", "0x100652b0"], ["0x100643e1", "call CharacterManager (FUNCTION)", "0x100652b1"], ["0x100643e6", "mov ecx, eax", "0x100652b6"], ["0x100643e8", "call LegoCharacterManager::GetExtraActor (FUNCTION)", "0x100652b8"]]}, {"orig": [["0x100643ed", "mov edi, eax"], ["0x100643ef", "test edi, edi"]], "recomp": [["0x100652bd", "mov esi, eax"], ["0x100652bf", "test esi, esi"]]}, {"both": [["0x100643f1", "je 0x4b", "0x100652c1"]]}, {"orig": [["0x100643f3", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x100652c3", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100643f6", "mov eax, dword ptr [eax + 4]", "0x100652c6"]]}, {"orig": [["0x100643f9", "add eax, edi"]], "recomp": [["0x100652c9", "add eax, esi"]]}, {"both": [["0x100643fb", "mov ecx, dword ptr [eax + 0x13c]", "0x100652cb"], ["0x10064401", "test ecx, ecx", "0x100652d1"], ["0x10064403", "je 0x31", "0x100652d3"]]}, {"orig": [["0x10064405", "test edi, edi"]], "recomp": [["0x100652d5", "test esi, esi"]]}, {"both": [["0x10064407", "jne 0x4", "0x100652d7"], ["0x10064409", "xor eax, eax", "0x100652d9"], ["0x1006440b", "jmp 0x3", "0x100652db"], ["0x1006440d", "add eax, 4", "0x100652dd"], ["0x10064410", "push eax", "0x100652e0"], ["0x10064411", "call LegoPathController::RemoveActor (FUNCTION)", "0x100652e1"]]}, {"orig": [["0x10064416", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x100652e6", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10064419", "mov ecx, dword ptr [eax + 4]", "0x100652e9"]]}, {"orig": [["0x1006441c", "mov dword ptr [ecx + edi + 0x13c], 0"], ["0x10064427", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x100652ec", "mov dword ptr [ecx + esi + 0x13c], 0"], ["0x100652f7", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x1006442a", "mov edx, dword ptr [eax + 8]", "0x100652fa"]]}, {"orig": [["0x1006442d", "lea ecx, [edx + edi + 4]"]], "recomp": [["0x100652fd", "lea ecx, [edx + esi + 4]"]]}, {"both": [["0x10064431", "mov eax, dword ptr [ecx]", "0x10065301"], ["0x10064433", "call dword ptr [eax + 0xc]", "0x10065303"]]}, {"orig": [["0x10064436", "test edi, edi"]], "recomp": [["0x10065306", "test esi, esi"]]}, {"both": [["0x10064438", "jne 0x8e", "0x10065308"], ["0x1006443e", "cmp dword ptr [esp + 0x14], -1", "0x1006530e"], ["0x10064443", "je 0x7f", "0x10065313"]]}, {"orig": [["0x10064445", "mov esi, dword ptr [esp + 0x14]"], ["0x10064449", "xor edi, edi"]], "recomp": [["0x10065315", "mov edi, dword ptr [esp + 0x14]"], ["0x10065319", "xor esi, esi"]]}, {"both": [["0x1006444b", "mov ebp, g_characters[0].m_name (DATA)", "0x1006531b"], ["0x10064450", "push ebx", "0x10065320"], ["0x10064451", "mov eax, dword ptr [ebp]", "0x10065321"], ["0x10064454", "push eax", "0x10065324"], ["0x10064455", "call __strcmpi (FUNCTION)", "0x10065325"], ["0x1006445a", "add esp, 8", "0x1006532a"], ["0x1006445d", "test eax, eax", "0x1006532d"], ["0x1006445f", "je 0xc", "0x1006532f"], ["0x10064461", "add ebp, 0x18", "0x10065331"]]}, {"orig": [["0x10064464", "inc edi"]], "recomp": [["0x10065334", "inc esi"]]}, {"both": [["0x10064465", "cmp ebp, g_unk0x100f74b0[0].[0] (DATA)", "0x10065335"], ["0x1006446b", "jb -0x1d", "0x1006533b"]]}, {"orig": [["0x1006446d", "cmp edi, 0x2f"]], "recomp": [["0x1006533d", "cmp esi, 0x2f"]]}, {"both": [["0x10064470", "jbe 0xf", "0x10065340"], ["0x10064472", "mov eax, 0xffffffff", "0x10065342"], ["0x10064477", "pop ebp", "0x10065347"], ["0x10064478", "pop edi", "0x10065348"], ["0x10064479", "pop esi", "0x10065349"], ["0x1006447a", "pop ebx", "0x1006534a"], ["0x1006447b", "add esp, 0xc", "0x1006534b"], ["0x1006447e", "ret 0x2c", "0x1006534e"], ["0x10064481", "mov eax, dword ptr [esp + 0x14]", "0x10065351"], ["0x10064485", "mov ecx, dword ptr [esp + 0x10]", "0x10065355"], ["0x10064489", "lea edx, [eax + eax*2]", "0x10065359"], ["0x1006448c", "push 1", "0x1006535c"], ["0x1006448e", "push ebx", "0x1006535e"], ["0x1006448f", "lea ebp, [ecx + edx*8]", "0x1006535f"], ["0x10064492", "call CharacterManager (FUNCTION)", "0x10065362"], ["0x10064497", "mov ecx, eax", "0x10065367"], ["0x10064499", "call LegoCharacterManager::GetActorROI (FUNCTION)", "0x10065369"], ["0x1006449e", "mov ecx, dword ptr [esp + 0x48]", "0x1006536e"], ["0x100644a2", "push ebx", "0x10065372"], ["0x100644a3", "mov dword ptr [ebp + 0x3c], eax", "0x10065373"]]}, {"orig": [["0x100644a6", "mov dword ptr [ebp + 0x40], edi"]], "recomp": [["0x10065376", "mov dword ptr [ebp + 0x40], esi"]]}, {"both": [["0x100644a9", "mov dword ptr [ebp + 0x4c], ecx", "0x10065379"], ["0x100644ac", "call CharacterManager (FUNCTION)", "0x1006537c"], ["0x100644b1", "mov ecx, eax", "0x10065381"], ["0x100644b3", "call LegoCharacterManager::GetExtraActor (FUNCTION)", "0x10065383"]]}, {"orig": [["0x100644b8", "mov edi, eax"]], "recomp": [["0x10065388", "mov esi, eax"]]}, {"both": [["0x100644ba", "mov ecx, dword ptr [esp + 0x10]", "0x1006538a"], ["0x100644be", "inc dword ptr [ecx + 0x414]", "0x1006538e"]]}, {"orig": [["0x100644c4", "test edi, edi"]], "recomp": [["0x10065394", "test esi, esi"]]}, {"both": [["0x100644c6", "je 0x18f", "0x10065396"], ["0x100644cc", "call _rand (FUNCTION)", "0x1006539c"], ["0x100644d1", "cdq ", "0x100653a1"], ["0x100644d2", "xor eax, edx", "0x100653a2"], ["0x100644d4", "sub eax, edx", "0x100653a4"], ["0x100644d6", "and eax, 1", "0x100653a6"], ["0x100644d9", "xor eax, edx", "0x100653a9"], ["0x100644db", "sub eax, edx", "0x100653ab"], ["0x100644dd", "cmp eax, 1", "0x100653ad"], ["0x100644e0", "mov al, 2", "0x100653b0"], ["0x100644e2", "adc al, 0xff", "0x100653b2"], ["0x100644e4", "push 0", "0x100653b4"]]}, {"orig": [["0x100644e6", "mov byte ptr [edi + 0xc], al"], ["0x100644e9", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100653b6", "mov byte ptr [esi + 0xc], al"], ["0x100653b9", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x100644ec", "mov edx, dword ptr [ecx + 4]", "0x100653bc"]]}, {"orig": [["0x100644ef", "lea ecx, [edx + edi + 4]"]], "recomp": [["0x100653bf", "lea ecx, [edx + esi + 4]"]]}, {"both": [["0x100644f3", "mov eax, dword ptr [ecx]", "0x100653c3"], ["0x100644f5", "call dword ptr [eax + 0x30]", "0x100653c5"], ["0x100644f8", "mov ecx, 0", "0x100653c8"]]}, {"orig": [["0x100644fd", "test edi, edi"]], "recomp": [["0x100653cd", "test esi, esi"]]}, {"both": [["0x100644ff", "je 0xa", "0x100653cf"]]}, {"orig": [["0x10064501", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x100653d1", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10064504", "mov edx, dword ptr [eax + 4]", "0x100653d4"]]}, {"orig": [["0x10064507", "lea ecx, [edx + edi + 4]"]], "recomp": [["0x100653d7", "lea ecx, [edx + esi + 4]"]]}, {"both": [["0x1006450b", "mov eax, dword ptr [esp + 0x34]", "0x100653db"], ["0x1006450f", "mov edx, dword ptr [esp + 0x30]", "0x100653df"], ["0x10064513", "mov ebx, dword ptr [esp + 0x2c]", "0x100653e3"], ["0x10064517", "push eax", "0x100653e7"], ["0x10064518", "mov eax, dword ptr [esp + 0x2c]", "0x100653e8"], ["0x1006451c", "push edx", "0x100653ec"], ["0x1006451d", "mov edx, dword ptr [esp + 0x2c]", "0x100653ed"], ["0x10064521", "push ebx", "0x100653f1"], ["0x10064522", "push eax", "0x100653f2"], ["0x10064523", "push edx", "0x100653f3"], ["0x10064524", "push ecx", "0x100653f4"], ["0x10064525", "mov ecx, dword ptr [esp + 0x30]", "0x100653f5"], ["0x10064529", "call LegoWorld::PlaceActor (FUNCTION)", "0x100653f9"], ["0x1006452e", "mov ecx, dword ptr [esp + 0x10]", "0x100653fe"], ["0x10064532", "test eax, eax", "0x10065402"]]}, {"orig": [["0x10064534", "lea eax, [esi + esi*2]"]], "recomp": [["0x10065404", "lea eax, [edi + edi*2]"]]}, {"both": [["0x10064537", "je 0x32", "0x10065407"], ["0x10064539", "lea esi, [ecx + eax*8 + 0x3c]", "0x10065409"], ["0x1006453d", "mov eax, dword ptr [esi]", "0x1006540d"], ["0x1006453f", "push eax", "0x1006540f"], ["0x10064540", "call CharacterManager (FUNCTION)", "0x10065410"], ["0x10064545", "mov ecx, eax", "0x10065415"], ["0x10064547", "call LegoCharacterManager::ReleaseActor (FUNCTION)", "0x10065417"], ["0x1006454c", "mov ecx, dword ptr [esp + 0x10]", "0x1006541c"], ["0x10064550", "mov eax, 0xffffffff", "0x10065420"], ["0x10064555", "pop ebp", "0x10065425"]]}]], ["@@ -0x1006455c,82 +0x1006542c,82 @@", [{"both": [["0x1006455c", "pop edi", "0x1006542c"], ["0x1006455d", "dec dword ptr [ecx + 0x414]", "0x1006542d"], ["0x10064563", "pop esi", "0x10065433"], ["0x10064564", "pop ebx", "0x10065434"], ["0x10064565", "add esp, 0xc", "0x10065435"], ["0x10064568", "ret 0x2c", "0x10065438"], ["0x1006456b", "lea ebx, [ecx + eax*8]", "0x1006543b"], ["0x1006456e", "mov eax, dword ptr [ecx + eax*8 + 0x40]", "0x1006543e"], ["0x10064572", "lea ecx, [eax + eax*2]", "0x10065442"], ["0x10064575", "movsx eax, byte ptr [ecx*8 + g_characters[0].m_unk0x16 (UNK)]", "0x10065445"]]}, {"orig": [["0x1006457d", "lea esi, [ecx*8]"]], "recomp": [["0x1006544d", "lea edi, [ecx*8]"]]}, {"both": [["0x10064584", "mov ecx, eax", "0x10065454"], ["0x10064586", "shl eax, 4", "0x10065456"], ["0x10064589", "add eax, ecx", "0x10065459"], ["0x1006458b", "mov ecx, dword ptr [esp + 0x38]", "0x1006545b"], ["0x1006458f", "lea ebp, [eax*4 + g_cycles[0].[0] (DATA)]", "0x1006545f"], ["0x10064596", "mov eax, dword ptr [ebp + ecx*4]", "0x10065466"], ["0x1006459a", "mov ecx, dword ptr [esp + 0x18]", "0x1006546a"], ["0x1006459e", "push eax", "0x1006546e"], ["0x1006459f", "push 'LegoAnimPresenter' (STRING)", "0x1006546f"], ["0x100645a4", "call LegoWorld::Find (FUNCTION)", "0x10065474"], ["0x100645a9", "mov ecx, eax", "0x10065479"], ["0x100645ab", "test ecx, ecx", "0x1006547b"], ["0x100645ad", "je 0x1b", "0x1006547d"], ["0x100645af", "mov eax, 0", "0x1006547f"]]}, {"orig": [["0x100645b4", "test edi, edi"]], "recomp": [["0x10065484", "test esi, esi"]]}, {"both": [["0x100645b6", "je 0xa", "0x10065486"]]}, {"orig": [["0x100645b8", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x10065488", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100645bb", "mov edx, dword ptr [eax + 8]", "0x1006548b"]]}, {"orig": [["0x100645be", "lea eax, [edx + edi + 4]"]], "recomp": [["0x1006548e", "lea eax, [edx + esi + 4]"]]}, {"both": [["0x100645c2", "push 0", "0x10065492"], ["0x100645c4", "push eax", "0x10065494"], ["0x100645c5", "call LegoLocomotionAnimPresenter::FUN_1006d680 (FUNCTION)", "0x10065495"], ["0x100645ca", "mov eax, dword ptr [esp + 0x40]", "0x1006549a"], ["0x100645ce", "mov ecx, dword ptr [ebp + eax*4]", "0x1006549e"], ["0x100645d2", "push ecx", "0x100654a2"], ["0x100645d3", "push 'LegoAnimPresenter' (STRING)", "0x100654a3"], ["0x100645d8", "mov ecx, dword ptr [esp + 0x20]", "0x100654a8"], ["0x100645dc", "call LegoWorld::Find (FUNCTION)", "0x100654ac"], ["0x100645e1", "mov ecx, eax", "0x100654b1"], ["0x100645e3", "test ecx, ecx", "0x100654b3"], ["0x100645e5", "je 0x1e", "0x100654b5"], ["0x100645e7", "mov eax, 0", "0x100654b7"]]}, {"orig": [["0x100645ec", "test edi, edi"]], "recomp": [["0x100654bc", "test esi, esi"]]}, {"both": [["0x100645ee", "je 0xa", "0x100654be"]]}, {"orig": [["0x100645f0", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x100654c0", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100645f3", "mov edx, dword ptr [eax + 8]", "0x100654c3"]]}, {"orig": [["0x100645f6", "lea eax, [edx + edi + 4]"]], "recomp": [["0x100654c6", "lea eax, [edx + esi + 4]"]]}, {"both": [["0x100645fa", "push 0x40800000", "0x100654ca"], ["0x100645ff", "push eax", "0x100654cf"], ["0x10064600", "call LegoLocomotionAnimPresenter::FUN_1006d680 (FUNCTION)", "0x100654d0"], ["0x10064605", "call Timer (FUNCTION)", "0x100654d5"], ["0x1006460a", "cmp byte ptr [eax + 0xc], 0", "0x100654da"], ["0x1006460e", "je 0xa", "0x100654de"], ["0x10064610", "mov eax, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x100654e0"], ["0x10064615", "mov dword ptr [ebx + 0x44], eax", "0x100654e5"], ["0x10064618", "jmp 0xc", "0x100654e8"], ["0x1006461a", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x100654ea"], ["0x10064620", "sub ecx, dword ptr [eax + 8]", "0x100654f0"], ["0x10064623", "mov dword ptr [ebx + 0x44], ecx", "0x100654f3"], ["0x10064626", "mov ecx, 1", "0x100654f6"], ["0x1006462b", "mov eax, dword ptr [esp + 0x48]", "0x100654fb"], ["0x1006462f", "mov edx, dword ptr [esp + 0x3c]", "0x100654ff"], ["0x10064633", "mov byte ptr [ebx + 0x48], cl", "0x10065503"], ["0x10064636", "mov dword ptr [ebx + 0x4c], eax", "0x10065506"], ["0x10064639", "mov ebx, dword ptr [esp + 0x44]", "0x10065509"], ["0x1006463d", "xor eax, eax", "0x1006550d"], ["0x1006463f", "pop ebp", "0x1006550f"]]}, {"orig": [], "recomp": [["0x10065510", "mov dword ptr [edi + g_characters[0].m_unk0x0c (UNK)], edx"], ["0x10065516", "mov dword ptr [edi + g_characters[0].m_unk0x10 (UNK)], ebx"], ["0x1006551c", "mov byte ptr [edi + g_characters[0].m_inExtras (UNK)], cl"]]}, {"both": [["0x10064640", "pop edi", "0x10065522"]]}, {"orig": [["0x10064641", "mov dword ptr [esi + g_characters[0].m_unk0x0c (UNK)], edx"], ["0x10064647", "mov dword ptr [esi + g_characters[0].m_unk0x10 (UNK)], ebx"], ["0x1006464d", "mov byte ptr [esi + g_characters[0].m_inExtras (UNK)], cl"]], "recomp": []}, {"both": [["0x10064653", "pop esi", "0x10065523"], ["0x10064654", "pop ebx", "0x10065524"], ["0x10064655", "add esp, 0xc", "0x10065525"], ["0x10064658", "ret 0x2c", "0x10065528"], ["0x1006465b", "mov eax, 0xffffffff", "0x1006552b"], ["0x10064660", "pop ebp", "0x10065530"], ["0x10064661", "pop edi", "0x10065531"], ["0x10064662", "pop esi", "0x10065532"], ["0x10064663", "pop ebx", "0x10065533"], ["0x10064664", "add esp, 0xc", "0x10065534"]]}]]]}, {"address": "0x10064670", "recomp": "0x10065540", "name": "LegoAnimationManager::FUN_10064670", "matching": 0.9264705882352942, "diff": [["@@ -0x1006467f,29 +0x1006554f,29 @@", [{"both": [["0x1006467f", "je 0x5e", "0x1006554f"], ["0x10064681", "lea ecx, [esp + 0x10]", "0x10065551"], ["0x10064685", "mov dword ptr [esp + 0x14], ebx", "0x10065555"], ["0x10064689", "mov dword ptr [esp + 0xc], ecx", "0x10065559"], ["0x1006468d", "push eax", "0x1006555d"], ["0x1006468e", "mov dword ptr [esp + 0xc], Mx3DPointFloat::`vftable' (VTABLE)", "0x1006555e"], ["0x10064696", "mov dword ptr [esp + 0x14], 0x42c5c000", "0x10065566"], ["0x1006469e", "mov dword ptr [esp + 0x1c], 0xc238a027", "0x1006556e"], ["0x100646a6", "lea ecx, [esp + 0xc]", "0x10065576"], ["0x100646aa", "call dword ptr [->Vector2::operator-= (FUNCTION)]", "0x1006557a"]]}, {"orig": [["0x100646b0", "mov edx, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100646b4", "mov ecx, dword ptr [esp + 0xc]", "0x10065580"]]}, {"orig": [["0x100646b8", "add edx, 4"]], "recomp": [["0x10065584", "mov eax, dword ptr [esp + 0xc]"]]}, {"both": [["0x100646bb", "add ecx, 8", "0x10065588"]]}, {"orig": [["0x100646be", "mov eax, dword ptr [esp + 0xc]"]], "recomp": [["0x1006558b", "add eax, 4"], ["0x1006558e", "fld dword ptr [ecx]"], ["0x10065590", "fmul dword ptr [ecx]"]]}, {"both": [["0x100646c2", "fld dword ptr [eax]", "0x10065592"], ["0x100646c4", "fmul dword ptr [eax]", "0x10065594"]]}, {"orig": [["0x100646c6", "fld dword ptr [edx]"], ["0x100646c8", "fmul dword ptr [edx]"]], "recomp": [["0x10065596", "mov ecx, dword ptr [esp + 0xc]"]]}, {"both": [["0x100646ca", "faddp st(1)", "0x1006559a"], ["0x100646cc", "fld dword ptr [ecx]", "0x1006559c"], ["0x100646ce", "fmul dword ptr [ecx]", "0x1006559e"], ["0x100646d0", "faddp st(1)", "0x100655a0"], ["0x100646d2", "fcomp dword ptr [800.0 (FLOAT)]", "0x100655a2"], ["0x100646d8", "fnstsw ax", "0x100655a8"], ["0x100646da", "test ah, 1", "0x100655aa"], ["0x100646dd", "je 0x2", "0x100655ad"], ["0x100646df", "mov bl, 1", "0x100655af"], ["0x100646e1", "test bl, bl", "0x100655b1"]]}]]]}, {"address": "0x10064740", "recomp": "0x10065610", "name": "LegoAnimationManager::FUN_10064740", "matching": 1.0, "diff": []}, {"address": "0x10064880", "recomp": "0x10065750", "name": "LegoAnimationManager::FUN_10064880", "matching": 0.6363636363636364, "diff": [["@@ -0x10064880,44 +0x10065750,44 @@", [{"both": [["0x10064880", "push ebx", "0x10065750"], ["0x10064881", "push esi", "0x10065751"], ["0x10064882", "push edi", "0x10065752"], ["0x10064883", "mov ebx, ecx", "0x10065753"], ["0x10064885", "push ebp", "0x10065755"]]}, {"orig": [["0x10064886", "xor esi, esi"], ["0x10064888", "lea edi, [ebx + 0x3c]"], ["0x1006488b", "mov ebp, dword ptr [esp + 0x14]"], ["0x1006488f", "mov eax, dword ptr [edi]"]], "recomp": [["0x10065756", "xor edi, edi"], ["0x10065758", "lea ebp, [ebx + 0x3c]"], ["0x1006575b", "mov esi, dword ptr [esp + 0x14]"], ["0x1006575f", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x10064891", "test eax, eax", "0x10065762"], ["0x10064893", "je 0x14", "0x10065764"]]}, {"orig": [["0x10064895", "push ebp"]], "recomp": [["0x10065766", "push esi"]]}, {"both": [["0x10064896", "mov eax, dword ptr [eax + 0xe4]", "0x10065767"], ["0x1006489c", "push eax", "0x1006576d"], ["0x1006489d", "call __strcmpi (FUNCTION)", "0x1006576e"], ["0x100648a2", "add esp, 8", "0x10065773"], ["0x100648a5", "test eax, eax", "0x10065776"], ["0x100648a7", "je 0x15", "0x10065778"]]}, {"orig": [["0x100648a9", "add edi, 0x18"], ["0x100648ac", "inc esi"], ["0x100648ad", "cmp esi, 0x28"], ["0x100648b0", "jl -0x23"]], "recomp": [["0x1006577a", "add ebp, 0x18"], ["0x1006577d", "inc edi"], ["0x1006577e", "cmp edi, 0x28"], ["0x10065781", "jl -0x24"]]}, {"both": [["0x100648b2", "mov eax, 0xffffffff", "0x10065783"], ["0x100648b7", "pop ebp", "0x10065788"], ["0x100648b8", "pop edi", "0x10065789"], ["0x100648b9", "pop esi", "0x1006578a"], ["0x100648ba", "pop ebx", "0x1006578b"], ["0x100648bb", "ret 0xc", "0x1006578c"]]}, {"orig": [["0x100648be", "lea eax, [esi + esi*2]"], ["0x100648c1", "mov ecx, dword ptr [esp + 0x18]"], ["0x100648c5", "lea eax, [ebx + eax*8 + 0x40]"], ["0x100648c9", "mov edx, dword ptr [eax]"]], "recomp": [["0x1006578f", "lea eax, [edi + edi*2]"], ["0x10065792", "lea ecx, [ebx + eax*8 + 0x40]"], ["0x10065796", "mov eax, dword ptr [esp + 0x18]"], ["0x1006579a", "mov edx, dword ptr [ecx]"]]}, {"both": [["0x100648cb", "lea ebx, [edx + edx*2]", "0x1006579c"]]}, {"orig": [["0x100648ce", "mov dword ptr [ebx*8 + g_characters[0].m_unk0x0c (UNK)], ecx"], ["0x100648d5", "mov edx, dword ptr [eax]"]], "recomp": [["0x1006579f", "mov dword ptr [ebx*8 + g_characters[0].m_unk0x0c (UNK)], eax"]]}, {"both": [["0x100648d7", "mov eax, dword ptr [esp + 0x1c]", "0x100657a6"]]}, {"orig": [], "recomp": [["0x100657aa", "mov edx, dword ptr [ecx]"]]}, {"both": [["0x100648db", "pop ebp", "0x100657ac"]]}, {"orig": [], "recomp": [["0x100657ad", "lea ebx, [edx + edx*2]"]]}, {"both": [["0x100648dc", "pop edi", "0x100657b0"]]}, {"orig": [["0x100648dd", "lea ebx, [edx + edx*2]"]], "recomp": []}, {"both": [["0x100648e0", "pop esi", "0x100657b1"], ["0x100648e1", "mov dword ptr [ebx*8 + g_characters[0].m_unk0x10 (UNK)], eax", "0x100657b2"], ["0x100648e8", "xor eax, eax", "0x100657b9"], ["0x100648ea", "pop ebx", "0x100657bb"], ["0x100648eb", "ret 0xc", "0x100657bc"]]}]]]}, {"address": "0x100648f0", "recomp": "0x100657c0", "name": "LegoAnimationManager::FUN_100648f0", "matching": 0.95625, "diff": [["@@ -0x10064a12,25 +0x100658e2,25 @@", [{"both": [["0x10064a12", "je 0xcf", "0x100658e2"], ["0x10064a18", "lea eax, [esp + 0x20]", "0x100658e8"], ["0x10064a1c", "lea ecx, [esp + 0x18]", "0x100658ec"], ["0x10064a20", "push eax", "0x100658f0"], ["0x10064a21", "call Vector3::Vector3 (FUNCTION)", "0x100658f1"], ["0x10064a26", "lea eax, [esp + 0x38]", "0x100658f6"], ["0x10064a2a", "lea ecx, [esp + 0x30]", "0x100658fa"], ["0x10064a2e", "mov dword ptr [esp + 0x18], Mx4DPointFloat::`vftable' (VTABLE)", "0x100658fe"], ["0x10064a36", "push eax", "0x10065906"], ["0x10064a37", "add ebx, 0x4d4", "0x10065907"]]}, {"orig": [["0x10064a3d", "call Vector3::Vector3 (FUNCTION)"]], "recomp": [["0x1006590d", "call Vector4::Vector4 (FUNCTION)"]]}, {"both": [["0x10064a42", "lea ecx, [esp + 0x18]", "0x10065912"], ["0x10064a46", "push edi", "0x10065916"], ["0x10064a47", "mov dword ptr [esp + 0x34], Mx4DPointFloat::`vftable' (VTABLE)", "0x10065917"]]}, {"orig": [["0x10064a4f", "call Vector3::operator= (FUNCTION)"]], "recomp": [["0x1006591f", "call Vector4::operator= (FUNCTION)"]]}, {"both": [["0x10064a54", "lea ecx, [esp + 0x20]", "0x10065924"], ["0x10064a58", "mov eax, dword ptr [ebx]", "0x10065928"], ["0x10064a5a", "mov edx, dword ptr [ebx + 4]", "0x1006592a"], ["0x10064a5d", "push ebp", "0x1006592d"], ["0x10064a5e", "mov dword ptr [ecx], eax", "0x1006592e"], ["0x10064a60", "mov eax, dword ptr [ebx + 8]", "0x10065930"], ["0x10064a63", "mov dword ptr [ecx + 4], edx", "0x10065933"], ["0x10064a66", "mov ebx, dword ptr [ebx + 0xc]", "0x10065936"], ["0x10064a69", "mov dword ptr [ecx + 8], eax", "0x10065939"], ["0x10064a6c", "mov dword ptr [ecx + 0xc], ebx", "0x1006593c"]]}]], ["@@ -0x10064ac3,27 +0x10065993,27 @@", [{"both": [["0x10064ac3", "je 0x22", "0x10065993"], ["0x10064ac5", "lea eax, [esp + 0x10]", "0x10065995"], ["0x10064ac9", "mov ecx, ebp", "0x10065999"], ["0x10064acb", "mov dword ptr [esp + 0x10], 0xbf800000", "0x1006599b"], ["0x10064ad3", "push eax", "0x100659a3"], ["0x10064ad4", "mov ebx, dword ptr [ebp]", "0x100659a4"], ["0x10064ad7", "call dword ptr [ebx + 0x5c]", "0x100659a7"], ["0x10064ada", "jmp 0xb", "0x100659aa"], ["0x10064adc", "and dword ptr [edi + 0x74], 0xfffffffe", "0x100659ac"], ["0x10064ae0", "mov byte ptr [ebx + 0x430], 0", "0x100659b0"]]}, {"orig": [], "recomp": [["0x100659b7", "lea eax, [esp + 0x50]"], ["0x100659bb", "mov ecx, eax"], ["0x100659bd", "mov dword ptr [esp + 0x4c], eax"], ["0x100659c1", "xor eax, eax"], ["0x100659c3", "lea edx, [esp + 0x48]"]]}, {"both": [["0x10064ae7", "mov dword ptr [esp + 0x48], Mx3DPointFloat::`vftable' (VTABLE)", "0x100659c7"]]}, {"orig": [["0x10064aef", "lea eax, [esp + 0x50]"], ["0x10064af3", "lea edx, [esp + 0x48]"], ["0x10064af7", "mov ecx, eax"]], "recomp": []}, {"both": [["0x10064af9", "push edx", "0x100659cf"]]}, {"orig": [["0x10064afa", "mov dword ptr [esp + 0x50], eax"], ["0x10064afe", "xor eax, eax"]], "recomp": []}, {"both": [["0x10064b00", "mov dword ptr [ecx], eax", "0x100659d0"], ["0x10064b02", "mov dword ptr [ecx + 4], eax", "0x100659d2"], ["0x10064b05", "mov dword ptr [ecx + 8], eax", "0x100659d5"], ["0x10064b08", "mov ecx, esi", "0x100659d8"], ["0x10064b0a", "call OrientableROI::FUN_100a5a30 (FUNCTION)", "0x100659da"], ["0x10064b0f", "pop ebp", "0x100659df"], ["0x10064b10", "pop edi", "0x100659e0"], ["0x10064b11", "pop esi", "0x100659e1"], ["0x10064b12", "pop ebx", "0x100659e2"], ["0x10064b13", "add esp, 0x4c", "0x100659e3"]]}]]]}, {"address": "0x10064b20", "recomp": "0x10065a10", "name": "Mx4DPointFloat::operator=", "matching": 1.0, "diff": []}, {"address": "0x10064b50", "recomp": "0x10065a60", "name": "LegoAnimationManager::FUN_10064b50", "matching": 0.9206349206349206, "diff": [["@@ -0x10064b50,24 +0x10065a60,24 @@", [{"both": [["0x10064b50", "sub esp, 0x7c", "0x10065a60"], ["0x10064b53", "push esi", "0x10065a63"], ["0x10064b54", "push edi", "0x10065a64"], ["0x10064b55", "cmp byte ptr [ecx + 0x430], 0", "0x10065a65"], ["0x10064b5c", "mov esi, ecx", "0x10065a6c"], ["0x10064b5e", "je 0x374", "0x10065a6e"]]}, {"orig": [["0x10064b64", "mov edi, dword ptr [esi + 0x42c]"], ["0x10064b6a", "test edi, edi"]], "recomp": [["0x10065a74", "mov eax, dword ptr [esi + 0x42c]"], ["0x10065a7a", "test eax, eax"]]}, {"both": [["0x10064b6c", "je 0x366", "0x10065a7c"]]}, {"orig": [["0x10064b72", "lea eax, [esp + 0x44]"]], "recomp": [["0x10065a82", "mov dword ptr [esp + 0x3c], MxMatrix::`vftable' (VTABLE)"], ["0x10065a8a", "lea ecx, [esp + 0x44]"], ["0x10065a8e", "mov dword ptr [esp + 0x40], ecx"]]}, {"both": [["0x10064b76", "mov ecx, dword ptr [esp + 0x88]", "0x10065a92"]]}, {"orig": [["0x10064b7d", "mov dword ptr [esp + 0x40], eax"]], "recomp": []}, {"both": [["0x10064b81", "test ecx, ecx", "0x10065a99"]]}, {"orig": [["0x10064b83", "mov dword ptr [esp + 0x3c], MxMatrix::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10064b8b", "jl 0x2de", "0x10065a9b"], ["0x10064b91", "mov edx, dword ptr [esi + 0x438]", "0x10065aa1"], ["0x10064b97", "cmp ecx, edx", "0x10065aa7"], ["0x10064b99", "jge 0x2d0", "0x10065aa9"], ["0x10064b9f", "mov eax, dword ptr [esi + 0x434]", "0x10065aaf"], ["0x10064ba5", "sub ecx, eax", "0x10065ab5"], ["0x10064ba7", "sub edx, eax", "0x10065ab7"], ["0x10064ba9", "mov eax, dword ptr [esi + 0x440]", "0x10065ab9"], ["0x10064baf", "mov dword ptr [esp + 0x2c], ecx", "0x10065abf"], ["0x10064bb3", "fild dword ptr [esp + 0x2c]", "0x10065ac3"]]}]], ["@@ -0x10064d22,29 +0x10065c32,29 @@", [{"both": [["0x10064d22", "fstp st(0)", "0x10065c32"], ["0x10064d24", "jmp 0x14", "0x10065c34"], ["0x10064d26", "fld dword ptr [esp + 0x10]", "0x10065c36"], ["0x10064d2a", "fld qword ptr [1.0 (FLOAT)]", "0x10065c3a"], ["0x10064d30", "fsub st(1)", "0x10065c40"], ["0x10064d32", "fstp qword ptr [esp + 0x18]", "0x10065c42"], ["0x10064d36", "fstp qword ptr [esp + 0x10]", "0x10065c46"], ["0x10064d3a", "xor ecx, ecx", "0x10065c4a"], ["0x10064d3c", "jmp 0x4", "0x10065c4c"], ["0x10064d3e", "fstp dword ptr [edi + ecx - 4]", "0x10065c4e"]]}, {"orig": [["0x10064d42", "mov eax, dword ptr [esi + 0x4d0]"], ["0x10064d48", "mov edx, dword ptr [esi + 0x4e8]"]], "recomp": [["0x10065c52", "mov eax, dword ptr [esi + 0x4e8]"], ["0x10065c58", "mov edx, dword ptr [esi + 0x4d0]"]]}, {"both": [["0x10064d4e", "mov edi, dword ptr [esp + 0xc]", "0x10065c5e"], ["0x10064d52", "add ecx, 4", "0x10065c62"], ["0x10064d55", "cmp ecx, 0x10", "0x10065c65"], ["0x10064d58", "fld dword ptr [eax + ecx - 4]", "0x10065c68"]]}, {"orig": [], "recomp": [["0x10065c6c", "fmul qword ptr [esp + 0x10]"], ["0x10065c70", "fld dword ptr [edx + ecx - 4]"]]}, {"both": [["0x10064d5c", "fmul qword ptr [esp + 0x18]", "0x10065c74"]]}, {"orig": [["0x10064d60", "fld dword ptr [edx + ecx - 4]"], ["0x10064d64", "fmul qword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x10064d68", "faddp st(1)", "0x10065c78"], ["0x10064d6a", "jl -0x2e", "0x10065c7a"], ["0x10064d6c", "fstp dword ptr [edi + ecx - 4]", "0x10065c7c"], ["0x10064d70", "xor eax, eax", "0x10065c80"], ["0x10064d72", "jmp 0x9b", "0x10065c82"], ["0x10064d77", "mov eax, dword ptr [esi + 0x4d0]", "0x10065c87"], ["0x10064d7d", "mov ecx, dword ptr [esp + 0xc]", "0x10065c8d"], ["0x10064d81", "fld dword ptr [eax + 4]", "0x10065c91"], ["0x10064d84", "fchs ", "0x10065c94"], ["0x10064d86", "fstp dword ptr [ecx]", "0x10065c96"]]}]], ["@@ -0x10064e58,43 +0x10065d68,43 @@", [{"both": [["0x10064e58", "fld dword ptr [eax + 0x38]", "0x10065d68"], ["0x10064e5b", "fadd dword ptr [esp + 0x28]", "0x10065d6b"], ["0x10064e5f", "fstp dword ptr [ecx + 0x38]", "0x10065d6f"], ["0x10064e62", "mov ecx, dword ptr [esp + 0x40]", "0x10065d72"], ["0x10064e66", "mov dword ptr [ecx + 0x3c], 0x3f800000", "0x10065d76"], ["0x10064e6d", "jmp 0x21", "0x10065d7d"], ["0x10064e6f", "add esi, 0x484", "0x10065d7f"], ["0x10064e75", "lea ecx, [esp + 0x3c]", "0x10065d85"], ["0x10064e79", "push esi", "0x10065d89"], ["0x10064e7a", "mov byte ptr [esi - 0x54], 0", "0x10065d8a"]]}, {"orig": [["0x10064e7e", "and dword ptr [edi + 0x74], 0xfffffffe"]], "recomp": [["0x10065d8e", "and dword ptr [eax + 0x74], 0xfffffffe"]]}, {"both": [["0x10064e82", "mov eax, dword ptr [esp + 0x40]", "0x10065d92"], ["0x10064e86", "mov dword ptr [esi - 0x58], 0", "0x10065d96"], ["0x10064e8d", "call dword ptr [eax + 0x48]", "0x10065d9d"], ["0x10064e90", "call VideoManager (FUNCTION)", "0x10065da0"]]}, {"orig": [["0x10064e95", "mov edi, dword ptr [eax + 0x6c]"]], "recomp": [["0x10065da5", "mov esi, dword ptr [eax + 0x6c]"]]}, {"both": [["0x10064e98", "lea eax, [esp + 0x3c]", "0x10065da8"], ["0x10064e9c", "push eax", "0x10065dac"]]}, {"orig": [["0x10064e9d", "mov ecx, edi"]], "recomp": [["0x10065dad", "mov ecx, esi"]]}, {"both": [["0x10064e9f", "call OrientableROI::WrappedSetLocalTransform (FUNCTION)", "0x10065daf"], ["0x10064ea4", "call VideoManager (FUNCTION)", "0x10065db4"]]}, {"orig": [["0x10064ea9", "push edi"]], "recomp": [["0x10065db9", "push esi"]]}, {"both": [["0x10064eaa", "mov eax, dword ptr [eax + 0x68]", "0x10065dba"], ["0x10064ead", "mov ecx, dword ptr [eax + 8]", "0x10065dbd"], ["0x10064eb0", "call Lego3DView::Moved (FUNCTION)", "0x10065dc0"]]}, {"orig": [["0x10064eb5", "mov esi, dword ptr [edi + 0x14]"], ["0x10064eb8", "mov eax, dword ptr [edi]"], ["0x10064eba", "mov ecx, edi"], ["0x10064ebc", "add esi, 0x30"]], "recomp": [["0x10065dc5", "mov edi, dword ptr [esi + 0x14]"], ["0x10065dc8", "mov eax, dword ptr [esi]"], ["0x10065dca", "mov ecx, esi"], ["0x10065dcc", "add edi, 0x30"]]}, {"both": [["0x10064ebf", "call dword ptr [eax + 8]", "0x10065dcf"], ["0x10064ec2", "push eax", "0x10065dd2"]]}, {"orig": [["0x10064ec3", "lea ecx, [esi - 0x10]"], ["0x10064ec6", "lea eax, [esi - 0x20]"]], "recomp": [["0x10065dd3", "lea ecx, [edi - 0x10]"], ["0x10065dd6", "lea eax, [edi - 0x20]"]]}, {"both": [["0x10064ec9", "push eax", "0x10065dd9"], ["0x10064eca", "push ecx", "0x10065dda"]]}, {"orig": [["0x10064ecb", "push esi"]], "recomp": [["0x10065ddb", "push edi"]]}, {"both": [["0x10064ecc", "call SoundManager (FUNCTION)", "0x10065ddc"], ["0x10064ed1", "mov ecx, eax", "0x10065de1"], ["0x10064ed3", "call LegoSoundManager::UpdateListener (FUNCTION)", "0x10065de3"], ["0x10064ed8", "pop edi", "0x10065de8"], ["0x10064ed9", "pop esi", "0x10065de9"], ["0x10064eda", "add esp, 0x7c", "0x10065dea"], ["0x10064edd", "ret 4", "0x10065ded"]]}]]]}, {"address": "0x10064ee0", "recomp": "0x10065df0", "name": "LegoAnimationManager::FUN_10064ee0", "matching": 1.0, "diff": []}, {"address": "0x10064ff0", "recomp": "0x10065f00", "name": "AnimState::AnimState", "matching": 1.0, "diff": []}, {"address": "0x10065070", "recomp": "0x10065f80", "name": "AnimState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10065080", "recomp": "0x10065f90", "name": "AnimState::IsA", "matching": 1.0, "diff": []}, {"address": "0x10065130", "recomp": "0x10066040", "name": "AnimState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10065150", "recomp": "0x10066060", "name": "AnimState::~AnimState", "matching": 1.0, "diff": []}, {"address": "0x100651d0", "recomp": "0x100660e0", "name": "AnimState::CopyToAnims", "matching": 0.6666666666666666, "diff": [["@@ -0x100651d0,28 +0x100660e0,28 @@", [{"both": [["0x100651d0", "push esi", "0x100660e0"]]}, {"orig": [], "recomp": [["0x100660e1", "xor edx, edx"], ["0x100660e3", "cmp dword ptr [ecx + 0x10], edx"]]}, {"both": [["0x100651d1", "push edi", "0x100660e6"], ["0x100651d2", "mov esi, ecx", "0x100660e7"]]}, {"orig": [], "recomp": [["0x100660e9", "je 0x52"]]}, {"both": [["0x100651d4", "xor edi, edi", "0x100660eb"]]}, {"orig": [["0x100651d6", "cmp dword ptr [esi + 0x10], edi"], ["0x100651d9", "je 0x52"], ["0x100651db", "xor ecx, ecx"]], "recomp": [["0x100660ed", "cmp dword ptr [esi + 0xc], edx"], ["0x100660f0", "jbe 0x1f"], ["0x100660f2", "mov ecx, dword ptr [esp + 0x10]"], ["0x100660f6", "add ecx, 0x22"], ["0x100660f9", "mov eax, dword ptr [esi + 0x10]"], ["0x100660fc", "add edx, 2"], ["0x100660ff", "mov ax, word ptr [eax + edx - 2]"], ["0x10066104", "add ecx, 0x30"], ["0x10066107", "mov word ptr [ecx - 0x30], ax"], ["0x1006610b", "inc edi"]]}, {"both": [["0x100651dd", "cmp dword ptr [esi + 0xc], edi", "0x1006610c"]]}, {"orig": [["0x100651e0", "jbe 0x1f"], ["0x100651e2", "mov edx, dword ptr [esp + 0x10]"], ["0x100651e6", "add edx, 0x22"], ["0x100651e9", "mov eax, dword ptr [esi + 0x10]"], ["0x100651ec", "add edi, 2"], ["0x100651ef", "mov ax, word ptr [eax + edi - 2]"], ["0x100651f4", "add edx, 0x30"], ["0x100651f7", "mov word ptr [edx - 0x30], ax"], ["0x100651fb", "inc ecx"], ["0x100651fc", "cmp dword ptr [esi + 0xc], ecx"]], "recomp": []}, {"both": [["0x100651ff", "ja -0x18", "0x1006610f"], ["0x10065201", "mov ecx, dword ptr [esi + 8]", "0x10066111"], ["0x10065204", "mov eax, dword ptr [esp + 0x14]", "0x10066114"], ["0x10065208", "xor edi, edi", "0x10066118"], ["0x1006520a", "mov dword ptr [eax], ecx", "0x1006611a"], ["0x1006520c", "cmp dword ptr [esi + 0x14], edi", "0x1006611c"], ["0x1006520f", "jbe 0x1c", "0x1006611f"], ["0x10065211", "push edi", "0x10066121"], ["0x10065212", "call LegoNavController::GetLocation (FUNCTION)", "0x10066122"], ["0x10065217", "add esp, 4", "0x10066127"]]}]]]}, {"address": "0x10065240", "recomp": "0x10066150", "name": "AnimState::InitFromAnims", "matching": 1.0, "effective": true, "diff": [["@@ -0x10065255,34 +0x10066165,34 @@", [{"both": [["0x10065255", "call ??2@YAPAXI@Z (FUNCTION)", "0x10066165"], ["0x1006525a", "add esp, 4", "0x1006616a"], ["0x1006525d", "mov dword ptr [esi + 0x10], eax", "0x1006616d"], ["0x10065260", "call LegoNavController::GetNumLocations (FUNCTION)", "0x10066170"], ["0x10065265", "push eax", "0x10066175"], ["0x10065266", "mov dword ptr [esi + 0x14], eax", "0x10066176"], ["0x10065269", "call ??2@YAPAXI@Z (FUNCTION)", "0x10066179"], ["0x1006526e", "add esp, 4", "0x1006617e"], ["0x10065271", "mov dword ptr [esi + 0x18], eax", "0x10066181"], ["0x10065274", "mov eax, dword ptr [esp + 0x18]", "0x10066184"]]}, {"orig": [["0x10065278", "xor edx, edx"]], "recomp": [["0x10066188", "xor ecx, ecx"]]}, {"both": [["0x1006527a", "mov dword ptr [esi + 8], eax", "0x1006618a"], ["0x1006527d", "xor eax, eax", "0x1006618d"], ["0x1006527f", "cmp dword ptr [esi + 0xc], eax", "0x1006618f"], ["0x10065282", "jbe 0x1d", "0x10066192"]]}, {"orig": [["0x10065284", "mov ecx, dword ptr [esp + 0x14]"], ["0x10065288", "add ecx, 0x22"], ["0x1006528b", "mov di, word ptr [ecx]"]], "recomp": [["0x10066194", "mov edx, dword ptr [esp + 0x14]"], ["0x10066198", "add edx, 0x22"], ["0x1006619b", "mov di, word ptr [edx]"]]}, {"both": [["0x1006528e", "mov ebx, dword ptr [esi + 0x10]", "0x1006619e"], ["0x10065291", "mov word ptr [ebx + eax], di", "0x100661a1"]]}, {"orig": [["0x10065295", "add ecx, 0x30"]], "recomp": [["0x100661a5", "add edx, 0x30"]]}, {"both": [["0x10065298", "add eax, 2", "0x100661a8"]]}, {"orig": [["0x1006529b", "inc edx"], ["0x1006529c", "cmp dword ptr [esi + 0xc], edx"]], "recomp": [["0x100661ab", "inc ecx"], ["0x100661ac", "cmp dword ptr [esi + 0xc], ecx"]]}, {"both": [["0x1006529f", "ja -0x16", "0x100661af"], ["0x100652a1", "xor edi, edi", "0x100661b1"], ["0x100652a3", "cmp dword ptr [esi + 0x14], edi", "0x100661b3"], ["0x100652a6", "jbe 0x1c", "0x100661b6"], ["0x100652a8", "push edi", "0x100661b8"], ["0x100652a9", "call LegoNavController::GetLocation (FUNCTION)", "0x100661b9"], ["0x100652ae", "add esp, 4", "0x100661be"], ["0x100652b1", "test eax, eax", "0x100661c1"], ["0x100652b3", "je 0x9", "0x100661c3"], ["0x100652b5", "mov cl, byte ptr [eax + 0x5c]", "0x100661c5"]]}]]]}, {"address": "0x100652d0", "recomp": "0x100661e0", "name": "AnimState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x100654f0", "recomp": "0x10066400", "name": "AnimState::Reset", "matching": 1.0, "diff": []}, {"address": "0x10065550", "recomp": "0x10067cb0", "name": "LegoMouseController::LegoMouseController", "matching": 1.0, "diff": []}, {"address": "0x100655b0", "recomp": "0x10067d10", "name": "LegoMouseController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100655d0", "recomp": "0x10067d30", "name": "LegoMouseController::~LegoMouseController", "matching": 1.0, "diff": []}, {"address": "0x10065620", "recomp": "0x10067d80", "name": "LegoMouseController::LeftDown", "matching": 1.0, "diff": []}, {"address": "0x10065640", "recomp": "0x10067da0", "name": "LegoMouseController::LeftUp", "matching": 1.0, "diff": []}, {"address": "0x10065660", "recomp": "0x10067dc0", "name": "LegoMouseController::LeftDrag", "matching": 1.0, "diff": []}, {"address": "0x10065680", "recomp": "0x10067de0", "name": "LegoMouseController::RightDown", "matching": 1.0, "diff": []}, {"address": "0x100656a0", "recomp": "0x10067e00", "name": "LegoMouseController::RightUp", "matching": 1.0, "diff": []}, {"address": "0x100656c0", "recomp": "0x10067e20", "name": "LegoMouseController::RightDrag", "matching": 1.0, "diff": []}, {"address": "0x100656e0", "recomp": "0x10067e40", "name": "LegoPointOfViewController::LegoPointOfViewController", "matching": 1.0, "diff": []}, {"address": "0x10065750", "recomp": "0x10067eb0", "name": "LegoPointOfViewController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10065770", "recomp": "0x10067ed0", "name": "LegoPointOfViewController::~LegoPointOfViewController", "matching": 1.0, "diff": []}, {"address": "0x100657f0", "recomp": "0x10067f50", "name": "LegoPointOfViewController::Create", "matching": 1.0, "diff": []}, {"address": "0x100658a0", "recomp": "0x10068000", "name": "LegoPointOfViewController::OnViewSize", "matching": 1.0, "diff": []}, {"address": "0x100658c0", "recomp": "0x10068020", "name": "LegoPointOfViewController::LeftDown", "matching": 1.0, "diff": []}, {"address": "0x100658e0", "recomp": "0x10068040", "name": "LegoPointOfViewController::LeftDrag", "matching": 1.0, "diff": []}, {"address": "0x10065900", "recomp": "0x10068060", "name": "LegoPointOfViewController::AffectPointOfView", "matching": 1.0, "diff": []}, {"address": "0x10065930", "recomp": "0x10068090", "name": "LegoPointOfViewController::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10065ae0", "recomp": "0x10068240", "name": "LegoPointOfViewController::SetEntity", "matching": 1.0, "diff": []}, {"address": "0x10065bf0", "recomp": "0x10068350", "name": "LegoTextureInfo::LegoTextureInfo", "matching": 1.0, "diff": []}, {"address": "0x10065c00", "recomp": "0x10068360", "name": "LegoTextureInfo::~LegoTextureInfo", "matching": 1.0, "diff": []}, {"address": "0x10065c60", "recomp": "0x100683c0", "name": "LegoTextureInfo::Create", "matching": 1.0, "diff": []}, {"address": "0x10065f60", "recomp": "0x100686c0", "name": "LegoTextureInfo::SetGroupTexture", "matching": 0.16, "diff": [["@@ -0x10065f60,12 +0x100686c0,13 @@", [{"both": [["0x10065f60", "mov eax, dword ptr [esp + 4]", "0x100686c0"]]}, {"orig": [["0x10065f64", "sub esp, 4"], ["0x10065f67", "mov eax, dword ptr [eax + 4]"], ["0x10065f6a", "mov ecx, dword ptr [eax]"], ["0x10065f6c", "mov edx, dword ptr [eax + 4]"], ["0x10065f6f", "mov eax, dword ptr [esp + 0xc]"], ["0x10065f73", "mov dword ptr [esp], edx"], ["0x10065f77", "mov edx, dword ptr [eax + 0xc]"], ["0x10065f7a", "mov eax, dword ptr [esp]"]], "recomp": [["0x100686c4", "mov ecx, dword ptr [eax + 4]"], ["0x100686c7", "mov eax, dword ptr [esp + 8]"], ["0x100686cb", "mov edx, dword ptr [ecx]"], ["0x100686cd", "mov eax, dword ptr [eax + 0xc]"], ["0x100686d0", "push eax"], ["0x100686d1", "mov ecx, dword ptr [ecx + 4]"], ["0x100686d4", "push ecx"], ["0x100686d5", "mov eax, dword ptr [edx]"]]}, {"both": [["0x10065f7e", "push edx", "0x100686d7"]]}, {"orig": [["0x10065f7f", "push eax"], ["0x10065f80", "push ecx"]], "recomp": [["0x100686d8", "call dword ptr [eax + 0x54]"], ["0x100686db", "mov eax, 1"], ["0x100686e0", "ret "]]}]]]}, {"address": "0x10065f90", "recomp": "0x100686f0", "name": "LegoTextureInfo::GetGroupTexture", "matching": 0.7586206896551724, "diff": [["@@ -0x10065f90,42 +0x100686f0,45 @@", [{"both": [["0x10065f90", "mov eax, dword ptr [esp + 4]", "0x100686f0"]]}, {"orig": [["0x10065f94", "sub esp, 0xc"]], "recomp": [["0x100686f4", "sub esp, 8"]]}, {"both": [["0x10065f97", "mov eax, dword ptr [eax + 4]", "0x100686f7"]]}, {"orig": [["0x10065f9a", "mov ecx, dword ptr [eax]"], ["0x10065f9c", "mov edx, dword ptr [eax + 4]"]], "recomp": [["0x100686fa", "mov edx, dword ptr [eax]"], ["0x100686fc", "mov ecx, dword ptr [eax + 4]"]]}, {"both": [["0x10065f9f", "xor eax, eax", "0x100686ff"]]}, {"orig": [["0x10065fa1", "mov dword ptr [esp + 8], edx"], ["0x10065fa5", "lea edx, [esp + 4]"]], "recomp": []}, {"both": [["0x10065fa9", "mov dword ptr [esp + 4], eax", "0x10068701"], ["0x10065fad", "mov dword ptr [esp], eax", "0x10068705"]]}, {"orig": [["0x10065fb1", "push edx"], ["0x10065fb2", "mov eax, dword ptr [esp + 0xc]"]], "recomp": [["0x10068709", "lea eax, [esp + 4]"]]}, {"both": [["0x10065fb6", "push eax", "0x1006870d"], ["0x10065fb7", "push ecx", "0x1006870e"]]}, {"orig": [["0x10065fb8", "mov eax, dword ptr [ecx]"]], "recomp": [["0x1006870f", "push edx"], ["0x10068710", "mov eax, dword ptr [edx]"]]}, {"both": [["0x10065fba", "call dword ptr [eax + 0x74]", "0x10068712"], ["0x10065fbd", "test eax, eax", "0x10068715"], ["0x10065fbf", "jne 0x44", "0x10068717"], ["0x10065fc1", "lea eax, [esp]", "0x10068719"], ["0x10065fc5", "mov ecx, dword ptr [esp + 4]", "0x1006871d"], ["0x10065fc9", "push eax", "0x10068721"], ["0x10065fca", "push IID_IDirect3DRMTexture2 (DATA)", "0x10068722"], ["0x10065fcf", "push ecx", "0x10068727"], ["0x10065fd0", "mov eax, dword ptr [ecx]", "0x10068728"], ["0x10065fd2", "call dword ptr [eax]", "0x1006872a"], ["0x10065fd4", "test eax, eax", "0x1006872c"], ["0x10065fd6", "jne 0x24", "0x1006872e"], ["0x10065fd8", "mov eax, dword ptr [esp]", "0x10068730"], ["0x10065fdc", "push eax", "0x10068734"], ["0x10065fdd", "mov eax, dword ptr [eax]", "0x10068735"], ["0x10065fdf", "call dword ptr [eax + 0x1c]", "0x10068737"]]}, {"orig": [["0x10065fe2", "mov ecx, dword ptr [esp + 0x14]"]], "recomp": [["0x1006873a", "mov ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10065fe6", "mov edx, dword ptr [esp]", "0x1006873e"], ["0x10065fea", "push edx", "0x10068742"], ["0x10065feb", "mov dword ptr [ecx], eax", "0x10068743"], ["0x10065fed", "mov eax, dword ptr [edx]", "0x10068745"], ["0x10065fef", "call dword ptr [eax + 8]", "0x10068747"], ["0x10065ff2", "mov ecx, dword ptr [esp + 4]", "0x1006874a"], ["0x10065ff6", "push ecx", "0x1006874e"], ["0x10065ff7", "mov eax, dword ptr [ecx]", "0x1006874f"], ["0x10065ff9", "call dword ptr [eax + 8]", "0x10068751"], ["0x10065ffc", "mov eax, 1", "0x10068754"]]}, {"orig": [], "recomp": [["0x10068759", "add esp, 8"], ["0x1006875c", "ret "], ["0x1006875d", "xor eax, eax"], ["0x1006875f", "add esp, 8"], ["0x10068762", "ret "]]}]]]}, {"address": "0x10066010", "recomp": "0x10068770", "name": "LegoTextureInfo::FUN_10066010", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006609c,22 +0x100687fc,22 @@", [{"both": [["0x1006609c", "mov esi, edx", "0x100687fc"], ["0x1006609e", "mov ecx, ebp", "0x100687fe"], ["0x100660a0", "shr ecx, 2", "0x10068800"], ["0x100660a3", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10068803"], ["0x100660a5", "mov ecx, ebp", "0x10068805"], ["0x100660a7", "and ecx, 3", "0x10068807"], ["0x100660aa", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1006880a"], ["0x100660ac", "add ebx, dword ptr [esp + 0x24]", "0x1006880c"], ["0x100660b0", "add edx, dword ptr [esp + 0x20]", "0x10068810"], ["0x100660b4", "inc eax", "0x10068814"]]}, {"orig": [["0x100660b5", "cmp dword ptr [esp + 0x1c], eax"], ["0x100660b9", "ja -0x25"]], "recomp": [["0x10068815", "cmp eax, dword ptr [esp + 0x1c]"], ["0x10068819", "jb -0x25"]]}, {"both": [["0x100660bb", "mov eax, dword ptr [esp + 0x10]", "0x1006881b"], ["0x100660bf", "mov ecx, dword ptr [esp + 0x38]", "0x1006881f"], ["0x100660c3", "push ecx", "0x10068823"], ["0x100660c4", "mov eax, dword ptr [eax + 4]", "0x10068824"], ["0x100660c7", "push eax", "0x10068827"], ["0x100660c8", "mov ebx, dword ptr [eax]", "0x10068828"], ["0x100660ca", "call dword ptr [ebx + 0x80]", "0x1006882a"], ["0x100660d0", "mov ecx, dword ptr [esp + 0x10]", "0x10068830"], ["0x100660d4", "push 0", "0x10068834"], ["0x100660d6", "push 1", "0x10068836"]]}]]]}, {"address": "0x10066100", "recomp": "0x10068860", "name": "Doors::HitActor", "matching": 1.0, "diff": []}, {"address": "0x10066190", "recomp": "0x100688f0", "name": "Doors::VTable0xcc", "matching": 0.9130434782608695, "diff": [["@@ -0x10066194,25 +0x100688f4,25 @@", [{"both": [["0x10066194", "fsub dword ptr [ecx + 0x158]", "0x100688f4"], ["0x1006619a", "sub esp, 4", "0x100688fa"], ["0x1006619d", "fcom dword ptr [0.0 (FLOAT)]", "0x100688fd"], ["0x100661a3", "fstp dword ptr [esp]", "0x10068903"], ["0x100661a7", "fnstsw ax", "0x10068907"], ["0x100661a9", "test ah, 0x41", "0x10068909"], ["0x100661ac", "je 0xc", "0x1006890c"], ["0x100661ae", "fld dword ptr [0.0 (FLOAT)]", "0x1006890e"], ["0x100661b4", "add esp, 4", "0x10068914"], ["0x100661b7", "ret 4", "0x10068917"]]}, {"orig": [["0x100661ba", "fld dword ptr [esp]"], ["0x100661be", "fcomp dword ptr [g_unk0x100d8e7c (DATA)]"]], "recomp": [["0x1006891a", "fld dword ptr [g_unk0x100d8e7c (DATA)]"], ["0x10068920", "fcomp dword ptr [esp]"]]}, {"both": [["0x100661c4", "fnstsw ax", "0x10068924"]]}, {"orig": [["0x100661c6", "test ah, 0x41"], ["0x100661c9", "je 0x16"]], "recomp": [["0x10068926", "test ah, 1"], ["0x10068929", "jne 0x16"]]}, {"both": [["0x100661cb", "fld dword ptr [esp]", "0x1006892b"], ["0x100661cf", "fdiv dword ptr [g_unk0x100d8e7c (DATA)]", "0x1006892f"], ["0x100661d5", "add esp, 4", "0x10068935"], ["0x100661d8", "fmul qword ptr [1.570796 (FLOAT)]", "0x10068938"], ["0x100661de", "ret 4", "0x1006893e"], ["0x100661e1", "fld dword ptr [g_unk0x100d8e80 (DATA)]", "0x10068941"], ["0x100661e7", "fadd dword ptr [g_unk0x100d8e7c (DATA)]", "0x10068947"], ["0x100661ed", "fcomp dword ptr [esp]", "0x1006894d"], ["0x100661f1", "fnstsw ax", "0x10068951"], ["0x100661f3", "test ah, 1", "0x10068953"]]}]]]}, {"address": "0x10066250", "recomp": "0x100689b0", "name": "Doors::Animate", "matching": 0.9662921348314607, "diff": [["@@ -0x10066250,22 +0x100689b0,22 @@", [{"both": [["0x10066250", "sub esp, 0xa0", "0x100689b0"], ["0x10066256", "push ebx", "0x100689b6"], ["0x10066257", "push esi", "0x100689b7"], ["0x10066258", "mov eax, dword ptr [ecx + 0x88]", "0x100689b8"], ["0x1006625e", "push edi", "0x100689be"], ["0x1006625f", "mov ebx, ecx", "0x100689bf"], ["0x10066261", "mov al, byte ptr [eax + 0xc]", "0x100689c1"], ["0x10066264", "and al, 0x10", "0x100689c4"], ["0x10066266", "cmp al, 1", "0x100689c6"], ["0x10066268", "mov eax, dword ptr [ebx + 0x54]", "0x100689c8"]]}, {"orig": [["0x1006626b", "sbb ecx, ecx"], ["0x1006626d", "neg ecx"]], "recomp": [["0x100689cb", "sbb cl, cl"], ["0x100689cd", "neg cl"]]}, {"both": [["0x1006626f", "mov byte ptr [eax + 0xc], cl", "0x100689cf"], ["0x10066272", "mov eax, dword ptr [ebx + 0x154]", "0x100689d2"], ["0x10066278", "test eax, eax", "0x100689d8"], ["0x1006627a", "je 0xa", "0x100689da"], ["0x1006627c", "cmp eax, 2", "0x100689dc"], ["0x1006627f", "je 0x1e", "0x100689df"], ["0x10066281", "jmp 0x242", "0x100689e1"], ["0x10066286", "mov dword ptr [ebx + 0x154], 1", "0x100689e6"], ["0x10066290", "mov dword ptr [ebx + 0xdc], 0", "0x100689f0"], ["0x1006629a", "jmp 0x229", "0x100689fa"]]}]], ["@@ -0x100662a6,25 +0x10068a06,25 @@", [{"both": [["0x100662a6", "mov esi, dword ptr [ebx]", "0x10068a06"], ["0x100662a8", "push eax", "0x10068a08"], ["0x100662a9", "mov ecx, ebx", "0x10068a09"], ["0x100662ab", "call dword ptr [esi + 0xcc]", "0x10068a0b"], ["0x100662b1", "fcom dword ptr [0.0 (FLOAT)]", "0x10068a11"], ["0x100662b7", "fstp dword ptr [esp + 0x14]", "0x10068a17"], ["0x100662bb", "fnstsw ax", "0x10068a1b"], ["0x100662bd", "test ah, 0x41", "0x10068a1d"], ["0x100662c0", "jne 0x196", "0x10068a20"], ["0x100662c6", "lea eax, [esp + 0x2c]", "0x10068a26"]]}, {"orig": [], "recomp": [["0x10068a2a", "mov ecx, 0x10"], ["0x10068a2f", "mov edi, eax"], ["0x10068a31", "mov dword ptr [esp + 0x28], eax"], ["0x10068a35", "mov dword ptr [esp + 0x24], MxMatrix::`vftable' (VTABLE)"]]}, {"both": [["0x100662ca", "mov esi, dword ptr [ebx + 0x168]", "0x10068a3d"]]}, {"orig": [["0x100662d0", "mov edi, eax"], ["0x100662d2", "mov ecx, 0x10"], ["0x100662d7", "mov dword ptr [esp + 0x24], MxMatrix::`vftable' (VTABLE)"], ["0x100662df", "mov dword ptr [esp + 0x28], eax"]], "recomp": []}, {"both": [["0x100662e3", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10068a43"], ["0x100662e5", "mov eax, dword ptr [esp + 0x28]", "0x10068a45"], ["0x100662e9", "xor edx, edx", "0x10068a49"], ["0x100662eb", "fld dword ptr [esp + 0x14]", "0x10068a4b"], ["0x100662ef", "fchs ", "0x10068a4f"], ["0x100662f1", "mov dword ptr [esp + 0x18], Vector3::`vftable' (VTABLE)", "0x10068a51"], ["0x100662f9", "fst dword ptr [esp + 0x10]", "0x10068a59"], ["0x100662fd", "fsin ", "0x10068a5d"], ["0x100662ff", "add eax, 0x30", "0x10068a5f"], ["0x10066302", "mov dword ptr [esp + 0x1c], eax", "0x10068a62"]]}]]]}, {"address": "0x100664e0", "recomp": "0x10068c40", "name": "Doors::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x100665b0", "recomp": "0x10068d10", "name": "LegoWorldPresenter::configureLegoWorldPresenter", "matching": 1.0, "diff": []}, {"address": "0x100665c0", "recomp": "0x10068d20", "name": "LegoWorldPresenter::LegoWorldPresenter", "matching": 1.0, "diff": []}, {"address": "0x10066630", "recomp": "0x10068d90", "name": "LegoWorldPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10066640", "recomp": "0x10068da0", "name": "LegoWorldPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x10066750", "recomp": "0x10068eb0", "name": "LegoWorldPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10066770", "recomp": "0x10068ed0", "name": "LegoWorldPresenter::~LegoWorldPresenter", "matching": 1.0, "diff": []}, {"address": "0x10066870", "recomp": "0x10068fd0", "name": "LegoWorldPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x10066a50", "recomp": "0x100691b0", "name": "LegoWorldPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x10066ac0", "recomp": "0x10069220", "name": "LegoWorldPresenter::StartingTickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x10066ac5,21 +0x10069225,21 @@", [{"both": [["0x10066ac5", "mov esi, ecx", "0x10069225"], ["0x10066ac7", "push 'MxDSSerialAction' (STRING)", "0x10069227"], ["0x10066acc", "mov ecx, dword ptr [esi + 0x1c]", "0x1006922c"], ["0x10066acf", "mov eax, dword ptr [ecx]", "0x1006922f"], ["0x10066ad1", "call dword ptr [eax + 0x10]", "0x10069231"], ["0x10066ad4", "test al, al", "0x10069234"], ["0x10066ad6", "mov eax, dword ptr [esi + 0x44]", "0x10069236"], ["0x10066ad9", "jne 0x30", "0x10069239"], ["0x10066adb", "mov ecx, dword ptr [eax]", "0x1006923b"], ["0x10066add", "mov dword ptr [esp + 8], ecx", "0x1006923d"]]}, {"orig": [["0x10066ae1", "cmp eax, ecx"]], "recomp": [["0x10069241", "cmp ecx, eax"]]}, {"both": [["0x10066ae3", "je 0x38", "0x10069243"], ["0x10066ae5", "xor edi, edi", "0x10069245"], ["0x10066ae7", "mov eax, dword ptr [esp + 8]", "0x10069247"], ["0x10066aeb", "mov ecx, dword ptr [eax + 8]", "0x1006924b"], ["0x10066aee", "cmp dword ptr [ecx + 8], edi", "0x1006924e"], ["0x10066af1", "jne 0x7", "0x10069251"], ["0x10066af3", "push 1", "0x10069253"], ["0x10066af5", "mov eax, dword ptr [ecx]", "0x10069255"], ["0x10066af7", "call dword ptr [eax + 0x44]", "0x10069257"], ["0x10066afa", "mov eax, dword ptr [esp + 8]", "0x1006925a"]]}]]]}, {"address": "0x10066b40", "recomp": "0x100692a0", "name": "LegoWorldPresenter::LoadWorld", "matching": 1.0, "effective": true, "diff": [["@@ -0x10066cf7,43 +0x10069457,43 @@", [{"both": [["0x10066cf7", "call _fopen (FUNCTION)", "0x10069457"], ["0x10066cfc", "add esp, 8", "0x1006945c"], ["0x10066cff", "mov dword ptr [ebp - 0x14], eax", "0x1006945f"], ["0x10066d02", "test eax, eax", "0x10069462"], ["0x10066d04", "je -0x3a", "0x10069464"], ["0x10066d06", "lea eax, [ebp - 0x24]", "0x10069466"], ["0x10066d09", "lea ecx, [ebp - 0x10]", "0x10069469"], ["0x10066d0c", "push eax", "0x1006946c"], ["0x10066d0d", "mov edx, dword ptr [ebp - 0x14]", "0x1006946d"], ["0x10066d10", "push ecx", "0x10069470"]]}, {"orig": [["0x10066d11", "xor edi, edi"]], "recomp": [["0x10069471", "xor esi, esi"]]}, {"both": [["0x10066d13", "push edx", "0x10069473"], ["0x10066d14", "call ReadModelDbWorlds (FUNCTION)", "0x10069474"], ["0x10066d19", "add esp, 0xc", "0x10069479"]]}, {"orig": [["0x10066d1c", "mov dword ptr [ebp - 0x18], edi"], ["0x10066d1f", "cmp dword ptr [ebp - 0x24], edi"]], "recomp": [["0x1006947c", "mov dword ptr [ebp - 0x18], esi"], ["0x1006947f", "cmp dword ptr [ebp - 0x24], esi"]]}, {"both": [["0x10066d22", "jle 0x25", "0x10069482"]]}, {"orig": [["0x10066d24", "mov esi, dword ptr [ebp + 8]"], ["0x10066d27", "push esi"]], "recomp": [["0x10069484", "mov edi, dword ptr [ebp + 8]"], ["0x10069487", "push edi"]]}, {"both": [["0x10066d28", "mov eax, dword ptr [ebp - 0x10]", "0x10069488"]]}, {"orig": [["0x10066d2b", "mov ecx, dword ptr [eax + edi]"]], "recomp": [["0x1006948b", "mov ecx, dword ptr [eax + esi]"]]}, {"both": [["0x10066d2e", "push ecx", "0x1006948e"], ["0x10066d2f", "call __strcmpi (FUNCTION)", "0x1006948f"], ["0x10066d34", "add esp, 8", "0x10069494"], ["0x10066d37", "test eax, eax", "0x10069497"], ["0x10066d39", "je 0xe", "0x10069499"]]}, {"orig": [["0x10066d3b", "add edi, 0x18"]], "recomp": [["0x1006949b", "add esi, 0x18"]]}, {"both": [["0x10066d3e", "inc dword ptr [ebp - 0x18]", "0x1006949e"], ["0x10066d41", "mov eax, dword ptr [ebp - 0x18]", "0x100694a1"]]}, {"orig": [["0x10066d44", "cmp eax, dword ptr [ebp - 0x24]"], ["0x10066d47", "jl -0x22"]], "recomp": [["0x100694a4", "cmp dword ptr [ebp - 0x24], eax"], ["0x100694a7", "jg -0x22"]]}, {"both": [["0x10066d49", "mov eax, dword ptr [ebp - 0x18]", "0x100694a9"]]}, {"orig": [["0x10066d4c", "cmp eax, dword ptr [ebp - 0x24]"]], "recomp": [["0x100694ac", "cmp dword ptr [ebp - 0x24], eax"]]}, {"both": [["0x10066d4f", "je -0x89", "0x100694af"], ["0x10066d55", "cmp dword ptr [g_wdbOffset (DATA)], 0", "0x100694b5"], ["0x10066d5c", "jne 0x2fa", "0x100694bc"], ["0x10066d62", "mov eax, dword ptr [ebp - 0x14]", "0x100694c2"], ["0x10066d65", "lea ecx, [ebp - 0x1c]", "0x100694c5"], ["0x10066d68", "push eax", "0x100694c8"], ["0x10066d69", "push 1", "0x100694c9"], ["0x10066d6b", "push 4", "0x100694cb"], ["0x10066d6d", "push ecx", "0x100694cd"], ["0x10066d6e", "call _fread (FUNCTION)", "0x100694ce"]]}]]]}, {"address": "0x10067300", "recomp": "0x10069a60", "name": "LegoPartPresenter::~LegoPartPresenter", "matching": 1.0, "diff": []}, {"address": "0x10067360", "recomp": "0x10069ac0", "name": "LegoWorldPresenter::FUN_10067360", "matching": 1.0, "diff": []}, {"address": "0x100674b0", "recomp": "0x10069c10", "name": "LegoWorldPresenter::FUN_100674b0", "matching": 0.956268221574344, "diff": [["@@ -0x10067525,67 +0x10069c85,67 @@", [{"both": [["0x10067525", "pop esi", "0x10069c85"], ["0x10067526", "pop ebx", "0x10069c86"], ["0x10067527", "mov esp, ebp", "0x10069c87"], ["0x10067529", "pop ebp", "0x10069c89"], ["0x1006752a", "ret 0xc", "0x10069c8a"], ["0x1006752d", "lea ecx, [ebp - 0x5c]", "0x10069c8d"], ["0x10067530", "call MxDSChunk::MxDSChunk (FUNCTION)", "0x10069c90"], ["0x10067535", "mov eax, dword ptr [ebp + 8]", "0x10069c95"], ["0x10067538", "mov dword ptr [ebp - 4], 0", "0x10069c98"], ["0x1006753f", "mov ecx, dword ptr [eax + 4]", "0x10069c9f"]]}, {"orig": [], "recomp": [["0x10069ca2", "mov eax, dword ptr [ebp - 0x3c]"], ["0x10069ca5", "mov ebx, 2"]]}, {"both": [["0x10067542", "mov dword ptr [ebp - 0x48], ecx", "0x10069caa"], ["0x10067545", "lea ecx, [ebp - 0x1ac]", "0x10069cad"]]}, {"orig": [["0x1006754b", "mov eax, dword ptr [ebp - 0x3c]"], ["0x1006754e", "mov ebx, 2"]], "recomp": []}, {"both": [["0x10067553", "mov dword ptr [ebp - 0x44], eax", "0x10069cb3"], ["0x10067556", "call MxDSAction::MxDSAction (FUNCTION)", "0x10069cb6"], ["0x1006755b", "mov byte ptr [ebp - 4], 1", "0x10069cbb"], ["0x1006755f", "mov eax, dword ptr [ebp + 8]", "0x10069cbf"], ["0x10067562", "mov edi, Vector3::`vftable' (VTABLE)", "0x10069cc2"], ["0x10067567", "add eax, 0x10", "0x10069cc7"], ["0x1006756a", "lea ecx, [ebp - 0x14]", "0x10069cca"], ["0x1006756d", "push ecx", "0x10069ccd"], ["0x1006756e", "mov byte ptr [ebp - 4], bl", "0x10069cce"], ["0x10067571", "mov dword ptr [ebp - 0x40], 0", "0x10069cd1"], ["0x10067578", "lea ecx, [ebp - 0x16c]", "0x10069cd8"], ["0x1006757e", "mov dword ptr [ebp - 0x18], eax", "0x10069cde"], ["0x10067581", "mov dword ptr [ebp - 0x10], eax", "0x10069ce1"]]}, {"orig": [], "recomp": [["0x10069ce4", "mov eax, dword ptr [ebp - 0x16c]"]]}, {"both": [["0x10067584", "mov dword ptr [ebp - 0x14], edi", "0x10069cea"]]}, {"orig": [["0x10067587", "mov eax, dword ptr [ebp - 0x16c]"]], "recomp": []}, {"both": [["0x1006758d", "call dword ptr [eax + 0x88]", "0x10069ced"], ["0x10067593", "mov edx, dword ptr [ebp + 8]", "0x10069cf3"], ["0x10067596", "lea eax, [ebp - 0x14]", "0x10069cf6"], ["0x10067599", "add edx, 0x1c", "0x10069cf9"], ["0x1006759c", "push eax", "0x10069cfc"], ["0x1006759d", "lea ecx, [ebp - 0x158]", "0x10069cfd"]]}, {"orig": [], "recomp": [["0x10069d03", "mov eax, dword ptr [ebp - 0x158]"]]}, {"both": [["0x100675a3", "mov dword ptr [ebp - 0x2c], edx", "0x10069d09"], ["0x100675a6", "mov dword ptr [ebp - 0x10], edx", "0x10069d0c"], ["0x100675a9", "mov dword ptr [ebp - 0x14], edi", "0x10069d0f"]]}, {"orig": [["0x100675ac", "mov eax, dword ptr [ebp - 0x158]"]], "recomp": []}, {"both": [["0x100675b2", "call dword ptr [eax + 0x88]", "0x10069d12"], ["0x100675b8", "mov eax, dword ptr [ebp + 8]", "0x10069d18"], ["0x100675bb", "lea ecx, [ebp - 0x144]", "0x10069d1b"], ["0x100675c1", "add eax, 0x28", "0x10069d21"], ["0x100675c4", "mov dword ptr [ebp - 0x34], eax", "0x10069d24"], ["0x100675c7", "mov dword ptr [ebp - 0x10], eax", "0x10069d27"]]}, {"orig": [], "recomp": [["0x10069d2a", "mov eax, dword ptr [ebp - 0x144]"]]}, {"both": [["0x100675ca", "mov dword ptr [ebp - 0x14], edi", "0x10069d30"], ["0x100675cd", "lea edi, [ebp - 0x14]", "0x10069d33"], ["0x100675d0", "push edi", "0x10069d36"]]}, {"orig": [["0x100675d1", "mov eax, dword ptr [ebp - 0x144]"]], "recomp": []}, {"both": [["0x100675d7", "call dword ptr [eax + 0x88]", "0x10069d37"], ["0x100675dd", "mov eax, dword ptr [esi + 0x50]", "0x10069d3d"]]}, {"orig": [], "recomp": [["0x10069d40", "mov edx, dword ptr [ebp - 0x40]"]]}, {"both": [["0x100675e0", "mov byte ptr [ebp - 4], 3", "0x10069d43"], ["0x100675e4", "lea ecx, [eax + 1]", "0x10069d47"]]}, {"orig": [], "recomp": [["0x10069d4a", "mov dword ptr [ebp - 0x190], eax"]]}, {"both": [["0x100675e7", "mov dword ptr [esi + 0x50], ecx", "0x10069d50"], ["0x100675ea", "lea ecx, [ebp - 0x18c]", "0x10069d53"]]}, {"orig": [["0x100675f0", "mov dword ptr [ebp - 0x190], eax"], ["0x100675f6", "mov edx, dword ptr [ebp - 0x40]"]], "recomp": []}, {"both": [["0x100675f9", "mov dword ptr [ebp - 0x10], edx", "0x10069d59"], ["0x100675fc", "lea edx, [ebp - 0x10]", "0x10069d5c"], ["0x100675ff", "push edx", "0x10069d5f"], ["0x10067600", "call MxAtomId::operator= (FUNCTION)", "0x10069d60"], ["0x10067605", "mov byte ptr [ebp - 4], bl", "0x10069d65"], ["0x10067608", "call <OFFSET9>", "0x10069d68"], ["0x1006760d", "mov dword ptr [ebp - 0x10], 0", "0x10069d6d"], ["0x10067614", "mov eax, dword ptr [ebp + 8]", "0x10069d74"], ["0x10067617", "mov eax, dword ptr [eax + 0xc]", "0x10069d77"], ["0x1006761a", "mov ecx, 'LegoActorPresenter' (STRING)", "0x10069d7a"]]}]], ["@@ -0x1006775e,63 +0x10069ebe,63 @@", [{"both": [["0x1006775e", "cmp dword ptr [ebp - 0x10], ebx", "0x10069ebe"], ["0x10067761", "je 0x94", "0x10069ec1"], ["0x10067767", "lea eax, [ebp - 0x20]", "0x10069ec7"], ["0x1006776a", "lea ecx, [ebp - 0x28]", "0x10069eca"], ["0x1006776d", "push eax", "0x10069ecd"], ["0x1006776e", "mov esi, Mx3DPointFloat::`vftable' (VTABLE)", "0x10069ece"], ["0x10067773", "call Vector2::Vector2 (FUNCTION)", "0x10069ed3"], ["0x10067778", "lea eax, [ebp - 0x28]", "0x10069ed8"], ["0x1006777b", "lea ecx, [ebp - 0x16c]", "0x10069edb"], ["0x10067781", "push eax", "0x10069ee1"]]}, {"orig": [], "recomp": [["0x10069ee2", "mov edi, dword ptr [ebp - 0x16c]"]]}, {"both": [["0x10067782", "mov dword ptr [ebp - 0x28], esi", "0x10069ee8"], ["0x10067785", "mov dword ptr [ebp - 0x20], ebx", "0x10069eeb"], ["0x10067788", "mov dword ptr [ebp - 0x1c], ebx", "0x10069eee"], ["0x1006778b", "mov dword ptr [ebp - 0x18], ebx", "0x10069ef1"]]}, {"orig": [["0x1006778e", "mov edi, dword ptr [ebp - 0x16c]"]], "recomp": []}, {"both": [["0x10067794", "call dword ptr [edi + 0x88]", "0x10069ef4"], ["0x1006779a", "lea ecx, [ebp - 0x20]", "0x10069efa"], ["0x1006779d", "mov edi, 0x3f800000", "0x10069efd"], ["0x100677a2", "push ecx", "0x10069f02"], ["0x100677a3", "lea ecx, [ebp - 0x28]", "0x10069f03"], ["0x100677a6", "call Vector2::Vector2 (FUNCTION)", "0x10069f06"], ["0x100677ab", "lea eax, [ebp - 0x28]", "0x10069f0b"]]}, {"orig": [["0x100677ae", "lea ecx, [ebp - 0x158]"]], "recomp": [["0x10069f0e", "lea ecx, [ebp - 0x144]"]]}, {"both": [["0x100677b4", "push eax", "0x10069f14"], ["0x100677b5", "mov dword ptr [ebp - 0x28], esi", "0x10069f15"]]}, {"orig": [], "recomp": [["0x10069f18", "mov eax, dword ptr [ebp - 0x144]"]]}, {"both": [["0x100677b8", "mov dword ptr [ebp - 0x20], ebx", "0x10069f1e"], ["0x100677bb", "mov dword ptr [ebp - 0x1c], ebx", "0x10069f21"], ["0x100677be", "mov dword ptr [ebp - 0x18], edi", "0x10069f24"]]}, {"orig": [["0x100677c1", "mov eax, dword ptr [ebp - 0x158]"]], "recomp": []}, {"both": [["0x100677c7", "call dword ptr [eax + 0x88]", "0x10069f27"], ["0x100677cd", "lea ecx, [ebp - 0x20]", "0x10069f2d"], ["0x100677d0", "push ecx", "0x10069f30"], ["0x100677d1", "lea ecx, [ebp - 0x28]", "0x10069f31"], ["0x100677d4", "call Vector2::Vector2 (FUNCTION)", "0x10069f34"]]}, {"orig": [["0x100677d9", "lea ecx, [ebp - 0x144]"]], "recomp": [["0x10069f39", "lea ecx, [ebp - 0x158]"]]}, {"both": [["0x100677df", "mov dword ptr [ebp - 0x28], esi", "0x10069f3f"], ["0x100677e2", "lea esi, [ebp - 0x28]", "0x10069f42"], ["0x100677e5", "mov dword ptr [ebp - 0x20], ebx", "0x10069f45"], ["0x100677e8", "push esi", "0x10069f48"], ["0x100677e9", "mov dword ptr [ebp - 0x1c], edi", "0x10069f49"], ["0x100677ec", "mov dword ptr [ebp - 0x18], ebx", "0x10069f4c"]]}, {"orig": [["0x100677ef", "mov ebx, dword ptr [ebp - 0x144]"]], "recomp": [["0x10069f4f", "mov ebx, dword ptr [ebp - 0x158]"]]}, {"both": [["0x100677f5", "call dword ptr [ebx + 0x88]", "0x10069f55"], ["0x100677fb", "lea eax, [ebp - 0x1ac]", "0x10069f5b"]]}, {"orig": [], "recomp": [["0x10069f61", "mov ecx, dword ptr [ebp + 0x10]"], ["0x10069f64", "push ecx"]]}, {"both": [["0x10067801", "mov edx, dword ptr [ebp + 8]", "0x10069f65"], ["0x10067804", "mov dword ptr [ebp - 0xac], eax", "0x10069f68"], ["0x1006780a", "mov al, byte ptr [edx + 0x34]", "0x10069f6e"]]}, {"orig": [["0x1006780d", "mov ecx, dword ptr [ebp + 0x10]"], ["0x10067810", "lea edx, [ebp - 0x5c]"], ["0x10067813", "push ecx"]], "recomp": []}, {"both": [["0x10067814", "push eax", "0x10069f71"], ["0x10067815", "mov ecx, dword ptr [ebp - 0x10]", "0x10069f72"], ["0x10067818", "push ecx", "0x10069f75"]]}, {"orig": [], "recomp": [["0x10069f76", "lea edx, [ebp - 0x5c]"]]}, {"both": [["0x10067819", "push edx", "0x10069f79"], ["0x1006781a", "lea ecx, [ebp - 0xc8]", "0x10069f7a"], ["0x10067820", "call LegoModelPresenter::FUN_1007ff70 (FUNCTION)", "0x10069f80"], ["0x10067825", "mov ecx, dword ptr [ebp - 0x3c]", "0x10069f85"], ["0x10067828", "push ecx", "0x10069f88"], ["0x10067829", "call ??3@YAXPAX@Z (FUNCTION)", "0x10069f89"], ["0x1006782e", "mov byte ptr [ebp - 4], 2", "0x10069f8e"], ["0x10067832", "add esp, 4", "0x10069f92"], ["0x10067835", "call <OFFSET30>", "0x10069f95"], ["0x1006783a", "mov byte ptr [ebp - 4], 1", "0x10069f9a"]]}]]]}, {"address": "0x100679c0", "recomp": "0x1006a120", "name": "LegoActorPresenter::~LegoActorPresenter", "matching": 1.0, "diff": []}, {"address": "0x10067a10", "recomp": "0x1006a170", "name": "LegoModelPresenter::~LegoModelPresenter", "matching": 1.0, "diff": []}, {"address": "0x10067a70", "recomp": "0x1006a1d0", "name": "LegoWorldPresenter::VTable0x60", "matching": 1.0, "diff": []}, {"address": "0x10067b00", "recomp": "0x1006a260", "name": "LegoWorldPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x10067bb0", "recomp": "0x1006a310", "name": "DuneBuggy::DuneBuggy", "matching": 1.0, "diff": []}, {"address": "0x10067c30", "recomp": "0x1006a390", "name": "DuneBuggy::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10067c40", "recomp": "0x1006a3a0", "name": "DuneBuggy::IsA", "matching": 1.0, "diff": []}, {"address": "0x10067dc0", "recomp": "0x1006a520", "name": "DuneBuggy::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10067e30", "recomp": "0x1006a590", "name": "DuneBuggy::Create", "matching": 1.0, "diff": []}, {"address": "0x10067ec0", "recomp": "0x1006a620", "name": "DuneBuggy::Animate", "matching": 1.0, "diff": []}, {"address": "0x10067fa0", "recomp": "0x1006a700", "name": "DuneBuggy::Exit", "matching": 1.0, "diff": []}, {"address": "0x10068060", "recomp": "0x1006a7c0", "name": "DuneBuggy::HandleClick", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006808b,27 +0x1006a7eb,27 @@", [{"both": [["0x1006808b", "call CurrentWorld (FUNCTION)", "0x1006a7eb"], ["0x10068090", "mov dword ptr [eax + 0x13c], 0x3a", "0x1006a7f0"], ["0x1006809a", "push 1", "0x1006a7fa"], ["0x1006809c", "push 0", "0x1006a7fc"], ["0x1006809e", "push 0x32", "0x1006a7fe"], ["0x100680a0", "push 3", "0x1006a800"], ["0x100680a2", "call TransitionManager (FUNCTION)", "0x1006a802"], ["0x100680a7", "mov ecx, eax", "0x1006a807"], ["0x100680a9", "call MxTransitionManager::StartTransition (FUNCTION)", "0x1006a809"], ["0x100680ae", "call UserActor (FUNCTION)", "0x1006a80e"]]}, {"orig": [["0x100680b3", "mov edi, dword ptr [eax]"], ["0x100680b5", "mov ebx, eax"]], "recomp": [["0x1006a813", "mov ebx, dword ptr [eax]"], ["0x1006a815", "mov ebp, eax"]]}, {"both": [["0x100680b7", "call GameState (FUNCTION)", "0x1006a817"]]}, {"orig": [["0x100680bc", "mov ebp, eax"], ["0x100680be", "mov ecx, ebx"], ["0x100680c0", "call dword ptr [edi + 0x60]"], ["0x100680c3", "cmp al, byte ptr [ebp + 0xc]"]], "recomp": [["0x1006a81c", "mov edi, eax"], ["0x1006a81e", "mov ecx, ebp"], ["0x1006a820", "call dword ptr [ebx + 0x60]"], ["0x1006a823", "cmp al, byte ptr [edi + 0xc]"]]}, {"both": [["0x100680c6", "je 0xf", "0x1006a826"], ["0x100680c8", "call UserActor (FUNCTION)", "0x1006a828"], ["0x100680cd", "mov edx, dword ptr [eax]", "0x1006a82d"], ["0x100680cf", "mov ecx, eax", "0x1006a82f"], ["0x100680d1", "call dword ptr [edx + 0xe4]", "0x1006a831"], ["0x100680d7", "call Timer (FUNCTION)", "0x1006a837"], ["0x100680dc", "cmp byte ptr [eax + 0xc], 0", "0x1006a83c"], ["0x100680e0", "je 0x8", "0x1006a840"], ["0x100680e2", "fild dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x1006a842"], ["0x100680e8", "jmp 0x11", "0x1006a848"]]}]]]}, {"address": "0x100681b0", "recomp": "0x1006a910", "name": "DuneBuggy::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10068270", "recomp": "0x1006a9d0", "name": "DuneBuggy::HandlePathStruct", "matching": 1.0, "diff": []}, {"address": "0x10068290", "recomp": "0x1006a9f0", "name": "DuneBuggy::GetColorOffset", "matching": 1.0, "diff": []}, {"address": "0x10068350", "recomp": "0x1006aab0", "name": "DuneBuggy::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x10068420", "recomp": "0x1006ab80", "name": "LegoAnimPresenter::LegoAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x10068530", "recomp": "0x1006ac90", "name": "LegoAnimPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10068540", "recomp": "0x1006aca0", "name": "LegoAnimPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x10068650", "recomp": "0x1006adb0", "name": "LegoAnimPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10068670", "recomp": "0x1006add0", "name": "LegoAnimPresenter::~LegoAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x100686f0", "recomp": "0x1006ae50", "name": "LegoAnimPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x10068770", "recomp": "0x1006aed0", "name": "LegoAnimPresenter::Destroy", "matching": 0.9333333333333333, "diff": [["@@ -0x100687f5,75 +0x1006af55,73 @@", [{"both": [["0x100687f5", "call dword ptr [eax]", "0x1006af55"], ["0x100687f7", "mov eax, dword ptr [ebp - 0x10]", "0x1006af57"], ["0x100687fa", "mov eax, dword ptr [eax + 0x78]", "0x1006af5a"], ["0x100687fd", "test eax, eax", "0x1006af5d"], ["0x100687ff", "je 0x9", "0x1006af5f"], ["0x10068801", "push eax", "0x1006af61"], ["0x10068802", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006af62"], ["0x10068807", "add esp, 4", "0x1006af67"], ["0x1006880a", "mov eax, dword ptr [ebp - 0x10]", "0x1006af6a"], ["0x1006880d", "cmp dword ptr [eax + 0x98], 0", "0x1006af6d"]]}, {"orig": [["0x10068814", "je 0xcf"]], "recomp": [["0x1006af74", "je 0xca"]]}, {"both": [["0x1006881a", "call VariableTable (FUNCTION)", "0x1006af7a"], ["0x1006881f", "mov esi, eax", "0x1006af7f"], ["0x10068821", "mov eax, dword ptr [ebp - 0x10]", "0x1006af81"], ["0x10068824", "mov ecx, dword ptr [eax + 0x98]", "0x1006af84"], ["0x1006882a", "mov eax, dword ptr [ecx + 4]", "0x1006af8a"], ["0x1006882d", "mov edx, dword ptr [eax]", "0x1006af8d"], ["0x1006882f", "mov dword ptr [ebp - 0x14], edx", "0x1006af8f"]]}, {"orig": [["0x10068832", "cmp edx, eax"], ["0x10068834", "je 0x8a"]], "recomp": [["0x1006af92", "cmp eax, edx"], ["0x1006af94", "je 0x85"]]}, {"both": [["0x1006883a", "mov edi, dword ptr [ebp - 0x14]", "0x1006af9a"], ["0x1006883d", "push '' (STRING)", "0x1006af9d"], ["0x10068842", "mov eax, dword ptr [edi + 0xc]", "0x1006afa2"], ["0x10068845", "add edi, 0xc", "0x1006afa5"], ["0x10068848", "mov ecx, esi", "0x1006afa8"], ["0x1006884a", "push eax", "0x1006afaa"], ["0x1006884b", "call MxVariableTable::SetVariable (FUNCTION)", "0x1006afab"], ["0x10068850", "mov eax, dword ptr [edi]", "0x1006afb0"], ["0x10068852", "push eax", "0x1006afb2"], ["0x10068853", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006afb3"], ["0x10068858", "add esp, 4", "0x1006afb8"], ["0x1006885b", "mov eax, dword ptr [ebp - 0x14]", "0x1006afbb"], ["0x1006885e", "mov ecx, dword ptr [eax + 0x10]", "0x1006afbe"], ["0x10068861", "push ecx", "0x1006afc1"], ["0x10068862", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006afc2"], ["0x10068867", "add esp, 4", "0x1006afc7"]]}, {"orig": [["0x1006886a", "mov ecx, dword ptr [ebp - 0x14]"], ["0x1006886d", "mov eax, dword ptr [ecx + 8]"]], "recomp": [["0x1006afca", "mov edx, dword ptr [ebp - 0x14]"], ["0x1006afcd", "mov ecx, dword ptr [edx + 8]"], ["0x1006afd0", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], ecx"], ["0x1006afd6", "je 0xe"], ["0x1006afd8", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x10068870", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006afda"]]}, {"orig": [["0x10068876", "je 0x13"], ["0x10068878", "mov ecx, dword ptr [eax]"], ["0x1006887a", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], ecx"], ["0x10068880", "je 0x4"], ["0x10068882", "mov eax, ecx"]], "recomp": [["0x1006afe0", "je 0x25"], ["0x1006afe2", "mov ecx, eax"]]}, {"both": [["0x10068884", "jmp -0xe", "0x1006afe4"]]}, {"orig": [["0x10068886", "mov dword ptr [ebp - 0x14], eax"], ["0x10068889", "jmp 0x24"]], "recomp": []}, {"both": [["0x1006888b", "mov eax, dword ptr [ebp - 0x14]", "0x1006afe6"], ["0x1006888e", "mov ecx, dword ptr [eax + 4]", "0x1006afe9"], ["0x10068891", "cmp dword ptr [ecx + 8], eax", "0x1006afec"], ["0x10068894", "jne 0xe", "0x1006afef"], ["0x10068896", "mov dword ptr [ebp - 0x14], ecx", "0x1006aff1"], ["0x10068899", "mov ecx, dword ptr [ecx + 4]", "0x1006aff4"], ["0x1006889c", "mov eax, dword ptr [ebp - 0x14]", "0x1006aff7"], ["0x1006889f", "cmp dword ptr [ecx + 8], eax", "0x1006affa"], ["0x100688a2", "je -0xe", "0x1006affd"], ["0x100688a4", "mov eax, dword ptr [ebp - 0x14]", "0x1006afff"], ["0x100688a7", "cmp dword ptr [eax + 8], ecx", "0x1006b002"], ["0x100688aa", "je 0x3", "0x1006b005"], ["0x100688ac", "mov dword ptr [ebp - 0x14], ecx", "0x1006b007"], ["0x100688af", "mov eax, dword ptr [ebp - 0x10]", "0x1006b00a"], ["0x100688b2", "mov ecx, dword ptr [ebp - 0x14]", "0x1006b00d"], ["0x100688b5", "mov edx, dword ptr [eax + 0x98]", "0x1006b010"], ["0x100688bb", "cmp dword ptr [edx + 4], ecx", "0x1006b016"]]}, {"orig": [["0x100688be", "jne -0x8a"]], "recomp": [["0x1006b019", "jne -0x85"]]}, {"both": [["0x100688c4", "mov eax, dword ptr [ebp - 0x10]", "0x1006b01f"], ["0x100688c7", "mov ecx, dword ptr [eax + 0x98]", "0x1006b022"], ["0x100688cd", "mov dword ptr [ebp - 0x14], ecx", "0x1006b028"], ["0x100688d0", "test ecx, ecx", "0x1006b02b"], ["0x100688d2", "je 0x15", "0x1006b02d"], ["0x100688d4", "mov byte ptr [ebp - 4], 0", "0x1006b02f"], ["0x100688d8", "call <OFFSET9>", "0x1006b033"], ["0x100688dd", "mov eax, dword ptr [ebp - 0x14]", "0x1006b038"], ["0x100688e0", "push eax", "0x1006b03b"], ["0x100688e1", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006b03c"]]}]], ["@@ -0x10068998,10 +0x1006b0f3,11 @@", [{"both": [["0x10068998", "pop esi", "0x1006b0f3"], ["0x10068999", "pop ebx", "0x1006b0f4"], ["0x1006899a", "mov esp, ebp", "0x1006b0f5"], ["0x1006899c", "pop ebp", "0x1006b0f7"], ["0x1006899d", "ret 4", "0x1006b0f8"], ["0x100689a0", "mov ecx, dword ptr [ebp - 0x14]", "0x1006b0fb"], ["0x100689a3", "jmp map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::~map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> > (FUNCTION)", "0x1006b0fe"], ["0x100689a8", "mov eax, <OFFSET13>", "0x1006b103"], ["0x100689ad", "jmp ___CxxFrameHandler (FUNCTION)", "0x1006b108"], ["0x100689b2", "lea ecx, [ebp - 0x18]", "0x1006b10d"]]}, {"orig": [], "recomp": [["0x1006b110", "jmp MxAutoLock::~MxAutoLock (FUNCTION)"]]}]]]}, {"address": "0x100689c0", "recomp": "0x1006b120", "name": "map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::~map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >", "matching": 1.0, "diff": []}, {"address": "0x10068a10", "recomp": "0x1006b170", "name": "_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::~_Tree<char const *,pair<char const * const,char const *>,map", "matching": 0.9242424242424242, "diff": [["@@ -0x10068a10,21 +0x1006b170,21 @@", [{"both": [["0x10068a10", "sub esp, 0x10", "0x1006b170"], ["0x10068a13", "push ebx", "0x1006b173"], ["0x10068a14", "push esi", "0x1006b174"], ["0x10068a15", "push edi", "0x1006b175"], ["0x10068a16", "mov esi, ecx", "0x1006b176"], ["0x10068a18", "cmp dword ptr [ecx + 0xc], 0", "0x1006b178"], ["0x10068a1c", "mov ecx, dword ptr [esi + 4]", "0x1006b17c"]]}, {"orig": [["0x10068a1f", "mov dword ptr [esp + 0x14], ecx"]], "recomp": [["0x1006b17f", "mov dword ptr [esp + 0x10], ecx"]]}, {"both": [["0x10068a23", "mov eax, dword ptr [ecx]", "0x1006b183"], ["0x10068a25", "mov dword ptr [esp + 0xc], eax", "0x1006b185"]]}, {"orig": [["0x10068a29", "mov dword ptr [esp + 0x10], eax"]], "recomp": [["0x1006b189", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x10068a2d", "je 0x4e", "0x1006b18d"], ["0x10068a2f", "cmp dword ptr [ecx], eax", "0x1006b18f"], ["0x10068a31", "jne 0x4a", "0x1006b191"], ["0x10068a33", "cmp ecx, ecx", "0x1006b193"], ["0x10068a35", "jne 0x46", "0x1006b195"], ["0x10068a37", "mov edi, dword ptr [ecx + 4]", "0x1006b197"], ["0x10068a3a", "mov ebx, edi", "0x1006b19a"], ["0x10068a3c", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], ebx", "0x1006b19c"], ["0x10068a42", "je 0x1a", "0x1006b1a2"], ["0x10068a44", "mov eax, dword ptr [ebx + 8]", "0x1006b1a4"]]}]], ["@@ -0x10068a5c,25 +0x1006b1bc,25 @@", [{"both": [["0x10068a5c", "jmp -0x22", "0x1006b1bc"], ["0x10068a5e", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)]", "0x1006b1be"], ["0x10068a63", "mov ecx, dword ptr [esi + 4]", "0x1006b1c3"], ["0x10068a66", "mov dword ptr [ecx + 4], eax", "0x1006b1c6"], ["0x10068a69", "mov eax, dword ptr [esi + 4]", "0x1006b1c9"], ["0x10068a6c", "mov dword ptr [esi + 0xc], 0", "0x1006b1cc"], ["0x10068a73", "mov dword ptr [eax], eax", "0x1006b1d3"], ["0x10068a75", "mov eax, dword ptr [esi + 4]", "0x1006b1d5"], ["0x10068a78", "mov dword ptr [eax + 8], eax", "0x1006b1d8"], ["0x10068a7b", "jmp 0x36", "0x1006b1db"]]}, {"orig": [["0x10068a7d", "mov eax, dword ptr [esp + 0x14]"]], "recomp": [["0x1006b1dd", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x10068a81", "cmp dword ptr [esp + 0xc], eax", "0x1006b1e1"], ["0x10068a85", "je 0x2c", "0x1006b1e5"]]}, {"orig": [["0x10068a87", "mov eax, dword ptr [esp + 0x10]"], ["0x10068a8b", "lea ecx, [esp + 0x10]"]], "recomp": [["0x1006b1e7", "mov eax, dword ptr [esp + 0x14]"], ["0x1006b1eb", "lea ecx, [esp + 0x14]"]]}, {"both": [["0x10068a8f", "mov dword ptr [esp + 0x18], eax", "0x1006b1ef"], ["0x10068a93", "call _Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::iterator::_Inc (FUNCTION)", "0x1006b1f3"], ["0x10068a98", "mov eax, dword ptr [esp + 0x18]", "0x1006b1f8"], ["0x10068a9c", "lea ecx, [esp + 0xc]", "0x1006b1fc"], ["0x10068aa0", "push eax", "0x1006b200"], ["0x10068aa1", "push ecx", "0x1006b201"], ["0x10068aa2", "mov ecx, esi", "0x1006b202"], ["0x10068aa4", "call _Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::erase (FUNCTION)", "0x1006b204"], ["0x10068aa9", "mov ecx, dword ptr [esp + 0x10]", "0x1006b209"], ["0x10068aad", "cmp dword ptr [esp + 0x14], ecx", "0x1006b20d"]]}]]]}, {"address": "0x10068ae0", "recomp": "0x1006b240", "name": "_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::iterator::_Inc", "matching": 1.0, "diff": []}, {"address": "0x10068b20", "recomp": "0x1006b280", "name": "_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::erase", "matching": 0.7138964577656676, "diff": [["@@ -0x10068bd6,51 +0x1006b336,51 @@", [{"both": [["0x10068bd6", "mov dword ptr [eax + 8], edx", "0x1006b336"], ["0x10068bd9", "jmp 0x2", "0x1006b339"], ["0x10068bdb", "mov dword ptr [eax], edx", "0x1006b33b"], ["0x10068bdd", "mov ebx, dword ptr [esi + 4]", "0x1006b33d"], ["0x10068be0", "mov eax, dword ptr [esp + 0x10]", "0x1006b340"], ["0x10068be4", "cmp dword ptr [ebx], eax", "0x1006b344"], ["0x10068be6", "jne 0x26", "0x1006b346"], ["0x10068be8", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)]", "0x1006b348"], ["0x10068bed", "cmp dword ptr [edi], eax", "0x1006b34d"], ["0x10068bef", "je 0x14", "0x1006b34f"]]}, {"orig": [["0x10068bf1", "mov edi, edx"], ["0x10068bf3", "mov eax, dword ptr [edi]"], ["0x10068bf5", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax"]], "recomp": [["0x1006b351", "mov eax, edx"], ["0x1006b353", "mov edi, dword ptr [eax]"], ["0x1006b355", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10068bfb", "je 0x4", "0x1006b35b"]]}, {"orig": [["0x10068bfd", "mov edi, eax"]], "recomp": [["0x1006b35d", "mov eax, edi"]]}, {"both": [["0x10068bff", "jmp -0xe", "0x1006b35f"]]}, {"orig": [["0x10068c01", "mov dword ptr [ebx], edi"]], "recomp": [["0x1006b361", "mov dword ptr [ebx], eax"]]}, {"both": [["0x10068c03", "jmp 0x9", "0x1006b363"], ["0x10068c05", "mov eax, dword ptr [esp + 0x10]", "0x1006b365"], ["0x10068c09", "mov ebp, dword ptr [eax + 4]", "0x1006b369"], ["0x10068c0c", "mov dword ptr [ebx], ebp", "0x1006b36c"], ["0x10068c0e", "mov edi, dword ptr [esi + 4]", "0x1006b36e"], ["0x10068c11", "mov eax, dword ptr [esp + 0x10]", "0x1006b371"], ["0x10068c15", "add edi, 8", "0x1006b375"], ["0x10068c18", "cmp dword ptr [edi], eax", "0x1006b378"]]}, {"orig": [["0x10068c1a", "jne 0x88"]], "recomp": [["0x1006b37a", "jne 0x8a"]]}, {"both": [["0x10068c20", "mov ebx, dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)]", "0x1006b380"], ["0x10068c26", "cmp dword ptr [eax], ebx", "0x1006b386"], ["0x10068c28", "je 0x15", "0x1006b388"]]}, {"orig": [["0x10068c2a", "mov eax, edx"], ["0x10068c2c", "mov ebx, dword ptr [eax + 8]"], ["0x10068c2f", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], ebx"]], "recomp": [["0x1006b38a", "mov ebx, edx"], ["0x1006b38c", "mov eax, dword ptr [ebx + 8]"], ["0x1006b38f", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10068c35", "je 0x4", "0x1006b395"]]}, {"orig": [["0x10068c37", "mov eax, ebx"]], "recomp": [["0x1006b397", "mov ebx, eax"]]}, {"both": [["0x10068c39", "jmp -0xf", "0x1006b399"]]}, {"orig": [["0x10068c3b", "mov dword ptr [edi], eax"], ["0x10068c3d", "jmp 0x69"]], "recomp": [["0x1006b39b", "mov dword ptr [edi], ebx"], ["0x1006b39d", "jmp 0x6b"]]}, {"both": [["0x10068c3f", "mov eax, dword ptr [esp + 0x10]", "0x1006b39f"], ["0x10068c43", "mov ebx, dword ptr [eax + 4]", "0x1006b3a3"], ["0x10068c46", "mov dword ptr [edi], ebx", "0x1006b3a6"]]}, {"orig": [["0x10068c48", "jmp 0x5e"]], "recomp": [["0x1006b3a8", "jmp 0x60"]]}, {"both": [["0x10068c4a", "mov eax, dword ptr [esp + 0x10]", "0x1006b3aa"], ["0x10068c4e", "mov dword ptr [ebx + 4], ecx", "0x1006b3ae"], ["0x10068c51", "mov ebx, dword ptr [eax]", "0x1006b3b1"], ["0x10068c53", "mov dword ptr [ecx], ebx", "0x1006b3b3"], ["0x10068c55", "cmp dword ptr [edi], ecx", "0x1006b3b5"], ["0x10068c57", "jne 0x5", "0x1006b3b7"], ["0x10068c59", "mov dword ptr [edx + 4], ecx", "0x1006b3b9"], ["0x10068c5c", "jmp 0x15", "0x1006b3bc"], ["0x10068c5e", "mov eax, dword ptr [ecx + 4]", "0x1006b3be"], ["0x10068c61", "mov dword ptr [edx + 4], eax", "0x1006b3c1"]]}]], ["@@ -0x10068c7d,181 +0x1006b3dd,181 @@", [{"both": [["0x10068c7d", "cmp dword ptr [eax], edi", "0x1006b3dd"], ["0x10068c7f", "je 0xc", "0x1006b3df"], ["0x10068c81", "mov eax, dword ptr [edi + 4]", "0x1006b3e1"], ["0x10068c84", "cmp dword ptr [eax], edi", "0x1006b3e4"], ["0x10068c86", "je 0x5", "0x1006b3e6"], ["0x10068c88", "mov dword ptr [eax + 8], ecx", "0x1006b3e8"], ["0x10068c8b", "jmp 0x2", "0x1006b3eb"], ["0x10068c8d", "mov dword ptr [eax], ecx", "0x1006b3ed"], ["0x10068c8f", "mov eax, dword ptr [esp + 0x10]", "0x1006b3ef"], ["0x10068c93", "mov ebx, dword ptr [eax + 4]", "0x1006b3f3"]]}, {"orig": [["0x10068c96", "lea edi, [eax + 0x14]"]], "recomp": [["0x1006b3f6", "add eax, 0x14"]]}, {"both": [["0x10068c99", "mov dword ptr [ecx + 4], ebx", "0x1006b3f9"]]}, {"orig": [["0x10068c9c", "mov ebx, dword ptr [edi]"], ["0x10068c9e", "mov ebp, dword ptr [ecx + 0x14]"]], "recomp": [["0x1006b3fc", "mov edi, dword ptr [ecx + 0x14]"], ["0x1006b3ff", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x10068ca1", "mov dword ptr [ecx + 0x14], ebx", "0x1006b401"]]}, {"orig": [["0x10068ca4", "mov ecx, eax"], ["0x10068ca6", "mov dword ptr [edi], ebp"]], "recomp": [["0x1006b404", "mov ecx, dword ptr [esp + 0x10]"], ["0x1006b408", "mov dword ptr [eax], edi"]]}, {"both": [["0x10068ca8", "cmp dword ptr [ecx + 0x14], 1", "0x1006b40a"]]}, {"orig": [["0x10068cac", "jne 0x296"]], "recomp": [["0x1006b40e", "jne 0x298"]]}, {"both": [["0x10068cb2", "mov eax, dword ptr [esi + 4]", "0x1006b414"], ["0x10068cb5", "cmp dword ptr [eax + 4], edx", "0x1006b417"]]}, {"orig": [["0x10068cb8", "je 0x283"]], "recomp": [["0x1006b41a", "je 0x285"]]}, {"both": [["0x10068cbe", "cmp dword ptr [edx + 0x14], 1", "0x1006b420"]]}, {"orig": [["0x10068cc2", "jne 0x279"]], "recomp": [["0x1006b424", "jne 0x27b"]]}, {"both": [["0x10068cc8", "lea ebx, [edx + 4]", "0x1006b42a"], ["0x10068ccb", "mov eax, dword ptr [ebx]", "0x1006b42d"], ["0x10068ccd", "mov edi, dword ptr [eax]", "0x1006b42f"], ["0x10068ccf", "cmp edx, edi", "0x1006b431"], ["0x10068cd1", "jne 0x76", "0x1006b433"], ["0x10068cd3", "mov edi, dword ptr [eax + 8]", "0x1006b435"], ["0x10068cd6", "cmp dword ptr [edi + 0x14], 0", "0x1006b438"], ["0x10068cda", "jne 0x52", "0x1006b43c"], ["0x10068cdc", "mov dword ptr [edi + 0x14], 1", "0x1006b43e"], ["0x10068ce3", "mov eax, dword ptr [ebx]", "0x1006b445"], ["0x10068ce5", "mov dword ptr [eax + 0x14], 0", "0x1006b447"]]}, {"orig": [["0x10068cec", "mov edi, dword ptr [ebx]"], ["0x10068cee", "mov ebp, dword ptr [edi + 8]"], ["0x10068cf1", "mov eax, dword ptr [ebp]"], ["0x10068cf4", "mov dword ptr [edi + 8], eax"], ["0x10068cf7", "mov eax, dword ptr [ebp]"], ["0x10068cfa", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax"]], "recomp": [["0x1006b44e", "mov eax, dword ptr [ebx]"], ["0x1006b450", "mov ebp, dword ptr [eax + 8]"], ["0x1006b453", "mov edi, dword ptr [ebp]"], ["0x1006b456", "mov dword ptr [eax + 8], edi"], ["0x1006b459", "mov edi, dword ptr [ebp]"], ["0x1006b45c", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10068d00", "je 0x3", "0x1006b462"]]}, {"orig": [["0x10068d02", "mov dword ptr [eax + 4], edi"], ["0x10068d05", "mov eax, dword ptr [edi + 4]"], ["0x10068d08", "mov dword ptr [ebp + 4], eax"], ["0x10068d0b", "mov eax, dword ptr [esi + 4]"], ["0x10068d0e", "add eax, 4"], ["0x10068d11", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006b464", "mov dword ptr [edi + 4], eax"], ["0x1006b467", "mov edi, dword ptr [eax + 4]"], ["0x1006b46a", "mov dword ptr [ebp + 4], edi"], ["0x1006b46d", "mov edi, dword ptr [esi + 4]"], ["0x1006b470", "add edi, 4"], ["0x1006b473", "cmp dword ptr [edi], eax"]]}, {"both": [["0x10068d13", "je 0xc", "0x1006b475"]]}, {"orig": [["0x10068d15", "mov eax, dword ptr [edi + 4]"], ["0x10068d18", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006b477", "mov edi, dword ptr [eax + 4]"], ["0x1006b47a", "cmp dword ptr [edi], eax"]]}, {"both": [["0x10068d1a", "je 0x5", "0x1006b47c"]]}, {"orig": [["0x10068d1c", "mov dword ptr [eax + 8], ebp"]], "recomp": [["0x1006b47e", "mov dword ptr [edi + 8], ebp"]]}, {"both": [["0x10068d1f", "jmp 0x2", "0x1006b481"]]}, {"orig": [["0x10068d21", "mov dword ptr [eax], ebp"], ["0x10068d23", "mov dword ptr [ebp], edi"], ["0x10068d26", "mov dword ptr [edi + 4], ebp"]], "recomp": [["0x1006b483", "mov dword ptr [edi], ebp"], ["0x1006b485", "mov dword ptr [ebp], eax"], ["0x1006b488", "mov dword ptr [eax + 4], ebp"]]}, {"both": [["0x10068d29", "mov eax, dword ptr [ebx]", "0x1006b48b"], ["0x10068d2b", "mov edi, dword ptr [eax + 8]", "0x1006b48d"], ["0x10068d2e", "mov eax, dword ptr [edi]", "0x1006b490"], ["0x10068d30", "cmp dword ptr [eax + 0x14], 1", "0x1006b492"]]}, {"orig": [["0x10068d34", "jne 0x98"]], "recomp": [["0x1006b496", "jne 0x9a"]]}, {"both": [["0x10068d3a", "mov eax, dword ptr [edi + 8]", "0x1006b49c"], ["0x10068d3d", "cmp dword ptr [eax + 0x14], 1", "0x1006b49f"]]}, {"orig": [["0x10068d41", "jne 0x8b"], ["0x10068d47", "jmp 0x6f"]], "recomp": [["0x1006b4a3", "jne 0x8d"], ["0x1006b4a9", "jmp 0x71"]]}, {"both": [["0x10068d49", "cmp dword ptr [edi + 0x14], 0", "0x1006b4ab"]]}, {"orig": [["0x10068d4d", "jne 0x50"]], "recomp": [["0x1006b4af", "jne 0x52"]]}, {"both": [["0x10068d4f", "mov dword ptr [edi + 0x14], 1", "0x1006b4b1"], ["0x10068d56", "mov eax, dword ptr [ebx]", "0x1006b4b8"], ["0x10068d58", "mov dword ptr [eax + 0x14], 0", "0x1006b4ba"]]}, {"orig": [["0x10068d5f", "mov edi, dword ptr [ebx]"], ["0x10068d61", "mov ebp, dword ptr [edi]"], ["0x10068d63", "mov eax, dword ptr [ebp + 8]"], ["0x10068d66", "mov dword ptr [edi], eax"], ["0x10068d68", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x1006b4c1", "mov ebp, dword ptr [ebx]"], ["0x1006b4c3", "mov edi, dword ptr [ebp]"], ["0x1006b4c6", "mov eax, dword ptr [edi + 8]"], ["0x1006b4c9", "mov dword ptr [ebp], eax"], ["0x1006b4cc", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x10068d6b", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006b4cf"], ["0x10068d71", "je 0x3", "0x1006b4d5"]]}, {"orig": [["0x10068d73", "mov dword ptr [eax + 4], edi"], ["0x10068d76", "mov eax, dword ptr [edi + 4]"], ["0x10068d79", "mov dword ptr [ebp + 4], eax"]], "recomp": [["0x1006b4d7", "mov dword ptr [eax + 4], ebp"], ["0x1006b4da", "mov eax, dword ptr [ebp + 4]"], ["0x1006b4dd", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x10068d7c", "mov eax, dword ptr [esi + 4]", "0x1006b4e0"], ["0x10068d7f", "add eax, 4", "0x1006b4e3"]]}, {"orig": [["0x10068d82", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006b4e6", "cmp dword ptr [eax], ebp"]]}, {"both": [["0x10068d84", "je 0xd", "0x1006b4e8"]]}, {"orig": [["0x10068d86", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x1006b4ea", "mov eax, dword ptr [ebp + 4]"]]}, {"both": [["0x10068d89", "add eax, 8", "0x1006b4ed"]]}, {"orig": [["0x10068d8c", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006b4f0", "cmp dword ptr [eax], ebp"]]}, {"both": [["0x10068d8e", "je 0x3", "0x1006b4f2"]]}, {"orig": [["0x10068d90", "mov eax, dword ptr [edi + 4]"], ["0x10068d93", "mov dword ptr [eax], ebp"], ["0x10068d95", "mov dword ptr [ebp + 8], edi"], ["0x10068d98", "mov dword ptr [edi + 4], ebp"]], "recomp": [["0x1006b4f4", "mov eax, dword ptr [ebp + 4]"], ["0x1006b4f7", "mov dword ptr [eax], edi"], ["0x1006b4f9", "mov dword ptr [edi + 8], ebp"], ["0x1006b4fc", "mov dword ptr [ebp + 4], edi"]]}, {"both": [["0x10068d9b", "mov eax, dword ptr [ebx]", "0x1006b4ff"], ["0x10068d9d", "mov edi, dword ptr [eax]", "0x1006b501"], ["0x10068d9f", "mov eax, dword ptr [edi + 8]", "0x1006b503"], ["0x10068da2", "cmp dword ptr [eax + 0x14], 1", "0x1006b506"]]}, {"orig": [["0x10068da6", "jne 0xe7"]], "recomp": [["0x1006b50a", "jne 0xe6"]]}, {"both": [["0x10068dac", "mov eax, dword ptr [edi]", "0x1006b510"], ["0x10068dae", "cmp dword ptr [eax + 0x14], 1", "0x1006b512"]]}, {"orig": [["0x10068db2", "jne 0xdb"]], "recomp": [["0x1006b516", "jne 0xda"]]}, {"both": [["0x10068db8", "mov dword ptr [edi + 0x14], 0", "0x1006b51c"], ["0x10068dbf", "mov edx, dword ptr [ebx]", "0x1006b523"], ["0x10068dc1", "mov eax, dword ptr [esi + 4]", "0x1006b525"], ["0x10068dc4", "cmp dword ptr [eax + 4], edx", "0x1006b528"]]}, {"orig": [["0x10068dc7", "jne -0x10f"]], "recomp": [["0x1006b52b", "jne -0x111"]]}, {"both": [["0x10068dcd", "jmp 0x16f", "0x1006b531"], ["0x10068dd2", "mov eax, dword ptr [edi + 8]", "0x1006b536"], ["0x10068dd5", "cmp dword ptr [eax + 0x14], 1", "0x1006b539"]]}, {"orig": [["0x10068dd9", "jne 0x53"]], "recomp": [["0x1006b53d", "jne 0x52"]]}, {"both": [["0x10068ddb", "mov eax, dword ptr [edi]", "0x1006b53f"], ["0x10068ddd", "mov dword ptr [eax + 0x14], 1", "0x1006b541"], ["0x10068de4", "mov dword ptr [edi + 0x14], 0", "0x1006b548"], ["0x10068deb", "mov ebx, dword ptr [edi]", "0x1006b54f"], ["0x10068ded", "mov ebp, dword ptr [ebx + 8]", "0x1006b551"], ["0x10068df0", "mov dword ptr [edi], ebp", "0x1006b554"], ["0x10068df2", "mov eax, dword ptr [ebx + 8]", "0x1006b556"], ["0x10068df5", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006b559"], ["0x10068dfb", "je 0x3", "0x1006b55f"], ["0x10068dfd", "mov dword ptr [eax + 4], edi", "0x1006b561"], ["0x10068e00", "mov eax, dword ptr [edi + 4]", "0x1006b564"], ["0x10068e03", "mov dword ptr [ebx + 4], eax", "0x1006b567"], ["0x10068e06", "mov eax, dword ptr [esi + 4]", "0x1006b56a"], ["0x10068e09", "add eax, 4", "0x1006b56d"], ["0x10068e0c", "cmp dword ptr [eax], edi", "0x1006b570"]]}, {"orig": [["0x10068e0e", "je 0x10"], ["0x10068e10", "mov eax, dword ptr [edi + 4]"], ["0x10068e13", "lea ebp, [eax + 8]"], ["0x10068e16", "cmp dword ptr [ebp], edi"], ["0x10068e19", "jne 0x5"]], "recomp": [["0x1006b572", "je 0xf"], ["0x1006b574", "mov ebp, dword ptr [edi + 4]"], ["0x1006b577", "lea eax, [ebp + 8]"], ["0x1006b57a", "cmp dword ptr [eax], edi"], ["0x1006b57c", "je 0x5"]]}, {"both": [["0x10068e1b", "mov dword ptr [ebp], ebx", "0x1006b57e"], ["0x10068e1e", "jmp 0x2", "0x1006b581"], ["0x10068e20", "mov dword ptr [eax], ebx", "0x1006b583"], ["0x10068e22", "mov dword ptr [ebx + 8], edi", "0x1006b585"], ["0x10068e25", "mov dword ptr [edi + 4], ebx", "0x1006b588"], ["0x10068e28", "mov eax, dword ptr [edx + 4]", "0x1006b58b"], ["0x10068e2b", "mov edi, dword ptr [eax + 8]", "0x1006b58e"], ["0x10068e2e", "mov eax, dword ptr [edx + 4]", "0x1006b591"], ["0x10068e31", "mov ebx, dword ptr [eax + 0x14]", "0x1006b594"], ["0x10068e34", "mov dword ptr [edi + 0x14], ebx", "0x1006b597"], ["0x10068e37", "mov ebx, 1", "0x1006b59a"], ["0x10068e3c", "mov eax, dword ptr [edx + 4]", "0x1006b59f"], ["0x10068e3f", "mov dword ptr [eax + 0x14], ebx", "0x1006b5a2"], ["0x10068e42", "mov ebp, dword ptr [edi + 8]", "0x1006b5a5"], ["0x10068e45", "mov dword ptr [ebp + 0x14], ebx", "0x1006b5a8"]]}, {"orig": [["0x10068e48", "mov ebx, dword ptr [edx + 4]"], ["0x10068e4b", "mov edi, dword ptr [ebx + 8]"], ["0x10068e4e", "mov eax, dword ptr [edi]"], ["0x10068e50", "mov dword ptr [ebx + 8], eax"], ["0x10068e53", "mov eax, dword ptr [edi]"]], "recomp": [["0x1006b5ab", "mov edi, dword ptr [edx + 4]"], ["0x1006b5ae", "mov ebx, dword ptr [edi + 8]"], ["0x1006b5b1", "mov eax, dword ptr [ebx]"], ["0x1006b5b3", "mov dword ptr [edi + 8], eax"], ["0x1006b5b6", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x10068e55", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006b5b8"], ["0x10068e5b", "je 0x3", "0x1006b5be"]]}, {"orig": [["0x10068e5d", "mov dword ptr [eax + 4], ebx"], ["0x10068e60", "mov eax, dword ptr [ebx + 4]"], ["0x10068e63", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1006b5c0", "mov dword ptr [eax + 4], edi"], ["0x1006b5c3", "mov eax, dword ptr [edi + 4]"], ["0x1006b5c6", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x10068e66", "mov eax, dword ptr [esi + 4]", "0x1006b5c9"], ["0x10068e69", "add eax, 4", "0x1006b5cc"]]}, {"orig": [["0x10068e6c", "cmp dword ptr [eax], ebx"]], "recomp": [["0x1006b5cf", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10068e6e", "je 0x1a", "0x1006b5d1"]]}, {"orig": [["0x10068e70", "mov eax, dword ptr [ebx + 4]"], ["0x10068e73", "cmp dword ptr [eax], ebx"]], "recomp": [["0x1006b5d3", "mov eax, dword ptr [edi + 4]"], ["0x1006b5d6", "cmp dword ptr [eax], edi"]]}, {"both": [["0x10068e75", "je 0xa", "0x1006b5d8"]]}, {"orig": [["0x10068e77", "mov dword ptr [eax + 8], edi"], ["0x10068e7a", "mov dword ptr [edi], ebx"], ["0x10068e7c", "jmp 0xbd"], ["0x10068e81", "mov dword ptr [eax], edi"], ["0x10068e83", "mov dword ptr [edi], ebx"], ["0x10068e85", "jmp 0xb4"], ["0x10068e8a", "mov dword ptr [eax], edi"], ["0x10068e8c", "mov dword ptr [edi], ebx"], ["0x10068e8e", "jmp 0xab"]], "recomp": [["0x1006b5da", "mov dword ptr [eax + 8], ebx"], ["0x1006b5dd", "mov dword ptr [ebx], edi"], ["0x1006b5df", "jmp 0xbe"], ["0x1006b5e4", "mov dword ptr [eax], ebx"], ["0x1006b5e6", "mov dword ptr [ebx], edi"], ["0x1006b5e8", "jmp 0xb5"], ["0x1006b5ed", "mov dword ptr [eax], ebx"], ["0x1006b5ef", "mov dword ptr [ebx], edi"], ["0x1006b5f1", "jmp 0xac"]]}, {"both": [["0x10068e93", "mov eax, dword ptr [edi]", "0x1006b5f6"], ["0x10068e95", "cmp dword ptr [eax + 0x14], 1", "0x1006b5f8"], ["0x10068e99", "jne 0x4e", "0x1006b5fc"], ["0x10068e9b", "mov eax, dword ptr [edi + 8]", "0x1006b5fe"], ["0x10068e9e", "mov dword ptr [eax + 0x14], 1", "0x1006b601"], ["0x10068ea5", "mov dword ptr [edi + 0x14], 0", "0x1006b608"], ["0x10068eac", "mov ebx, dword ptr [edi + 8]", "0x1006b60f"], ["0x10068eaf", "mov ebp, dword ptr [ebx]", "0x1006b612"], ["0x10068eb1", "mov dword ptr [edi + 8], ebp", "0x1006b614"], ["0x10068eb4", "mov eax, dword ptr [ebx]", "0x1006b617"]]}]], ["@@ -0x10068ee4,43 +0x1006b647,43 @@", [{"both": [["0x10068ee4", "mov eax, dword ptr [edx + 4]", "0x1006b647"], ["0x10068ee7", "mov edi, dword ptr [eax]", "0x1006b64a"], ["0x10068ee9", "mov eax, dword ptr [edx + 4]", "0x1006b64c"], ["0x10068eec", "mov ebx, dword ptr [eax + 0x14]", "0x1006b64f"], ["0x10068eef", "mov dword ptr [edi + 0x14], ebx", "0x1006b652"], ["0x10068ef2", "mov ebx, 1", "0x1006b655"], ["0x10068ef7", "mov eax, dword ptr [edx + 4]", "0x1006b65a"], ["0x10068efa", "mov dword ptr [eax + 0x14], ebx", "0x1006b65d"], ["0x10068efd", "mov ebp, dword ptr [edi]", "0x1006b660"], ["0x10068eff", "mov dword ptr [ebp + 0x14], ebx", "0x1006b662"]]}, {"orig": [["0x10068f02", "mov ebx, dword ptr [edx + 4]"], ["0x10068f05", "mov edi, dword ptr [ebx]"], ["0x10068f07", "mov eax, dword ptr [edi + 8]"], ["0x10068f0a", "mov dword ptr [ebx], eax"], ["0x10068f0c", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x1006b665", "mov edi, dword ptr [edx + 4]"], ["0x1006b668", "mov ebx, dword ptr [edi]"], ["0x1006b66a", "mov eax, dword ptr [ebx + 8]"], ["0x1006b66d", "mov dword ptr [edi], eax"], ["0x1006b66f", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x10068f0f", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006b672"], ["0x10068f15", "je 0x3", "0x1006b678"]]}, {"orig": [["0x10068f17", "mov dword ptr [eax + 4], ebx"], ["0x10068f1a", "mov eax, dword ptr [ebx + 4]"], ["0x10068f1d", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1006b67a", "mov dword ptr [eax + 4], edi"], ["0x1006b67d", "mov eax, dword ptr [edi + 4]"], ["0x1006b680", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x10068f20", "mov eax, dword ptr [esi + 4]", "0x1006b683"], ["0x10068f23", "add eax, 4", "0x1006b686"]]}, {"orig": [["0x10068f26", "cmp dword ptr [eax], ebx"], ["0x10068f28", "je 0xf"], ["0x10068f2a", "mov ebp, dword ptr [ebx + 4]"], ["0x10068f2d", "lea eax, [ebp + 8]"], ["0x10068f30", "cmp dword ptr [eax], ebx"], ["0x10068f32", "je 0x5"], ["0x10068f34", "mov dword ptr [ebp], edi"]], "recomp": [["0x1006b689", "cmp dword ptr [eax], edi"], ["0x1006b68b", "je 0x10"], ["0x1006b68d", "mov eax, dword ptr [edi + 4]"], ["0x1006b690", "lea ebp, [eax + 8]"], ["0x1006b693", "cmp dword ptr [ebp], edi"], ["0x1006b696", "jne 0x5"], ["0x1006b698", "mov dword ptr [ebp], ebx"]]}, {"both": [["0x10068f37", "jmp 0x2", "0x1006b69b"]]}, {"orig": [["0x10068f39", "mov dword ptr [eax], edi"], ["0x10068f3b", "mov dword ptr [edi + 8], ebx"], ["0x10068f3e", "mov dword ptr [ebx + 4], edi"]], "recomp": [["0x1006b69d", "mov dword ptr [eax], ebx"], ["0x1006b69f", "mov dword ptr [ebx + 8], edi"], ["0x1006b6a2", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x10068f41", "mov dword ptr [edx + 0x14], 1", "0x1006b6a5"], ["0x10068f48", "push ecx", "0x1006b6ac"], ["0x10068f49", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006b6ad"], ["0x10068f4e", "mov ecx, dword ptr [esp + 0x20]", "0x1006b6b2"], ["0x10068f52", "mov eax, dword ptr [esp + 0x1c]", "0x1006b6b6"], ["0x10068f56", "add esp, 4", "0x1006b6ba"], ["0x10068f59", "dec dword ptr [esi + 0xc]", "0x1006b6bd"], ["0x10068f5c", "mov dword ptr [eax], ecx", "0x1006b6c0"], ["0x10068f5e", "pop ebp", "0x1006b6c2"], ["0x10068f5f", "pop edi", "0x1006b6c3"]]}]]]}, {"address": "0x10068f70", "recomp": "0x1006b6d0", "name": "_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Erase", "matching": 1.0, "diff": []}, {"address": "0x10068fb0", "recomp": "0x1006b710", "name": "LegoAnimPresenter::CreateAnim", "matching": 1.0, "diff": []}, {"address": "0x10069150", "recomp": "0x1006b8b0", "name": "LegoAnimPresenter::FUN_10069150", "matching": 0.9850746268656716, "diff": [["@@ -0x100691c1,27 +0x1006b921,27 @@", [{"both": [["0x100691c1", "push edx", "0x1006b921"], ["0x100691c2", "call _sprintf (FUNCTION)", "0x1006b922"], ["0x100691c7", "add esp, 0xc", "0x1006b927"], ["0x100691ca", "mov ecx, ebx", "0x1006b92a"], ["0x100691cc", "call LegoAnimPresenter::GetActionObjectName (FUNCTION)", "0x1006b92c"], ["0x100691d1", "mov edi, eax", "0x1006b931"], ["0x100691d3", "mov ecx, 0xffffffff", "0x1006b933"], ["0x100691d8", "sub eax, eax", "0x1006b938"], ["0x100691da", "repne scasb al, byte ptr es:[edi]", "0x1006b93a"], ["0x100691dc", "not ecx", "0x1006b93c"]]}, {"orig": [["0x100691de", "mov edi, esi"]], "recomp": [["0x1006b93e", "lea edi, [esp + 0x10]"]]}, {"both": [["0x100691e0", "sub eax, eax", "0x1006b942"], ["0x100691e2", "lea edx, [ecx - 1]", "0x1006b944"], ["0x100691e5", "mov ecx, 0xffffffff", "0x1006b947"], ["0x100691ea", "repne scasb al, byte ptr es:[edi]", "0x1006b94c"], ["0x100691ec", "not ecx", "0x1006b94e"]]}, {"orig": [["0x100691ee", "lea edi, [esp + 0x10]"]], "recomp": [["0x1006b950", "mov edi, esi"]]}, {"both": [["0x100691f2", "sub eax, eax", "0x1006b952"], ["0x100691f4", "lea ebp, [ecx + edx - 1]", "0x1006b954"], ["0x100691f8", "mov ecx, 0xffffffff", "0x1006b958"], ["0x100691fd", "repne scasb al, byte ptr es:[edi]", "0x1006b95d"], ["0x100691ff", "not ecx", "0x1006b95f"], ["0x10069201", "lea edx, [ecx + ebp - 1]", "0x1006b961"], ["0x10069205", "inc edx", "0x1006b965"], ["0x10069206", "push edx", "0x1006b966"], ["0x10069207", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006b967"], ["0x1006920c", "add esp, 4", "0x1006b96c"]]}]]]}, {"address": "0x100692b0", "recomp": "0x1006ba10", "name": "LegoAnimPresenter::FUN_100692b0", "matching": 0.937381404174573, "diff": [["@@ -0x10069341,41 +0x1006baa1,42 @@", [{"both": [["0x10069341", "jmp MxCollection<LegoROI *>::~MxCollection<LegoROI *> (FUNCTION)", "0x1006baa1"], ["0x10069346", "mov ecx, dword ptr [ebp - 0x10]", "0x1006baa6"], ["0x10069349", "jmp MxList<LegoROI *>::~MxList<LegoROI *> (FUNCTION)", "0x1006baa9"], ["0x1006934e", "mov ecx, dword ptr [ebp - 0x10]", "0x1006baae"], ["0x10069351", "jmp MxPtrList<LegoROI>::~MxPtrList<LegoROI> (FUNCTION)", "0x1006bab1"], ["0x10069356", "xor eax, eax", "0x1006bab6"], ["0x10069358", "mov ecx, dword ptr [ebp - 0x14]", "0x1006bab8"], ["0x1006935b", "test eax, eax", "0x1006babb"], ["0x1006935d", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006babd"], ["0x10069364", "mov dword ptr [ecx + 0x74], eax", "0x1006bac4"]]}, {"orig": [["0x10069367", "je 0x21c"]], "recomp": [["0x1006bac7", "je 0x21f"]]}, {"both": [["0x1006936d", "mov eax, dword ptr [ecx + 0x64]", "0x1006bacd"], ["0x10069370", "mov dword ptr [ebp - 0x1c], 0", "0x1006bad0"], ["0x10069377", "mov edx, dword ptr [eax + 0x10]", "0x1006bad7"], ["0x1006937a", "mov dword ptr [ebp - 0x20], edx", "0x1006bada"], ["0x1006937d", "test edx, edx", "0x1006badd"]]}, {"orig": [["0x1006937f", "je 0x204"], ["0x10069385", "mov esi, dword ptr [ebp - 0x1c]"]], "recomp": [["0x1006badf", "je 0x207"]]}, {"both": [["0x10069388", "push 0", "0x1006bae5"]]}, {"orig": [["0x1006938a", "push esi"]], "recomp": [["0x1006bae7", "mov eax, dword ptr [ebp - 0x1c]"], ["0x1006baea", "push eax"]]}, {"both": [["0x1006938b", "mov ecx, dword ptr [ebp - 0x14]", "0x1006baeb"], ["0x1006938e", "mov ecx, dword ptr [ecx + 0x64]", "0x1006baee"], ["0x10069391", "call LegoAnim::GetActorName (FUNCTION)", "0x1006baf1"], ["0x10069396", "push eax", "0x1006baf6"], ["0x10069397", "mov ecx, dword ptr [ebp - 0x14]", "0x1006baf7"], ["0x1006939a", "call LegoAnimPresenter::FUN_100697c0 (FUNCTION)", "0x1006bafa"]]}, {"orig": [["0x1006939f", "push esi"], ["0x100693a0", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1006baff", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x1006bb02", "mov edx, dword ptr [ebp - 0x14]"], ["0x1006bb05", "push ecx"]]}, {"both": [["0x100693a3", "xor esi, esi", "0x1006bb06"]]}, {"orig": [], "recomp": [["0x1006bb08", "mov ecx, dword ptr [edx + 0x64]"]]}, {"both": [["0x100693a5", "mov dword ptr [ebp - 0x10], eax", "0x1006bb0b"]]}, {"orig": [["0x100693a8", "mov ecx, dword ptr [ecx + 0x64]"]], "recomp": []}, {"both": [["0x100693ab", "call LegoAnim::GetActorUnknown0x04 (FUNCTION)", "0x1006bb0e"], ["0x100693b0", "cmp eax, 2", "0x1006bb13"], ["0x100693b3", "jne 0x3c", "0x1006bb16"], ["0x100693b5", "mov eax, dword ptr [ebp - 0x10]", "0x1006bb18"], ["0x100693b8", "cmp byte ptr [eax], 0x2a", "0x1006bb1b"], ["0x100693bb", "jne 0x3", "0x1006bb1e"], ["0x100693bd", "inc eax", "0x1006bb20"], ["0x100693be", "jmp 0x3", "0x1006bb21"], ["0x100693c0", "mov eax, dword ptr [ebp - 0x10]", "0x1006bb23"], ["0x100693c3", "push 1", "0x1006bb26"]]}]], ["@@ -0x1006950e,49 +0x1006bc71,49 @@", [{"both": [["0x1006950e", "push ebx", "0x1006bc71"], ["0x1006950f", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006bc72"], ["0x10069514", "add esp, 4", "0x1006bc77"], ["0x10069517", "push edi", "0x1006bc7a"], ["0x10069518", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006bc7b"], ["0x1006951d", "add esp, 4", "0x1006bc80"], ["0x10069520", "test esi, esi", "0x1006bc83"], ["0x10069522", "je 0x4a", "0x1006bc85"], ["0x10069524", "mov ecx, dword ptr [ebp - 0x14]", "0x1006bc87"], ["0x10069527", "push 0xc", "0x1006bc8a"]]}, {"orig": [["0x10069529", "mov ebx, dword ptr [ecx + 0x74]"], ["0x1006952c", "mov edi, dword ptr [ebx + 0x14]"]], "recomp": [["0x1006bc8c", "mov edi, dword ptr [ecx + 0x74]"], ["0x1006bc8f", "mov ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x1006952f", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006bc92"], ["0x10069534", "add esp, 4", "0x1006bc97"], ["0x10069537", "mov dword ptr [ebp - 0x18], eax", "0x1006bc9a"], ["0x1006953a", "mov dword ptr [ebp - 4], 5", "0x1006bc9d"], ["0x10069541", "test eax, eax", "0x1006bca4"], ["0x10069543", "je 0xe", "0x1006bca6"], ["0x10069545", "mov dword ptr [eax], esi", "0x1006bca8"]]}, {"orig": [["0x10069547", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x1006bcaa", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x1006954a", "mov dword ptr [eax + 8], 0", "0x1006bcad"], ["0x10069551", "jmp 0x2", "0x1006bcb4"], ["0x10069553", "xor eax, eax", "0x1006bcb6"], ["0x10069555", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006bcb8"]]}, {"orig": [["0x1006955c", "test edi, edi"]], "recomp": [["0x1006bcbf", "test ebx, ebx"]]}, {"both": [["0x1006955e", "je 0x5", "0x1006bcc1"]]}, {"orig": [["0x10069560", "mov dword ptr [edi + 8], eax"]], "recomp": [["0x1006bcc3", "mov dword ptr [ebx + 8], eax"]]}, {"both": [["0x10069563", "jmp 0x3", "0x1006bcc6"]]}, {"orig": [["0x10069565", "mov dword ptr [ebx + 0x10], eax"], ["0x10069568", "mov dword ptr [ebx + 0x14], eax"], ["0x1006956b", "inc dword ptr [ebx + 8]"]], "recomp": [["0x1006bcc8", "mov dword ptr [edi + 0x10], eax"], ["0x1006bccb", "mov dword ptr [edi + 0x14], eax"], ["0x1006bcce", "inc dword ptr [edi + 8]"]]}, {"both": [["0x1006956e", "mov eax, dword ptr [ebp - 0x10]", "0x1006bcd1"], ["0x10069571", "push eax", "0x1006bcd4"], ["0x10069572", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006bcd5"], ["0x10069577", "add esp, 4", "0x1006bcda"], ["0x1006957a", "inc dword ptr [ebp - 0x1c]", "0x1006bcdd"], ["0x1006957d", "mov eax, dword ptr [ebp - 0x1c]", "0x1006bce0"], ["0x10069580", "cmp eax, dword ptr [ebp - 0x20]", "0x1006bce3"]]}, {"orig": [["0x10069583", "jb -0x204"]], "recomp": [["0x1006bce6", "jb -0x207"]]}, {"both": [["0x10069589", "mov eax, dword ptr [ebp - 0xc]", "0x1006bcec"], ["0x1006958c", "pop edi", "0x1006bcef"], ["0x1006958d", "mov dword ptr fs:[0], eax", "0x1006bcf0"], ["0x10069593", "pop esi", "0x1006bcf6"], ["0x10069594", "pop ebx", "0x1006bcf7"], ["0x10069595", "mov esp, ebp", "0x1006bcf8"], ["0x10069597", "pop ebp", "0x1006bcfa"], ["0x10069598", "ret ", "0x1006bcfb"], ["0x10069599", "mov eax, dword ptr [ebp - 0x18]", "0x1006bcfc"], ["0x1006959c", "push eax", "0x1006bcff"]]}]]]}, {"address": "0x100695c0", "recomp": "0x1006bd20", "name": "LegoAnimPresenter::FUN_100695c0", "matching": 1.0, "diff": []}, {"address": "0x100697c0", "recomp": "0x1006bf20", "name": "LegoAnimPresenter::FUN_100697c0", "matching": 1.0, "diff": []}, {"address": "0x100698b0", "recomp": "0x1006c010", "name": "LegoAnimPresenter::FUN_100698b0", "matching": 1.0, "effective": true, "diff": [["@@ -0x100698cb,97 +0x1006c02b,97 @@", [{"both": [["0x100698cb", "mov eax, dword ptr [ebp + 0xc]", "0x1006c02b"], ["0x100698ce", "mov dword ptr [ebp - 0x18], ecx", "0x1006c02e"], ["0x100698d1", "mov byte ptr [ebp - 0x11], 0", "0x1006c031"], ["0x100698d5", "push ebx", "0x1006c035"], ["0x100698d6", "push esi", "0x1006c036"], ["0x100698d7", "push edi", "0x1006c037"], ["0x100698d8", "push 0", "0x1006c038"], ["0x100698da", "push eax", "0x1006c03a"], ["0x100698db", "call LegoAnimPresenter::FUN_100697c0 (FUNCTION)", "0x1006c03b"], ["0x100698e0", "cmp byte ptr [eax], 0x2a", "0x1006c040"]]}, {"orig": [["0x100698e3", "mov esi, eax"]], "recomp": [["0x1006c043", "mov edi, eax"]]}, {"both": [["0x100698e5", "jne 0x16", "0x1006c045"]]}, {"orig": [["0x100698e7", "push esi"]], "recomp": [["0x1006c047", "push edi"]]}, {"both": [["0x100698e8", "mov ecx, dword ptr [ebp - 0x18]", "0x1006c048"], ["0x100698eb", "call LegoAnimPresenter::FUN_10069150 (FUNCTION)", "0x1006c04b"]]}, {"orig": [["0x100698f0", "mov edi, eax"], ["0x100698f2", "push esi"], ["0x100698f3", "mov esi, edi"]], "recomp": [["0x1006c050", "mov esi, eax"], ["0x1006c052", "push edi"], ["0x1006c053", "mov edi, esi"]]}, {"both": [["0x100698f5", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006c055"], ["0x100698fa", "add esp, 4", "0x1006c05a"]]}, {"orig": [["0x100698fd", "test esi, esi"]], "recomp": [["0x1006c05d", "test edi, edi"]]}, {"both": [["0x100698ff", "je 0x45", "0x1006c05f"]]}, {"orig": [["0x10069901", "cmp byte ptr [esi], 0"]], "recomp": [["0x1006c061", "cmp byte ptr [edi], 0"]]}, {"both": [["0x10069904", "je 0x40", "0x1006c064"]]}, {"orig": [["0x10069906", "mov ebx, dword ptr [ebp + 8]"], ["0x10069909", "cmp dword ptr [ebx + 8], 0"]], "recomp": [["0x1006c066", "mov esi, dword ptr [ebp + 8]"], ["0x1006c069", "cmp dword ptr [esi + 8], 0"]]}, {"both": [["0x1006990d", "jbe 0x37", "0x1006c06d"]]}, {"orig": [["0x1006990f", "mov ecx, dword ptr [ebx + 4]"], ["0x10069912", "mov eax, dword ptr [ecx]"], ["0x10069914", "mov dword ptr [ebp - 0x10], eax"], ["0x10069917", "cmp eax, ecx"]], "recomp": [["0x1006c06f", "mov eax, dword ptr [esi + 4]"], ["0x1006c072", "mov ecx, dword ptr [eax]"], ["0x1006c074", "mov dword ptr [ebp - 0x10], ecx"], ["0x1006c077", "cmp ecx, eax"]]}, {"both": [["0x10069919", "je 0x2b", "0x1006c079"], ["0x1006991b", "mov eax, dword ptr [ebp - 0x10]", "0x1006c07b"]]}, {"orig": [["0x1006991e", "mov edi, dword ptr [eax + 8]"], ["0x10069921", "mov eax, dword ptr [edi + 0xe4]"]], "recomp": [["0x1006c07e", "mov ebx, dword ptr [eax + 8]"], ["0x1006c081", "mov eax, dword ptr [ebx + 0xe4]"]]}, {"both": [["0x10069927", "test eax, eax", "0x1006c087"], ["0x10069929", "je 0xe", "0x1006c089"]]}, {"orig": [["0x1006992b", "push esi"]], "recomp": [["0x1006c08b", "push edi"]]}, {"both": [["0x1006992c", "push eax", "0x1006c08c"], ["0x1006992d", "call __strcmpi (FUNCTION)", "0x1006c08d"], ["0x10069932", "add esp, 8", "0x1006c092"], ["0x10069935", "test eax, eax", "0x1006c095"], ["0x10069937", "je 0x2c", "0x1006c097"], ["0x10069939", "mov eax, dword ptr [ebp - 0x10]", "0x1006c099"], ["0x1006993c", "mov ecx, dword ptr [eax]", "0x1006c09c"], ["0x1006993e", "mov dword ptr [ebp - 0x10], ecx", "0x1006c09e"]]}, {"orig": [["0x10069941", "cmp dword ptr [ebx + 4], ecx"]], "recomp": [["0x1006c0a1", "cmp dword ptr [esi + 4], ecx"]]}, {"both": [["0x10069944", "jne -0x2b", "0x1006c0a4"]]}, {"orig": [["0x10069946", "push esi"]], "recomp": [["0x1006c0a6", "push edi"]]}, {"both": [["0x10069947", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006c0a7"], ["0x1006994c", "add esp, 4", "0x1006c0ac"], ["0x1006994f", "mov al, byte ptr [ebp - 0x11]", "0x1006c0af"], ["0x10069952", "mov ecx, dword ptr [ebp - 0xc]", "0x1006c0b2"], ["0x10069955", "pop edi", "0x1006c0b5"], ["0x10069956", "mov dword ptr fs:[0], ecx", "0x1006c0b6"], ["0x1006995d", "pop esi", "0x1006c0bd"], ["0x1006995e", "pop ebx", "0x1006c0be"], ["0x1006995f", "mov esp, ebp", "0x1006c0bf"], ["0x10069961", "pop ebp", "0x1006c0c1"], ["0x10069962", "ret 8", "0x1006c0c2"], ["0x10069965", "mov eax, dword ptr [ebp - 0x18]", "0x1006c0c5"], ["0x10069968", "push 0xc", "0x1006c0c8"]]}, {"orig": [["0x1006996a", "mov ebx, dword ptr [eax + 0x70]"], ["0x1006996d", "mov ecx, dword ptr [ebx + 0x14]"]], "recomp": [["0x1006c0ca", "mov esi, dword ptr [eax + 0x70]"], ["0x1006c0cd", "mov ecx, dword ptr [esi + 0x14]"]]}, {"both": [["0x10069970", "mov dword ptr [ebp - 0x10], ecx", "0x1006c0d0"], ["0x10069973", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006c0d3"], ["0x10069978", "add esp, 4", "0x1006c0d8"], ["0x1006997b", "mov dword ptr [ebp - 0x14], eax", "0x1006c0db"], ["0x1006997e", "mov dword ptr [ebp - 4], 0", "0x1006c0de"], ["0x10069985", "test eax, eax", "0x1006c0e5"], ["0x10069987", "je 0x10", "0x1006c0e7"], ["0x10069989", "push 0", "0x1006c0e9"], ["0x1006998b", "mov ecx, dword ptr [ebp - 0x10]", "0x1006c0eb"], ["0x1006998e", "push ecx", "0x1006c0ee"]]}, {"orig": [["0x1006998f", "push edi"]], "recomp": [["0x1006c0ef", "push ebx"]]}, {"both": [["0x10069990", "mov ecx, eax", "0x1006c0f0"], ["0x10069992", "call MxListEntry<LegoROI *>::MxListEntry<LegoROI *> (FUNCTION)", "0x1006c0f2"], ["0x10069997", "jmp 0x2", "0x1006c0f7"], ["0x10069999", "xor eax, eax", "0x1006c0f9"], ["0x1006999b", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006c0fb"], ["0x100699a2", "cmp dword ptr [ebp - 0x10], 0", "0x1006c102"], ["0x100699a6", "je 0x8", "0x1006c106"], ["0x100699a8", "mov ecx, dword ptr [ebp - 0x10]", "0x1006c108"], ["0x100699ab", "mov dword ptr [ecx + 8], eax", "0x1006c10b"], ["0x100699ae", "jmp 0x3", "0x1006c10e"]]}, {"orig": [["0x100699b0", "mov dword ptr [ebx + 0x10], eax"]], "recomp": [["0x1006c110", "mov dword ptr [esi + 0x10], eax"]]}, {"both": [["0x100699b3", "mov byte ptr [ebp - 0x11], 1", "0x1006c113"]]}, {"orig": [["0x100699b7", "mov dword ptr [ebx + 0x14], eax"], ["0x100699ba", "inc dword ptr [ebx + 8]"]], "recomp": [["0x1006c117", "mov dword ptr [esi + 0x14], eax"], ["0x1006c11a", "inc dword ptr [esi + 8]"]]}, {"both": [["0x100699bd", "jmp -0x79", "0x1006c11d"], ["0x100699bf", "mov eax, <OFFSET8>", "0x1006c11f"], ["0x100699c4", "jmp ___CxxFrameHandler (FUNCTION)", "0x1006c124"], ["0x100699c9", "mov eax, dword ptr [ebp - 0x14]", "0x1006c129"], ["0x100699cc", "push eax", "0x1006c12c"], ["0x100699cd", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006c12d"], ["0x100699d2", "add esp, 4", "0x1006c132"], ["0x100699d5", "ret ", "0x1006c135"]]}]]]}, {"address": "0x100699e0", "recomp": "0x1006c140", "name": "LegoAnimPresenter::FUN_100699e0", "matching": 1.0, "diff": []}, {"address": "0x10069b10", "recomp": "0x1006c270", "name": "LegoAnimPresenter::FUN_10069b10", "matching": 0.9312169312169312, "diff": [["@@ -0x10069c21,97 +0x1006c381,97 @@", [{"both": [["0x10069c21", "mov ebx, dword ptr [ebp - 0x1c]", "0x1006c381"], ["0x10069c24", "mov edi, eax", "0x1006c384"], ["0x10069c26", "mov dword ptr [edx + 0x68], eax", "0x1006c386"], ["0x10069c29", "lea ecx, [ebx*4 + 4]", "0x1006c389"], ["0x10069c30", "shr ecx, 2", "0x1006c390"], ["0x10069c33", "xor eax, eax", "0x1006c393"], ["0x10069c35", "rep stosd dword ptr es:[edi], eax", "0x1006c395"], ["0x10069c37", "mov eax, dword ptr [ebp - 0x24]", "0x1006c397"], ["0x10069c3a", "mov ecx, dword ptr [eax]", "0x1006c39a"], ["0x10069c3c", "mov dword ptr [ebp - 0x18], ecx", "0x1006c39c"]]}, {"orig": [["0x10069c3f", "cmp eax, ecx"]], "recomp": [["0x1006c39f", "cmp ecx, eax"]]}, {"both": [["0x10069c41", "je 0xec", "0x1006c3a1"], ["0x10069c47", "mov eax, dword ptr [ebp - 0x18]", "0x1006c3a7"], ["0x10069c4a", "mov edx, dword ptr [ebp - 0x14]", "0x1006c3aa"], ["0x10069c4d", "mov ebx, dword ptr [eax + 0x14]", "0x1006c3ad"], ["0x10069c50", "mov ecx, dword ptr [eax + 0x10]", "0x1006c3b0"], ["0x10069c53", "mov eax, dword ptr [edx + 0x68]", "0x1006c3b3"], ["0x10069c56", "mov dword ptr [eax + ebx*4], ecx", "0x1006c3b6"], ["0x10069c59", "mov eax, dword ptr [edx + 0x68]", "0x1006c3b9"], ["0x10069c5c", "mov ecx, dword ptr [eax + ebx*4]", "0x1006c3bc"], ["0x10069c5f", "cmp dword ptr [ecx + 0xe4], 0", "0x1006c3bf"], ["0x10069c66", "je 0x6a", "0x1006c3c6"]]}, {"orig": [["0x10069c68", "xor esi, esi"]], "recomp": [["0x1006c3c8", "xor edi, edi"]]}, {"both": [["0x10069c6a", "cmp byte ptr [edx + 0x94], 0", "0x1006c3ca"], ["0x10069c71", "jbe 0x5f", "0x1006c3d1"]]}, {"orig": [["0x10069c73", "xor edi, edi"]], "recomp": [["0x1006c3d3", "xor esi, esi"]]}, {"both": [["0x10069c75", "mov edx, dword ptr [ebp - 0x14]", "0x1006c3d5"], ["0x10069c78", "mov eax, dword ptr [edx + 0x8c]", "0x1006c3d8"]]}, {"orig": [["0x10069c7e", "cmp dword ptr [eax + edi], 0"]], "recomp": [["0x1006c3de", "cmp dword ptr [eax + esi], 0"]]}, {"both": [["0x10069c82", "jne 0x27", "0x1006c3e2"], ["0x10069c84", "mov eax, dword ptr [edx + 0x90]", "0x1006c3e4"]]}, {"orig": [["0x10069c8a", "mov ecx, dword ptr [eax + edi]"]], "recomp": [["0x1006c3ea", "mov ecx, dword ptr [eax + esi]"]]}, {"both": [["0x10069c8d", "test ecx, ecx", "0x1006c3ed"], ["0x10069c8f", "je 0x1a", "0x1006c3ef"], ["0x10069c91", "mov eax, dword ptr [edx + 0x68]", "0x1006c3f1"], ["0x10069c94", "mov edx, dword ptr [eax + ebx*4]", "0x1006c3f4"], ["0x10069c97", "mov eax, dword ptr [edx + 0xe4]", "0x1006c3f7"], ["0x10069c9d", "push eax", "0x1006c3fd"], ["0x10069c9e", "push ecx", "0x1006c3fe"], ["0x10069c9f", "call __strcmpi (FUNCTION)", "0x1006c3ff"], ["0x10069ca4", "add esp, 8", "0x1006c404"], ["0x10069ca7", "test eax, eax", "0x1006c407"], ["0x10069ca9", "je 0x15", "0x1006c409"], ["0x10069cab", "xor eax, eax", "0x1006c40b"], ["0x10069cad", "mov edx, dword ptr [ebp - 0x14]", "0x1006c40d"]]}, {"orig": [["0x10069cb0", "add edi, 4"], ["0x10069cb3", "inc esi"]], "recomp": [["0x1006c410", "add esi, 4"], ["0x1006c413", "inc edi"]]}, {"both": [["0x10069cb4", "mov al, byte ptr [edx + 0x94]", "0x1006c414"]]}, {"orig": [["0x10069cba", "cmp eax, esi"]], "recomp": [["0x1006c41a", "cmp eax, edi"]]}, {"both": [["0x10069cbc", "jg -0x49", "0x1006c41c"], ["0x10069cbe", "jmp 0x12", "0x1006c41e"], ["0x10069cc0", "mov edx, dword ptr [ebp - 0x14]", "0x1006c420"], ["0x10069cc3", "mov eax, dword ptr [edx + 0x68]", "0x1006c423"], ["0x10069cc6", "mov ecx, dword ptr [eax + ebx*4]", "0x1006c426"], ["0x10069cc9", "mov eax, dword ptr [edx + 0x8c]", "0x1006c429"]]}, {"orig": [["0x10069ccf", "mov dword ptr [eax + esi*4], ecx"]], "recomp": [["0x1006c42f", "mov dword ptr [eax + edi*4], ecx"]]}, {"both": [["0x10069cd2", "mov eax, dword ptr [ebp - 0x18]", "0x1006c432"], ["0x10069cd5", "mov ecx, dword ptr [eax + 0xc]", "0x1006c435"], ["0x10069cd8", "push ecx", "0x1006c438"], ["0x10069cd9", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006c439"], ["0x10069cde", "add esp, 4", "0x1006c43e"], ["0x10069ce1", "mov edx, dword ptr [ebp - 0x18]", "0x1006c441"], ["0x10069ce4", "mov ecx, dword ptr [edx + 8]", "0x1006c444"]]}, {"orig": [["0x10069ce7", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c447", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ecx"]]}, {"both": [["0x10069ced", "je 0xe", "0x1006c44d"], ["0x10069cef", "mov eax, dword ptr [ecx]", "0x1006c44f"]]}, {"orig": [["0x10069cf1", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c451", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x10069cf7", "je 0x25", "0x1006c457"], ["0x10069cf9", "mov ecx, eax", "0x1006c459"], ["0x10069cfb", "jmp -0xe", "0x1006c45b"], ["0x10069cfd", "mov eax, dword ptr [ebp - 0x18]", "0x1006c45d"], ["0x10069d00", "mov ecx, dword ptr [eax + 4]", "0x1006c460"], ["0x10069d03", "cmp dword ptr [ecx + 8], eax", "0x1006c463"], ["0x10069d06", "jne 0xe", "0x1006c466"], ["0x10069d08", "mov dword ptr [ebp - 0x18], ecx", "0x1006c468"], ["0x10069d0b", "mov ecx, dword ptr [ecx + 4]", "0x1006c46b"], ["0x10069d0e", "mov eax, dword ptr [ebp - 0x18]", "0x1006c46e"], ["0x10069d11", "cmp dword ptr [ecx + 8], eax", "0x1006c471"], ["0x10069d14", "je -0xe", "0x1006c474"], ["0x10069d16", "mov eax, dword ptr [ebp - 0x18]", "0x1006c476"], ["0x10069d19", "cmp dword ptr [eax + 8], ecx", "0x1006c479"], ["0x10069d1c", "je 0x3", "0x1006c47c"], ["0x10069d1e", "mov dword ptr [ebp - 0x18], ecx", "0x1006c47e"], ["0x10069d21", "mov edx, dword ptr [ebp - 0x14]", "0x1006c481"]]}, {"orig": [["0x10069d24", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006c484", "mov eax, dword ptr [ebp - 0x24]"]]}, {"both": [["0x10069d27", "inc dword ptr [edx + 0x6c]", "0x1006c487"]]}, {"orig": [["0x10069d2a", "cmp dword ptr [ebp - 0x24], eax"]], "recomp": [["0x1006c48a", "cmp dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x10069d2d", "jne -0xec", "0x1006c48d"], ["0x10069d33", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006c493"], ["0x10069d3a", "call <OFFSET8>", "0x1006c49a"], ["0x10069d3f", "mov eax, dword ptr [ebp - 0xc]", "0x1006c49f"], ["0x10069d42", "pop edi", "0x1006c4a2"], ["0x10069d43", "mov dword ptr fs:[0], eax", "0x1006c4a3"], ["0x10069d49", "pop esi", "0x1006c4a9"], ["0x10069d4a", "pop ebx", "0x1006c4aa"], ["0x10069d4b", "mov esp, ebp", "0x1006c4ab"], ["0x10069d4d", "pop ebp", "0x1006c4ad"]]}]]]}, {"address": "0x10069d80", "recomp": "0x1006c4e0", "name": "_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::~_Tree<char const *,pair<char const * const,LegoAni", "matching": 1.0, "effective": true, "diff": [["@@ -0x10069d93,21 +0x1006c4f3,21 @@", [{"both": [["0x10069d93", "mov eax, dword ptr [ecx]", "0x1006c4f3"], ["0x10069d95", "mov dword ptr [esp + 0xc], eax", "0x1006c4f5"], ["0x10069d99", "mov dword ptr [esp + 0x14], eax", "0x1006c4f9"], ["0x10069d9d", "je 0x4e", "0x1006c4fd"], ["0x10069d9f", "cmp dword ptr [ecx], eax", "0x1006c4ff"], ["0x10069da1", "jne 0x4a", "0x1006c501"], ["0x10069da3", "cmp ecx, ecx", "0x1006c503"], ["0x10069da5", "jne 0x46", "0x1006c505"], ["0x10069da7", "mov edi, dword ptr [ecx + 4]", "0x1006c507"], ["0x10069daa", "mov ebx, edi", "0x1006c50a"]]}, {"orig": [["0x10069dac", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c50c", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10069db2", "je 0x1a", "0x1006c512"], ["0x10069db4", "mov eax, dword ptr [ebx + 8]", "0x1006c514"], ["0x10069db7", "mov ecx, esi", "0x1006c517"], ["0x10069db9", "push eax", "0x1006c519"], ["0x10069dba", "call _Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Erase (FUNCTION)", "0x1006c51a"], ["0x10069dbf", "mov ebx, dword ptr [ebx]", "0x1006c51f"], ["0x10069dc1", "push edi", "0x1006c521"], ["0x10069dc2", "mov edi, ebx", "0x1006c522"], ["0x10069dc4", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006c524"], ["0x10069dc9", "add esp, 4", "0x1006c529"]]}]]]}, {"address": "0x10069e50", "recomp": "0x1006c5b0", "name": "_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x10069e50,16 +0x1006c5b0,16 @@", [{"both": [["0x10069e50", "mov eax, dword ptr [ecx]", "0x1006c5b0"], ["0x10069e52", "mov edx, dword ptr [eax + 8]", "0x1006c5b2"]]}, {"orig": [["0x10069e55", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c5b5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], edx"]]}, {"both": [["0x10069e5b", "je 0x11", "0x1006c5bb"], ["0x10069e5d", "mov eax, dword ptr [edx]", "0x1006c5bd"]]}, {"orig": [["0x10069e5f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c5bf", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x10069e65", "je 0x4", "0x1006c5c5"], ["0x10069e67", "mov edx, eax", "0x1006c5c7"], ["0x10069e69", "jmp -0xe", "0x1006c5c9"], ["0x10069e6b", "mov dword ptr [ecx], edx", "0x1006c5cb"], ["0x10069e6d", "ret ", "0x1006c5cd"], ["0x10069e6e", "mov edx, dword ptr [eax + 4]", "0x1006c5ce"], ["0x10069e71", "cmp dword ptr [edx + 8], eax", "0x1006c5d1"], ["0x10069e74", "jne 0xc", "0x1006c5d4"], ["0x10069e76", "mov dword ptr [ecx], edx", "0x1006c5d6"], ["0x10069e78", "mov eax, edx", "0x1006c5d8"]]}]]]}, {"address": "0x10069e90", "recomp": "0x1006c5f0", "name": "_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::erase", "matching": 0.6811989100817438, "diff": [["@@ -0x10069e90,49 +0x1006c5f0,49 @@", [{"both": [["0x10069e90", "mov eax, dword ptr [esp + 8]", "0x1006c5f0"], ["0x10069e94", "sub esp, 4", "0x1006c5f4"], ["0x10069e97", "mov dword ptr [esp], eax", "0x1006c5f7"], ["0x10069e9b", "push ebx", "0x1006c5fb"], ["0x10069e9c", "push esi", "0x1006c5fc"], ["0x10069e9d", "push edi", "0x1006c5fd"], ["0x10069e9e", "push ebp", "0x1006c5fe"], ["0x10069e9f", "mov esi, ecx", "0x1006c5ff"], ["0x10069ea1", "mov ecx, dword ptr [eax + 8]", "0x1006c601"]]}, {"orig": [["0x10069ea4", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c604", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ecx"]]}, {"both": [["0x10069eaa", "je 0xe", "0x1006c60a"], ["0x10069eac", "mov eax, dword ptr [ecx]", "0x1006c60c"]]}, {"orig": [["0x10069eae", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c60e", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x10069eb4", "je 0x29", "0x1006c614"], ["0x10069eb6", "mov ecx, eax", "0x1006c616"], ["0x10069eb8", "jmp -0xe", "0x1006c618"], ["0x10069eba", "mov eax, dword ptr [esp + 0x1c]", "0x1006c61a"], ["0x10069ebe", "mov ecx, dword ptr [eax + 4]", "0x1006c61e"], ["0x10069ec1", "cmp dword ptr [ecx + 8], eax", "0x1006c621"], ["0x10069ec4", "jne 0x10", "0x1006c624"], ["0x10069ec6", "mov dword ptr [esp + 0x1c], ecx", "0x1006c626"], ["0x10069eca", "mov ecx, dword ptr [ecx + 4]", "0x1006c62a"], ["0x10069ecd", "mov eax, dword ptr [esp + 0x1c]", "0x1006c62d"], ["0x10069ed1", "cmp dword ptr [ecx + 8], eax", "0x1006c631"], ["0x10069ed4", "je -0x10", "0x1006c634"], ["0x10069ed6", "mov eax, dword ptr [esp + 0x1c]", "0x1006c636"], ["0x10069eda", "cmp dword ptr [eax + 8], ecx", "0x1006c63a"], ["0x10069edd", "je 0x4", "0x1006c63d"], ["0x10069edf", "mov dword ptr [esp + 0x1c], ecx", "0x1006c63f"], ["0x10069ee3", "mov ecx, dword ptr [esp + 0x10]", "0x1006c643"], ["0x10069ee7", "mov ebx, dword ptr [ecx]", "0x1006c647"]]}, {"orig": [["0x10069ee9", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c649", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10069eef", "je 0x26", "0x1006c64f"], ["0x10069ef1", "lea edi, [ecx + 8]", "0x1006c651"], ["0x10069ef4", "mov edx, dword ptr [edi]", "0x1006c654"]]}, {"orig": [["0x10069ef6", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c656", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], edx"]]}, {"both": [["0x10069efc", "je 0x15", "0x1006c65c"], ["0x10069efe", "mov eax, dword ptr [edx]", "0x1006c65e"]]}, {"orig": [["0x10069f00", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c660", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x10069f06", "je 0x4", "0x1006c666"], ["0x10069f08", "mov edx, eax", "0x1006c668"], ["0x10069f0a", "jmp -0xe", "0x1006c66a"], ["0x10069f0c", "mov ecx, edx", "0x1006c66c"], ["0x10069f0e", "mov edx, dword ptr [edx + 8]", "0x1006c66e"], ["0x10069f11", "jmp 0xe", "0x1006c671"], ["0x10069f13", "mov edx, ebx", "0x1006c673"], ["0x10069f15", "jmp 0xa", "0x1006c675"], ["0x10069f17", "mov edi, dword ptr [esp + 0x10]", "0x1006c677"], ["0x10069f1b", "mov edx, dword ptr [edi + 8]", "0x1006c67b"]]}]], ["@@ -0x10069f46,46 +0x1006c6a6,46 @@", [{"both": [["0x10069f46", "mov dword ptr [eax + 8], edx", "0x1006c6a6"], ["0x10069f49", "jmp 0x2", "0x1006c6a9"], ["0x10069f4b", "mov dword ptr [eax], edx", "0x1006c6ab"], ["0x10069f4d", "mov ebx, dword ptr [esi + 4]", "0x1006c6ad"], ["0x10069f50", "mov eax, dword ptr [esp + 0x10]", "0x1006c6b0"], ["0x10069f54", "cmp dword ptr [ebx], eax", "0x1006c6b4"], ["0x10069f56", "jne 0x26", "0x1006c6b6"], ["0x10069f58", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]", "0x1006c6b8"], ["0x10069f5d", "cmp dword ptr [edi], eax", "0x1006c6bd"], ["0x10069f5f", "je 0x14", "0x1006c6bf"]]}, {"orig": [["0x10069f61", "mov edi, edx"], ["0x10069f63", "mov eax, dword ptr [edi]"], ["0x10069f65", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c6c1", "mov eax, edx"], ["0x1006c6c3", "mov edi, dword ptr [eax]"], ["0x1006c6c5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], edi"]]}, {"both": [["0x10069f6b", "je 0x4", "0x1006c6cb"]]}, {"orig": [["0x10069f6d", "mov edi, eax"]], "recomp": [["0x1006c6cd", "mov eax, edi"]]}, {"both": [["0x10069f6f", "jmp -0xe", "0x1006c6cf"]]}, {"orig": [["0x10069f71", "mov dword ptr [ebx], edi"]], "recomp": [["0x1006c6d1", "mov dword ptr [ebx], eax"]]}, {"both": [["0x10069f73", "jmp 0x9", "0x1006c6d3"], ["0x10069f75", "mov eax, dword ptr [esp + 0x10]", "0x1006c6d5"], ["0x10069f79", "mov ebp, dword ptr [eax + 4]", "0x1006c6d9"], ["0x10069f7c", "mov dword ptr [ebx], ebp", "0x1006c6dc"], ["0x10069f7e", "mov edi, dword ptr [esi + 4]", "0x1006c6de"], ["0x10069f81", "mov eax, dword ptr [esp + 0x10]", "0x1006c6e1"], ["0x10069f85", "add edi, 8", "0x1006c6e5"], ["0x10069f88", "cmp dword ptr [edi], eax", "0x1006c6e8"], ["0x10069f8a", "jne 0x8a", "0x1006c6ea"], ["0x10069f90", "mov ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]", "0x1006c6f0"], ["0x10069f96", "cmp dword ptr [eax], ebx", "0x1006c6f6"], ["0x10069f98", "je 0x15", "0x1006c6f8"]]}, {"orig": [["0x10069f9a", "mov ebx, edx"], ["0x10069f9c", "mov eax, dword ptr [ebx + 8]"], ["0x10069f9f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c6fa", "mov eax, edx"], ["0x1006c6fc", "mov ebx, dword ptr [eax + 8]"], ["0x1006c6ff", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10069fa5", "je 0x4", "0x1006c705"]]}, {"orig": [["0x10069fa7", "mov ebx, eax"]], "recomp": [["0x1006c707", "mov eax, ebx"]]}, {"both": [["0x10069fa9", "jmp -0xf", "0x1006c709"]]}, {"orig": [["0x10069fab", "mov dword ptr [edi], ebx"]], "recomp": [["0x1006c70b", "mov dword ptr [edi], eax"]]}, {"both": [["0x10069fad", "jmp 0x6b", "0x1006c70d"], ["0x10069faf", "mov eax, dword ptr [esp + 0x10]", "0x1006c70f"], ["0x10069fb3", "mov ebx, dword ptr [eax + 4]", "0x1006c713"], ["0x10069fb6", "mov dword ptr [edi], ebx", "0x1006c716"], ["0x10069fb8", "jmp 0x60", "0x1006c718"], ["0x10069fba", "mov eax, dword ptr [esp + 0x10]", "0x1006c71a"], ["0x10069fbe", "mov dword ptr [ebx + 4], ecx", "0x1006c71e"], ["0x10069fc1", "mov ebx, dword ptr [eax]", "0x1006c721"], ["0x10069fc3", "mov dword ptr [ecx], ebx", "0x1006c723"], ["0x10069fc5", "cmp dword ptr [edi], ecx", "0x1006c725"]]}]], ["@@ -0x10069fff,184 +0x1006c75f,184 @@", [{"both": [["0x10069fff", "mov eax, dword ptr [esp + 0x10]", "0x1006c75f"], ["0x1006a003", "mov ebx, dword ptr [eax + 4]", "0x1006c763"], ["0x1006a006", "add eax, 0x18", "0x1006c766"], ["0x1006a009", "mov dword ptr [ecx + 4], ebx", "0x1006c769"], ["0x1006a00c", "mov edi, dword ptr [ecx + 0x18]", "0x1006c76c"], ["0x1006a00f", "mov ebx, dword ptr [eax]", "0x1006c76f"], ["0x1006a011", "mov dword ptr [ecx + 0x18], ebx", "0x1006c771"], ["0x1006a014", "mov ecx, dword ptr [esp + 0x10]", "0x1006c774"], ["0x1006a018", "mov dword ptr [eax], edi", "0x1006c778"], ["0x1006a01a", "cmp dword ptr [ecx + 0x18], 1", "0x1006c77a"]]}, {"orig": [["0x1006a01e", "jne 0x294"]], "recomp": [["0x1006c77e", "jne 0x296"]]}, {"both": [["0x1006a024", "mov eax, dword ptr [esi + 4]", "0x1006c784"], ["0x1006a027", "cmp dword ptr [eax + 4], edx", "0x1006c787"]]}, {"orig": [["0x1006a02a", "je 0x281"]], "recomp": [["0x1006c78a", "je 0x283"]]}, {"both": [["0x1006a030", "cmp dword ptr [edx + 0x18], 1", "0x1006c790"]]}, {"orig": [["0x1006a034", "jne 0x277"]], "recomp": [["0x1006c794", "jne 0x279"]]}, {"both": [["0x1006a03a", "lea ebx, [edx + 4]", "0x1006c79a"], ["0x1006a03d", "mov eax, dword ptr [ebx]", "0x1006c79d"], ["0x1006a03f", "mov edi, dword ptr [eax]", "0x1006c79f"]]}, {"orig": [["0x1006a041", "cmp edx, edi"], ["0x1006a043", "jne 0x73"]], "recomp": [["0x1006c7a1", "cmp edi, edx"], ["0x1006c7a3", "jne 0x76"]]}, {"both": [["0x1006a045", "mov edi, dword ptr [eax + 8]", "0x1006c7a5"]]}, {"orig": [["0x1006a048", "cmp dword ptr [edi + 0x18], 0"], ["0x1006a04c", "jne 0x4f"], ["0x1006a04e", "mov dword ptr [edi + 0x18], 1"], ["0x1006a055", "mov eax, dword ptr [ebx]"], ["0x1006a057", "mov dword ptr [eax + 0x18], 0"], ["0x1006a05e", "mov ebp, dword ptr [ebx]"], ["0x1006a060", "mov eax, dword ptr [ebp + 8]"], ["0x1006a063", "mov edi, dword ptr [eax]"], ["0x1006a065", "mov dword ptr [ebp + 8], edi"], ["0x1006a068", "mov edi, dword ptr [eax]"], ["0x1006a06a", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"], ["0x1006a070", "je 0x3"], ["0x1006a072", "mov dword ptr [edi + 4], ebp"], ["0x1006a075", "mov edi, dword ptr [ebp + 4]"], ["0x1006a078", "mov dword ptr [eax + 4], edi"], ["0x1006a07b", "mov edi, dword ptr [esi + 4]"], ["0x1006a07e", "add edi, 4"], ["0x1006a081", "cmp dword ptr [edi], ebp"], ["0x1006a083", "je 0xc"], ["0x1006a085", "mov edi, dword ptr [ebp + 4]"], ["0x1006a088", "cmp dword ptr [edi], ebp"], ["0x1006a08a", "je 0x5"], ["0x1006a08c", "mov dword ptr [edi + 8], eax"], ["0x1006a08f", "jmp 0x2"], ["0x1006a091", "mov dword ptr [edi], eax"], ["0x1006a093", "mov dword ptr [eax], ebp"], ["0x1006a095", "mov dword ptr [ebp + 4], eax"], ["0x1006a098", "mov eax, dword ptr [ebx]"], ["0x1006a09a", "mov edi, dword ptr [eax + 8]"], ["0x1006a09d", "mov eax, dword ptr [edi]"], ["0x1006a09f", "cmp dword ptr [eax + 0x18], 1"], ["0x1006a0a3", "jne 0x9a"], ["0x1006a0a9", "mov eax, dword ptr [edi + 8]"], ["0x1006a0ac", "cmp dword ptr [eax + 0x18], 1"], ["0x1006a0b0", "jne 0x8d"], ["0x1006a0b6", "jmp 0x71"]], "recomp": []}, {"both": [["0x1006a0b8", "cmp dword ptr [edi + 0x18], 0", "0x1006c7a8"], ["0x1006a0bc", "jne 0x52", "0x1006c7ac"], ["0x1006a0be", "mov dword ptr [edi + 0x18], 1", "0x1006c7ae"], ["0x1006a0c5", "mov eax, dword ptr [ebx]", "0x1006c7b5"], ["0x1006a0c7", "mov dword ptr [eax + 0x18], 0", "0x1006c7b7"]]}, {"orig": [["0x1006a0ce", "mov ebp, dword ptr [ebx]"], ["0x1006a0d0", "mov eax, dword ptr [ebp]"]], "recomp": [["0x1006c7be", "mov edi, dword ptr [ebx]"], ["0x1006c7c0", "mov eax, dword ptr [edi + 8]"], ["0x1006c7c3", "mov ebp, dword ptr [eax]"], ["0x1006c7c5", "mov dword ptr [edi + 8], ebp"], ["0x1006c7c8", "mov ebp, dword ptr [eax]"], ["0x1006c7ca", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ebp"], ["0x1006c7d0", "je 0x3"], ["0x1006c7d2", "mov dword ptr [ebp + 4], edi"], ["0x1006c7d5", "mov ebp, dword ptr [edi + 4]"], ["0x1006c7d8", "mov dword ptr [eax + 4], ebp"], ["0x1006c7db", "mov ebp, dword ptr [esi + 4]"], ["0x1006c7de", "add ebp, 4"], ["0x1006c7e1", "cmp dword ptr [ebp], edi"], ["0x1006c7e4", "je 0xd"], ["0x1006c7e6", "mov ebp, dword ptr [edi + 4]"], ["0x1006c7e9", "cmp dword ptr [ebp], edi"], ["0x1006c7ec", "je 0x5"], ["0x1006c7ee", "mov dword ptr [ebp + 8], eax"], ["0x1006c7f1", "jmp 0x3"], ["0x1006c7f3", "mov dword ptr [ebp], eax"], ["0x1006c7f6", "mov dword ptr [eax], edi"], ["0x1006c7f8", "mov dword ptr [edi + 4], eax"], ["0x1006c7fb", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x1006a0d3", "mov edi, dword ptr [eax + 8]", "0x1006c7fd"]]}, {"orig": [["0x1006a0d6", "mov dword ptr [ebp], edi"], ["0x1006a0d9", "mov edi, dword ptr [eax + 8]"], ["0x1006a0dc", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c800", "mov eax, dword ptr [edi]"], ["0x1006c802", "cmp dword ptr [eax + 0x18], 1"], ["0x1006c806", "jne 0x98"], ["0x1006c80c", "mov eax, dword ptr [edi + 8]"], ["0x1006c80f", "cmp dword ptr [eax + 0x18], 1"], ["0x1006c813", "jne 0x8b"], ["0x1006c819", "jmp 0x6f"], ["0x1006c81b", "cmp dword ptr [edi + 0x18], 0"], ["0x1006c81f", "jne 0x50"], ["0x1006c821", "mov dword ptr [edi + 0x18], 1"], ["0x1006c828", "mov eax, dword ptr [ebx]"], ["0x1006c82a", "mov dword ptr [eax + 0x18], 0"], ["0x1006c831", "mov eax, dword ptr [ebx]"], ["0x1006c833", "mov ebp, dword ptr [eax]"], ["0x1006c835", "mov edi, dword ptr [ebp + 8]"], ["0x1006c838", "mov dword ptr [eax], edi"], ["0x1006c83a", "mov edi, dword ptr [ebp + 8]"], ["0x1006c83d", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], edi"]]}, {"both": [["0x1006a0e2", "je 0x3", "0x1006c843"]]}, {"orig": [["0x1006a0e4", "mov dword ptr [edi + 4], ebp"], ["0x1006a0e7", "mov edi, dword ptr [ebp + 4]"], ["0x1006a0ea", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x1006c845", "mov dword ptr [edi + 4], eax"], ["0x1006c848", "mov edi, dword ptr [eax + 4]"], ["0x1006c84b", "mov dword ptr [ebp + 4], edi"]]}, {"both": [["0x1006a0ed", "mov edi, dword ptr [esi + 4]", "0x1006c84e"], ["0x1006a0f0", "add edi, 4", "0x1006c851"]]}, {"orig": [["0x1006a0f3", "cmp dword ptr [edi], ebp"]], "recomp": [["0x1006c854", "cmp dword ptr [edi], eax"]]}, {"both": [["0x1006a0f5", "je 0xd", "0x1006c856"]]}, {"orig": [["0x1006a0f7", "mov edi, dword ptr [ebp + 4]"]], "recomp": [["0x1006c858", "mov edi, dword ptr [eax + 4]"]]}, {"both": [["0x1006a0fa", "add edi, 8", "0x1006c85b"]]}, {"orig": [["0x1006a0fd", "cmp dword ptr [edi], ebp"]], "recomp": [["0x1006c85e", "cmp dword ptr [edi], eax"]]}, {"both": [["0x1006a0ff", "je 0x3", "0x1006c860"]]}, {"orig": [["0x1006a101", "mov edi, dword ptr [ebp + 4]"], ["0x1006a104", "mov dword ptr [edi], eax"], ["0x1006a106", "mov dword ptr [eax + 8], ebp"], ["0x1006a109", "mov dword ptr [ebp + 4], eax"]], "recomp": [["0x1006c862", "mov edi, dword ptr [eax + 4]"], ["0x1006c865", "mov dword ptr [edi], ebp"], ["0x1006c867", "mov dword ptr [ebp + 8], eax"], ["0x1006c86a", "mov dword ptr [eax + 4], ebp"]]}, {"both": [["0x1006a10c", "mov eax, dword ptr [ebx]", "0x1006c86d"], ["0x1006a10e", "mov edi, dword ptr [eax]", "0x1006c86f"], ["0x1006a110", "mov eax, dword ptr [edi + 8]", "0x1006c871"], ["0x1006a113", "cmp dword ptr [eax + 0x18], 1", "0x1006c874"]]}, {"orig": [["0x1006a117", "jne 0xe6"]], "recomp": [["0x1006c878", "jne 0xe7"]]}, {"both": [["0x1006a11d", "mov eax, dword ptr [edi]", "0x1006c87e"], ["0x1006a11f", "cmp dword ptr [eax + 0x18], 1", "0x1006c880"]]}, {"orig": [["0x1006a123", "jne 0xda"]], "recomp": [["0x1006c884", "jne 0xdb"]]}, {"both": [["0x1006a129", "mov dword ptr [edi + 0x18], 0", "0x1006c88a"], ["0x1006a130", "mov edx, dword ptr [ebx]", "0x1006c891"], ["0x1006a132", "mov eax, dword ptr [esi + 4]", "0x1006c893"], ["0x1006a135", "cmp dword ptr [eax + 4], edx", "0x1006c896"]]}, {"orig": [["0x1006a138", "jne -0x10e"], ["0x1006a13e", "jmp 0x16e"]], "recomp": [["0x1006c899", "jne -0x10f"], ["0x1006c89f", "jmp 0x16f"]]}, {"both": [["0x1006a143", "mov eax, dword ptr [edi + 8]", "0x1006c8a4"], ["0x1006a146", "cmp dword ptr [eax + 0x18], 1", "0x1006c8a7"]]}, {"orig": [["0x1006a14a", "jne 0x52"]], "recomp": [["0x1006c8ab", "jne 0x53"]]}, {"both": [["0x1006a14c", "mov eax, dword ptr [edi]", "0x1006c8ad"], ["0x1006a14e", "mov dword ptr [eax + 0x18], 1", "0x1006c8af"], ["0x1006a155", "mov dword ptr [edi + 0x18], 0", "0x1006c8b6"], ["0x1006a15c", "mov ebx, dword ptr [edi]", "0x1006c8bd"], ["0x1006a15e", "mov ebp, dword ptr [ebx + 8]", "0x1006c8bf"], ["0x1006a161", "mov dword ptr [edi], ebp", "0x1006c8c2"], ["0x1006a163", "mov eax, dword ptr [ebx + 8]", "0x1006c8c4"]]}, {"orig": [["0x1006a166", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c8c7", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a16c", "je 0x3", "0x1006c8cd"], ["0x1006a16e", "mov dword ptr [eax + 4], edi", "0x1006c8cf"], ["0x1006a171", "mov eax, dword ptr [edi + 4]", "0x1006c8d2"], ["0x1006a174", "mov dword ptr [ebx + 4], eax", "0x1006c8d5"], ["0x1006a177", "mov eax, dword ptr [esi + 4]", "0x1006c8d8"], ["0x1006a17a", "add eax, 4", "0x1006c8db"], ["0x1006a17d", "cmp dword ptr [eax], edi", "0x1006c8de"]]}, {"orig": [["0x1006a17f", "je 0xf"], ["0x1006a181", "mov ebp, dword ptr [edi + 4]"], ["0x1006a184", "lea eax, [ebp + 8]"], ["0x1006a187", "cmp dword ptr [eax], edi"], ["0x1006a189", "je 0x5"]], "recomp": [["0x1006c8e0", "je 0x10"], ["0x1006c8e2", "mov eax, dword ptr [edi + 4]"], ["0x1006c8e5", "lea ebp, [eax + 8]"], ["0x1006c8e8", "cmp dword ptr [ebp], edi"], ["0x1006c8eb", "jne 0x5"]]}, {"both": [["0x1006a18b", "mov dword ptr [ebp], ebx", "0x1006c8ed"], ["0x1006a18e", "jmp 0x2", "0x1006c8f0"], ["0x1006a190", "mov dword ptr [eax], ebx", "0x1006c8f2"], ["0x1006a192", "mov dword ptr [ebx + 8], edi", "0x1006c8f4"], ["0x1006a195", "mov dword ptr [edi + 4], ebx", "0x1006c8f7"], ["0x1006a198", "mov eax, dword ptr [edx + 4]", "0x1006c8fa"], ["0x1006a19b", "mov edi, dword ptr [eax + 8]", "0x1006c8fd"], ["0x1006a19e", "mov eax, dword ptr [edx + 4]", "0x1006c900"], ["0x1006a1a1", "mov ebx, dword ptr [eax + 0x18]", "0x1006c903"], ["0x1006a1a4", "mov dword ptr [edi + 0x18], ebx", "0x1006c906"], ["0x1006a1a7", "mov ebx, 1", "0x1006c909"], ["0x1006a1ac", "mov eax, dword ptr [edx + 4]", "0x1006c90e"], ["0x1006a1af", "mov dword ptr [eax + 0x18], ebx", "0x1006c911"], ["0x1006a1b2", "mov ebp, dword ptr [edi + 8]", "0x1006c914"], ["0x1006a1b5", "mov dword ptr [ebp + 0x18], ebx", "0x1006c917"]]}, {"orig": [["0x1006a1b8", "mov edi, dword ptr [edx + 4]"], ["0x1006a1bb", "mov ebx, dword ptr [edi + 8]"], ["0x1006a1be", "mov eax, dword ptr [ebx]"], ["0x1006a1c0", "mov dword ptr [edi + 8], eax"], ["0x1006a1c3", "mov eax, dword ptr [ebx]"], ["0x1006a1c5", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c91a", "mov ebx, dword ptr [edx + 4]"], ["0x1006c91d", "mov edi, dword ptr [ebx + 8]"], ["0x1006c920", "mov eax, dword ptr [edi]"], ["0x1006c922", "mov dword ptr [ebx + 8], eax"], ["0x1006c925", "mov eax, dword ptr [edi]"], ["0x1006c927", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a1cb", "je 0x3", "0x1006c92d"]]}, {"orig": [["0x1006a1cd", "mov dword ptr [eax + 4], edi"], ["0x1006a1d0", "mov eax, dword ptr [edi + 4]"], ["0x1006a1d3", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1006c92f", "mov dword ptr [eax + 4], ebx"], ["0x1006c932", "mov eax, dword ptr [ebx + 4]"], ["0x1006c935", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1006a1d6", "mov eax, dword ptr [esi + 4]", "0x1006c938"], ["0x1006a1d9", "add eax, 4", "0x1006c93b"]]}, {"orig": [["0x1006a1dc", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006c93e", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006a1de", "je 0x1a", "0x1006c940"]]}, {"orig": [["0x1006a1e0", "mov eax, dword ptr [edi + 4]"], ["0x1006a1e3", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006c942", "mov eax, dword ptr [ebx + 4]"], ["0x1006c945", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006a1e5", "je 0xa", "0x1006c947"]]}, {"orig": [["0x1006a1e7", "mov dword ptr [eax + 8], ebx"], ["0x1006a1ea", "mov dword ptr [ebx], edi"]], "recomp": [["0x1006c949", "mov dword ptr [eax + 8], edi"], ["0x1006c94c", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1006a1ec", "jmp 0xbd", "0x1006c94e"]]}, {"orig": [["0x1006a1f1", "mov dword ptr [eax], ebx"], ["0x1006a1f3", "mov dword ptr [ebx], edi"]], "recomp": [["0x1006c953", "mov dword ptr [eax], edi"], ["0x1006c955", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1006a1f5", "jmp 0xb4", "0x1006c957"]]}, {"orig": [["0x1006a1fa", "mov dword ptr [eax], ebx"], ["0x1006a1fc", "mov dword ptr [ebx], edi"]], "recomp": [["0x1006c95c", "mov dword ptr [eax], edi"], ["0x1006c95e", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1006a1fe", "jmp 0xab", "0x1006c960"], ["0x1006a203", "mov eax, dword ptr [edi]", "0x1006c965"], ["0x1006a205", "cmp dword ptr [eax + 0x18], 1", "0x1006c967"], ["0x1006a209", "jne 0x4e", "0x1006c96b"], ["0x1006a20b", "mov eax, dword ptr [edi + 8]", "0x1006c96d"], ["0x1006a20e", "mov dword ptr [eax + 0x18], 1", "0x1006c970"], ["0x1006a215", "mov dword ptr [edi + 0x18], 0", "0x1006c977"], ["0x1006a21c", "mov ebx, dword ptr [edi + 8]", "0x1006c97e"], ["0x1006a21f", "mov ebp, dword ptr [ebx]", "0x1006c981"], ["0x1006a221", "mov dword ptr [edi + 8], ebp", "0x1006c983"], ["0x1006a224", "mov eax, dword ptr [ebx]", "0x1006c986"]]}, {"orig": [["0x1006a226", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c988", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a22c", "je 0x3", "0x1006c98e"], ["0x1006a22e", "mov dword ptr [eax + 4], edi", "0x1006c990"], ["0x1006a231", "mov eax, dword ptr [edi + 4]", "0x1006c993"], ["0x1006a234", "mov dword ptr [ebx + 4], eax", "0x1006c996"], ["0x1006a237", "mov eax, dword ptr [esi + 4]", "0x1006c999"], ["0x1006a23a", "add eax, 4", "0x1006c99c"], ["0x1006a23d", "cmp dword ptr [eax], edi", "0x1006c99f"], ["0x1006a23f", "je 0xc", "0x1006c9a1"], ["0x1006a241", "mov eax, dword ptr [edi + 4]", "0x1006c9a3"], ["0x1006a244", "cmp dword ptr [eax], edi", "0x1006c9a6"]]}]], ["@@ -0x1006a254,43 +0x1006c9b6,43 @@", [{"both": [["0x1006a254", "mov eax, dword ptr [edx + 4]", "0x1006c9b6"], ["0x1006a257", "mov edi, dword ptr [eax]", "0x1006c9b9"], ["0x1006a259", "mov eax, dword ptr [edx + 4]", "0x1006c9bb"], ["0x1006a25c", "mov ebx, dword ptr [eax + 0x18]", "0x1006c9be"], ["0x1006a25f", "mov dword ptr [edi + 0x18], ebx", "0x1006c9c1"], ["0x1006a262", "mov ebx, 1", "0x1006c9c4"], ["0x1006a267", "mov eax, dword ptr [edx + 4]", "0x1006c9c9"], ["0x1006a26a", "mov dword ptr [eax + 0x18], ebx", "0x1006c9cc"], ["0x1006a26d", "mov ebp, dword ptr [edi]", "0x1006c9cf"], ["0x1006a26f", "mov dword ptr [ebp + 0x18], ebx", "0x1006c9d1"]]}, {"orig": [["0x1006a272", "mov edi, dword ptr [edx + 4]"], ["0x1006a275", "mov ebx, dword ptr [edi]"], ["0x1006a277", "mov eax, dword ptr [ebx + 8]"], ["0x1006a27a", "mov dword ptr [edi], eax"], ["0x1006a27c", "mov eax, dword ptr [ebx + 8]"], ["0x1006a27f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006c9d4", "mov ebx, dword ptr [edx + 4]"], ["0x1006c9d7", "mov edi, dword ptr [ebx]"], ["0x1006c9d9", "mov eax, dword ptr [edi + 8]"], ["0x1006c9dc", "mov dword ptr [ebx], eax"], ["0x1006c9de", "mov eax, dword ptr [edi + 8]"], ["0x1006c9e1", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a285", "je 0x3", "0x1006c9e7"]]}, {"orig": [["0x1006a287", "mov dword ptr [eax + 4], edi"], ["0x1006a28a", "mov eax, dword ptr [edi + 4]"], ["0x1006a28d", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1006c9e9", "mov dword ptr [eax + 4], ebx"], ["0x1006c9ec", "mov eax, dword ptr [ebx + 4]"], ["0x1006c9ef", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1006a290", "mov eax, dword ptr [esi + 4]", "0x1006c9f2"], ["0x1006a293", "add eax, 4", "0x1006c9f5"]]}, {"orig": [["0x1006a296", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006c9f8", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006a298", "je 0xf", "0x1006c9fa"]]}, {"orig": [["0x1006a29a", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x1006c9fc", "mov ebp, dword ptr [ebx + 4]"]]}, {"both": [["0x1006a29d", "lea eax, [ebp + 8]", "0x1006c9ff"]]}, {"orig": [["0x1006a2a0", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006ca02", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006a2a2", "je 0x5", "0x1006ca04"]]}, {"orig": [["0x1006a2a4", "mov dword ptr [ebp], ebx"]], "recomp": [["0x1006ca06", "mov dword ptr [ebp], edi"]]}, {"both": [["0x1006a2a7", "jmp 0x2", "0x1006ca09"]]}, {"orig": [["0x1006a2a9", "mov dword ptr [eax], ebx"], ["0x1006a2ab", "mov dword ptr [ebx + 8], edi"], ["0x1006a2ae", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x1006ca0b", "mov dword ptr [eax], edi"], ["0x1006ca0d", "mov dword ptr [edi + 8], ebx"], ["0x1006ca10", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x1006a2b1", "mov dword ptr [edx + 0x18], 1", "0x1006ca13"], ["0x1006a2b8", "push ecx", "0x1006ca1a"], ["0x1006a2b9", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006ca1b"], ["0x1006a2be", "mov ecx, dword ptr [esp + 0x20]", "0x1006ca20"], ["0x1006a2c2", "mov eax, dword ptr [esp + 0x1c]", "0x1006ca24"], ["0x1006a2c6", "add esp, 4", "0x1006ca28"], ["0x1006a2c9", "dec dword ptr [esi + 0xc]", "0x1006ca2b"], ["0x1006a2cc", "mov dword ptr [eax], ecx", "0x1006ca2e"], ["0x1006a2ce", "pop ebp", "0x1006ca30"], ["0x1006a2cf", "pop edi", "0x1006ca31"]]}]]]}, {"address": "0x1006a2e0", "recomp": "0x1006ca40", "name": "_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Erase", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006a2e0,23 +0x1006ca40,23 @@", [{"both": [["0x1006a2e0", "push ebx", "0x1006ca40"], ["0x1006a2e1", "push esi", "0x1006ca41"], ["0x1006a2e2", "push edi", "0x1006ca42"], ["0x1006a2e3", "mov esi, ecx", "0x1006ca43"], ["0x1006a2e5", "mov ebx, dword ptr [esp + 0x10]", "0x1006ca45"], ["0x1006a2e9", "mov edi, ebx", "0x1006ca49"]]}, {"orig": [["0x1006a2eb", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006ca4b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1006a2f1", "je 0x20", "0x1006ca51"], ["0x1006a2f3", "mov eax, dword ptr [edi + 8]", "0x1006ca53"], ["0x1006a2f6", "mov ecx, esi", "0x1006ca56"], ["0x1006a2f8", "push eax", "0x1006ca58"], ["0x1006a2f9", "call _Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Erase (FUNCTION)", "0x1006ca59"], ["0x1006a2fe", "mov edi, dword ptr [edi]", "0x1006ca5e"], ["0x1006a300", "push ebx", "0x1006ca60"], ["0x1006a301", "mov ebx, edi", "0x1006ca61"], ["0x1006a303", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006ca63"], ["0x1006a308", "add esp, 4", "0x1006ca68"]]}, {"orig": [["0x1006a30b", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006ca6b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], edi"]]}, {"both": [["0x1006a311", "jne -0x20", "0x1006ca71"], ["0x1006a313", "pop edi", "0x1006ca73"], ["0x1006a314", "pop esi", "0x1006ca74"], ["0x1006a315", "pop ebx", "0x1006ca75"], ["0x1006a316", "ret 4", "0x1006ca76"]]}]]]}, {"address": "0x1006a320", "recomp": "0x1006ca80", "name": "Map<char const *,LegoAnimStruct,LegoAnimStructComparator>::~Map<char const *,LegoAnimStruct,LegoAnimStructComparator>", "matching": 1.0, "diff": []}, {"address": "0x1006a370", "recomp": "0x1006cad0", "name": "map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::~map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >", "matching": 1.0, "diff": []}, {"address": "0x1006a3c0", "recomp": "0x1006cb20", "name": "LegoAnimPresenter::FUN_1006a3c0", "matching": 0.672566371681416, "diff": [["@@ -0x1006a3c0,111 +0x1006cb20,111 @@", [{"both": [["0x1006a3c0", "sub esp, 0xc", "0x1006cb20"], ["0x1006a3c3", "mov dword ptr [esp], ecx", "0x1006cb23"], ["0x1006a3c7", "push ebx", "0x1006cb27"], ["0x1006a3c8", "push esi", "0x1006cb28"]]}, {"orig": [], "recomp": [["0x1006cb29", "xor ebx, ebx"], ["0x1006cb2b", "mov esi, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1006a3c9", "push edi", "0x1006cb2f"]]}, {"orig": [["0x1006a3ca", "mov esi, dword ptr [esp + 0x24]"]], "recomp": [["0x1006cb30", "mov edi, dword ptr [esp + 0x24]"]]}, {"both": [["0x1006a3ce", "push ebp", "0x1006cb34"]]}, {"orig": [["0x1006a3cf", "xor edi, edi"], ["0x1006a3d1", "mov ebp, dword ptr [esp + 0x24]"], ["0x1006a3d5", "mov dword ptr [esp + 0x18], edi"], ["0x1006a3d9", "mov eax, dword ptr [ebp + 4]"]], "recomp": [["0x1006cb35", "mov eax, dword ptr [esi + 4]"], ["0x1006cb38", "mov dword ptr [esp + 0x18], ebx"]]}, {"both": [["0x1006a3dc", "mov dword ptr [esp + 0x14], eax", "0x1006cb3c"]]}, {"orig": [["0x1006a3e0", "mov ebx, dword ptr [eax + 4]"], ["0x1006a3e3", "test ebx, ebx"], ["0x1006a3e5", "je 0x5b"], ["0x1006a3e7", "mov al, byte ptr [ebx]"]], "recomp": [["0x1006cb40", "mov ebp, dword ptr [eax + 4]"], ["0x1006cb43", "test ebp, ebp"], ["0x1006cb45", "je 0x5c"], ["0x1006cb47", "mov al, byte ptr [ebp]"]]}, {"both": [["0x1006a3e9", "cmp al, 0x2d", "0x1006cb4a"], ["0x1006a3eb", "je 0x55", "0x1006cb4c"], ["0x1006a3ed", "cmp al, 0x2a", "0x1006cb4e"], ["0x1006a3ef", "jne 0xc", "0x1006cb50"]]}, {"orig": [["0x1006a3f1", "push ebx"]], "recomp": [["0x1006cb52", "push ebp"]]}, {"both": [["0x1006a3f2", "call LegoAnimPresenter::FUN_10069150 (FUNCTION)", "0x1006cb53"]]}, {"orig": [["0x1006a3f7", "mov ebx, eax"]], "recomp": [["0x1006cb58", "mov ebp, eax"]]}, {"both": [["0x1006a3f9", "mov dword ptr [esp + 0x18], eax", "0x1006cb5a"], ["0x1006a3fd", "mov eax, 0", "0x1006cb5e"]]}, {"orig": [["0x1006a402", "test esi, esi"]], "recomp": [["0x1006cb63", "test edi, edi"]]}, {"both": [["0x1006a404", "je 0x6", "0x1006cb65"]]}, {"orig": [["0x1006a406", "mov eax, dword ptr [esi + 0xe4]"]], "recomp": [["0x1006cb67", "mov eax, dword ptr [edi + 0xe4]"]]}, {"both": [["0x1006a40c", "mov ecx, dword ptr [esp + 0x10]", "0x1006cb6d"], ["0x1006a410", "push eax", "0x1006cb71"]]}, {"orig": [["0x1006a411", "push ebx"]], "recomp": [["0x1006cb72", "push ebp"]]}, {"both": [["0x1006a412", "call LegoAnimPresenter::FUN_100697c0 (FUNCTION)", "0x1006cb73"]]}, {"orig": [["0x1006a417", "mov edi, eax"], ["0x1006a419", "test esi, esi"]], "recomp": [["0x1006cb78", "mov ebx, eax"], ["0x1006cb7a", "test edi, edi"]]}, {"both": [["0x1006a41b", "jne 0x76", "0x1006cb7c"], ["0x1006a41d", "mov ecx, dword ptr [esp + 0x10]", "0x1006cb7e"]]}, {"orig": [], "recomp": [["0x1006cb82", "push ebx"], ["0x1006cb83", "call LegoAnimPresenter::FUN_100699e0 (FUNCTION)"], ["0x1006cb88", "mov edi, eax"], ["0x1006cb8a", "test edi, edi"], ["0x1006cb8c", "je 0x5a"]]}, {"both": [["0x1006a421", "push edi", "0x1006cb8e"]]}, {"orig": [["0x1006a422", "call LegoAnimPresenter::FUN_100699e0 (FUNCTION)"], ["0x1006a427", "mov esi, eax"], ["0x1006a429", "test esi, esi"], ["0x1006a42b", "je 0x5a"], ["0x1006a42d", "push esi"]], "recomp": []}, {"both": [["0x1006a42e", "mov eax, dword ptr [esp + 0x18]", "0x1006cb8f"]]}, {"orig": [["0x1006a432", "push edi"]], "recomp": [["0x1006cb93", "push ebx"]]}, {"both": [["0x1006a433", "mov ecx, dword ptr [esp + 0x28]", "0x1006cb94"], ["0x1006a437", "push eax", "0x1006cb98"], ["0x1006a438", "push ecx", "0x1006cb99"], ["0x1006a439", "mov ecx, dword ptr [esp + 0x20]", "0x1006cb9a"], ["0x1006a43d", "call LegoAnimPresenter::FUN_1006a4f0 (FUNCTION)", "0x1006cb9e"]]}, {"orig": [["0x1006a442", "push edi"]], "recomp": [["0x1006cba3", "push ebx"]]}, {"both": [["0x1006a443", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006cba4"], ["0x1006a448", "mov eax, dword ptr [esp + 0x1c]", "0x1006cba9"], ["0x1006a44c", "add esp, 4", "0x1006cbad"]]}, {"orig": [["0x1006a44f", "xor ebx, ebx"]], "recomp": [["0x1006cbb0", "xor ebp, ebp"]]}, {"both": [["0x1006a451", "push eax", "0x1006cbb2"], ["0x1006a452", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006cbb3"], ["0x1006a457", "add esp, 4", "0x1006cbb8"]]}, {"orig": [["0x1006a45a", "mov edi, dword ptr [ebp + 8]"], ["0x1006a45d", "test edi, edi"]], "recomp": [["0x1006cbbb", "mov ebx, dword ptr [esi + 8]"], ["0x1006cbbe", "test ebx, ebx"]]}, {"both": [["0x1006a45f", "jle 0x1c", "0x1006cbc0"]]}, {"orig": [["0x1006a461", "push esi"], ["0x1006a462", "mov eax, dword ptr [ebp + 0xc]"]], "recomp": [["0x1006cbc2", "push edi"], ["0x1006cbc3", "mov eax, dword ptr [esi + 0xc]"]]}, {"both": [["0x1006a465", "mov edx, dword ptr [esp + 0x24]", "0x1006cbc6"], ["0x1006a469", "nop ", "0x1006cbca"]]}, {"orig": [["0x1006a46a", "mov ecx, dword ptr [eax + ebx*4]"], ["0x1006a46d", "inc ebx"]], "recomp": [["0x1006cbcb", "mov ecx, dword ptr [eax + ebp*4]"], ["0x1006cbce", "inc ebp"]]}, {"both": [["0x1006a46e", "push ecx", "0x1006cbcf"], ["0x1006a46f", "push edx", "0x1006cbd0"], ["0x1006a470", "mov ecx, dword ptr [esp + 0x1c]", "0x1006cbd1"], ["0x1006a474", "call LegoAnimPresenter::FUN_1006a3c0 (FUNCTION)", "0x1006cbd5"]]}, {"orig": [["0x1006a479", "cmp ebx, edi"]], "recomp": [["0x1006cbda", "cmp ebp, ebx"]]}, {"both": [["0x1006a47b", "jl -0x1c", "0x1006cbdc"], ["0x1006a47d", "pop ebp", "0x1006cbde"], ["0x1006a47e", "pop edi", "0x1006cbdf"], ["0x1006a47f", "pop esi", "0x1006cbe0"], ["0x1006a480", "pop ebx", "0x1006cbe1"], ["0x1006a481", "add esp, 0xc", "0x1006cbe2"], ["0x1006a484", "ret 0xc", "0x1006cbe5"], ["0x1006a487", "mov eax, dword ptr [esp + 0x14]", "0x1006cbe8"], ["0x1006a48b", "mov word ptr [eax + 0x20], 0", "0x1006cbec"], ["0x1006a491", "jmp -0x51", "0x1006cbf2"]]}, {"orig": [["0x1006a493", "push esi"], ["0x1006a494", "mov ecx, esi"], ["0x1006a496", "push ebx"]], "recomp": [["0x1006cbf4", "push edi"], ["0x1006cbf5", "mov ecx, edi"], ["0x1006cbf7", "push ebp"]]}, {"both": [["0x1006a497", "call LegoROI::FindChildROI (FUNCTION)", "0x1006cbf8"], ["0x1006a49c", "test eax, eax", "0x1006cbfd"], ["0x1006a49e", "je 0x3", "0x1006cbff"], ["0x1006a4a0", "push eax", "0x1006cc01"], ["0x1006a4a1", "jmp -0x75", "0x1006cc02"], ["0x1006a4a3", "mov ecx, dword ptr [esp + 0x10]", "0x1006cc04"]]}, {"orig": [["0x1006a4a7", "push ebx"]], "recomp": [["0x1006cc08", "push ebp"]]}, {"both": [["0x1006a4a8", "call LegoAnimPresenter::FUN_100699e0 (FUNCTION)", "0x1006cc09"], ["0x1006a4ad", "test eax, eax", "0x1006cc0e"], ["0x1006a4af", "je -0x6f", "0x1006cc10"], ["0x1006a4b1", "mov eax, dword ptr [esp + 0x20]", "0x1006cc12"], ["0x1006a4b5", "push 0", "0x1006cc16"], ["0x1006a4b7", "mov ecx, dword ptr [esp + 0x14]", "0x1006cc18"]]}, {"orig": [["0x1006a4bb", "push ebp"]], "recomp": [["0x1006cc1c", "push esi"]]}, {"both": [["0x1006a4bc", "push eax", "0x1006cc1d"], ["0x1006a4bd", "call LegoAnimPresenter::FUN_1006a3c0 (FUNCTION)", "0x1006cc1e"]]}, {"orig": [["0x1006a4c2", "push edi"]], "recomp": [["0x1006cc23", "push ebx"]]}, {"both": [["0x1006a4c3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006cc24"], ["0x1006a4c8", "mov eax, dword ptr [esp + 0x1c]", "0x1006cc29"], ["0x1006a4cc", "add esp, 4", "0x1006cc2d"], ["0x1006a4cf", "push eax", "0x1006cc30"], ["0x1006a4d0", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006cc31"], ["0x1006a4d5", "add esp, 4", "0x1006cc36"], ["0x1006a4d8", "pop ebp", "0x1006cc39"], ["0x1006a4d9", "pop edi", "0x1006cc3a"], ["0x1006a4da", "pop esi", "0x1006cc3b"], ["0x1006a4db", "pop ebx", "0x1006cc3c"]]}]]]}, {"address": "0x1006a4f0", "recomp": "0x1006cc50", "name": "LegoAnimPresenter::FUN_1006a4f0", "matching": 0.9773755656108597, "diff": [["@@ -0x1006a4f0,18 +0x1006cc50,18 @@", [{"both": [["0x1006a4f0", "sub esp, 0x34", "0x1006cc50"], ["0x1006a4f3", "push ebx", "0x1006cc53"], ["0x1006a4f4", "push esi", "0x1006cc54"], ["0x1006a4f5", "mov ebx, dword ptr [esp + 0x40]", "0x1006cc55"], ["0x1006a4f9", "push edi", "0x1006cc59"], ["0x1006a4fa", "mov edx, dword ptr [ebx + 4]", "0x1006cc5a"], ["0x1006a4fd", "mov esi, dword ptr [edx + 4]", "0x1006cc5d"]]}, {"orig": [["0x1006a500", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006cc60", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006a506", "je 0x41", "0x1006cc66"], ["0x1006a508", "mov eax, dword ptr [esi + 0xc]", "0x1006cc68"], ["0x1006a50b", "mov edi, dword ptr [esp + 0x4c]", "0x1006cc6b"], ["0x1006a50f", "mov cl, byte ptr [eax]", "0x1006cc6f"], ["0x1006a511", "cmp cl, byte ptr [edi]", "0x1006cc71"], ["0x1006a513", "jne 0x1a", "0x1006cc73"], ["0x1006a515", "or cl, cl", "0x1006cc75"], ["0x1006a517", "je 0x12", "0x1006cc77"], ["0x1006a519", "mov cl, byte ptr [eax + 1]", "0x1006cc79"], ["0x1006a51c", "cmp cl, byte ptr [edi + 1]", "0x1006cc7c"]]}]], ["@@ -0x1006a52b,21 +0x1006cc8b,21 @@", [{"both": [["0x1006a52b", "xor eax, eax", "0x1006cc8b"], ["0x1006a52d", "jmp 0x5", "0x1006cc8d"], ["0x1006a52f", "sbb eax, eax", "0x1006cc8f"], ["0x1006a531", "sbb eax, -1", "0x1006cc91"], ["0x1006a534", "test eax, eax", "0x1006cc94"], ["0x1006a536", "jl 0x6", "0x1006cc96"], ["0x1006a538", "mov edx, esi", "0x1006cc98"], ["0x1006a53a", "mov esi, dword ptr [esi]", "0x1006cc9a"], ["0x1006a53c", "jmp 0x3", "0x1006cc9c"], ["0x1006a53e", "mov esi, dword ptr [esi + 8]", "0x1006cc9e"]]}, {"orig": [["0x1006a541", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006cca1", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006a547", "jne -0x41", "0x1006cca7"], ["0x1006a549", "mov dword ptr [esp + 0xc], edx", "0x1006cca9"], ["0x1006a54d", "cmp dword ptr [ebx + 4], edx", "0x1006ccad"], ["0x1006a550", "je 0x34", "0x1006ccb0"], ["0x1006a552", "mov ecx, dword ptr [esp + 0x4c]", "0x1006ccb2"], ["0x1006a556", "mov eax, dword ptr [edx + 0xc]", "0x1006ccb6"], ["0x1006a559", "mov dl, byte ptr [ecx]", "0x1006ccb9"], ["0x1006a55b", "cmp dl, byte ptr [eax]", "0x1006ccbb"], ["0x1006a55d", "jne 0x1a", "0x1006ccbd"], ["0x1006a55f", "or dl, dl", "0x1006ccbf"]]}]], ["@@ -0x1006a5df,29 +0x1006cd3f,29 @@", [{"both": [["0x1006a5df", "sub edi, ecx", "0x1006cd3f"], ["0x1006a5e1", "mov edx, ecx", "0x1006cd41"], ["0x1006a5e3", "shr ecx, 2", "0x1006cd43"], ["0x1006a5e6", "mov esi, edi", "0x1006cd46"], ["0x1006a5e8", "mov edi, dword ptr [esp + 0xc]", "0x1006cd48"], ["0x1006a5ec", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1006cd4c"], ["0x1006a5ee", "mov ecx, edx", "0x1006cd4e"], ["0x1006a5f0", "and ecx, 3", "0x1006cd50"], ["0x1006a5f3", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1006cd53"], ["0x1006a5f5", "mov eax, dword ptr [esp + 0xc]", "0x1006cd55"]]}, {"orig": [["0x1006a5f9", "mov edi, dword ptr [ebx + 4]"]], "recomp": []}, {"both": [["0x1006a5fc", "mov dword ptr [esp + 0xc], eax", "0x1006cd59"], ["0x1006a600", "mov eax, 1", "0x1006cd5d"], ["0x1006a605", "mov edx, dword ptr [esp + 0x1c]", "0x1006cd62"], ["0x1006a609", "mov ecx, dword ptr [esp + 0x20]", "0x1006cd66"], ["0x1006a60d", "mov dword ptr [esp + 0x10], edx", "0x1006cd6a"], ["0x1006a611", "mov dword ptr [esp + 0x14], ecx", "0x1006cd6e"]]}, {"orig": [], "recomp": [["0x1006cd72", "mov edi, dword ptr [ebx + 4]"]]}, {"both": [["0x1006a615", "mov esi, dword ptr [edi + 4]", "0x1006cd75"]]}, {"orig": [["0x1006a618", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006cd78", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006a61e", "je 0x4a", "0x1006cd7e"], ["0x1006a620", "mov edi, esi", "0x1006cd80"], ["0x1006a622", "mov ecx, dword ptr [esp + 0xc]", "0x1006cd82"], ["0x1006a626", "mov edx, dword ptr [esi + 0xc]", "0x1006cd86"], ["0x1006a629", "mov al, byte ptr [ecx]", "0x1006cd89"], ["0x1006a62b", "cmp al, byte ptr [edx]", "0x1006cd8b"], ["0x1006a62d", "jne 0x1a", "0x1006cd8d"], ["0x1006a62f", "or al, al", "0x1006cd8f"], ["0x1006a631", "je 0x12", "0x1006cd91"], ["0x1006a633", "mov al, byte ptr [ecx + 1]", "0x1006cd93"]]}]], ["@@ -0x1006a64b,21 +0x1006cdab,21 @@", [{"both": [["0x1006a64b", "sbb eax, -1", "0x1006cdab"], ["0x1006a64e", "test eax, eax", "0x1006cdae"], ["0x1006a650", "setl cl", "0x1006cdb0"], ["0x1006a653", "xor eax, eax", "0x1006cdb3"], ["0x1006a655", "mov al, cl", "0x1006cdb5"], ["0x1006a657", "test eax, eax", "0x1006cdb7"], ["0x1006a659", "jne 0x5", "0x1006cdb9"], ["0x1006a65b", "mov esi, dword ptr [esi + 8]", "0x1006cdbb"], ["0x1006a65e", "jmp 0x2", "0x1006cdbe"], ["0x1006a660", "mov esi, dword ptr [esi]", "0x1006cdc0"]]}, {"orig": [["0x1006a662", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006cdc2", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006a668", "jne -0x4a", "0x1006cdc8"], ["0x1006a66a", "cmp dword ptr [ebx + 8], 0", "0x1006cdca"], ["0x1006a66e", "je 0x1e", "0x1006cdce"], ["0x1006a670", "lea eax, [esp + 0xc]", "0x1006cdd0"], ["0x1006a674", "lea ecx, [esp + 0x38]", "0x1006cdd4"], ["0x1006a678", "push eax", "0x1006cdd8"], ["0x1006a679", "push edi", "0x1006cdd9"], ["0x1006a67a", "push esi", "0x1006cdda"], ["0x1006a67b", "push ecx", "0x1006cddb"], ["0x1006a67c", "mov ecx, ebx", "0x1006cddc"]]}]]]}, {"address": "0x1006a750", "recomp": "0x1006ceb0", "name": "_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::iterator::_Dec", "matching": 0.16129032258064516, "diff": [["@@ -0x1006a750,29 +0x1006ceb0,33 @@", [{"orig": [["0x1006a750", "mov edx, dword ptr [ecx]"], ["0x1006a752", "cmp dword ptr [edx + 0x18], 0"], ["0x1006a756", "jne 0xe"], ["0x1006a758", "mov eax, dword ptr [edx + 4]"], ["0x1006a75b", "cmp dword ptr [eax + 4], edx"], ["0x1006a75e", "jne 0x6"], ["0x1006a760", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x1006ceb0", "push esi"], ["0x1006ceb1", "mov esi, dword ptr [ecx]"], ["0x1006ceb3", "cmp dword ptr [esi + 0x18], 0"], ["0x1006ceb7", "jne 0xf"], ["0x1006ceb9", "mov eax, dword ptr [esi + 4]"], ["0x1006cebc", "cmp dword ptr [eax + 4], esi"], ["0x1006cebf", "jne 0x7"], ["0x1006cec1", "mov eax, dword ptr [esi + 8]"], ["0x1006cec4", "pop esi"]]}, {"both": [["0x1006a763", "mov dword ptr [ecx], eax", "0x1006cec5"], ["0x1006a765", "ret ", "0x1006cec7"]]}, {"orig": [["0x1006a766", "mov eax, dword ptr [edx]"], ["0x1006a768", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"], ["0x1006a76e", "je 0x12"], ["0x1006a770", "mov edx, dword ptr [eax + 8]"], ["0x1006a773", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006cec8", "mov edx, dword ptr [esi]"], ["0x1006ceca", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], edx"], ["0x1006ced0", "je 0x13"], ["0x1006ced2", "mov eax, dword ptr [edx + 8]"], ["0x1006ced5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a779", "je 0x4", "0x1006cedb"]]}, {"orig": [], "recomp": [["0x1006cedd", "mov edx, eax"], ["0x1006cedf", "jmp -0xf"], ["0x1006cee1", "pop esi"], ["0x1006cee2", "mov dword ptr [ecx], edx"], ["0x1006cee4", "ret "], ["0x1006cee5", "mov edx, dword ptr [esi + 4]"], ["0x1006cee8", "cmp dword ptr [edx], esi"], ["0x1006ceea", "jne 0xb"], ["0x1006ceec", "mov dword ptr [ecx], edx"]]}, {"both": [["0x1006a77b", "mov eax, edx", "0x1006ceee"]]}, {"orig": [["0x1006a77d", "jmp -0xf"], ["0x1006a77f", "mov dword ptr [ecx], eax"]], "recomp": [["0x1006cef0", "mov edx, dword ptr [edx + 4]"], ["0x1006cef3", "cmp dword ptr [edx], eax"], ["0x1006cef5", "je -0xb"], ["0x1006cef7", "pop esi"], ["0x1006cef8", "mov dword ptr [ecx], edx"]]}, {"both": [["0x1006a781", "ret ", "0x1006cefa"]]}, {"orig": [["0x1006a782", "mov eax, dword ptr [edx + 4]"], ["0x1006a785", "cmp dword ptr [eax], edx"], ["0x1006a787", "jne 0xb"], ["0x1006a789", "mov dword ptr [ecx], eax"], ["0x1006a78b", "mov edx, eax"], ["0x1006a78d", "mov eax, dword ptr [eax + 4]"], ["0x1006a790", "cmp dword ptr [eax], edx"], ["0x1006a792", "je -0xb"], ["0x1006a794", "mov dword ptr [ecx], eax"], ["0x1006a796", "ret "]], "recomp": []}]]]}, {"address": "0x1006a7a0", "recomp": "0x1006cf00", "name": "_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Insert", "matching": 0.7770700636942676, "diff": [["@@ -0x1006a7e1,21 +0x1006cf41,21 @@", [{"both": [["0x1006a7e1", "mov eax, dword ptr [edx]", "0x1006cf41"], ["0x1006a7e3", "mov dword ptr [edi], eax", "0x1006cf43"], ["0x1006a7e5", "mov ebx, dword ptr [edx + 4]", "0x1006cf45"], ["0x1006a7e8", "mov dword ptr [edi + 4], ebx", "0x1006cf48"], ["0x1006a7eb", "mov ebp, dword ptr [edx + 8]", "0x1006cf4b"], ["0x1006a7ee", "mov dword ptr [edi + 8], ebp", "0x1006cf4e"], ["0x1006a7f1", "inc dword ptr [esi + 0xc]", "0x1006cf51"], ["0x1006a7f4", "cmp dword ptr [esi + 4], ecx", "0x1006cf54"], ["0x1006a7f7", "je 0x4f", "0x1006cf57"], ["0x1006a7f9", "mov eax, dword ptr [esp + 0x1c]", "0x1006cf59"]]}, {"orig": [["0x1006a7fd", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006cf5d", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a803", "jne 0x43", "0x1006cf63"], ["0x1006a805", "mov eax, dword ptr [edx]", "0x1006cf65"], ["0x1006a807", "mov edi, dword ptr [ecx + 0xc]", "0x1006cf67"], ["0x1006a80a", "mov dl, byte ptr [eax]", "0x1006cf6a"], ["0x1006a80c", "cmp dl, byte ptr [edi]", "0x1006cf6c"], ["0x1006a80e", "jne 0x1a", "0x1006cf6e"], ["0x1006a810", "or dl, dl", "0x1006cf70"], ["0x1006a812", "je 0x12", "0x1006cf72"], ["0x1006a814", "mov dl, byte ptr [eax + 1]", "0x1006cf74"], ["0x1006a817", "cmp dl, byte ptr [edi + 1]", "0x1006cf77"]]}]], ["@@ -0x1006a857,44 +0x1006cfb7,44 @@", [{"both": [["0x1006a857", "jne 0x11", "0x1006cfb7"], ["0x1006a859", "mov dword ptr [eax], edx", "0x1006cfb9"], ["0x1006a85b", "jmp 0xd", "0x1006cfbb"], ["0x1006a85d", "mov edx, dword ptr [esp + 0x10]", "0x1006cfbd"], ["0x1006a861", "mov dword ptr [eax + 4], edx", "0x1006cfc1"], ["0x1006a864", "mov eax, dword ptr [esi + 4]", "0x1006cfc4"], ["0x1006a867", "mov dword ptr [eax + 8], edx", "0x1006cfc7"], ["0x1006a86a", "mov ecx, dword ptr [esp + 0x10]", "0x1006cfca"], ["0x1006a86e", "mov eax, dword ptr [esi + 4]", "0x1006cfce"], ["0x1006a871", "cmp dword ptr [eax + 4], ecx", "0x1006cfd1"]]}, {"orig": [["0x1006a874", "je 0x1b7"]], "recomp": [["0x1006cfd4", "je 0x1b3"]]}, {"both": [["0x1006a87a", "lea edx, [ecx + 4]", "0x1006cfda"], ["0x1006a87d", "mov eax, dword ptr [edx]", "0x1006cfdd"]]}, {"orig": [["0x1006a87f", "lea ebp, [eax + 0x18]"], ["0x1006a882", "cmp dword ptr [ebp], 0"], ["0x1006a886", "jne 0x1a5"]], "recomp": [["0x1006cfdf", "lea ebx, [eax + 0x18]"], ["0x1006cfe2", "cmp dword ptr [ebx], 0"], ["0x1006cfe5", "jne 0x1a2"]]}, {"both": [["0x1006a88c", "lea edi, [eax + 4]", "0x1006cfeb"]]}, {"orig": [["0x1006a88f", "mov ebx, dword ptr [edi]"], ["0x1006a891", "mov ebx, dword ptr [ebx]"], ["0x1006a893", "cmp ebx, eax"], ["0x1006a895", "jne 0xbe"], ["0x1006a89b", "mov ebx, dword ptr [edi]"], ["0x1006a89d", "mov ebx, dword ptr [ebx + 8]"], ["0x1006a8a0", "cmp dword ptr [ebx + 0x18], 0"], ["0x1006a8a4", "je 0x15c"]], "recomp": [["0x1006cfee", "mov ebp, dword ptr [edi]"], ["0x1006cff0", "mov ebp, dword ptr [ebp]"], ["0x1006cff3", "cmp ebp, eax"], ["0x1006cff5", "jne 0xbb"], ["0x1006cffb", "mov ebp, dword ptr [edi]"], ["0x1006cffd", "mov ebp, dword ptr [ebp + 8]"], ["0x1006d000", "cmp dword ptr [ebp + 0x18], 0"], ["0x1006d004", "je 0x159"]]}, {"both": [["0x1006a8aa", "lea ebx, [eax + 8]", "0x1006d00a"], ["0x1006a8ad", "mov edx, dword ptr [ebx]", "0x1006d00d"], ["0x1006a8af", "cmp ecx, edx", "0x1006d00f"], ["0x1006a8b1", "jne 0x33", "0x1006d011"], ["0x1006a8b3", "mov ecx, eax", "0x1006d013"], ["0x1006a8b5", "mov eax, dword ptr [edx]", "0x1006d015"], ["0x1006a8b7", "mov dword ptr [ebx], eax", "0x1006d017"], ["0x1006a8b9", "mov eax, dword ptr [edx]", "0x1006d019"]]}, {"orig": [["0x1006a8bb", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006d01b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a8c1", "je 0x3", "0x1006d021"], ["0x1006a8c3", "mov dword ptr [eax + 4], ecx", "0x1006d023"], ["0x1006a8c6", "mov eax, dword ptr [edi]", "0x1006d026"], ["0x1006a8c8", "mov dword ptr [edx + 4], eax", "0x1006d028"], ["0x1006a8cb", "mov eax, dword ptr [esi + 4]", "0x1006d02b"], ["0x1006a8ce", "add eax, 4", "0x1006d02e"], ["0x1006a8d1", "cmp dword ptr [eax], ecx", "0x1006d031"], ["0x1006a8d3", "je 0xb", "0x1006d033"], ["0x1006a8d5", "mov eax, dword ptr [edi]", "0x1006d035"], ["0x1006a8d7", "cmp dword ptr [eax], ecx", "0x1006d037"]]}]], ["@@ -0x1006a8e9,117 +0x1006d049,118 @@", [{"both": [["0x1006a8e9", "mov dword ptr [eax + 0x18], 1", "0x1006d049"], ["0x1006a8f0", "mov eax, dword ptr [ecx + 4]", "0x1006d050"], ["0x1006a8f3", "mov edx, dword ptr [eax + 4]", "0x1006d053"], ["0x1006a8f6", "mov dword ptr [edx + 0x18], 0", "0x1006d056"], ["0x1006a8fd", "mov eax, dword ptr [ecx + 4]", "0x1006d05d"], ["0x1006a900", "mov edx, dword ptr [eax + 4]", "0x1006d060"], ["0x1006a903", "mov edi, dword ptr [edx]", "0x1006d063"], ["0x1006a905", "mov eax, dword ptr [edi + 8]", "0x1006d065"], ["0x1006a908", "mov dword ptr [edx], eax", "0x1006d068"], ["0x1006a90a", "mov eax, dword ptr [edi + 8]", "0x1006d06a"]]}, {"orig": [["0x1006a90d", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006d06d", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a913", "je 0x3", "0x1006d073"], ["0x1006a915", "mov dword ptr [eax + 4], edx", "0x1006d075"], ["0x1006a918", "mov eax, dword ptr [edx + 4]", "0x1006d078"], ["0x1006a91b", "mov dword ptr [edi + 4], eax", "0x1006d07b"], ["0x1006a91e", "mov eax, dword ptr [esi + 4]", "0x1006d07e"], ["0x1006a921", "add eax, 4", "0x1006d081"], ["0x1006a924", "cmp dword ptr [eax], edx", "0x1006d084"], ["0x1006a926", "je 0x24", "0x1006d086"], ["0x1006a928", "mov ebx, dword ptr [edx + 4]", "0x1006d088"], ["0x1006a92b", "lea eax, [ebx + 8]", "0x1006d08b"], ["0x1006a92e", "cmp dword ptr [eax], edx", "0x1006d08e"], ["0x1006a930", "je 0xd", "0x1006d090"], ["0x1006a932", "mov dword ptr [ebx], edi", "0x1006d092"], ["0x1006a934", "mov dword ptr [edi + 8], edx", "0x1006d094"], ["0x1006a937", "mov dword ptr [edx + 4], edi", "0x1006d097"]]}, {"orig": [["0x1006a93a", "jmp 0xe6"]], "recomp": [["0x1006d09a", "jmp 0xe2"]]}, {"both": [["0x1006a93f", "mov dword ptr [eax], edi", "0x1006d09f"], ["0x1006a941", "mov dword ptr [edi + 8], edx", "0x1006d0a1"], ["0x1006a944", "mov dword ptr [edx + 4], edi", "0x1006d0a4"]]}, {"orig": [["0x1006a947", "jmp 0xd9"]], "recomp": [["0x1006d0a7", "jmp 0xd5"]]}, {"both": [["0x1006a94c", "mov dword ptr [eax], edi", "0x1006d0ac"], ["0x1006a94e", "mov dword ptr [edi + 8], edx", "0x1006d0ae"]]}, {"orig": [["0x1006a951", "mov dword ptr [edx + 4], edi"], ["0x1006a954", "jmp 0xcc"], ["0x1006a959", "cmp dword ptr [ebx + 0x18], 0"]], "recomp": [["0x1006d0b1", "jmp 0xa8"], ["0x1006d0b6", "cmp dword ptr [ebp + 0x18], 0"]]}, {"both": [["0x1006a95d", "je 0xa3", "0x1006d0ba"], ["0x1006a963", "mov edx, dword ptr [eax]", "0x1006d0c0"], ["0x1006a965", "cmp ecx, edx", "0x1006d0c2"], ["0x1006a967", "jne 0x38", "0x1006d0c4"], ["0x1006a969", "mov ecx, eax", "0x1006d0c6"], ["0x1006a96b", "mov eax, dword ptr [edx + 8]", "0x1006d0c8"], ["0x1006a96e", "mov dword ptr [ecx], eax", "0x1006d0cb"], ["0x1006a970", "mov eax, dword ptr [edx + 8]", "0x1006d0cd"]]}, {"orig": [["0x1006a973", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006d0d0", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a979", "je 0x3", "0x1006d0d6"], ["0x1006a97b", "mov dword ptr [eax + 4], ecx", "0x1006d0d8"], ["0x1006a97e", "mov eax, dword ptr [edi]", "0x1006d0db"], ["0x1006a980", "mov dword ptr [edx + 4], eax", "0x1006d0dd"], ["0x1006a983", "mov eax, dword ptr [esi + 4]", "0x1006d0e0"], ["0x1006a986", "add eax, 4", "0x1006d0e3"], ["0x1006a989", "cmp dword ptr [eax], ecx", "0x1006d0e6"], ["0x1006a98b", "je 0xd", "0x1006d0e8"]]}, {"orig": [["0x1006a98d", "mov eax, dword ptr [edi]"], ["0x1006a98f", "lea ebx, [eax + 8]"], ["0x1006a992", "cmp dword ptr [ebx], ecx"], ["0x1006a994", "jne 0x4"]], "recomp": [["0x1006d0ea", "mov ebx, dword ptr [edi]"], ["0x1006d0ec", "lea eax, [ebx + 8]"], ["0x1006d0ef", "cmp dword ptr [eax], ecx"], ["0x1006d0f1", "je 0x4"]]}, {"both": [["0x1006a996", "mov dword ptr [ebx], edx", "0x1006d0f3"], ["0x1006a998", "jmp 0x2", "0x1006d0f5"], ["0x1006a99a", "mov dword ptr [eax], edx", "0x1006d0f7"], ["0x1006a99c", "mov dword ptr [edx + 8], ecx", "0x1006d0f9"], ["0x1006a99f", "mov dword ptr [edi], edx", "0x1006d0fc"], ["0x1006a9a1", "mov eax, dword ptr [ecx + 4]", "0x1006d0fe"], ["0x1006a9a4", "mov dword ptr [eax + 0x18], 1", "0x1006d101"], ["0x1006a9ab", "mov eax, dword ptr [ecx + 4]", "0x1006d108"], ["0x1006a9ae", "mov edx, dword ptr [eax + 4]", "0x1006d10b"], ["0x1006a9b1", "mov dword ptr [edx + 0x18], 0", "0x1006d10e"], ["0x1006a9b8", "mov eax, dword ptr [ecx + 4]", "0x1006d115"]]}, {"orig": [["0x1006a9bb", "mov edi, dword ptr [eax + 4]"], ["0x1006a9be", "mov edx, dword ptr [edi + 8]"], ["0x1006a9c1", "mov eax, dword ptr [edx]"], ["0x1006a9c3", "mov dword ptr [edi + 8], eax"], ["0x1006a9c6", "mov eax, dword ptr [edx]"], ["0x1006a9c8", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1006d118", "mov edx, dword ptr [eax + 4]"], ["0x1006d11b", "mov edi, dword ptr [edx + 8]"], ["0x1006d11e", "mov eax, dword ptr [edi]"], ["0x1006d120", "mov dword ptr [edx + 8], eax"], ["0x1006d123", "mov eax, dword ptr [edi]"], ["0x1006d125", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoAnimStruct>,map<char const *,LegoAnimStruct,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Kfn,LegoAnimStructComparator,allocator<LegoAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006a9ce", "je 0x3", "0x1006d12b"]]}, {"orig": [["0x1006a9d0", "mov dword ptr [eax + 4], edi"], ["0x1006a9d3", "mov eax, dword ptr [edi + 4]"], ["0x1006a9d6", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x1006d12d", "mov dword ptr [eax + 4], edx"], ["0x1006d130", "mov eax, dword ptr [edx + 4]"], ["0x1006d133", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1006a9d9", "mov eax, dword ptr [esi + 4]", "0x1006d136"], ["0x1006a9dc", "add eax, 4", "0x1006d139"]]}, {"orig": [["0x1006a9df", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006d13c", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1006a9e1", "je 0x1a", "0x1006d13e"]]}, {"orig": [["0x1006a9e3", "mov eax, dword ptr [edi + 4]"], ["0x1006a9e6", "cmp dword ptr [eax], edi"]], "recomp": [["0x1006d140", "mov eax, dword ptr [edx + 4]"], ["0x1006d143", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1006a9e8", "je 0xa", "0x1006d145"]]}, {"orig": [["0x1006a9ea", "mov dword ptr [eax + 8], edx"], ["0x1006a9ed", "mov dword ptr [edx], edi"], ["0x1006a9ef", "mov dword ptr [edi + 4], edx"], ["0x1006a9f2", "jmp 0x31"], ["0x1006a9f4", "mov dword ptr [eax], edx"], ["0x1006a9f6", "mov dword ptr [edx], edi"], ["0x1006a9f8", "mov dword ptr [edi + 4], edx"], ["0x1006a9fb", "jmp 0x28"], ["0x1006a9fd", "mov dword ptr [eax], edx"], ["0x1006a9ff", "mov dword ptr [edx], edi"], ["0x1006aa01", "mov dword ptr [edi + 4], edx"], ["0x1006aa04", "jmp 0x1f"], ["0x1006aa06", "mov dword ptr [ebp], 1"], ["0x1006aa0d", "mov dword ptr [ebx + 0x18], 1"]], "recomp": [["0x1006d147", "mov dword ptr [eax + 8], edi"], ["0x1006d14a", "mov dword ptr [edi], edx"], ["0x1006d14c", "mov dword ptr [edx + 4], edi"], ["0x1006d14f", "jmp 0x30"], ["0x1006d151", "mov dword ptr [eax], edi"], ["0x1006d153", "mov dword ptr [edi], edx"], ["0x1006d155", "mov dword ptr [edx + 4], edi"], ["0x1006d158", "jmp 0x27"], ["0x1006d15a", "mov dword ptr [eax], edi"], ["0x1006d15c", "mov dword ptr [edi], edx"], ["0x1006d15e", "mov dword ptr [edx + 4], edi"], ["0x1006d161", "jmp 0x1e"], ["0x1006d163", "mov dword ptr [ebx], 1"], ["0x1006d169", "mov dword ptr [ebp + 0x18], 1"]]}, {"both": [["0x1006aa14", "mov eax, dword ptr [edx]", "0x1006d170"], ["0x1006aa16", "mov ecx, dword ptr [eax + 4]", "0x1006d172"], ["0x1006aa19", "mov dword ptr [ecx + 0x18], 0", "0x1006d175"], ["0x1006aa20", "mov eax, dword ptr [edx]", "0x1006d17c"], ["0x1006aa22", "mov ecx, dword ptr [eax + 4]", "0x1006d17e"], ["0x1006aa25", "mov eax, dword ptr [esi + 4]", "0x1006d181"], ["0x1006aa28", "cmp dword ptr [eax + 4], ecx", "0x1006d184"]]}, {"orig": [["0x1006aa2b", "jne -0x1b7"]], "recomp": [["0x1006d187", "jne -0x1b3"]]}, {"both": [["0x1006aa31", "mov eax, dword ptr [esi + 4]", "0x1006d18d"], ["0x1006aa34", "mov edx, dword ptr [esp + 0x10]", "0x1006d190"], ["0x1006aa38", "mov ecx, dword ptr [eax + 4]", "0x1006d194"], ["0x1006aa3b", "mov eax, dword ptr [esp + 0x18]", "0x1006d197"], ["0x1006aa3f", "pop ebp", "0x1006d19b"], ["0x1006aa40", "pop edi", "0x1006d19c"], ["0x1006aa41", "mov dword ptr [ecx + 0x18], 1", "0x1006d19d"], ["0x1006aa48", "pop esi", "0x1006d1a4"], ["0x1006aa49", "mov dword ptr [eax], edx", "0x1006d1a5"], ["0x1006aa4b", "pop ebx", "0x1006d1a7"]]}, {"orig": [], "recomp": [["0x1006d1a8", "add esp, 4"], ["0x1006d1ab", "ret 0x10"]]}]]]}, {"address": "0x1006aa60", "recomp": "0x1006d1b0", "name": "LegoAnimPresenter::FUN_1006aa60", "matching": 1.0, "diff": []}, {"address": "0x1006ab70", "recomp": "0x1006d2c0", "name": "LegoAnimPresenter::FUN_1006ab70", "matching": 1.0, "diff": []}, {"address": "0x1006aba0", "recomp": "0x1006d2f0", "name": "LegoAnimPresenter::FUN_1006aba0", "matching": 1.0, "diff": []}, {"address": "0x1006abb0", "recomp": "0x1006d300", "name": "LegoAnimPresenter::FUN_1006abb0", "matching": 0.7530864197530864, "diff": [["@@ -0x1006abb0,76 +0x1006d300,76 @@", [{"both": [["0x1006abb0", "sub esp, 0xc", "0x1006d300"], ["0x1006abb3", "xor eax, eax", "0x1006d303"], ["0x1006abb5", "mov dword ptr [esp + 4], ecx", "0x1006d305"], ["0x1006abb9", "push ebx", "0x1006d309"]]}, {"orig": [["0x1006abba", "mov ebx, dword ptr [esp + 0x18]"]], "recomp": [["0x1006d30a", "mov byte ptr [esp + 7], al"]]}, {"both": [["0x1006abbe", "push esi", "0x1006d30e"]]}, {"orig": [["0x1006abbf", "mov byte ptr [esp + 0xb], al"]], "recomp": [["0x1006d30f", "mov esi, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1006abc3", "push edi", "0x1006d313"], ["0x1006abc4", "mov edi, dword ptr [esp + 0x1c]", "0x1006d314"], ["0x1006abc8", "push ebp", "0x1006d318"], ["0x1006abc9", "mov dword ptr [esp + 0x18], eax", "0x1006d319"], ["0x1006abcd", "mov ecx, dword ptr [edi + 4]", "0x1006d31d"]]}, {"orig": [["0x1006abd0", "mov esi, dword ptr [ecx + 4]"], ["0x1006abd3", "test esi, esi"]], "recomp": [["0x1006d320", "mov ebx, dword ptr [ecx + 4]"], ["0x1006d323", "test ebx, ebx"]]}, {"both": [["0x1006abd5", "je 0x66", "0x1006d325"]]}, {"orig": [["0x1006abd7", "cmp byte ptr [esi], 0x2d"]], "recomp": [["0x1006d327", "cmp byte ptr [ebx], 0x2d"]]}, {"both": [["0x1006abda", "je 0x61", "0x1006d32a"], ["0x1006abdc", "mov eax, 0", "0x1006d32c"]]}, {"orig": [["0x1006abe1", "test ebx, ebx"]], "recomp": [["0x1006d331", "test esi, esi"]]}, {"both": [["0x1006abe3", "je 0x6", "0x1006d333"]]}, {"orig": [["0x1006abe5", "mov eax, dword ptr [ebx + 0xe4]"]], "recomp": [["0x1006d335", "mov eax, dword ptr [esi + 0xe4]"]]}, {"both": [["0x1006abeb", "mov ecx, dword ptr [esp + 0x14]", "0x1006d33b"], ["0x1006abef", "push eax", "0x1006d33f"]]}, {"orig": [["0x1006abf0", "push esi"]], "recomp": [["0x1006d340", "push ebx"]]}, {"both": [["0x1006abf1", "call LegoAnimPresenter::FUN_100697c0 (FUNCTION)", "0x1006d341"], ["0x1006abf6", "mov dword ptr [esp + 0x18], eax", "0x1006d346"]]}, {"orig": [["0x1006abfa", "test ebx, ebx"]], "recomp": [["0x1006d34a", "test esi, esi"]]}, {"both": [["0x1006abfc", "jne 0x12", "0x1006d34c"], ["0x1006abfe", "mov ecx, dword ptr [esp + 0x14]", "0x1006d34e"], ["0x1006ac02", "push eax", "0x1006d352"], ["0x1006ac03", "call LegoAnimPresenter::FUN_100699e0 (FUNCTION)", "0x1006d353"]]}, {"orig": [["0x1006ac08", "mov ebx, eax"], ["0x1006ac0a", "test ebx, ebx"]], "recomp": [["0x1006d358", "mov esi, eax"], ["0x1006d35a", "test esi, esi"]]}, {"both": [["0x1006ac0c", "jne 0x2f", "0x1006d35c"], ["0x1006ac0e", "jmp 0x53", "0x1006d35e"]]}, {"orig": [], "recomp": [["0x1006d360", "push esi"], ["0x1006d361", "mov ecx, esi"]]}, {"both": [["0x1006ac10", "push ebx", "0x1006d363"]]}, {"orig": [["0x1006ac11", "mov ecx, ebx"], ["0x1006ac13", "push esi"]], "recomp": []}, {"both": [["0x1006ac14", "call LegoROI::FindChildROI (FUNCTION)", "0x1006d364"], ["0x1006ac19", "test eax, eax", "0x1006d369"], ["0x1006ac1b", "jne 0x20", "0x1006d36b"], ["0x1006ac1d", "mov ecx, dword ptr [esp + 0x14]", "0x1006d36d"]]}, {"orig": [["0x1006ac21", "push esi"]], "recomp": [["0x1006d371", "push ebx"]]}, {"both": [["0x1006ac22", "call LegoAnimPresenter::FUN_100699e0 (FUNCTION)", "0x1006d372"], ["0x1006ac27", "test eax, eax", "0x1006d377"], ["0x1006ac29", "je 0x38", "0x1006d379"], ["0x1006ac2b", "mov ecx, dword ptr [esp + 0x14]", "0x1006d37b"], ["0x1006ac2f", "push 0", "0x1006d37f"], ["0x1006ac31", "push edi", "0x1006d381"], ["0x1006ac32", "call LegoAnimPresenter::FUN_1006abb0 (FUNCTION)", "0x1006d382"], ["0x1006ac37", "test al, al", "0x1006d387"], ["0x1006ac39", "je 0x28", "0x1006d389"], ["0x1006ac3b", "jmp 0x21", "0x1006d38b"], ["0x1006ac3d", "mov ebp, dword ptr [edi + 8]", "0x1006d38d"]]}, {"orig": [["0x1006ac40", "xor esi, esi"], ["0x1006ac42", "cmp ebp, esi"], ["0x1006ac44", "jle 0x18"], ["0x1006ac46", "push ebx"]], "recomp": [["0x1006d390", "xor ebx, ebx"], ["0x1006d392", "cmp ebx, ebp"], ["0x1006d394", "jge 0x18"], ["0x1006d396", "push esi"]]}, {"both": [["0x1006ac47", "mov eax, dword ptr [edi + 0xc]", "0x1006d397"]]}, {"orig": [["0x1006ac4a", "mov ecx, dword ptr [eax + esi*4]"]], "recomp": [["0x1006d39a", "mov ecx, dword ptr [eax + ebx*4]"]]}, {"both": [["0x1006ac4d", "push ecx", "0x1006d39d"], ["0x1006ac4e", "mov ecx, dword ptr [esp + 0x1c]", "0x1006d39e"], ["0x1006ac52", "call LegoAnimPresenter::FUN_1006abb0 (FUNCTION)", "0x1006d3a2"], ["0x1006ac57", "test al, al", "0x1006d3a7"], ["0x1006ac59", "je 0x8", "0x1006d3a9"]]}, {"orig": [["0x1006ac5b", "inc esi"]], "recomp": [["0x1006d3ab", "inc ebx"]]}, {"both": [["0x1006ac5c", "jmp -0x1c", "0x1006d3ac"], ["0x1006ac5e", "mov byte ptr [esp + 0x13], 1", "0x1006d3ae"], ["0x1006ac63", "cmp dword ptr [esp + 0x18], 0", "0x1006d3b3"], ["0x1006ac68", "je 0xd", "0x1006d3b8"], ["0x1006ac6a", "mov eax, dword ptr [esp + 0x18]", "0x1006d3ba"], ["0x1006ac6e", "push eax", "0x1006d3be"], ["0x1006ac6f", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006d3bf"], ["0x1006ac74", "add esp, 4", "0x1006d3c4"], ["0x1006ac77", "mov al, byte ptr [esp + 0x13]", "0x1006d3c7"], ["0x1006ac7b", "pop ebp", "0x1006d3cb"]]}]]]}, {"address": "0x1006ac90", "recomp": "0x1006d3e0", "name": "LegoAnimPresenter::SubstituteVariables", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006ac94,21 +0x1006d3e4,21 @@", [{"both": [["0x1006ac94", "push edi", "0x1006d3e4"], ["0x1006ac95", "cmp dword ptr [ecx + 0x98], 0", "0x1006d3e5"], ["0x1006ac9c", "mov esi, ecx", "0x1006d3ec"], ["0x1006ac9e", "je 0x82", "0x1006d3ee"], ["0x1006aca4", "call VariableTable (FUNCTION)", "0x1006d3f4"], ["0x1006aca9", "mov edi, eax", "0x1006d3f9"], ["0x1006acab", "mov eax, dword ptr [esi + 0x98]", "0x1006d3fb"], ["0x1006acb1", "mov eax, dword ptr [eax + 4]", "0x1006d401"], ["0x1006acb4", "mov ecx, dword ptr [eax]", "0x1006d404"], ["0x1006acb6", "mov dword ptr [esp + 8], ecx", "0x1006d406"]]}, {"orig": [["0x1006acba", "cmp eax, ecx"]], "recomp": [["0x1006d40a", "cmp ecx, eax"]]}, {"both": [["0x1006acbc", "je 0x68", "0x1006d40c"], ["0x1006acbe", "mov eax, dword ptr [esp + 8]", "0x1006d40e"], ["0x1006acc2", "mov ecx, dword ptr [eax + 0x10]", "0x1006d412"], ["0x1006acc5", "mov edx, dword ptr [eax + 0xc]", "0x1006d415"], ["0x1006acc8", "push ecx", "0x1006d418"], ["0x1006acc9", "push edx", "0x1006d419"], ["0x1006acca", "mov ecx, edi", "0x1006d41a"], ["0x1006accc", "call MxVariableTable::SetVariable (FUNCTION)", "0x1006d41c"], ["0x1006acd1", "mov edx, dword ptr [esp + 8]", "0x1006d421"], ["0x1006acd5", "mov ecx, dword ptr [edx + 8]", "0x1006d425"]]}]]]}, {"address": "0x1006ad30", "recomp": "0x1006d480", "name": "LegoAnimPresenter::PutFrame", "matching": 0.7692307692307693, "diff": [["@@ -0x1006ad30,11 +0x1006d480,11 @@", [{"orig": [["0x1006ad30", "sub esp, 0x90"]], "recomp": [["0x1006d480", "sub esp, 0x94"]]}, {"both": [["0x1006ad36", "push ebx", "0x1006d486"], ["0x1006ad37", "push esi", "0x1006d487"], ["0x1006ad38", "push edi", "0x1006d488"], ["0x1006ad39", "push ebp", "0x1006d489"], ["0x1006ad3a", "cmp dword ptr [ecx + 8], 3", "0x1006d48a"], ["0x1006ad3e", "mov ebp, ecx", "0x1006d48e"], ["0x1006ad40", "jne 0x266", "0x1006d490"], ["0x1006ad46", "mov esi, dword ptr [ebp + 0x1c]", "0x1006d496"], ["0x1006ad49", "mov ecx, esi", "0x1006d499"], ["0x1006ad4b", "mov eax, dword ptr [esi]", "0x1006d49b"]]}]], ["@@ -0x1006ad71,170 +0x1006d4c1,170 @@", [{"both": [["0x1006ad71", "mov ecx, ebp", "0x1006d4c1"], ["0x1006ad73", "push eax", "0x1006d4c3"], ["0x1006ad74", "call LegoAnimPresenter::FUN_1006b9a0 (FUNCTION)", "0x1006d4c4"], ["0x1006ad79", "cmp dword ptr [ebp + 0x8c], ebx", "0x1006d4c9"], ["0x1006ad7f", "je 0x227", "0x1006d4cf"], ["0x1006ad85", "mov eax, dword ptr [ebp + 0x80]", "0x1006d4d5"], ["0x1006ad8b", "test eax, eax", "0x1006d4db"], ["0x1006ad8d", "je 0x219", "0x1006d4dd"], ["0x1006ad93", "cmp dword ptr [eax + 0x98], ebx", "0x1006d4e3"], ["0x1006ad99", "je 0x20d", "0x1006d4e9"]]}, {"orig": [["0x1006ad9f", "mov dword ptr [esp + 0x30], ebx"]], "recomp": [["0x1006d4ef", "mov dword ptr [esp + 0x2c], ebx"]]}, {"both": [["0x1006ada3", "cmp byte ptr [ebp + 0x94], bl", "0x1006d4f3"], ["0x1006ada9", "jbe 0x1fd", "0x1006d4f9"], ["0x1006adaf", "mov eax, dword ptr [ebp + 0x8c]", "0x1006d4ff"], ["0x1006adb5", "mov ecx, dword ptr [eax + ebx]", "0x1006d505"], ["0x1006adb8", "test ecx, ecx", "0x1006d508"], ["0x1006adba", "je 0x1d3", "0x1006d50a"]]}, {"orig": [["0x1006adc0", "mov dword ptr [esp + 0x44], MxMatrix::`vftable' (VTABLE)"], ["0x1006adc8", "lea eax, [esp + 0x4c]"]], "recomp": [["0x1006d510", "mov dword ptr [esp + 0x48], MxMatrix::`vftable' (VTABLE)"], ["0x1006d518", "lea eax, [esp + 0x50]"]]}, {"both": [["0x1006adcc", "mov edi, eax", "0x1006d51c"]]}, {"orig": [["0x1006adce", "mov dword ptr [esp + 0x48], eax"]], "recomp": [["0x1006d51e", "mov dword ptr [esp + 0x4c], eax"]]}, {"both": [["0x1006add2", "mov esi, dword ptr [ecx + 0x14]", "0x1006d522"], ["0x1006add5", "mov ecx, 0x10", "0x1006d525"], ["0x1006adda", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1006d52a"]]}, {"orig": [["0x1006addc", "mov eax, dword ptr [esp + 0x48]"], ["0x1006ade0", "mov ecx, dword ptr [esp + 0x48]"]], "recomp": [["0x1006d52c", "mov eax, dword ptr [esp + 0x4c]"], ["0x1006d530", "mov edx, dword ptr [esp + 0x4c]"], ["0x1006d534", "add edx, 4"], ["0x1006d537", "mov ecx, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006ade4", "add ecx, 8", "0x1006d53b"], ["0x1006ade7", "mov dword ptr [esp + 0x24], eax", "0x1006d53e"], ["0x1006adeb", "mov dword ptr [esp + 0x20], Vector3::`vftable' (VTABLE)", "0x1006d542"], ["0x1006adf3", "mov dword ptr [esp + 0x18], Vector3::`vftable' (VTABLE)", "0x1006d54a"], ["0x1006adfb", "mov dword ptr [esp + 0x10], Vector3::`vftable' (VTABLE)", "0x1006d552"], ["0x1006ae03", "add eax, 0x10", "0x1006d55a"], ["0x1006ae06", "mov dword ptr [esp + 0x1c], eax", "0x1006d55d"]]}, {"orig": [["0x1006ae0a", "mov eax, dword ptr [esp + 0x48]"]], "recomp": [["0x1006d561", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006ae0e", "add eax, 0x20", "0x1006d565"], ["0x1006ae11", "mov dword ptr [esp + 0x14], eax", "0x1006d568"]]}, {"orig": [["0x1006ae15", "mov eax, dword ptr [esp + 0x48]"], ["0x1006ae19", "fld dword ptr [ecx]"], ["0x1006ae1b", "fmul dword ptr [ecx]"]], "recomp": [["0x1006d56c", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006ae1d", "add eax, 0x30", "0x1006d570"]]}, {"orig": [["0x1006ae20", "mov ecx, dword ptr [esp + 0x48]"], ["0x1006ae24", "mov dword ptr [esp + 0x40], eax"], ["0x1006ae28", "mov eax, dword ptr [esp + 0x48]"], ["0x1006ae2c", "add eax, 4"]], "recomp": [["0x1006d573", "mov dword ptr [esp + 0x44], eax"], ["0x1006d577", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006ae2f", "fld dword ptr [eax]", "0x1006d57b"], ["0x1006ae31", "fmul dword ptr [eax]", "0x1006d57d"]]}, {"orig": [], "recomp": [["0x1006d57f", "fld dword ptr [edx]"], ["0x1006d581", "fmul dword ptr [edx]"], ["0x1006d583", "mov edx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1006ae33", "mov eax, dword ptr [esp + 0x1c]", "0x1006d587"]]}, {"orig": [["0x1006ae37", "add eax, 4"]], "recomp": [["0x1006d58b", "add edx, 4"]]}, {"both": [["0x1006ae3a", "faddp st(1)", "0x1006d58e"], ["0x1006ae3c", "fld dword ptr [ecx]", "0x1006d590"], ["0x1006ae3e", "fmul dword ptr [ecx]", "0x1006d592"], ["0x1006ae40", "mov ecx, dword ptr [esp + 0x1c]", "0x1006d594"], ["0x1006ae44", "add ecx, 8", "0x1006d598"], ["0x1006ae47", "faddp st(1)", "0x1006d59b"], ["0x1006ae49", "fsqrt ", "0x1006d59d"]]}, {"orig": [["0x1006ae4b", "fstp dword ptr [esp + 0x34]"]], "recomp": [["0x1006d59f", "fstp dword ptr [esp + 0x38]"]]}, {"both": [["0x1006ae4f", "fld dword ptr [eax]", "0x1006d5a3"], ["0x1006ae51", "fmul dword ptr [eax]", "0x1006d5a5"]]}, {"orig": [], "recomp": [["0x1006d5a7", "fld dword ptr [edx]"], ["0x1006d5a9", "fmul dword ptr [edx]"], ["0x1006d5ab", "mov edx, dword ptr [esp + 0x14]"], ["0x1006d5af", "mov eax, dword ptr [esp + 0x14]"], ["0x1006d5b3", "add edx, 4"], ["0x1006d5b6", "faddp st(1)"]]}, {"both": [["0x1006ae53", "fld dword ptr [ecx]", "0x1006d5b8"], ["0x1006ae55", "fmul dword ptr [ecx]", "0x1006d5ba"]]}, {"orig": [["0x1006ae57", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x1006ae5b", "mov ecx, dword ptr [esp + 0x14]", "0x1006d5bc"], ["0x1006ae5f", "add ecx, 8", "0x1006d5c0"], ["0x1006ae62", "faddp st(1)", "0x1006d5c3"]]}, {"orig": [], "recomp": [["0x1006d5c5", "fsqrt "], ["0x1006d5c7", "fstp dword ptr [esp + 0x28]"]]}, {"both": [["0x1006ae64", "fld dword ptr [eax]", "0x1006d5cb"], ["0x1006ae66", "fmul dword ptr [eax]", "0x1006d5cd"]]}, {"orig": [["0x1006ae68", "mov eax, dword ptr [esp + 0x14]"], ["0x1006ae6c", "add eax, 4"], ["0x1006ae6f", "faddp st(1)"], ["0x1006ae71", "fsqrt "], ["0x1006ae73", "fstp dword ptr [esp + 0x2c]"], ["0x1006ae77", "fld dword ptr [ecx]"], ["0x1006ae79", "fmul dword ptr [ecx]"], ["0x1006ae7b", "fld dword ptr [eax]"], ["0x1006ae7d", "fmul dword ptr [eax]"], ["0x1006ae7f", "mov ecx, dword ptr [esp + 0x14]"]], "recomp": [["0x1006d5cf", "fld dword ptr [edx]"], ["0x1006d5d1", "fmul dword ptr [edx]"]]}, {"both": [["0x1006ae83", "faddp st(1)", "0x1006d5d3"], ["0x1006ae85", "fld dword ptr [ecx]", "0x1006d5d5"], ["0x1006ae87", "fmul dword ptr [ecx]", "0x1006d5d7"], ["0x1006ae89", "faddp st(1)", "0x1006d5d9"], ["0x1006ae8b", "fsqrt ", "0x1006d5db"]]}, {"orig": [["0x1006ae8d", "fstp dword ptr [esp + 0x38]"], ["0x1006ae91", "mov eax, dword ptr [esp + 0x40]"], ["0x1006ae95", "lea ecx, [esp + 0x10]"], ["0x1006ae99", "push eax"]], "recomp": [["0x1006d5dd", "fstp dword ptr [esp + 0x3c]"], ["0x1006d5e1", "mov ecx, dword ptr [esp + 0x44]"], ["0x1006d5e5", "push ecx"], ["0x1006d5e6", "lea ecx, [esp + 0x14]"]]}, {"both": [["0x1006ae9a", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x1006d5ea"]]}, {"orig": [["0x1006aea0", "lea ecx, [esp + 0x8c]"]], "recomp": [["0x1006d5f0", "lea ecx, [esp + 0x90]"]]}, {"both": [["0x1006aea7", "mov edx, dword ptr [ebp + 0x80]", "0x1006d5f7"], ["0x1006aead", "push ecx", "0x1006d5fd"], ["0x1006aeae", "mov ecx, dword ptr [edx + 0x98]", "0x1006d5fe"], ["0x1006aeb4", "call LegoCameraController::GetWorldLocation (FUNCTION)", "0x1006d604"], ["0x1006aeb9", "mov esi, dword ptr [esp + 0x10]", "0x1006d609"], ["0x1006aebd", "lea ecx, [esp + 0x10]", "0x1006d60d"], ["0x1006aec1", "push eax", "0x1006d611"], ["0x1006aec2", "call dword ptr [esi + 0x54]", "0x1006d612"]]}, {"orig": [["0x1006aec5", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x1006d615", "lea ecx, [esp + 0x28]"]]}, {"both": [["0x1006aec9", "mov eax, dword ptr [esp + 0x18]", "0x1006d619"], ["0x1006aecd", "push ecx", "0x1006d61d"], ["0x1006aece", "lea ecx, [esp + 0x1c]", "0x1006d61e"], ["0x1006aed2", "call dword ptr [eax + 0x68]", "0x1006d622"], ["0x1006aed5", "mov ecx, dword ptr [esp + 0x14]", "0x1006d625"], ["0x1006aed9", "mov edx, dword ptr [esp + 0x1c]", "0x1006d629"], ["0x1006aedd", "mov eax, dword ptr [esp + 0x20]", "0x1006d62d"], ["0x1006aee1", "push ecx", "0x1006d631"], ["0x1006aee2", "lea ecx, [esp + 0x24]", "0x1006d632"], ["0x1006aee6", "push edx", "0x1006d636"], ["0x1006aee7", "call dword ptr [eax + 0x74]", "0x1006d637"], ["0x1006aeea", "lea ecx, [esp + 0x20]", "0x1006d63a"], ["0x1006aeee", "mov esi, dword ptr [esp + 0x20]", "0x1006d63e"], ["0x1006aef2", "call dword ptr [esi + 0x40]", "0x1006d642"], ["0x1006aef5", "fcom dword ptr [0.0 (FLOAT)]", "0x1006d645"]]}, {"orig": [["0x1006aefb", "fstp dword ptr [esp + 0x28]"]], "recomp": [["0x1006d64b", "fstp dword ptr [esp + 0x30]"]]}, {"both": [["0x1006aeff", "fnstsw ax", "0x1006d64f"], ["0x1006af01", "test ah, 0x41", "0x1006d651"], ["0x1006af04", "jne 0x27", "0x1006d654"]]}, {"orig": [["0x1006af06", "fld dword ptr [esp + 0x28]"]], "recomp": [["0x1006d656", "fld dword ptr [esp + 0x30]"]]}, {"both": [["0x1006af0a", "fsqrt ", "0x1006d65a"], ["0x1006af0c", "fcom dword ptr [0.0 (FLOAT)]", "0x1006d65c"]]}, {"orig": [["0x1006af12", "fstp dword ptr [esp + 0x28]"]], "recomp": [["0x1006d662", "fstp dword ptr [esp + 0x34]"]]}, {"both": [["0x1006af16", "fnstsw ax", "0x1006d666"], ["0x1006af18", "test ah, 0x41", "0x1006d668"], ["0x1006af1b", "jne 0x10", "0x1006d66b"]]}, {"orig": [["0x1006af1d", "lea eax, [esp + 0x28]"]], "recomp": [["0x1006d66d", "lea eax, [esp + 0x34]"]]}, {"both": [["0x1006af21", "lea ecx, [esp + 0x20]", "0x1006d671"], ["0x1006af25", "mov esi, dword ptr [esp + 0x20]", "0x1006d675"], ["0x1006af29", "push eax", "0x1006d679"], ["0x1006af2a", "call dword ptr [esi + 0x14]", "0x1006d67a"], ["0x1006af2d", "mov eax, dword ptr [esp + 0x1c]", "0x1006d67d"], ["0x1006af31", "mov ecx, dword ptr [esp + 0x24]", "0x1006d681"], ["0x1006af35", "mov esi, dword ptr [esp + 0x10]", "0x1006d685"], ["0x1006af39", "push eax", "0x1006d689"], ["0x1006af3a", "push ecx", "0x1006d68a"], ["0x1006af3b", "lea ecx, [esp + 0x18]", "0x1006d68b"], ["0x1006af3f", "call dword ptr [esi + 0x74]", "0x1006d68f"]]}, {"orig": [["0x1006af42", "lea ecx, [esp + 0x34]"]], "recomp": [["0x1006d692", "lea ecx, [esp + 0x38]"]]}, {"both": [["0x1006af46", "mov eax, dword ptr [esp + 0x20]", "0x1006d696"], ["0x1006af4a", "push ecx", "0x1006d69a"], ["0x1006af4b", "lea ecx, [esp + 0x24]", "0x1006d69b"], ["0x1006af4f", "call dword ptr [eax + 0x5c]", "0x1006d69f"]]}, {"orig": [["0x1006af52", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x1006d6a2", "lea ecx, [esp + 0x28]"]]}, {"both": [["0x1006af56", "mov esi, dword ptr [esp + 0x18]", "0x1006d6a6"], ["0x1006af5a", "push ecx", "0x1006d6aa"], ["0x1006af5b", "lea ecx, [esp + 0x1c]", "0x1006d6ab"], ["0x1006af5f", "call dword ptr [esi + 0x5c]", "0x1006d6af"]]}, {"orig": [["0x1006af62", "lea ecx, [esp + 0x38]"]], "recomp": [["0x1006d6b2", "lea ecx, [esp + 0x3c]"]]}, {"both": [["0x1006af66", "mov eax, dword ptr [esp + 0x10]", "0x1006d6b6"], ["0x1006af6a", "push ecx", "0x1006d6ba"], ["0x1006af6b", "lea ecx, [esp + 0x14]", "0x1006d6bb"], ["0x1006af6f", "call dword ptr [eax + 0x5c]", "0x1006d6bf"]]}, {"orig": [["0x1006af72", "lea ecx, [esp + 0x44]"]], "recomp": [["0x1006d6c2", "lea ecx, [esp + 0x48]"]]}, {"both": [["0x1006af76", "mov edx, dword ptr [ebp + 0x8c]", "0x1006d6c6"], ["0x1006af7c", "push ecx", "0x1006d6cc"], ["0x1006af7d", "mov ecx, dword ptr [edx + ebx]", "0x1006d6cd"], ["0x1006af80", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x1006d6d0"], ["0x1006af85", "mov edx, dword ptr [ebp + 0x8c]", "0x1006d6d5"], ["0x1006af8b", "mov ecx, dword ptr [edx + ebx]", "0x1006d6db"], ["0x1006af8e", "mov eax, dword ptr [ecx]", "0x1006d6de"], ["0x1006af90", "call dword ptr [eax + 0x14]", "0x1006d6e0"], ["0x1006af93", "add ebx, 4", "0x1006d6e3"], ["0x1006af96", "xor eax, eax", "0x1006d6e6"], ["0x1006af98", "mov al, byte ptr [ebp + 0x94]", "0x1006d6e8"]]}, {"orig": [["0x1006af9e", "inc dword ptr [esp + 0x30]"], ["0x1006afa2", "cmp eax, dword ptr [esp + 0x30]"]], "recomp": [["0x1006d6ee", "inc dword ptr [esp + 0x2c]"], ["0x1006d6f2", "cmp eax, dword ptr [esp + 0x2c]"]]}, {"both": [["0x1006afa6", "jg -0x1fd", "0x1006d6f6"], ["0x1006afac", "pop ebp", "0x1006d6fc"], ["0x1006afad", "pop edi", "0x1006d6fd"], ["0x1006afae", "pop esi", "0x1006d6fe"], ["0x1006afaf", "pop ebx", "0x1006d6ff"]]}, {"orig": [["0x1006afb0", "add esp, 0x90"]], "recomp": [["0x1006d700", "add esp, 0x94"]]}, {"both": [["0x1006afb6", "ret ", "0x1006d706"]]}]]]}, {"address": "0x1006afc0", "recomp": "0x1006d710", "name": "LegoAnimPresenter::FUN_1006afc0", "matching": 1.0, "diff": []}, {"address": "0x1006b120", "recomp": "0x1006d870", "name": "MxMatrix::MxMatrix", "matching": 1.0, "diff": []}, {"address": "0x1006b140", "recomp": "0x1006d890", "name": "LegoAnimPresenter::FUN_1006b140", "matching": 0.7911714770797963, "diff": [["@@ -0x1006b17d,65 +0x1006d8cd,65 @@", [{"both": [["0x1006b17d", "mov esp, ebp", "0x1006d8cd"], ["0x1006b17f", "pop ebp", "0x1006d8cf"], ["0x1006b180", "ret 4", "0x1006d8d0"], ["0x1006b183", "push 0x48", "0x1006d8d3"], ["0x1006b185", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006d8d5"], ["0x1006b18a", "mov dword ptr [ebp - 0x48], eax", "0x1006d8da"], ["0x1006b18d", "add esp, 4", "0x1006d8dd"], ["0x1006b190", "mov dword ptr [ebp - 4], 0", "0x1006d8e0"], ["0x1006b197", "mov edi, eax", "0x1006d8e7"], ["0x1006b199", "test edi, edi", "0x1006d8e9"]]}, {"orig": [["0x1006b19b", "je 0x1a"]], "recomp": [["0x1006d8eb", "je 0x17"]]}, {"both": [["0x1006b19d", "lea eax, [edi + 8]", "0x1006d8ed"], ["0x1006b1a0", "mov dword ptr [edi], Matrix4::`vftable' (VTABLE)", "0x1006d8f0"], ["0x1006b1a6", "mov dword ptr [edi + 4], eax", "0x1006d8f6"]]}, {"orig": [], "recomp": [["0x1006d8f9", "mov dword ptr [ebp - 0x14], edi"]]}, {"both": [["0x1006b1a9", "mov dword ptr [edi], MxMatrix::`vftable' (VTABLE)", "0x1006d8fc"]]}, {"orig": [["0x1006b1af", "mov dword ptr [ebp - 0x90], edi"], ["0x1006b1b5", "jmp 0xa"], ["0x1006b1b7", "mov dword ptr [ebp - 0x90], 0"]], "recomp": [["0x1006d902", "jmp 0x7"], ["0x1006d904", "mov dword ptr [ebp - 0x14], 0"]]}, {"both": [["0x1006b1c1", "lea eax, [ebp - 0x114]", "0x1006d90b"], ["0x1006b1c7", "push 0", "0x1006d911"], ["0x1006b1c9", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006d913"]]}, {"orig": [["0x1006b1d0", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x1006d91a", "lea ecx, [ebp - 0x24]"]]}, {"both": [["0x1006b1d3", "mov dword ptr [ebp - 0x118], eax", "0x1006d91d"], ["0x1006b1d9", "lea eax, [esi + 0x10]", "0x1006d923"], ["0x1006b1dc", "push ecx", "0x1006d926"], ["0x1006b1dd", "mov ecx, dword ptr [ebp - 0x10]", "0x1006d927"], ["0x1006b1e0", "mov dword ptr [ebp - 0x34], eax", "0x1006d92a"], ["0x1006b1e3", "mov dword ptr [ebp - 0x11c], MxMatrix::`vftable' (VTABLE)", "0x1006d92d"], ["0x1006b1ed", "call LegoAnimPresenter::FUN_1006afc0 (FUNCTION)", "0x1006d937"], ["0x1006b1f2", "test eax, eax", "0x1006d93c"]]}, {"orig": [["0x1006b1f4", "jne 0x2b0"]], "recomp": [["0x1006d93e", "jne 0x2b5"]]}, {"both": [["0x1006b1fa", "mov eax, 1", "0x1006d944"], ["0x1006b1ff", "mov ecx, dword ptr [ebp - 0x10]", "0x1006d949"], ["0x1006b202", "mov edx, dword ptr [ecx + 0x6c]", "0x1006d94c"], ["0x1006b205", "cmp edx, eax", "0x1006d94f"], ["0x1006b207", "jb 0x16", "0x1006d951"], ["0x1006b209", "mov ecx, dword ptr [ecx + 0x68]", "0x1006d953"], ["0x1006b20c", "add ecx, 4", "0x1006d956"], ["0x1006b20f", "cmp dword ptr [ecx], esi", "0x1006d959"]]}, {"orig": [["0x1006b211", "je 0xbc"]], "recomp": [["0x1006d95b", "je 0xb6"]]}, {"both": [["0x1006b217", "add ecx, 4", "0x1006d961"], ["0x1006b21a", "inc eax", "0x1006d964"], ["0x1006b21b", "cmp eax, edx", "0x1006d965"], ["0x1006b21d", "jbe -0x10", "0x1006d967"], ["0x1006b21f", "mov eax, dword ptr [ebp - 0x34]", "0x1006d969"], ["0x1006b222", "lea ecx, [ebp - 0x11c]", "0x1006d96c"], ["0x1006b228", "push eax", "0x1006d972"]]}, {"orig": [["0x1006b229", "mov edx, dword ptr [ebp - 0x90]"]], "recomp": [["0x1006d973", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1006b22f", "push ecx", "0x1006d976"], ["0x1006b230", "mov eax, dword ptr [edx]", "0x1006d977"], ["0x1006b232", "mov ecx, edx", "0x1006d979"], ["0x1006b234", "call dword ptr [eax + 0x38]", "0x1006d97b"]]}, {"orig": [["0x1006b237", "mov edx, dword ptr [ebp - 0x90]"]], "recomp": [["0x1006d97e", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1006b23d", "mov ecx, dword ptr [ebp - 0x10]", "0x1006d981"]]}, {"orig": [["0x1006b240", "mov eax, dword ptr [ebp - 0x20]"]], "recomp": [["0x1006d984", "mov eax, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1006b243", "mov dword ptr [ecx + 0xa0], edx", "0x1006d987"], ["0x1006b249", "push eax", "0x1006d98d"], ["0x1006b24a", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006d98e"], ["0x1006b24f", "add esp, 4", "0x1006d993"], ["0x1006b252", "mov ecx, dword ptr [ebp - 0x10]", "0x1006d996"], ["0x1006b255", "lea edx, [ebp - 0xcc]", "0x1006d999"], ["0x1006b25b", "lea edi, [ebp - 0xcc]", "0x1006d99f"], ["0x1006b261", "mov word ptr [ecx + 0x9c], 1", "0x1006d9a5"], ["0x1006b26a", "mov dword ptr [ebp - 0xd0], edx", "0x1006d9ae"], ["0x1006b270", "mov eax, dword ptr [ecx + 0x78]", "0x1006d9b4"]]}]], ["@@ -0x1006b2ad,193 +0x1006d9f1,198 @@", [{"both": [["0x1006b2ad", "push ecx", "0x1006d9f1"], ["0x1006b2ae", "lea ecx, [ebp - 0x8c]", "0x1006d9f2"], ["0x1006b2b4", "call dword ptr [->Matrix4::Product (FUNCTION)]", "0x1006d9f8"], ["0x1006b2ba", "mov ecx, dword ptr [ebp - 0x10]", "0x1006d9fe"], ["0x1006b2bd", "lea eax, [ebp - 0x8c]", "0x1006da01"], ["0x1006b2c3", "push eax", "0x1006da07"], ["0x1006b2c4", "mov ecx, dword ptr [ecx + 0x78]", "0x1006da08"], ["0x1006b2c7", "mov ebx, dword ptr [ecx]", "0x1006da0b"], ["0x1006b2c9", "call dword ptr [ebx + 0x28]", "0x1006da0d"], ["0x1006b2cc", "xor eax, eax", "0x1006da10"]]}, {"orig": [["0x1006b2ce", "jmp -0x163"]], "recomp": [["0x1006da12", "jmp -0x157"]]}, {"both": [["0x1006b2d3", "shl eax, 3", "0x1006da17"]]}, {"orig": [["0x1006b2d6", "lea ecx, [ebp - 0x1c]"]], "recomp": [["0x1006da1a", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x1006b2d9", "lea esi, [eax + eax*8]", "0x1006da1d"], ["0x1006b2dc", "lea eax, [ebp - 0x15c]", "0x1006da20"]]}, {"orig": [["0x1006b2e2", "add esi, dword ptr [ebp - 0x20]"]], "recomp": [["0x1006da26", "add esi, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1006b2e5", "push eax", "0x1006da29"], ["0x1006b2e6", "call Matrix4::Matrix4 (FUNCTION)", "0x1006da2a"], ["0x1006b2eb", "push esi", "0x1006da2f"]]}, {"orig": [["0x1006b2ec", "lea ecx, [ebp - 0x1c]"], ["0x1006b2ef", "mov eax, dword ptr [ebp - 0x1c]"]], "recomp": [["0x1006da30", "lea ecx, [ebp - 0x20]"], ["0x1006da33", "mov eax, dword ptr [ebp - 0x20]"]]}, {"both": [["0x1006b2f2", "xor esi, esi", "0x1006da36"], ["0x1006b2f4", "call dword ptr [eax + 0x28]", "0x1006da38"], ["0x1006b2f7", "lea ecx, [ebp - 0x11c]", "0x1006da3b"], ["0x1006b2fd", "mov eax, dword ptr [ebp - 0x11c]", "0x1006da41"], ["0x1006b303", "call dword ptr [eax + 0x24]", "0x1006da47"], ["0x1006b306", "mov dword ptr [ebp - 0x48], esi", "0x1006da4a"], ["0x1006b309", "mov dword ptr [ebp - 0x2c], esi", "0x1006da4d"], ["0x1006b30c", "mov dword ptr [ebp - 0x28], esi", "0x1006da50"], ["0x1006b30f", "mov edi, dword ptr [ebp - 0x48]", "0x1006da53"], ["0x1006b312", "lea edx, [edi + 1]", "0x1006da56"], ["0x1006b315", "mov ecx, edx", "0x1006da59"]]}, {"orig": [["0x1006b317", "mov dword ptr [ebp - 0x24], edx"]], "recomp": [["0x1006da5b", "mov dword ptr [ebp - 0x90], edx"]]}, {"both": [["0x1006b31a", "cmp edx, 4", "0x1006da61"]]}, {"orig": [["0x1006b31d", "jge 0x2f"], ["0x1006b31f", "lea ebx, [edi + edx*4]"]], "recomp": [["0x1006da64", "jge 0x34"], ["0x1006da66", "mov eax, edx"], ["0x1006da68", "mov edx, dword ptr [ebp - 0x48]"], ["0x1006da6b", "lea ebx, [edx + eax*4]"]]}, {"both": [["0x1006b322", "shl ebx, 2", "0x1006da6e"]]}, {"orig": [["0x1006b325", "add ebx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006da71", "add ebx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b328", "mov edx, dword ptr [ebp - 0x48]", "0x1006da74"], ["0x1006b32b", "lea eax, [edx + edi*4]", "0x1006da77"]]}, {"orig": [["0x1006b32e", "mov edx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006da7a", "mov edx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b331", "fld dword ptr [edx + eax*4]", "0x1006da7d"], ["0x1006b334", "fabs ", "0x1006da80"], ["0x1006b336", "fld dword ptr [ebx]", "0x1006da82"], ["0x1006b338", "fabs ", "0x1006da84"], ["0x1006b33a", "fcompp ", "0x1006da86"], ["0x1006b33c", "fnstsw ax", "0x1006da88"], ["0x1006b33e", "test ah, 0x41", "0x1006da8a"], ["0x1006b341", "jne 0x2", "0x1006da8d"], ["0x1006b343", "mov edi, ecx", "0x1006da8f"], ["0x1006b345", "add ebx, 0x10", "0x1006da91"], ["0x1006b348", "inc ecx", "0x1006da94"], ["0x1006b349", "cmp ecx, 4", "0x1006da95"], ["0x1006b34c", "jl -0x26", "0x1006da98"], ["0x1006b34e", "cmp edi, dword ptr [ebp - 0x48]", "0x1006da9a"], ["0x1006b351", "je 0x1d", "0x1006da9d"], ["0x1006b353", "mov edx, dword ptr [ebp - 0x48]", "0x1006da9f"]]}, {"orig": [["0x1006b356", "lea ecx, [ebp - 0x1c]"]], "recomp": [["0x1006daa2", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x1006b359", "push edx", "0x1006daa5"], ["0x1006b35a", "push edi", "0x1006daa6"], ["0x1006b35b", "call Matrix4::Swap (FUNCTION)", "0x1006daa7"], ["0x1006b360", "mov edx, dword ptr [ebp - 0x48]", "0x1006daac"], ["0x1006b363", "lea ecx, [ebp - 0x11c]", "0x1006daaf"], ["0x1006b369", "push edx", "0x1006dab5"], ["0x1006b36a", "push edi", "0x1006dab6"], ["0x1006b36b", "call Matrix4::Swap (FUNCTION)", "0x1006dab7"], ["0x1006b370", "mov eax, dword ptr [ebp - 0x28]", "0x1006dabc"]]}, {"orig": [["0x1006b373", "add eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006dabf", "add eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b376", "cmp dword ptr [eax], 0x3a83126f", "0x1006dac2"], ["0x1006b37c", "jge 0xc", "0x1006dac8"], ["0x1006b37e", "cmp dword ptr [eax], 0xba83126f", "0x1006daca"]]}, {"orig": [["0x1006b384", "jb 0x120"]], "recomp": [["0x1006dad0", "jb 0x123"]]}, {"both": [["0x1006b38a", "mov eax, dword ptr [eax]", "0x1006dad6"], ["0x1006b38c", "xor ecx, ecx", "0x1006dad8"]]}, {"orig": [["0x1006b38e", "mov dword ptr [ebp - 0x14], eax"], ["0x1006b391", "fld dword ptr [ebp - 0x14]"]], "recomp": [["0x1006dada", "mov dword ptr [ebp - 0x18], eax"], ["0x1006dadd", "fld dword ptr [ebp - 0x18]"]]}, {"both": [["0x1006b394", "jmp 0x2", "0x1006dae0"], ["0x1006b396", "fstp dword ptr [eax]", "0x1006dae2"], ["0x1006b398", "mov eax, dword ptr [ebp - 0x118]", "0x1006dae4"], ["0x1006b39e", "add eax, esi", "0x1006daea"], ["0x1006b3a0", "add eax, ecx", "0x1006daec"], ["0x1006b3a2", "add ecx, 4", "0x1006daee"], ["0x1006b3a5", "cmp ecx, 0x10", "0x1006daf1"], ["0x1006b3a8", "fld dword ptr [eax]", "0x1006daf4"], ["0x1006b3aa", "fdiv st(1)", "0x1006daf6"], ["0x1006b3ac", "jl -0x18", "0x1006daf8"], ["0x1006b3ae", "fstp dword ptr [eax]", "0x1006dafa"], ["0x1006b3b0", "fstp st(0)", "0x1006dafc"]]}, {"orig": [["0x1006b3b2", "fld dword ptr [ebp - 0x14]"]], "recomp": [["0x1006dafe", "fld dword ptr [ebp - 0x18]"]]}, {"both": [["0x1006b3b5", "xor ecx, ecx", "0x1006db01"], ["0x1006b3b7", "jmp 0x2", "0x1006db03"], ["0x1006b3b9", "fstp dword ptr [eax]", "0x1006db05"]]}, {"orig": [["0x1006b3bb", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006db07", "mov eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b3be", "add eax, esi", "0x1006db0a"], ["0x1006b3c0", "add eax, ecx", "0x1006db0c"], ["0x1006b3c2", "add ecx, 4", "0x1006db0e"], ["0x1006b3c5", "cmp ecx, 0x10", "0x1006db11"], ["0x1006b3c8", "fld dword ptr [eax]", "0x1006db14"], ["0x1006b3ca", "fdiv st(1)", "0x1006db16"], ["0x1006b3cc", "jl -0x15", "0x1006db18"], ["0x1006b3ce", "fstp dword ptr [eax]", "0x1006db1a"], ["0x1006b3d0", "fstp st(0)", "0x1006db1c"], ["0x1006b3d2", "xor ecx, ecx", "0x1006db1e"]]}, {"orig": [["0x1006b3d4", "mov edi, dword ptr [ebp - 0x2c]"]], "recomp": [["0x1006db20", "mov eax, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x1006b3d7", "mov dword ptr [ebp - 0x30], ecx", "0x1006db23"]]}, {"orig": [["0x1006b3da", "mov dword ptr [ebp - 0x14], edi"]], "recomp": [["0x1006db26", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x1006b3dd", "mov edx, dword ptr [ebp - 0x48]", "0x1006db29"], ["0x1006b3e0", "cmp dword ptr [ebp - 0x30], edx", "0x1006db2c"], ["0x1006b3e3", "je 0x8e", "0x1006db2f"]]}, {"orig": [["0x1006b3e9", "mov ebx, dword ptr [ebp - 0x118]"]], "recomp": [["0x1006db35", "mov edi, dword ptr [ebp - 0x118]"]]}, {"both": [["0x1006b3ef", "lea edx, [ebp - 0x44]", "0x1006db3b"]]}, {"orig": [["0x1006b3f2", "add ebx, esi"]], "recomp": [["0x1006db3e", "add edi, esi"]]}, {"both": [["0x1006b3f4", "mov eax, dword ptr [ebp - 0x18]", "0x1006db40"]]}, {"orig": [["0x1006b3f7", "add eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x1006db43", "add eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b3fa", "jmp 0x3", "0x1006db46"], ["0x1006b3fc", "fstp dword ptr [edx - 4]", "0x1006db48"], ["0x1006b3ff", "fld dword ptr [eax]", "0x1006db4b"]]}, {"orig": [["0x1006b401", "fmul dword ptr [ebx]"], ["0x1006b403", "add ebx, 4"]], "recomp": [["0x1006db4d", "fmul dword ptr [edi]"], ["0x1006db4f", "add edi, 4"]]}, {"both": [["0x1006b406", "add edx, 4", "0x1006db52"]]}, {"orig": [["0x1006b409", "lea edi, [ebp - 0x34]"], ["0x1006b40c", "cmp edx, edi"]], "recomp": [["0x1006db55", "lea ebx, [ebp - 0x34]"], ["0x1006db58", "cmp edx, ebx"]]}, {"both": [["0x1006b40e", "jb -0x14", "0x1006db5a"], ["0x1006b410", "fstp dword ptr [edx - 4]", "0x1006db5c"], ["0x1006b413", "xor edx, edx", "0x1006db5f"], ["0x1006b415", "jmp 0x2", "0x1006db61"], ["0x1006b417", "fstp dword ptr [eax]", "0x1006db63"], ["0x1006b419", "mov eax, dword ptr [ebp - 0x118]", "0x1006db65"], ["0x1006b41f", "add eax, ecx", "0x1006db6b"], ["0x1006b421", "add eax, edx", "0x1006db6d"], ["0x1006b423", "add edx, 4", "0x1006db6f"], ["0x1006b426", "cmp edx, 0x10", "0x1006db72"], ["0x1006b429", "fld dword ptr [eax]", "0x1006db75"], ["0x1006b42b", "fsub dword ptr [ebp + edx - 0x48]", "0x1006db77"], ["0x1006b42f", "jl -0x1a", "0x1006db7b"], ["0x1006b431", "fstp dword ptr [eax]", "0x1006db7d"]]}, {"orig": [["0x1006b433", "mov edx, dword ptr [ebp - 0x18]"], ["0x1006b436", "lea eax, [ebp - 0x44]"], ["0x1006b439", "add edx, esi"], ["0x1006b43b", "mov edi, dword ptr [ebp - 0x14]"], ["0x1006b43e", "add edi, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006db7f", "mov edi, dword ptr [ebp - 0x1c]"], ["0x1006db82", "lea edx, [ebp - 0x44]"], ["0x1006db85", "add edi, esi"], ["0x1006db87", "mov eax, dword ptr [ebp - 0x18]"], ["0x1006db8a", "add eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b441", "jmp 0x3", "0x1006db8d"]]}, {"orig": [["0x1006b443", "fstp dword ptr [eax - 4]"], ["0x1006b446", "fld dword ptr [edi]"], ["0x1006b448", "fmul dword ptr [edx]"]], "recomp": [["0x1006db8f", "fstp dword ptr [edx - 4]"], ["0x1006db92", "fld dword ptr [eax]"], ["0x1006db94", "fmul dword ptr [edi]"], ["0x1006db96", "add edi, 4"]]}, {"both": [["0x1006b44a", "add edx, 4", "0x1006db99"]]}, {"orig": [["0x1006b44d", "add eax, 4"]], "recomp": []}, {"both": [["0x1006b450", "lea ebx, [ebp - 0x34]", "0x1006db9c"]]}, {"orig": [["0x1006b453", "cmp eax, ebx"]], "recomp": [["0x1006db9f", "cmp edx, ebx"]]}, {"both": [["0x1006b455", "jb -0x14", "0x1006dba1"]]}, {"orig": [["0x1006b457", "fstp dword ptr [eax - 4]"]], "recomp": [["0x1006dba3", "fstp dword ptr [edx - 4]"]]}, {"both": [["0x1006b45a", "xor edx, edx", "0x1006dba6"], ["0x1006b45c", "jmp 0x2", "0x1006dba8"], ["0x1006b45e", "fstp dword ptr [eax]", "0x1006dbaa"]]}, {"orig": [["0x1006b460", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1006dbac", "mov eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1006b463", "add eax, ecx", "0x1006dbaf"], ["0x1006b465", "add eax, edx", "0x1006dbb1"], ["0x1006b467", "add edx, 4", "0x1006dbb3"], ["0x1006b46a", "cmp edx, 0x10", "0x1006dbb6"], ["0x1006b46d", "fld dword ptr [eax]", "0x1006dbb9"], ["0x1006b46f", "fsub dword ptr [ebp + edx - 0x48]", "0x1006dbbb"], ["0x1006b473", "jl -0x17", "0x1006dbbf"], ["0x1006b475", "fstp dword ptr [eax]", "0x1006dbc1"], ["0x1006b477", "add ecx, 0x10", "0x1006dbc3"], ["0x1006b47a", "inc dword ptr [ebp - 0x30]", "0x1006dbc6"]]}, {"orig": [["0x1006b47d", "add dword ptr [ebp - 0x14], 0x10"]], "recomp": [["0x1006dbc9", "add dword ptr [ebp - 0x18], 0x10"]]}, {"both": [["0x1006b481", "cmp ecx, 0x40", "0x1006dbcd"], ["0x1006b484", "jl -0xad", "0x1006dbd0"], ["0x1006b48a", "add esi, 0x10", "0x1006dbd6"]]}, {"orig": [["0x1006b48d", "mov edx, dword ptr [ebp - 0x24]"]], "recomp": [["0x1006dbd9", "mov edx, dword ptr [ebp - 0x90]"]]}, {"both": [["0x1006b490", "add dword ptr [ebp - 0x2c], 4", "0x1006dbdf"], ["0x1006b494", "add dword ptr [ebp - 0x28], 0x14", "0x1006dbe3"], ["0x1006b498", "cmp dword ptr [ebp - 0x28], 0x50", "0x1006dbe7"], ["0x1006b49c", "mov dword ptr [ebp - 0x48], edx", "0x1006dbeb"]]}, {"orig": [["0x1006b49f", "jl -0x196"], ["0x1006b4a5", "jmp -0x28b"], ["0x1006b4aa", "cmp dword ptr [ebp - 0x90], 0"], ["0x1006b4b1", "je 0xf"], ["0x1006b4b3", "mov eax, dword ptr [ebp - 0x90]"]], "recomp": [["0x1006dbee", "jl -0x1a1"], ["0x1006dbf4", "jmp -0x290"], ["0x1006dbf9", "cmp dword ptr [ebp - 0x14], 0"], ["0x1006dbfd", "je 0xc"], ["0x1006dbff", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1006b4b9", "push eax", "0x1006dc02"], ["0x1006b4ba", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006dc03"], ["0x1006b4bf", "add esp, 4", "0x1006dc08"]]}, {"orig": [["0x1006b4c2", "cmp dword ptr [ebp - 0x20], 0"], ["0x1006b4c6", "je -0x361"], ["0x1006b4cc", "mov eax, dword ptr [ebp - 0x20]"]], "recomp": [["0x1006dc0b", "cmp dword ptr [ebp - 0x24], 0"], ["0x1006dc0f", "je -0x35a"], ["0x1006dc15", "mov eax, dword ptr [ebp - 0x24]"]]}, {"both": [["0x1006b4cf", "push eax", "0x1006dc18"], ["0x1006b4d0", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006dc19"], ["0x1006b4d5", "add esp, 4", "0x1006dc1e"]]}, {"orig": [["0x1006b4d8", "jmp -0x372"]], "recomp": [["0x1006dc21", "jmp -0x36b"]]}, {"both": [["0x1006b4dd", "mov eax, <OFFSET10>", "0x1006dc26"], ["0x1006b4e2", "jmp ___CxxFrameHandler (FUNCTION)", "0x1006dc2b"], ["0x1006b4e7", "mov eax, dword ptr [ebp - 0x48]", "0x1006dc30"], ["0x1006b4ea", "push eax", "0x1006dc33"]]}, {"orig": [], "recomp": [["0x1006dc34", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x1006dc39", "add esp, 4"], ["0x1006dc3c", "ret "]]}]]]}, {"address": "0x1006b500", "recomp": "0x1006dc40", "name": "Matrix4::Swap", "matching": 1.0, "diff": []}, {"address": "0x1006b550", "recomp": "0x1006dc90", "name": "LegoAnimPresenter::ReadyTickle", "matching": 0.8703703703703703, "diff": [["@@ -0x1006b551,29 +0x1006dc91,29 @@", [{"both": [["0x1006b551", "push esi", "0x1006dc91"], ["0x1006b552", "push edi", "0x1006dc92"], ["0x1006b553", "mov esi, ecx", "0x1006dc93"], ["0x1006b555", "push ebp", "0x1006dc95"], ["0x1006b556", "call CurrentWorld (FUNCTION)", "0x1006dc96"], ["0x1006b55b", "mov dword ptr [esi + 0x80], eax", "0x1006dc9b"], ["0x1006b561", "test eax, eax", "0x1006dca1"], ["0x1006b563", "je 0x69", "0x1006dca3"], ["0x1006b565", "mov ecx, dword ptr [esi + 0x40]", "0x1006dca5"], ["0x1006b568", "call MxDSSubscriber::PeekData (FUNCTION)", "0x1006dca8"]]}, {"orig": [["0x1006b56d", "mov ebx, eax"], ["0x1006b56f", "test ebx, ebx"]], "recomp": [["0x1006dcad", "mov edi, eax"], ["0x1006dcaf", "test edi, edi"]]}, {"both": [["0x1006b571", "je 0x5b", "0x1006dcb1"]]}, {"orig": [["0x1006b573", "mov edi, dword ptr [esi + 0x1c]"], ["0x1006b576", "mov ecx, edi"], ["0x1006b578", "mov eax, dword ptr [edi]"]], "recomp": [["0x1006dcb3", "mov ebx, dword ptr [esi + 0x1c]"], ["0x1006dcb6", "mov ecx, ebx"], ["0x1006dcb8", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x1006b57a", "call dword ptr [eax + 0x40]", "0x1006dcba"]]}, {"orig": [["0x1006b57d", "mov ecx, dword ptr [ebx + 0x10]"], ["0x1006b580", "add ecx, dword ptr [edi + 0x34]"]], "recomp": [["0x1006dcbd", "mov ecx, dword ptr [ebx + 0x34]"], ["0x1006dcc0", "add ecx, dword ptr [edi + 0x10]"]]}, {"both": [["0x1006b583", "cmp eax, ecx", "0x1006dcc3"], ["0x1006b585", "jl 0x47", "0x1006dcc5"], ["0x1006b587", "mov ecx, dword ptr [esi + 0x40]", "0x1006dcc7"], ["0x1006b58a", "call MxDSSubscriber::PopData (FUNCTION)", "0x1006dcca"], ["0x1006b58f", "mov ebx, dword ptr [esi]", "0x1006dccf"], ["0x1006b591", "mov ecx, esi", "0x1006dcd1"], ["0x1006b593", "push eax", "0x1006dcd3"], ["0x1006b594", "mov edi, eax", "0x1006dcd4"], ["0x1006b596", "call dword ptr [ebx + 0x88]", "0x1006dcd6"], ["0x1006b59c", "mov ebp, eax", "0x1006dcdc"]]}]]]}, {"address": "0x1006b5e0", "recomp": "0x1006dd20", "name": "LegoAnimPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1006b840", "recomp": "0x1006df80", "name": "LegoAnimPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x1006b8c0", "recomp": "0x1006e000", "name": "LegoAnimPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x1006b8d0", "recomp": "0x1006e010", "name": "LegoAnimPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1006b8e0", "recomp": "0x1006e020", "name": "LegoAnimPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006b8f0", "recomp": "0x1006e030", "name": "LegoAnimPresenter::GetActionObjectName", "matching": 1.0, "diff": []}, {"address": "0x1006b900", "recomp": "0x1006e040", "name": "LegoAnimPresenter::FUN_1006b900", "matching": 1.0, "diff": []}, {"address": "0x1006b9a0", "recomp": "0x1006e0e0", "name": "LegoAnimPresenter::FUN_1006b9a0", "matching": 0.8795180722891566, "diff": [["@@ -0x1006b9a0,46 +0x1006e0e0,48 @@", [{"both": [["0x1006b9a0", "mov eax, dword ptr [esp + 4]", "0x1006e0e0"], ["0x1006b9a4", "sub esp, 0x94", "0x1006e0e4"], ["0x1006b9aa", "push ebx", "0x1006e0ea"], ["0x1006b9ab", "push esi", "0x1006e0eb"], ["0x1006b9ac", "push edi", "0x1006e0ec"], ["0x1006b9ad", "mov ebx, dword ptr [eax + 4]", "0x1006e0ed"]]}, {"orig": [["0x1006b9b0", "mov eax, dword ptr [esp + 0xac]"]], "recomp": [["0x1006e0f0", "mov dword ptr [esp + 0x10], MxMatrix::`vftable' (VTABLE)"]]}, {"both": [["0x1006b9b7", "push ebp", "0x1006e0f8"], ["0x1006b9b8", "mov ebp, ecx", "0x1006e0f9"]]}, {"orig": [["0x1006b9ba", "test eax, eax"], ["0x1006b9bc", "mov dword ptr [esp + 0x14], MxMatrix::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x1006b9c4", "lea ecx, [esp + 0x1c]", "0x1006e0fb"], ["0x1006b9c8", "mov dword ptr [esp + 0x18], ecx", "0x1006e0ff"]]}, {"orig": [["0x1006b9cc", "mov ecx, dword ptr [ebx + 4]"], ["0x1006b9cf", "jne 0x3f"], ["0x1006b9d1", "xor edx, edx"]], "recomp": [["0x1006e103", "mov ecx, dword ptr [esp + 0xb0]"], ["0x1006e10a", "mov eax, dword ptr [ebx + 4]"], ["0x1006e10d", "test ecx, ecx"], ["0x1006e10f", "je 0x3"], ["0x1006e111", "push ecx"], ["0x1006e112", "jmp 0x40"], ["0x1006e114", "xor ecx, ecx"], ["0x1006e116", "mov cx, word ptr [eax + 0x20]"]]}, {"both": [["0x1006b9d3", "mov eax, dword ptr [ebp + 0x68]", "0x1006e11a"]]}, {"orig": [["0x1006b9d6", "mov dx, word ptr [ecx + 0x20]"], ["0x1006b9da", "mov eax, dword ptr [eax + edx*4]"]], "recomp": [["0x1006e11d", "mov eax, dword ptr [eax + ecx*4]"]]}, {"both": [["0x1006b9dd", "test eax, eax", "0x1006e120"], ["0x1006b9df", "jne 0x2c", "0x1006e122"], ["0x1006b9e1", "lea ecx, [esp + 0x14]", "0x1006e124"], ["0x1006b9e5", "call dword ptr [->Matrix4::Clear (FUNCTION)]", "0x1006e128"], ["0x1006b9eb", "mov eax, dword ptr [esp + 0x18]", "0x1006e12e"], ["0x1006b9ef", "mov ecx, 0x3f800000", "0x1006e132"], ["0x1006b9f4", "mov dword ptr [eax], ecx", "0x1006e137"], ["0x1006b9f6", "mov eax, dword ptr [esp + 0x18]", "0x1006e139"], ["0x1006b9fa", "mov dword ptr [eax + 0x14], ecx", "0x1006e13d"], ["0x1006b9fd", "mov eax, dword ptr [esp + 0x18]", "0x1006e140"], ["0x1006ba01", "mov dword ptr [eax + 0x28], ecx", "0x1006e144"], ["0x1006ba04", "mov eax, dword ptr [esp + 0x18]", "0x1006e147"], ["0x1006ba08", "mov dword ptr [eax + 0x3c], ecx", "0x1006e14b"], ["0x1006ba0b", "jmp 0xe", "0x1006e14e"], ["0x1006ba0d", "add eax, 0x10", "0x1006e150"]]}, {"orig": [["0x1006ba10", "lea ecx, [esp + 0x14]"]], "recomp": []}, {"both": [["0x1006ba14", "push eax", "0x1006e153"]]}, {"orig": [], "recomp": [["0x1006e154", "lea ecx, [esp + 0x18]"]]}, {"both": [["0x1006ba15", "call dword ptr [->MxMatrix::operator= (FUNCTION)]", "0x1006e158"], ["0x1006ba1b", "mov eax, dword ptr [esp + 0xa8]", "0x1006e15e"], ["0x1006ba22", "cmp dword ptr [eax + 0x14], 0", "0x1006e165"], ["0x1006ba26", "je 0x67", "0x1006e169"], ["0x1006ba28", "lea eax, [esp + 0x64]", "0x1006e16b"], ["0x1006ba2c", "mov esi, dword ptr [esp + 0x18]", "0x1006e16f"], ["0x1006ba30", "mov edi, eax", "0x1006e173"], ["0x1006ba32", "mov ecx, 0x10", "0x1006e175"], ["0x1006ba37", "mov dword ptr [esp + 0x5c], MxMatrix::`vftable' (VTABLE)", "0x1006e17a"], ["0x1006ba3f", "mov dword ptr [esp + 0x60], eax", "0x1006e182"]]}]]]}, {"address": "0x1006bac0", "recomp": "0x1006e200", "name": "LegoAnimPresenter::ParseExtra", "matching": 0.9812332439678284, "diff": [["@@ -0x1006badb,21 +0x1006e21b,21 @@", [{"both": [["0x1006badb", "mov dx, word ptr [eax + 0x80]", "0x1006e21b"], ["0x1006bae2", "sub esp, 0x248", "0x1006e222"], ["0x1006bae8", "mov word ptr [ebp - 0x12], dx", "0x1006e228"], ["0x1006baec", "mov dword ptr [ebp - 0x10], ecx", "0x1006e22c"], ["0x1006baef", "push ebx", "0x1006e22f"], ["0x1006baf0", "mov ecx, dword ptr [eax + 0x7c]", "0x1006e230"], ["0x1006baf3", "push esi", "0x1006e233"], ["0x1006baf4", "push edi", "0x1006e234"], ["0x1006baf5", "xor ebx, ebx", "0x1006e235"], ["0x1006baf7", "cmp word ptr [ebp - 0x12], bx", "0x1006e237"]]}, {"orig": [["0x1006bafb", "je 0x678"]], "recomp": [["0x1006e23b", "je 0x677"]]}, {"both": [["0x1006bb01", "mov eax, dword ptr [ebp - 0x12]", "0x1006e241"], ["0x1006bb04", "lea edi, [ebp - 0x154]", "0x1006e244"], ["0x1006bb0a", "and eax, 0xffff", "0x1006e24a"], ["0x1006bb0f", "mov esi, ecx", "0x1006e24f"], ["0x1006bb11", "mov ecx, eax", "0x1006e251"], ["0x1006bb13", "shr ecx, 2", "0x1006e253"], ["0x1006bb16", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1006e256"], ["0x1006bb18", "mov ecx, eax", "0x1006e258"], ["0x1006bb1a", "and ecx, 3", "0x1006e25a"], ["0x1006bb1d", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1006e25d"]]}]], ["@@ -0x1006bbd3,28 +0x1006e313,28 @@", [{"both": [["0x1006bbd3", "or dword ptr [edx + 0x7c], 2", "0x1006e313"], ["0x1006bbd7", "lea eax, [ebp - 0x154]", "0x1006e317"], ["0x1006bbdd", "mov ecx, dword ptr [g_strSUBST (DATA)]", "0x1006e31d"], ["0x1006bbe3", "push eax", "0x1006e323"], ["0x1006bbe4", "lea edx, [ebp - 0x254]", "0x1006e324"], ["0x1006bbea", "push ecx", "0x1006e32a"], ["0x1006bbeb", "push edx", "0x1006e32b"], ["0x1006bbec", "call KeyValueStringParse (FUNCTION)", "0x1006e32c"], ["0x1006bbf1", "add esp, 0xc", "0x1006e331"], ["0x1006bbf4", "test al, al", "0x1006e334"]]}, {"orig": [["0x1006bbf6", "je 0x2b9"]], "recomp": [["0x1006e336", "je 0x2b8"]]}, {"both": [["0x1006bbfc", "push 0x10", "0x1006e33c"], ["0x1006bbfe", "xor esi, esi", "0x1006e33e"], ["0x1006bc00", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006e340"], ["0x1006bc05", "add esp, 4", "0x1006e345"], ["0x1006bc08", "mov dword ptr [ebp - 0x18], eax", "0x1006e348"], ["0x1006bc0b", "mov dword ptr [ebp - 4], esi", "0x1006e34b"]]}, {"orig": [["0x1006bc0e", "cmp dword ptr [ebp - 0x18], esi"]], "recomp": [["0x1006e34e", "cmp eax, esi"]]}, {"both": [["0x1006bc11", "je 0xab", "0x1006e350"], ["0x1006bc17", "mov al, byte ptr [ebp - 0x11]", "0x1006e356"], ["0x1006bc1a", "mov ecx, dword ptr [ebp - 0x18]", "0x1006e359"], ["0x1006bc1d", "mov ebx, 1", "0x1006e35c"], ["0x1006bc22", "mov byte ptr [ecx], al", "0x1006e361"], ["0x1006bc24", "mov dl, byte ptr [ebp - 0x19]", "0x1006e363"], ["0x1006bc27", "mov ecx, dword ptr [ebp - 0x18]", "0x1006e366"], ["0x1006bc2a", "mov byte ptr [ecx + 1], dl", "0x1006e369"], ["0x1006bc2d", "mov ecx, dword ptr [ebp - 0x18]", "0x1006e36c"], ["0x1006bc30", "mov byte ptr [ebp - 4], bl", "0x1006e36f"]]}]], ["@@ -0x1006c04b,35 +0x1006e78a,35 @@", [{"both": [["0x1006c04b", "sub edi, ecx", "0x1006e78a"], ["0x1006c04d", "mov eax, ecx", "0x1006e78c"], ["0x1006c04f", "shr ecx, 2", "0x1006e78e"], ["0x1006c052", "mov esi, edi", "0x1006e791"], ["0x1006c054", "mov edi, dword ptr [ebp - 0x14]", "0x1006e793"], ["0x1006c057", "push 0xc", "0x1006e796"], ["0x1006c059", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1006e798"], ["0x1006c05b", "mov ecx, eax", "0x1006e79a"], ["0x1006c05d", "and ecx, 3", "0x1006e79c"], ["0x1006c060", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1006e79f"]]}, {"orig": [["0x1006c062", "mov ebx, dword ptr [ebp - 0x20]"], ["0x1006c065", "lea esi, [ebx + 4]"], ["0x1006c068", "mov edi, dword ptr [esi]"]], "recomp": [["0x1006e7a1", "mov edi, dword ptr [ebp - 0x20]"], ["0x1006e7a4", "lea ebx, [edi + 4]"], ["0x1006e7a7", "mov esi, dword ptr [ebx]"]]}, {"both": [["0x1006c06a", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006e7a9"], ["0x1006c06f", "add esp, 4", "0x1006e7ae"]]}, {"orig": [["0x1006c072", "test edi, edi"]], "recomp": [["0x1006e7b1", "test esi, esi"]]}, {"both": [["0x1006c074", "je 0xf", "0x1006e7b3"]]}, {"orig": [["0x1006c076", "mov dword ptr [eax], ebx"], ["0x1006c078", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x1006e7b5", "mov dword ptr [eax], edi"], ["0x1006e7b7", "mov dword ptr [eax + 4], esi"]]}, {"both": [["0x1006c07b", "jmp 0xd", "0x1006e7ba"], ["0x1006c07d", "lea ecx, [ebp - 0x14]", "0x1006e7bc"], ["0x1006c080", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x1006e7bf"], ["0x1006c085", "mov dword ptr [eax], eax", "0x1006e7c4"], ["0x1006c087", "mov dword ptr [eax + 4], eax", "0x1006e7c6"]]}, {"orig": [["0x1006c08a", "mov dword ptr [esi], eax"]], "recomp": [["0x1006e7c9", "mov dword ptr [ebx], eax"]]}, {"both": [["0x1006c08c", "mov ecx, dword ptr [eax + 4]", "0x1006e7cb"], ["0x1006c08f", "mov dword ptr [ecx], eax", "0x1006e7ce"], ["0x1006c091", "add eax, 8", "0x1006e7d0"], ["0x1006c094", "je 0x5", "0x1006e7d3"], ["0x1006c096", "mov ecx, dword ptr [ebp - 0x14]", "0x1006e7d5"], ["0x1006c099", "mov dword ptr [eax], ecx", "0x1006e7d8"], ["0x1006c09b", "inc dword ptr [ebp - 0x1c]", "0x1006e7da"], ["0x1006c09e", "mov eax, dword ptr [g_parseExtraTokens (DATA)]", "0x1006e7dd"], ["0x1006c0a3", "push eax", "0x1006e7e2"], ["0x1006c0a4", "push 0", "0x1006e7e3"]]}]], ["@@ -0x1006c183,10 +0x1006e8c2,11 @@", [{"both": [["0x1006c183", "pop esi", "0x1006e8c2"], ["0x1006c184", "pop ebx", "0x1006e8c3"], ["0x1006c185", "mov esp, ebp", "0x1006e8c4"], ["0x1006c187", "pop ebp", "0x1006e8c6"], ["0x1006c188", "ret ", "0x1006e8c7"], ["0x1006c189", "lea ecx, [ebp - 0x24]", "0x1006e8c8"], ["0x1006c18c", "jmp list<char *,allocator<char *> >::~list<char *,allocator<char *> > (FUNCTION)", "0x1006e8cb"], ["0x1006c191", "mov eax, <OFFSET22>", "0x1006e8d0"], ["0x1006c196", "jmp ___CxxFrameHandler (FUNCTION)", "0x1006e8d5"], ["0x1006c19b", "lea ecx, [ebp - 0x24]", "0x1006e8da"]]}, {"orig": [], "recomp": [["0x1006e8dd", "jmp List<char *>::~List<char *> (FUNCTION)"]]}]]]}, {"address": "0x1006c1b0", "recomp": "0x1006e8f0", "name": "_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::iterator::_Dec", "matching": 0.1935483870967742, "diff": [["@@ -0x1006c1b0,29 +0x1006e8f0,33 @@", [{"orig": [["0x1006c1b0", "mov edx, dword ptr [ecx]"], ["0x1006c1b2", "cmp dword ptr [edx + 0x14], 0"], ["0x1006c1b6", "jne 0xe"], ["0x1006c1b8", "mov eax, dword ptr [edx + 4]"], ["0x1006c1bb", "cmp dword ptr [eax + 4], edx"], ["0x1006c1be", "jne 0x6"], ["0x1006c1c0", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x1006e8f0", "push esi"], ["0x1006e8f1", "mov esi, dword ptr [ecx]"], ["0x1006e8f3", "cmp dword ptr [esi + 0x14], 0"], ["0x1006e8f7", "jne 0xf"], ["0x1006e8f9", "mov eax, dword ptr [esi + 4]"], ["0x1006e8fc", "cmp dword ptr [eax + 4], esi"], ["0x1006e8ff", "jne 0x7"], ["0x1006e901", "mov eax, dword ptr [esi + 8]"], ["0x1006e904", "pop esi"]]}, {"both": [["0x1006c1c3", "mov dword ptr [ecx], eax", "0x1006e905"], ["0x1006c1c5", "ret ", "0x1006e907"]]}, {"orig": [["0x1006c1c6", "mov eax, dword ptr [edx]"]], "recomp": [["0x1006e908", "mov edx, dword ptr [esi]"], ["0x1006e90a", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], edx"], ["0x1006e910", "je 0x13"], ["0x1006e912", "mov eax, dword ptr [edx + 8]"]]}, {"both": [["0x1006c1c8", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006e915"]]}, {"orig": [["0x1006c1ce", "je 0x12"], ["0x1006c1d0", "mov edx, dword ptr [eax + 8]"], ["0x1006c1d3", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], edx"]], "recomp": []}, {"both": [["0x1006c1d9", "je 0x4", "0x1006e91b"]]}, {"orig": [], "recomp": [["0x1006e91d", "mov edx, eax"], ["0x1006e91f", "jmp -0xf"], ["0x1006e921", "pop esi"], ["0x1006e922", "mov dword ptr [ecx], edx"], ["0x1006e924", "ret "], ["0x1006e925", "mov edx, dword ptr [esi + 4]"], ["0x1006e928", "cmp dword ptr [edx], esi"], ["0x1006e92a", "jne 0xb"], ["0x1006e92c", "mov dword ptr [ecx], edx"]]}, {"both": [["0x1006c1db", "mov eax, edx", "0x1006e92e"]]}, {"orig": [["0x1006c1dd", "jmp -0xf"], ["0x1006c1df", "mov dword ptr [ecx], eax"]], "recomp": [["0x1006e930", "mov edx, dword ptr [edx + 4]"], ["0x1006e933", "cmp dword ptr [edx], eax"], ["0x1006e935", "je -0xb"], ["0x1006e937", "pop esi"], ["0x1006e938", "mov dword ptr [ecx], edx"]]}, {"both": [["0x1006c1e1", "ret ", "0x1006e93a"]]}, {"orig": [["0x1006c1e2", "mov eax, dword ptr [edx + 4]"], ["0x1006c1e5", "cmp dword ptr [eax], edx"], ["0x1006c1e7", "jne 0xb"], ["0x1006c1e9", "mov dword ptr [ecx], eax"], ["0x1006c1eb", "mov edx, eax"], ["0x1006c1ed", "mov eax, dword ptr [eax + 4]"], ["0x1006c1f0", "cmp dword ptr [eax], edx"], ["0x1006c1f2", "je -0xb"], ["0x1006c1f4", "mov dword ptr [ecx], eax"], ["0x1006c1f6", "ret "]], "recomp": []}]]]}, {"address": "0x1006c200", "recomp": "0x1006e940", "name": "_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Insert", "matching": 0.8583690987124464, "diff": [["@@ -0x1006c2af,35 +0x1006e9ef,35 @@", [{"both": [["0x1006c2af", "jne 0x11", "0x1006e9ef"], ["0x1006c2b1", "mov dword ptr [eax], edx", "0x1006e9f1"], ["0x1006c2b3", "jmp 0xd", "0x1006e9f3"], ["0x1006c2b5", "mov edx, dword ptr [esp + 0x10]", "0x1006e9f5"], ["0x1006c2b9", "mov dword ptr [eax + 4], edx", "0x1006e9f9"], ["0x1006c2bc", "mov eax, dword ptr [esi + 4]", "0x1006e9fc"], ["0x1006c2bf", "mov dword ptr [eax + 8], edx", "0x1006e9ff"], ["0x1006c2c2", "mov ecx, dword ptr [esp + 0x10]", "0x1006ea02"], ["0x1006c2c6", "mov eax, dword ptr [esi + 4]", "0x1006ea06"], ["0x1006c2c9", "cmp dword ptr [eax + 4], ecx", "0x1006ea09"]]}, {"orig": [["0x1006c2cc", "je 0x1b7"]], "recomp": [["0x1006ea0c", "je 0x1b4"]]}, {"both": [["0x1006c2d2", "lea edx, [ecx + 4]", "0x1006ea12"], ["0x1006c2d5", "mov eax, dword ptr [edx]", "0x1006ea15"], ["0x1006c2d7", "lea ebp, [eax + 0x14]", "0x1006ea17"], ["0x1006c2da", "cmp dword ptr [ebp], 0", "0x1006ea1a"]]}, {"orig": [["0x1006c2de", "jne 0x1a5"]], "recomp": [["0x1006ea1e", "jne 0x1a2"]]}, {"both": [["0x1006c2e4", "lea edi, [eax + 4]", "0x1006ea24"], ["0x1006c2e7", "mov ebx, dword ptr [edi]", "0x1006ea27"], ["0x1006c2e9", "mov ebx, dword ptr [ebx]", "0x1006ea29"], ["0x1006c2eb", "cmp ebx, eax", "0x1006ea2b"]]}, {"orig": [["0x1006c2ed", "jne 0xbe"]], "recomp": [["0x1006ea2d", "jne 0xbb"]]}, {"both": [["0x1006c2f3", "mov ebx, dword ptr [edi]", "0x1006ea33"], ["0x1006c2f5", "mov ebx, dword ptr [ebx + 8]", "0x1006ea35"], ["0x1006c2f8", "cmp dword ptr [ebx + 0x14], 0", "0x1006ea38"]]}, {"orig": [["0x1006c2fc", "je 0x15c"]], "recomp": [["0x1006ea3c", "je 0x159"]]}, {"both": [["0x1006c302", "lea ebx, [eax + 8]", "0x1006ea42"], ["0x1006c305", "mov edx, dword ptr [ebx]", "0x1006ea45"], ["0x1006c307", "cmp ecx, edx", "0x1006ea47"], ["0x1006c309", "jne 0x33", "0x1006ea49"], ["0x1006c30b", "mov ecx, eax", "0x1006ea4b"], ["0x1006c30d", "mov eax, dword ptr [edx]", "0x1006ea4d"], ["0x1006c30f", "mov dword ptr [ebx], eax", "0x1006ea4f"], ["0x1006c311", "mov eax, dword ptr [edx]", "0x1006ea51"], ["0x1006c313", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006ea53"], ["0x1006c319", "je 0x3", "0x1006ea59"]]}]], ["@@ -0x1006c379,102 +0x1006eab9,102 @@", [{"both": [["0x1006c379", "add eax, 4", "0x1006eab9"], ["0x1006c37c", "cmp dword ptr [eax], edi", "0x1006eabc"], ["0x1006c37e", "je 0x24", "0x1006eabe"], ["0x1006c380", "mov ebx, dword ptr [edi + 4]", "0x1006eac0"], ["0x1006c383", "lea eax, [ebx + 8]", "0x1006eac3"], ["0x1006c386", "cmp dword ptr [eax], edi", "0x1006eac6"], ["0x1006c388", "je 0xd", "0x1006eac8"], ["0x1006c38a", "mov dword ptr [ebx], edx", "0x1006eaca"], ["0x1006c38c", "mov dword ptr [edx + 8], edi", "0x1006eacc"], ["0x1006c38f", "mov dword ptr [edi + 4], edx", "0x1006eacf"]]}, {"orig": [["0x1006c392", "jmp 0xe6"]], "recomp": [["0x1006ead2", "jmp 0xe3"]]}, {"both": [["0x1006c397", "mov dword ptr [eax], edx", "0x1006ead7"], ["0x1006c399", "mov dword ptr [edx + 8], edi", "0x1006ead9"], ["0x1006c39c", "mov dword ptr [edi + 4], edx", "0x1006eadc"]]}, {"orig": [["0x1006c39f", "jmp 0xd9"]], "recomp": [["0x1006eadf", "jmp 0xd6"]]}, {"both": [["0x1006c3a4", "mov dword ptr [eax], edx", "0x1006eae4"], ["0x1006c3a6", "mov dword ptr [edx + 8], edi", "0x1006eae6"]]}, {"orig": [["0x1006c3a9", "mov dword ptr [edi + 4], edx"], ["0x1006c3ac", "jmp 0xcc"]], "recomp": [["0x1006eae9", "jmp 0xa8"]]}, {"both": [["0x1006c3b1", "cmp dword ptr [ebx + 0x14], 0", "0x1006eaee"], ["0x1006c3b5", "je 0xa3", "0x1006eaf2"], ["0x1006c3bb", "mov edx, dword ptr [eax]", "0x1006eaf8"], ["0x1006c3bd", "cmp ecx, edx", "0x1006eafa"], ["0x1006c3bf", "jne 0x38", "0x1006eafc"], ["0x1006c3c1", "mov ecx, eax", "0x1006eafe"], ["0x1006c3c3", "mov eax, dword ptr [edx + 8]", "0x1006eb00"], ["0x1006c3c6", "mov dword ptr [ecx], eax", "0x1006eb03"], ["0x1006c3c8", "mov eax, dword ptr [edx + 8]", "0x1006eb05"], ["0x1006c3cb", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006eb08"], ["0x1006c3d1", "je 0x3", "0x1006eb0e"], ["0x1006c3d3", "mov dword ptr [eax + 4], ecx", "0x1006eb10"], ["0x1006c3d6", "mov eax, dword ptr [edi]", "0x1006eb13"], ["0x1006c3d8", "mov dword ptr [edx + 4], eax", "0x1006eb15"], ["0x1006c3db", "mov eax, dword ptr [esi + 4]", "0x1006eb18"], ["0x1006c3de", "add eax, 4", "0x1006eb1b"], ["0x1006c3e1", "cmp dword ptr [eax], ecx", "0x1006eb1e"], ["0x1006c3e3", "je 0xd", "0x1006eb20"]]}, {"orig": [["0x1006c3e5", "mov eax, dword ptr [edi]"], ["0x1006c3e7", "lea ebx, [eax + 8]"], ["0x1006c3ea", "cmp dword ptr [ebx], ecx"], ["0x1006c3ec", "jne 0x4"]], "recomp": [["0x1006eb22", "mov ebx, dword ptr [edi]"], ["0x1006eb24", "lea eax, [ebx + 8]"], ["0x1006eb27", "cmp dword ptr [eax], ecx"], ["0x1006eb29", "je 0x4"]]}, {"both": [["0x1006c3ee", "mov dword ptr [ebx], edx", "0x1006eb2b"], ["0x1006c3f0", "jmp 0x2", "0x1006eb2d"], ["0x1006c3f2", "mov dword ptr [eax], edx", "0x1006eb2f"], ["0x1006c3f4", "mov dword ptr [edx + 8], ecx", "0x1006eb31"], ["0x1006c3f7", "mov dword ptr [edi], edx", "0x1006eb34"], ["0x1006c3f9", "mov eax, dword ptr [ecx + 4]", "0x1006eb36"], ["0x1006c3fc", "mov dword ptr [eax + 0x14], 1", "0x1006eb39"], ["0x1006c403", "mov eax, dword ptr [ecx + 4]", "0x1006eb40"], ["0x1006c406", "mov edx, dword ptr [eax + 4]", "0x1006eb43"], ["0x1006c409", "mov dword ptr [edx + 0x14], 0", "0x1006eb46"], ["0x1006c410", "mov eax, dword ptr [ecx + 4]", "0x1006eb4d"]]}, {"orig": [["0x1006c413", "mov edx, dword ptr [eax + 4]"], ["0x1006c416", "mov edi, dword ptr [edx + 8]"], ["0x1006c419", "mov eax, dword ptr [edi]"], ["0x1006c41b", "mov dword ptr [edx + 8], eax"], ["0x1006c41e", "mov eax, dword ptr [edi]"]], "recomp": [["0x1006eb50", "mov edi, dword ptr [eax + 4]"], ["0x1006eb53", "mov edx, dword ptr [edi + 8]"], ["0x1006eb56", "mov eax, dword ptr [edx]"], ["0x1006eb58", "mov dword ptr [edi + 8], eax"], ["0x1006eb5b", "mov eax, dword ptr [edx]"]]}, {"both": [["0x1006c420", "cmp dword ptr [_Tree<char const *,pair<char const * const,char const *>,map<char const *,char const *,LegoAnimSubstComparator,allocator<char const *> >::_Kfn,LegoAnimSubstComparator,allocator<char const *> >::_Nil (DATA)], eax", "0x1006eb5d"], ["0x1006c426", "je 0x3", "0x1006eb63"]]}, {"orig": [["0x1006c428", "mov dword ptr [eax + 4], edx"], ["0x1006c42b", "mov eax, dword ptr [edx + 4]"], ["0x1006c42e", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1006eb65", "mov dword ptr [eax + 4], edi"], ["0x1006eb68", "mov eax, dword ptr [edi + 4]"], ["0x1006eb6b", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x1006c431", "mov eax, dword ptr [esi + 4]", "0x1006eb6e"], ["0x1006c434", "add eax, 4", "0x1006eb71"]]}, {"orig": [["0x1006c437", "cmp dword ptr [eax], edx"]], "recomp": [["0x1006eb74", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1006c439", "je 0x1a", "0x1006eb76"]]}, {"orig": [["0x1006c43b", "mov eax, dword ptr [edx + 4]"], ["0x1006c43e", "cmp dword ptr [eax], edx"]], "recomp": [["0x1006eb78", "mov eax, dword ptr [edi + 4]"], ["0x1006eb7b", "cmp dword ptr [eax], edi"]]}, {"both": [["0x1006c440", "je 0xa", "0x1006eb7d"]]}, {"orig": [["0x1006c442", "mov dword ptr [eax + 8], edi"], ["0x1006c445", "mov dword ptr [edi], edx"], ["0x1006c447", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1006eb7f", "mov dword ptr [eax + 8], edx"], ["0x1006eb82", "mov dword ptr [edx], edi"], ["0x1006eb84", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x1006c44a", "jmp 0x31", "0x1006eb87"]]}, {"orig": [["0x1006c44c", "mov dword ptr [eax], edi"], ["0x1006c44e", "mov dword ptr [edi], edx"], ["0x1006c450", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1006eb89", "mov dword ptr [eax], edx"], ["0x1006eb8b", "mov dword ptr [edx], edi"], ["0x1006eb8d", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x1006c453", "jmp 0x28", "0x1006eb90"]]}, {"orig": [["0x1006c455", "mov dword ptr [eax], edi"], ["0x1006c457", "mov dword ptr [edi], edx"], ["0x1006c459", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1006eb92", "mov dword ptr [eax], edx"], ["0x1006eb94", "mov dword ptr [edx], edi"], ["0x1006eb96", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x1006c45c", "jmp 0x1f", "0x1006eb99"], ["0x1006c45e", "mov dword ptr [ebp], 1", "0x1006eb9b"], ["0x1006c465", "mov dword ptr [ebx + 0x14], 1", "0x1006eba2"], ["0x1006c46c", "mov eax, dword ptr [edx]", "0x1006eba9"], ["0x1006c46e", "mov ecx, dword ptr [eax + 4]", "0x1006ebab"], ["0x1006c471", "mov dword ptr [ecx + 0x14], 0", "0x1006ebae"], ["0x1006c478", "mov eax, dword ptr [edx]", "0x1006ebb5"], ["0x1006c47a", "mov ecx, dword ptr [eax + 4]", "0x1006ebb7"], ["0x1006c47d", "mov eax, dword ptr [esi + 4]", "0x1006ebba"], ["0x1006c480", "cmp dword ptr [eax + 4], ecx", "0x1006ebbd"]]}, {"orig": [["0x1006c483", "jne -0x1b7"]], "recomp": [["0x1006ebc0", "jne -0x1b4"]]}, {"both": [["0x1006c489", "mov eax, dword ptr [esi + 4]", "0x1006ebc6"], ["0x1006c48c", "mov edx, dword ptr [esp + 0x10]", "0x1006ebc9"], ["0x1006c490", "mov ecx, dword ptr [eax + 4]", "0x1006ebcd"], ["0x1006c493", "mov eax, dword ptr [esp + 0x18]", "0x1006ebd0"], ["0x1006c497", "pop ebp", "0x1006ebd4"], ["0x1006c498", "pop edi", "0x1006ebd5"], ["0x1006c499", "mov dword ptr [ecx + 0x14], 1", "0x1006ebd6"], ["0x1006c4a0", "pop esi", "0x1006ebdd"], ["0x1006c4a1", "mov dword ptr [eax], edx", "0x1006ebde"], ["0x1006c4a3", "pop ebx", "0x1006ebe0"], ["0x1006c4a4", "add esp, 4", "0x1006ebe1"]]}, {"orig": [], "recomp": [["0x1006ebe4", "ret 0x10"]]}]]]}, {"address": "0x1006c4b0", "recomp": "0x1006ebf0", "name": "list<char *,allocator<char *> >::~list<char *,allocator<char *> >", "matching": 1.0, "diff": []}, {"address": "0x1006c520", "recomp": "0x1006ec60", "name": "List<char *>::~List<char *>", "matching": 1.0, "diff": []}, {"address": "0x1006c570", "recomp": "0x1006ecb0", "name": "LegoAnimPresenter::VTable0xa0", "matching": 1.0, "diff": []}, {"address": "0x1006c620", "recomp": "0x1006ed60", "name": "LegoAnimPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x1006c640", "recomp": "0x1006ed80", "name": "LegoAnimPresenter::EndAction", "matching": 0.861244019138756, "diff": [["@@ -0x1006c640,24 +0x1006ed80,23 @@", [{"both": [["0x1006c640", "mov eax, dword ptr fs:[0]", "0x1006ed80"], ["0x1006c646", "push ebp", "0x1006ed86"], ["0x1006c647", "mov ebp, esp", "0x1006ed87"], ["0x1006c649", "push -1", "0x1006ed89"], ["0x1006c64b", "push <OFFSET1>", "0x1006ed8b"], ["0x1006c650", "push eax", "0x1006ed90"], ["0x1006c651", "mov dword ptr fs:[0], esp", "0x1006ed91"], ["0x1006c658", "sub esp, 0x14", "0x1006ed98"], ["0x1006c65b", "mov dword ptr [ebp - 0x10], ecx", "0x1006ed9b"], ["0x1006c65e", "push esi", "0x1006ed9e"]]}, {"orig": [["0x1006c65f", "push edi"]], "recomp": []}, {"both": [["0x1006c660", "xor esi, esi", "0x1006ed9f"], ["0x1006c662", "cmp dword ptr [ecx + 0x1c], esi", "0x1006eda1"]]}, {"orig": [["0x1006c665", "je 0xf8"]], "recomp": [["0x1006eda4", "je 0xfc"]]}, {"both": [["0x1006c66b", "call CurrentWorld (FUNCTION)", "0x1006edaa"], ["0x1006c670", "test eax, eax", "0x1006edaf"], ["0x1006c672", "je 0x50", "0x1006edb1"], ["0x1006c674", "mov dword ptr [ebp - 0x20], MxParam::`vftable' (VTABLE)", "0x1006edb3"], ["0x1006c67b", "mov dword ptr [ebp - 4], esi", "0x1006edba"], ["0x1006c67e", "mov dword ptr [ebp - 0x1c], 0x12", "0x1006edbd"], ["0x1006c685", "lea ecx, [ebp - 0x20]", "0x1006edc4"], ["0x1006c688", "mov dword ptr [ebp - 0x18], esi", "0x1006edc7"], ["0x1006c68b", "mov dword ptr [ebp - 0x20], MxNotificationParam::`vftable' (VTABLE)", "0x1006edca"], ["0x1006c692", "mov dword ptr [ebp - 4], 1", "0x1006edd1"]]}]], ["@@ -0x1006c6ce,66 +0x1006ee0d,66 @@", [{"both": [["0x1006c6ce", "mov edx, dword ptr [eax + 0x78]", "0x1006ee0d"], ["0x1006c6d1", "mov esi, dword ptr [ecx + 8]", "0x1006ee10"], ["0x1006c6d4", "push edx", "0x1006ee13"], ["0x1006c6d5", "push esi", "0x1006ee14"], ["0x1006c6d6", "push ecx", "0x1006ee15"], ["0x1006c6d7", "mov ecx, eax", "0x1006ee16"], ["0x1006c6d9", "call LegoAnimPresenter::FUN_1006b9a0 (FUNCTION)", "0x1006ee18"], ["0x1006c6de", "mov eax, dword ptr [ebp - 0x10]", "0x1006ee1d"], ["0x1006c6e1", "mov ecx, dword ptr [eax + 0x6c]", "0x1006ee20"], ["0x1006c6e4", "test ecx, ecx", "0x1006ee23"]]}, {"orig": [["0x1006c6e6", "je 0x41"]], "recomp": [["0x1006ee25", "je 0x45"]]}, {"both": [["0x1006c6e8", "mov eax, dword ptr [eax + 0x68]", "0x1006ee27"], ["0x1006c6eb", "test eax, eax", "0x1006ee2a"]]}, {"orig": [["0x1006c6ed", "je 0x3a"]], "recomp": [["0x1006ee2c", "je 0x3e"]]}, {"both": [["0x1006c6ef", "cmp dword ptr [eax + 4], 0", "0x1006ee2e"]]}, {"orig": [["0x1006c6f3", "je 0x34"]], "recomp": [["0x1006ee32", "je 0x38"]]}, {"both": [["0x1006c6f5", "mov eax, dword ptr [ebp - 0x10]", "0x1006ee34"], ["0x1006c6f8", "test byte ptr [eax + 0x7c], 1", "0x1006ee37"]]}, {"orig": [["0x1006c6fc", "je 0x2b"]], "recomp": [["0x1006ee3b", "je 0x2f"]]}, {"both": [["0x1006c6fe", "mov dx, 1", "0x1006ee3d"], ["0x1006c702", "cmp ecx, 1", "0x1006ee41"]]}, {"orig": [["0x1006c705", "jb 0x22"]], "recomp": [["0x1006ee44", "jb 0x26"]]}, {"both": [["0x1006c707", "xor ecx, ecx", "0x1006ee46"], ["0x1006c709", "mov eax, dword ptr [ebp - 0x10]", "0x1006ee48"]]}, {"orig": [["0x1006c70c", "movsx esi, dx"], ["0x1006c70f", "mov edi, dword ptr [eax + 0x68]"], ["0x1006c712", "mov eax, dword ptr [edi + esi*4]"], ["0x1006c715", "test eax, eax"], ["0x1006c717", "je 0x3"]], "recomp": [["0x1006ee4b", "mov esi, dword ptr [eax + 0x68]"], ["0x1006ee4e", "movsx eax, dx"], ["0x1006ee51", "shl eax, 2"], ["0x1006ee54", "cmp dword ptr [eax + esi], ecx"], ["0x1006ee57", "je 0x6"], ["0x1006ee59", "mov eax, dword ptr [esi + eax]"]]}, {"both": [["0x1006c719", "mov byte ptr [eax + 0xc], cl", "0x1006ee5c"], ["0x1006c71c", "inc dx", "0x1006ee5f"], ["0x1006c71e", "mov eax, dword ptr [ebp - 0x10]", "0x1006ee61"], ["0x1006c721", "movsx esi, dx", "0x1006ee64"], ["0x1006c724", "cmp esi, dword ptr [eax + 0x6c]", "0x1006ee67"]]}, {"orig": [["0x1006c727", "jbe -0x20"]], "recomp": [["0x1006ee6a", "jbe -0x24"]]}, {"both": [["0x1006c729", "push 0", "0x1006ee6c"], ["0x1006c72b", "mov ecx, dword ptr [ebp - 0x10]", "0x1006ee6e"], ["0x1006c72e", "call LegoAnimPresenter::FUN_1006c8a0 (FUNCTION)", "0x1006ee71"], ["0x1006c733", "mov ecx, dword ptr [ebp - 0x10]", "0x1006ee76"], ["0x1006c736", "call LegoAnimPresenter::FUN_1006ab70 (FUNCTION)", "0x1006ee79"], ["0x1006c73b", "mov eax, dword ptr [ebp - 0x10]", "0x1006ee7e"], ["0x1006c73e", "mov ecx, eax", "0x1006ee81"], ["0x1006c740", "mov esi, dword ptr [eax]", "0x1006ee83"], ["0x1006c742", "call dword ptr [esi + 0x90]", "0x1006ee85"], ["0x1006c748", "mov edx, dword ptr [ebp - 0x10]", "0x1006ee8b"], ["0x1006c74b", "mov ecx, dword ptr [edx + 0x80]", "0x1006ee8e"], ["0x1006c751", "test ecx, ecx", "0x1006ee94"], ["0x1006c753", "je 0x6", "0x1006ee96"], ["0x1006c755", "push edx", "0x1006ee98"], ["0x1006c756", "call LegoWorld::Remove (FUNCTION)", "0x1006ee99"], ["0x1006c75b", "mov ecx, dword ptr [ebp - 0x10]", "0x1006ee9e"], ["0x1006c75e", "call MxVideoPresenter::EndAction (FUNCTION)", "0x1006eea1"], ["0x1006c763", "mov eax, dword ptr [ebp - 0xc]", "0x1006eea6"]]}, {"orig": [["0x1006c766", "pop edi"]], "recomp": [["0x1006eea9", "pop esi"]]}, {"both": [["0x1006c767", "mov dword ptr fs:[0], eax", "0x1006eeaa"]]}, {"orig": [["0x1006c76d", "pop esi"]], "recomp": []}, {"both": [["0x1006c76e", "mov esp, ebp", "0x1006eeb0"], ["0x1006c770", "pop ebp", "0x1006eeb2"], ["0x1006c771", "ret ", "0x1006eeb3"], ["0x1006c772", "lea ecx, [ebp - 0x20]", "0x1006eeb4"], ["0x1006c775", "jmp MxParam::~MxParam (FUNCTION)", "0x1006eeb7"], ["0x1006c77a", "lea ecx, [ebp - 0x20]", "0x1006eebc"], ["0x1006c77d", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x1006eebf"], ["0x1006c782", "mov eax, <OFFSET14>", "0x1006eec4"], ["0x1006c787", "jmp ___CxxFrameHandler (FUNCTION)", "0x1006eec9"], ["0x1006c78c", "lea ecx, [ebp - 0x20]", "0x1006eece"]]}]]]}, {"address": "0x1006c7a0", "recomp": "0x1006eee0", "name": "LegoAnimPresenter::FUN_1006c7a0", "matching": 1.0, "diff": []}, {"address": "0x1006c7d0", "recomp": "0x1006ef10", "name": "LegoAnimPresenter::VTable0x8c", "matching": 1.0, "diff": []}, {"address": "0x1006c860", "recomp": "0x1006efa0", "name": "LegoAnimPresenter::VTable0x90", "matching": 1.0, "diff": []}, {"address": "0x1006c8a0", "recomp": "0x1006efe0", "name": "LegoAnimPresenter::FUN_1006c8a0", "matching": 1.0, "diff": []}, {"address": "0x1006c8f0", "recomp": "0x1006f030", "name": "LegoAnimPresenter::VTable0x94", "matching": 1.0, "diff": []}, {"address": "0x1006ca50", "recomp": "0x1006f190", "name": "LegoAnimPresenter::VTable0x98", "matching": 0.6071428571428571, "diff": [["@@ -0x1006ca50,28 +0x1006f190,28 @@", [{"both": [["0x1006ca50", "push ebx", "0x1006f190"], ["0x1006ca51", "push esi", "0x1006f191"], ["0x1006ca52", "push edi", "0x1006f192"]]}, {"orig": [["0x1006ca53", "mov ebx, ecx"]], "recomp": [["0x1006f193", "mov ebx, 1"], ["0x1006f198", "cmp dword ptr [ecx + 0x6c], ebx"]]}, {"both": [["0x1006ca55", "push ebp", "0x1006f19b"]]}, {"orig": [["0x1006ca56", "mov ebp, 1"], ["0x1006ca5b", "cmp dword ptr [ebx + 0x6c], ebp"]], "recomp": [["0x1006f19c", "mov edi, ecx"]]}, {"both": [["0x1006ca5e", "jb 0x2a", "0x1006f19e"]]}, {"orig": [["0x1006ca60", "mov esi, 4"], ["0x1006ca65", "mov edi, dword ptr [esp + 0x14]"], ["0x1006ca69", "mov eax, dword ptr [ebx + 0x68]"], ["0x1006ca6c", "mov ecx, dword ptr [eax + esi]"]], "recomp": [["0x1006f1a0", "mov ebp, 4"], ["0x1006f1a5", "mov esi, dword ptr [esp + 0x14]"], ["0x1006f1a9", "mov eax, dword ptr [edi + 0x68]"], ["0x1006f1ac", "mov ecx, dword ptr [eax + ebp]"]]}, {"both": [["0x1006ca6f", "mov eax, dword ptr [ecx + 0x104]", "0x1006f1af"], ["0x1006ca75", "test eax, eax", "0x1006f1b5"], ["0x1006ca77", "je 0x8", "0x1006f1b7"], ["0x1006ca79", "push eax", "0x1006f1b9"]]}, {"orig": [["0x1006ca7a", "mov ecx, edi"]], "recomp": [["0x1006f1ba", "mov ecx, esi"]]}, {"both": [["0x1006ca7c", "call LegoPathBoundary::AddActor (FUNCTION)", "0x1006f1bc"]]}, {"orig": [["0x1006ca81", "add esi, 4"], ["0x1006ca84", "inc ebp"], ["0x1006ca85", "cmp dword ptr [ebx + 0x6c], ebp"]], "recomp": [["0x1006f1c1", "add ebp, 4"], ["0x1006f1c4", "inc ebx"], ["0x1006f1c5", "cmp dword ptr [edi + 0x6c], ebx"]]}, {"both": [["0x1006ca88", "jae -0x21", "0x1006f1c8"], ["0x1006ca8a", "xor eax, eax", "0x1006f1ca"], ["0x1006ca8c", "pop ebp", "0x1006f1cc"], ["0x1006ca8d", "pop edi", "0x1006f1cd"], ["0x1006ca8e", "pop esi", "0x1006f1ce"], ["0x1006ca8f", "pop ebx", "0x1006f1cf"], ["0x1006ca90", "ret 4", "0x1006f1d0"]]}]]]}, {"address": "0x1006caa0", "recomp": "0x1006f200", "name": "LegoLoopingAnimPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x1006cb40", "recomp": "0x1006f2a0", "name": "LegoLoopingAnimPresenter::PutFrame", "matching": 0.7908163265306123, "diff": [["@@ -0x1006cb40,11 +0x1006f2a0,11 @@", [{"orig": [["0x1006cb40", "sub esp, 0x90"]], "recomp": [["0x1006f2a0", "sub esp, 0x94"]]}, {"both": [["0x1006cb46", "push ebx", "0x1006f2a6"], ["0x1006cb47", "push esi", "0x1006f2a7"], ["0x1006cb48", "push edi", "0x1006f2a8"], ["0x1006cb49", "push ebp", "0x1006f2a9"], ["0x1006cb4a", "mov esi, dword ptr [ecx + 0x1c]", "0x1006f2aa"], ["0x1006cb4d", "mov ebp, ecx", "0x1006f2ad"], ["0x1006cb4f", "mov ecx, esi", "0x1006f2af"], ["0x1006cb51", "mov eax, dword ptr [esi]", "0x1006f2b1"], ["0x1006cb53", "call dword ptr [eax + 0x40]", "0x1006f2b3"], ["0x1006cb56", "mov edx, 0", "0x1006f2b6"]]}]], ["@@ -0x1006cb7e,170 +0x1006f2de,170 @@", [{"both": [["0x1006cb7e", "push ecx", "0x1006f2de"], ["0x1006cb7f", "mov ecx, ebp", "0x1006f2df"], ["0x1006cb81", "call LegoAnimPresenter::FUN_1006b9a0 (FUNCTION)", "0x1006f2e1"], ["0x1006cb86", "cmp dword ptr [ebp + 0x8c], ebx", "0x1006f2e6"], ["0x1006cb8c", "je 0x227", "0x1006f2ec"], ["0x1006cb92", "mov eax, dword ptr [ebp + 0x80]", "0x1006f2f2"], ["0x1006cb98", "test eax, eax", "0x1006f2f8"], ["0x1006cb9a", "je 0x219", "0x1006f2fa"], ["0x1006cba0", "cmp dword ptr [eax + 0x98], ebx", "0x1006f300"], ["0x1006cba6", "je 0x20d", "0x1006f306"]]}, {"orig": [["0x1006cbac", "mov dword ptr [esp + 0x30], ebx"]], "recomp": [["0x1006f30c", "mov dword ptr [esp + 0x2c], ebx"]]}, {"both": [["0x1006cbb0", "cmp byte ptr [ebp + 0x94], bl", "0x1006f310"], ["0x1006cbb6", "jbe 0x1fd", "0x1006f316"], ["0x1006cbbc", "mov eax, dword ptr [ebp + 0x8c]", "0x1006f31c"], ["0x1006cbc2", "mov ecx, dword ptr [eax + ebx]", "0x1006f322"], ["0x1006cbc5", "test ecx, ecx", "0x1006f325"], ["0x1006cbc7", "je 0x1d3", "0x1006f327"]]}, {"orig": [["0x1006cbcd", "mov dword ptr [esp + 0x44], MxMatrix::`vftable' (VTABLE)"], ["0x1006cbd5", "lea eax, [esp + 0x4c]"]], "recomp": [["0x1006f32d", "mov dword ptr [esp + 0x48], MxMatrix::`vftable' (VTABLE)"], ["0x1006f335", "lea eax, [esp + 0x50]"]]}, {"both": [["0x1006cbd9", "mov edi, eax", "0x1006f339"]]}, {"orig": [["0x1006cbdb", "mov dword ptr [esp + 0x48], eax"]], "recomp": [["0x1006f33b", "mov dword ptr [esp + 0x4c], eax"]]}, {"both": [["0x1006cbdf", "mov esi, dword ptr [ecx + 0x14]", "0x1006f33f"], ["0x1006cbe2", "mov ecx, 0x10", "0x1006f342"], ["0x1006cbe7", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1006f347"]]}, {"orig": [["0x1006cbe9", "mov eax, dword ptr [esp + 0x48]"], ["0x1006cbed", "mov ecx, dword ptr [esp + 0x48]"]], "recomp": [["0x1006f349", "mov eax, dword ptr [esp + 0x4c]"], ["0x1006f34d", "mov edx, dword ptr [esp + 0x4c]"], ["0x1006f351", "add edx, 4"], ["0x1006f354", "mov ecx, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006cbf1", "add ecx, 8", "0x1006f358"], ["0x1006cbf4", "mov dword ptr [esp + 0x24], eax", "0x1006f35b"], ["0x1006cbf8", "mov dword ptr [esp + 0x20], Vector3::`vftable' (VTABLE)", "0x1006f35f"], ["0x1006cc00", "mov dword ptr [esp + 0x18], Vector3::`vftable' (VTABLE)", "0x1006f367"], ["0x1006cc08", "mov dword ptr [esp + 0x10], Vector3::`vftable' (VTABLE)", "0x1006f36f"], ["0x1006cc10", "add eax, 0x10", "0x1006f377"], ["0x1006cc13", "mov dword ptr [esp + 0x1c], eax", "0x1006f37a"]]}, {"orig": [["0x1006cc17", "mov eax, dword ptr [esp + 0x48]"]], "recomp": [["0x1006f37e", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006cc1b", "add eax, 0x20", "0x1006f382"]]}, {"orig": [["0x1006cc1e", "mov edx, dword ptr [esp + 0x1c]"], ["0x1006cc22", "add edx, 8"]], "recomp": []}, {"both": [["0x1006cc25", "mov dword ptr [esp + 0x14], eax", "0x1006f385"]]}, {"orig": [["0x1006cc29", "fld dword ptr [ecx]"], ["0x1006cc2b", "fmul dword ptr [ecx]"], ["0x1006cc2d", "mov eax, dword ptr [esp + 0x48]"], ["0x1006cc31", "mov ecx, dword ptr [esp + 0x48]"]], "recomp": [["0x1006f389", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006cc35", "add eax, 0x30", "0x1006f38d"]]}, {"orig": [["0x1006cc38", "mov dword ptr [esp + 0x40], eax"], ["0x1006cc3c", "mov eax, dword ptr [esp + 0x48]"], ["0x1006cc40", "add eax, 4"]], "recomp": [["0x1006f390", "mov dword ptr [esp + 0x44], eax"], ["0x1006f394", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x1006cc43", "fld dword ptr [eax]", "0x1006f398"], ["0x1006cc45", "fmul dword ptr [eax]", "0x1006f39a"]]}, {"orig": [], "recomp": [["0x1006f39c", "fld dword ptr [edx]"], ["0x1006f39e", "fmul dword ptr [edx]"], ["0x1006f3a0", "mov edx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1006cc47", "mov eax, dword ptr [esp + 0x1c]", "0x1006f3a4"]]}, {"orig": [], "recomp": [["0x1006f3a8", "add edx, 4"]]}, {"both": [["0x1006cc4b", "faddp st(1)", "0x1006f3ab"], ["0x1006cc4d", "fld dword ptr [ecx]", "0x1006f3ad"], ["0x1006cc4f", "fmul dword ptr [ecx]", "0x1006f3af"], ["0x1006cc51", "mov ecx, dword ptr [esp + 0x1c]", "0x1006f3b1"]]}, {"orig": [["0x1006cc55", "add ecx, 4"]], "recomp": [["0x1006f3b5", "add ecx, 8"]]}, {"both": [["0x1006cc58", "faddp st(1)", "0x1006f3b8"], ["0x1006cc5a", "fsqrt ", "0x1006f3ba"]]}, {"orig": [["0x1006cc5c", "fstp dword ptr [esp + 0x34]"]], "recomp": [["0x1006f3bc", "fstp dword ptr [esp + 0x38]"]]}, {"both": [["0x1006cc60", "fld dword ptr [eax]", "0x1006f3c0"], ["0x1006cc62", "fmul dword ptr [eax]", "0x1006f3c2"]]}, {"orig": [], "recomp": [["0x1006f3c4", "fld dword ptr [edx]"], ["0x1006f3c6", "fmul dword ptr [edx]"], ["0x1006f3c8", "mov edx, dword ptr [esp + 0x14]"], ["0x1006f3cc", "mov eax, dword ptr [esp + 0x14]"], ["0x1006f3d0", "add edx, 4"], ["0x1006f3d3", "faddp st(1)"]]}, {"both": [["0x1006cc64", "fld dword ptr [ecx]", "0x1006f3d5"], ["0x1006cc66", "fmul dword ptr [ecx]", "0x1006f3d7"], ["0x1006cc68", "mov ecx, dword ptr [esp + 0x14]", "0x1006f3d9"]]}, {"orig": [["0x1006cc6c", "mov eax, dword ptr [esp + 0x14]"]], "recomp": []}, {"both": [["0x1006cc70", "add ecx, 8", "0x1006f3dd"], ["0x1006cc73", "faddp st(1)", "0x1006f3e0"]]}, {"orig": [["0x1006cc75", "fld dword ptr [edx]"], ["0x1006cc77", "fmul dword ptr [edx]"], ["0x1006cc79", "mov edx, dword ptr [esp + 0x14]"], ["0x1006cc7d", "add edx, 4"], ["0x1006cc80", "faddp st(1)"]], "recomp": []}, {"both": [["0x1006cc82", "fsqrt ", "0x1006f3e2"]]}, {"orig": [["0x1006cc84", "fstp dword ptr [esp + 0x2c]"]], "recomp": [["0x1006f3e4", "fstp dword ptr [esp + 0x28]"]]}, {"both": [["0x1006cc88", "fld dword ptr [eax]", "0x1006f3e8"], ["0x1006cc8a", "fmul dword ptr [eax]", "0x1006f3ea"], ["0x1006cc8c", "fld dword ptr [edx]", "0x1006f3ec"], ["0x1006cc8e", "fmul dword ptr [edx]", "0x1006f3ee"], ["0x1006cc90", "faddp st(1)", "0x1006f3f0"], ["0x1006cc92", "fld dword ptr [ecx]", "0x1006f3f2"], ["0x1006cc94", "fmul dword ptr [ecx]", "0x1006f3f4"], ["0x1006cc96", "faddp st(1)", "0x1006f3f6"], ["0x1006cc98", "fsqrt ", "0x1006f3f8"]]}, {"orig": [["0x1006cc9a", "fstp dword ptr [esp + 0x38]"], ["0x1006cc9e", "mov ecx, dword ptr [esp + 0x40]"]], "recomp": [["0x1006f3fa", "fstp dword ptr [esp + 0x3c]"], ["0x1006f3fe", "mov ecx, dword ptr [esp + 0x44]"]]}, {"both": [["0x1006cca2", "push ecx", "0x1006f402"], ["0x1006cca3", "lea ecx, [esp + 0x14]", "0x1006f403"], ["0x1006cca7", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x1006f407"]]}, {"orig": [["0x1006ccad", "lea ecx, [esp + 0x8c]"]], "recomp": [["0x1006f40d", "lea ecx, [esp + 0x90]"]]}, {"both": [["0x1006ccb4", "mov edx, dword ptr [ebp + 0x80]", "0x1006f414"], ["0x1006ccba", "push ecx", "0x1006f41a"], ["0x1006ccbb", "mov ecx, dword ptr [edx + 0x98]", "0x1006f41b"], ["0x1006ccc1", "call LegoCameraController::GetWorldLocation (FUNCTION)", "0x1006f421"], ["0x1006ccc6", "mov esi, dword ptr [esp + 0x10]", "0x1006f426"], ["0x1006ccca", "lea ecx, [esp + 0x10]", "0x1006f42a"], ["0x1006ccce", "push eax", "0x1006f42e"], ["0x1006cccf", "call dword ptr [esi + 0x54]", "0x1006f42f"]]}, {"orig": [["0x1006ccd2", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x1006f432", "lea ecx, [esp + 0x28]"]]}, {"both": [["0x1006ccd6", "mov eax, dword ptr [esp + 0x18]", "0x1006f436"], ["0x1006ccda", "push ecx", "0x1006f43a"], ["0x1006ccdb", "lea ecx, [esp + 0x1c]", "0x1006f43b"], ["0x1006ccdf", "call dword ptr [eax + 0x68]", "0x1006f43f"], ["0x1006cce2", "mov ecx, dword ptr [esp + 0x14]", "0x1006f442"], ["0x1006cce6", "mov edx, dword ptr [esp + 0x1c]", "0x1006f446"], ["0x1006ccea", "mov eax, dword ptr [esp + 0x20]", "0x1006f44a"], ["0x1006ccee", "push ecx", "0x1006f44e"], ["0x1006ccef", "lea ecx, [esp + 0x24]", "0x1006f44f"], ["0x1006ccf3", "push edx", "0x1006f453"], ["0x1006ccf4", "call dword ptr [eax + 0x74]", "0x1006f454"], ["0x1006ccf7", "lea ecx, [esp + 0x20]", "0x1006f457"], ["0x1006ccfb", "mov esi, dword ptr [esp + 0x20]", "0x1006f45b"], ["0x1006ccff", "call dword ptr [esi + 0x40]", "0x1006f45f"], ["0x1006cd02", "fcom dword ptr [0.0 (FLOAT)]", "0x1006f462"]]}, {"orig": [["0x1006cd08", "fstp dword ptr [esp + 0x28]"]], "recomp": [["0x1006f468", "fstp dword ptr [esp + 0x30]"]]}, {"both": [["0x1006cd0c", "fnstsw ax", "0x1006f46c"], ["0x1006cd0e", "test ah, 0x41", "0x1006f46e"], ["0x1006cd11", "jne 0x27", "0x1006f471"]]}, {"orig": [["0x1006cd13", "fld dword ptr [esp + 0x28]"]], "recomp": [["0x1006f473", "fld dword ptr [esp + 0x30]"]]}, {"both": [["0x1006cd17", "fsqrt ", "0x1006f477"], ["0x1006cd19", "fcom dword ptr [0.0 (FLOAT)]", "0x1006f479"]]}, {"orig": [["0x1006cd1f", "fstp dword ptr [esp + 0x28]"]], "recomp": [["0x1006f47f", "fstp dword ptr [esp + 0x34]"]]}, {"both": [["0x1006cd23", "fnstsw ax", "0x1006f483"], ["0x1006cd25", "test ah, 0x41", "0x1006f485"], ["0x1006cd28", "jne 0x10", "0x1006f488"]]}, {"orig": [["0x1006cd2a", "lea eax, [esp + 0x28]"]], "recomp": [["0x1006f48a", "lea eax, [esp + 0x34]"]]}, {"both": [["0x1006cd2e", "lea ecx, [esp + 0x20]", "0x1006f48e"], ["0x1006cd32", "mov esi, dword ptr [esp + 0x20]", "0x1006f492"], ["0x1006cd36", "push eax", "0x1006f496"], ["0x1006cd37", "call dword ptr [esi + 0x14]", "0x1006f497"], ["0x1006cd3a", "mov eax, dword ptr [esp + 0x1c]", "0x1006f49a"], ["0x1006cd3e", "mov ecx, dword ptr [esp + 0x24]", "0x1006f49e"], ["0x1006cd42", "mov esi, dword ptr [esp + 0x10]", "0x1006f4a2"], ["0x1006cd46", "push eax", "0x1006f4a6"], ["0x1006cd47", "push ecx", "0x1006f4a7"], ["0x1006cd48", "lea ecx, [esp + 0x18]", "0x1006f4a8"], ["0x1006cd4c", "call dword ptr [esi + 0x74]", "0x1006f4ac"]]}, {"orig": [["0x1006cd4f", "lea ecx, [esp + 0x34]"]], "recomp": [["0x1006f4af", "lea ecx, [esp + 0x38]"]]}, {"both": [["0x1006cd53", "mov eax, dword ptr [esp + 0x20]", "0x1006f4b3"], ["0x1006cd57", "push ecx", "0x1006f4b7"], ["0x1006cd58", "lea ecx, [esp + 0x24]", "0x1006f4b8"], ["0x1006cd5c", "call dword ptr [eax + 0x5c]", "0x1006f4bc"]]}, {"orig": [["0x1006cd5f", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x1006f4bf", "lea ecx, [esp + 0x28]"]]}, {"both": [["0x1006cd63", "mov esi, dword ptr [esp + 0x18]", "0x1006f4c3"], ["0x1006cd67", "push ecx", "0x1006f4c7"], ["0x1006cd68", "lea ecx, [esp + 0x1c]", "0x1006f4c8"], ["0x1006cd6c", "call dword ptr [esi + 0x5c]", "0x1006f4cc"]]}, {"orig": [["0x1006cd6f", "lea ecx, [esp + 0x38]"]], "recomp": [["0x1006f4cf", "lea ecx, [esp + 0x3c]"]]}, {"both": [["0x1006cd73", "mov eax, dword ptr [esp + 0x10]", "0x1006f4d3"], ["0x1006cd77", "push ecx", "0x1006f4d7"], ["0x1006cd78", "lea ecx, [esp + 0x14]", "0x1006f4d8"], ["0x1006cd7c", "call dword ptr [eax + 0x5c]", "0x1006f4dc"]]}, {"orig": [["0x1006cd7f", "lea ecx, [esp + 0x44]"]], "recomp": [["0x1006f4df", "lea ecx, [esp + 0x48]"]]}, {"both": [["0x1006cd83", "mov edx, dword ptr [ebp + 0x8c]", "0x1006f4e3"], ["0x1006cd89", "push ecx", "0x1006f4e9"], ["0x1006cd8a", "mov ecx, dword ptr [edx + ebx]", "0x1006f4ea"], ["0x1006cd8d", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x1006f4ed"], ["0x1006cd92", "mov edx, dword ptr [ebp + 0x8c]", "0x1006f4f2"], ["0x1006cd98", "mov ecx, dword ptr [edx + ebx]", "0x1006f4f8"], ["0x1006cd9b", "mov eax, dword ptr [ecx]", "0x1006f4fb"], ["0x1006cd9d", "call dword ptr [eax + 0x14]", "0x1006f4fd"], ["0x1006cda0", "add ebx, 4", "0x1006f500"], ["0x1006cda3", "xor eax, eax", "0x1006f503"], ["0x1006cda5", "mov al, byte ptr [ebp + 0x94]", "0x1006f505"]]}, {"orig": [["0x1006cdab", "inc dword ptr [esp + 0x30]"], ["0x1006cdaf", "cmp eax, dword ptr [esp + 0x30]"]], "recomp": [["0x1006f50b", "inc dword ptr [esp + 0x2c]"], ["0x1006f50f", "cmp eax, dword ptr [esp + 0x2c]"]]}, {"both": [["0x1006cdb3", "jg -0x1fd", "0x1006f513"], ["0x1006cdb9", "pop ebp", "0x1006f519"], ["0x1006cdba", "pop edi", "0x1006f51a"], ["0x1006cdbb", "pop esi", "0x1006f51b"], ["0x1006cdbc", "pop ebx", "0x1006f51c"]]}, {"orig": [["0x1006cdbd", "add esp, 0x90"]], "recomp": [["0x1006f51d", "add esp, 0x94"]]}, {"both": [["0x1006cdc3", "ret ", "0x1006f523"]]}]]]}, {"address": "0x1006cdd0", "recomp": "0x1006f530", "name": "LegoLocomotionAnimPresenter::LegoLocomotionAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x1006ce50", "recomp": "0x1006f5b0", "name": "LegoLocomotionAnimPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1006ce60", "recomp": "0x1006f5c0", "name": "LegoLocomotionAnimPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1006cfe0", "recomp": "0x1006f740", "name": "LegoLocomotionAnimPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1006d000", "recomp": "0x1006f760", "name": "LegoLoopingAnimPresenter::~LegoLoopingAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x1006d050", "recomp": "0x1006f7b0", "name": "LegoLocomotionAnimPresenter::~LegoLocomotionAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x1006d0b0", "recomp": "0x1006f810", "name": "LegoLocomotionAnimPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x1006d0e0", "recomp": "0x1006f840", "name": "LegoLocomotionAnimPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006d140", "recomp": "0x1006f8a0", "name": "LegoLocomotionAnimPresenter::CreateAnim", "matching": 1.0, "diff": []}, {"address": "0x1006d160", "recomp": "0x1006f8c0", "name": "LegoLocomotionAnimPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1006d250", "recomp": "0x1006f9b0", "name": "MxCollection<LegoROI * *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1006d260", "recomp": "0x1006f9c0", "name": "MxCollection<LegoROI * *>::~MxCollection<LegoROI * *>", "matching": 1.0, "diff": []}, {"address": "0x1006d2b0", "recomp": "0x1006fa10", "name": "MxCollection<LegoROI * *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006d2c0", "recomp": "0x1006fa20", "name": "MxList<LegoROI * *>::~MxList<LegoROI * *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006d2c9,33 +0x1006fa29,33 @@", [{"both": [["0x1006d2c9", "push -1", "0x1006fa29"], ["0x1006d2cb", "push <OFFSET1>", "0x1006fa2b"], ["0x1006d2d0", "push eax", "0x1006fa30"], ["0x1006d2d1", "mov dword ptr fs:[0], esp", "0x1006fa31"], ["0x1006d2d8", "mov dword ptr [ecx], MxList<LegoROI **>::`vftable' (VTABLE)", "0x1006fa38"], ["0x1006d2de", "sub esp, 4", "0x1006fa3e"], ["0x1006d2e1", "mov dword ptr [ebp - 0x10], ecx", "0x1006fa41"], ["0x1006d2e4", "mov dword ptr [ebp - 4], 0", "0x1006fa44"], ["0x1006d2eb", "push esi", "0x1006fa4b"], ["0x1006d2ec", "push edi", "0x1006fa4c"]]}, {"orig": [["0x1006d2ed", "mov esi, dword ptr [ecx + 0x10]"], ["0x1006d2f0", "test esi, esi"]], "recomp": [["0x1006fa4d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1006fa50", "test edi, edi"]]}, {"both": [["0x1006d2f2", "je 0x1c", "0x1006fa52"]]}, {"orig": [["0x1006d2f4", "mov edi, dword ptr [esi + 8]"], ["0x1006d2f7", "mov eax, dword ptr [esi]"]], "recomp": [["0x1006fa54", "mov esi, dword ptr [edi + 8]"], ["0x1006fa57", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1006d2f9", "push eax", "0x1006fa59"], ["0x1006d2fa", "mov ecx, dword ptr [ebp - 0x10]", "0x1006fa5a"], ["0x1006d2fd", "call dword ptr [ecx + 0xc]", "0x1006fa5d"], ["0x1006d300", "add esp, 4", "0x1006fa60"]]}, {"orig": [["0x1006d303", "push esi"]], "recomp": [["0x1006fa63", "push edi"]]}, {"both": [["0x1006d304", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006fa64"], ["0x1006d309", "add esp, 4", "0x1006fa69"]]}, {"orig": [["0x1006d30c", "mov esi, edi"]], "recomp": [["0x1006fa6c", "mov edi, esi"]]}, {"both": [["0x1006d30e", "jmp -0x20", "0x1006fa6e"], ["0x1006d310", "xor eax, eax", "0x1006fa70"], ["0x1006d312", "mov ecx, dword ptr [ebp - 0x10]", "0x1006fa72"], ["0x1006d315", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006fa75"], ["0x1006d31c", "mov dword ptr [ecx + 8], eax", "0x1006fa7c"], ["0x1006d31f", "mov dword ptr [ecx + 0x14], eax", "0x1006fa7f"], ["0x1006d322", "mov dword ptr [ecx + 0x10], eax", "0x1006fa82"], ["0x1006d325", "call <OFFSET4>", "0x1006fa85"], ["0x1006d32a", "mov eax, dword ptr [ebp - 0xc]", "0x1006fa8a"], ["0x1006d32d", "pop edi", "0x1006fa8d"]]}]]]}, {"address": "0x1006d350", "recomp": "0x1006fab0", "name": "MxPtrList<LegoROI *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006d360", "recomp": "0x1006fac0", "name": "LegoROIMapList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1006d3d0", "recomp": "0x1006fb30", "name": "MxPtrList<LegoROI *>::~MxPtrList<LegoROI *>", "matching": 1.0, "diff": []}, {"address": "0x1006d420", "recomp": "0x1006fb80", "name": "MxCollection<LegoROI * *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1006d490", "recomp": "0x1006fbf0", "name": "MxList<LegoROI * *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006d499,33 +0x1006fbf9,33 @@", [{"both": [["0x1006d499", "push -1", "0x1006fbf9"], ["0x1006d49b", "push <OFFSET1>", "0x1006fbfb"], ["0x1006d4a0", "push eax", "0x1006fc00"], ["0x1006d4a1", "mov dword ptr fs:[0], esp", "0x1006fc01"], ["0x1006d4a8", "mov dword ptr [ecx], MxList<LegoROI **>::`vftable' (VTABLE)", "0x1006fc08"], ["0x1006d4ae", "sub esp, 4", "0x1006fc0e"], ["0x1006d4b1", "mov dword ptr [ebp - 0x10], ecx", "0x1006fc11"], ["0x1006d4b4", "mov dword ptr [ebp - 4], 0", "0x1006fc14"], ["0x1006d4bb", "push esi", "0x1006fc1b"], ["0x1006d4bc", "push edi", "0x1006fc1c"]]}, {"orig": [["0x1006d4bd", "mov esi, dword ptr [ecx + 0x10]"], ["0x1006d4c0", "test esi, esi"]], "recomp": [["0x1006fc1d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1006fc20", "test edi, edi"]]}, {"both": [["0x1006d4c2", "je 0x1c", "0x1006fc22"]]}, {"orig": [["0x1006d4c4", "mov edi, dword ptr [esi + 8]"], ["0x1006d4c7", "mov eax, dword ptr [esi]"]], "recomp": [["0x1006fc24", "mov esi, dword ptr [edi + 8]"], ["0x1006fc27", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1006d4c9", "push eax", "0x1006fc29"], ["0x1006d4ca", "mov ecx, dword ptr [ebp - 0x10]", "0x1006fc2a"], ["0x1006d4cd", "call dword ptr [ecx + 0xc]", "0x1006fc2d"], ["0x1006d4d0", "add esp, 4", "0x1006fc30"]]}, {"orig": [["0x1006d4d3", "push esi"]], "recomp": [["0x1006fc33", "push edi"]]}, {"both": [["0x1006d4d4", "call ??3@YAXPAX@Z (FUNCTION)", "0x1006fc34"], ["0x1006d4d9", "add esp, 4", "0x1006fc39"]]}, {"orig": [["0x1006d4dc", "mov esi, edi"]], "recomp": [["0x1006fc3c", "mov edi, esi"]]}, {"both": [["0x1006d4de", "jmp -0x20", "0x1006fc3e"], ["0x1006d4e0", "xor eax, eax", "0x1006fc40"], ["0x1006d4e2", "mov ecx, dword ptr [ebp - 0x10]", "0x1006fc42"], ["0x1006d4e5", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006fc45"], ["0x1006d4ec", "mov dword ptr [ecx + 8], eax", "0x1006fc4c"], ["0x1006d4ef", "mov dword ptr [ecx + 0x14], eax", "0x1006fc4f"], ["0x1006d4f2", "mov dword ptr [ecx + 0x10], eax", "0x1006fc52"], ["0x1006d4f5", "call <OFFSET4>", "0x1006fc55"], ["0x1006d4fa", "test byte ptr [ebp + 8], 1", "0x1006fc5a"], ["0x1006d4fe", "je 0xc", "0x1006fc5e"]]}]]]}, {"address": "0x1006d540", "recomp": "0x1006fca0", "name": "MxPtrList<LegoROI *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1006d5b0", "recomp": "0x1006fd10", "name": "LegoLocomotionAnimPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006d5c0", "recomp": "0x1006fd20", "name": "LegoLocomotionAnimPresenter::PutFrame", "matching": 1.0, "diff": []}, {"address": "0x1006d5d0", "recomp": "0x1006fd30", "name": "LegoLocomotionAnimPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x1006d610", "recomp": "0x1006fd70", "name": "LegoLocomotionAnimPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1006d660", "recomp": "0x1006fdc0", "name": "LegoLocomotionAnimPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x1006d670", "recomp": "0x1006fdd0", "name": "LegoLocomotionAnimPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x1006d680", "recomp": "0x1006fde0", "name": "LegoLocomotionAnimPresenter::FUN_1006d680", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006d6e1,48 +0x1006fe41,48 @@", [{"both": [["0x1006d6e1", "push ecx", "0x1006fe41"], ["0x1006d6e2", "mov ecx, dword ptr [ebp - 0x14]", "0x1006fe42"], ["0x1006d6e5", "call MxVariableTable::SetVariable (FUNCTION)", "0x1006fe45"], ["0x1006d6ea", "mov ecx, esi", "0x1006fe4a"], ["0x1006d6ec", "call LegoAnimPresenter::FUN_100695c0 (FUNCTION)", "0x1006fe4c"], ["0x1006d6f1", "mov ecx, esi", "0x1006fe51"], ["0x1006d6f3", "call LegoAnimPresenter::FUN_10069b10 (FUNCTION)", "0x1006fe53"], ["0x1006d6f8", "mov eax, dword ptr [esi + 0x68]", "0x1006fe58"], ["0x1006d6fb", "test eax, eax", "0x1006fe5b"], ["0x1006d6fd", "je 0x70", "0x1006fe5d"]]}, {"orig": [["0x1006d6ff", "mov edi, dword ptr [esi + 0xc8]"]], "recomp": [["0x1006fe5f", "mov ebx, dword ptr [esi + 0xc8]"]]}, {"both": [["0x1006d705", "push 0xc", "0x1006fe65"], ["0x1006d707", "mov dword ptr [ebp - 0x20], eax", "0x1006fe67"]]}, {"orig": [["0x1006d70a", "mov ebx, dword ptr [edi + 0x14]"]], "recomp": [["0x1006fe6a", "mov edi, dword ptr [ebx + 0x14]"]]}, {"both": [["0x1006d70d", "call ??2@YAPAXI@Z (FUNCTION)", "0x1006fe6d"], ["0x1006d712", "add esp, 4", "0x1006fe72"], ["0x1006d715", "mov dword ptr [ebp - 0x10], eax", "0x1006fe75"], ["0x1006d718", "mov byte ptr [ebp - 4], 1", "0x1006fe78"], ["0x1006d71c", "test eax, eax", "0x1006fe7c"], ["0x1006d71e", "je 0x18", "0x1006fe7e"], ["0x1006d720", "mov ecx, eax", "0x1006fe80"], ["0x1006d722", "mov eax, dword ptr [ebp - 0x20]", "0x1006fe82"], ["0x1006d725", "mov dword ptr [ecx], eax", "0x1006fe85"], ["0x1006d727", "mov ecx, dword ptr [ebp - 0x10]", "0x1006fe87"], ["0x1006d72a", "mov eax, ecx", "0x1006fe8a"]]}, {"orig": [["0x1006d72c", "mov dword ptr [ecx + 4], ebx"]], "recomp": [["0x1006fe8c", "mov dword ptr [ecx + 4], edi"]]}, {"both": [["0x1006d72f", "mov dword ptr [ecx + 8], 0", "0x1006fe8f"], ["0x1006d736", "jmp 0x2", "0x1006fe96"], ["0x1006d738", "xor eax, eax", "0x1006fe98"], ["0x1006d73a", "mov byte ptr [ebp - 4], 0", "0x1006fe9a"]]}, {"orig": [["0x1006d73e", "test ebx, ebx"]], "recomp": [["0x1006fe9e", "test edi, edi"]]}, {"both": [["0x1006d740", "je 0x5", "0x1006fea0"]]}, {"orig": [["0x1006d742", "mov dword ptr [ebx + 8], eax"]], "recomp": [["0x1006fea2", "mov dword ptr [edi + 8], eax"]]}, {"both": [["0x1006d745", "jmp 0x3", "0x1006fea5"]]}, {"orig": [["0x1006d747", "mov dword ptr [edi + 0x10], eax"]], "recomp": [["0x1006fea7", "mov dword ptr [ebx + 0x10], eax"]]}, {"both": [["0x1006d74a", "mov edx, dword ptr [ebp + 0xc]", "0x1006feaa"]]}, {"orig": [["0x1006d74d", "mov dword ptr [edi + 0x14], eax"], ["0x1006d750", "inc dword ptr [edi + 8]"]], "recomp": [["0x1006fead", "mov dword ptr [ebx + 0x14], eax"], ["0x1006feb0", "inc dword ptr [ebx + 8]"]]}, {"both": [["0x1006d753", "mov eax, dword ptr [esi + 0x6c]", "0x1006feb3"], ["0x1006d756", "mov ecx, dword ptr [esi + 0x68]", "0x1006feb6"], ["0x1006d759", "push eax", "0x1006feb9"], ["0x1006d75a", "push ecx", "0x1006feba"], ["0x1006d75b", "push edx", "0x1006febb"], ["0x1006d75c", "mov eax, dword ptr [esi + 0x64]", "0x1006febc"], ["0x1006d75f", "push eax", "0x1006febf"], ["0x1006d760", "mov ecx, dword ptr [ebp + 8]", "0x1006fec0"], ["0x1006d763", "mov ebx, dword ptr [ecx]", "0x1006fec3"], ["0x1006d765", "call dword ptr [ebx + 8]", "0x1006fec5"]]}]]]}, {"address": "0x1006d7e0", "recomp": "0x1006ff40", "name": "LegoHideAnimPresenter::LegoHideAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x1006d860", "recomp": "0x10070130", "name": "LegoHideAnimPresenter::VTable0x8c", "matching": 1.0, "diff": []}, {"address": "0x1006d870", "recomp": "0x10070140", "name": "LegoHideAnimPresenter::VTable0x90", "matching": 1.0, "diff": []}, {"address": "0x1006d880", "recomp": "0x1006ffc0", "name": "LegoHideAnimPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1006d890", "recomp": "0x1006ffd0", "name": "LegoHideAnimPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1006d9d0", "recomp": "0x10070110", "name": "LegoHideAnimPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1006d9f0", "recomp": "0x10070150", "name": "LegoHideAnimPresenter::~LegoHideAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x1006da50", "recomp": "0x100701b0", "name": "LegoHideAnimPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x1006da60", "recomp": "0x100701c0", "name": "LegoHideAnimPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006dab0", "recomp": "0x10070210", "name": "LegoHideAnimPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1006dac0", "recomp": "0x10070220", "name": "LegoHideAnimPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1006dad0", "recomp": "0x10070230", "name": "LegoHideAnimPresenter::PutFrame", "matching": 1.0, "diff": []}, {"address": "0x1006dae0", "recomp": "0x10070240", "name": "LegoHideAnimPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x1006db20", "recomp": "0x10070280", "name": "LegoHideAnimPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x1006db40", "recomp": "0x100702a0", "name": "LegoHideAnimPresenter::FUN_1006db40", "matching": 1.0, "diff": []}, {"address": "0x1006db60", "recomp": "0x100702c0", "name": "LegoHideAnimPresenter::FUN_1006db60", "matching": 0.5714285714285714, "diff": [["@@ -0x1006db60,63 +0x100702c0,63 @@", [{"both": [["0x1006db60", "sub esp, 8", "0x100702c0"], ["0x1006db63", "mov dword ptr [esp + 4], ecx", "0x100702c3"], ["0x1006db67", "push ebx", "0x100702c7"], ["0x1006db68", "push esi", "0x100702c8"], ["0x1006db69", "mov eax, dword ptr [ecx + 0x68]", "0x100702c9"]]}, {"orig": [["0x1006db6c", "mov esi, dword ptr [esp + 0x14]"]], "recomp": []}, {"both": [["0x1006db70", "push edi", "0x100702cc"]]}, {"orig": [], "recomp": [["0x100702cd", "test eax, eax"], ["0x100702cf", "mov edi, dword ptr [esp + 0x18]"]]}, {"both": [["0x1006db71", "push ebp", "0x100702d3"]]}, {"orig": [["0x1006db72", "test eax, eax"], ["0x1006db74", "mov ebp, dword ptr [esi + 4]"]], "recomp": [["0x100702d4", "mov ebx, dword ptr [edi + 4]"]]}, {"both": [["0x1006db77", "je 0x27", "0x100702d7"], ["0x1006db79", "xor ecx, ecx", "0x100702d9"]]}, {"orig": [["0x1006db7b", "mov edi, dword ptr [esp + 0x20]"], ["0x1006db7f", "mov cx, word ptr [ebp + 0x20]"], ["0x1006db83", "mov ebx, dword ptr [eax + ecx*4]"], ["0x1006db86", "test ebx, ebx"]], "recomp": [["0x100702db", "mov esi, dword ptr [esp + 0x20]"], ["0x100702df", "mov cx, word ptr [ebx + 0x20]"], ["0x100702e3", "mov ebp, dword ptr [eax + ecx*4]"], ["0x100702e6", "test ebp, ebp"]]}, {"both": [["0x1006db88", "je 0x1a", "0x100702e8"], ["0x1006db8a", "fild dword ptr [esp + 0x20]", "0x100702ea"], ["0x1006db8e", "sub esp, 4", "0x100702ee"]]}, {"orig": [["0x1006db91", "mov ecx, ebp"]], "recomp": [["0x100702f1", "mov ecx, ebx"]]}, {"both": [["0x1006db93", "fstp dword ptr [esp]", "0x100702f3"], ["0x1006db96", "call LegoAnimNodeData::FUN_100a0990 (FUNCTION)", "0x100702f6"]]}, {"orig": [["0x1006db9b", "mov byte ptr [ebx + 0xc], al"]], "recomp": [["0x100702fb", "mov byte ptr [ebp + 0xc], al"]]}, {"both": [["0x1006db9e", "jmp 0x4", "0x100702fe"]]}, {"orig": [["0x1006dba0", "mov edi, dword ptr [esp + 0x20]"]], "recomp": [["0x10070300", "mov esi, dword ptr [esp + 0x20]"]]}, {"both": [["0x1006dba4", "mov eax, dword ptr [esp + 0x14]", "0x10070304"], ["0x1006dba8", "mov eax, dword ptr [eax + 0xc0]", "0x10070308"], ["0x1006dbae", "test eax, eax", "0x1007030e"]]}, {"orig": [["0x1006dbb0", "je 0x34"]], "recomp": [["0x10070310", "je 0x30"]]}, {"both": [["0x1006dbb2", "xor ecx, ecx", "0x10070312"]]}, {"orig": [["0x1006dbb4", "mov cx, word ptr [ebp + 0x22]"], ["0x1006dbb8", "mov ebx, dword ptr [eax + ecx*4]"], ["0x1006dbbb", "test ebx, ebx"], ["0x1006dbbd", "je 0x27"], ["0x1006dbbf", "mov dword ptr [esp + 0x10], edi"]], "recomp": [["0x10070314", "mov cx, word ptr [ebx + 0x22]"], ["0x10070318", "mov ebp, dword ptr [eax + ecx*4]"], ["0x1007031b", "test ebp, ebp"], ["0x1007031d", "je 0x23"], ["0x1007031f", "mov dword ptr [esp + 0x10], esi"]]}, {"both": [["0x1006dbc3", "sub esp, 4", "0x10070323"]]}, {"orig": [["0x1006dbc6", "mov ecx, ebp"]], "recomp": [["0x10070326", "mov ecx, ebx"]]}, {"both": [["0x1006dbc8", "fild dword ptr [esp + 0x14]", "0x10070328"], ["0x1006dbcc", "fstp dword ptr [esp]", "0x1007032c"], ["0x1006dbcf", "call LegoAnimNodeData::FUN_100a0990 (FUNCTION)", "0x1007032f"]]}, {"orig": [["0x1006dbd4", "mov cl, byte ptr [ebx + 0xc]"]], "recomp": []}, {"both": [["0x1006dbd7", "test al, al", "0x10070334"]]}, {"orig": [["0x1006dbd9", "je 0x5"], ["0x1006dbdb", "and cl, 0xef"], ["0x1006dbde", "jmp 0x3"], ["0x1006dbe0", "or cl, 0x10"], ["0x1006dbe3", "mov byte ptr [ebx + 0xc], cl"]], "recomp": [["0x10070336", "je 0x6"], ["0x10070338", "and byte ptr [ebp + 0xc], 0xef"], ["0x1007033c", "jmp 0x4"], ["0x1007033e", "or byte ptr [ebp + 0xc], 0x10"]]}, {"both": [["0x1006dbe6", "xor ebx, ebx", "0x10070342"]]}, {"orig": [["0x1006dbe8", "cmp dword ptr [esi + 8], ebx"]], "recomp": [["0x10070344", "cmp dword ptr [edi + 8], ebx"]]}, {"both": [["0x1006dbeb", "jbe 0x17", "0x10070347"]]}, {"orig": [["0x1006dbed", "push edi"], ["0x1006dbee", "mov eax, dword ptr [esi + 0xc]"]], "recomp": [["0x10070349", "push esi"], ["0x1007034a", "mov eax, dword ptr [edi + 0xc]"]]}, {"both": [["0x1006dbf1", "mov ecx, dword ptr [eax + ebx*4]", "0x1007034d"], ["0x1006dbf4", "inc ebx", "0x10070350"], ["0x1006dbf5", "push ecx", "0x10070351"], ["0x1006dbf6", "mov ecx, dword ptr [esp + 0x1c]", "0x10070352"], ["0x1006dbfa", "call LegoHideAnimPresenter::FUN_1006db60 (FUNCTION)", "0x10070356"]]}, {"orig": [["0x1006dbff", "cmp dword ptr [esi + 8], ebx"]], "recomp": [["0x1007035b", "cmp dword ptr [edi + 8], ebx"]]}, {"both": [["0x1006dc02", "ja -0x17", "0x1007035e"], ["0x1006dc04", "pop ebp", "0x10070360"], ["0x1006dc05", "pop edi", "0x10070361"], ["0x1006dc06", "pop esi", "0x10070362"], ["0x1006dc07", "pop ebx", "0x10070363"]]}, {"orig": [], "recomp": [["0x10070364", "add esp, 8"], ["0x10070367", "ret 8"]]}]]]}, {"address": "0x1006dc10", "recomp": "0x10070370", "name": "LegoHideAnimPresenter::FUN_1006dc10", "matching": 0.8906882591093117, "diff": [["@@ -0x1006dcd6,56 +0x10070436,57 @@", [{"both": [["0x1006dcd6", "lea ecx, [eax*4 + 4]", "0x10070436"], ["0x1006dcdd", "push ecx", "0x1007043d"], ["0x1006dcde", "call ??2@YAPAXI@Z (FUNCTION)", "0x1007043e"], ["0x1006dce3", "add esp, 4", "0x10070443"], ["0x1006dce6", "mov ecx, dword ptr [ebp - 0x18]", "0x10070446"], ["0x1006dce9", "mov dword ptr [ecx + 0xc0], eax", "0x10070449"], ["0x1006dcef", "mov dword ptr [eax], 0", "0x1007044f"], ["0x1006dcf5", "mov edx, dword ptr [ebp - 0x24]", "0x10070455"], ["0x1006dcf8", "mov ecx, dword ptr [edx]", "0x10070458"], ["0x1006dcfa", "mov dword ptr [ebp - 0x14], ecx", "0x1007045a"]]}, {"orig": [["0x1006dcfd", "mov eax, dword ptr [ebp - 0x24]"], ["0x1006dd00", "cmp dword ptr [ebp - 0x14], eax"], ["0x1006dd03", "je 0x63"]], "recomp": []}, {"both": [["0x1006dd05", "mov eax, dword ptr [ebp - 0x14]", "0x1007045d"]]}, {"orig": [], "recomp": [["0x10070460", "cmp dword ptr [ebp - 0x24], eax"], ["0x10070463", "je 0x65"]]}, {"both": [["0x1006dd08", "mov ecx, dword ptr [ebp - 0x18]", "0x10070465"], ["0x1006dd0b", "mov edx, dword ptr [eax + 0x10]", "0x10070468"], ["0x1006dd0e", "mov esi, dword ptr [eax + 0x14]", "0x1007046b"], ["0x1006dd11", "mov eax, dword ptr [ecx + 0xc0]", "0x1007046e"], ["0x1006dd17", "mov dword ptr [eax + esi*4], edx", "0x10070474"], ["0x1006dd1a", "mov edx, dword ptr [ebp - 0x14]", "0x10070477"], ["0x1006dd1d", "mov ecx, dword ptr [edx + 0xc]", "0x1007047a"], ["0x1006dd20", "push ecx", "0x1007047d"], ["0x1006dd21", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007047e"], ["0x1006dd26", "add esp, 4", "0x10070483"]]}, {"orig": [["0x1006dd29", "mov edx, dword ptr [ebp - 0x14]"], ["0x1006dd2c", "mov ecx, dword ptr [edx + 8]"], ["0x1006dd2f", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"], ["0x1006dd35", "je 0xe"], ["0x1006dd37", "mov eax, dword ptr [ecx]"], ["0x1006dd39", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"], ["0x1006dd3f", "je -0x47"], ["0x1006dd41", "mov ecx, eax"]], "recomp": [["0x10070486", "mov ecx, dword ptr [ebp - 0x14]"], ["0x10070489", "mov eax, dword ptr [ecx + 8]"], ["0x1007048c", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"], ["0x10070492", "je 0x13"], ["0x10070494", "mov ecx, dword ptr [eax]"], ["0x10070496", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], ecx"], ["0x1007049c", "je 0x4"], ["0x1007049e", "mov eax, ecx"]]}, {"both": [["0x1006dd43", "jmp -0xe", "0x100704a0"]]}, {"orig": [], "recomp": [["0x100704a2", "mov dword ptr [ebp - 0x14], eax"], ["0x100704a5", "jmp -0x4a"]]}, {"both": [["0x1006dd45", "mov eax, dword ptr [ebp - 0x14]", "0x100704a7"], ["0x1006dd48", "mov ecx, dword ptr [eax + 4]", "0x100704aa"], ["0x1006dd4b", "cmp dword ptr [ecx + 8], eax", "0x100704ad"], ["0x1006dd4e", "jne 0xe", "0x100704b0"], ["0x1006dd50", "mov dword ptr [ebp - 0x14], ecx", "0x100704b2"], ["0x1006dd53", "mov ecx, dword ptr [ecx + 4]", "0x100704b5"], ["0x1006dd56", "mov eax, dword ptr [ebp - 0x14]", "0x100704b8"], ["0x1006dd59", "cmp dword ptr [ecx + 8], eax", "0x100704bb"], ["0x1006dd5c", "je -0xe", "0x100704be"], ["0x1006dd5e", "mov eax, dword ptr [ebp - 0x14]", "0x100704c0"], ["0x1006dd61", "cmp dword ptr [eax + 8], ecx", "0x100704c3"]]}, {"orig": [["0x1006dd64", "je -0x69"], ["0x1006dd66", "jmp -0x6e"]], "recomp": [["0x100704c6", "je -0x6b"], ["0x100704c8", "jmp -0x70"]]}, {"both": [["0x1006dd68", "mov dword ptr [ebp - 4], 0xffffffff", "0x100704ca"], ["0x1006dd6f", "call <OFFSET7>", "0x100704d1"], ["0x1006dd74", "mov eax, dword ptr [ebp - 0xc]", "0x100704d6"], ["0x1006dd77", "pop esi", "0x100704d9"], ["0x1006dd78", "mov dword ptr fs:[0], eax", "0x100704da"], ["0x1006dd7e", "mov esp, ebp", "0x100704e0"], ["0x1006dd80", "pop ebp", "0x100704e2"], ["0x1006dd81", "ret ", "0x100704e3"], ["0x1006dd82", "lea ecx, [ebp - 0xe]", "0x100704e4"], ["0x1006dd85", "jmp _Lockit::~_Lockit (FUNCTION)", "0x100704e7"]]}]]]}, {"address": "0x1006ddb0", "recomp": "0x10070510", "name": "_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::~_Tree<char const *,pair<ch", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006ddc3,21 +0x10070523,21 @@", [{"both": [["0x1006ddc3", "mov eax, dword ptr [ecx]", "0x10070523"], ["0x1006ddc5", "mov dword ptr [esp + 0xc], eax", "0x10070525"], ["0x1006ddc9", "mov dword ptr [esp + 0x14], eax", "0x10070529"], ["0x1006ddcd", "je 0x4e", "0x1007052d"], ["0x1006ddcf", "cmp dword ptr [ecx], eax", "0x1007052f"], ["0x1006ddd1", "jne 0x4a", "0x10070531"], ["0x1006ddd3", "cmp ecx, ecx", "0x10070533"], ["0x1006ddd5", "jne 0x46", "0x10070535"], ["0x1006ddd7", "mov edi, dword ptr [ecx + 4]", "0x10070537"], ["0x1006ddda", "mov ebx, edi", "0x1007053a"]]}, {"orig": [["0x1006dddc", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], ebx"]], "recomp": [["0x1007053c", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]]}, {"both": [["0x1006dde2", "je 0x1a", "0x10070542"], ["0x1006dde4", "mov eax, dword ptr [ebx + 8]", "0x10070544"], ["0x1006dde7", "mov ecx, esi", "0x10070547"], ["0x1006dde9", "push eax", "0x10070549"], ["0x1006ddea", "call _Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Erase (FUNCTION)", "0x1007054a"], ["0x1006ddef", "mov ebx, dword ptr [ebx]", "0x1007054f"], ["0x1006ddf1", "push edi", "0x10070551"], ["0x1006ddf2", "mov edi, ebx", "0x10070552"], ["0x1006ddf4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10070554"], ["0x1006ddf9", "add esp, 4", "0x10070559"]]}]]]}, {"address": "0x1006de80", "recomp": "0x100705e0", "name": "_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006de80,16 +0x100705e0,16 @@", [{"both": [["0x1006de80", "mov eax, dword ptr [ecx]", "0x100705e0"], ["0x1006de82", "mov edx, dword ptr [eax + 8]", "0x100705e2"]]}, {"orig": [["0x1006de85", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100705e5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], edx"]]}, {"both": [["0x1006de8b", "je 0x11", "0x100705eb"], ["0x1006de8d", "mov eax, dword ptr [edx]", "0x100705ed"]]}, {"orig": [["0x1006de8f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100705ef", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006de95", "je 0x4", "0x100705f5"], ["0x1006de97", "mov edx, eax", "0x100705f7"], ["0x1006de99", "jmp -0xe", "0x100705f9"], ["0x1006de9b", "mov dword ptr [ecx], edx", "0x100705fb"], ["0x1006de9d", "ret ", "0x100705fd"], ["0x1006de9e", "mov edx, dword ptr [eax + 4]", "0x100705fe"], ["0x1006dea1", "cmp dword ptr [edx + 8], eax", "0x10070601"], ["0x1006dea4", "jne 0xc", "0x10070604"], ["0x1006dea6", "mov dword ptr [ecx], edx", "0x10070606"], ["0x1006dea8", "mov eax, edx", "0x10070608"]]}]]]}, {"address": "0x1006dec0", "recomp": "0x10070620", "name": "_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::erase", "matching": 0.746922024623803, "diff": [["@@ -0x1006dec0,63 +0x10070620,61 @@", [{"both": [["0x1006dec0", "mov eax, dword ptr [esp + 8]", "0x10070620"], ["0x1006dec4", "sub esp, 4", "0x10070624"], ["0x1006dec7", "mov dword ptr [esp], eax", "0x10070627"], ["0x1006decb", "push ebx", "0x1007062b"], ["0x1006decc", "push esi", "0x1007062c"]]}, {"orig": [["0x1006decd", "mov eax, dword ptr [eax + 8]"]], "recomp": []}, {"both": [["0x1006ded0", "push edi", "0x1007062d"]]}, {"orig": [], "recomp": [["0x1007062e", "push ebp"]]}, {"both": [["0x1006ded1", "mov esi, ecx", "0x1007062f"]]}, {"orig": [["0x1006ded3", "push ebp"], ["0x1006ded4", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"], ["0x1006deda", "je 0x14"], ["0x1006dedc", "mov ecx, dword ptr [eax]"], ["0x1006dede", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"], ["0x1006dee4", "je 0x4"], ["0x1006dee6", "mov eax, ecx"]], "recomp": [["0x10070631", "mov ecx, dword ptr [eax + 8]"], ["0x10070634", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], ecx"], ["0x1007063a", "je 0xe"], ["0x1007063c", "mov eax, dword ptr [ecx]"], ["0x1007063e", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"], ["0x10070644", "je 0x29"], ["0x10070646", "mov ecx, eax"]]}, {"both": [["0x1006dee8", "jmp -0xe", "0x10070648"]]}, {"orig": [["0x1006deea", "mov dword ptr [esp + 0x1c], eax"], ["0x1006deee", "jmp 0x29"]], "recomp": []}, {"both": [["0x1006def0", "mov eax, dword ptr [esp + 0x1c]", "0x1007064a"], ["0x1006def4", "mov ecx, dword ptr [eax + 4]", "0x1007064e"], ["0x1006def7", "cmp dword ptr [ecx + 8], eax", "0x10070651"], ["0x1006defa", "jne 0x10", "0x10070654"], ["0x1006defc", "mov dword ptr [esp + 0x1c], ecx", "0x10070656"], ["0x1006df00", "mov ecx, dword ptr [ecx + 4]", "0x1007065a"], ["0x1006df03", "mov eax, dword ptr [esp + 0x1c]", "0x1007065d"], ["0x1006df07", "cmp dword ptr [ecx + 8], eax", "0x10070661"], ["0x1006df0a", "je -0x10", "0x10070664"], ["0x1006df0c", "mov eax, dword ptr [esp + 0x1c]", "0x10070666"], ["0x1006df10", "cmp dword ptr [eax + 8], ecx", "0x1007066a"], ["0x1006df13", "je 0x4", "0x1007066d"], ["0x1006df15", "mov dword ptr [esp + 0x1c], ecx", "0x1007066f"], ["0x1006df19", "mov ecx, dword ptr [esp + 0x10]", "0x10070673"], ["0x1006df1d", "mov ebx, dword ptr [ecx]", "0x10070677"]]}, {"orig": [["0x1006df1f", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070679", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1006df25", "je 0x26", "0x1007067f"], ["0x1006df27", "lea edi, [ecx + 8]", "0x10070681"], ["0x1006df2a", "mov edx, dword ptr [edi]", "0x10070684"]]}, {"orig": [["0x1006df2c", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070686", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], edx"]]}, {"both": [["0x1006df32", "je 0x15", "0x1007068c"], ["0x1006df34", "mov eax, dword ptr [edx]", "0x1007068e"]]}, {"orig": [["0x1006df36", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070690", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006df3c", "je 0x4", "0x10070696"], ["0x1006df3e", "mov edx, eax", "0x10070698"], ["0x1006df40", "jmp -0xe", "0x1007069a"], ["0x1006df42", "mov ecx, edx", "0x1007069c"], ["0x1006df44", "mov edx, dword ptr [edx + 8]", "0x1007069e"], ["0x1006df47", "jmp 0xe", "0x100706a1"], ["0x1006df49", "mov edx, ebx", "0x100706a3"], ["0x1006df4b", "jmp 0xa", "0x100706a5"], ["0x1006df4d", "mov edi, dword ptr [esp + 0x10]", "0x100706a7"], ["0x1006df51", "mov edx, dword ptr [edi + 8]", "0x100706ab"], ["0x1006df54", "add edi, 8", "0x100706ae"]]}, {"orig": [["0x1006df57", "cmp ecx, dword ptr [esp + 0x10]"]], "recomp": [["0x100706b1", "cmp dword ptr [esp + 0x10], ecx"]]}, {"both": [["0x1006df5b", "jne 0x8f", "0x100706b5"], ["0x1006df61", "mov eax, dword ptr [ecx + 4]", "0x100706bb"], ["0x1006df64", "mov ebx, dword ptr [esp + 0x10]", "0x100706be"], ["0x1006df68", "mov dword ptr [edx + 4], eax", "0x100706c2"], ["0x1006df6b", "mov eax, dword ptr [esi + 4]", "0x100706c5"], ["0x1006df6e", "add eax, 4", "0x100706c8"], ["0x1006df71", "cmp dword ptr [eax], ebx", "0x100706cb"], ["0x1006df73", "je 0xc", "0x100706cd"], ["0x1006df75", "mov eax, dword ptr [ebx + 4]", "0x100706cf"], ["0x1006df78", "cmp dword ptr [eax], ebx", "0x100706d2"]]}]], ["@@ -0x1006df81,49 +0x100706db,49 @@", [{"both": [["0x1006df81", "mov dword ptr [eax], edx", "0x100706db"], ["0x1006df83", "mov ebx, dword ptr [esi + 4]", "0x100706dd"], ["0x1006df86", "mov eax, dword ptr [esp + 0x10]", "0x100706e0"], ["0x1006df8a", "cmp dword ptr [ebx], eax", "0x100706e4"], ["0x1006df8c", "jne 0x26", "0x100706e6"], ["0x1006df8e", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]", "0x100706e8"], ["0x1006df93", "cmp dword ptr [edi], eax", "0x100706ed"], ["0x1006df95", "je 0x14", "0x100706ef"], ["0x1006df97", "mov eax, edx", "0x100706f1"], ["0x1006df99", "mov edi, dword ptr [eax]", "0x100706f3"]]}, {"orig": [["0x1006df9b", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100706f5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], edi"]]}, {"both": [["0x1006dfa1", "je 0x4", "0x100706fb"], ["0x1006dfa3", "mov eax, edi", "0x100706fd"], ["0x1006dfa5", "jmp -0xe", "0x100706ff"], ["0x1006dfa7", "mov dword ptr [ebx], eax", "0x10070701"], ["0x1006dfa9", "jmp 0x9", "0x10070703"], ["0x1006dfab", "mov eax, dword ptr [esp + 0x10]", "0x10070705"], ["0x1006dfaf", "mov ebp, dword ptr [eax + 4]", "0x10070709"], ["0x1006dfb2", "mov dword ptr [ebx], ebp", "0x1007070c"], ["0x1006dfb4", "mov edi, dword ptr [esi + 4]", "0x1007070e"], ["0x1006dfb7", "mov eax, dword ptr [esp + 0x10]", "0x10070711"], ["0x1006dfbb", "add edi, 8", "0x10070715"], ["0x1006dfbe", "cmp dword ptr [edi], eax", "0x10070718"]]}, {"orig": [["0x1006dfc0", "jne 0x8a"]], "recomp": [["0x1007071a", "jne 0x88"]]}, {"both": [["0x1006dfc6", "mov ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]", "0x10070720"], ["0x1006dfcc", "cmp dword ptr [eax], ebx", "0x10070726"], ["0x1006dfce", "je 0x15", "0x10070728"], ["0x1006dfd0", "mov eax, edx", "0x1007072a"], ["0x1006dfd2", "mov ebx, dword ptr [eax + 8]", "0x1007072c"]]}, {"orig": [["0x1006dfd5", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1007072f", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1006dfdb", "je 0x4", "0x10070735"], ["0x1006dfdd", "mov eax, ebx", "0x10070737"], ["0x1006dfdf", "jmp -0xf", "0x10070739"], ["0x1006dfe1", "mov dword ptr [edi], eax", "0x1007073b"]]}, {"orig": [["0x1006dfe3", "jmp 0x6b"]], "recomp": [["0x1007073d", "jmp 0x69"]]}, {"both": [["0x1006dfe5", "mov eax, dword ptr [esp + 0x10]", "0x1007073f"], ["0x1006dfe9", "mov ebx, dword ptr [eax + 4]", "0x10070743"], ["0x1006dfec", "mov dword ptr [edi], ebx", "0x10070746"]]}, {"orig": [["0x1006dfee", "jmp 0x60"]], "recomp": [["0x10070748", "jmp 0x5e"]]}, {"both": [["0x1006dff0", "mov eax, dword ptr [esp + 0x10]", "0x1007074a"], ["0x1006dff4", "mov dword ptr [ebx + 4], ecx", "0x1007074e"], ["0x1006dff7", "mov ebx, dword ptr [eax]", "0x10070751"], ["0x1006dff9", "mov dword ptr [ecx], ebx", "0x10070753"], ["0x1006dffb", "cmp dword ptr [edi], ecx", "0x10070755"], ["0x1006dffd", "jne 0x5", "0x10070757"], ["0x1006dfff", "mov dword ptr [edx + 4], ecx", "0x10070759"], ["0x1006e002", "jmp 0x15", "0x1007075c"], ["0x1006e004", "mov eax, dword ptr [ecx + 4]", "0x1007075e"], ["0x1006e007", "mov dword ptr [edx + 4], eax", "0x10070761"]]}]], ["@@ -0x1006e023,192 +0x1007077d,192 @@", [{"both": [["0x1006e023", "cmp dword ptr [eax], edi", "0x1007077d"], ["0x1006e025", "je 0xc", "0x1007077f"], ["0x1006e027", "mov eax, dword ptr [edi + 4]", "0x10070781"], ["0x1006e02a", "cmp dword ptr [eax], edi", "0x10070784"], ["0x1006e02c", "je 0x5", "0x10070786"], ["0x1006e02e", "mov dword ptr [eax + 8], ecx", "0x10070788"], ["0x1006e031", "jmp 0x2", "0x1007078b"], ["0x1006e033", "mov dword ptr [eax], ecx", "0x1007078d"], ["0x1006e035", "mov eax, dword ptr [esp + 0x10]", "0x1007078f"], ["0x1006e039", "mov ebx, dword ptr [eax + 4]", "0x10070793"]]}, {"orig": [["0x1006e03c", "add eax, 0x18"]], "recomp": [["0x10070796", "lea edi, [eax + 0x18]"]]}, {"both": [["0x1006e03f", "mov dword ptr [ecx + 4], ebx", "0x10070799"]]}, {"orig": [["0x1006e042", "mov edi, dword ptr [ecx + 0x18]"], ["0x1006e045", "mov ebx, dword ptr [eax]"]], "recomp": [["0x1007079c", "mov ebx, dword ptr [edi]"], ["0x1007079e", "mov ebp, dword ptr [ecx + 0x18]"]]}, {"both": [["0x1006e047", "mov dword ptr [ecx + 0x18], ebx", "0x100707a1"]]}, {"orig": [["0x1006e04a", "mov ecx, dword ptr [esp + 0x10]"], ["0x1006e04e", "mov dword ptr [eax], edi"]], "recomp": [["0x100707a4", "mov ecx, eax"], ["0x100707a6", "mov dword ptr [edi], ebp"]]}, {"both": [["0x1006e050", "cmp dword ptr [ecx + 0x18], 1", "0x100707a8"]]}, {"orig": [["0x1006e054", "jne 0x296"]], "recomp": [["0x100707ac", "jne 0x295"]]}, {"both": [["0x1006e05a", "mov eax, dword ptr [esi + 4]", "0x100707b2"], ["0x1006e05d", "cmp dword ptr [eax + 4], edx", "0x100707b5"]]}, {"orig": [["0x1006e060", "je 0x283"]], "recomp": [["0x100707b8", "je 0x282"]]}, {"both": [["0x1006e066", "cmp dword ptr [edx + 0x18], 1", "0x100707be"]]}, {"orig": [["0x1006e06a", "jne 0x279"]], "recomp": [["0x100707c2", "jne 0x278"]]}, {"both": [["0x1006e070", "lea ebx, [edx + 4]", "0x100707c8"], ["0x1006e073", "mov eax, dword ptr [ebx]", "0x100707cb"], ["0x1006e075", "mov edi, dword ptr [eax]", "0x100707cd"], ["0x1006e077", "cmp edx, edi", "0x100707cf"], ["0x1006e079", "jne 0x76", "0x100707d1"], ["0x1006e07b", "mov edi, dword ptr [eax + 8]", "0x100707d3"], ["0x1006e07e", "cmp dword ptr [edi + 0x18], 0", "0x100707d6"], ["0x1006e082", "jne 0x52", "0x100707da"], ["0x1006e084", "mov dword ptr [edi + 0x18], 1", "0x100707dc"], ["0x1006e08b", "mov eax, dword ptr [ebx]", "0x100707e3"], ["0x1006e08d", "mov dword ptr [eax + 0x18], 0", "0x100707e5"]]}, {"orig": [["0x1006e094", "mov edi, dword ptr [ebx]"], ["0x1006e096", "mov ebp, dword ptr [edi + 8]"], ["0x1006e099", "mov eax, dword ptr [ebp]"], ["0x1006e09c", "mov dword ptr [edi + 8], eax"], ["0x1006e09f", "mov eax, dword ptr [ebp]"], ["0x1006e0a2", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100707ec", "mov eax, dword ptr [ebx]"], ["0x100707ee", "mov ebp, dword ptr [eax + 8]"], ["0x100707f1", "mov edi, dword ptr [ebp]"], ["0x100707f4", "mov dword ptr [eax + 8], edi"], ["0x100707f7", "mov edi, dword ptr [ebp]"], ["0x100707fa", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], edi"]]}, {"both": [["0x1006e0a8", "je 0x3", "0x10070800"]]}, {"orig": [["0x1006e0aa", "mov dword ptr [eax + 4], edi"], ["0x1006e0ad", "mov eax, dword ptr [edi + 4]"], ["0x1006e0b0", "mov dword ptr [ebp + 4], eax"], ["0x1006e0b3", "mov eax, dword ptr [esi + 4]"], ["0x1006e0b6", "add eax, 4"], ["0x1006e0b9", "cmp dword ptr [eax], edi"]], "recomp": [["0x10070802", "mov dword ptr [edi + 4], eax"], ["0x10070805", "mov edi, dword ptr [eax + 4]"], ["0x10070808", "mov dword ptr [ebp + 4], edi"], ["0x1007080b", "mov edi, dword ptr [esi + 4]"], ["0x1007080e", "add edi, 4"], ["0x10070811", "cmp dword ptr [edi], eax"]]}, {"both": [["0x1006e0bb", "je 0xc", "0x10070813"]]}, {"orig": [["0x1006e0bd", "mov eax, dword ptr [edi + 4]"], ["0x1006e0c0", "cmp dword ptr [eax], edi"]], "recomp": [["0x10070815", "mov edi, dword ptr [eax + 4]"], ["0x10070818", "cmp dword ptr [edi], eax"]]}, {"both": [["0x1006e0c2", "je 0x5", "0x1007081a"]]}, {"orig": [["0x1006e0c4", "mov dword ptr [eax + 8], ebp"]], "recomp": [["0x1007081c", "mov dword ptr [edi + 8], ebp"]]}, {"both": [["0x1006e0c7", "jmp 0x2", "0x1007081f"]]}, {"orig": [["0x1006e0c9", "mov dword ptr [eax], ebp"], ["0x1006e0cb", "mov dword ptr [ebp], edi"], ["0x1006e0ce", "mov dword ptr [edi + 4], ebp"]], "recomp": [["0x10070821", "mov dword ptr [edi], ebp"], ["0x10070823", "mov dword ptr [ebp], eax"], ["0x10070826", "mov dword ptr [eax + 4], ebp"]]}, {"both": [["0x1006e0d1", "mov eax, dword ptr [ebx]", "0x10070829"], ["0x1006e0d3", "mov edi, dword ptr [eax + 8]", "0x1007082b"], ["0x1006e0d6", "mov eax, dword ptr [edi]", "0x1007082e"], ["0x1006e0d8", "cmp dword ptr [eax + 0x18], 1", "0x10070830"], ["0x1006e0dc", "jne 0x98", "0x10070834"], ["0x1006e0e2", "mov eax, dword ptr [edi + 8]", "0x1007083a"], ["0x1006e0e5", "cmp dword ptr [eax + 0x18], 1", "0x1007083d"], ["0x1006e0e9", "jne 0x8b", "0x10070841"], ["0x1006e0ef", "jmp 0x6f", "0x10070847"], ["0x1006e0f1", "cmp dword ptr [edi + 0x18], 0", "0x10070849"], ["0x1006e0f5", "jne 0x50", "0x1007084d"], ["0x1006e0f7", "mov dword ptr [edi + 0x18], 1", "0x1007084f"], ["0x1006e0fe", "mov eax, dword ptr [ebx]", "0x10070856"], ["0x1006e100", "mov dword ptr [eax + 0x18], 0", "0x10070858"], ["0x1006e107", "mov edi, dword ptr [ebx]", "0x1007085f"], ["0x1006e109", "mov ebp, dword ptr [edi]", "0x10070861"], ["0x1006e10b", "mov eax, dword ptr [ebp + 8]", "0x10070863"], ["0x1006e10e", "mov dword ptr [edi], eax", "0x10070866"], ["0x1006e110", "mov eax, dword ptr [ebp + 8]", "0x10070868"]]}, {"orig": [["0x1006e113", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x1007086b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e119", "je 0x3", "0x10070871"], ["0x1006e11b", "mov dword ptr [eax + 4], edi", "0x10070873"], ["0x1006e11e", "mov eax, dword ptr [edi + 4]", "0x10070876"], ["0x1006e121", "mov dword ptr [ebp + 4], eax", "0x10070879"], ["0x1006e124", "mov eax, dword ptr [esi + 4]", "0x1007087c"], ["0x1006e127", "add eax, 4", "0x1007087f"], ["0x1006e12a", "cmp dword ptr [eax], edi", "0x10070882"], ["0x1006e12c", "je 0xd", "0x10070884"], ["0x1006e12e", "mov eax, dword ptr [edi + 4]", "0x10070886"], ["0x1006e131", "add eax, 8", "0x10070889"], ["0x1006e134", "cmp dword ptr [eax], edi", "0x1007088c"], ["0x1006e136", "je 0x3", "0x1007088e"], ["0x1006e138", "mov eax, dword ptr [edi + 4]", "0x10070890"], ["0x1006e13b", "mov dword ptr [eax], ebp", "0x10070893"], ["0x1006e13d", "mov dword ptr [ebp + 8], edi", "0x10070895"], ["0x1006e140", "mov dword ptr [edi + 4], ebp", "0x10070898"], ["0x1006e143", "mov eax, dword ptr [ebx]", "0x1007089b"], ["0x1006e145", "mov edi, dword ptr [eax]", "0x1007089d"], ["0x1006e147", "mov eax, dword ptr [edi + 8]", "0x1007089f"], ["0x1006e14a", "cmp dword ptr [eax + 0x18], 1", "0x100708a2"]]}, {"orig": [["0x1006e14e", "jne 0xe7"]], "recomp": [["0x100708a6", "jne 0xe6"]]}, {"both": [["0x1006e154", "mov eax, dword ptr [edi]", "0x100708ac"], ["0x1006e156", "cmp dword ptr [eax + 0x18], 1", "0x100708ae"]]}, {"orig": [["0x1006e15a", "jne 0xdb"]], "recomp": [["0x100708b2", "jne 0xda"]]}, {"both": [["0x1006e160", "mov dword ptr [edi + 0x18], 0", "0x100708b8"], ["0x1006e167", "mov edx, dword ptr [ebx]", "0x100708bf"], ["0x1006e169", "mov eax, dword ptr [esi + 4]", "0x100708c1"], ["0x1006e16c", "cmp dword ptr [eax + 4], edx", "0x100708c4"], ["0x1006e16f", "jne -0x10f", "0x100708c7"]]}, {"orig": [["0x1006e175", "jmp 0x16f"]], "recomp": [["0x100708cd", "jmp 0x16e"]]}, {"both": [["0x1006e17a", "mov eax, dword ptr [edi + 8]", "0x100708d2"], ["0x1006e17d", "cmp dword ptr [eax + 0x18], 1", "0x100708d5"]]}, {"orig": [["0x1006e181", "jne 0x53"]], "recomp": [["0x100708d9", "jne 0x52"]]}, {"both": [["0x1006e183", "mov eax, dword ptr [edi]", "0x100708db"], ["0x1006e185", "mov dword ptr [eax + 0x18], 1", "0x100708dd"], ["0x1006e18c", "mov dword ptr [edi + 0x18], 0", "0x100708e4"], ["0x1006e193", "mov ebx, dword ptr [edi]", "0x100708eb"], ["0x1006e195", "mov ebp, dword ptr [ebx + 8]", "0x100708ed"], ["0x1006e198", "mov dword ptr [edi], ebp", "0x100708f0"], ["0x1006e19a", "mov eax, dword ptr [ebx + 8]", "0x100708f2"]]}, {"orig": [["0x1006e19d", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100708f5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e1a3", "je 0x3", "0x100708fb"], ["0x1006e1a5", "mov dword ptr [eax + 4], edi", "0x100708fd"], ["0x1006e1a8", "mov eax, dword ptr [edi + 4]", "0x10070900"], ["0x1006e1ab", "mov dword ptr [ebx + 4], eax", "0x10070903"], ["0x1006e1ae", "mov eax, dword ptr [esi + 4]", "0x10070906"], ["0x1006e1b1", "add eax, 4", "0x10070909"], ["0x1006e1b4", "cmp dword ptr [eax], edi", "0x1007090c"]]}, {"orig": [["0x1006e1b6", "je 0x10"], ["0x1006e1b8", "mov eax, dword ptr [edi + 4]"], ["0x1006e1bb", "lea ebp, [eax + 8]"], ["0x1006e1be", "cmp dword ptr [ebp], edi"], ["0x1006e1c1", "jne 0x5"]], "recomp": [["0x1007090e", "je 0xf"], ["0x10070910", "mov ebp, dword ptr [edi + 4]"], ["0x10070913", "lea eax, [ebp + 8]"], ["0x10070916", "cmp dword ptr [eax], edi"], ["0x10070918", "je 0x5"]]}, {"both": [["0x1006e1c3", "mov dword ptr [ebp], ebx", "0x1007091a"], ["0x1006e1c6", "jmp 0x2", "0x1007091d"], ["0x1006e1c8", "mov dword ptr [eax], ebx", "0x1007091f"], ["0x1006e1ca", "mov dword ptr [ebx + 8], edi", "0x10070921"], ["0x1006e1cd", "mov dword ptr [edi + 4], ebx", "0x10070924"], ["0x1006e1d0", "mov eax, dword ptr [edx + 4]", "0x10070927"], ["0x1006e1d3", "mov edi, dword ptr [eax + 8]", "0x1007092a"], ["0x1006e1d6", "mov eax, dword ptr [edx + 4]", "0x1007092d"], ["0x1006e1d9", "mov ebx, dword ptr [eax + 0x18]", "0x10070930"], ["0x1006e1dc", "mov dword ptr [edi + 0x18], ebx", "0x10070933"], ["0x1006e1df", "mov ebx, 1", "0x10070936"], ["0x1006e1e4", "mov eax, dword ptr [edx + 4]", "0x1007093b"], ["0x1006e1e7", "mov dword ptr [eax + 0x18], ebx", "0x1007093e"], ["0x1006e1ea", "mov ebp, dword ptr [edi + 8]", "0x10070941"], ["0x1006e1ed", "mov dword ptr [ebp + 0x18], ebx", "0x10070944"]]}, {"orig": [["0x1006e1f0", "mov edi, dword ptr [edx + 4]"], ["0x1006e1f3", "mov ebx, dword ptr [edi + 8]"], ["0x1006e1f6", "mov eax, dword ptr [ebx]"], ["0x1006e1f8", "mov dword ptr [edi + 8], eax"], ["0x1006e1fb", "mov eax, dword ptr [ebx]"], ["0x1006e1fd", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070947", "mov ebx, dword ptr [edx + 4]"], ["0x1007094a", "mov edi, dword ptr [ebx + 8]"], ["0x1007094d", "mov eax, dword ptr [edi]"], ["0x1007094f", "mov dword ptr [ebx + 8], eax"], ["0x10070952", "mov eax, dword ptr [edi]"], ["0x10070954", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e203", "je 0x3", "0x1007095a"]]}, {"orig": [["0x1006e205", "mov dword ptr [eax + 4], edi"], ["0x1006e208", "mov eax, dword ptr [edi + 4]"], ["0x1006e20b", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1007095c", "mov dword ptr [eax + 4], ebx"], ["0x1007095f", "mov eax, dword ptr [ebx + 4]"], ["0x10070962", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1006e20e", "mov eax, dword ptr [esi + 4]", "0x10070965"], ["0x1006e211", "add eax, 4", "0x10070968"]]}, {"orig": [["0x1006e214", "cmp dword ptr [eax], edi"]], "recomp": [["0x1007096b", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006e216", "je 0x1a", "0x1007096d"]]}, {"orig": [["0x1006e218", "mov eax, dword ptr [edi + 4]"], ["0x1006e21b", "cmp dword ptr [eax], edi"]], "recomp": [["0x1007096f", "mov eax, dword ptr [ebx + 4]"], ["0x10070972", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006e21d", "je 0xa", "0x10070974"]]}, {"orig": [["0x1006e21f", "mov dword ptr [eax + 8], ebx"], ["0x1006e222", "mov dword ptr [ebx], edi"]], "recomp": [["0x10070976", "mov dword ptr [eax + 8], edi"], ["0x10070979", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1006e224", "jmp 0xbd", "0x1007097b"]]}, {"orig": [["0x1006e229", "mov dword ptr [eax], ebx"], ["0x1006e22b", "mov dword ptr [ebx], edi"]], "recomp": [["0x10070980", "mov dword ptr [eax], edi"], ["0x10070982", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1006e22d", "jmp 0xb4", "0x10070984"]]}, {"orig": [["0x1006e232", "mov dword ptr [eax], ebx"], ["0x1006e234", "mov dword ptr [ebx], edi"]], "recomp": [["0x10070989", "mov dword ptr [eax], edi"], ["0x1007098b", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1006e236", "jmp 0xab", "0x1007098d"], ["0x1006e23b", "mov eax, dword ptr [edi]", "0x10070992"], ["0x1006e23d", "cmp dword ptr [eax + 0x18], 1", "0x10070994"], ["0x1006e241", "jne 0x4e", "0x10070998"], ["0x1006e243", "mov eax, dword ptr [edi + 8]", "0x1007099a"], ["0x1006e246", "mov dword ptr [eax + 0x18], 1", "0x1007099d"], ["0x1006e24d", "mov dword ptr [edi + 0x18], 0", "0x100709a4"], ["0x1006e254", "mov ebx, dword ptr [edi + 8]", "0x100709ab"], ["0x1006e257", "mov ebp, dword ptr [ebx]", "0x100709ae"], ["0x1006e259", "mov dword ptr [edi + 8], ebp", "0x100709b0"], ["0x1006e25c", "mov eax, dword ptr [ebx]", "0x100709b3"]]}, {"orig": [["0x1006e25e", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100709b5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e264", "je 0x3", "0x100709bb"], ["0x1006e266", "mov dword ptr [eax + 4], edi", "0x100709bd"], ["0x1006e269", "mov eax, dword ptr [edi + 4]", "0x100709c0"], ["0x1006e26c", "mov dword ptr [ebx + 4], eax", "0x100709c3"], ["0x1006e26f", "mov eax, dword ptr [esi + 4]", "0x100709c6"], ["0x1006e272", "add eax, 4", "0x100709c9"], ["0x1006e275", "cmp dword ptr [eax], edi", "0x100709cc"], ["0x1006e277", "je 0xc", "0x100709ce"], ["0x1006e279", "mov eax, dword ptr [edi + 4]", "0x100709d0"], ["0x1006e27c", "cmp dword ptr [eax], edi", "0x100709d3"]]}]], ["@@ -0x1006e28c,42 +0x100709e3,47 @@", [{"both": [["0x1006e28c", "mov eax, dword ptr [edx + 4]", "0x100709e3"], ["0x1006e28f", "mov edi, dword ptr [eax]", "0x100709e6"], ["0x1006e291", "mov eax, dword ptr [edx + 4]", "0x100709e8"], ["0x1006e294", "mov ebx, dword ptr [eax + 0x18]", "0x100709eb"], ["0x1006e297", "mov dword ptr [edi + 0x18], ebx", "0x100709ee"], ["0x1006e29a", "mov ebx, 1", "0x100709f1"], ["0x1006e29f", "mov eax, dword ptr [edx + 4]", "0x100709f6"], ["0x1006e2a2", "mov dword ptr [eax + 0x18], ebx", "0x100709f9"], ["0x1006e2a5", "mov ebp, dword ptr [edi]", "0x100709fc"], ["0x1006e2a7", "mov dword ptr [ebp + 0x18], ebx", "0x100709fe"]]}, {"orig": [["0x1006e2aa", "mov edi, dword ptr [edx + 4]"], ["0x1006e2ad", "mov ebx, dword ptr [edi]"], ["0x1006e2af", "mov eax, dword ptr [ebx + 8]"], ["0x1006e2b2", "mov dword ptr [edi], eax"], ["0x1006e2b4", "mov eax, dword ptr [ebx + 8]"], ["0x1006e2b7", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070a01", "mov ebx, dword ptr [edx + 4]"], ["0x10070a04", "mov edi, dword ptr [ebx]"], ["0x10070a06", "mov eax, dword ptr [edi + 8]"], ["0x10070a09", "mov dword ptr [ebx], eax"], ["0x10070a0b", "mov eax, dword ptr [edi + 8]"], ["0x10070a0e", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e2bd", "je 0x3", "0x10070a14"]]}, {"orig": [["0x1006e2bf", "mov dword ptr [eax + 4], edi"], ["0x1006e2c2", "mov eax, dword ptr [edi + 4]"], ["0x1006e2c5", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x10070a16", "mov dword ptr [eax + 4], ebx"], ["0x10070a19", "mov eax, dword ptr [ebx + 4]"], ["0x10070a1c", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1006e2c8", "mov eax, dword ptr [esi + 4]", "0x10070a1f"], ["0x1006e2cb", "add eax, 4", "0x10070a22"]]}, {"orig": [["0x1006e2ce", "cmp dword ptr [eax], edi"]], "recomp": [["0x10070a25", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006e2d0", "je 0xf", "0x10070a27"]]}, {"orig": [["0x1006e2d2", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x10070a29", "mov ebp, dword ptr [ebx + 4]"]]}, {"both": [["0x1006e2d5", "lea eax, [ebp + 8]", "0x10070a2c"]]}, {"orig": [["0x1006e2d8", "cmp dword ptr [eax], edi"]], "recomp": [["0x10070a2f", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x1006e2da", "je 0x5", "0x10070a31"]]}, {"orig": [["0x1006e2dc", "mov dword ptr [ebp], ebx"]], "recomp": [["0x10070a33", "mov dword ptr [ebp], edi"]]}, {"both": [["0x1006e2df", "jmp 0x2", "0x10070a36"]]}, {"orig": [["0x1006e2e1", "mov dword ptr [eax], ebx"], ["0x1006e2e3", "mov dword ptr [ebx + 8], edi"], ["0x1006e2e6", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x10070a38", "mov dword ptr [eax], edi"], ["0x10070a3a", "mov dword ptr [edi + 8], ebx"], ["0x10070a3d", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x1006e2e9", "mov dword ptr [edx + 0x18], 1", "0x10070a40"], ["0x1006e2f0", "push ecx", "0x10070a47"], ["0x1006e2f1", "call ??3@YAXPAX@Z (FUNCTION)", "0x10070a48"], ["0x1006e2f6", "mov ecx, dword ptr [esp + 0x20]", "0x10070a4d"], ["0x1006e2fa", "mov eax, dword ptr [esp + 0x1c]", "0x10070a51"], ["0x1006e2fe", "add esp, 4", "0x10070a55"], ["0x1006e301", "dec dword ptr [esi + 0xc]", "0x10070a58"], ["0x1006e304", "mov dword ptr [eax], ecx", "0x10070a5b"], ["0x1006e306", "pop ebp", "0x10070a5d"]]}, {"orig": [], "recomp": [["0x10070a5e", "pop edi"], ["0x10070a5f", "pop esi"], ["0x10070a60", "pop ebx"], ["0x10070a61", "add esp, 4"], ["0x10070a64", "ret 8"]]}]]]}, {"address": "0x1006e310", "recomp": "0x10070a70", "name": "_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x1006e310,23 +0x10070a70,23 @@", [{"both": [["0x1006e310", "push ebx", "0x10070a70"], ["0x1006e311", "push esi", "0x10070a71"]]}, {"orig": [], "recomp": [["0x10070a72", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x1006e312", "push edi", "0x10070a76"]]}, {"orig": [["0x1006e313", "mov esi, ecx"], ["0x1006e315", "mov ebx, dword ptr [esp + 0x10]"], ["0x1006e319", "mov edi, ebx"], ["0x1006e31b", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070a77", "mov edi, ecx"], ["0x10070a79", "mov ebx, esi"], ["0x10070a7b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006e321", "je 0x20", "0x10070a81"]]}, {"orig": [["0x1006e323", "mov eax, dword ptr [edi + 8]"], ["0x1006e326", "mov ecx, esi"]], "recomp": [["0x10070a83", "mov eax, dword ptr [ebx + 8]"], ["0x10070a86", "mov ecx, edi"]]}, {"both": [["0x1006e328", "push eax", "0x10070a88"], ["0x1006e329", "call _Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Erase (FUNCTION)", "0x10070a89"]]}, {"orig": [["0x1006e32e", "mov edi, dword ptr [edi]"], ["0x1006e330", "push ebx"], ["0x1006e331", "mov ebx, edi"]], "recomp": [["0x10070a8e", "mov ebx, dword ptr [ebx]"], ["0x10070a90", "push esi"], ["0x10070a91", "mov esi, ebx"]]}, {"both": [["0x1006e333", "call ??3@YAXPAX@Z (FUNCTION)", "0x10070a93"], ["0x1006e338", "add esp, 4", "0x10070a98"]]}, {"orig": [["0x1006e33b", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070a9b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], ebx"]]}, {"both": [["0x1006e341", "jne -0x20", "0x10070aa1"], ["0x1006e343", "pop edi", "0x10070aa3"], ["0x1006e344", "pop esi", "0x10070aa4"], ["0x1006e345", "pop ebx", "0x10070aa5"], ["0x1006e346", "ret 4", "0x10070aa6"]]}]]]}, {"address": "0x1006e350", "recomp": "0x10070ab0", "name": "Map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator>::~Map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator>", "matching": 1.0, "diff": []}, {"address": "0x1006e3a0", "recomp": "0x10070b00", "name": "map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::~map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >", "matching": 1.0, "diff": []}, {"address": "0x1006e3f0", "recomp": "0x10070b50", "name": "LegoHideAnimPresenter::FUN_1006e3f0", "matching": 0.6304347826086957, "diff": [["@@ -0x1006e3f0,46 +0x10070b50,46 @@", [{"both": [["0x1006e3f0", "sub esp, 4", "0x10070b50"], ["0x1006e3f3", "mov dword ptr [esp], ecx", "0x10070b53"], ["0x1006e3f7", "push ebx", "0x10070b57"], ["0x1006e3f8", "mov ebx, dword ptr [esp + 0x10]", "0x10070b58"], ["0x1006e3fc", "push esi", "0x10070b5c"], ["0x1006e3fd", "push edi", "0x10070b5d"], ["0x1006e3fe", "push ebp", "0x10070b5e"]]}, {"orig": [["0x1006e3ff", "mov edi, dword ptr [ebx + 4]"], ["0x1006e402", "mov esi, dword ptr [edi + 4]"], ["0x1006e405", "test esi, esi"]], "recomp": [["0x10070b5f", "mov esi, dword ptr [ebx + 4]"], ["0x10070b62", "mov edi, dword ptr [esi + 4]"], ["0x10070b65", "test edi, edi"]]}, {"both": [["0x1006e407", "je 0x2d", "0x10070b67"], ["0x1006e409", "mov eax, dword ptr [esp + 0x10]", "0x10070b69"]]}, {"orig": [["0x1006e40d", "push esi"]], "recomp": [["0x10070b6d", "push edi"]]}, {"both": [["0x1006e40e", "mov ecx, dword ptr [eax + 0x80]", "0x10070b6e"], ["0x1006e414", "call LegoWorld::FindPathBoundary (FUNCTION)", "0x10070b74"], ["0x1006e419", "test eax, eax", "0x10070b79"], ["0x1006e41b", "je 0x13", "0x10070b7b"]]}, {"orig": [["0x1006e41d", "mov ebp, dword ptr [esp + 0x18]"]], "recomp": [["0x10070b7d", "mov ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x1006e421", "push eax", "0x10070b81"]]}, {"orig": [["0x1006e422", "mov ecx, dword ptr [esp + 0x14]"]], "recomp": [["0x10070b82", "push edi"]]}, {"both": [["0x1006e426", "push esi", "0x10070b83"]]}, {"orig": [["0x1006e427", "push edi"], ["0x1006e428", "push ebp"]], "recomp": [["0x10070b84", "mov esi, dword ptr [esp + 0x24]"], ["0x10070b88", "push esi"]]}, {"both": [["0x1006e429", "call LegoHideAnimPresenter::FUN_1006e470 (FUNCTION)", "0x10070b89"], ["0x1006e42e", "jmp 0xa", "0x10070b8e"]]}, {"orig": [["0x1006e430", "mov word ptr [edi + 0x22], 0"], ["0x1006e436", "mov ebp, dword ptr [esp + 0x18]"], ["0x1006e43a", "mov esi, dword ptr [ebx + 8]"], ["0x1006e43d", "xor edi, edi"], ["0x1006e43f", "test esi, esi"]], "recomp": [["0x10070b90", "mov word ptr [esi + 0x22], 0"], ["0x10070b96", "mov esi, dword ptr [esp + 0x18]"], ["0x10070b9a", "mov edi, dword ptr [ebx + 8]"], ["0x10070b9d", "xor ebp, ebp"], ["0x10070b9f", "test edi, edi"]]}, {"both": [["0x1006e441", "jle 0x17", "0x10070ba1"], ["0x1006e443", "mov eax, dword ptr [ebx + 0xc]", "0x10070ba3"]]}, {"orig": [["0x1006e446", "inc edi"], ["0x1006e447", "mov ecx, dword ptr [eax + edi*4 - 4]"]], "recomp": [["0x10070ba6", "inc ebp"], ["0x10070ba7", "mov ecx, dword ptr [eax + ebp*4 - 4]"]]}, {"both": [["0x1006e44b", "push ecx", "0x10070bab"]]}, {"orig": [["0x1006e44c", "push ebp"]], "recomp": [["0x10070bac", "push esi"]]}, {"both": [["0x1006e44d", "mov ecx, dword ptr [esp + 0x18]", "0x10070bad"], ["0x1006e451", "call LegoHideAnimPresenter::FUN_1006e3f0 (FUNCTION)", "0x10070bb1"]]}, {"orig": [["0x1006e456", "cmp edi, esi"]], "recomp": [["0x10070bb6", "cmp ebp, edi"]]}, {"both": [["0x1006e458", "jl -0x17", "0x10070bb8"], ["0x1006e45a", "pop ebp", "0x10070bba"], ["0x1006e45b", "pop edi", "0x10070bbb"], ["0x1006e45c", "pop esi", "0x10070bbc"], ["0x1006e45d", "pop ebx", "0x10070bbd"], ["0x1006e45e", "add esp, 4", "0x10070bbe"], ["0x1006e461", "ret 8", "0x10070bc1"]]}]]]}, {"address": "0x1006e470", "recomp": "0x10070bd0", "name": "LegoHideAnimPresenter::FUN_1006e470", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006e470,18 +0x10070bd0,18 @@", [{"both": [["0x1006e470", "sub esp, 0x34", "0x10070bd0"], ["0x1006e473", "push ebx", "0x10070bd3"], ["0x1006e474", "push esi", "0x10070bd4"], ["0x1006e475", "mov ebx, dword ptr [esp + 0x40]", "0x10070bd5"], ["0x1006e479", "push edi", "0x10070bd9"], ["0x1006e47a", "mov edx, dword ptr [ebx + 4]", "0x10070bda"], ["0x1006e47d", "mov esi, dword ptr [edx + 4]", "0x10070bdd"]]}, {"orig": [["0x1006e480", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070be0", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006e486", "je 0x41", "0x10070be6"], ["0x1006e488", "mov eax, dword ptr [esi + 0xc]", "0x10070be8"], ["0x1006e48b", "mov edi, dword ptr [esp + 0x4c]", "0x10070beb"], ["0x1006e48f", "mov cl, byte ptr [eax]", "0x10070bef"], ["0x1006e491", "cmp cl, byte ptr [edi]", "0x10070bf1"], ["0x1006e493", "jne 0x1a", "0x10070bf3"], ["0x1006e495", "or cl, cl", "0x10070bf5"], ["0x1006e497", "je 0x12", "0x10070bf7"], ["0x1006e499", "mov cl, byte ptr [eax + 1]", "0x10070bf9"], ["0x1006e49c", "cmp cl, byte ptr [edi + 1]", "0x10070bfc"]]}]], ["@@ -0x1006e4ab,21 +0x10070c0b,21 @@", [{"both": [["0x1006e4ab", "xor eax, eax", "0x10070c0b"], ["0x1006e4ad", "jmp 0x5", "0x10070c0d"], ["0x1006e4af", "sbb eax, eax", "0x10070c0f"], ["0x1006e4b1", "sbb eax, -1", "0x10070c11"], ["0x1006e4b4", "test eax, eax", "0x10070c14"], ["0x1006e4b6", "jl 0x6", "0x10070c16"], ["0x1006e4b8", "mov edx, esi", "0x10070c18"], ["0x1006e4ba", "mov esi, dword ptr [esi]", "0x10070c1a"], ["0x1006e4bc", "jmp 0x3", "0x10070c1c"], ["0x1006e4be", "mov esi, dword ptr [esi + 8]", "0x10070c1e"]]}, {"orig": [["0x1006e4c1", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070c21", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], esi"]]}, {"both": [["0x1006e4c7", "jne -0x41", "0x10070c27"], ["0x1006e4c9", "mov dword ptr [esp + 0xc], edx", "0x10070c29"], ["0x1006e4cd", "cmp dword ptr [ebx + 4], edx", "0x10070c2d"], ["0x1006e4d0", "je 0x34", "0x10070c30"], ["0x1006e4d2", "mov ecx, dword ptr [esp + 0x4c]", "0x10070c32"], ["0x1006e4d6", "mov eax, dword ptr [edx + 0xc]", "0x10070c36"], ["0x1006e4d9", "mov dl, byte ptr [ecx]", "0x10070c39"], ["0x1006e4db", "cmp dl, byte ptr [eax]", "0x10070c3b"], ["0x1006e4dd", "jne 0x1a", "0x10070c3d"], ["0x1006e4df", "or dl, dl", "0x10070c3f"]]}]]]}, {"address": "0x1006e6d0", "recomp": "0x10070e30", "name": "_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::iterator::_Dec", "matching": 0.16129032258064516, "diff": [["@@ -0x1006e6d0,29 +0x10070e30,33 @@", [{"orig": [["0x1006e6d0", "mov edx, dword ptr [ecx]"], ["0x1006e6d2", "cmp dword ptr [edx + 0x18], 0"], ["0x1006e6d6", "jne 0xe"], ["0x1006e6d8", "mov eax, dword ptr [edx + 4]"], ["0x1006e6db", "cmp dword ptr [eax + 4], edx"], ["0x1006e6de", "jne 0x6"], ["0x1006e6e0", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x10070e30", "push esi"], ["0x10070e31", "mov esi, dword ptr [ecx]"], ["0x10070e33", "cmp dword ptr [esi + 0x18], 0"], ["0x10070e37", "jne 0xf"], ["0x10070e39", "mov eax, dword ptr [esi + 4]"], ["0x10070e3c", "cmp dword ptr [eax + 4], esi"], ["0x10070e3f", "jne 0x7"], ["0x10070e41", "mov eax, dword ptr [esi + 8]"], ["0x10070e44", "pop esi"]]}, {"both": [["0x1006e6e3", "mov dword ptr [ecx], eax", "0x10070e45"], ["0x1006e6e5", "ret ", "0x10070e47"]]}, {"orig": [["0x1006e6e6", "mov eax, dword ptr [edx]"], ["0x1006e6e8", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"], ["0x1006e6ee", "je 0x12"], ["0x1006e6f0", "mov edx, dword ptr [eax + 8]"], ["0x1006e6f3", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070e48", "mov edx, dword ptr [esi]"], ["0x10070e4a", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], edx"], ["0x10070e50", "je 0x13"], ["0x10070e52", "mov eax, dword ptr [edx + 8]"], ["0x10070e55", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e6f9", "je 0x4", "0x10070e5b"]]}, {"orig": [], "recomp": [["0x10070e5d", "mov edx, eax"], ["0x10070e5f", "jmp -0xf"], ["0x10070e61", "pop esi"], ["0x10070e62", "mov dword ptr [ecx], edx"], ["0x10070e64", "ret "], ["0x10070e65", "mov edx, dword ptr [esi + 4]"], ["0x10070e68", "cmp dword ptr [edx], esi"], ["0x10070e6a", "jne 0xb"], ["0x10070e6c", "mov dword ptr [ecx], edx"]]}, {"both": [["0x1006e6fb", "mov eax, edx", "0x10070e6e"]]}, {"orig": [["0x1006e6fd", "jmp -0xf"], ["0x1006e6ff", "mov dword ptr [ecx], eax"]], "recomp": [["0x10070e70", "mov edx, dword ptr [edx + 4]"], ["0x10070e73", "cmp dword ptr [edx], eax"], ["0x10070e75", "je -0xb"], ["0x10070e77", "pop esi"], ["0x10070e78", "mov dword ptr [ecx], edx"]]}, {"both": [["0x1006e701", "ret ", "0x10070e7a"]]}, {"orig": [["0x1006e702", "mov eax, dword ptr [edx + 4]"], ["0x1006e705", "cmp dword ptr [eax], edx"], ["0x1006e707", "jne 0xb"], ["0x1006e709", "mov dword ptr [ecx], eax"], ["0x1006e70b", "mov edx, eax"], ["0x1006e70d", "mov eax, dword ptr [eax + 4]"], ["0x1006e710", "cmp dword ptr [eax], edx"], ["0x1006e712", "je -0xb"], ["0x1006e714", "mov dword ptr [ecx], eax"], ["0x1006e716", "ret "]], "recomp": []}]]]}, {"address": "0x1006e720", "recomp": "0x10070e80", "name": "_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Insert", "matching": 0.7754237288135594, "diff": [["@@ -0x1006e7b7,57 +0x10070f17,57 @@", [{"both": [["0x1006e7b7", "mov dword ptr [ecx + 8], edx", "0x10070f17"], ["0x1006e7ba", "mov eax, dword ptr [esi + 4]", "0x10070f1a"], ["0x1006e7bd", "add eax, 8", "0x10070f1d"], ["0x1006e7c0", "cmp dword ptr [eax], ecx", "0x10070f20"], ["0x1006e7c2", "jne 0x26", "0x10070f22"], ["0x1006e7c4", "mov dword ptr [eax], edx", "0x10070f24"], ["0x1006e7c6", "jmp 0x22", "0x10070f26"], ["0x1006e7c8", "mov edx, dword ptr [esp + 0x10]", "0x10070f28"], ["0x1006e7cc", "mov dword ptr [ecx], edx", "0x10070f2c"], ["0x1006e7ce", "mov eax, dword ptr [esi + 4]", "0x10070f2e"]]}, {"orig": [["0x1006e7d1", "cmp eax, ecx"]], "recomp": [["0x10070f31", "cmp ecx, eax"]]}, {"both": [["0x1006e7d3", "je 0x8", "0x10070f33"], ["0x1006e7d5", "cmp dword ptr [eax], ecx", "0x10070f35"], ["0x1006e7d7", "jne 0x11", "0x10070f37"], ["0x1006e7d9", "mov dword ptr [eax], edx", "0x10070f39"], ["0x1006e7db", "jmp 0xd", "0x10070f3b"], ["0x1006e7dd", "mov edx, dword ptr [esp + 0x10]", "0x10070f3d"], ["0x1006e7e1", "mov dword ptr [eax + 4], edx", "0x10070f41"], ["0x1006e7e4", "mov eax, dword ptr [esi + 4]", "0x10070f44"], ["0x1006e7e7", "mov dword ptr [eax + 8], edx", "0x10070f47"], ["0x1006e7ea", "mov ecx, dword ptr [esp + 0x10]", "0x10070f4a"], ["0x1006e7ee", "mov eax, dword ptr [esi + 4]", "0x10070f4e"], ["0x1006e7f1", "cmp dword ptr [eax + 4], ecx", "0x10070f51"]]}, {"orig": [["0x1006e7f4", "je 0x1b6"]], "recomp": [["0x10070f54", "je 0x1b4"]]}, {"both": [["0x1006e7fa", "lea edx, [ecx + 4]", "0x10070f5a"], ["0x1006e7fd", "mov eax, dword ptr [edx]", "0x10070f5d"]]}, {"orig": [["0x1006e7ff", "lea ebx, [eax + 0x18]"], ["0x1006e802", "cmp dword ptr [ebx], 0"], ["0x1006e805", "jne 0x1a5"]], "recomp": [["0x10070f5f", "lea ebp, [eax + 0x18]"], ["0x10070f62", "cmp dword ptr [ebp], 0"], ["0x10070f66", "jne 0x1a2"]]}, {"both": [["0x1006e80b", "lea edi, [eax + 4]", "0x10070f6c"]]}, {"orig": [["0x1006e80e", "mov ebp, dword ptr [edi]"], ["0x1006e810", "mov ebp, dword ptr [ebp]"], ["0x1006e813", "cmp ebp, eax"], ["0x1006e815", "jne 0xbe"], ["0x1006e81b", "mov ebp, dword ptr [edi]"], ["0x1006e81d", "mov ebp, dword ptr [ebp + 8]"], ["0x1006e820", "cmp dword ptr [ebp + 0x18], 0"], ["0x1006e824", "je 0x15c"]], "recomp": [["0x10070f6f", "mov ebx, dword ptr [edi]"], ["0x10070f71", "mov ebx, dword ptr [ebx]"], ["0x10070f73", "cmp ebx, eax"], ["0x10070f75", "jne 0xbb"], ["0x10070f7b", "mov ebx, dword ptr [edi]"], ["0x10070f7d", "mov ebx, dword ptr [ebx + 8]"], ["0x10070f80", "cmp dword ptr [ebx + 0x18], 0"], ["0x10070f84", "je 0x159"]]}, {"both": [["0x1006e82a", "lea ebx, [eax + 8]", "0x10070f8a"], ["0x1006e82d", "mov edx, dword ptr [ebx]", "0x10070f8d"]]}, {"orig": [["0x1006e82f", "cmp edx, ecx"]], "recomp": [["0x10070f8f", "cmp ecx, edx"]]}, {"both": [["0x1006e831", "jne 0x33", "0x10070f91"], ["0x1006e833", "mov ecx, eax", "0x10070f93"], ["0x1006e835", "mov eax, dword ptr [edx]", "0x10070f95"], ["0x1006e837", "mov dword ptr [ebx], eax", "0x10070f97"], ["0x1006e839", "mov eax, dword ptr [edx]", "0x10070f99"]]}, {"orig": [["0x1006e83b", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070f9b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e841", "je 0x3", "0x10070fa1"], ["0x1006e843", "mov dword ptr [eax + 4], ecx", "0x10070fa3"], ["0x1006e846", "mov eax, dword ptr [edi]", "0x10070fa6"], ["0x1006e848", "mov dword ptr [edx + 4], eax", "0x10070fa8"], ["0x1006e84b", "mov eax, dword ptr [esi + 4]", "0x10070fab"], ["0x1006e84e", "add eax, 4", "0x10070fae"], ["0x1006e851", "cmp dword ptr [eax], ecx", "0x10070fb1"], ["0x1006e853", "je 0xb", "0x10070fb3"], ["0x1006e855", "mov eax, dword ptr [edi]", "0x10070fb5"], ["0x1006e857", "cmp dword ptr [eax], ecx", "0x10070fb7"]]}]], ["@@ -0x1006e85e,123 +0x10070fbe,123 @@", [{"both": [["0x1006e85e", "jmp 0x2", "0x10070fbe"], ["0x1006e860", "mov dword ptr [eax], edx", "0x10070fc0"], ["0x1006e862", "mov dword ptr [edx], ecx", "0x10070fc2"], ["0x1006e864", "mov dword ptr [edi], edx", "0x10070fc4"], ["0x1006e866", "mov eax, dword ptr [ecx + 4]", "0x10070fc6"], ["0x1006e869", "mov dword ptr [eax + 0x18], 1", "0x10070fc9"], ["0x1006e870", "mov eax, dword ptr [ecx + 4]", "0x10070fd0"], ["0x1006e873", "mov edx, dword ptr [eax + 4]", "0x10070fd3"], ["0x1006e876", "mov dword ptr [edx + 0x18], 0", "0x10070fd6"], ["0x1006e87d", "mov eax, dword ptr [ecx + 4]", "0x10070fdd"]]}, {"orig": [["0x1006e880", "mov edi, dword ptr [eax + 4]"], ["0x1006e883", "mov edx, dword ptr [edi]"], ["0x1006e885", "mov eax, dword ptr [edx + 8]"], ["0x1006e888", "mov dword ptr [edi], eax"], ["0x1006e88a", "mov eax, dword ptr [edx + 8]"], ["0x1006e88d", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10070fe0", "mov edx, dword ptr [eax + 4]"], ["0x10070fe3", "mov edi, dword ptr [edx]"], ["0x10070fe5", "mov eax, dword ptr [edi + 8]"], ["0x10070fe8", "mov dword ptr [edx], eax"], ["0x10070fea", "mov eax, dword ptr [edi + 8]"], ["0x10070fed", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e893", "je 0x3", "0x10070ff3"]]}, {"orig": [["0x1006e895", "mov dword ptr [eax + 4], edi"], ["0x1006e898", "mov eax, dword ptr [edi + 4]"], ["0x1006e89b", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x10070ff5", "mov dword ptr [eax + 4], edx"], ["0x10070ff8", "mov eax, dword ptr [edx + 4]"], ["0x10070ffb", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x1006e89e", "mov eax, dword ptr [esi + 4]", "0x10070ffe"], ["0x1006e8a1", "add eax, 4", "0x10071001"]]}, {"orig": [["0x1006e8a4", "cmp dword ptr [eax], edi"]], "recomp": [["0x10071004", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1006e8a6", "je 0x24", "0x10071006"]]}, {"orig": [["0x1006e8a8", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x10071008", "mov ebx, dword ptr [edx + 4]"]]}, {"both": [["0x1006e8ab", "lea eax, [ebx + 8]", "0x1007100b"]]}, {"orig": [["0x1006e8ae", "cmp dword ptr [eax], edi"]], "recomp": [["0x1007100e", "cmp dword ptr [eax], edx"]]}, {"both": [["0x1006e8b0", "je 0xd", "0x10071010"]]}, {"orig": [["0x1006e8b2", "mov dword ptr [ebx], edx"], ["0x1006e8b4", "mov dword ptr [edx + 8], edi"], ["0x1006e8b7", "mov dword ptr [edi + 4], edx"], ["0x1006e8ba", "jmp 0xe5"], ["0x1006e8bf", "mov dword ptr [eax], edx"], ["0x1006e8c1", "mov dword ptr [edx + 8], edi"], ["0x1006e8c4", "mov dword ptr [edi + 4], edx"], ["0x1006e8c7", "jmp 0xd8"], ["0x1006e8cc", "mov dword ptr [eax], edx"], ["0x1006e8ce", "mov dword ptr [edx + 8], edi"], ["0x1006e8d1", "mov dword ptr [edi + 4], edx"], ["0x1006e8d4", "jmp 0xcb"], ["0x1006e8d9", "cmp dword ptr [ebp + 0x18], 0"]], "recomp": [["0x10071012", "mov dword ptr [ebx], edi"], ["0x10071014", "mov dword ptr [edi + 8], edx"], ["0x10071017", "mov dword ptr [edx + 4], edi"], ["0x1007101a", "jmp 0xe3"], ["0x1007101f", "mov dword ptr [eax], edi"], ["0x10071021", "mov dword ptr [edi + 8], edx"], ["0x10071024", "mov dword ptr [edx + 4], edi"], ["0x10071027", "jmp 0xd6"], ["0x1007102c", "mov dword ptr [eax], edi"], ["0x1007102e", "mov dword ptr [edi + 8], edx"], ["0x10071031", "jmp 0xa8"], ["0x10071036", "cmp dword ptr [ebx + 0x18], 0"]]}, {"both": [["0x1006e8dd", "je 0xa3", "0x1007103a"], ["0x1006e8e3", "mov edx, dword ptr [eax]", "0x10071040"]]}, {"orig": [["0x1006e8e5", "cmp edx, ecx"]], "recomp": [["0x10071042", "cmp ecx, edx"]]}, {"both": [["0x1006e8e7", "jne 0x38", "0x10071044"], ["0x1006e8e9", "mov ecx, eax", "0x10071046"], ["0x1006e8eb", "mov eax, dword ptr [edx + 8]", "0x10071048"], ["0x1006e8ee", "mov dword ptr [ecx], eax", "0x1007104b"], ["0x1006e8f0", "mov eax, dword ptr [edx + 8]", "0x1007104d"]]}, {"orig": [["0x1006e8f3", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x10071050", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e8f9", "je 0x3", "0x10071056"], ["0x1006e8fb", "mov dword ptr [eax + 4], ecx", "0x10071058"], ["0x1006e8fe", "mov eax, dword ptr [edi]", "0x1007105b"], ["0x1006e900", "mov dword ptr [edx + 4], eax", "0x1007105d"], ["0x1006e903", "mov eax, dword ptr [esi + 4]", "0x10071060"], ["0x1006e906", "add eax, 4", "0x10071063"], ["0x1006e909", "cmp dword ptr [eax], ecx", "0x10071066"], ["0x1006e90b", "je 0xd", "0x10071068"]]}, {"orig": [["0x1006e90d", "mov eax, dword ptr [edi]"], ["0x1006e90f", "lea ebx, [eax + 8]"], ["0x1006e912", "cmp dword ptr [ebx], ecx"], ["0x1006e914", "jne 0x4"]], "recomp": [["0x1007106a", "mov ebx, dword ptr [edi]"], ["0x1007106c", "lea eax, [ebx + 8]"], ["0x1007106f", "cmp dword ptr [eax], ecx"], ["0x10071071", "je 0x4"]]}, {"both": [["0x1006e916", "mov dword ptr [ebx], edx", "0x10071073"], ["0x1006e918", "jmp 0x2", "0x10071075"], ["0x1006e91a", "mov dword ptr [eax], edx", "0x10071077"], ["0x1006e91c", "mov dword ptr [edx + 8], ecx", "0x10071079"], ["0x1006e91f", "mov dword ptr [edi], edx", "0x1007107c"], ["0x1006e921", "mov eax, dword ptr [ecx + 4]", "0x1007107e"], ["0x1006e924", "mov dword ptr [eax + 0x18], 1", "0x10071081"], ["0x1006e92b", "mov eax, dword ptr [ecx + 4]", "0x10071088"], ["0x1006e92e", "mov edx, dword ptr [eax + 4]", "0x1007108b"], ["0x1006e931", "mov dword ptr [edx + 0x18], 0", "0x1007108e"], ["0x1006e938", "mov eax, dword ptr [ecx + 4]", "0x10071095"], ["0x1006e93b", "mov edx, dword ptr [eax + 4]", "0x10071098"], ["0x1006e93e", "mov edi, dword ptr [edx + 8]", "0x1007109b"], ["0x1006e941", "mov eax, dword ptr [edi]", "0x1007109e"], ["0x1006e943", "mov dword ptr [edx + 8], eax", "0x100710a0"], ["0x1006e946", "mov eax, dword ptr [edi]", "0x100710a3"]]}, {"orig": [["0x1006e948", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)]"]], "recomp": [["0x100710a5", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoHideAnimStruct>,map<char const *,LegoHideAnimStruct,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Kfn,LegoHideAnimStructComparator,allocator<LegoHideAnimStruct> >::_Nil (DATA)], eax"]]}, {"both": [["0x1006e94e", "je 0x3", "0x100710ab"], ["0x1006e950", "mov dword ptr [eax + 4], edx", "0x100710ad"], ["0x1006e953", "mov eax, dword ptr [edx + 4]", "0x100710b0"], ["0x1006e956", "mov dword ptr [edi + 4], eax", "0x100710b3"], ["0x1006e959", "mov eax, dword ptr [esi + 4]", "0x100710b6"], ["0x1006e95c", "add eax, 4", "0x100710b9"], ["0x1006e95f", "cmp dword ptr [eax], edx", "0x100710bc"], ["0x1006e961", "je 0x1a", "0x100710be"], ["0x1006e963", "mov eax, dword ptr [edx + 4]", "0x100710c0"], ["0x1006e966", "cmp dword ptr [eax], edx", "0x100710c3"], ["0x1006e968", "je 0xa", "0x100710c5"], ["0x1006e96a", "mov dword ptr [eax + 8], edi", "0x100710c7"], ["0x1006e96d", "mov dword ptr [edi], edx", "0x100710ca"], ["0x1006e96f", "mov dword ptr [edx + 4], edi", "0x100710cc"]]}, {"orig": [["0x1006e972", "jmp 0x30"]], "recomp": [["0x100710cf", "jmp 0x31"]]}, {"both": [["0x1006e974", "mov dword ptr [eax], edi", "0x100710d1"], ["0x1006e976", "mov dword ptr [edi], edx", "0x100710d3"], ["0x1006e978", "mov dword ptr [edx + 4], edi", "0x100710d5"]]}, {"orig": [["0x1006e97b", "jmp 0x27"]], "recomp": [["0x100710d8", "jmp 0x28"]]}, {"both": [["0x1006e97d", "mov dword ptr [eax], edi", "0x100710da"], ["0x1006e97f", "mov dword ptr [edi], edx", "0x100710dc"], ["0x1006e981", "mov dword ptr [edx + 4], edi", "0x100710de"]]}, {"orig": [["0x1006e984", "jmp 0x1e"], ["0x1006e986", "mov dword ptr [ebx], 1"], ["0x1006e98c", "mov dword ptr [ebp + 0x18], 1"]], "recomp": [["0x100710e1", "jmp 0x1f"], ["0x100710e3", "mov dword ptr [ebp], 1"], ["0x100710ea", "mov dword ptr [ebx + 0x18], 1"]]}, {"both": [["0x1006e993", "mov eax, dword ptr [edx]", "0x100710f1"], ["0x1006e995", "mov ecx, dword ptr [eax + 4]", "0x100710f3"], ["0x1006e998", "mov dword ptr [ecx + 0x18], 0", "0x100710f6"], ["0x1006e99f", "mov eax, dword ptr [edx]", "0x100710fd"], ["0x1006e9a1", "mov ecx, dword ptr [eax + 4]", "0x100710ff"], ["0x1006e9a4", "mov eax, dword ptr [esi + 4]", "0x10071102"], ["0x1006e9a7", "cmp dword ptr [eax + 4], ecx", "0x10071105"]]}, {"orig": [["0x1006e9aa", "jne -0x1b6"]], "recomp": [["0x10071108", "jne -0x1b4"]]}, {"both": [["0x1006e9b0", "mov eax, dword ptr [esi + 4]", "0x1007110e"], ["0x1006e9b3", "mov edx, dword ptr [esp + 0x10]", "0x10071111"], ["0x1006e9b7", "mov ecx, dword ptr [eax + 4]", "0x10071115"], ["0x1006e9ba", "mov eax, dword ptr [esp + 0x18]", "0x10071118"], ["0x1006e9be", "pop ebp", "0x1007111c"], ["0x1006e9bf", "pop edi", "0x1007111d"], ["0x1006e9c0", "mov dword ptr [ecx + 0x18], 1", "0x1007111e"], ["0x1006e9c7", "pop esi", "0x10071125"], ["0x1006e9c8", "mov dword ptr [eax], edx", "0x10071126"], ["0x1006e9ca", "pop ebx", "0x10071128"], ["0x1006e9cb", "add esp, 4", "0x10071129"]]}, {"orig": [], "recomp": [["0x1007112c", "ret 0x10"]]}]]]}, {"address": "0x1006e9e0", "recomp": "0x10071130", "name": "LegoHideAnimPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x1006ea00", "recomp": "0x1006f1e0", "name": "MxListEntry<LegoROI *>::MxListEntry<LegoROI *>", "matching": 1.0, "diff": []}, {"address": "0x1006ea20", "recomp": "0x10071150", "name": "Infocenter::Infocenter", "matching": 1.0, "effective": true, "diff": [["@@ -0x1006ea29,61 +0x10071159,61 @@", [{"both": [["0x1006ea29", "push -1", "0x10071159"], ["0x1006ea2b", "push <OFFSET1>", "0x1007115b"], ["0x1006ea30", "push eax", "0x10071160"], ["0x1006ea31", "mov dword ptr fs:[0], esp", "0x10071161"], ["0x1006ea38", "sub esp, 8", "0x10071168"], ["0x1006ea3b", "push ebx", "0x1007116b"], ["0x1006ea3c", "push esi", "0x1007116c"], ["0x1006ea3d", "mov dword ptr [ebp - 0x10], ecx", "0x1007116d"], ["0x1006ea40", "push edi", "0x10071170"], ["0x1006ea41", "lea edi, [ecx + 0x120]", "0x10071171"]]}, {"orig": [["0x1006ea47", "mov ebx, ecx"], ["0x1006ea49", "mov esi, edi"]], "recomp": [["0x10071177", "mov esi, ecx"], ["0x10071179", "mov ebx, edi"]]}, {"both": [["0x1006ea4b", "call LegoWorld::LegoWorld (FUNCTION)", "0x1007117b"], ["0x1006ea50", "mov dword ptr [ebp - 4], 0", "0x10071180"]]}, {"orig": [["0x1006ea57", "lea ecx, [ebx + 0x10c]"]], "recomp": [["0x10071187", "lea ecx, [esi + 0x10c]"]]}, {"both": [["0x1006ea5d", "call Radio::Radio (FUNCTION)", "0x1007118d"], ["0x1006ea62", "mov byte ptr [ebp - 4], 1", "0x10071192"], ["0x1006ea66", "mov dword ptr [ebp - 0x14], 6", "0x10071196"]]}, {"orig": [["0x1006ea6d", "mov ecx, esi"], ["0x1006ea6f", "add esi, 0x18"]], "recomp": [["0x1007119d", "mov ecx, ebx"], ["0x1007119f", "add ebx, 0x18"]]}, {"both": [["0x1006ea72", "call InfocenterMapEntry::InfocenterMapEntry (FUNCTION)", "0x100711a2"], ["0x1006ea77", "dec dword ptr [ebp - 0x14]", "0x100711a7"], ["0x1006ea7a", "jns -0xf", "0x100711aa"]]}, {"orig": [["0x1006ea7c", "xor esi, esi"], ["0x1006ea7e", "mov dword ptr [ebx], Infocenter::`vftable' (VTABLE)"], ["0x1006ea84", "mov word ptr [ebx + 0xfc], si"], ["0x1006ea8b", "mov dword ptr [ebx + 0x11c], esi"], ["0x1006ea91", "mov dword ptr [ebx + 0x100], esi"], ["0x1006ea97", "mov dword ptr [ebx + 0x1cc], esi"]], "recomp": [["0x100711ac", "xor ebx, ebx"], ["0x100711ae", "mov dword ptr [esi], Infocenter::`vftable' (VTABLE)"], ["0x100711b4", "mov word ptr [esi + 0xfc], bx"], ["0x100711bb", "mov dword ptr [esi + 0x11c], ebx"], ["0x100711c1", "mov dword ptr [esi + 0x100], ebx"], ["0x100711c7", "mov dword ptr [esi + 0x1cc], ebx"]]}, {"both": [["0x1006ea9d", "xor eax, eax", "0x100711cd"], ["0x1006ea9f", "mov ecx, 0x2a", "0x100711cf"], ["0x1006eaa4", "push 1", "0x100711d4"]]}, {"orig": [["0x1006eaa6", "mov dword ptr [ebx + 0x104], esi"], ["0x1006eaac", "mov dword ptr [ebx + 0xf8], 0xffffffff"], ["0x1006eab6", "mov dword ptr [ebx + 0x108], 0xffffffff"]], "recomp": [["0x100711d6", "mov dword ptr [esi + 0x104], ebx"], ["0x100711dc", "mov dword ptr [esi + 0xf8], 0xffffffff"], ["0x100711e6", "mov dword ptr [esi + 0x108], 0xffffffff"]]}, {"both": [["0x1006eac0", "rep stosd dword ptr es:[edi], eax", "0x100711f0"]]}, {"orig": [["0x1006eac2", "mov word ptr [ebx + 0x1c8], 0xffff"]], "recomp": [["0x100711f2", "mov word ptr [esi + 0x1c8], 0xffff"]]}, {"both": [["0x1006eacb", "call SetAppCursor (FUNCTION)", "0x100711fb"], ["0x1006ead0", "add esp, 4", "0x10071200"]]}, {"orig": [["0x1006ead3", "push ebx"]], "recomp": [["0x10071203", "push esi"]]}, {"both": [["0x1006ead4", "call NotificationManager (FUNCTION)", "0x10071204"], ["0x1006ead9", "mov ecx, eax", "0x10071209"], ["0x1006eadb", "call MxNotificationManager::Register (FUNCTION)", "0x1007120b"], ["0x1006eae0", "mov dword ptr [ebp - 4], 0xffffffff", "0x10071210"]]}, {"orig": [["0x1006eae7", "mov word ptr [ebx + 0x1d0], si"], ["0x1006eaee", "mov eax, ebx"], ["0x1006eaf0", "mov word ptr [ebx + 0x1d2], si"]], "recomp": [["0x10071217", "mov word ptr [esi + 0x1d0], bx"], ["0x1007121e", "mov eax, esi"], ["0x10071220", "mov word ptr [esi + 0x1d2], bx"]]}, {"both": [["0x1006eaf7", "mov ecx, dword ptr [ebp - 0xc]", "0x10071227"]]}, {"orig": [["0x1006eafa", "mov word ptr [ebx + 0x1d4], si"]], "recomp": [["0x1007122a", "mov word ptr [esi + 0x1d4], bx"]]}, {"both": [["0x1006eb01", "pop edi", "0x10071231"]]}, {"orig": [["0x1006eb02", "mov word ptr [ebx + 0x1d6], si"]], "recomp": [["0x10071232", "mov word ptr [esi + 0x1d6], bx"]]}, {"both": [["0x1006eb09", "pop esi", "0x10071239"], ["0x1006eb0a", "mov dword ptr fs:[0], ecx", "0x1007123a"], ["0x1006eb11", "pop ebx", "0x10071241"], ["0x1006eb12", "mov esp, ebp", "0x10071242"], ["0x1006eb14", "pop ebp", "0x10071244"], ["0x1006eb15", "ret ", "0x10071245"], ["0x1006eb16", "mov ecx, dword ptr [ebp - 0x10]", "0x10071246"], ["0x1006eb19", "add ecx, 0x10c", "0x10071249"], ["0x1006eb1f", "jmp Radio::~Radio (FUNCTION)", "0x1007124f"], ["0x1006eb24", "mov eax, <OFFSET9>", "0x10071254"]]}]]]}, {"address": "0x1006eb40", "recomp": "0x10071280", "name": "Infocenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1006eb50", "recomp": "0x10071290", "name": "Infocenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1006ec60", "recomp": "0x100713a0", "name": "Infocenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1006ec80", "recomp": "0x10071270", "name": "InfocenterMapEntry::InfocenterMapEntry", "matching": 1.0, "diff": []}, {"address": "0x1006ec90", "recomp": "0x100713c0", "name": "Infocenter::~Infocenter", "matching": 1.0, "diff": []}, {"address": "0x1006ed90", "recomp": "0x100714c0", "name": "Infocenter::Create", "matching": 0.9572649572649573, "diff": [["@@ -0x1006edd6,52 +0x10071506,52 @@", [{"both": [["0x1006edd6", "mov ecx, eax", "0x10071506"], ["0x1006edd8", "mov dword ptr [esi + 0x100], eax", "0x10071508"], ["0x1006edde", "test ecx, ecx", "0x1007150e"], ["0x1006ede0", "jne 0x23", "0x10071510"], ["0x1006ede2", "push 'InfocenterState' (STRING)", "0x10071512"], ["0x1006ede7", "call GameState (FUNCTION)", "0x10071517"], ["0x1006edec", "mov ecx, eax", "0x1007151c"], ["0x1006edee", "call LegoGameState::CreateState (FUNCTION)", "0x1007151e"], ["0x1006edf3", "mov dword ptr [esi + 0x100], eax", "0x10071523"], ["0x1006edf9", "mov dword ptr [eax + 0x74], 3", "0x10071529"]]}, {"orig": [["0x1006ee00", "jmp 0xa2"]], "recomp": [["0x10071530", "jmp 0xa3"]]}, {"both": [["0x1006ee05", "mov eax, dword ptr [ecx + 0x74]", "0x10071535"], ["0x1006ee08", "cmp eax, 8", "0x10071538"], ["0x1006ee0b", "je 0x11", "0x1007153b"], ["0x1006ee0d", "cmp eax, 4", "0x1007153d"], ["0x1006ee10", "je 0xc", "0x10071540"], ["0x1006ee12", "cmp eax, 0xf", "0x10071542"], ["0x1006ee15", "je 0x7", "0x10071545"], ["0x1006ee17", "mov dword ptr [ecx + 0x74], 2", "0x10071547"]]}, {"orig": [["0x1006ee1e", "xor edi, edi"]], "recomp": [["0x1007154e", "xor di, di"], ["0x10071551", "xor ecx, ecx"]]}, {"both": [["0x1006ee20", "mov eax, dword ptr [esi + 0x100]", "0x10071553"]]}, {"orig": [["0x1006ee26", "xor ecx, ecx"]], "recomp": []}, {"both": [["0x1006ee28", "movsx edx, di", "0x10071559"], ["0x1006ee2b", "cmp dword ptr [eax + edx*4 + 0x78], ecx", "0x1007155c"], ["0x1006ee2f", "je 0x8", "0x10071560"], ["0x1006ee31", "inc di", "0x10071562"], ["0x1006ee33", "cmp di, 7", "0x10071564"], ["0x1006ee37", "jl -0x11", "0x10071568"], ["0x1006ee39", "xor bx, bx", "0x1007156a"], ["0x1006ee3c", "test di, di", "0x1007156d"], ["0x1006ee3f", "jle 0x66", "0x10071570"], ["0x1006ee41", "mov eax, dword ptr [esi + 0x100]", "0x10071572"], ["0x1006ee47", "movsx ebp, bx", "0x10071578"], ["0x1006ee4a", "mov ecx, dword ptr [eax + ebp*4 + 0x78]", "0x1007157b"], ["0x1006ee4e", "test ecx, ecx", "0x1007157f"], ["0x1006ee50", "je 0x4e", "0x10071581"], ["0x1006ee52", "push 1", "0x10071583"], ["0x1006ee54", "mov eax, dword ptr [ecx]", "0x10071585"], ["0x1006ee56", "call dword ptr [eax + 0x54]", "0x10071587"]]}, {"orig": [["0x1006ee59", "mov eax, dword ptr [esi + 0x100]"]], "recomp": [["0x1007158a", "mov edx, dword ptr [esi + 0x100]"]]}, {"both": [["0x1006ee5f", "push 4", "0x10071590"]]}, {"orig": [["0x1006ee61", "mov ecx, dword ptr [eax + ebp*4 + 0x78]"]], "recomp": [["0x10071592", "mov ecx, dword ptr [edx + ebp*4 + 0x78]"]]}, {"both": [["0x1006ee65", "mov eax, dword ptr [ecx]", "0x10071596"], ["0x1006ee67", "call dword ptr [eax + 0x44]", "0x10071598"], ["0x1006ee6a", "mov edx, dword ptr [esi + 0x100]", "0x1007159b"], ["0x1006ee70", "push 0x2d", "0x100715a1"], ["0x1006ee72", "mov eax, 7", "0x100715a3"], ["0x1006ee77", "mov ecx, dword ptr [edx + ebp*4 + 0x78]", "0x100715a8"], ["0x1006ee7b", "movsx edx, di", "0x100715ac"], ["0x1006ee7e", "sub eax, edx", "0x100715af"], ["0x1006ee80", "cdq ", "0x100715b1"], ["0x1006ee81", "sub eax, edx", "0x100715b2"]]}]]]}, {"address": "0x1006ef10", "recomp": "0x10071640", "name": "Infocenter::Notify", "matching": 1.0, "diff": []}, {"address": "0x1006f080", "recomp": "0x100717b0", "name": "Infocenter::HandleEndAction", "matching": 0.9803328290468987, "diff": [["@@ -0x1006f15d,32 +0x1007188d,31 @@", [{"both": [["0x1006f15d", "mov ecx, esi", "0x1007188d"], ["0x1006f15f", "call Infocenter::PlayAction (FUNCTION)", "0x1007188f"], ["0x1006f164", "push 1", "0x10071894"], ["0x1006f166", "mov ecx, esi", "0x10071896"], ["0x1006f168", "call Infocenter::UpdateFrameHot (FUNCTION)", "0x10071898"], ["0x1006f16d", "lea ecx, [esi + 0x10c]", "0x1007189d"], ["0x1006f173", "push ebx", "0x100718a3"], ["0x1006f174", "mov eax, dword ptr [ecx]", "0x100718a4"], ["0x1006f176", "call dword ptr [eax + 4]", "0x100718a6"], ["0x1006f179", "test eax, eax", "0x100718a9"]]}, {"orig": [["0x1006f17b", "jne 0x2ef"], ["0x1006f181", "mov edx, dword ptr [esi + 0xc]"]], "recomp": [["0x100718ab", "jne 0x2ed"]]}, {"both": [["0x1006f184", "mov ecx, dword ptr [edi + 0x20]", "0x100718b1"]]}, {"orig": [["0x1006f187", "cmp edx, ecx"]], "recomp": [["0x100718b4", "cmp dword ptr [esi + 0xc], ecx"]]}, {"both": [["0x1006f189", "je 0xe", "0x100718b7"]]}, {"orig": [["0x1006f18b", "mov ebx, dword ptr [g_introScript (DATA)]"], ["0x1006f191", "cmp dword ptr [ebx], ecx"]], "recomp": [["0x100718b9", "mov edx, dword ptr [g_introScript (DATA)]"], ["0x100718bf", "cmp dword ptr [edx], ecx"]]}, {"both": [["0x1006f193", "jne 0x2d7", "0x100718c1"], ["0x1006f199", "cmp dword ptr [edi + 0x1c], 0x202", "0x100718c7"], ["0x1006f1a0", "jne 0x1a", "0x100718ce"], ["0x1006f1a2", "push 0", "0x100718d0"]]}, {"orig": [["0x1006f1a4", "push edx"]], "recomp": [["0x100718d2", "push ecx"]]}, {"both": [["0x1006f1a5", "push 0x10", "0x100718d3"], ["0x1006f1a7", "call ControlManager (FUNCTION)", "0x100718d5"], ["0x1006f1ac", "mov ecx, eax", "0x100718da"], ["0x1006f1ae", "call LegoControlManager::FUN_100293c0 (FUNCTION)", "0x100718dc"], ["0x1006f1b3", "mov word ptr [esi + 0x1d6], 0", "0x100718e1"], ["0x1006f1bc", "mov edx, dword ptr [esi + 0x100]", "0x100718ea"], ["0x1006f1c2", "lea eax, [edx + 0x74]", "0x100718f0"], ["0x1006f1c5", "mov ebx, dword ptr [eax]", "0x100718f3"], ["0x1006f1c7", "cmp ebx, 0xc", "0x100718f5"], ["0x1006f1ca", "ja 0x29b", "0x100718f8"]]}]], ["@@ -,21 +,20 @@", [{"both": [["0x1006f45b", "push 0x32", "0x10071b89"], ["0x1006f45d", "push 3", "0x10071b8b"], ["0x1006f45f", "call TransitionManager (FUNCTION)", "0x10071b8d"], ["0x1006f464", "mov ecx, eax", "0x10071b92"], ["0x1006f466", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10071b94"], ["0x1006f46b", "mov eax, 1", "0x10071b99"], ["0x1006f470", "pop edi", "0x10071b9e"], ["0x1006f471", "pop esi", "0x10071b9f"], ["0x1006f472", "pop ebx", "0x10071ba0"], ["0x1006f473", "ret 4", "0x10071ba1"]]}, {"orig": [["0x1006f476", "mov edi, edi"]], "recomp": []}, {"both": [["", "Jump table:", ""], ["0x1006f478", "Jump_dest_0", "0x10071ba4"], ["0x1006f47c", "Jump_dest_1", "0x10071ba8"], ["0x1006f480", "Jump_dest_2", "0x10071bac"], ["0x1006f484", "Jump_dest_3", "0x10071bb0"], ["0x1006f488", "Jump_dest_4", "0x10071bb4"], ["", "Jump table:", ""], ["0x1006f48c", "Jump_dest_0", "0x10071bb8"], ["0x1006f490", "Jump_dest_1", "0x10071bbc"], ["0x1006f494", "Jump_dest_2", "0x10071bc0"]]}]], ["@@ -,10 +,11 @@", [{"both": [["0x1006f4b8", "0x6", "0x10071be4"], ["0x1006f4b9", "0x8d", "0x10071be5"], ["0x1006f4ba", "0x49", "0x10071be6"], ["0x1006f4bb", "0x0", "0x10071be7"], ["", "Jump table:", ""], ["0x1006f4bc", "Jump_dest_0", "0x10071be8"], ["0x1006f4c0", "Jump_dest_1", "0x10071bec"], ["0x1006f4c4", "Jump_dest_2", "0x10071bf0"], ["0x1006f4c8", "Jump_dest_3", "0x10071bf4"], ["0x1006f4cc", "Jump_dest_4", "0x10071bf8"]]}, {"orig": [], "recomp": [["0x10071bfc", "Jump_dest_5"]]}]]]}, {"address": "0x1006f4e0", "recomp": "0x10071c00", "name": "Infocenter::ReadyWorld", "matching": 0.8964613368283093, "diff": [["@@ -0x1006f515,64 +0x10071c35,73 @@", [{"both": [["0x1006f515", "push 'BackgroundRed_Bitmap' (STRING)", "0x10071c35"], ["0x1006f51a", "push 'MxStillPresenter' (STRING)", "0x10071c3a"], ["0x1006f51f", "mov ecx, esi", "0x10071c3f"], ["0x1006f521", "call LegoWorld::Find (FUNCTION)", "0x10071c41"], ["0x1006f526", "mov edi, eax", "0x10071c46"], ["0x1006f528", "call GameState (FUNCTION)", "0x10071c48"], ["0x1006f52d", "mov eax, dword ptr [eax + 0x10]", "0x10071c4d"], ["0x1006f530", "cmp eax, ebp", "0x10071c50"], ["0x1006f532", "je 0x17", "0x10071c52"], ["0x1006f534", "cmp eax, 1", "0x10071c54"]]}, {"orig": [["0x1006f537", "je 0x172"]], "recomp": [["0x10071c57", "je 0x181"]]}, {"both": [["0x1006f53d", "cmp eax, 2", "0x10071c5d"]]}, {"orig": [["0x1006f540", "je 0x269"], ["0x1006f546", "jmp 0x40a"]], "recomp": [["0x10071c60", "je 0x28d"], ["0x10071c66", "jmp 0x42f"]]}, {"both": [["0x1006f54b", "push 1", "0x10071c6b"], ["0x1006f54d", "mov eax, dword ptr [ebx]", "0x10071c6d"], ["0x1006f54f", "mov ecx, ebx", "0x10071c6f"], ["0x1006f551", "call dword ptr [eax + 0x54]", "0x10071c71"], ["0x1006f554", "mov ecx, esi", "0x10071c74"], ["0x1006f556", "call Infocenter::InitializeBitmaps (FUNCTION)", "0x10071c76"], ["0x1006f55b", "mov eax, dword ptr [esi + 0x100]", "0x10071c7b"], ["0x1006f561", "mov ecx, dword ptr [eax + 0x74]", "0x10071c81"], ["0x1006f564", "add eax, 0x74", "0x10071c84"], ["0x1006f567", "sub ecx, 3", "0x10071c87"], ["0x1006f56a", "cmp ecx, 0xc", "0x10071c8a"], ["0x1006f56d", "ja 0xf", "0x10071c8d"], ["0x1006f56f", "xor edx, edx", "0x10071c8f"], ["0x1006f571", "mov dl, byte ptr [ecx + <OFFSET7>]", "0x10071c91"], ["0x1006f577", "jmp dword ptr [edx*4 + <OFFSET8>]", "0x10071c97"], ["0x1006f57e", "push 0xb", "0x10071c9e"], ["0x1006f580", "call PlayMusic (FUNCTION)", "0x10071ca0"], ["0x1006f585", "add esp, 4", "0x10071ca5"]]}, {"orig": [["0x1006f588", "mov edi, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x1006f58e", "call GameState (FUNCTION)", "0x10071ca8"]]}, {"orig": [["0x1006f593", "mov eax, dword ptr [eax + 0x10]"], ["0x1006f596", "lea edx, [eax + eax*2]"], ["0x1006f599", "lea ecx, [edi + edx*4 + 0x20]"]], "recomp": [["0x10071cad", "mov ecx, dword ptr [eax + 0x10]"], ["0x10071cb0", "mov eax, dword ptr [esi + 0x100]"], ["0x10071cb6", "lea edx, [ecx + ecx*2]"], ["0x10071cb9", "lea ecx, [eax + edx*4 + 0x20]"]]}, {"both": [["0x1006f59d", "call LegoState::Playlist::Next (FUNCTION)", "0x10071cbd"], ["0x1006f5a2", "push eax", "0x10071cc2"], ["0x1006f5a3", "mov edi, eax", "0x10071cc3"], ["0x1006f5a5", "mov ecx, esi", "0x10071cc5"], ["0x1006f5a7", "call Infocenter::PlayAction (FUNCTION)", "0x10071cc7"], ["0x1006f5ac", "cmp edi, 0x202", "0x10071ccc"], ["0x1006f5b2", "jne 0x9", "0x10071cd2"], ["0x1006f5b4", "mov word ptr [esi + 0x1d6], 1", "0x10071cd4"], ["0x1006f5bd", "push 7", "0x10071cdd"], ["0x1006f5bf", "push 0", "0x10071cdf"], ["0x1006f5c1", "call FUN_10015820 (FUNCTION)", "0x10071ce1"], ["0x1006f5c6", "add esp, 8", "0x10071ce6"], ["0x1006f5c9", "mov eax, dword ptr [esi + 0x100]", "0x10071ce9"], ["0x1006f5cf", "cmp dword ptr [eax + 0x78], 0", "0x10071cef"]]}, {"orig": [["0x1006f5d3", "jne 0x37c"]], "recomp": [["0x10071cf3", "jne 0x9"]]}, {"both": [["0x1006f5d9", "mov word ptr [esi + 0x1d2], 1", "0x10071cf5"]]}, {"orig": [["0x1006f5e2", "jmp 0x36e"]], "recomp": [["0x10071cfe", "mov dword ptr [eax + 0x74], 0xb"], ["0x10071d05", "push 7"], ["0x10071d07", "push 0"], ["0x10071d09", "call FUN_10015820 (FUNCTION)"], ["0x10071d0e", "add esp, 8"], ["0x10071d11", "pop ebp"], ["0x10071d12", "pop edi"], ["0x10071d13", "pop esi"], ["0x10071d14", "pop ebx"], ["0x10071d15", "ret "]]}, {"both": [["0x1006f5e7", "push 1", "0x10071d16"], ["0x1006f5e9", "mov ecx, esi", "0x10071d18"], ["0x1006f5eb", "push 0", "0x10071d1a"], ["0x1006f5ed", "call Infocenter::PlayCutscene (FUNCTION)", "0x10071d1c"], ["0x1006f5f2", "mov eax, dword ptr [esi + 0x100]", "0x10071d21"], ["0x1006f5f8", "pop ebp", "0x10071d27"], ["0x1006f5f9", "pop edi", "0x10071d28"], ["0x1006f5fa", "pop esi", "0x10071d29"], ["0x1006f5fb", "mov dword ptr [eax + 0x74], 0", "0x10071d2a"], ["0x1006f602", "pop ebx", "0x10071d31"]]}]], ["@@ -0x1006f723,43 +0x10071e52,48 @@", [{"both": [["0x1006f723", "call Infocenter::PlayCutscene (FUNCTION)", "0x10071e52"], ["0x1006f728", "mov eax, dword ptr [esi + 0x100]", "0x10071e57"], ["0x1006f72e", "pop ebp", "0x10071e5d"], ["0x1006f72f", "pop edi", "0x10071e5e"], ["0x1006f730", "pop esi", "0x10071e5f"], ["0x1006f731", "mov dword ptr [eax + 0x74], 0", "0x10071e60"], ["0x1006f738", "pop ebx", "0x10071e67"], ["0x1006f739", "ret ", "0x10071e68"], ["0x1006f73a", "mov eax, dword ptr [esi + 0x100]", "0x10071e69"], ["0x1006f740", "cmp dword ptr [eax + 0x74], 4", "0x10071e6f"]]}, {"orig": [["0x1006f744", "jne 0x1d6"]], "recomp": [["0x10071e73", "jne 0x1ec"]]}, {"both": [["0x1006f74a", "push 1", "0x10071e79"], ["0x1006f74c", "mov eax, dword ptr [edi]", "0x10071e7b"], ["0x1006f74e", "mov ecx, edi", "0x10071e7d"], ["0x1006f750", "call dword ptr [eax + 0x54]", "0x10071e7f"], ["0x1006f753", "call GameState (FUNCTION)", "0x10071e82"], ["0x1006f758", "mov edi, eax", "0x10071e87"], ["0x1006f75a", "call GameState (FUNCTION)", "0x10071e89"]]}, {"orig": [["0x1006f75f", "mov ecx, dword ptr [edi + 0x14]"], ["0x1006f762", "cmp dword ptr [eax + 0x10], ecx"]], "recomp": [["0x10071e8e", "mov ecx, dword ptr [edi + 0x10]"], ["0x10071e91", "cmp dword ptr [eax + 0x14], ecx"]]}, {"both": [["0x1006f765", "jne 0x2c", "0x10071e94"], ["0x1006f767", "call GameState (FUNCTION)", "0x10071e96"], ["0x1006f76c", "mov dword ptr [eax + 0x424], 0x2e", "0x10071e9b"], ["0x1006f776", "push 0x2e", "0x10071ea5"], ["0x1006f778", "call GameState (FUNCTION)", "0x10071ea7"], ["0x1006f77d", "mov ecx, eax", "0x10071eac"], ["0x1006f77f", "call LegoGameState::StopArea (FUNCTION)", "0x10071eae"], ["0x1006f784", "call GameState (FUNCTION)", "0x10071eb3"], ["0x1006f789", "mov dword ptr [eax + 0x424], 2", "0x10071eb8"], ["0x1006f793", "mov eax, dword ptr [esi + 0x100]", "0x10071ec2"], ["0x1006f799", "mov dword ptr [eax + 0x74], 5", "0x10071ec8"], ["0x1006f7a0", "mov dword ptr [esi + 0x104], 0x2e", "0x10071ecf"]]}, {"orig": [["0x1006f7aa", "jmp 0x12b"]], "recomp": [["0x10071ed9", "call GameState (FUNCTION)"], ["0x10071ede", "mov eax, dword ptr [eax + 0x10]"], ["0x10071ee1", "mov ecx, dword ptr [esi + 0x100]"], ["0x10071ee7", "lea edx, [eax + eax*2]"], ["0x10071eea", "lea ecx, [ecx + edx*4 + 0x20]"], ["0x10071eee", "jmp 0x141"]]}, {"both": [["0x1006f7af", "mov eax, dword ptr [esi + 0x100]", "0x10071ef3"], ["0x1006f7b5", "cmp dword ptr [eax + 0x74], 8", "0x10071ef9"], ["0x1006f7b9", "jne 0x30", "0x10071efd"], ["0x1006f7bb", "push 0xb", "0x10071eff"], ["0x1006f7bd", "call PlayMusic (FUNCTION)", "0x10071f01"], ["0x1006f7c2", "add esp, 4", "0x10071f06"], ["0x1006f7c5", "mov eax, dword ptr [edi]", "0x10071f09"], ["0x1006f7c7", "mov ecx, edi", "0x10071f0b"], ["0x1006f7c9", "push 1", "0x10071f0d"], ["0x1006f7cb", "call dword ptr [eax + 0x54]", "0x10071f0f"]]}]], ["@@ -0x1006f7ea,41 +0x10071f2e,42 @@", [{"both": [["0x1006f7ea", "ret ", "0x10071f2e"], ["0x1006f7eb", "push 'Act3State' (STRING)", "0x10071f2f"], ["0x1006f7f0", "call GameState (FUNCTION)", "0x10071f34"], ["0x1006f7f5", "mov ecx, eax", "0x10071f39"], ["0x1006f7f7", "call LegoGameState::GetState (FUNCTION)", "0x10071f3b"], ["0x1006f7fc", "mov ebp, eax", "0x10071f40"], ["0x1006f7fe", "call GameState (FUNCTION)", "0x10071f42"], ["0x1006f803", "mov ecx, eax", "0x10071f47"], ["0x1006f805", "call LegoGameState::FindLoadedAct (FUNCTION)", "0x10071f49"], ["0x1006f80a", "test ebp, ebp", "0x10071f4e"]]}, {"orig": [["0x1006f80c", "je 0x5c"], ["0x1006f80e", "cmp dword ptr [ebp + 8], 3"]], "recomp": [["0x10071f50", "je 0x5d"], ["0x10071f52", "mov eax, dword ptr [ebp + 8]"], ["0x10071f55", "cmp eax, 3"]]}, {"both": [["0x1006f812", "jne 0x26", "0x10071f58"], ["0x1006f814", "push 1", "0x10071f5a"], ["0x1006f816", "mov eax, dword ptr [ebx]", "0x10071f5c"], ["0x1006f818", "mov ecx, ebx", "0x10071f5e"], ["0x1006f81a", "call dword ptr [eax + 0x54]", "0x10071f60"], ["0x1006f81d", "push 1", "0x10071f63"], ["0x1006f81f", "mov ecx, esi", "0x10071f65"], ["0x1006f821", "push 4", "0x10071f67"], ["0x1006f823", "call Infocenter::PlayCutscene (FUNCTION)", "0x10071f69"], ["0x1006f828", "mov eax, dword ptr [esi + 0x100]", "0x10071f6e"], ["0x1006f82e", "pop ebp", "0x10071f74"], ["0x1006f82f", "pop edi", "0x10071f75"], ["0x1006f830", "pop esi", "0x10071f76"], ["0x1006f831", "mov dword ptr [eax + 0x74], 0", "0x10071f77"], ["0x1006f838", "pop ebx", "0x10071f7e"], ["0x1006f839", "ret ", "0x10071f7f"], ["0x1006f83a", "test ebp, ebp", "0x10071f80"]]}, {"orig": [["0x1006f83c", "je 0x2c"], ["0x1006f83e", "cmp dword ptr [ebp + 8], 2"]], "recomp": [["0x10071f82", "je 0x2b"], ["0x10071f84", "cmp eax, 2"]]}, {"both": [["0x1006f842", "jne 0x26", "0x10071f87"], ["0x1006f844", "push 1", "0x10071f89"], ["0x1006f846", "mov eax, dword ptr [ebx]", "0x10071f8b"], ["0x1006f848", "mov ecx, ebx", "0x10071f8d"], ["0x1006f84a", "call dword ptr [eax + 0x54]", "0x10071f8f"], ["0x1006f84d", "push 1", "0x10071f92"], ["0x1006f84f", "mov ecx, esi", "0x10071f94"], ["0x1006f851", "push 5", "0x10071f96"], ["0x1006f853", "call Infocenter::PlayCutscene (FUNCTION)", "0x10071f98"], ["0x1006f858", "mov eax, dword ptr [esi + 0x100]", "0x10071f9d"]]}]], ["@@ -,104 +,92 @@", [{"both": [["0x1006f86a", "mov eax, dword ptr [esi + 0x100]", "0x10071faf"], ["0x1006f870", "cmp dword ptr [eax + 0x74], 4", "0x10071fb5"], ["0x1006f874", "jne 0xa6", "0x10071fb9"], ["0x1006f87a", "push 1", "0x10071fbf"], ["0x1006f87c", "mov eax, dword ptr [edi]", "0x10071fc1"], ["0x1006f87e", "mov ecx, edi", "0x10071fc3"], ["0x1006f880", "call dword ptr [eax + 0x54]", "0x10071fc5"], ["0x1006f883", "call GameState (FUNCTION)", "0x10071fc8"], ["0x1006f888", "mov edi, eax", "0x10071fcd"], ["0x1006f88a", "call GameState (FUNCTION)", "0x10071fcf"]]}, {"orig": [["0x1006f88f", "mov eax, dword ptr [eax + 0x10]"], ["0x1006f892", "cmp dword ptr [edi + 0x14], eax"]], "recomp": [["0x10071fd4", "mov ecx, dword ptr [edi + 0x10]"], ["0x10071fd7", "cmp dword ptr [eax + 0x14], ecx"]]}, {"both": [["0x1006f895", "jne 0x2c", "0x10071fda"], ["0x1006f897", "call GameState (FUNCTION)", "0x10071fdc"], ["0x1006f89c", "mov dword ptr [eax + 0x424], 0x2f", "0x10071fe1"], ["0x1006f8a6", "push 0x2f", "0x10071feb"], ["0x1006f8a8", "call GameState (FUNCTION)", "0x10071fed"], ["0x1006f8ad", "mov ecx, eax", "0x10071ff2"], ["0x1006f8af", "call LegoGameState::StopArea (FUNCTION)", "0x10071ff4"], ["0x1006f8b4", "call GameState (FUNCTION)", "0x10071ff9"], ["0x1006f8b9", "mov dword ptr [eax + 0x424], 2", "0x10071ffe"], ["0x1006f8c3", "mov eax, dword ptr [esi + 0x100]", "0x10072008"], ["0x1006f8c9", "mov dword ptr [eax + 0x74], 5", "0x1007200e"], ["0x1006f8d0", "mov dword ptr [esi + 0x104], 0x2f", "0x10072015"]]}, {"orig": [["0x1006f8da", "mov edi, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x1006f8e0", "call GameState (FUNCTION)", "0x1007201f"], ["0x1006f8e5", "mov ecx, dword ptr [eax + 0x10]", "0x10072024"]]}, {"orig": [["0x1006f8e8", "lea eax, [ecx + ecx*2]"], ["0x1006f8eb", "lea ecx, [edi + eax*4 + 0x20]"]], "recomp": [["0x10072027", "mov eax, dword ptr [esi + 0x100]"], ["0x1007202d", "lea edx, [ecx + ecx*2]"], ["0x10072030", "lea ecx, [eax + edx*4 + 0x20]"]]}, {"both": [["0x1006f8ef", "call LegoState::Playlist::Next (FUNCTION)", "0x10072034"], ["0x1006f8f4", "push eax", "0x10072039"], ["0x1006f8f5", "mov ecx, esi", "0x1007203a"], ["0x1006f8f7", "call Infocenter::PlayAction (FUNCTION)", "0x1007203c"], ["0x1006f8fc", "call InputManager (FUNCTION)", "0x10072041"], ["0x1006f901", "mov byte ptr [eax + 0x88], 1", "0x10072046"], ["0x1006f908", "mov byte ptr [eax + 0x336], 0", "0x1007204d"], ["0x1006f90f", "push 7", "0x10072054"], ["0x1006f911", "push 0", "0x10072056"], ["0x1006f913", "call FUN_10015820 (FUNCTION)", "0x10072058"], ["0x1006f918", "add esp, 8", "0x1007205d"], ["0x1006f91b", "pop ebp", "0x10072060"], ["0x1006f91c", "pop edi", "0x10072061"], ["0x1006f91d", "pop esi", "0x10072062"], ["0x1006f91e", "pop ebx", "0x10072063"], ["0x1006f91f", "ret ", "0x10072064"], ["0x1006f920", "push 0xb", "0x10072065"], ["0x1006f922", "call PlayMusic (FUNCTION)", "0x10072067"], ["0x1006f927", "add esp, 4", "0x1007206c"]]}, {"orig": [["0x1006f92a", "mov ebx, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x1006f930", "call GameState (FUNCTION)", "0x1007206f"]]}, {"orig": [["0x1006f935", "mov eax, dword ptr [eax + 0x10]"], ["0x1006f938", "lea edx, [eax + eax*2]"], ["0x1006f93b", "lea ecx, [ebx + edx*4 + 0x20]"]], "recomp": [["0x10072074", "mov ecx, dword ptr [eax + 0x10]"], ["0x10072077", "mov eax, dword ptr [esi + 0x100]"], ["0x1007207d", "lea edx, [ecx + ecx*2]"], ["0x10072080", "lea ecx, [eax + edx*4 + 0x20]"]]}, {"both": [["0x1006f93f", "call LegoState::Playlist::Next (FUNCTION)", "0x10072084"], ["0x1006f944", "push eax", "0x10072089"], ["0x1006f945", "mov ecx, esi", "0x1007208a"], ["0x1006f947", "call Infocenter::PlayAction (FUNCTION)", "0x1007208c"], ["0x1006f94c", "push 1", "0x10072091"], ["0x1006f94e", "mov ebx, dword ptr [edi]", "0x10072093"], ["0x1006f950", "mov ecx, edi", "0x10072095"], ["0x1006f952", "call dword ptr [ebx + 0x54]", "0x10072097"], ["0x1006f955", "mov eax, dword ptr [esi + 0x100]", "0x1007209a"], ["0x1006f95b", "push 7", "0x100720a0"], ["0x1006f95d", "push 0", "0x100720a2"], ["0x1006f95f", "mov dword ptr [eax + 0x74], 0xb", "0x100720a4"], ["0x1006f966", "call FUN_10015820 (FUNCTION)", "0x100720ab"], ["0x1006f96b", "add esp, 8", "0x100720b0"], ["0x1006f96e", "pop ebp", "0x100720b3"], ["0x1006f96f", "pop edi", "0x100720b4"], ["0x1006f970", "pop esi", "0x100720b5"], ["0x1006f971", "pop ebx", "0x100720b6"], ["0x1006f972", "ret ", "0x100720b7"]]}, {"orig": [["0x1006f973", "nop "]], "recomp": []}, {"both": [["", "Jump table:", ""], ["0x1006f974", "Jump_dest_0", "0x100720b8"], ["0x1006f978", "Jump_dest_1", "0x100720bc"], ["0x1006f97c", "Jump_dest_2", "0x100720c0"], ["0x1006f980", "Jump_dest_3", "0x100720c4"], ["0x1006f984", "Jump_dest_4", "0x100720c8"], ["", "Data table:", ""], ["0x1006f988", "0x0", "0x100720cc"], ["0x1006f989", "0x1", "0x100720cd"], ["0x1006f98a", "0x4", "0x100720ce"], ["0x1006f98b", "0x4", "0x100720cf"], ["0x1006f98c", "0x4", "0x100720d0"], ["0x1006f98d", "0x2", "0x100720d1"], ["0x1006f98e", "0x4", "0x100720d2"], ["0x1006f98f", "0x4", "0x100720d3"], ["0x1006f990", "0x4", "0x100720d4"], ["0x1006f991", "0x4", "0x100720d5"], ["0x1006f992", "0x4", "0x100720d6"], ["0x1006f993", "0x4", "0x100720d7"], ["0x1006f994", "0x3", "0x100720d8"]]}, {"orig": [["0x1006f995", "0xcc"], ["0x1006f996", "0xcc"], ["0x1006f997", "0xcc"], ["0x1006f998", "0xcc"], ["0x1006f999", "0xcc"], ["0x1006f99a", "0xcc"], ["0x1006f99b", "0xcc"], ["0x1006f99c", "0xcc"], ["0x1006f99d", "0xcc"], ["0x1006f99e", "0xcc"], ["0x1006f99f", "0xcc"]], "recomp": []}]]]}, {"address": "0x1006f9a0", "recomp": "0x100720e0", "name": "Infocenter::InitializeBitmaps", "matching": 1.0, "diff": []}, {"address": "0x1006fd00", "recomp": "0x10072440", "name": "Infocenter::HandleMouseMove", "matching": 1.0, "diff": []}, {"address": "0x1006fda0", "recomp": "0x100724e0", "name": "Infocenter::HandleKeyPress", "matching": 0.7597765363128491, "diff": [["@@ -,67 +,65 @@", [{"both": [["0x1006fda0", "push esi", "0x100724e0"], ["0x1006fda1", "xor eax, eax", "0x100724e1"], ["0x1006fda3", "push edi", "0x100724e3"], ["0x1006fda4", "mov esi, ecx", "0x100724e4"], ["0x1006fda6", "cmp byte ptr [esp + 0xc], 0x20", "0x100724e6"]]}, {"orig": [["0x1006fdab", "jne 0xb7"]], "recomp": [["0x100724eb", "jne 0xb2"]]}, {"both": [["0x1006fdb1", "cmp byte ptr [esi + 0xf6], al", "0x100724f1"]]}, {"orig": [["0x1006fdb7", "je 0xab"]], "recomp": [["0x100724f7", "je 0xa6"]]}, {"both": [["0x1006fdbd", "mov eax, dword ptr [esi + 0x100]", "0x100724fd"], ["0x1006fdc3", "mov eax, dword ptr [eax + 0x74]", "0x10072503"], ["0x1006fdc6", "cmp eax, 0xd", "0x10072506"], ["0x1006fdc9", "ja 0xf", "0x10072509"], ["0x1006fdcb", "xor ecx, ecx", "0x1007250b"], ["0x1006fdcd", "mov cl, byte ptr [eax + <OFFSET1>]", "0x1007250d"], ["0x1006fdd3", "jmp dword ptr [ecx*4 + <OFFSET2>]", "0x10072513"], ["0x1006fdda", "mov edi, dword ptr [esi + 0xf8]", "0x1007251a"], ["0x1006fde0", "mov ecx, esi", "0x10072520"], ["0x1006fde2", "call Infocenter::StopCurrentAction (FUNCTION)", "0x10072522"]]}, {"orig": [["0x1006fde7", "mov edx, dword ptr [esi + 0x100]"], ["0x1006fded", "mov eax, dword ptr [edx + 0x74]"], ["0x1006fdf0", "add edx, 0x74"], ["0x1006fdf3", "sub eax, 5"], ["0x1006fdf6", "cmp eax, 7"]], "recomp": [["0x10072527", "mov eax, dword ptr [esi + 0x100]"], ["0x1007252d", "mov edx, dword ptr [eax + 0x74]"], ["0x10072530", "add eax, 0x74"], ["0x10072533", "sub edx, 5"], ["0x10072536", "cmp edx, 7"]]}, {"both": [["0x1006fdf9", "ja 0xf", "0x10072539"], ["0x1006fdfb", "xor ecx, ecx", "0x1007253b"]]}, {"orig": [["0x1006fdfd", "mov cl, byte ptr [eax + <OFFSET4>]"]], "recomp": [["0x1007253d", "mov cl, byte ptr [edx + <OFFSET4>]"]]}, {"both": [["0x1006fe03", "jmp dword ptr [ecx*4 + <OFFSET5>]", "0x10072543"]]}, {"orig": [], "recomp": [["0x1007254a", "pop edi"], ["0x1007254b", "mov dword ptr [eax], 2"]]}, {"both": [["0x1006fe0a", "mov eax, 1", "0x10072551"]]}, {"orig": [["0x1006fe0f", "pop edi"]], "recomp": []}, {"both": [["0x1006fe10", "pop esi", "0x10072556"]]}, {"orig": [["0x1006fe11", "mov dword ptr [edx], 2"]], "recomp": []}, {"both": [["0x1006fe17", "ret 4", "0x10072557"], ["0x1006fe1a", "mov eax, 1", "0x1007255a"], ["0x1006fe1f", "mov dword ptr [esi + 0xf8], edi", "0x1007255f"], ["0x1006fe25", "pop edi", "0x10072565"], ["0x1006fe26", "pop esi", "0x10072566"], ["0x1006fe27", "ret 4", "0x10072567"], ["0x1006fe2a", "mov ecx, esi", "0x1007256a"], ["0x1006fe2c", "call Infocenter::StopCutscene (FUNCTION)", "0x1007256c"]]}, {"orig": [["0x1006fe31", "mov eax, dword ptr [esi + 0x100]"], ["0x1006fe37", "mov ecx, 1"], ["0x1006fe3c", "mov dword ptr [eax + 0x74], ecx"], ["0x1006fe3f", "mov eax, dword ptr [esi + 0x100]"], ["0x1006fe45", "cmp dword ptr [eax + 0x78], 0"], ["0x1006fe49", "jne 0x18"], ["0x1006fe4b", "mov word ptr [esi + 0x1d2], cx"]], "recomp": [["0x10072571", "mov ecx, dword ptr [esi + 0x100]"]]}, {"both": [["0x1006fe52", "mov eax, 1", "0x10072577"]]}, {"orig": [], "recomp": [["0x1007257c", "mov dword ptr [ecx + 0x74], eax"], ["0x1007257f", "mov ecx, dword ptr [esi + 0x100]"], ["0x10072585", "cmp dword ptr [ecx + 0x78], 0"], ["0x10072589", "jne 0x13"], ["0x1007258b", "mov word ptr [esi + 0x1d2], ax"]]}, {"both": [["0x1006fe57", "pop edi", "0x10072592"], ["0x1006fe58", "pop esi", "0x10072593"], ["0x1006fe59", "ret 4", "0x10072594"], ["0x1006fe5c", "mov ecx, esi", "0x10072597"], ["0x1006fe5e", "call Infocenter::StopCredits (FUNCTION)", "0x10072599"], ["0x1006fe63", "mov eax, 1", "0x1007259e"], ["0x1006fe68", "pop edi", "0x100725a3"], ["0x1006fe69", "pop esi", "0x100725a4"], ["0x1006fe6a", "ret 4", "0x100725a5"]]}, {"orig": [["0x1006fe6d", "lea ecx, [ecx]"]], "recomp": []}, {"both": [["", "Jump table:", ""], ["0x1006fe70", "Jump_dest_0", "0x100725a8"], ["0x1006fe74", "Jump_dest_1", "0x100725ac"], ["0x1006fe78", "Jump_dest_2", "0x100725b0"], ["0x1006fe7c", "Jump_dest_3", "0x100725b4"], ["0x1006fe80", "Jump_dest_4", "0x100725b8"], ["", "Data table:", ""], ["0x1006fe84", "0x0", "0x100725bc"], ["0x1006fe85", "0x1", "0x100725bd"], ["0x1006fe86", "0x4", "0x100725be"]]}]], ["@@ -,10 +,19 @@", [{"both": [["0x1006fe90", "0x4", "0x100725c8"], ["0x1006fe91", "0x3", "0x100725c9"], ["0x1006fe92", "0x8b", "0x100725ca"], ["0x1006fe93", "0xff", "0x100725cb"], ["", "Jump table:", ""], ["0x1006fe94", "Jump_dest_0", "0x100725cc"], ["0x1006fe98", "Jump_dest_1", "0x100725d0"], ["0x1006fe9c", "Jump_dest_2", "0x100725d4"], ["0x1006fea0", "Jump_dest_3", "0x100725d8"], ["0x1006fea4", "Jump_dest_4", "0x100725dc"]]}, {"orig": [], "recomp": [["", "Data table:"], ["0x100725e0", "0x0"], ["0x100725e1", "0x4"], ["0x100725e2", "0x4"], ["0x100725e3", "0x1"], ["0x100725e4", "0x4"], ["0x100725e5", "0x4"], ["0x100725e6", "0x2"], ["0x100725e7", "0x3"]]}]]]}, {"address": "0x1006feb0", "recomp": "0x100725f0", "name": "Infocenter::HandleButtonUp", "matching": 0.9401709401709402, "diff": [["@@ -0x1006feb0,22 +0x100725f0,21 @@", [{"both": [["0x1006feb0", "push ebx", "0x100725f0"], ["0x1006feb1", "push esi", "0x100725f1"], ["0x1006feb2", "push edi", "0x100725f2"], ["0x1006feb3", "mov esi, ecx", "0x100725f3"]]}, {"orig": [["0x1006feb5", "push ebp"], ["0x1006feb6", "cmp dword ptr [esi + 0x11c], 0"], ["0x1006febd", "je 0x41b"]], "recomp": [["0x100725f5", "cmp dword ptr [ecx + 0x11c], 0"], ["0x100725fc", "je 0x424"]]}, {"both": [["0x1006fec3", "call InputManager (FUNCTION)", "0x10072602"]]}, {"orig": [["0x1006fec8", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x10072607", "mov ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1006fecc", "dec ecx", "0x1007260b"], ["0x1006fecd", "push ecx", "0x1007260c"]]}, {"orig": [["0x1006fece", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x1007260d", "mov ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1006fed2", "dec ecx", "0x10072611"], ["0x1006fed3", "push ecx", "0x10072612"], ["0x1006fed4", "mov ecx, dword ptr [eax + 0x84]", "0x10072613"], ["0x1006feda", "call LegoControlManager::FUN_100294e0 (FUNCTION)", "0x10072619"], ["0x1006fedf", "mov ecx, dword ptr [esi + 0x11c]", "0x1007261e"], ["0x1006fee5", "mov edx, dword ptr [ecx + 0x1c]", "0x10072624"], ["0x1006fee8", "mov ecx, dword ptr [edx + 0x1c]", "0x10072627"], ["0x1006feeb", "sub ecx, 0x1e", "0x1007262a"], ["0x1006feee", "cmp ecx, 4", "0x1007262d"], ["0x1006fef1", "ja 0x3c", "0x10072630"]]}]], ["@@ -0x100701ba,49 +0x100728f9,50 @@", [{"both": [["0x100701ba", "mov dword ptr [esi + 0x104], 0x20", "0x100728f9"], ["0x100701c4", "mov eax, dword ptr [esi + 0x100]", "0x10072903"], ["0x100701ca", "mov dword ptr [eax + 0x74], 5", "0x10072909"], ["0x100701d1", "mov ecx, dword ptr [esi + 0x11c]", "0x10072910"], ["0x100701d7", "push 0", "0x10072916"], ["0x100701d9", "mov eax, dword ptr [ecx]", "0x10072918"], ["0x100701db", "call dword ptr [eax + 0x54]", "0x1007291a"], ["0x100701de", "mov ecx, dword ptr [esi + 0x100]", "0x1007291d"], ["0x100701e4", "mov dword ptr [esi + 0x11c], 0", "0x10072923"], ["0x100701ee", "cmp dword ptr [ecx + 0x74], 5", "0x1007292d"]]}, {"orig": [["0x100701f2", "jne 0xd2"]], "recomp": [["0x10072931", "jne 0xdb"]]}, {"both": [["0x100701f8", "call GameState (FUNCTION)", "0x10072937"], ["0x100701fd", "cmp dword ptr [eax + 0x10], 0", "0x1007293c"], ["0x10070201", "je 0x21", "0x10072940"]]}, {"orig": [["0x10070203", "mov edi, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x10070209", "call GameState (FUNCTION)", "0x10072942"], ["0x1007020e", "mov eax, dword ptr [eax + 0x10]", "0x10072947"]]}, {"orig": [], "recomp": [["0x1007294a", "mov ecx, dword ptr [esi + 0x100]"]]}, {"both": [["0x10070211", "lea edx, [eax + eax*2]", "0x10072950"]]}, {"orig": [["0x10070214", "lea ecx, [edi + edx*4 + 0x44]"]], "recomp": [["0x10072953", "lea ecx, [ecx + edx*4 + 0x44]"]]}, {"both": [["0x10070218", "call LegoState::Playlist::Next (FUNCTION)", "0x10072957"], ["0x1007021d", "mov edi, eax", "0x1007295c"]]}, {"orig": [["0x1007021f", "jmp 0x9e"], ["0x10070224", "mov ebp, dword ptr [esi + 0x100]"], ["0x1007022a", "cmp dword ptr [ebp + 0x78], 0"], ["0x1007022e", "jne 0x18"], ["0x10070230", "mov dword ptr [ebp + 0x74], 2"]], "recomp": [["0x1007295e", "jmp 0xa7"], ["0x10072963", "mov eax, dword ptr [esi + 0x100]"], ["0x10072969", "cmp dword ptr [eax + 0x78], 0"], ["0x1007296d", "jne 0x1b"], ["0x1007296f", "mov dword ptr [eax + 0x74], 2"]]}, {"both": [["0x10070237", "mov dword ptr [esi + 0x104], 0", "0x10072976"], ["0x10070241", "mov edi, 0x23d", "0x10072980"]]}, {"orig": [["0x10070246", "jmp 0x7a"]], "recomp": [["0x10072985", "jmp 0x80"]]}, {"both": [["0x10070248", "mov bx, word ptr [esi + 0xfc]", "0x1007298a"], ["0x1007024f", "movsx eax, bx", "0x10072991"], ["0x10070252", "dec eax", "0x10072994"], ["0x10070253", "cmp eax, 4", "0x10072995"], ["0x10070256", "ja 0x7", "0x10072998"], ["0x10070258", "jmp dword ptr [eax*4 + <OFFSET15>]", "0x1007299a"], ["0x1007025f", "call GameState (FUNCTION)", "0x100729a1"], ["0x10070264", "mov eax, dword ptr [eax + 0x10]", "0x100729a6"]]}, {"orig": [], "recomp": [["0x100729a9", "mov ecx, dword ptr [esi + 0x100]"]]}, {"both": [["0x10070267", "lea edx, [eax + eax*2]", "0x100729af"]]}, {"orig": [["0x1007026a", "lea ecx, [ebp + edx*4 + 0x44]"]], "recomp": [["0x100729b2", "lea ecx, [ecx + edx*4 + 0x44]"]]}, {"both": [["0x1007026e", "call LegoState::Playlist::Next (FUNCTION)", "0x100729b6"], ["0x10070273", "mov edi, eax", "0x100729bb"], ["0x10070275", "jmp 0x29", "0x100729bd"], ["0x10070277", "mov edi, 0x21d", "0x100729bf"], ["0x1007027c", "jmp 0x1a", "0x100729c4"], ["0x1007027e", "mov edi, 0x21e", "0x100729c6"], ["0x10070283", "jmp 0x13", "0x100729cb"], ["0x10070285", "mov edi, 0x21f", "0x100729cd"], ["0x1007028a", "jmp 0xc", "0x100729d2"], ["0x1007028c", "mov edi, 0x220", "0x100729d4"]]}]], ["@@ -,26 +,25 @@", [{"both": [["0x100702c3", "mov ecx, esi", "0x10072a0b"], ["0x100702c5", "call Infocenter::PlayAction (FUNCTION)", "0x10072a0d"], ["0x100702ca", "push 1", "0x10072a12"], ["0x100702cc", "mov ecx, esi", "0x10072a14"], ["0x100702ce", "call Infocenter::UpdateFrameHot (FUNCTION)", "0x10072a16"], ["0x100702d3", "push 0", "0x10072a1b"], ["0x100702d5", "mov ecx, esi", "0x10072a1d"], ["0x100702d7", "push 0", "0x10072a1f"], ["0x100702d9", "call Infocenter::FUN_10070d10 (FUNCTION)", "0x10072a21"], ["0x100702de", "xor al, al", "0x10072a26"]]}, {"orig": [["0x100702e0", "pop ebp"]], "recomp": []}, {"both": [["0x100702e1", "pop edi", "0x10072a28"], ["0x100702e2", "pop esi", "0x10072a29"], ["0x100702e3", "pop ebx", "0x10072a2a"], ["0x100702e4", "ret 8", "0x10072a2b"]]}, {"orig": [["0x100702e7", "nop "]], "recomp": [["0x10072a2e", "mov edi, edi"]]}, {"both": [["", "Jump table:", ""], ["0x100702e8", "Jump_dest_0", "0x10072a30"], ["0x100702ec", "Jump_dest_1", "0x10072a34"], ["0x100702f0", "Jump_dest_2", "0x10072a38"], ["0x100702f4", "Jump_dest_3", "0x10072a3c"], ["0x100702f8", "Jump_dest_4", "0x10072a40"], ["", "Jump table:", ""], ["0x100702fc", "Jump_dest_0", "0x10072a44"], ["0x10070300", "Jump_dest_1", "0x10072a48"], ["0x10070304", "Jump_dest_2", "0x10072a4c"]]}]], ["@@ -,12 +,10 @@", [{"both": [["0x10070344", "Jump_dest_1", "0x10072a8c"], ["0x10070348", "Jump_dest_2", "0x10072a90"], ["0x1007034c", "Jump_dest_3", "0x10072a94"], ["0x10070350", "Jump_dest_4", "0x10072a98"], ["", "Jump table:", ""], ["0x10070354", "Jump_dest_0", "0x10072a9c"], ["0x10070358", "Jump_dest_1", "0x10072aa0"], ["0x1007035c", "Jump_dest_2", "0x10072aa4"], ["0x10070360", "Jump_dest_3", "0x10072aa8"], ["0x10070364", "Jump_dest_4", "0x10072aac"]]}, {"orig": [["0x10070368", "Jump_dest_5"], ["0x1007036c", "Jump_dest_6"]], "recomp": []}]]]}, {"address": "0x10070370", "recomp": "0x10072ab0", "name": "Infocenter::HandleControl", "matching": 0.7972508591065293, "diff": [["@@ -0x10070370,226 +0x10072ab0,223 @@", [{"both": [["0x10070370", "push ebx", "0x10072ab0"], ["0x10070371", "push esi", "0x10072ab1"], ["0x10070372", "push edi", "0x10072ab2"], ["0x10070373", "mov esi, ecx", "0x10072ab3"], ["0x10070375", "push ebp", "0x10072ab5"], ["0x10070376", "mov ebp, dword ptr [esp + 0x14]", "0x10072ab6"], ["0x1007037a", "cmp word ptr [ebp + 0x28], 1", "0x10072aba"]]}, {"orig": [["0x1007037f", "jne 0x456"]], "recomp": [["0x10072abf", "jne 0x450"]]}, {"both": [["0x10070385", "mov word ptr [esi + 0x1d0], 0", "0x10072ac5"], ["0x1007038e", "mov ebx, 0xffffffff", "0x10072ace"], ["0x10070393", "call Infocenter::StopCurrentAction (FUNCTION)", "0x10072ad3"], ["0x10070398", "mov edi, ebx", "0x10072ad8"], ["0x1007039a", "call GameState (FUNCTION)", "0x10072ada"], ["0x1007039f", "mov ecx, dword ptr [ebp + 0x20]", "0x10072adf"], ["0x100703a2", "add ecx, ebx", "0x10072ae2"], ["0x100703a4", "cmp ecx, 0x18", "0x10072ae4"]]}, {"orig": [["0x100703a7", "ja 0x40a"]], "recomp": [["0x10072ae7", "ja 0x404"]]}, {"both": [["0x100703ad", "jmp dword ptr [ecx*4 + <OFFSET3>]", "0x10072aed"], ["0x100703b4", "mov eax, dword ptr [esi + 0x100]", "0x10072af4"], ["0x100703ba", "mov ecx, esi", "0x10072afa"], ["0x100703bc", "mov dword ptr [eax + 0x74], 0xe", "0x10072afc"], ["0x100703c3", "call Infocenter::StopCurrentAction (FUNCTION)", "0x10072b03"], ["0x100703c8", "call GameState (FUNCTION)", "0x10072b08"], ["0x100703cd", "cmp dword ptr [eax + 0x10], 0", "0x10072b0d"], ["0x100703d1", "jne 0x2e", "0x10072b11"], ["0x100703d3", "lea ecx, [esi + 0x10c]", "0x10072b13"], ["0x100703d9", "call Radio::Stop (FUNCTION)", "0x10072b19"], ["0x100703de", "push 0", "0x10072b1e"], ["0x100703e0", "push 0", "0x10072b20"], ["0x100703e2", "push 0x32", "0x10072b22"], ["0x100703e4", "push 3", "0x10072b24"], ["0x100703e6", "call TransitionManager (FUNCTION)", "0x10072b26"], ["0x100703eb", "mov ecx, eax", "0x10072b2b"], ["0x100703ed", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10072b2d"], ["0x100703f2", "mov dword ptr [esi + 0x104], 5", "0x10072b32"]]}, {"orig": [["0x100703fc", "jmp 0x3b6"]], "recomp": [["0x10072b3c", "jmp 0x3b0"]]}, {"both": [["0x10070401", "mov ecx, dword ptr [esi + 0x100]", "0x10072b41"], ["0x10070407", "add ecx, 0x68", "0x10072b47"], ["0x1007040a", "call LegoState::Playlist::Next (FUNCTION)", "0x10072b4a"], ["0x1007040f", "push eax", "0x10072b4f"], ["0x10070410", "mov ecx, esi", "0x10072b50"], ["0x10070412", "call Infocenter::PlayAction (FUNCTION)", "0x10072b52"]]}, {"orig": [["0x10070417", "jmp 0x39b"]], "recomp": [["0x10072b57", "jmp 0x395"]]}, {"both": [["0x1007041c", "mov eax, dword ptr [esi + 0x100]", "0x10072b5c"], ["0x10070422", "mov ecx, esi", "0x10072b62"], ["0x10070424", "mov dword ptr [eax + 0x74], 0xe", "0x10072b64"], ["0x1007042b", "call Infocenter::StopCurrentAction (FUNCTION)", "0x10072b6b"], ["0x10070430", "call GameState (FUNCTION)", "0x10072b70"], ["0x10070435", "cmp dword ptr [eax + 0x10], 0", "0x10072b75"], ["0x10070439", "jne 0x2e", "0x10072b79"], ["0x1007043b", "lea ecx, [esi + 0x10c]", "0x10072b7b"], ["0x10070441", "call Radio::Stop (FUNCTION)", "0x10072b81"], ["0x10070446", "push 0", "0x10072b86"], ["0x10070448", "push 0", "0x10072b88"], ["0x1007044a", "push 0x32", "0x10072b8a"], ["0x1007044c", "push 3", "0x10072b8c"], ["0x1007044e", "call TransitionManager (FUNCTION)", "0x10072b8e"], ["0x10070453", "mov ecx, eax", "0x10072b93"], ["0x10070455", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10072b95"], ["0x1007045a", "mov dword ptr [esi + 0x104], 0xd", "0x10072b9a"]]}, {"orig": [["0x10070464", "jmp 0x34e"]], "recomp": [["0x10072ba4", "jmp 0x348"]]}, {"both": [["0x10070469", "mov ecx, dword ptr [esi + 0x100]", "0x10072ba9"], ["0x1007046f", "add ecx, 0x68", "0x10072baf"], ["0x10070472", "call LegoState::Playlist::Next (FUNCTION)", "0x10072bb2"], ["0x10070477", "push eax", "0x10072bb7"], ["0x10070478", "mov ecx, esi", "0x10072bb8"], ["0x1007047a", "call Infocenter::PlayAction (FUNCTION)", "0x10072bba"]]}, {"orig": [["0x1007047f", "jmp 0x333"]], "recomp": [["0x10072bbf", "jmp 0x32d"]]}, {"both": [["0x10070484", "mov ebx, 0x22d", "0x10072bc4"], ["0x10070489", "lea ecx, [esi + 0x10c]", "0x10072bc9"], ["0x1007048f", "call Radio::Stop (FUNCTION)", "0x10072bcf"]]}, {"orig": [["0x10070494", "jmp 0x31e"]], "recomp": [["0x10072bd4", "jmp 0x318"]]}, {"both": [["0x10070499", "mov eax, dword ptr [esi + 0x100]", "0x10072bd9"], ["0x1007049f", "cmp dword ptr [eax + 0x74], 8", "0x10072bdf"]]}, {"orig": [["0x100704a3", "je 0x30e"]], "recomp": [["0x10072be3", "je 0x308"], ["0x10072be9", "mov ebx, 0x20a"]]}, {"both": [["0x100704a9", "lea ecx, [esi + 0x10c]", "0x10072bee"]]}, {"orig": [["0x100704af", "mov ebx, 0x20a"]], "recomp": []}, {"both": [["0x100704b4", "call Radio::Stop (FUNCTION)", "0x10072bf4"], ["0x100704b9", "mov eax, dword ptr [esi + 0x100]", "0x10072bf9"], ["0x100704bf", "mov dword ptr [eax + 0x74], 8", "0x10072bff"]]}, {"orig": [["0x100704c6", "jmp 0x2ec"]], "recomp": [["0x10072c06", "jmp 0x2e6"]]}, {"both": [["0x100704cb", "mov ebx, 0x22e", "0x10072c0b"], ["0x100704d0", "lea ecx, [esi + 0x10c]", "0x10072c10"], ["0x100704d6", "call Radio::Stop (FUNCTION)", "0x10072c16"]]}, {"orig": [["0x100704db", "jmp 0x2d7"]], "recomp": [["0x10072c1b", "jmp 0x2d1"]]}, {"both": [["0x100704e0", "mov ebx, 0x231", "0x10072c20"], ["0x100704e5", "lea ecx, [esi + 0x10c]", "0x10072c25"], ["0x100704eb", "call Radio::Stop (FUNCTION)", "0x10072c2b"]]}, {"orig": [["0x100704f0", "jmp 0x2c2"]], "recomp": [["0x10072c30", "jmp 0x2bc"]]}, {"both": [["0x100704f5", "mov ebx, 0x230", "0x10072c35"], ["0x100704fa", "lea ecx, [esi + 0x10c]", "0x10072c3a"], ["0x10070500", "call Radio::Stop (FUNCTION)", "0x10072c40"]]}, {"orig": [["0x10070505", "jmp 0x2ad"]], "recomp": [["0x10072c45", "jmp 0x2a7"]]}, {"both": [["0x1007050a", "mov ebx, 0x22b", "0x10072c4a"], ["0x1007050f", "lea ecx, [esi + 0x10c]", "0x10072c4f"], ["0x10070515", "call Radio::Stop (FUNCTION)", "0x10072c55"]]}, {"orig": [["0x1007051a", "jmp 0x298"]], "recomp": [["0x10072c5a", "jmp 0x292"]]}, {"both": [["0x1007051f", "mov ebx, 0x22c", "0x10072c5f"], ["0x10070524", "lea ecx, [esi + 0x10c]", "0x10072c64"], ["0x1007052a", "call Radio::Stop (FUNCTION)", "0x10072c6a"]]}, {"orig": [["0x1007052f", "jmp 0x283"]], "recomp": [["0x10072c6f", "jmp 0x27d"]]}, {"both": [["0x10070534", "mov ebx, 0x22f", "0x10072c74"], ["0x10070539", "lea ecx, [esi + 0x10c]", "0x10072c79"], ["0x1007053f", "call Radio::Stop (FUNCTION)", "0x10072c7f"]]}, {"orig": [["0x10070544", "jmp 0x26e"]], "recomp": [["0x10072c84", "jmp 0x268"]]}, {"both": [["0x10070549", "mov ecx, dword ptr [eax + 0x10]", "0x10072c89"], ["0x1007054c", "test ecx, ecx", "0x10072c8c"], ["0x1007054e", "je 0x17", "0x10072c8e"], ["0x10070550", "cmp ecx, 1", "0x10072c90"]]}, {"orig": [["0x10070553", "je 0x129"]], "recomp": [["0x10072c93", "je 0x125"]]}, {"both": [["0x10070559", "cmp ecx, 2", "0x10072c99"]]}, {"orig": [["0x1007055c", "je 0x177"], ["0x10070562", "jmp 0x250"]], "recomp": [["0x10072c9c", "je 0x173"], ["0x10072ca2", "jmp 0x24a"]]}, {"both": [["0x10070567", "mov edx, dword ptr [eax + 0x428]", "0x10072ca7"]]}, {"orig": [["0x1007056d", "test edx, edx"], ["0x1007056f", "je 0x242"]], "recomp": []}, {"both": [["0x10070575", "sub edx, 3", "0x10072cad"], ["0x10070578", "cmp edx, 0xa", "0x10072cb0"]]}, {"orig": [["0x1007057b", "ja 0xf"]], "recomp": [["0x10072cb3", "ja 0x238"]]}, {"both": [["0x1007057d", "xor ecx, ecx", "0x10072cb9"], ["0x1007057f", "mov cl, byte ptr [edx + <OFFSET9>]", "0x10072cbb"], ["0x10070585", "jmp dword ptr [ecx*4 + <OFFSET10>]", "0x10072cc1"]]}, {"orig": [["0x1007058c", "cmp byte ptr [eax + 0xc], 0"], ["0x10070590", "je 0x221"]], "recomp": []}, {"both": [["0x10070596", "mov ecx, dword ptr [esi + 0x100]", "0x10072cc8"]]}, {"orig": [["0x1007059c", "cmp dword ptr [ecx + 0x78], 0"], ["0x100705a0", "jne 0x1e"], ["0x100705a2", "push 0x23d"], ["0x100705a7", "mov ecx, esi"], ["0x100705a9", "call Infocenter::PlayAction (FUNCTION)"], ["0x100705ae", "mov eax, dword ptr [esi + 0x100]"], ["0x100705b4", "mov dword ptr [eax + 0x74], 2"], ["0x100705bb", "jmp 0x1f7"]], "recomp": []}, {"both": [["0x100705c0", "mov dword ptr [ecx + 0x74], 5", "0x10072cce"], ["0x100705c7", "mov eax, dword ptr [eax + 0x428]", "0x10072cd5"]]}, {"orig": [["0x100705cd", "mov ebx, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x100705d3", "mov dword ptr [esi + 0x104], eax", "0x10072cdb"], ["0x100705d9", "call GameState (FUNCTION)", "0x10072ce1"], ["0x100705de", "mov ecx, dword ptr [eax + 0x10]", "0x10072ce6"]]}, {"orig": [["0x100705e1", "lea eax, [ecx + ecx*2]"], ["0x100705e4", "lea ecx, [ebx + eax*4 + 0x44]"]], "recomp": [["0x10072ce9", "mov eax, dword ptr [esi + 0x100]"], ["0x10072cef", "lea edx, [ecx + ecx*2]"], ["0x10072cf2", "lea ecx, [eax + edx*4 + 0x44]"]]}, {"both": [["0x100705e8", "call LegoState::Playlist::Next (FUNCTION)", "0x10072cf6"], ["0x100705ed", "mov ebx, eax", "0x10072cfb"], ["0x100705ef", "lea ecx, [esi + 0x10c]", "0x10072cfd"], ["0x100705f5", "call Radio::Stop (FUNCTION)", "0x10072d03"], ["0x100705fa", "call InputManager (FUNCTION)", "0x10072d08"], ["0x100705ff", "mov byte ptr [eax + 0x88], 1", "0x10072d0d"], ["0x10070606", "mov byte ptr [eax + 0x336], 0", "0x10072d14"], ["0x1007060d", "call InputManager (FUNCTION)", "0x10072d1b"], ["0x10070612", "mov byte ptr [eax + 0x336], 1", "0x10072d20"]]}, {"orig": [["0x10070619", "jmp 0x199"]], "recomp": [["0x10072d27", "jmp 0x1c5"], ["0x10072d2c", "cmp byte ptr [eax + 0xc], 0"], ["0x10072d30", "je 0x1bb"]]}, {"both": [["0x1007061e", "mov ecx, dword ptr [esi + 0x100]", "0x10072d36"]]}, {"orig": [], "recomp": [["0x10072d3c", "cmp dword ptr [ecx + 0x78], 0"], ["0x10072d40", "je 0x5e"]]}, {"both": [["0x10070624", "mov dword ptr [ecx + 0x74], 5", "0x10072d42"], ["0x1007062b", "mov eax, dword ptr [eax + 0x428]", "0x10072d49"]]}, {"orig": [["0x10070631", "mov ebx, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x10070637", "mov dword ptr [esi + 0x104], eax", "0x10072d4f"], ["0x1007063d", "call GameState (FUNCTION)", "0x10072d55"]]}, {"orig": [["0x10070642", "mov ecx, dword ptr [eax + 0x10]"], ["0x10070645", "lea eax, [ecx + ecx*2]"], ["0x10070648", "lea ecx, [ebx + eax*4 + 0x44]"]], "recomp": [["0x10072d5a", "mov eax, dword ptr [eax + 0x10]"], ["0x10072d5d", "mov ecx, dword ptr [esi + 0x100]"], ["0x10072d63", "lea edx, [eax + eax*2]"], ["0x10072d66", "lea ecx, [ecx + edx*4 + 0x44]"]]}, {"both": [["0x1007064c", "call LegoState::Playlist::Next (FUNCTION)", "0x10072d6a"], ["0x10070651", "mov ebx, eax", "0x10072d6f"], ["0x10070653", "lea ecx, [esi + 0x10c]", "0x10072d71"], ["0x10070659", "call Radio::Stop (FUNCTION)", "0x10072d77"], ["0x1007065e", "call InputManager (FUNCTION)", "0x10072d7c"], ["0x10070663", "mov byte ptr [eax + 0x88], 1", "0x10072d81"], ["0x1007066a", "mov byte ptr [eax + 0x336], 0", "0x10072d88"], ["0x10070671", "call InputManager (FUNCTION)", "0x10072d8f"], ["0x10070676", "mov byte ptr [eax + 0x336], 1", "0x10072d94"]]}, {"orig": [["0x1007067d", "jmp 0x135"]], "recomp": [["0x10072d9b", "jmp 0x151"], ["0x10072da0", "push 0x23d"], ["0x10072da5", "mov ecx, esi"], ["0x10072da7", "call Infocenter::PlayAction (FUNCTION)"], ["0x10072dac", "mov eax, dword ptr [esi + 0x100]"], ["0x10072db2", "mov dword ptr [eax + 0x74], 2"], ["0x10072db9", "jmp 0x133"]]}, {"both": [["0x10070682", "mov eax, dword ptr [esi + 0x100]", "0x10072dbe"], ["0x10070688", "mov dword ptr [eax + 0x74], 5", "0x10072dc4"], ["0x1007068f", "mov dword ptr [esi + 0x104], 0x2e", "0x10072dcb"]]}, {"orig": [["0x10070699", "mov ebx, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x1007069f", "call GameState (FUNCTION)", "0x10072dd5"], ["0x100706a4", "mov ecx, dword ptr [eax + 0x10]", "0x10072dda"]]}, {"orig": [["0x100706a7", "lea eax, [ecx + ecx*2]"], ["0x100706aa", "lea ecx, [ebx + eax*4 + 0x44]"]], "recomp": [["0x10072ddd", "mov eax, dword ptr [esi + 0x100]"], ["0x10072de3", "lea edx, [ecx + ecx*2]"], ["0x10072de6", "lea ecx, [eax + edx*4 + 0x44]"]]}, {"both": [["0x100706ae", "call LegoState::Playlist::Next (FUNCTION)", "0x10072dea"], ["0x100706b3", "mov ebx, eax", "0x10072def"], ["0x100706b5", "call InputManager (FUNCTION)", "0x10072df1"], ["0x100706ba", "mov byte ptr [eax + 0x88], 1", "0x10072df6"], ["0x100706c1", "mov byte ptr [eax + 0x336], 0", "0x10072dfd"], ["0x100706c8", "call InputManager (FUNCTION)", "0x10072e04"], ["0x100706cd", "mov byte ptr [eax + 0x336], 1", "0x10072e09"]]}, {"orig": [["0x100706d4", "jmp 0xde"]], "recomp": [["0x10072e10", "jmp 0xdc"]]}, {"both": [["0x100706d9", "mov eax, dword ptr [esi + 0x100]", "0x10072e15"], ["0x100706df", "mov dword ptr [eax + 0x74], 5", "0x10072e1b"], ["0x100706e6", "mov dword ptr [esi + 0x104], 0x2f", "0x10072e22"]]}, {"orig": [["0x100706f0", "mov ebx, dword ptr [esi + 0x100]"]], "recomp": []}, {"both": [["0x100706f6", "call GameState (FUNCTION)", "0x10072e2c"]]}, {"orig": [["0x100706fb", "mov ecx, dword ptr [eax + 0x10]"], ["0x100706fe", "lea eax, [ecx + ecx*2]"], ["0x10070701", "lea ecx, [ebx + eax*4 + 0x44]"]], "recomp": [["0x10072e31", "mov eax, dword ptr [eax + 0x10]"], ["0x10072e34", "mov ecx, dword ptr [esi + 0x100]"], ["0x10072e3a", "lea edx, [eax + eax*2]"], ["0x10072e3d", "lea ecx, [ecx + edx*4 + 0x44]"]]}, {"both": [["0x10070705", "call LegoState::Playlist::Next (FUNCTION)", "0x10072e41"], ["0x1007070a", "mov ebx, eax", "0x10072e46"], ["0x1007070c", "call InputManager (FUNCTION)", "0x10072e48"], ["0x10070711", "mov byte ptr [eax + 0x88], 1", "0x10072e4d"], ["0x10070718", "mov byte ptr [eax + 0x336], 0", "0x10072e54"], ["0x1007071f", "call InputManager (FUNCTION)", "0x10072e5b"], ["0x10070724", "mov byte ptr [eax + 0x336], 1", "0x10072e60"]]}, {"orig": [["0x1007072b", "jmp 0x87"]], "recomp": [["0x10072e67", "jmp 0x85"]]}, {"both": [["0x10070730", "mov eax, dword ptr [esi + 0x100]", "0x10072e6c"], ["0x10070736", "mov dword ptr [esi + 0x104], 0xc", "0x10072e72"], ["0x10070740", "mov dword ptr [eax + 0x74], 4", "0x10072e7c"], ["0x10070747", "call GameState (FUNCTION)", "0x10072e83"], ["0x1007074c", "cmp dword ptr [eax + 0x10], 1", "0x10072e88"], ["0x10070750", "sbb ebx, ebx", "0x10072e8c"], ["0x10070752", "lea ecx, [esi + 0x10c]", "0x10072e8e"], ["0x10070758", "add ebx, 0x47", "0x10072e94"], ["0x1007075b", "call Radio::Stop (FUNCTION)", "0x10072e97"], ["0x10070760", "call GameState (FUNCTION)", "0x10072e9c"]]}, {"orig": [["0x10070765", "mov ebp, eax"]], "recomp": [["0x10072ea1", "mov ebp, dword ptr [eax + 0x428]"]]}, {"both": [["0x10070767", "call GameState (FUNCTION)", "0x10072ea7"]]}, {"orig": [["0x1007076c", "mov eax, dword ptr [eax + 0x428]"], ["0x10070772", "mov dword ptr [ebp + 0x42c], eax"]], "recomp": [["0x10072eac", "mov dword ptr [eax + 0x42c], ebp"]]}, {"both": [["0x10070778", "call InputManager (FUNCTION)", "0x10072eb2"], ["0x1007077d", "mov byte ptr [eax + 0x88], 1", "0x10072eb7"], ["0x10070784", "mov byte ptr [eax + 0x336], 0", "0x10072ebe"], ["0x1007078b", "jmp 0x2a", "0x10072ec5"], ["0x1007078d", "mov edi, 0x1e", "0x10072ec7"], ["0x10070792", "jmp 0x1a", "0x10072ecc"], ["0x10070794", "mov edi, 0x1f", "0x10072ece"], ["0x10070799", "jmp 0x13", "0x10072ed3"], ["0x1007079b", "mov edi, 0x20", "0x10072ed5"], ["0x100707a0", "jmp 0xc", "0x10072eda"]]}]], ["@@ -,20 +,21 @@", [{"both": [["0x100707cd", "push eax", "0x10072f07"], ["0x100707ce", "mov ecx, esi", "0x10072f08"], ["0x100707d0", "call LegoWorld::Find (FUNCTION)", "0x10072f0a"], ["0x100707d5", "mov dword ptr [esi + 0x11c], eax", "0x10072f0f"], ["0x100707db", "mov al, 1", "0x10072f15"], ["0x100707dd", "pop ebp", "0x10072f17"], ["0x100707de", "pop edi", "0x10072f18"], ["0x100707df", "pop esi", "0x10072f19"], ["0x100707e0", "pop ebx", "0x10072f1a"], ["0x100707e1", "ret 4", "0x10072f1b"]]}, {"orig": [], "recomp": [["0x10072f1e", "mov edi, edi"]]}, {"both": [["", "Jump table:", ""], ["0x100707e4", "Jump_dest_0", "0x10072f20"], ["0x100707e8", "Jump_dest_1", "0x10072f24"], ["0x100707ec", "Jump_dest_2", "0x10072f28"], ["0x100707f0", "Jump_dest_3", "0x10072f2c"], ["0x100707f4", "Jump_dest_4", "0x10072f30"], ["0x100707f8", "Jump_dest_5", "0x10072f34"], ["0x100707fc", "Jump_dest_6", "0x10072f38"], ["0x10070800", "Jump_dest_7", "0x10072f3c"], ["0x10070804", "Jump_dest_8", "0x10072f40"]]}]], ["@@ -,16 +,20 @@", [{"both": [["0x1007083c", "Jump_dest_22", "0x10072f78"], ["0x10070840", "Jump_dest_23", "0x10072f7c"], ["0x10070844", "Jump_dest_24", "0x10072f80"], ["", "Jump table:", ""], ["0x10070848", "Jump_dest_0", "0x10072f84"], ["0x1007084c", "Jump_dest_1", "0x10072f88"], ["0x10070850", "Jump_dest_2", "0x10072f8c"], ["0x10070854", "Jump_dest_3", "0x10072f90"], ["", "Data table:", ""], ["0x10070858", "0x0", "0x10072f94"]]}, {"orig": [], "recomp": [["0x10072f95", "0x1"]]}, {"both": [["0x10070859", "0x3", "0x10072f96"]]}, {"orig": [["0x1007085a", "0x1"], ["0x1007085b", "0x1"], ["0x1007085c", "0x1"], ["0x1007085d", "0x1"], ["0x1007085e", "0x1"]], "recomp": [["0x10072f97", "0x3"], ["0x10072f98", "0x3"], ["0x10072f99", "0x3"], ["0x10072f9a", "0x3"], ["0x10072f9b", "0x3"], ["0x10072f9c", "0x3"], ["0x10072f9d", "0x2"], ["0x10072f9e", "0x2"]]}]]]}, {"address": "0x10070870", "recomp": "0x10072fa0", "name": "Infocenter::HandleNotification0", "matching": 0.8730650154798761, "diff": [["@@ -0x10070870,70 +0x10072fa0,72 @@", [{"orig": [], "recomp": [["0x10072fa0", "mov eax, dword ptr [esp + 4]"]]}, {"both": [["0x10070870", "push ebx", "0x10072fa4"], ["0x10070871", "push esi", "0x10072fa5"], ["0x10070872", "push edi", "0x10072fa6"], ["0x10070873", "mov esi, ecx", "0x10072fa7"]]}, {"orig": [["0x10070875", "mov ebx, dword ptr [esp + 0x10]"], ["0x10070879", "mov ecx, dword ptr [ebx + 8]"], ["0x1007087c", "test ecx, ecx"]], "recomp": [["0x10072fa9", "mov edi, dword ptr [eax + 8]"], ["0x10072fac", "test edi, edi"]]}, {"both": [["0x1007087e", "je 0x1e3", "0x10072fae"]]}, {"orig": [], "recomp": [["0x10072fb4", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10070884", "push 'MxEntity' (STRING)", "0x10072fb6"]]}, {"orig": [["0x10070889", "mov eax, dword ptr [ecx]"], ["0x1007088b", "call dword ptr [eax + 0x10]"]], "recomp": [["0x10072fbb", "mov ecx, edi"], ["0x10072fbd", "mov ebx, dword ptr [eax + 0x10]"], ["0x10072fc0", "call ebx"]]}, {"both": [["0x1007088e", "test al, al", "0x10072fc2"], ["0x10070890", "je 0x14a", "0x10072fc4"]]}, {"orig": [["0x10070896", "mov edi, dword ptr [esi + 0x100]"], ["0x1007089c", "mov ecx, dword ptr [edi + 0x74]"]], "recomp": [["0x10072fca", "mov edx, dword ptr [esi + 0x100]"], ["0x10072fd0", "mov ecx, dword ptr [edx + 0x74]"]]}, {"both": [["0x1007089f", "cmp ecx, 5", "0x10072fd3"], ["0x100708a2", "je 0x138", "0x10072fd6"], ["0x100708a8", "cmp ecx, 0xc", "0x10072fdc"], ["0x100708ab", "je 0x12f", "0x10072fdf"]]}, {"orig": [["0x100708b1", "mov eax, dword ptr [ebx + 8]"], ["0x100708b4", "mov eax, dword ptr [eax + 8]"]], "recomp": [["0x10072fe5", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x100708b7", "cmp eax, 5", "0x10072fe8"], ["0x100708ba", "je 0x19", "0x10072feb"], ["0x100708bc", "cmp eax, 6", "0x10072fed"]]}, {"orig": [["0x100708bf", "je 0x68"]], "recomp": [["0x10072ff0", "je 0x6e"]]}, {"both": [["0x100708c1", "cmp eax, 7", "0x10072ff2"]]}, {"orig": [["0x100708c4", "je 0xb3"]], "recomp": [["0x10072ff5", "je 0xb9"]]}, {"both": [["0x100708ca", "mov eax, 1", "0x10072ffb"], ["0x100708cf", "pop edi", "0x10073000"], ["0x100708d0", "pop esi", "0x10073001"], ["0x100708d1", "pop ebx", "0x10073002"], ["0x100708d2", "ret 4", "0x10073003"], ["0x100708d5", "mov word ptr [esi + 0x1d0], 0", "0x10073006"], ["0x100708de", "call GameState (FUNCTION)", "0x1007300f"], ["0x100708e3", "cmp dword ptr [eax + 0x10], 0", "0x10073014"]]}, {"orig": [], "recomp": [["0x10073018", "mov ecx, dword ptr [esi + 0x100]"]]}, {"both": [["0x100708e7", "jne 0x5", "0x1007301e"]]}, {"orig": [["0x100708e9", "lea ecx, [edi + 8]"]], "recomp": [["0x10073020", "add ecx, 8"]]}, {"both": [["0x100708ec", "jmp 0x3", "0x10073023"]]}, {"orig": [["0x100708ee", "lea ecx, [edi + 0x14]"]], "recomp": [["0x10073025", "add ecx, 0x14"]]}, {"both": [["0x100708f1", "call LegoState::Playlist::Next (FUNCTION)", "0x10073028"], ["0x100708f6", "push eax", "0x1007302d"], ["0x100708f7", "mov ecx, esi", "0x1007302e"], ["0x100708f9", "call Infocenter::PlayAction (FUNCTION)", "0x10073030"], ["0x100708fe", "push 0", "0x10073035"], ["0x10070900", "mov eax, dword ptr [g_object2x4red (DATA)]", "0x10073037"], ["0x10070905", "push eax", "0x1007303c"], ["0x10070906", "call SetROIVisible (FUNCTION)", "0x1007303d"], ["0x1007090b", "add esp, 8", "0x10073042"], ["0x1007090e", "mov eax, dword ptr [g_object2x4grn (DATA)]", "0x10073045"], ["0x10070913", "push 0", "0x1007304a"], ["0x10070915", "push eax", "0x1007304c"], ["0x10070916", "call SetROIVisible (FUNCTION)", "0x1007304d"], ["0x1007091b", "add esp, 8", "0x10073052"], ["0x1007091e", "mov eax, 1", "0x10073055"], ["0x10070923", "pop edi", "0x1007305a"], ["0x10070924", "pop esi", "0x1007305b"], ["0x10070925", "pop ebx", "0x1007305c"], ["0x10070926", "ret 4", "0x1007305d"], ["0x10070929", "cmp ecx, 8", "0x10073060"]]}, {"orig": [["0x1007092c", "jne 0x15d"]], "recomp": [["0x10073063", "jne 0x156"]]}, {"both": [["0x10070932", "mov ecx, esi", "0x10073069"], ["0x10070934", "call Infocenter::StopCurrentAction (FUNCTION)", "0x1007306b"], ["0x10070939", "push 0", "0x10073070"], ["0x1007093b", "mov eax, dword ptr [g_object2x4red (DATA)]", "0x10073072"], ["0x10070940", "push eax", "0x10073077"], ["0x10070941", "call SetROIVisible (FUNCTION)", "0x10073078"], ["0x10070946", "add esp, 8", "0x1007307d"], ["0x10070949", "mov eax, dword ptr [g_object2x4grn (DATA)]", "0x10073080"], ["0x1007094e", "push 0", "0x10073085"], ["0x10070950", "push eax", "0x10073087"]]}]], ["@@ -0x1007095f,47 +0x10073096,46 @@", [{"both": [["0x1007095f", "mov ecx, esi", "0x10073096"], ["0x10070961", "push 0x216", "0x10073098"], ["0x10070966", "mov dword ptr [eax + 0x74], 2", "0x1007309d"], ["0x1007096d", "call Infocenter::PlayAction (FUNCTION)", "0x100730a4"], ["0x10070972", "mov eax, 1", "0x100730a9"], ["0x10070977", "pop edi", "0x100730ae"], ["0x10070978", "pop esi", "0x100730af"], ["0x10070979", "pop ebx", "0x100730b0"], ["0x1007097a", "ret 4", "0x100730b1"], ["0x1007097d", "cmp ecx, 8", "0x100730b4"]]}, {"orig": [["0x10070980", "jne 0x109"], ["0x10070986", "cmp dword ptr [edi + 0x78], 0"]], "recomp": [["0x100730b7", "jne 0x102"], ["0x100730bd", "cmp dword ptr [edx + 0x78], 0"]]}, {"both": [["0x1007098a", "je 0xe", "0x100730c1"], ["0x1007098c", "push 0", "0x100730c3"], ["0x1007098e", "call GameState (FUNCTION)", "0x100730c5"], ["0x10070993", "mov ecx, eax", "0x100730ca"], ["0x10070995", "call LegoGameState::Save (FUNCTION)", "0x100730cc"], ["0x1007099a", "mov eax, dword ptr [esi + 0x100]", "0x100730d1"], ["0x100709a0", "push 0x20c", "0x100730d7"], ["0x100709a5", "mov ecx, esi", "0x100730dc"], ["0x100709a7", "mov ebx, 1", "0x100730de"], ["0x100709ac", "mov dword ptr [eax + 0x74], 0xc", "0x100730e3"], ["0x100709b3", "call Infocenter::PlayAction (FUNCTION)", "0x100730ea"], ["0x100709b8", "call InputManager (FUNCTION)", "0x100730ef"], ["0x100709bd", "mov byte ptr [eax + 0x88], bl", "0x100730f4"], ["0x100709c3", "mov byte ptr [eax + 0x336], 0", "0x100730fa"], ["0x100709ca", "call InputManager (FUNCTION)", "0x10073101"], ["0x100709cf", "pop edi", "0x10073106"], ["0x100709d0", "mov byte ptr [eax + 0x336], bl", "0x10073107"]]}, {"orig": [["0x100709d6", "mov eax, 1"]], "recomp": [["0x1007310d", "mov eax, ebx"]]}, {"both": [["0x100709db", "pop esi", "0x1007310f"], ["0x100709dc", "pop ebx", "0x10073110"], ["0x100709dd", "ret 4", "0x10073111"]]}, {"orig": [["0x100709e0", "mov ecx, dword ptr [ebx + 8]"]], "recomp": []}, {"both": [["0x100709e3", "push 'Radio' (STRING)", "0x10073114"]]}, {"orig": [["0x100709e8", "mov eax, dword ptr [ecx]"], ["0x100709ea", "call dword ptr [eax + 0x10]"]], "recomp": [["0x10073119", "mov ecx, edi"], ["0x1007311b", "call ebx"]]}, {"both": [["0x100709ed", "test al, al", "0x1007311d"], ["0x100709ef", "je 0x9a", "0x1007311f"], ["0x100709f5", "mov eax, dword ptr [esi + 0x114]", "0x10073125"], ["0x100709fb", "cmp byte ptr [eax + 0x2e], 0", "0x1007312b"], ["0x100709ff", "je 0x8a", "0x1007312f"], ["0x10070a05", "mov eax, dword ptr [esi + 0xf8]", "0x10073135"], ["0x10070a0b", "cmp eax, 0x28", "0x1007313b"], ["0x10070a0e", "je 0x45", "0x1007313e"], ["0x10070a10", "cmp eax, 0x29", "0x10073140"], ["0x10070a13", "je 0x40", "0x10073143"]]}]]]}, {"address": "0x10070aa0", "recomp": "0x100731d0", "name": "Infocenter::Enable", "matching": 1.0, "diff": []}, {"address": "0x10070af0", "recomp": "0x10073220", "name": "Infocenter::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10070c20", "recomp": "0x10073350", "name": "Infocenter::PlayCutscene", "matching": 1.0, "diff": []}, {"address": "0x10070cb0", "recomp": "0x100733e0", "name": "Infocenter::StopCutscene", "matching": 1.0, "diff": []}, {"address": "0x10070d00", "recomp": "0x10073430", "name": "Infocenter::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10070d10", "recomp": "0x10073440", "name": "Infocenter::FUN_10070d10", "matching": 0.8461538461538461, "diff": [["@@ -0x10070d10,39 +0x10073440,39 @@", [{"both": [["0x10070d10", "push ebx", "0x10073440"], ["0x10070d11", "push esi", "0x10073441"], ["0x10070d12", "push edi", "0x10073442"], ["0x10070d13", "mov esi, ecx", "0x10073443"], ["0x10070d15", "xor di, di", "0x10073445"], ["0x10070d18", "push ebp", "0x10073448"], ["0x10070d19", "mov ebx, dword ptr [esp + 0x14]", "0x10073449"], ["0x10070d1d", "movsx eax, di", "0x1007344d"], ["0x10070d20", "lea ecx, [eax + eax*2]", "0x10073450"]]}, {"orig": [["0x10070d23", "mov edx, dword ptr [esi + ecx*8 + 0x130]"], ["0x10070d2a", "mov ebp, dword ptr [esi + ecx*8 + 0x134]"]], "recomp": [["0x10073453", "mov edx, dword ptr [esi + ecx*8 + 0x134]"], ["0x1007345a", "mov ebp, dword ptr [esi + ecx*8 + 0x12c]"]]}, {"both": [["0x10070d31", "cmp dword ptr [esi + ecx*8 + 0x128], ebx", "0x10073461"], ["0x10070d38", "lea eax, [esi + ecx*8]", "0x10073468"]]}, {"orig": [["0x10070d3b", "mov ecx, dword ptr [esi + ecx*8 + 0x12c]"]], "recomp": [["0x1007346b", "mov ecx, dword ptr [esi + ecx*8 + 0x130]"]]}, {"both": [["0x10070d42", "jg 0x10", "0x10073472"]]}, {"orig": [["0x10070d44", "cmp edx, ebx"], ["0x10070d46", "jl 0xc"], ["0x10070d48", "cmp ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x10073474", "cmp ebx, ecx"], ["0x10073476", "jg 0xc"], ["0x10073478", "cmp ebp, dword ptr [esp + 0x18]"]]}, {"both": [["0x10070d4c", "jg 0x6", "0x1007347c"]]}, {"orig": [["0x10070d4e", "cmp ebp, dword ptr [esp + 0x18]"]], "recomp": [["0x1007347e", "cmp edx, dword ptr [esp + 0x18]"]]}, {"both": [["0x10070d52", "jge 0x8", "0x10073482"], ["0x10070d54", "inc di", "0x10073484"], ["0x10070d56", "cmp di, 7", "0x10073486"], ["0x10070d5a", "jl -0x3f", "0x1007348a"], ["0x10070d5c", "cmp di, 7", "0x1007348c"], ["0x10070d60", "jne 0x4", "0x10073490"], ["0x10070d62", "mov di, 0xffff", "0x10073492"], ["0x10070d66", "mov ax, word ptr [esi + 0x1c8]", "0x10073496"]]}, {"orig": [["0x10070d6d", "cmp di, ax"]], "recomp": [["0x1007349d", "cmp ax, di"]]}, {"both": [["0x10070d70", "je 0x3b", "0x100734a0"], ["0x10070d72", "cmp ax, 0xffff", "0x100734a2"], ["0x10070d76", "je 0x14", "0x100734a6"], ["0x10070d78", "movsx eax, ax", "0x100734a8"], ["0x10070d7b", "push 0", "0x100734ab"], ["0x10070d7d", "lea edx, [eax + eax*2]", "0x100734ad"], ["0x10070d80", "mov ecx, dword ptr [esi + edx*8 + 0x120]", "0x100734b0"], ["0x10070d87", "mov eax, dword ptr [ecx]", "0x100734b7"], ["0x10070d89", "call dword ptr [eax + 0x54]", "0x100734b9"], ["0x10070d8c", "mov word ptr [esi + 0x1c8], di", "0x100734bc"]]}]]]}, {"address": "0x10070dc0", "recomp": "0x100734f0", "name": "Infocenter::UpdateFrameHot", "matching": 1.0, "diff": []}, {"address": "0x10070e90", "recomp": "0x100735c0", "name": "Infocenter::Reset", "matching": 1.0, "diff": []}, {"address": "0x10070f60", "recomp": "0x10073690", "name": "Infocenter::Escape", "matching": 0.85, "diff": [["@@ -0x10070f60,50 +0x10073690,50 @@", [{"both": [["0x10070f60", "mov eax, dword ptr fs:[0]", "0x10073690"], ["0x10070f66", "push ebp", "0x10073696"], ["0x10070f67", "mov ebp, esp", "0x10073697"], ["0x10070f69", "push -1", "0x10073699"], ["0x10070f6b", "push <OFFSET1>", "0x1007369b"], ["0x10070f70", "push eax", "0x100736a0"], ["0x10070f71", "mov dword ptr fs:[0], esp", "0x100736a1"], ["0x10070f78", "sub esp, 0xc", "0x100736a8"], ["0x10070f7b", "push esi", "0x100736ab"], ["0x10070f7c", "push edi", "0x100736ac"]]}, {"orig": [], "recomp": [["0x100736ad", "mov eax, dword ptr [ecx + 0x100]"]]}, {"both": [["0x10070f7d", "mov esi, ecx", "0x100736b3"]]}, {"orig": [["0x10070f7f", "mov ecx, dword ptr [ecx + 0x100]"]], "recomp": [["0x100736b5", "test eax, eax"], ["0x100736b7", "je 0x1e"], ["0x100736b9", "mov ecx, dword ptr [eax + 0x74]"], ["0x100736bc", "add eax, 0x74"]]}, {"both": [["0x10070f85", "test ecx, ecx", "0x100736bf"]]}, {"orig": [["0x10070f87", "je 0x1e"], ["0x10070f89", "mov eax, dword ptr [ecx + 0x74]"], ["0x10070f8c", "add ecx, 0x74"], ["0x10070f8f", "test eax, eax"]], "recomp": []}, {"both": [["0x10070f91", "jne 0x26", "0x100736c1"], ["0x10070f93", "mov ecx, esi", "0x100736c3"], ["0x10070f95", "call Infocenter::StopCutscene (FUNCTION)", "0x100736c5"], ["0x10070f9a", "mov eax, dword ptr [esi + 0x100]", "0x100736ca"], ["0x10070fa0", "mov dword ptr [eax + 0x74], 1", "0x100736d0"], ["0x10070fa7", "xor al, al", "0x100736d7"], ["0x10070fa9", "mov ecx, dword ptr [ebp - 0xc]", "0x100736d9"], ["0x10070fac", "mov dword ptr fs:[0], ecx", "0x100736dc"], ["0x10070fb3", "pop edi", "0x100736e3"], ["0x10070fb4", "pop esi", "0x100736e4"], ["0x10070fb5", "mov esp, ebp", "0x100736e5"], ["0x10070fb7", "pop ebp", "0x100736e7"], ["0x10070fb8", "ret ", "0x100736e8"]]}, {"orig": [["0x10070fb9", "cmp eax, 0xd"]], "recomp": [["0x100736e9", "cmp ecx, 0xd"]]}, {"both": [["0x10070fbc", "jne 0x9", "0x100736ec"], ["0x10070fbe", "mov ecx, esi", "0x100736ee"], ["0x10070fc0", "call Infocenter::StopCredits (FUNCTION)", "0x100736f0"], ["0x10070fc5", "jmp -0x20", "0x100736f5"]]}, {"orig": [["0x10070fc7", "cmp eax, 8"]], "recomp": [["0x100736f7", "cmp ecx, 8"]]}, {"both": [["0x10070fca", "je -0x25", "0x100736fa"]]}, {"orig": [], "recomp": [["0x100736fc", "mov dword ptr [ebp - 0x18], MxParam::`vftable' (VTABLE)"], ["0x10073703", "mov dword ptr [eax], 8"]]}, {"both": [["0x10070fcc", "xor eax, eax", "0x10073709"]]}, {"orig": [["0x10070fce", "mov dword ptr [ecx], 8"], ["0x10070fd4", "mov dword ptr [ebp - 0x18], MxParam::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x10070fdb", "mov dword ptr [ebp - 4], eax", "0x1007370b"], ["0x10070fde", "mov dword ptr [ebp - 0x14], eax", "0x1007370e"], ["0x10070fe1", "mov dword ptr [ebp - 0x10], eax", "0x10073711"], ["0x10070fe4", "lea eax, [ebp - 0x18]", "0x10073714"], ["0x10070fe7", "mov ecx, esi", "0x10073717"], ["0x10070fe9", "mov dword ptr [ebp - 0x18], MxNotificationParam::`vftable' (VTABLE)", "0x10073719"], ["0x10070ff0", "mov dword ptr [ebp - 4], 0xffffffff", "0x10073720"], ["0x10070ff7", "mov dword ptr [ebp - 4], 1", "0x10073727"], ["0x10070ffe", "push eax", "0x1007372e"], ["0x10070fff", "mov edi, dword ptr [esi]", "0x1007372f"]]}]]]}, {"address": "0x10071030", "recomp": "0x10073760", "name": "Infocenter::StartCredits", "matching": 1.0, "diff": []}, {"address": "0x10071250", "recomp": "0x10073980", "name": "Infocenter::StopCredits", "matching": 1.0, "diff": []}, {"address": "0x10071300", "recomp": "0x10073a30", "name": "Infocenter::PlayAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x10071345,22 +0x10073a75,22 @@", [{"both": [["0x10071345", "mov ecx, dword ptr [eax]", "0x10073a75"], ["0x10071347", "mov dword ptr [ebp - 0x10], ecx", "0x10073a77"], ["0x1007134a", "lea ecx, [ebp - 0x10]", "0x10073a7a"], ["0x1007134d", "push ecx", "0x10073a7d"], ["0x1007134e", "lea ecx, [ebp - 0x88]", "0x10073a7e"], ["0x10071354", "call MxAtomId::operator= (FUNCTION)", "0x10073a84"], ["0x10071359", "mov byte ptr [ebp - 4], 0", "0x10073a89"], ["0x1007135d", "call <OFFSET5>", "0x10073a8d"], ["0x10071362", "mov ecx, dword ptr [ebp - 0x14]", "0x10073a92"], ["0x10071365", "call Infocenter::StopCurrentAction (FUNCTION)", "0x10073a95"]]}, {"orig": [], "recomp": [["0x10073a9a", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x1007136a", "mov ecx, dword ptr [ebp + 8]", "0x10073a9d"]]}, {"orig": [["0x1007136d", "mov eax, dword ptr [ebp - 0x14]"]], "recomp": []}, {"both": [["0x10071370", "mov dword ptr [eax + 0xf8], ecx", "0x10073aa0"], ["0x10071376", "call BackgroundAudioManager (FUNCTION)", "0x10073aa6"], ["0x1007137b", "mov ecx, eax", "0x10073aab"], ["0x1007137d", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10073aad"], ["0x10071382", "lea ecx, [ebp - 0xa8]", "0x10073ab2"], ["0x10071388", "push ecx", "0x10073ab8"], ["0x10071389", "call Start (FUNCTION)", "0x10073ab9"], ["0x1007138e", "mov dword ptr [ebp - 4], 0xffffffff", "0x10073abe"], ["0x10071395", "add esp, 4", "0x10073ac5"], ["0x10071398", "call <OFFSET10>", "0x10073ac8"]]}]]]}, {"address": "0x100713d0", "recomp": "0x10073b00", "name": "Infocenter::StopCurrentAction", "matching": 1.0, "diff": []}, {"address": "0x100714a0", "recomp": "0x10073bd0", "name": "Infocenter::PlayBookAnimation", "matching": 1.0, "diff": []}, {"address": "0x10071550", "recomp": "0x10073c80", "name": "Infocenter::StopBookAnimation", "matching": 1.0, "diff": []}, {"address": "0x10071600", "recomp": "0x10073d30", "name": "InfocenterState::InfocenterState", "matching": 1.0, "diff": []}, {"address": "0x10071800", "recomp": "0x10073f30", "name": "LegoState::Playlist::operator=", "matching": 1.0, "diff": []}, {"address": "0x10071830", "recomp": "0x10074020", "name": "InfocenterState::IsSerializable", "matching": 1.0, "diff": []}, {"address": "0x10071840", "recomp": "0x10073f60", "name": "InfocenterState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10071850", "recomp": "0x10073f70", "name": "InfocenterState::IsA", "matching": 1.0, "diff": []}, {"address": "0x10071900", "recomp": "0x10074030", "name": "InfocenterState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10071920", "recomp": "0x10074050", "name": "InfocenterState::~InfocenterState", "matching": 1.0, "diff": []}, {"address": "0x100719b0", "recomp": "0x100740e0", "name": "RaceSkel::RaceSkel", "matching": 1.0, "diff": []}, {"address": "0x10071ad0", "recomp": "0x10074200", "name": "RaceSkel::~RaceSkel", "matching": 1.0, "effective": true, "diff": [["@@ -0x10071aef,21 +0x1007421f,21 @@", [{"both": [["0x10071aef", "mov eax, dword ptr [ecx - 0x20]", "0x1007421f"], ["0x10071af2", "sub esp, 4", "0x10074222"], ["0x10071af5", "mov dword ptr [ebp - 0x10], ecx", "0x10074225"], ["0x10071af8", "mov ecx, dword ptr [eax + 4]", "0x10074228"], ["0x10071afb", "mov edx, dword ptr [ebp - 0x10]", "0x1007422b"], ["0x10071afe", "mov dword ptr [ecx + edx - 0x20], RaceSkel::`vftable'{for `LegoPathActor'} (VTABLE)", "0x1007422e"], ["0x10071b06", "mov eax, dword ptr [edx - 0x20]", "0x10074236"], ["0x10071b09", "mov dword ptr [ebp - 4], 0xffffffff", "0x10074239"], ["0x10071b10", "mov eax, dword ptr [eax + 4]", "0x10074240"], ["0x10071b13", "lea ecx, [eax - 0x20]", "0x10074243"]]}, {"orig": [["0x10071b16", "mov dword ptr [eax + edx - 0x24], ecx"]], "recomp": [["0x10074246", "mov dword ptr [edx + eax - 0x24], ecx"]]}, {"both": [["0x10071b1a", "call <OFFSET4>", "0x1007424a"], ["0x10071b1f", "mov eax, dword ptr [ebp - 0xc]", "0x1007424f"], ["0x10071b22", "mov esp, ebp", "0x10074252"], ["0x10071b24", "mov dword ptr fs:[0], eax", "0x10074254"], ["0x10071b2a", "pop ebp", "0x1007425a"], ["0x10071b2b", "ret ", "0x1007425b"], ["0x10071b2c", "mov eax, <OFFSET5>", "0x1007425c"], ["0x10071b31", "jmp ___CxxFrameHandler (FUNCTION)", "0x10074261"], ["0x10071b36", "mov ecx, dword ptr [ebp - 0x10]", "0x10074266"], ["0x10071b39", "sub ecx, 4", "0x10074269"]]}]]]}, {"address": "0x10071b50", "recomp": "0x10074280", "name": "RaceSkel::FUN_1001c360", "matching": 1.0, "diff": []}, {"address": "0x10071b90", "recomp": "0x100742c0", "name": "RaceSkel::ParseAction", "matching": 1.0, "diff": []}, {"address": "0x10071cb0", "recomp": "0x100743b0", "name": "RaceSkel::GetCurrentAnimData", "matching": 1.0, "diff": []}, {"address": "0x10071ce0", "recomp": "0x100743e0", "name": "RaceSkel::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10071cf0", "recomp": "0x100743f0", "name": "RaceSkel::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10071d20", "recomp": "0x10074420", "name": "LegoAnimActor::ClassName`vtordisp{-4, 4}'", "matching": 1.0, "diff": []}, {"address": "0x10071d30", "recomp": "0x10074430", "name": "RaceSkel::ParseAction`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10071d40", "recomp": "0x10074440", "name": "Act3List::Insert", "matching": 1.0, "diff": []}, {"address": "0x10071f10", "recomp": "0x10074610", "name": "list<Act3ListElement,allocator<Act3ListElement> >::insert", "matching": 1.0, "diff": []}, {"address": "0x10071f70", "recomp": "0x10074670", "name": "list<Act3ListElement,allocator<Act3ListElement> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x10071fa0", "recomp": "0x100746a0", "name": "Act3List::FUN_10071fa0", "matching": 1.0, "diff": []}, {"address": "0x10071fb0", "recomp": "0x100746b0", "name": "Act3List::Clear", "matching": 1.0, "effective": true, "diff": [["@@ -0x10071fd5,21 +0x100746d5,21 @@", [{"both": [["0x10071fd5", "mov dword ptr [ebp - 0x14], ecx", "0x100746d5"], ["0x10071fd8", "call BackgroundAudioManager (FUNCTION)", "0x100746d8"], ["0x10071fdd", "mov ecx, eax", "0x100746dd"], ["0x10071fdf", "call MxBackgroundAudioManager::Stop (FUNCTION)", "0x100746df"], ["0x10071fe4", "mov eax, dword ptr [ebp - 0x14]", "0x100746e4"], ["0x10071fe7", "cmp dword ptr [eax + 8], 0", "0x100746e7"], ["0x10071feb", "je 0xb1", "0x100746eb"], ["0x10071ff1", "mov eax, dword ptr [eax + 4]", "0x100746f1"], ["0x10071ff4", "mov ecx, dword ptr [eax]", "0x100746f4"], ["0x10071ff6", "mov dword ptr [ebp - 0x10], ecx", "0x100746f6"]]}, {"orig": [["0x10071ff9", "cmp ecx, eax"]], "recomp": [["0x100746f9", "cmp eax, ecx"]]}, {"both": [["0x10071ffb", "je 0xa1", "0x100746fb"], ["0x10072001", "mov eax, dword ptr [ebp - 0x10]", "0x10074701"], ["0x10072004", "cmp byte ptr [eax + 0x10], 0", "0x10074704"], ["0x10072008", "je 0x5f", "0x10074708"], ["0x1007200a", "lea ecx, [ebp - 0xb0]", "0x1007470a"], ["0x10072010", "call MxDSAction::MxDSAction (FUNCTION)", "0x10074710"], ["0x10072015", "mov dword ptr [ebp - 4], 0", "0x10074715"], ["0x1007201c", "mov eax, dword ptr [g_act3Script (DATA)]", "0x1007471c"], ["0x10072021", "mov byte ptr [ebp - 4], 1", "0x10074721"], ["0x10072025", "mov ecx, dword ptr [eax]", "0x10074725"]]}]]]}, {"address": "0x100720d0", "recomp": "0x100747d0", "name": "Act3List::FUN_100720d0", "matching": 0.3902439024390244, "diff": [["@@ -0x100720d0,113 +0x100747d0,119 @@", [{"both": [["0x100720d0", "sub esp, 0xc", "0x100747d0"], ["0x100720d3", "push ebx", "0x100747d3"], ["0x100720d4", "push esi", "0x100747d4"], ["0x100720d5", "push edi", "0x100747d5"], ["0x100720d6", "mov esi, ecx", "0x100747d6"], ["0x100720d8", "push ebp", "0x100747d8"]]}, {"orig": [["0x100720d9", "xor ecx, ecx"], ["0x100720db", "cmp dword ptr [esi + 0xc], ecx"], ["0x100720de", "jne 0x114"], ["0x100720e4", "xor ebp, ebp"], ["0x100720e6", "cmp dword ptr [esi + 8], ecx"], ["0x100720e9", "je 0x109"], ["0x100720ef", "mov ebx, dword ptr [esp + 0x20]"], ["0x100720f3", "cmp ebx, ecx"], ["0x100720f5", "je 0x3a"], ["0x100720f7", "mov edi, dword ptr [esi + 4]"], ["0x100720fa", "mov eax, dword ptr [edi]"], ["0x100720fc", "mov edx, eax"], ["0x100720fe", "cmp eax, edi"], ["0x10072100", "je 0x46"], ["0x10072102", "cmp byte ptr [edx + 0x10], cl"]], "recomp": [["0x100747d9", "cmp dword ptr [esi + 0xc], 0"], ["0x100747dd", "jne 0x133"], ["0x100747e3", "xor edi, edi"], ["0x100747e5", "cmp dword ptr [esi + 8], edi"], ["0x100747e8", "je 0x128"], ["0x100747ee", "mov ecx, dword ptr [esp + 0x20]"], ["0x100747f2", "cmp ecx, edi"], ["0x100747f4", "jne 0x14"], ["0x100747f6", "mov eax, dword ptr [esi + 4]"], ["0x100747f9", "mov ecx, dword ptr [eax]"], ["0x100747fb", "lea eax, [esp + 0x10]"], ["0x100747ff", "push ecx"], ["0x10074800", "push eax"], ["0x10074801", "mov ecx, esi"], ["0x10074803", "call list<Act3ListElement,allocator<Act3ListElement> >::erase (FUNCTION)"], ["0x10074808", "jmp 0x52"], ["0x1007480a", "mov ebx, dword ptr [esi + 4]"], ["0x1007480d", "mov edx, dword ptr [ebx]"], ["0x1007480f", "mov dword ptr [esp + 0x10], edx"], ["0x10074813", "cmp edx, ebx"], ["0x10074815", "je 0x4a"], ["0x10074817", "xor edx, edx"], ["0x10074819", "mov eax, dword ptr [esp + 0x10]"], ["0x1007481d", "cmp byte ptr [eax + 0x10], dl"]]}, {"both": [["0x10072105", "je 0x5", "0x10074820"]]}, {"orig": [["0x10072107", "cmp dword ptr [edx + 8], ebx"], ["0x1007210a", "je 0x8"], ["0x1007210c", "mov edx, dword ptr [edx]"], ["0x1007210e", "cmp edx, edi"], ["0x10072110", "jne -0x10"], ["0x10072112", "jmp 0x34"], ["0x10072114", "mov eax, dword ptr [edx]"]], "recomp": [["0x10074822", "cmp dword ptr [eax + 8], ecx"], ["0x10074825", "je 0x10"], ["0x10074827", "mov eax, dword ptr [esp + 0x10]"], ["0x1007482b", "mov ebp, dword ptr [eax]"], ["0x1007482d", "mov dword ptr [esp + 0x10], ebp"], ["0x10074831", "cmp ebp, ebx"], ["0x10074833", "jne -0x1c"], ["0x10074835", "jmp 0x2a"], ["0x10074837", "mov edx, dword ptr [esp + 0x10]"], ["0x1007483b", "mov eax, dword ptr [esp + 0x10]"], ["0x1007483f", "push eax"]]}, {"both": [["0x10072116", "mov ecx, dword ptr [edx + 4]", "0x10074840"]]}, {"orig": [["0x10072119", "push edx"], ["0x1007211a", "mov dword ptr [ecx], eax"], ["0x1007211c", "mov ebx, dword ptr [edx + 4]"], ["0x1007211f", "mov eax, dword ptr [edx]"], ["0x10072121", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x10074843", "add edx, 4"], ["0x10074846", "mov ebx, dword ptr [eax]"], ["0x10074848", "mov dword ptr [ecx], ebx"], ["0x1007484a", "mov ecx, dword ptr [edx]"], ["0x1007484c", "mov ebx, dword ptr [eax]"], ["0x1007484e", "mov dword ptr [ebx + 4], ecx"]]}, {"both": [["0x10072124", "call ??3@YAXPAX@Z (FUNCTION)", "0x10074851"], ["0x10072129", "add esp, 4", "0x10074856"], ["0x1007212c", "dec dword ptr [esi + 8]", "0x10074859"]]}, {"orig": [["0x1007212f", "jmp 0x12"], ["0x10072131", "mov ecx, dword ptr [esi + 4]"], ["0x10072134", "lea eax, [esp + 0x10]"], ["0x10072138", "mov edx, dword ptr [ecx]"], ["0x1007213a", "mov ecx, esi"], ["0x1007213c", "push edx"], ["0x1007213d", "push eax"], ["0x1007213e", "call list<Act3ListElement,allocator<Act3ListElement> >::erase (FUNCTION)"], ["0x10072143", "mov ebp, 1"], ["0x10072148", "test ebp, ebp"], ["0x1007214a", "je 0xa8"]], "recomp": [["0x1007485c", "mov edi, 1"], ["0x10074861", "test edi, edi"], ["0x10074863", "je 0xad"]]}, {"both": [["0x10072150", "cmp dword ptr [esi + 8], 0", "0x10074869"]]}, {"orig": [["0x10072154", "jbe 0x9e"]], "recomp": [["0x1007486d", "jbe 0xa3"]]}, {"both": [["0x1007215a", "mov ecx, dword ptr [esi + 4]", "0x10074873"], ["0x1007215d", "mov eax, dword ptr [ecx]", "0x10074876"]]}, {"orig": [["0x1007215f", "mov dword ptr [esp + 0x14], eax"], ["0x10072163", "mov dword ptr [esp + 0x10], eax"], ["0x10072167", "add eax, 8"], ["0x1007216a", "mov edx, dword ptr [esp + 0x14]"], ["0x1007216e", "mov ebp, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x10072172", "mov dword ptr [esp + 0x18], eax", "0x10074878"]]}, {"orig": [["0x10072176", "mov edi, dword ptr [edx]"], ["0x10072178", "cmp edi, ecx"], ["0x1007217a", "je 0x58"], ["0x1007217c", "cmp dword ptr [edi + 0xc], 1"], ["0x10072180", "jne 0x48"]], "recomp": [["0x1007487c", "mov edx, dword ptr [eax]"], ["0x1007487e", "lea edi, [eax + 8]"], ["0x10074881", "mov dword ptr [esp + 0x18], edx"], ["0x10074885", "cmp ecx, edx"], ["0x10074887", "je 0x6d"], ["0x10074889", "mov ebp, 1"], ["0x1007488e", "mov eax, dword ptr [esp + 0x18]"], ["0x10074892", "cmp dword ptr [eax + 0xc], ebp"], ["0x10074895", "jne 0x50"]]}, {"both": [["0x10072182", "mov eax, dword ptr [esi + 4]", "0x10074897"], ["0x10072185", "mov ecx, dword ptr [eax]", "0x1007489a"], ["0x10072187", "mov dword ptr [esp + 0x14], ecx", "0x1007489c"]]}, {"orig": [["0x1007218b", "cmp edi, ecx"], ["0x1007218d", "je 0x3b"]], "recomp": [["0x100748a0", "cmp ecx, dword ptr [esp + 0x18]"], ["0x100748a4", "je 0x41"]]}, {"both": [["0x1007218f", "xor ebx, ebx", "0x100748a6"], ["0x10072191", "mov eax, dword ptr [esp + 0x14]", "0x100748a8"], ["0x10072195", "cmp byte ptr [eax + 0x10], bl", "0x100748ac"]]}, {"orig": [["0x10072198", "jne 0x68"]], "recomp": [["0x100748af", "jne 0x6f"]]}, {"both": [["0x1007219a", "mov dword ptr [esp + 0x10], eax", "0x100748b1"], ["0x1007219e", "mov ecx, dword ptr [eax]", "0x100748b5"]]}, {"orig": [["0x100721a0", "mov dword ptr [esp + 0x14], ecx"], ["0x100721a4", "lea ecx, [eax + 4]"], ["0x100721a7", "mov eax, dword ptr [eax]"], ["0x100721a9", "mov edx, dword ptr [ecx]"], ["0x100721ab", "mov dword ptr [edx], eax"], ["0x100721ad", "mov edx, dword ptr [ecx]"], ["0x100721af", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x100748b7", "add eax, 4"], ["0x100748ba", "mov dword ptr [esp + 0x10], ecx"], ["0x100748be", "mov edx, dword ptr [eax]"], ["0x100748c0", "mov dword ptr [edx], ecx"], ["0x100748c2", "mov ecx, dword ptr [eax]"], ["0x100748c4", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x100721b3", "push eax", "0x100748c8"]]}, {"orig": [["0x100721b4", "mov ecx, dword ptr [eax]"], ["0x100721b6", "mov dword ptr [ecx + 4], edx"]], "recomp": [["0x100748c9", "mov edx, dword ptr [eax]"], ["0x100748cb", "mov dword ptr [edx + 4], ecx"]]}, {"both": [["0x100721b9", "call ??3@YAXPAX@Z (FUNCTION)", "0x100748ce"]]}, {"orig": [], "recomp": [["0x100748d3", "mov ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100721be", "add esp, 4", "0x100748d7"], ["0x100721c1", "dec dword ptr [esi + 8]", "0x100748da"]]}, {"orig": [["0x100721c4", "cmp edi, dword ptr [esp + 0x14]"], ["0x100721c8", "jne -0x39"], ["0x100721ca", "mov edi, dword ptr [edi]"], ["0x100721cc", "mov ebp, dword ptr [ebp]"], ["0x100721cf", "cmp dword ptr [esi + 4], edi"], ["0x100721d2", "jne -0x58"]], "recomp": [["0x100748dd", "mov dword ptr [esp + 0x14], ecx"], ["0x100748e1", "cmp ecx, dword ptr [esp + 0x18]"], ["0x100748e5", "jne -0x3f"]]}, {"both": [["0x100721d4", "mov eax, dword ptr [esp + 0x18]", "0x100748e7"]]}, {"orig": [["0x100721d8", "cmp byte ptr [eax + 8], 0"]], "recomp": [["0x100748eb", "mov ecx, dword ptr [eax]"], ["0x100748ed", "mov dword ptr [esp + 0x18], ecx"], ["0x100748f1", "cmp dword ptr [esi + 4], ecx"], ["0x100748f4", "jne -0x68"], ["0x100748f6", "cmp byte ptr [edi + 8], 0"]]}, {"both": [["0x100721dc", "jne 0x1a", "0x100748fa"]]}, {"orig": [["0x100721de", "mov byte ptr [eax + 8], 1"]], "recomp": [["0x100748fc", "mov byte ptr [edi + 8], 1"]]}, {"both": [["0x100721e2", "push 0", "0x10074900"]]}, {"orig": [["0x100721e4", "mov ecx, dword ptr [eax]"]], "recomp": [["0x10074902", "mov eax, dword ptr [edi]"], ["0x10074904", "push eax"], ["0x10074905", "mov ecx, dword ptr [g_act3Script (DATA)]"]]}, {"both": [["0x100721e6", "push ecx", "0x1007490b"]]}, {"orig": [["0x100721e7", "mov edx, dword ptr [g_act3Script (DATA)]"], ["0x100721ed", "push edx"]], "recomp": []}, {"both": [["0x100721ee", "push 4", "0x1007490c"], ["0x100721f0", "call InvokeAction (FUNCTION)", "0x1007490e"], ["0x100721f5", "add esp, 0x10", "0x10074913"], ["0x100721f8", "pop ebp", "0x10074916"], ["0x100721f9", "pop edi", "0x10074917"], ["0x100721fa", "pop esi", "0x10074918"], ["0x100721fb", "pop ebx", "0x10074919"], ["0x100721fc", "add esp, 0xc", "0x1007491a"], ["0x100721ff", "ret 4", "0x1007491d"], ["0x10072202", "mov ecx, esi", "0x10074920"]]}]]]}, {"address": "0x10072220", "recomp": "0x10074940", "name": "list<Act3ListElement,allocator<Act3ListElement> >::erase", "matching": 1.0, "diff": []}, {"address": "0x10072270", "recomp": "0x10074990", "name": "Act3::Act3", "matching": 1.0, "diff": []}, {"address": "0x10072440", "recomp": "0x10074b60", "name": "list<Act3ListElement,allocator<Act3ListElement> >::~list<Act3ListElement,allocator<Act3ListElement> >", "matching": 1.0, "diff": []}, {"address": "0x100724b0", "recomp": "0x10074bd0", "name": "List<Act3ListElement>::~List<Act3ListElement>", "matching": 1.0, "diff": []}, {"address": "0x10072500", "recomp": "0x10074db0", "name": "Act3::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x10072510", "recomp": "0x10074c20", "name": "Act3::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10072520", "recomp": "0x10074c30", "name": "Act3::IsA", "matching": 1.0, "diff": []}, {"address": "0x10072630", "recomp": "0x10074d40", "name": "Act3::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10072650", "recomp": "0x10074d60", "name": "Act3List::~Act3List", "matching": 1.0, "diff": []}, {"address": "0x100726a0", "recomp": "0x10074dc0", "name": "Act3::~Act3", "matching": 1.0, "diff": []}, {"address": "0x10072780", "recomp": "0x10074ea0", "name": "Act3::EatPizza", "matching": 1.0, "diff": []}, {"address": "0x100727a0", "recomp": "0x10074ec0", "name": "Act3::EatDonut", "matching": 1.0, "diff": []}, {"address": "0x100727c0", "recomp": "0x10074ee0", "name": "Act3::RemovePizza", "matching": 1.0, "diff": []}, {"address": "0x100727d0", "recomp": "0x10074ef0", "name": "Act3::RemoveDonut", "matching": 1.0, "diff": []}, {"address": "0x100727e0", "recomp": "0x10074f00", "name": "Act3::ShootPizza", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007280a,54 +0x10074f2a,54 @@", [{"both": [["0x1007280a", "add esp, 0x20", "0x10074f2a"], ["0x1007280d", "ret 0x10", "0x10074f2d"], ["0x10072810", "mov dword ptr [esp + 0x14], 0", "0x10074f30"], ["0x10072818", "lea eax, [ecx + ecx*2]", "0x10074f38"], ["0x1007281b", "push ecx", "0x10074f3b"], ["0x1007281c", "mov dword ptr [esp + 0x1c], 1", "0x10074f3c"], ["0x10072824", "lea eax, [ecx + eax*4]", "0x10074f44"], ["0x10072827", "push 1", "0x10074f47"], ["0x10072829", "shl eax, 5", "0x10074f49"], ["0x1007282c", "push edi", "0x10074f4c"]]}, {"orig": [["0x1007282d", "lea ebx, [eax + edi + 0xfc]"], ["0x10072834", "lea esi, [eax + edi]"], ["0x10072837", "mov ecx, ebx"]], "recomp": [["0x10074f4d", "lea esi, [eax + edi + 0xfc]"], ["0x10074f54", "lea ebx, [eax + edi]"], ["0x10074f57", "mov ecx, esi"]]}, {"both": [["0x10072839", "call Act3Ammo::Create (FUNCTION)", "0x10074f59"], ["0x1007283e", "mov eax, dword ptr [esp + 0x40]", "0x10074f5e"], ["0x10072842", "mov ebp, dword ptr [esp + 0x3c]", "0x10074f62"], ["0x10072846", "mov ecx, dword ptr [esp + 0x38]", "0x10074f66"], ["0x1007284a", "push eax", "0x10074f6a"], ["0x1007284b", "push ebp", "0x10074f6b"], ["0x1007284c", "push ecx", "0x10074f6c"]]}, {"orig": [["0x1007284d", "mov ecx, ebx"]], "recomp": [["0x10074f6d", "mov ecx, esi"]]}, {"both": [["0x1007284f", "call Act3Ammo::FUN_10053b40 (FUNCTION)", "0x10074f6f"], ["0x10072854", "test eax, eax", "0x10074f74"], ["0x10072856", "je 0xf", "0x10074f76"], ["0x10072858", "mov eax, 0xffffffff", "0x10074f78"], ["0x1007285d", "pop ebp", "0x10074f7d"], ["0x1007285e", "pop edi", "0x10074f7e"], ["0x1007285f", "pop esi", "0x10074f7f"], ["0x10072860", "pop ebx", "0x10074f80"], ["0x10072861", "add esp, 0x20", "0x10074f81"], ["0x10072864", "ret 0x10", "0x10074f84"]]}, {"orig": [["0x10072867", "mov eax, dword ptr [esi + 0x298]"]], "recomp": [["0x10074f87", "mov eax, dword ptr [ebx + 0x298]"]]}, {"both": [["0x1007286d", "lea ecx, [esp + 0x14]", "0x10074f8d"]]}, {"orig": [["0x10072871", "add esi, 0x25c"]], "recomp": [["0x10074f91", "add ebx, 0x25c"]]}, {"both": [["0x10072877", "mov dword ptr [esp + 0x10], eax", "0x10074f97"], ["0x1007287b", "lea eax, [esp + 0x10]", "0x10074f9b"], ["0x1007287f", "push eax", "0x10074f9f"], ["0x10072880", "push ecx", "0x10074fa0"], ["0x10072881", "mov eax, dword ptr [esp + 0x40]", "0x10074fa1"]]}, {"orig": [["0x10072885", "push esi"], ["0x10072886", "mov esi, dword ptr [esp + 0x40]"]], "recomp": [["0x10074fa5", "push ebx"], ["0x10074fa6", "mov ebx, dword ptr [esp + 0x40]"]]}, {"both": [["0x1007288a", "push ebp", "0x10074faa"], ["0x1007288b", "push eax", "0x10074fab"]]}, {"orig": [["0x1007288c", "mov ecx, esi"]], "recomp": [["0x10074fac", "mov ecx, ebx"]]}, {"both": [["0x1007288e", "call LegoPathController::FUN_1004a380 (FUNCTION)", "0x10074fae"], ["0x10072893", "test eax, eax", "0x10074fb3"], ["0x10072895", "jne 0xa5", "0x10074fb5"], ["0x1007289b", "lea eax, [esp + 0x24]", "0x10074fbb"], ["0x1007289f", "push ebp", "0x10074fbf"], ["0x100728a0", "lea ecx, [esp + 0x20]", "0x10074fc0"], ["0x100728a4", "mov dword ptr [esp + 0x24], eax", "0x10074fc4"], ["0x100728a8", "mov dword ptr [esp + 0x20], Mx3DPointFloat::`vftable' (VTABLE)", "0x10074fc8"], ["0x100728b0", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x10074fd0"], ["0x100728b6", "lea eax, [esp + 0x10]", "0x10074fd6"]]}]], ["@@ -0x100728ea,55 +0x1007500a,55 @@", [{"both": [["0x100728ea", "mov eax, dword ptr [ecx + 0x14]", "0x1007500a"], ["0x100728ed", "lea ecx, [esp + 0x1c]", "0x1007500d"], ["0x100728f1", "add eax, 0x30", "0x10075011"], ["0x100728f4", "push eax", "0x10075014"], ["0x100728f5", "call dword ptr [ebp + 0x58]", "0x10075015"], ["0x100728f8", "mov ecx, dword ptr [esp + 0x10]", "0x10075018"], ["0x100728fc", "mov eax, dword ptr [esp + 0x14]", "0x1007501c"], ["0x10072900", "mov dword ptr [esp + 0x18], 0", "0x10075020"], ["0x10072908", "push ecx", "0x10075028"], ["0x10072909", "push eax", "0x10075029"]]}, {"orig": [["0x1007290a", "push esi"], ["0x1007290b", "mov ecx, ebx"]], "recomp": [["0x1007502a", "push ebx"], ["0x1007502b", "mov ecx, esi"]]}, {"both": [["0x1007290d", "call Act3Ammo::FUN_10053cb0 (FUNCTION)", "0x1007502d"], ["0x10072912", "test eax, eax", "0x10075032"], ["0x10072914", "jne 0x2a", "0x10075034"]]}, {"orig": [["0x10072916", "push ebx"], ["0x10072917", "mov ecx, esi"]], "recomp": [["0x10075036", "push esi"], ["0x10075037", "mov ecx, ebx"]]}, {"both": [["0x10072919", "call LegoPathController::PlaceActor (FUNCTION)", "0x10075039"], ["0x1007291e", "mov ecx, dword ptr [esp + 0x14]", "0x1007503e"]]}, {"orig": [["0x10072922", "push ebx"]], "recomp": [["0x10075042", "push esi"]]}, {"both": [["0x10072923", "call LegoPathBoundary::AddActor (FUNCTION)", "0x10075043"], ["0x10072928", "push 0x41200000", "0x10075048"]]}, {"orig": [["0x1007292d", "mov eax, dword ptr [ebx]"], ["0x1007292f", "mov ecx, ebx"]], "recomp": [["0x1007504d", "mov eax, dword ptr [esi]"], ["0x1007504f", "mov ecx, esi"]]}, {"both": [["0x10072931", "call dword ptr [eax + 0x30]", "0x10075051"], ["0x10072934", "xor eax, eax", "0x10075054"], ["0x10072936", "pop ebp", "0x10075056"], ["0x10072937", "pop edi", "0x10075057"], ["0x10072938", "pop esi", "0x10075058"], ["0x10072939", "pop ebx", "0x10075059"], ["0x1007293a", "add esp, 0x20", "0x1007505a"], ["0x1007293d", "ret 0x10", "0x1007505d"], ["0x10072940", "cmp dword ptr [esp + 0x18], 0", "0x10075060"], ["0x10072945", "je -0x14a", "0x10075065"], ["0x1007294b", "mov eax, dword ptr [esp + 0x10]", "0x1007506b"]]}, {"orig": [["0x1007294f", "mov ecx, ebx"]], "recomp": [["0x1007506f", "mov ecx, esi"]]}, {"both": [["0x10072951", "push eax", "0x10075071"]]}, {"orig": [["0x10072952", "push esi"]], "recomp": [["0x10075072", "push ebx"]]}, {"both": [["0x10072953", "call Act3Ammo::FUN_10053d30 (FUNCTION)", "0x10075073"], ["0x10072958", "test eax, eax", "0x10075078"], ["0x1007295a", "jne -0x15f", "0x1007507a"]]}, {"orig": [["0x10072960", "push ebx"], ["0x10072961", "mov ecx, esi"]], "recomp": [["0x10075080", "push esi"], ["0x10075081", "mov ecx, ebx"]]}, {"both": [["0x10072963", "call LegoPathController::PlaceActor (FUNCTION)", "0x10075083"], ["0x10072968", "push 0x41200000", "0x10075088"]]}, {"orig": [["0x1007296d", "mov eax, dword ptr [ebx]"], ["0x1007296f", "mov ecx, ebx"]], "recomp": [["0x1007508d", "mov eax, dword ptr [esi]"], ["0x1007508f", "mov ecx, esi"]]}, {"both": [["0x10072971", "call dword ptr [eax + 0x30]", "0x10075091"], ["0x10072974", "xor eax, eax", "0x10075094"], ["0x10072976", "pop ebp", "0x10075096"], ["0x10072977", "pop edi", "0x10075097"], ["0x10072978", "pop esi", "0x10075098"], ["0x10072979", "pop ebx", "0x10075099"], ["0x1007297a", "add esp, 0x20", "0x1007509a"], ["0x1007297d", "ret 0x10", "0x1007509d"]]}]]]}, {"address": "0x10072980", "recomp": "0x100750a0", "name": "Act3::ShootDonut", "matching": 0.8974358974358975, "diff": [["@@ -0x10072980,61 +0x100750a0,61 @@", [{"both": [["0x10072980", "sub esp, 0xc", "0x100750a0"], ["0x10072983", "mov dword ptr [esp], ecx", "0x100750a3"], ["0x10072987", "push ebx", "0x100750a7"]]}, {"orig": [["0x10072988", "mov ebx, dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x1007298c", "push esi", "0x100750a8"]]}, {"orig": [], "recomp": [["0x100750a9", "lea ebx, [ecx + 0x217c]"]]}, {"both": [["0x1007298d", "mov esi, dword ptr [esp + 0x18]", "0x100750af"], ["0x10072991", "push edi", "0x100750b3"], ["0x10072992", "push ebp", "0x100750b4"], ["0x10072993", "xor edi, edi", "0x100750b5"]]}, {"orig": [["0x10072995", "lea ebp, [ecx + 0x217c]"]], "recomp": [["0x100750b7", "mov ebp, dword ptr [esp + 0x24]"]]}, {"both": [["0x1007299b", "cmp edi, 0x14", "0x100750bb"], ["0x1007299e", "jge 0xd6", "0x100750be"]]}, {"orig": [["0x100729a4", "test byte ptr [ebp + 0x154], 4"]], "recomp": [["0x100750c4", "test byte ptr [ebx + 0x154], 4"]]}, {"both": [["0x100729ab", "jne 0xbd", "0x100750cb"], ["0x100729b1", "mov ecx, dword ptr [esp + 0x10]", "0x100750d1"], ["0x100729b5", "push edi", "0x100750d5"], ["0x100729b6", "mov dword ptr [esp + 0x1c], 0", "0x100750d6"], ["0x100729be", "push 0", "0x100750de"], ["0x100729c0", "push ecx", "0x100750e0"]]}, {"orig": [["0x100729c1", "mov ecx, ebp"]], "recomp": [["0x100750e1", "mov ecx, ebx"]]}, {"both": [["0x100729c3", "call Act3Ammo::Create (FUNCTION)", "0x100750e3"], ["0x100729c8", "mov eax, dword ptr [esp + 0x2c]", "0x100750e8"], ["0x100729cc", "mov ecx, dword ptr [esp + 0x28]", "0x100750ec"], ["0x100729d0", "push eax", "0x100750f0"], ["0x100729d1", "push ecx", "0x100750f1"]]}, {"orig": [["0x100729d2", "push ebx"], ["0x100729d3", "mov ecx, ebp"]], "recomp": [["0x100750f2", "push ebp"], ["0x100750f3", "mov ecx, ebx"]]}, {"both": [["0x100729d5", "call Act3Ammo::FUN_10053b40 (FUNCTION)", "0x100750f5"], ["0x100729da", "test eax, eax", "0x100750fa"], ["0x100729dc", "jne 0xa7", "0x100750fc"]]}, {"orig": [["0x100729e2", "mov eax, dword ptr [ebp + 0x19c]"]], "recomp": [["0x10075102", "mov eax, dword ptr [ebx + 0x19c]"]]}, {"both": [["0x100729e8", "lea ecx, [esp + 0x18]", "0x10075108"]]}, {"orig": [["0x100729ec", "lea edx, [ebp + 0x160]"]], "recomp": [["0x1007510c", "lea edx, [ebx + 0x160]"]]}, {"both": [["0x100729f2", "mov dword ptr [esp + 0x14], eax", "0x10075112"], ["0x100729f6", "lea eax, [esp + 0x14]", "0x10075116"], ["0x100729fa", "push eax", "0x1007511a"], ["0x100729fb", "push ecx", "0x1007511b"], ["0x100729fc", "mov eax, dword ptr [esp + 0x30]", "0x1007511c"], ["0x10072a00", "push edx", "0x10075120"], ["0x10072a01", "push eax", "0x10075121"], ["0x10072a02", "mov ecx, esi", "0x10075122"]]}, {"orig": [["0x10072a04", "push ebx"]], "recomp": [["0x10075124", "push ebp"]]}, {"both": [["0x10072a05", "call LegoPathController::FUN_1004a380 (FUNCTION)", "0x10075125"], ["0x10072a0a", "test eax, eax", "0x1007512a"], ["0x10072a0c", "mov eax, dword ptr [esp + 0x14]", "0x1007512c"], ["0x10072a10", "push eax", "0x10075130"], ["0x10072a11", "jne 0x4f", "0x10075131"], ["0x10072a13", "mov ecx, dword ptr [esp + 0x1c]", "0x10075133"], ["0x10072a17", "push ecx", "0x10075137"], ["0x10072a18", "push esi", "0x10075138"]]}, {"orig": [["0x10072a19", "mov ecx, ebp"]], "recomp": [["0x10075139", "mov ecx, ebx"]]}, {"both": [["0x10072a1b", "call Act3Ammo::FUN_10053cb0 (FUNCTION)", "0x1007513b"], ["0x10072a20", "test eax, eax", "0x10075140"], ["0x10072a22", "jne 0x4a", "0x10075142"], ["0x10072a24", "lea eax, [edi + edi*2]", "0x10075144"], ["0x10072a27", "mov ecx, dword ptr [esp + 0x10]", "0x10075147"], ["0x10072a2b", "lea eax, [edi + eax*4]", "0x1007514b"], ["0x10072a2e", "shl eax, 5", "0x1007514e"], ["0x10072a31", "lea edi, [eax + ecx + 0x217c]", "0x10075151"], ["0x10072a38", "mov ecx, esi", "0x10075158"], ["0x10072a3a", "push edi", "0x1007515a"]]}]], ["@@ -0x10072a51,25 +0x10075171,25 @@", [{"both": [["0x10072a51", "mov ecx, edi", "0x10075171"], ["0x10072a53", "call dword ptr [ebx + 0x30]", "0x10075173"], ["0x10072a56", "xor eax, eax", "0x10075176"], ["0x10072a58", "pop ebp", "0x10075178"], ["0x10072a59", "pop edi", "0x10075179"], ["0x10072a5a", "pop esi", "0x1007517a"], ["0x10072a5b", "pop ebx", "0x1007517b"], ["0x10072a5c", "add esp, 0xc", "0x1007517c"], ["0x10072a5f", "ret 0x10", "0x1007517f"], ["0x10072a62", "push esi", "0x10075182"]]}, {"orig": [["0x10072a63", "mov ecx, ebp"]], "recomp": [["0x10075183", "mov ecx, ebx"]]}, {"both": [["0x10072a65", "call Act3Ammo::FUN_10053d30 (FUNCTION)", "0x10075185"], ["0x10072a6a", "test eax, eax", "0x1007518a"], ["0x10072a6c", "je 0x2a", "0x1007518c"]]}, {"orig": [["0x10072a6e", "add ebp, 0x1a0"]], "recomp": [["0x1007518e", "add ebx, 0x1a0"]]}, {"both": [["0x10072a74", "inc edi", "0x10075194"], ["0x10072a75", "jmp -0xdf", "0x10075195"], ["0x10072a7a", "mov eax, 0xffffffff", "0x1007519a"], ["0x10072a7f", "pop ebp", "0x1007519f"], ["0x10072a80", "pop edi", "0x100751a0"], ["0x10072a81", "pop esi", "0x100751a1"], ["0x10072a82", "pop ebx", "0x100751a2"], ["0x10072a83", "add esp, 0xc", "0x100751a3"], ["0x10072a86", "ret 0x10", "0x100751a6"], ["0x10072a89", "mov eax, 0xffffffff", "0x100751a9"]]}]]]}, {"address": "0x10072ad0", "recomp": "0x100751f0", "name": "Act3::FUN_10072ad0", "matching": 0.6395348837209303, "diff": [["@@ -0x10072ad1,69 +0x100751f1,69 @@", [{"both": [["0x10072ad1", "mov esi, ecx", "0x100751f1"], ["0x10072ad3", "call Timer (FUNCTION)", "0x100751f3"], ["0x10072ad8", "mov eax, dword ptr [esp + 8]", "0x100751f8"], ["0x10072adc", "dec eax", "0x100751fc"], ["0x10072add", "cmp eax, 5", "0x100751fd"], ["0x10072ae0", "ja 0x129", "0x10075200"], ["0x10072ae6", "jmp dword ptr [eax*4 + <OFFSET2>]", "0x10075206"], ["0x10072aed", "cmp byte ptr [esi + 0x4218], 0x10", "0x1007520d"], ["0x10072af4", "jb 0x7", "0x10075214"], ["0x10072af6", "mov byte ptr [esi + 0x4218], 0", "0x10075216"]]}, {"orig": [["0x10072afd", "mov al, byte ptr [esi + 0x4218]"], ["0x10072b03", "xor ecx, ecx"], ["0x10072b05", "mov cl, al"], ["0x10072b07", "inc al"], ["0x10072b09", "mov byte ptr [esi + 0x4218], al"], ["0x10072b0f", "mov ecx, dword ptr [ecx*4 + g_unk0x100d94f8[0] (DATA)]"]], "recomp": [["0x1007521d", "mov cl, byte ptr [esi + 0x4218]"], ["0x10075223", "xor eax, eax"], ["0x10075225", "mov al, cl"], ["0x10075227", "inc cl"], ["0x10075229", "mov eax, dword ptr [eax*4 + g_unk0x100d94f8[0] (DATA)]"], ["0x10075230", "mov byte ptr [esi + 0x4218], cl"]]}, {"both": [["0x10072b16", "jmp 0xaa", "0x10075236"], ["0x10072b1b", "cmp byte ptr [esi + 0x4219], 5", "0x1007523b"], ["0x10072b22", "jb 0x7", "0x10075242"], ["0x10072b24", "mov byte ptr [esi + 0x4219], 0", "0x10075244"]]}, {"orig": [["0x10072b2b", "mov al, byte ptr [esi + 0x4219]"], ["0x10072b31", "xor ecx, ecx"], ["0x10072b33", "mov cl, al"], ["0x10072b35", "inc al"], ["0x10072b37", "mov byte ptr [esi + 0x4219], al"], ["0x10072b3d", "mov ecx, dword ptr [ecx*4 + g_unk0x100d9538[0] (DATA)]"]], "recomp": [["0x1007524b", "mov cl, byte ptr [esi + 0x4219]"], ["0x10075251", "xor eax, eax"], ["0x10075253", "mov al, cl"], ["0x10075255", "inc cl"], ["0x10075257", "mov eax, dword ptr [eax*4 + g_unk0x100d9538[0] (DATA)]"], ["0x1007525e", "mov byte ptr [esi + 0x4219], cl"]]}, {"both": [["0x10072b44", "jmp 0x7f", "0x10075264"], ["0x10072b46", "cmp byte ptr [esi + 0x421a], 8", "0x10075266"], ["0x10072b4d", "jb 0x7", "0x1007526d"], ["0x10072b4f", "mov byte ptr [esi + 0x421a], 0", "0x1007526f"]]}, {"orig": [["0x10072b56", "mov al, byte ptr [esi + 0x421a]"], ["0x10072b5c", "xor ecx, ecx"], ["0x10072b5e", "mov cl, al"], ["0x10072b60", "inc al"], ["0x10072b62", "mov byte ptr [esi + 0x421a], al"], ["0x10072b68", "mov ecx, dword ptr [ecx*4 + g_unk0x100d9550[0] (DATA)]"]], "recomp": [["0x10075276", "mov cl, byte ptr [esi + 0x421a]"], ["0x1007527c", "xor eax, eax"], ["0x1007527e", "mov al, cl"], ["0x10075280", "inc cl"], ["0x10075282", "mov eax, dword ptr [eax*4 + g_unk0x100d9550[0] (DATA)]"], ["0x10075289", "mov byte ptr [esi + 0x421a], cl"]]}, {"both": [["0x10072b6f", "jmp 0x54", "0x1007528f"], ["0x10072b71", "cmp byte ptr [esi + 0x421b], 6", "0x10075291"], ["0x10072b78", "jb 0x7", "0x10075298"], ["0x10072b7a", "mov byte ptr [esi + 0x421b], 0", "0x1007529a"]]}, {"orig": [["0x10072b81", "mov al, byte ptr [esi + 0x421b]"], ["0x10072b87", "xor ecx, ecx"], ["0x10072b89", "mov cl, al"], ["0x10072b8b", "inc al"], ["0x10072b8d", "mov byte ptr [esi + 0x421b], al"], ["0x10072b93", "mov ecx, dword ptr [ecx*4 + g_unk0x100d9570[0] (DATA)]"]], "recomp": [["0x100752a1", "mov cl, byte ptr [esi + 0x421b]"], ["0x100752a7", "xor eax, eax"], ["0x100752a9", "mov al, cl"], ["0x100752ab", "inc cl"], ["0x100752ad", "mov eax, dword ptr [eax*4 + g_unk0x100d9570[0] (DATA)]"], ["0x100752b4", "mov byte ptr [esi + 0x421b], cl"]]}, {"both": [["0x10072b9a", "jmp 0x29", "0x100752ba"], ["0x10072b9c", "cmp byte ptr [esi + 0x421c], 0x14", "0x100752bc"], ["0x10072ba3", "jb 0x7", "0x100752c3"], ["0x10072ba5", "mov byte ptr [esi + 0x421c], 0", "0x100752c5"]]}, {"orig": [["0x10072bac", "mov al, byte ptr [esi + 0x421c]"], ["0x10072bb2", "xor ecx, ecx"], ["0x10072bb4", "mov cl, al"], ["0x10072bb6", "inc al"], ["0x10072bb8", "mov byte ptr [esi + 0x421c], al"], ["0x10072bbe", "mov ecx, dword ptr [ecx*4 + g_unk0x100d9588[0] (DATA)]"]], "recomp": [["0x100752cc", "mov cl, byte ptr [esi + 0x421c]"], ["0x100752d2", "xor eax, eax"], ["0x100752d4", "mov al, cl"], ["0x100752d6", "inc cl"], ["0x100752d8", "mov eax, dword ptr [eax*4 + g_unk0x100d9588[0] (DATA)]"], ["0x100752df", "mov byte ptr [esi + 0x421c], cl"]]}, {"both": [["0x10072bc5", "push 3", "0x100752e5"]]}, {"orig": [["0x10072bc7", "push ecx"]], "recomp": []}, {"both": [["0x10072bc8", "lea ecx, [esi + 0x4220]", "0x100752e7"]]}, {"orig": [], "recomp": [["0x100752ed", "push eax"]]}, {"both": [["0x10072bce", "call Act3List::Insert (FUNCTION)", "0x100752ee"], ["0x10072bd3", "pop esi", "0x100752f3"], ["0x10072bd4", "ret 4", "0x100752f4"], ["0x10072bd7", "cmp byte ptr [esi + 0x421d], 4", "0x100752f7"], ["0x10072bde", "jb 0x7", "0x100752fe"], ["0x10072be0", "mov byte ptr [esi + 0x421d], 0", "0x10075300"], ["0x10072be7", "mov cl, byte ptr [esi + 0x421d]", "0x10075307"], ["0x10072bed", "push 1", "0x1007530d"], ["0x10072bef", "lea eax, [ecx + 1]", "0x1007530f"], ["0x10072bf2", "mov byte ptr [esi + 0x421d], al", "0x10075312"]]}]]]}, {"address": "0x10072c30", "recomp": "0x10075350", "name": "Act3::Create", "matching": 1.0, "diff": []}, {"address": "0x10072d50", "recomp": "0x10075470", "name": "Act3::Destroy", "matching": 1.0, "diff": []}, {"address": "0x10072de0", "recomp": "0x10075500", "name": "Act3::Notify", "matching": 1.0, "diff": []}, {"address": "0x10073240", "recomp": "0x10075960", "name": "Act3::HandleTransitionEnd", "matching": 1.0, "diff": []}, {"address": "0x10073270", "recomp": "0x10075990", "name": "Act3::ReadyWorld", "matching": 1.0, "diff": []}, {"address": "0x10073300", "recomp": "0x10075a20", "name": "Act3::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10073360", "recomp": "0x10075a80", "name": "Act3::FUN_10073360", "matching": 1.0, "diff": []}, {"address": "0x10073390", "recomp": "0x10075ab0", "name": "Act3::FUN_10073390", "matching": 1.0, "diff": []}, {"address": "0x100733d0", "recomp": "0x10075af0", "name": "Act3::AddCop", "matching": 1.0, "diff": []}, {"address": "0x100733f0", "recomp": "0x10075b10", "name": "Act3::SetBrickster", "matching": 1.0, "diff": []}, {"address": "0x10073400", "recomp": "0x10075b20", "name": "Act3::FUN_10073400", "matching": 1.0, "diff": []}, {"address": "0x10073430", "recomp": "0x10075b50", "name": "Act3::FUN_10073430", "matching": 1.0, "diff": []}, {"address": "0x10073460", "recomp": "0x10075b80", "name": "Act3::GoodEnding", "matching": 1.0, "diff": []}, {"address": "0x10073500", "recomp": "0x10075c20", "name": "Act3::DebugPrintf", "matching": 1.0, "diff": []}, {"address": "0x10073510", "recomp": "0x10075c30", "name": "Act3::DebugCopter", "matching": 0.9572901325478645, "diff": [["@@ -0x100738d1,48 +0x10075ff1,47 @@", [{"both": [["0x100738d1", "lea ecx, [esp + 0x30]", "0x10075ff1"], ["0x100738d5", "mov esi, dword ptr [esp + 0x6c]", "0x10075ff5"], ["0x100738d9", "mov dword ptr [esp + 0x44], eax", "0x10075ff9"], ["0x100738dd", "mov dword ptr [esp + 0x2c], ecx", "0x10075ffd"], ["0x100738e1", "add esp, 0x24", "0x10076001"], ["0x100738e4", "cmp dword ptr [esi + 0x30], 0", "0x10076004"], ["0x100738e8", "mov eax, Mx4DPointFloat::`vftable' (VTABLE)", "0x10076008"], ["0x100738ed", "mov dword ptr [esp + 0x1c], eax", "0x1007600d"], ["0x100738f1", "mov dword ptr [esp + 4], eax", "0x10076011"], ["0x100738f5", "je 0xbf", "0x10076015"]]}, {"orig": [["0x100738fb", "mov eax, dword ptr [esi + 4]"]], "recomp": []}, {"both": [["0x100738fe", "lea ecx, [esp + 0x1c]", "0x1007601b"]]}, {"orig": [["0x10073902", "push eax"], ["0x10073903", "call dword ptr [->Vector4::EqualsImpl (FUNCTION)]"], ["0x10073909", "mov eax, dword ptr [esi + 0x1c]"]], "recomp": [["0x1007601f", "push esi"], ["0x10076020", "add esi, 0x18"], ["0x10076023", "call dword ptr [->Mx4DPointFloat::operator= (FUNCTION)]"], ["0x10076029", "mov eax, dword ptr [esp + 4]"]]}, {"both": [["0x1007390c", "lea ecx, [esp + 4]", "0x1007602d"]]}, {"orig": [["0x10073910", "mov esi, dword ptr [esp + 4]"], ["0x10073914", "push eax"], ["0x10073915", "call dword ptr [esi + 0x20]"]], "recomp": [["0x10076031", "push esi"], ["0x10076032", "call dword ptr [eax + 0x98]"]]}, {"both": [["0x10073918", "push 'Source quaternion...' (STRING)", "0x10076038"], ["0x1007391d", "call Act3::DebugPrintf (FUNCTION)", "0x1007603d"]]}, {"orig": [["0x10073922", "mov ecx, dword ptr [esp + 0x24]"]], "recomp": [["0x10076042", "mov eax, dword ptr [esp + 0x24]"]]}, {"both": [["0x10073926", "add esp, 4", "0x10076046"], ["0x10073929", "sub esp, 8", "0x10076049"]]}, {"orig": [["0x1007392c", "fld dword ptr [ecx + 0xc]"], ["0x1007392f", "mov ecx, dword ptr [esp + 0x28]"]], "recomp": [["0x1007604c", "fld dword ptr [eax + 0xc]"], ["0x1007604f", "mov eax, dword ptr [esp + 0x28]"]]}, {"both": [["0x10073933", "sub esp, 8", "0x10076053"], ["0x10073936", "sub esp, 8", "0x10076056"], ["0x10073939", "fstp qword ptr [esp + 0x10]", "0x10076059"]]}, {"orig": [["0x1007393d", "fld dword ptr [ecx + 8]"], ["0x10073940", "mov ecx, dword ptr [esp + 0x38]"]], "recomp": [["0x1007605d", "fld dword ptr [eax + 8]"], ["0x10076060", "mov eax, dword ptr [esp + 0x38]"]]}, {"both": [["0x10073944", "sub esp, 8", "0x10076064"], ["0x10073947", "fstp qword ptr [esp + 0x10]", "0x10076067"]]}, {"orig": [["0x1007394b", "fld dword ptr [ecx + 4]"], ["0x1007394e", "mov ecx, dword ptr [esp + 0x40]"]], "recomp": [["0x1007606b", "fld dword ptr [eax + 4]"], ["0x1007606e", "mov eax, dword ptr [esp + 0x40]"]]}, {"both": [["0x10073952", "push '\\t%g, %g, %g, %g\\n' (STRING)", "0x10076072"], ["0x10073957", "fstp qword ptr [esp + 0xc]", "0x10076077"]]}, {"orig": [["0x1007395b", "fld dword ptr [ecx]"]], "recomp": [["0x1007607b", "fld dword ptr [eax]"]]}, {"both": [["0x1007395d", "fstp qword ptr [esp + 4]", "0x1007607d"], ["0x10073961", "call Act3::DebugPrintf (FUNCTION)", "0x10076081"], ["0x10073966", "add esp, 0x24", "0x10076086"], ["0x10073969", "push 'Destination quaternion...' (STRING)", "0x10076089"], ["0x1007396e", "call Act3::DebugPrintf (FUNCTION)", "0x1007608e"], ["0x10073973", "mov ecx, dword ptr [esp + 0xc]", "0x10076093"], ["0x10073977", "add esp, 4", "0x10076097"], ["0x1007397a", "sub esp, 8", "0x1007609a"], ["0x1007397d", "fld dword ptr [ecx + 0xc]", "0x1007609d"], ["0x10073980", "mov ecx, dword ptr [esp + 0x10]", "0x100760a0"]]}]]]}, {"address": "0x100739c0", "recomp": "0x100760e0", "name": "Act3::BadEnding", "matching": 1.0, "diff": []}, {"address": "0x10073a60", "recomp": "0x10076180", "name": "Act3::FUN_10073a60", "matching": 1.0, "diff": []}, {"address": "0x10073a90", "recomp": "0x100761b0", "name": "Act3::Enable", "matching": 0.9108910891089109, "diff": [["@@ -0x10073a90,42 +0x100761b0,42 @@", [{"both": [["0x10073a90", "sub esp, 4", "0x100761b0"], ["0x10073a93", "push ebx", "0x100761b3"], ["0x10073a94", "push esi", "0x100761b4"], ["0x10073a95", "cmp dword ptr [ecx + 0xdc], 1", "0x100761b5"], ["0x10073a9c", "mov esi, ecx", "0x100761bc"], ["0x10073a9e", "mov bl, byte ptr [esp + 0x10]", "0x100761be"], ["0x10073aa2", "sbb al, al", "0x100761c2"], ["0x10073aa4", "neg al", "0x100761c4"], ["0x10073aa6", "cmp al, bl", "0x100761c6"]]}, {"orig": [["0x10073aa8", "je 0x37b"]], "recomp": [["0x100761c8", "je 0x37a"]]}, {"both": [["0x10073aae", "push ebx", "0x100761ce"], ["0x10073aaf", "call LegoWorld::Enable (FUNCTION)", "0x100761cf"], ["0x10073ab4", "test bl, bl", "0x100761d4"]]}, {"orig": [["0x10073ab6", "je 0x320"]], "recomp": [["0x100761d6", "je 0x31f"]]}, {"both": [["0x10073abc", "call GameState (FUNCTION)", "0x100761dc"], ["0x10073ac1", "cmp dword ptr [eax + 0x428], 2", "0x100761e1"], ["0x10073ac8", "jne 0xe", "0x100761e8"], ["0x10073aca", "push 2", "0x100761ea"], ["0x10073acc", "call GameState (FUNCTION)", "0x100761ec"], ["0x10073ad1", "mov ecx, eax", "0x100761f1"], ["0x10073ad3", "call LegoGameState::StopArea (FUNCTION)", "0x100761f3"], ["0x10073ad8", "push 7", "0x100761f8"], ["0x10073ada", "push 0", "0x100761fa"], ["0x10073adc", "call FUN_10015820 (FUNCTION)", "0x100761fc"], ["0x10073ae1", "add esp, 8", "0x10076201"], ["0x10073ae4", "push 0x14", "0x10076204"], ["0x10073ae6", "call PlayMusic (FUNCTION)", "0x10076206"], ["0x10073aeb", "add esp, 4", "0x1007620b"], ["0x10073aee", "call GameState (FUNCTION)", "0x1007620e"], ["0x10073af3", "mov byte ptr [eax + 0x420], 1", "0x10076213"], ["0x10073afa", "cmp dword ptr [esi + 0x4214], 0", "0x1007621a"]]}, {"orig": [["0x10073b01", "jle 0x322"]], "recomp": [["0x10076221", "jle 0x321"]]}, {"both": [["0x10073b07", "call Timer (FUNCTION)", "0x10076227"], ["0x10073b0c", "cmp byte ptr [eax + 0xc], 0", "0x1007622c"], ["0x10073b10", "je 0x8", "0x10076230"], ["0x10073b12", "fild dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10076232"], ["0x10073b18", "jmp 0x11", "0x10076238"], ["0x10073b1a", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x1007623a"], ["0x10073b20", "sub ecx, dword ptr [eax + 8]", "0x10076240"], ["0x10073b23", "mov dword ptr [esp + 8], ecx", "0x10076243"], ["0x10073b27", "fild dword ptr [esp + 8]", "0x10076247"], ["0x10073b2b", "fsub dword ptr [esi + 0x4214]", "0x1007624b"]]}]], ["@@ -0x10073cad,67 +0x100763cd,67 @@", [{"both": [["0x10073cad", "lea eax, [eax + ecx + 0x88]", "0x100763cd"], ["0x10073cb4", "fld dword ptr [eax]", "0x100763d4"], ["0x10073cb6", "fadd dword ptr [esp + 8]", "0x100763d6"], ["0x10073cba", "fstp dword ptr [eax]", "0x100763da"], ["0x10073cbc", "mov ecx, dword ptr [esi + 0x4210]", "0x100763dc"], ["0x10073cc2", "mov edx, dword ptr [ecx + 4]", "0x100763e2"], ["0x10073cc5", "mov eax, dword ptr [edx + 4]", "0x100763e5"], ["0x10073cc8", "lea eax, [eax + ecx + 0x84]", "0x100763e8"], ["0x10073ccf", "fld dword ptr [eax]", "0x100763ef"], ["0x10073cd1", "fadd dword ptr [esp + 8]", "0x100763f1"]]}, {"orig": [["0x10073cd5", "xor ecx, ecx"]], "recomp": [["0x100763f5", "xor edx, edx"]]}, {"both": [["0x10073cd7", "fstp dword ptr [eax]", "0x100763f7"], ["0x10073cd9", "mov eax, dword ptr [esi + 0x4210]", "0x100763f9"]]}, {"orig": [["0x10073cdf", "mov edx, 4"]], "recomp": [["0x100763ff", "mov ecx, 4"]]}, {"both": [["0x10073ce4", "add eax, 0x2c", "0x10076404"], ["0x10073ce7", "fld dword ptr [eax]", "0x10076407"], ["0x10073ce9", "fadd dword ptr [esp + 8]", "0x10076409"], ["0x10073ced", "fstp dword ptr [eax]", "0x1007640d"], ["0x10073cef", "fld dword ptr [esp + 8]", "0x1007640f"], ["0x10073cf3", "lea eax, [esi + 0x180]", "0x10076413"]]}, {"orig": [["0x10073cf9", "cmp ecx, 0x14"]], "recomp": [["0x10076419", "cmp edx, 0x14"]]}, {"both": [["0x10073cfc", "jge 0x2d", "0x1007641c"]]}, {"orig": [["0x10073cfe", "test word ptr [eax + 0xd0], dx"]], "recomp": [["0x1007641e", "test word ptr [eax + 0xd0], cx"]]}, {"both": [["0x10073d05", "je 0x1c", "0x10076425"], ["0x10073d07", "fld dword ptr [eax]", "0x10076427"], ["0x10073d09", "fadd st(1)", "0x10076429"], ["0x10073d0b", "fstp dword ptr [eax]", "0x1007642b"], ["0x10073d0d", "fld dword ptr [eax - 4]", "0x1007642d"], ["0x10073d10", "fadd st(1)", "0x10076430"], ["0x10073d12", "fstp dword ptr [eax - 4]", "0x10076432"], ["0x10073d15", "fld dword ptr [eax + 0xd4]", "0x10076435"], ["0x10073d1b", "fadd st(1)", "0x1007643b"], ["0x10073d1d", "fstp dword ptr [eax + 0xd4]", "0x1007643d"], ["0x10073d23", "add eax, 0x1a0", "0x10076443"]]}, {"orig": [["0x10073d28", "inc ecx"]], "recomp": [["0x10076448", "inc edx"]]}, {"both": [["0x10073d29", "jmp -0x32", "0x10076449"], ["0x10073d2b", "fstp st(0)", "0x1007644b"], ["0x10073d2d", "fld dword ptr [esp + 8]", "0x1007644d"]]}, {"orig": [["0x10073d31", "xor eax, eax"], ["0x10073d33", "lea edx, [esi + 0x2200]"]], "recomp": [["0x10076451", "xor edx, edx"], ["0x10076453", "lea eax, [esi + 0x2200]"]]}, {"both": [["0x10073d39", "mov ecx, 4", "0x10076459"]]}, {"orig": [["0x10073d3e", "cmp eax, 0x14"], ["0x10073d41", "jge 0x2e"], ["0x10073d43", "test word ptr [edx + 0xd0], cx"]], "recomp": [["0x1007645e", "cmp edx, 0x14"], ["0x10076461", "jge 0x2d"], ["0x10076463", "test word ptr [eax + 0xd0], cx"]]}, {"both": [["0x10073d4a", "je 0x1c", "0x1007646a"]]}, {"orig": [["0x10073d4c", "fld dword ptr [edx]"]], "recomp": [["0x1007646c", "fld dword ptr [eax]"]]}, {"both": [["0x10073d4e", "fadd st(1)", "0x1007646e"]]}, {"orig": [["0x10073d50", "fstp dword ptr [edx]"], ["0x10073d52", "fld dword ptr [edx - 4]"]], "recomp": [["0x10076470", "fstp dword ptr [eax]"], ["0x10076472", "fld dword ptr [eax - 4]"]]}, {"both": [["0x10073d55", "fadd st(1)", "0x10076475"]]}, {"orig": [["0x10073d57", "fstp dword ptr [edx - 4]"], ["0x10073d5a", "fld dword ptr [edx + 0xd4]"]], "recomp": [["0x10076477", "fstp dword ptr [eax - 4]"], ["0x1007647a", "fld dword ptr [eax + 0xd4]"]]}, {"both": [["0x10073d60", "fadd st(1)", "0x10076480"]]}, {"orig": [["0x10073d62", "fstp dword ptr [edx + 0xd4]"], ["0x10073d68", "add edx, 0x1a0"], ["0x10073d6e", "inc eax"], ["0x10073d6f", "jmp -0x33"]], "recomp": [["0x10076482", "fstp dword ptr [eax + 0xd4]"], ["0x10076488", "add eax, 0x1a0"], ["0x1007648d", "inc edx"], ["0x1007648e", "jmp -0x32"]]}, {"both": [["0x10073d71", "fstp st(0)", "0x10076490"], ["0x10073d73", "mov eax, dword ptr [esi + 0x420c]", "0x10076492"], ["0x10073d79", "mov ecx, esi", "0x10076498"], ["0x10073d7b", "push eax", "0x1007649a"], ["0x10073d7c", "call LegoWorld::PlaceActor (FUNCTION)", "0x1007649b"], ["0x10073d81", "mov eax, dword ptr [esi + 0x420c]", "0x100764a0"], ["0x10073d87", "push eax", "0x100764a6"], ["0x10073d88", "mov ecx, dword ptr [eax + 0x88]", "0x100764a7"], ["0x10073d8e", "call LegoPathBoundary::AddActor (FUNCTION)", "0x100764ad"], ["0x10073d93", "push esi", "0x100764b2"]]}]], ["@@ -0x10073e12,10 +0x10076531,11 @@", [{"both": [["0x10073e12", "fild dword ptr [esp + 8]", "0x10076531"], ["0x10073e16", "fstp dword ptr [esi + 0x4214]", "0x10076535"], ["0x10073e1c", "call TickleManager (FUNCTION)", "0x1007653b"], ["0x10073e21", "mov ecx, eax", "0x10076540"], ["0x10073e23", "push esi", "0x10076542"], ["0x10073e24", "mov eax, dword ptr [ecx]", "0x10076543"], ["0x10073e26", "call dword ptr [eax + 0x18]", "0x10076545"], ["0x10073e29", "pop esi", "0x10076548"], ["0x10073e2a", "pop ebx", "0x10076549"], ["0x10073e2b", "add esp, 4", "0x1007654a"]]}, {"orig": [], "recomp": [["0x1007654d", "ret 4"]]}]]]}, {"address": "0x10073e40", "recomp": "0x10076550", "name": "Act3::VTable0x60", "matching": 1.0, "diff": []}, {"address": "0x10073e50", "recomp": "0x10076560", "name": "Act3::Escape", "matching": 1.0, "diff": []}, {"address": "0x10073ea0", "recomp": "0x100772a0", "name": "MxCompositeMediaPresenter::MxCompositeMediaPresenter", "matching": 1.0, "diff": []}, {"address": "0x10073f10", "recomp": "0x10077310", "name": "MxCompositeMediaPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10073f20", "recomp": "0x10077320", "name": "MxCompositeMediaPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x10074000", "recomp": "0x10077400", "name": "MxCompositeMediaPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10074020", "recomp": "0x10077420", "name": "MxCompositeMediaPresenter::~MxCompositeMediaPresenter", "matching": 1.0, "diff": []}, {"address": "0x10074090", "recomp": "0x10077490", "name": "MxCompositeMediaPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x100742e0", "recomp": "0x100776e0", "name": "MxCompositeMediaPresenter::StartingTickle", "matching": 1.0, "effective": true, "diff": [["@@ -0x10074303,21 +0x10077703,21 @@", [{"both": [["0x10074303", "push eax", "0x10077703"], ["0x10074304", "lea ecx, [ebp - 0x14]", "0x10077704"], ["0x10074307", "xor ebx, ebx", "0x10077707"], ["0x10074309", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x10077709"], ["0x1007430e", "mov eax, dword ptr [esi + 0x44]", "0x1007770e"], ["0x10074311", "cmp byte ptr [esi + 0x4e], bl", "0x10077711"], ["0x10074314", "mov dword ptr [ebp - 4], ebx", "0x10077714"], ["0x10074317", "mov ecx, dword ptr [eax]", "0x10077717"], ["0x10074319", "je 0x97", "0x10077719"], ["0x1007431f", "mov dword ptr [ebp - 0x10], ecx", "0x1007771f"]]}, {"orig": [["0x10074322", "cmp eax, ecx"]], "recomp": [["0x10077722", "cmp ecx, eax"]]}, {"both": [["0x10074324", "je 0x47", "0x10077724"], ["0x10074326", "mov edi, dword ptr [ebp - 0x10]", "0x10077726"], ["0x10074329", "mov ecx, dword ptr [edi + 8]", "0x10077729"], ["0x1007432c", "add edi, 8", "0x1007772c"], ["0x1007432f", "mov eax, dword ptr [ecx + 0x1c]", "0x1007772f"], ["0x10074332", "cmp dword ptr [eax + 0x34], ebx", "0x10077732"], ["0x10074335", "jne 0x29", "0x10077735"], ["0x10074337", "call MxMediaPresenter::CurrentChunk (FUNCTION)", "0x10077737"], ["0x1007433c", "test eax, eax", "0x1007773c"], ["0x1007433e", "je 0x20", "0x1007773e"]]}]], ["@@ -0x10074397,21 +0x10077797,21 @@", [{"both": [["0x10074397", "mov edx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10077797"], ["0x1007439d", "jmp 0x9", "0x1007779d"], ["0x1007439f", "mov edx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x1007779f"], ["0x100743a5", "sub edx, dword ptr [eax + 8]", "0x100777a5"], ["0x100743a8", "mov ecx, dword ptr [esi + 0x1c]", "0x100777a8"], ["0x100743ab", "push edx", "0x100777ab"], ["0x100743ac", "mov eax, dword ptr [ecx]", "0x100777ac"], ["0x100743ae", "call dword ptr [eax + 0x38]", "0x100777ae"], ["0x100743b1", "jmp 0x83", "0x100777b1"], ["0x100743b6", "mov dword ptr [ebp - 0x10], ecx", "0x100777b6"]]}, {"orig": [["0x100743b9", "cmp ecx, eax"]], "recomp": [["0x100777b9", "cmp eax, ecx"]]}, {"both": [["0x100743bb", "je 0x3d", "0x100777bb"], ["0x100743bd", "mov edi, 3", "0x100777bd"], ["0x100743c2", "mov ebx, dword ptr [ebp - 0x10]", "0x100777c2"], ["0x100743c5", "mov ecx, dword ptr [ebx + 8]", "0x100777c5"], ["0x100743c8", "add ebx, 8", "0x100777c8"], ["0x100743cb", "cmp dword ptr [ecx + 8], edi", "0x100777cb"], ["0x100743ce", "jge 0x1d", "0x100777ce"], ["0x100743d0", "mov eax, dword ptr [ecx]", "0x100777d0"], ["0x100743d2", "call dword ptr [eax + 8]", "0x100777d2"], ["0x100743d5", "mov eax, dword ptr [ebx]", "0x100777d5"]]}]], ["@@ -0x100743f5,33 +0x100777f5,33 @@", [{"both": [["0x100743f5", "cmp dword ptr [esi + 0x44], ecx", "0x100777f5"], ["0x100743f8", "jne -0x38", "0x100777f8"], ["0x100743fa", "movsx eax, word ptr [esi + 0x4c]", "0x100777fa"], ["0x100743fe", "cmp dword ptr [esi + 0x48], eax", "0x100777fe"], ["0x10074401", "jne 0x36", "0x10077801"], ["0x10074403", "mov byte ptr [esi + 0x4e], 1", "0x10077803"], ["0x10074407", "mov ecx, dword ptr [esi + 0x44]", "0x10077807"], ["0x1007440a", "mov word ptr [esi + 0x4c], 0", "0x1007780a"], ["0x10074410", "mov eax, dword ptr [ecx]", "0x10077810"], ["0x10074412", "mov dword ptr [ebp - 0x10], eax", "0x10077812"]]}, {"orig": [["0x10074415", "cmp eax, ecx"]], "recomp": [["0x10077815", "cmp ecx, eax"]]}, {"both": [["0x10074417", "je 0x20", "0x10077817"], ["0x10074419", "xor edx, edx", "0x10077819"], ["0x1007441b", "mov eax, dword ptr [ebp - 0x10]", "0x1007781b"], ["0x1007441e", "mov ebx, dword ptr [eax + 8]", "0x1007781e"], ["0x10074421", "mov edi, dword ptr [ebx + 0x1c]", "0x10077821"], ["0x10074424", "cmp dword ptr [edi + 0x34], edx", "0x10077824"], ["0x10074427", "jne 0x4", "0x10077827"], ["0x10074429", "inc word ptr [esi + 0x4c]", "0x10077829"], ["0x1007442d", "mov eax, dword ptr [ebp - 0x10]", "0x1007782d"], ["0x10074430", "mov ebx, dword ptr [eax]", "0x10077830"], ["0x10074432", "mov dword ptr [ebp - 0x10], ebx", "0x10077832"]]}, {"orig": [["0x10074435", "cmp ebx, ecx"]], "recomp": [["0x10077835", "cmp ecx, ebx"]]}, {"both": [["0x10074437", "jne -0x1e", "0x10077837"], ["0x10074439", "mov dword ptr [ebp - 4], 0xffffffff", "0x10077839"], ["0x10074440", "call <OFFSET7>", "0x10077840"], ["0x10074445", "mov eax, dword ptr [ebp - 0xc]", "0x10077845"], ["0x10074448", "pop edi", "0x10077848"], ["0x10074449", "mov dword ptr fs:[0], eax", "0x10077849"], ["0x1007444f", "pop esi", "0x1007784f"], ["0x10074450", "pop ebx", "0x10077850"], ["0x10074451", "mov esp, ebp", "0x10077851"], ["0x10074453", "pop ebp", "0x10077853"]]}]]]}, {"address": "0x10074470", "recomp": "0x10077870", "name": "MxCompositeMediaPresenter::Tickle", "matching": 0.944, "diff": [["@@ -0x1007447b,23 +0x1007787b,24 @@", [{"both": [["0x1007447b", "push <OFFSET1>", "0x1007787b"], ["0x10074480", "push eax", "0x10077880"], ["0x10074481", "mov dword ptr fs:[0], esp", "0x10077881"], ["0x10074488", "sub esp, 8", "0x10077888"], ["0x1007448b", "push esi", "0x1007788b"], ["0x1007448c", "lea eax, [ecx + 0x20]", "0x1007788c"], ["0x1007448f", "mov esi, ecx", "0x1007788f"], ["0x10074491", "push eax", "0x10077891"], ["0x10074492", "lea ecx, [ebp - 0x14]", "0x10077892"], ["0x10074495", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x10077895"]]}, {"orig": [], "recomp": [["0x1007789a", "mov dword ptr [ebp - 4], 0"]]}, {"both": [["0x1007449a", "mov ecx, dword ptr [esi + 8]", "0x100778a1"]]}, {"orig": [["0x1007449d", "mov dword ptr [ebp - 4], 0"], ["0x100744a4", "lea eax, [ecx - 1]"]], "recomp": [["0x100778a4", "mov eax, ecx"], ["0x100778a6", "dec eax"]]}, {"both": [["0x100744a7", "cmp eax, 5", "0x100778a7"], ["0x100744aa", "ja 0x1f", "0x100778aa"], ["0x100744ac", "jmp dword ptr [eax*4 + <OFFSET3>]", "0x100778ac"], ["0x100744b3", "mov dword ptr [esi + 8], 2", "0x100778b3"], ["0x100744ba", "mov eax, 1", "0x100778ba"], ["0x100744bf", "shl eax, cl", "0x100778bf"], ["0x100744c1", "or dword ptr [esi + 0xc], eax", "0x100778c1"], ["0x100744c4", "mov eax, dword ptr [esi]", "0x100778c4"], ["0x100744c6", "mov ecx, esi", "0x100778c6"], ["0x100744c8", "call dword ptr [eax + 0x1c]", "0x100778c8"]]}]], ["@@ -0x100744d7,21 +0x100778d7,21 @@", [{"both": [["0x100744d7", "xor eax, eax", "0x100778d7"], ["0x100744d9", "mov ecx, dword ptr [ebp - 0xc]", "0x100778d9"], ["0x100744dc", "mov dword ptr fs:[0], ecx", "0x100778dc"], ["0x100744e3", "pop esi", "0x100778e3"], ["0x100744e4", "mov esp, ebp", "0x100778e4"], ["0x100744e6", "pop ebp", "0x100778e6"], ["0x100744e7", "ret ", "0x100778e7"], ["0x100744e8", "mov eax, dword ptr [esi + 0x44]", "0x100778e8"], ["0x100744eb", "mov ecx, dword ptr [eax]", "0x100778eb"], ["0x100744ed", "mov dword ptr [ebp - 0x10], ecx", "0x100778ed"]]}, {"orig": [["0x100744f0", "cmp ecx, eax"]], "recomp": [["0x100778f0", "cmp eax, ecx"]]}, {"both": [["0x100744f2", "je -0x29", "0x100778f2"], ["0x100744f4", "mov eax, dword ptr [ebp - 0x10]", "0x100778f4"], ["0x100744f7", "mov ecx, dword ptr [eax + 8]", "0x100778f7"], ["0x100744fa", "mov eax, dword ptr [ecx]", "0x100778fa"], ["0x100744fc", "call dword ptr [eax + 8]", "0x100778fc"], ["0x100744ff", "mov ecx, dword ptr [ebp - 0x10]", "0x100778ff"], ["0x10074502", "mov edx, dword ptr [ecx]", "0x10077902"], ["0x10074504", "mov dword ptr [ebp - 0x10], edx", "0x10077904"], ["0x10074507", "cmp dword ptr [esi + 0x44], edx", "0x10077907"], ["0x1007450a", "jne -0x18", "0x1007790a"]]}]]]}, {"address": "0x10074540", "recomp": "0x10077940", "name": "MxCompositeMediaPresenter::PutData", "matching": 1.0, "effective": true, "diff": [["@@ -0x10074565,21 +0x10077965,21 @@", [{"both": [["0x10074565", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x10077965"], ["0x1007456a", "mov dword ptr [ebp - 4], 0", "0x1007796a"], ["0x10074571", "mov eax, dword ptr [esi + 8]", "0x10077971"], ["0x10074574", "cmp eax, 3", "0x10077974"], ["0x10074577", "jl 0x29", "0x10077977"], ["0x10074579", "cmp eax, 6", "0x10077979"], ["0x1007457c", "jg 0x24", "0x1007797c"], ["0x1007457e", "mov eax, dword ptr [esi + 0x44]", "0x1007797e"], ["0x10074581", "mov ecx, dword ptr [eax]", "0x10077981"], ["0x10074583", "mov dword ptr [ebp - 0x10], ecx", "0x10077983"]]}, {"orig": [["0x10074586", "cmp ecx, eax"]], "recomp": [["0x10077986", "cmp eax, ecx"]]}, {"both": [["0x10074588", "je 0x18", "0x10077988"], ["0x1007458a", "mov eax, dword ptr [ebp - 0x10]", "0x1007798a"], ["0x1007458d", "mov ecx, dword ptr [eax + 8]", "0x1007798d"], ["0x10074590", "mov eax, dword ptr [ecx]", "0x10077990"], ["0x10074592", "call dword ptr [eax + 0x4c]", "0x10077992"], ["0x10074595", "mov ecx, dword ptr [ebp - 0x10]", "0x10077995"], ["0x10074598", "mov edx, dword ptr [ecx]", "0x10077998"], ["0x1007459a", "mov dword ptr [ebp - 0x10], edx", "0x1007799a"], ["0x1007459d", "cmp dword ptr [esi + 0x44], edx", "0x1007799d"], ["0x100745a0", "jne -0x18", "0x100779a0"]]}]]]}, {"address": "0x100745e0", "recomp": "0x100779e0", "name": "Hospital::Hospital", "matching": 1.0, "diff": []}, {"address": "0x100746a0", "recomp": "0x10077be0", "name": "Hospital::VTable0x5c", "matching": 1.0, "diff": []}, {"address": "0x100746b0", "recomp": "0x10077aa0", "name": "Hospital::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100746c0", "recomp": "0x10077ab0", "name": "Hospital::IsA", "matching": 1.0, "diff": []}, {"address": "0x100747d0", "recomp": "0x10077bc0", "name": "Hospital::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100747f0", "recomp": "0x10077bf0", "name": "Hospital::~Hospital", "matching": 1.0, "diff": []}, {"address": "0x100748c0", "recomp": "0x10077cc0", "name": "Hospital::Create", "matching": 1.0, "diff": []}, {"address": "0x10074990", "recomp": "0x10077d90", "name": "Hospital::Notify", "matching": 1.0, "diff": []}, {"address": "0x10074a60", "recomp": "0x10077e60", "name": "Hospital::ReadyWorld", "matching": 0.9858490566037735, "diff": [["@@ -,36 +,36 @@", [{"both": [["0x10074d42", "mov ecx, eax", "0x10078142"], ["0x10074d44", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10078144"], ["0x10074d49", "lea eax, [ebp - 0xb4]", "0x10078149"], ["0x10074d4f", "push eax", "0x1007814f"], ["0x10074d50", "call Start (FUNCTION)", "0x10078150"], ["0x10074d55", "mov dword ptr [ebp - 4], 0xffffffff", "0x10078155"], ["0x10074d5c", "add esp, 4", "0x1007815c"], ["0x10074d5f", "call <OFFSET21>", "0x1007815f"], ["0x10074d64", "mov edx, dword ptr [ebp - 0x10]", "0x10078164"], ["0x10074d67", "mov dword ptr [edx + 0x10c], 0x1f5", "0x10078167"]]}, {"orig": [], "recomp": [["0x10078171", "mov edx, dword ptr [ebp - 0x10]"], ["0x10078174", "push 7"]]}, {"both": [["0x10074d71", "mov word ptr [edx + 0x108], 1", "0x10078176"]]}, {"orig": [["0x10074d7a", "push 7"]], "recomp": []}, {"both": [["0x10074d7c", "push 0", "0x1007817f"], ["0x10074d7e", "call FUN_10015820 (FUNCTION)", "0x10078181"], ["0x10074d83", "add esp, 8", "0x10078186"], ["0x10074d86", "mov eax, dword ptr [ebp - 0xc]", "0x10078189"], ["0x10074d89", "mov dword ptr fs:[0], eax", "0x1007818c"], ["0x10074d8f", "pop esi", "0x10078192"], ["0x10074d90", "pop ebx", "0x10078193"], ["0x10074d91", "mov esp, ebp", "0x10078194"], ["0x10074d93", "pop ebp", "0x10078196"], ["0x10074d94", "ret ", "0x10078197"], ["0x10074d95", "lea ecx, [ebp - 0x14]", "0x10078198"], ["0x10074d98", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x1007819b"], ["0x10074d9d", "mov eax, <OFFSET23>", "0x100781a0"], ["0x10074da2", "jmp ___CxxFrameHandler (FUNCTION)", "0x100781a5"], ["0x10074da7", "lea ecx, [ebp - 0xb4]", "0x100781aa"], ["0x10074dad", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x100781b0"]]}, {"orig": [["0x10074db2", "mov edi, edi"]], "recomp": [["0x100781b5", "lea ecx, [ecx]"]]}, {"both": [["", "Jump table:", ""], ["0x10074db4", "Jump_dest_0", "0x100781b8"], ["0x10074db8", "Jump_dest_1", "0x100781bc"], ["0x10074dbc", "Jump_dest_2", "0x100781c0"], ["0x10074dc0", "Jump_dest_3", "0x100781c4"], ["0x10074dc4", "Jump_dest_4", "0x100781c8"]]}, {"orig": [["0x10074dc8", "Jump_dest_5"]], "recomp": []}]]]}, {"address": "0x10074dd0", "recomp": "0x100781d0", "name": "Hospital::HandleKeyPress", "matching": 1.0, "diff": []}, {"address": "0x10074e00", "recomp": "0x10078200", "name": "Hospital::HandleEndAction", "matching": 1.0, "diff": []}, {"address": "0x10075710", "recomp": "0x10078b10", "name": "Hospital::HandleButtonDown", "matching": 0.8992731048805815, "diff": [["@@ -0x10075710,118 +0x10078b10,116 @@", [{"both": [["0x10075710", "mov eax, dword ptr fs:[0]", "0x10078b10"], ["0x10075716", "push ebp", "0x10078b16"], ["0x10075717", "mov ebp, esp", "0x10078b17"], ["0x10075719", "push -1", "0x10078b19"], ["0x1007571b", "push <OFFSET1>", "0x10078b1b"], ["0x10075720", "push eax", "0x10078b20"], ["0x10075721", "mov dword ptr fs:[0], esp", "0x10078b21"], ["0x10075728", "sub esp, 0x9c", "0x10078b28"]]}, {"orig": [], "recomp": [["0x10078b2e", "cmp word ptr [ecx + 0x100], 1"], ["0x10078b36", "push ebx"]]}, {"both": [["0x1007572e", "mov dword ptr [ebp - 0x10], ecx", "0x10078b37"]]}, {"orig": [["0x10075731", "push ebx"], ["0x10075732", "cmp word ptr [ecx + 0x100], 1"], ["0x1007573a", "jne 0x824"]], "recomp": [["0x10078b3a", "jne 0x800"]]}, {"both": [["0x10075740", "mov eax, dword ptr [ebp + 8]", "0x10078b40"], ["0x10075743", "mov ecx, dword ptr [eax + 0x14]", "0x10078b43"], ["0x10075746", "mov edx, dword ptr [eax + 0x10]", "0x10078b46"], ["0x10075749", "push ecx", "0x10078b49"], ["0x1007574a", "push edx", "0x10078b4a"], ["0x1007574b", "call PickROI (FUNCTION)", "0x10078b4b"], ["0x10075750", "add esp, 8", "0x10078b50"], ["0x10075753", "test eax, eax", "0x10078b53"]]}, {"orig": [["0x10075755", "je 0x809"]], "recomp": [["0x10078b55", "je 0x7e5"]]}, {"both": [["0x1007575b", "mov eax, dword ptr [eax + 0xe4]", "0x10078b5b"], ["0x10075761", "cmp byte ptr [eax], 0x2a", "0x10078b61"], ["0x10075764", "jne 0x1", "0x10078b64"], ["0x10075766", "inc eax", "0x10078b66"], ["0x10075767", "push eax", "0x10078b67"], ["0x10075768", "push 'actor_ha' (STRING)", "0x10078b68"], ["0x1007576d", "call __strcmpi (FUNCTION)", "0x10078b6d"], ["0x10075772", "add esp, 8", "0x10078b72"], ["0x10075775", "test eax, eax", "0x10078b75"]]}, {"orig": [["0x10075777", "jne 0x7e7"]], "recomp": [["0x10078b77", "jne 0x7c3"]]}, {"both": [["0x1007577d", "call InputManager (FUNCTION)", "0x10078b7d"], ["0x10075782", "mov byte ptr [eax + 0x88], 1", "0x10078b82"], ["0x10075789", "mov byte ptr [eax + 0x336], 0", "0x10078b89"], ["0x10075790", "mov ecx, dword ptr [ebp - 0x10]", "0x10078b90"]]}, {"orig": [], "recomp": [["0x10078b93", "mov edx, dword ptr [ecx + 0x104]"]]}, {"both": [["0x10075793", "mov word ptr [ecx + 0x100], 3", "0x10078b99"]]}, {"orig": [["0x1007579c", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1007579f", "mov edx, dword ptr [ecx + 0x104]"]], "recomp": []}, {"both": [["0x100757a5", "lea ecx, [edx + 8]", "0x10078ba2"], ["0x100757a8", "mov eax, dword ptr [ecx]", "0x10078ba5"], ["0x100757aa", "cmp eax, 6", "0x10078ba7"]]}, {"orig": [["0x100757ad", "jne 0x8f"]], "recomp": [["0x10078baa", "jne 0x8c"]]}, {"both": [["0x100757b3", "mov eax, dword ptr [ebp - 0x10]", "0x10078bb0"], ["0x100757b6", "cmp byte ptr [eax + 0x128], 0", "0x10078bb3"]]}, {"orig": [["0x100757bd", "jne 0x79"]], "recomp": [["0x10078bba", "jne 0x76"]]}, {"both": [["0x100757bf", "mov byte ptr [eax + 0x128], 1", "0x10078bbc"], ["0x100757c6", "call TickleManager (FUNCTION)", "0x10078bc3"], ["0x100757cb", "mov ebx, dword ptr [eax]", "0x10078bc8"], ["0x100757cd", "mov ecx, eax", "0x10078bca"], ["0x100757cf", "mov eax, dword ptr [ebp - 0x10]", "0x10078bcc"], ["0x100757d2", "push eax", "0x10078bcf"], ["0x100757d3", "call dword ptr [ebx + 0x18]", "0x10078bd0"], ["0x100757d6", "mov ecx, dword ptr [ebp - 0x10]", "0x10078bd3"], ["0x100757d9", "push 'Act1State' (STRING)", "0x10078bd6"], ["0x100757de", "mov eax, dword ptr [ecx + 0x104]", "0x10078bdb"], ["0x100757e4", "mov dword ptr [eax + 8], 9", "0x10078be1"], ["0x100757eb", "call GameState (FUNCTION)", "0x10078be8"], ["0x100757f0", "mov ecx, eax", "0x10078bed"], ["0x100757f2", "call LegoGameState::GetState (FUNCTION)", "0x10078bef"]]}, {"orig": [["0x100757f7", "mov dword ptr [eax + 0x18], 9"]], "recomp": []}, {"both": [["0x100757fe", "mov ecx, dword ptr [ebp - 0x10]", "0x10078bf4"], ["0x10075801", "push 0x203", "0x10078bf7"]]}, {"orig": [], "recomp": [["0x10078bfc", "mov dword ptr [eax + 0x18], 9"]]}, {"both": [["0x10075806", "push 0x1f4", "0x10078c03"]]}, {"orig": [], "recomp": [["0x10078c08", "lea eax, [ecx + 0xc]"]]}, {"both": [["0x1007580b", "mov dword ptr [ecx + 0xfc], 0x1f", "0x10078c0b"]]}, {"orig": [["0x10075815", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075818", "add eax, 0xc"]], "recomp": []}, {"both": [["0x1007581b", "push eax", "0x10078c15"], ["0x1007581c", "call DeleteObjects (FUNCTION)", "0x10078c16"], ["0x10075821", "add esp, 0xc", "0x10078c1b"], ["0x10075824", "push 0", "0x10078c1e"], ["0x10075826", "push 0", "0x10078c20"], ["0x10075828", "push 0x32", "0x10078c22"], ["0x1007582a", "push 3", "0x10078c24"], ["0x1007582c", "call TransitionManager (FUNCTION)", "0x10078c26"], ["0x10075831", "mov ecx, eax", "0x10078c2b"], ["0x10075833", "call MxTransitionManager::StartTransition (FUNCTION)", "0x10078c2d"], ["0x10075838", "mov eax, 1", "0x10078c32"]]}, {"orig": [["0x1007583d", "jmp 0x724"]], "recomp": [["0x10078c37", "jmp 0x706"]]}, {"both": [["0x10075842", "cmp eax, 0xa", "0x10078c3c"], ["0x10075845", "je 0xa", "0x10078c3f"], ["0x10075847", "cmp eax, 8", "0x10078c41"], ["0x1007584a", "jne -0x14", "0x10078c44"], ["0x1007584c", "cmp eax, 0xa", "0x10078c46"], ["0x1007584f", "jne 0x35", "0x10078c49"], ["0x10075851", "mov dword ptr [ecx], 0xb", "0x10078c4b"], ["0x10075857", "call BackgroundAudioManager (FUNCTION)", "0x10078c51"], ["0x1007585c", "mov ecx, eax", "0x10078c56"], ["0x1007585e", "call MxBackgroundAudioManager::RaiseVolume (FUNCTION)", "0x10078c58"], ["0x10075863", "push 0x203", "0x10078c5d"], ["0x10075868", "mov eax, dword ptr [ebp - 0x10]", "0x10078c62"], ["0x1007586b", "push 0x1f4", "0x10078c65"], ["0x10075870", "add eax, 0xc", "0x10078c6a"], ["0x10075873", "push eax", "0x10078c6d"], ["0x10075874", "call DeleteObjects (FUNCTION)", "0x10078c6e"], ["0x10075879", "add esp, 0xc", "0x10078c73"], ["0x1007587c", "mov eax, 1", "0x10078c76"]]}, {"orig": [["0x10075881", "jmp 0x6e0"]], "recomp": [["0x10078c7b", "jmp 0x6c2"]]}, {"both": [["0x10075886", "mov eax, dword ptr [ebp - 0x10]", "0x10078c80"], ["0x10075889", "movsx eax, word ptr [eax + 0xf8]", "0x10078c83"], ["0x10075890", "dec eax", "0x10078c8a"], ["0x10075891", "cmp eax, 4", "0x10078c8b"], ["0x10075894", "ja -0x5e", "0x10078c8e"], ["0x10075896", "jmp dword ptr [eax*4 + <OFFSET15>]", "0x10078c90"], ["0x1007589d", "movsx eax, word ptr [edx + 0xe]", "0x10078c97"], ["0x100758a1", "test eax, eax", "0x10078c9b"], ["0x100758a3", "jl 0x9", "0x10078c9d"], ["0x100758a5", "cmp eax, 1", "0x10078c9f"]]}, {"orig": [["0x100758a8", "jle 0xa2"]], "recomp": [["0x10078ca2", "jle 0x9f"]]}, {"both": [["0x100758ae", "xor ebx, ebx", "0x10078ca8"], ["0x100758b0", "mov dword ptr [ecx], 0xc", "0x10078caa"], ["0x100758b6", "lea ecx, [ebp - 0xa8]", "0x10078cb0"], ["0x100758bc", "call MxDSAction::MxDSAction (FUNCTION)", "0x10078cb6"], ["0x100758c1", "mov dword ptr [ebp - 4], ebx", "0x10078cbb"], ["0x100758c4", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x10078cbe"], ["0x100758c9", "mov byte ptr [ebp - 4], 1", "0x10078cc3"], ["0x100758cd", "mov ecx, dword ptr [eax]", "0x10078cc7"], ["0x100758cf", "mov dword ptr [ebp - 0x14], ecx", "0x10078cc9"], ["0x100758d2", "lea ecx, [ebp - 0x14]", "0x10078ccc"]]}]], ["@@ -0x100758f3,25 +0x10078ced,24 @@", [{"both": [["0x100758f3", "call BackgroundAudioManager (FUNCTION)", "0x10078ced"], ["0x100758f8", "mov ecx, eax", "0x10078cf2"], ["0x100758fa", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10078cf4"], ["0x100758ff", "lea eax, [ebp - 0xa8]", "0x10078cf9"], ["0x10075905", "push eax", "0x10078cff"], ["0x10075906", "call Start (FUNCTION)", "0x10078d00"], ["0x1007590b", "mov dword ptr [ebp - 4], 0xffffffff", "0x10078d05"], ["0x10075912", "add esp, 4", "0x10078d0c"], ["0x10075915", "call <OFFSET22>", "0x10078d0f"], ["0x1007591a", "mov eax, dword ptr [ebp - 0x10]", "0x10078d14"]]}, {"orig": [], "recomp": [["0x10078d17", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x1007591d", "mov dword ptr [eax + 0x10c], 0x1f9", "0x10078d20"]]}, {"orig": [["0x10075927", "mov eax, dword ptr [ebp - 0x10]"], ["0x1007592a", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075933", "mov eax, 1", "0x10078d2a"]]}, {"orig": [["0x10075938", "jmp 0x629"]], "recomp": [["0x10078d2f", "jmp 0x60e"]]}, {"both": [["0x1007593d", "lea ecx, [ebp - 0x14]", "0x10078d34"], ["0x10075940", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10078d37"], ["0x10075945", "lea ecx, [ebp - 0xa8]", "0x10078d3c"], ["0x1007594b", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10078d42"], ["0x10075950", "mov ebx, 2", "0x10078d47"], ["0x10075955", "mov dword ptr [ecx], 0xc", "0x10078d4c"], ["0x1007595b", "lea ecx, [ebp - 0xa8]", "0x10078d52"], ["0x10075961", "call MxDSAction::MxDSAction (FUNCTION)", "0x10078d58"], ["0x10075966", "mov dword ptr [ebp - 4], ebx", "0x10078d5d"], ["0x10075969", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x10078d60"]]}]], ["@@ -0x10075998,34 +0x10078d8f,33 @@", [{"both": [["0x10075998", "call BackgroundAudioManager (FUNCTION)", "0x10078d8f"], ["0x1007599d", "mov ecx, eax", "0x10078d94"], ["0x1007599f", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10078d96"], ["0x100759a4", "lea eax, [ebp - 0xa8]", "0x10078d9b"], ["0x100759aa", "push eax", "0x10078da1"], ["0x100759ab", "call Start (FUNCTION)", "0x10078da2"], ["0x100759b0", "mov dword ptr [ebp - 4], 0xffffffff", "0x10078da7"], ["0x100759b7", "add esp, 4", "0x10078dae"], ["0x100759ba", "call <OFFSET24>", "0x10078db1"], ["0x100759bf", "mov eax, dword ptr [ebp - 0x10]", "0x10078db6"]]}, {"orig": [], "recomp": [["0x10078db9", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x100759c2", "mov dword ptr [eax + 0x10c], 0x1f8", "0x10078dc2"]]}, {"orig": [["0x100759cc", "mov eax, dword ptr [ebp - 0x10]"], ["0x100759cf", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x100759d8", "mov eax, 1", "0x10078dcc"]]}, {"orig": [["0x100759dd", "jmp 0x584"]], "recomp": [["0x10078dd1", "jmp 0x56c"]]}, {"both": [["0x100759e2", "lea ecx, [ebp - 0x14]", "0x10078dd6"], ["0x100759e5", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10078dd9"], ["0x100759ea", "lea ecx, [ebp - 0xa8]", "0x10078dde"], ["0x100759f0", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10078de4"], ["0x100759f5", "movsx eax, word ptr [edx + 0x10]", "0x10078de9"], ["0x100759f9", "test eax, eax", "0x10078ded"], ["0x100759fb", "jl 0x9", "0x10078def"], ["0x100759fd", "cmp eax, 1", "0x10078df1"]]}, {"orig": [["0x10075a00", "jle 0xa5"]], "recomp": [["0x10078df4", "jle 0xa2"]]}, {"both": [["0x10075a06", "mov ebx, 4", "0x10078dfa"], ["0x10075a0b", "mov dword ptr [ecx], 0xc", "0x10078dff"], ["0x10075a11", "lea ecx, [ebp - 0xa8]", "0x10078e05"], ["0x10075a17", "call MxDSAction::MxDSAction (FUNCTION)", "0x10078e0b"], ["0x10075a1c", "mov dword ptr [ebp - 4], ebx", "0x10078e10"], ["0x10075a1f", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x10078e13"], ["0x10075a24", "mov byte ptr [ebp - 4], 5", "0x10078e18"], ["0x10075a28", "mov ecx, dword ptr [eax]", "0x10078e1c"], ["0x10075a2a", "mov dword ptr [ebp - 0x14], ecx", "0x10078e1e"], ["0x10075a2d", "lea ecx, [ebp - 0x14]", "0x10078e21"]]}]], ["@@ -0x10075a4e,25 +0x10078e42,24 @@", [{"both": [["0x10075a4e", "call BackgroundAudioManager (FUNCTION)", "0x10078e42"], ["0x10075a53", "mov ecx, eax", "0x10078e47"], ["0x10075a55", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10078e49"], ["0x10075a5a", "lea eax, [ebp - 0xa8]", "0x10078e4e"], ["0x10075a60", "push eax", "0x10078e54"], ["0x10075a61", "call Start (FUNCTION)", "0x10078e55"], ["0x10075a66", "mov dword ptr [ebp - 4], 0xffffffff", "0x10078e5a"], ["0x10075a6d", "add esp, 4", "0x10078e61"], ["0x10075a70", "call <OFFSET26>", "0x10078e64"], ["0x10075a75", "mov eax, dword ptr [ebp - 0x10]", "0x10078e69"]]}, {"orig": [], "recomp": [["0x10078e6c", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075a78", "mov dword ptr [eax + 0x10c], 0x1fb", "0x10078e75"]]}, {"orig": [["0x10075a82", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075a85", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075a8e", "mov eax, 1", "0x10078e7f"]]}, {"orig": [["0x10075a93", "jmp 0x4ce"]], "recomp": [["0x10078e84", "jmp 0x4b9"]]}, {"both": [["0x10075a98", "lea ecx, [ebp - 0x14]", "0x10078e89"], ["0x10075a9b", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10078e8c"], ["0x10075aa0", "lea ecx, [ebp - 0xa8]", "0x10078e91"], ["0x10075aa6", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10078e97"], ["0x10075aab", "mov ebx, 6", "0x10078e9c"], ["0x10075ab0", "mov dword ptr [ecx], 0xc", "0x10078ea1"], ["0x10075ab6", "lea ecx, [ebp - 0xa8]", "0x10078ea7"], ["0x10075abc", "call MxDSAction::MxDSAction (FUNCTION)", "0x10078ead"], ["0x10075ac1", "mov dword ptr [ebp - 4], ebx", "0x10078eb2"], ["0x10075ac4", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x10078eb5"]]}]], ["@@ -0x10075af3,34 +0x10078ee4,33 @@", [{"both": [["0x10075af3", "call BackgroundAudioManager (FUNCTION)", "0x10078ee4"], ["0x10075af8", "mov ecx, eax", "0x10078ee9"], ["0x10075afa", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10078eeb"], ["0x10075aff", "lea eax, [ebp - 0xa8]", "0x10078ef0"], ["0x10075b05", "push eax", "0x10078ef6"], ["0x10075b06", "call Start (FUNCTION)", "0x10078ef7"], ["0x10075b0b", "mov dword ptr [ebp - 4], 0xffffffff", "0x10078efc"], ["0x10075b12", "add esp, 4", "0x10078f03"], ["0x10075b15", "call <OFFSET28>", "0x10078f06"], ["0x10075b1a", "mov eax, dword ptr [ebp - 0x10]", "0x10078f0b"]]}, {"orig": [], "recomp": [["0x10078f0e", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075b1d", "mov dword ptr [eax + 0x10c], 0x1fa", "0x10078f17"]]}, {"orig": [["0x10075b27", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075b2a", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075b33", "mov eax, 1", "0x10078f21"]]}, {"orig": [["0x10075b38", "jmp 0x429"]], "recomp": [["0x10078f26", "jmp 0x417"]]}, {"both": [["0x10075b3d", "lea ecx, [ebp - 0x14]", "0x10078f2b"], ["0x10075b40", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10078f2e"], ["0x10075b45", "lea ecx, [ebp - 0xa8]", "0x10078f33"], ["0x10075b4b", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10078f39"], ["0x10075b50", "movsx eax, word ptr [edx + 0x12]", "0x10078f3e"], ["0x10075b54", "test eax, eax", "0x10078f42"], ["0x10075b56", "jl 0x9", "0x10078f44"], ["0x10075b58", "cmp eax, 1", "0x10078f46"]]}, {"orig": [["0x10075b5b", "jle 0xa5"]], "recomp": [["0x10078f49", "jle 0xa2"]]}, {"both": [["0x10075b61", "mov ebx, 8", "0x10078f4f"], ["0x10075b66", "mov dword ptr [ecx], 0xc", "0x10078f54"], ["0x10075b6c", "lea ecx, [ebp - 0xa8]", "0x10078f5a"], ["0x10075b72", "call MxDSAction::MxDSAction (FUNCTION)", "0x10078f60"], ["0x10075b77", "mov dword ptr [ebp - 4], ebx", "0x10078f65"], ["0x10075b7a", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x10078f68"], ["0x10075b7f", "mov byte ptr [ebp - 4], 9", "0x10078f6d"], ["0x10075b83", "mov ecx, dword ptr [eax]", "0x10078f71"], ["0x10075b85", "mov dword ptr [ebp - 0x14], ecx", "0x10078f73"], ["0x10075b88", "lea ecx, [ebp - 0x14]", "0x10078f76"]]}]], ["@@ -0x10075ba9,25 +0x10078f97,24 @@", [{"both": [["0x10075ba9", "call BackgroundAudioManager (FUNCTION)", "0x10078f97"], ["0x10075bae", "mov ecx, eax", "0x10078f9c"], ["0x10075bb0", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10078f9e"], ["0x10075bb5", "lea eax, [ebp - 0xa8]", "0x10078fa3"], ["0x10075bbb", "push eax", "0x10078fa9"], ["0x10075bbc", "call Start (FUNCTION)", "0x10078faa"], ["0x10075bc1", "mov dword ptr [ebp - 4], 0xffffffff", "0x10078faf"], ["0x10075bc8", "add esp, 4", "0x10078fb6"], ["0x10075bcb", "call <OFFSET30>", "0x10078fb9"], ["0x10075bd0", "mov eax, dword ptr [ebp - 0x10]", "0x10078fbe"]]}, {"orig": [], "recomp": [["0x10078fc1", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075bd3", "mov dword ptr [eax + 0x10c], 0x1fe", "0x10078fca"]]}, {"orig": [["0x10075bdd", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075be0", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075be9", "mov eax, 1", "0x10078fd4"]]}, {"orig": [["0x10075bee", "jmp 0x373"]], "recomp": [["0x10078fd9", "jmp 0x364"]]}, {"both": [["0x10075bf3", "lea ecx, [ebp - 0x14]", "0x10078fde"], ["0x10075bf6", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10078fe1"], ["0x10075bfb", "lea ecx, [ebp - 0xa8]", "0x10078fe6"], ["0x10075c01", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10078fec"], ["0x10075c06", "mov ebx, 0xa", "0x10078ff1"], ["0x10075c0b", "mov dword ptr [ecx], 0xc", "0x10078ff6"], ["0x10075c11", "lea ecx, [ebp - 0xa8]", "0x10078ffc"], ["0x10075c17", "call MxDSAction::MxDSAction (FUNCTION)", "0x10079002"], ["0x10075c1c", "mov dword ptr [ebp - 4], ebx", "0x10079007"], ["0x10075c1f", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x1007900a"]]}]], ["@@ -0x10075c4e,34 +0x10079039,33 @@", [{"both": [["0x10075c4e", "call BackgroundAudioManager (FUNCTION)", "0x10079039"], ["0x10075c53", "mov ecx, eax", "0x1007903e"], ["0x10075c55", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10079040"], ["0x10075c5a", "lea eax, [ebp - 0xa8]", "0x10079045"], ["0x10075c60", "push eax", "0x1007904b"], ["0x10075c61", "call Start (FUNCTION)", "0x1007904c"], ["0x10075c66", "mov dword ptr [ebp - 4], 0xffffffff", "0x10079051"], ["0x10075c6d", "add esp, 4", "0x10079058"], ["0x10075c70", "call <OFFSET32>", "0x1007905b"], ["0x10075c75", "mov eax, dword ptr [ebp - 0x10]", "0x10079060"]]}, {"orig": [], "recomp": [["0x10079063", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075c78", "mov dword ptr [eax + 0x10c], 0x1fd", "0x1007906c"]]}, {"orig": [["0x10075c82", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075c85", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075c8e", "mov eax, 1", "0x10079076"]]}, {"orig": [["0x10075c93", "jmp 0x2ce"]], "recomp": [["0x1007907b", "jmp 0x2c2"]]}, {"both": [["0x10075c98", "lea ecx, [ebp - 0x14]", "0x10079080"], ["0x10075c9b", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10079083"], ["0x10075ca0", "lea ecx, [ebp - 0xa8]", "0x10079088"], ["0x10075ca6", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x1007908e"], ["0x10075cab", "movsx eax, word ptr [edx + 0x14]", "0x10079093"], ["0x10075caf", "test eax, eax", "0x10079097"], ["0x10075cb1", "jl 0x9", "0x10079099"], ["0x10075cb3", "cmp eax, 1", "0x1007909b"]]}, {"orig": [["0x10075cb6", "jle 0xa1"]], "recomp": [["0x1007909e", "jle 0x9e"]]}, {"both": [["0x10075cbc", "mov ebx, 0xc", "0x100790a4"], ["0x10075cc1", "mov dword ptr [ecx], ebx", "0x100790a9"], ["0x10075cc3", "lea ecx, [ebp - 0xa8]", "0x100790ab"], ["0x10075cc9", "call MxDSAction::MxDSAction (FUNCTION)", "0x100790b1"], ["0x10075cce", "mov dword ptr [ebp - 4], ebx", "0x100790b6"], ["0x10075cd1", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x100790b9"], ["0x10075cd6", "mov byte ptr [ebp - 4], 0xd", "0x100790be"], ["0x10075cda", "mov ecx, dword ptr [eax]", "0x100790c2"], ["0x10075cdc", "mov dword ptr [ebp - 0x14], ecx", "0x100790c4"], ["0x10075cdf", "lea ecx, [ebp - 0x14]", "0x100790c7"]]}]], ["@@ -0x10075d00,25 +0x100790e8,24 @@", [{"both": [["0x10075d00", "call BackgroundAudioManager (FUNCTION)", "0x100790e8"], ["0x10075d05", "mov ecx, eax", "0x100790ed"], ["0x10075d07", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x100790ef"], ["0x10075d0c", "lea eax, [ebp - 0xa8]", "0x100790f4"], ["0x10075d12", "push eax", "0x100790fa"], ["0x10075d13", "call Start (FUNCTION)", "0x100790fb"], ["0x10075d18", "mov dword ptr [ebp - 4], 0xffffffff", "0x10079100"], ["0x10075d1f", "add esp, 4", "0x10079107"], ["0x10075d22", "call <OFFSET34>", "0x1007910a"], ["0x10075d27", "mov eax, dword ptr [ebp - 0x10]", "0x1007910f"]]}, {"orig": [], "recomp": [["0x10079112", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075d2a", "mov dword ptr [eax + 0x10c], 0x201", "0x1007911b"]]}, {"orig": [["0x10075d34", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075d37", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075d40", "mov eax, 1", "0x10079125"]]}, {"orig": [["0x10075d45", "jmp 0x21c"]], "recomp": [["0x1007912a", "jmp 0x213"]]}, {"both": [["0x10075d4a", "lea ecx, [ebp - 0x14]", "0x1007912f"], ["0x10075d4d", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10079132"], ["0x10075d52", "lea ecx, [ebp - 0xa8]", "0x10079137"], ["0x10075d58", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x1007913d"], ["0x10075d5d", "mov ebx, 0xe", "0x10079142"], ["0x10075d62", "mov dword ptr [ecx], 0xc", "0x10079147"], ["0x10075d68", "lea ecx, [ebp - 0xa8]", "0x1007914d"], ["0x10075d6e", "call MxDSAction::MxDSAction (FUNCTION)", "0x10079153"], ["0x10075d73", "mov dword ptr [ebp - 4], ebx", "0x10079158"], ["0x10075d76", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x1007915b"]]}]], ["@@ -0x10075da5,34 +0x1007918a,33 @@", [{"both": [["0x10075da5", "call BackgroundAudioManager (FUNCTION)", "0x1007918a"], ["0x10075daa", "mov ecx, eax", "0x1007918f"], ["0x10075dac", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10079191"], ["0x10075db1", "lea eax, [ebp - 0xa8]", "0x10079196"], ["0x10075db7", "push eax", "0x1007919c"], ["0x10075db8", "call Start (FUNCTION)", "0x1007919d"], ["0x10075dbd", "mov dword ptr [ebp - 4], 0xffffffff", "0x100791a2"], ["0x10075dc4", "add esp, 4", "0x100791a9"], ["0x10075dc7", "call <OFFSET36>", "0x100791ac"], ["0x10075dcc", "mov eax, dword ptr [ebp - 0x10]", "0x100791b1"]]}, {"orig": [], "recomp": [["0x100791b4", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075dcf", "mov dword ptr [eax + 0x10c], 0x1fc", "0x100791bd"]]}, {"orig": [["0x10075dd9", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075ddc", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075de5", "mov eax, 1", "0x100791c7"]]}, {"orig": [["0x10075dea", "jmp 0x177"]], "recomp": [["0x100791cc", "jmp 0x171"]]}, {"both": [["0x10075def", "lea ecx, [ebp - 0x14]", "0x100791d1"], ["0x10075df2", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x100791d4"], ["0x10075df7", "lea ecx, [ebp - 0xa8]", "0x100791d9"], ["0x10075dfd", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x100791df"], ["0x10075e02", "movsx eax, word ptr [edx + 0x16]", "0x100791e4"], ["0x10075e06", "test eax, eax", "0x100791e8"], ["0x10075e08", "jl 0x9", "0x100791ea"], ["0x10075e0a", "cmp eax, 1", "0x100791ec"]]}, {"orig": [["0x10075e0d", "jle 0xa5"]], "recomp": [["0x100791ef", "jle 0xa2"]]}, {"both": [["0x10075e13", "mov ebx, 0x10", "0x100791f5"], ["0x10075e18", "mov dword ptr [ecx], 0xc", "0x100791fa"], ["0x10075e1e", "lea ecx, [ebp - 0xa8]", "0x10079200"], ["0x10075e24", "call MxDSAction::MxDSAction (FUNCTION)", "0x10079206"], ["0x10075e29", "mov dword ptr [ebp - 4], ebx", "0x1007920b"], ["0x10075e2c", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x1007920e"], ["0x10075e31", "mov byte ptr [ebp - 4], 0x11", "0x10079213"], ["0x10075e35", "mov ecx, dword ptr [eax]", "0x10079217"], ["0x10075e37", "mov dword ptr [ebp - 0x14], ecx", "0x10079219"], ["0x10075e3a", "lea ecx, [ebp - 0x14]", "0x1007921c"]]}]], ["@@ -0x10075e5b,25 +0x1007923d,24 @@", [{"both": [["0x10075e5b", "call BackgroundAudioManager (FUNCTION)", "0x1007923d"], ["0x10075e60", "mov ecx, eax", "0x10079242"], ["0x10075e62", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10079244"], ["0x10075e67", "lea eax, [ebp - 0xa8]", "0x10079249"], ["0x10075e6d", "push eax", "0x1007924f"], ["0x10075e6e", "call Start (FUNCTION)", "0x10079250"], ["0x10075e73", "mov dword ptr [ebp - 4], 0xffffffff", "0x10079255"], ["0x10075e7a", "add esp, 4", "0x1007925c"], ["0x10075e7d", "call <OFFSET38>", "0x1007925f"], ["0x10075e82", "mov eax, dword ptr [ebp - 0x10]", "0x10079264"]]}, {"orig": [], "recomp": [["0x10079267", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075e85", "mov dword ptr [eax + 0x10c], 0x200", "0x10079270"]]}, {"orig": [["0x10075e8f", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075e92", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075e9b", "mov eax, 1", "0x1007927a"]]}, {"orig": [["0x10075ea0", "jmp 0xc1"]], "recomp": [["0x1007927f", "jmp 0xbe"]]}, {"both": [["0x10075ea5", "lea ecx, [ebp - 0x14]", "0x10079284"], ["0x10075ea8", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10079287"], ["0x10075ead", "lea ecx, [ebp - 0xa8]", "0x1007928c"], ["0x10075eb3", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10079292"], ["0x10075eb8", "mov ebx, 0x12", "0x10079297"], ["0x10075ebd", "mov dword ptr [ecx], 0xc", "0x1007929c"], ["0x10075ec3", "lea ecx, [ebp - 0xa8]", "0x100792a2"], ["0x10075ec9", "call MxDSAction::MxDSAction (FUNCTION)", "0x100792a8"], ["0x10075ece", "mov dword ptr [ebp - 4], ebx", "0x100792ad"], ["0x10075ed1", "mov eax, dword ptr [g_hospitalScript (DATA)]", "0x100792b0"]]}]], ["@@ -0x10075f00,22 +,34 @@", [{"both": [["0x10075f00", "call BackgroundAudioManager (FUNCTION)", "0x100792df"], ["0x10075f05", "mov ecx, eax", "0x100792e4"], ["0x10075f07", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x100792e6"], ["0x10075f0c", "lea eax, [ebp - 0xa8]", "0x100792eb"], ["0x10075f12", "push eax", "0x100792f1"], ["0x10075f13", "call Start (FUNCTION)", "0x100792f2"], ["0x10075f18", "mov dword ptr [ebp - 4], 0xffffffff", "0x100792f7"], ["0x10075f1f", "add esp, 4", "0x100792fe"], ["0x10075f22", "call <OFFSET40>", "0x10079301"], ["0x10075f27", "mov eax, dword ptr [ebp - 0x10]", "0x10079306"]]}, {"orig": [], "recomp": [["0x10079309", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10075f2a", "mov dword ptr [eax + 0x10c], 0x1ff", "0x10079312"]]}, {"orig": [["0x10075f34", "mov eax, dword ptr [ebp - 0x10]"], ["0x10075f37", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10075f40", "mov eax, 1", "0x1007931c"], ["0x10075f45", "jmp 0x1f", "0x10079321"], ["0x10075f47", "lea ecx, [ebp - 0x14]", "0x10079323"], ["0x10075f4a", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10079326"], ["0x10075f4f", "mov eax, <OFFSET41>", "0x1007932b"], ["0x10075f54", "jmp ___CxxFrameHandler (FUNCTION)", "0x10079330"], ["0x10075f59", "lea ecx, [ebp - 0xa8]", "0x10079335"], ["0x10075f5f", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x1007933b"], ["0x10075f64", "xor eax, eax", "0x10079340"]]}, {"orig": [], "recomp": [["0x10079342", "mov ecx, dword ptr [ebp - 0xc]"], ["0x10079345", "pop ebx"], ["0x10079346", "mov dword ptr fs:[0], ecx"], ["0x1007934d", "mov esp, ebp"], ["0x1007934f", "pop ebp"], ["0x10079350", "ret 4"], ["0x10079353", "nop "], ["", "Jump table:"], ["0x10079354", "Jump_dest_0"], ["0x10079358", "Jump_dest_1"], ["0x1007935c", "Jump_dest_2"], ["0x10079360", "Jump_dest_3"], ["0x10079364", "Jump_dest_4"]]}]]]}, {"address": "0x10075f90", "recomp": "0x10079370", "name": "Hospital::HandleControl", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007605c,32 +0x1007943c,32 @@", [{"both": [["0x1007605c", "call BackgroundAudioManager (FUNCTION)", "0x1007943c"], ["0x10076061", "mov ecx, eax", "0x10079441"], ["0x10076063", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10079443"], ["0x10076068", "lea eax, [ebp - 0xa8]", "0x10079448"], ["0x1007606e", "push eax", "0x1007944e"], ["0x1007606f", "call Start (FUNCTION)", "0x1007944f"], ["0x10076074", "mov dword ptr [ebp - 4], 0xffffffff", "0x10079454"], ["0x1007607b", "add esp, 4", "0x1007945b"], ["0x1007607e", "call <OFFSET11>", "0x1007945e"], ["0x10076083", "mov eax, dword ptr [ebp - 0x10]", "0x10079463"]]}, {"orig": [], "recomp": [["0x10079466", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10076086", "mov dword ptr [eax + 0x10c], 0x1f7", "0x1007946f"]]}, {"orig": [["0x10076090", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x10076099", "jmp 0x16d", "0x10079479"], ["0x1007609e", "lea ecx, [ebp - 0x14]", "0x1007947e"], ["0x100760a1", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10079481"], ["0x100760a6", "lea ecx, [ebp - 0xa8]", "0x10079486"], ["0x100760ac", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x1007948c"], ["0x100760b1", "mov eax, dword ptr [ebp - 0x10]", "0x10079491"], ["0x100760b4", "cmp byte ptr [eax + 0x128], 0", "0x10079494"], ["0x100760bb", "jne 0x14a", "0x1007949b"]]}, {"orig": [], "recomp": [["0x100794a1", "mov ecx, dword ptr [eax + 0x104]"]]}, {"both": [["0x100760c1", "mov byte ptr [eax + 0x128], 1", "0x100794a7"]]}, {"orig": [["0x100760c8", "mov ecx, dword ptr [eax + 0x104]"]], "recomp": []}, {"both": [["0x100760ce", "mov dword ptr [ecx + 8], 0xd", "0x100794ae"], ["0x100760d5", "mov dword ptr [eax + 0xfc], 2", "0x100794b5"], ["0x100760df", "jmp 0x100", "0x100794bf"], ["0x100760e4", "mov esi, dword ptr [ebp - 0x10]", "0x100794c4"], ["0x100760e7", "push 0x203", "0x100794c7"], ["0x100760ec", "add esi, 0xc", "0x100794cc"], ["0x100760ef", "push 0x1f4", "0x100794cf"], ["0x100760f4", "push esi", "0x100794d4"], ["0x100760f5", "call DeleteObjects (FUNCTION)", "0x100794d5"], ["0x100760fa", "add esp, 0xc", "0x100794da"]]}]], ["@@ -0x1007615e,34 +0x1007953e,34 @@", [{"both": [["0x1007615e", "call BackgroundAudioManager (FUNCTION)", "0x1007953e"], ["0x10076163", "mov ecx, eax", "0x10079543"], ["0x10076165", "call MxBackgroundAudioManager::LowerVolume (FUNCTION)", "0x10079545"], ["0x1007616a", "lea eax, [ebp - 0xa8]", "0x1007954a"], ["0x10076170", "push eax", "0x10079550"], ["0x10076171", "call Start (FUNCTION)", "0x10079551"], ["0x10076176", "mov dword ptr [ebp - 4], 0xffffffff", "0x10079556"], ["0x1007617d", "add esp, 4", "0x1007955d"], ["0x10076180", "call <OFFSET13>", "0x10079560"], ["0x10076185", "mov eax, dword ptr [ebp - 0x10]", "0x10079565"]]}, {"orig": [], "recomp": [["0x10079568", "mov word ptr [eax + 0x108], 1"]]}, {"both": [["0x10076188", "mov dword ptr [eax + 0x10c], 0x1f7", "0x10079571"]]}, {"orig": [["0x10076192", "mov word ptr [eax + 0x108], 1"]], "recomp": []}, {"both": [["0x1007619b", "jmp 0x6e", "0x1007957b"], ["0x1007619d", "lea ecx, [ebp - 0x14]", "0x1007957d"], ["0x100761a0", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x10079580"], ["0x100761a5", "mov eax, <OFFSET14>", "0x10079585"], ["0x100761aa", "jmp ___CxxFrameHandler (FUNCTION)", "0x1007958a"], ["0x100761af", "lea ecx, [ebp - 0xa8]", "0x1007958f"], ["0x100761b5", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x10079595"], ["0x100761ba", "mov eax, dword ptr [ebp - 0x10]", "0x1007959a"], ["0x100761bd", "cmp byte ptr [eax + 0x128], 0", "0x1007959d"], ["0x100761c4", "jne 0x45", "0x100795a4"]]}, {"orig": [], "recomp": [["0x100795a6", "mov ecx, dword ptr [eax + 0x104]"]]}, {"both": [["0x100761c6", "mov byte ptr [eax + 0x128], 1", "0x100795ac"]]}, {"orig": [["0x100761cd", "mov ecx, dword ptr [eax + 0x104]"]], "recomp": []}, {"both": [["0x100761d3", "mov dword ptr [ecx + 8], 0xd", "0x100795b3"], ["0x100761da", "mov dword ptr [eax + 0xfc], 0x1f", "0x100795ba"], ["0x100761e4", "push 0x203", "0x100795c4"], ["0x100761e9", "push 0x1f4", "0x100795c9"], ["0x100761ee", "push esi", "0x100795ce"], ["0x100761ef", "call DeleteObjects (FUNCTION)", "0x100795cf"], ["0x100761f4", "add esp, 0xc", "0x100795d4"], ["0x100761f7", "push 0", "0x100795d7"], ["0x100761f9", "push 0", "0x100795d9"], ["0x100761fb", "push 0x32", "0x100795db"]]}]]]}, {"address": "0x10076220", "recomp": "0x10079600", "name": "Hospital::Enable", "matching": 1.0, "diff": []}, {"address": "0x10076270", "recomp": "0x10079650", "name": "Hospital::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10076330", "recomp": "0x10079710", "name": "Hospital::Escape", "matching": 1.0, "diff": []}, {"address": "0x10076370", "recomp": "0x10079750", "name": "HospitalState::HospitalState", "matching": 1.0, "diff": []}, {"address": "0x10076400", "recomp": "0x100797e0", "name": "HospitalState::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10076410", "recomp": "0x100797f0", "name": "HospitalState::IsA", "matching": 1.0, "diff": []}, {"address": "0x100764c0", "recomp": "0x100798a0", "name": "HospitalState::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10076530", "recomp": "0x10079910", "name": "HospitalState::Serialize", "matching": 1.0, "diff": []}, {"address": "0x10076670", "recomp": "0x10079a50", "name": "Bike::Bike", "matching": 1.0, "diff": []}, {"address": "0x100766f0", "recomp": "0x10079ad0", "name": "Bike::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10076700", "recomp": "0x10079ae0", "name": "Bike::IsA", "matching": 1.0, "diff": []}, {"address": "0x10076880", "recomp": "0x10079c60", "name": "Bike::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100768f0", "recomp": "0x10079cd0", "name": "Bike::Create", "matching": 1.0, "diff": []}, {"address": "0x10076920", "recomp": "0x10079d00", "name": "Bike::Exit", "matching": 1.0, "diff": []}, {"address": "0x100769a0", "recomp": "0x10079d80", "name": "Bike::HandleClick", "matching": 1.0, "diff": []}, {"address": "0x10076aa0", "recomp": "0x10079e80", "name": "Bike::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x10076b60", "recomp": "0x10079f40", "name": "Bike::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x10076c30", "recomp": "0x1007a010", "name": "LegoActorPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x10076c90", "recomp": "0x1007a070", "name": "LegoActorPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x10076cc0", "recomp": "0x1007a0a0", "name": "LegoActorPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x10076d20", "recomp": "0x1007a100", "name": "RegistrationBook::RegistrationBook", "matching": 1.0, "diff": []}, {"address": "0x10076e10", "recomp": "0x1007a1f0", "name": "RegistrationBook::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10076e20", "recomp": "0x1007a200", "name": "RegistrationBook::IsA", "matching": 1.0, "diff": []}, {"address": "0x10076f30", "recomp": "0x1007a310", "name": "RegistrationBook::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10076f50", "recomp": "0x1007a330", "name": "RegistrationBook::~RegistrationBook", "matching": 1.0, "diff": []}, {"address": "0x10077060", "recomp": "0x1007a440", "name": "RegistrationBook::Create", "matching": 1.0, "diff": []}, {"address": "0x100770e0", "recomp": "0x1007a4c0", "name": "RegistrationBook::Notify", "matching": 1.0, "diff": []}, {"address": "0x10077210", "recomp": "0x1007a5f0", "name": "RegistrationBook::HandleEndAction", "matching": 0.9642857142857143, "diff": [["@@ -0x10077210,16 +0x1007a5f0,16 @@", [{"both": [["0x10077210", "mov eax, dword ptr [esp + 4]", "0x1007a5f0"], ["0x10077214", "push esi", "0x1007a5f4"], ["0x10077215", "mov esi, ecx", "0x1007a5f5"], ["0x10077217", "mov eax, dword ptr [eax + 0xc]", "0x1007a5f7"]]}, {"orig": [["0x1007721a", "mov ecx, dword ptr [esi + 0xc]"], ["0x1007721d", "cmp dword ptr [eax + 0x20], ecx"]], "recomp": [["0x1007a5fa", "mov ecx, dword ptr [eax + 0x20]"], ["0x1007a5fd", "cmp dword ptr [esi + 0xc], ecx"]]}, {"both": [["0x10077220", "je 0x6", "0x1007a600"], ["0x10077222", "xor eax, eax", "0x1007a602"], ["0x10077224", "pop esi", "0x1007a604"], ["0x10077225", "ret 4", "0x1007a605"], ["0x10077228", "mov eax, dword ptr [eax + 0x1c]", "0x1007a608"], ["0x1007722b", "cmp eax, 0x1f4", "0x1007a60b"], ["0x10077230", "jg 0x10", "0x1007a610"], ["0x10077232", "je 0x53", "0x1007a612"], ["0x10077234", "cmp eax, 0x37", "0x1007a614"], ["0x10077237", "je 0x20", "0x1007a617"]]}]]]}, {"address": "0x100772d0", "recomp": "0x1007a6b0", "name": "RegistrationBook::HandleKeyPress", "matching": 1.0, "diff": []}, {"address": "0x100774a0", "recomp": "0x1007a880", "name": "RegistrationBook::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x100775c0", "recomp": "0x1007a9a0", "name": "RegistrationBook::FUN_100775c0", "matching": 1.0, "diff": []}, {"address": "0x10077860", "recomp": "0x1007ac40", "name": "RegistrationBook::WriteInfocenterLetters", "matching": 1.0, "effective": true, "diff": [["@@ -0x10077860,32 +0x1007ac40,32 @@", [{"both": [["0x10077860", "push ebx", "0x1007ac40"], ["0x10077861", "push esi", "0x1007ac41"]]}, {"orig": [["0x10077862", "xor si, si"]], "recomp": [["0x1007ac42", "xor bx, bx"]]}, {"both": [["0x10077865", "push edi", "0x1007ac45"], ["0x10077866", "push ebp", "0x1007ac46"]]}, {"orig": [["0x10077867", "mov ebx, ecx"], ["0x10077869", "movsx edi, word ptr [esp + 0x14]"], ["0x1007786e", "mov eax, edi"], ["0x10077870", "shl edi, 3"], ["0x10077873", "sub edi, eax"], ["0x10077875", "mov eax, dword ptr [ebx + 0x2bc]"], ["0x1007787b", "movsx ebp, si"]], "recomp": [["0x1007ac47", "mov edi, ecx"], ["0x1007ac49", "movsx esi, word ptr [esp + 0x14]"], ["0x1007ac4e", "mov eax, esi"], ["0x1007ac50", "shl esi, 3"], ["0x1007ac53", "sub esi, eax"], ["0x1007ac55", "mov eax, dword ptr [edi + 0x2bc]"], ["0x1007ac5b", "movsx ebp, bx"]]}, {"both": [["0x1007787e", "mov ecx, dword ptr [eax + ebp*4 + 0x78]", "0x1007ac5e"], ["0x10077882", "test ecx, ecx", "0x1007ac62"], ["0x10077884", "je 0x6", "0x1007ac64"], ["0x10077886", "push 1", "0x1007ac66"], ["0x10077888", "mov eax, dword ptr [ecx]", "0x1007ac68"], ["0x1007788a", "call dword ptr [eax]", "0x1007ac6a"]]}, {"orig": [["0x1007788c", "inc si"], ["0x1007788e", "lea eax, [edi + ebp]"], ["0x10077891", "lea eax, [ebx + eax*4 + 0x168]"], ["0x10077898", "cmp si, 7"], ["0x1007789c", "mov edx, dword ptr [ebx + 0x2bc]"]], "recomp": [["0x1007ac6c", "inc bx"], ["0x1007ac6e", "lea eax, [esi + ebp]"], ["0x1007ac71", "lea eax, [edi + eax*4 + 0x168]"], ["0x1007ac78", "cmp bx, 7"], ["0x1007ac7c", "mov edx, dword ptr [edi + 0x2bc]"]]}, {"both": [["0x100778a2", "mov ecx, dword ptr [eax]", "0x1007ac82"], ["0x100778a4", "mov dword ptr [edx + ebp*4 + 0x78], ecx", "0x1007ac84"], ["0x100778a8", "mov dword ptr [eax], 0", "0x1007ac88"], ["0x100778ae", "jl -0x3b", "0x1007ac8e"], ["0x100778b0", "pop ebp", "0x1007ac90"], ["0x100778b1", "pop edi", "0x1007ac91"], ["0x100778b2", "pop esi", "0x1007ac92"], ["0x100778b3", "pop ebx", "0x1007ac93"], ["0x100778b4", "ret 4", "0x1007ac94"]]}]]]}, {"address": "0x100778c0", "recomp": "0x1007aca0", "name": "RegistrationBook::FUN_100778c0", "matching": 1.0, "diff": []}, {"address": "0x10077cc0", "recomp": "0x1007b0a0", "name": "RegistrationBook::ReadyWorld", "matching": 0.9408866995073891, "diff": [["@@ -0x10077ce8,36 +0x1007b0c8,34 @@", [{"both": [["0x10077ce8", "lea ecx, [eax + 0xa6]", "0x1007b0c8"], ["0x10077cee", "call LegoGameState::History::WriteScoreHistory (FUNCTION)", "0x1007b0ce"], ["0x10077cf3", "push 0xb", "0x1007b0d3"], ["0x10077cf5", "call PlayMusic (FUNCTION)", "0x1007b0d5"], ["0x10077cfa", "mov eax, dword ptr ['A_Bitmap' (STRING)]", "0x1007b0da"], ["0x10077cff", "mov ebx, dword ptr [<OFFSET6>]", "0x1007b0df"], ["0x10077d05", "add esp, 4", "0x1007b0e5"], ["0x10077d08", "mov ecx, 'A_Bitmap' (STRING)", "0x1007b0e8"], ["0x10077d0d", "xor di, di", "0x1007b0ed"], ["0x10077d10", "lea edx, [ebp - 0x2c]", "0x1007b0f0"]]}, {"orig": [["0x10077d13", "cmp di, 0x1a"]], "recomp": []}, {"both": [["0x10077d17", "mov cl, byte ptr [ecx + 8]", "0x1007b0f3"], ["0x10077d1a", "mov dword ptr [edx], eax", "0x1007b0f6"], ["0x10077d1c", "mov dword ptr [edx + 4], ebx", "0x1007b0f8"], ["0x10077d1f", "mov byte ptr [edx + 8], cl", "0x1007b0fb"]]}, {"orig": [["0x10077d22", "jge 0x1d"]], "recomp": []}, {"both": [["0x10077d24", "lea eax, [ebp - 0x2c]", "0x1007b0fe"], ["0x10077d27", "mov ecx, esi", "0x1007b101"], ["0x10077d29", "push eax", "0x1007b103"], ["0x10077d2a", "push 'MxStillPresenter' (STRING)", "0x1007b104"], ["0x10077d2f", "call LegoWorld::Find (FUNCTION)", "0x1007b109"], ["0x10077d34", "movsx ecx, di", "0x1007b10e"]]}, {"orig": [], "recomp": [["0x1007b111", "inc di"]]}, {"both": [["0x10077d37", "inc byte ptr [ebp - 0x2c]", "0x1007b113"]]}, {"orig": [], "recomp": [["0x1007b116", "cmp di, 0x1a"]]}, {"both": [["0x10077d3a", "mov dword ptr [esi + ecx*4 + 0x100], eax", "0x1007b11a"]]}, {"orig": [["0x10077d41", "inc di"], ["0x10077d43", "cmp di, 0x1a"]], "recomp": []}, {"both": [["0x10077d47", "jl -0x25", "0x1007b121"], ["0x10077d49", "mov di, word ptr [<OFFSET9>]", "0x1007b123"], ["0x10077d50", "mov eax, dword ptr ['Check0_Ctl' (STRING)]", "0x1007b12a"], ["0x10077d55", "lea ecx, [ebp - 0x38]", "0x1007b12f"], ["0x10077d58", "mov ebx, dword ptr [<OFFSET11>]", "0x1007b132"], ["0x10077d5e", "mov edx, 'Check0_Ctl' (STRING)", "0x1007b138"], ["0x10077d63", "mov dword ptr [ecx], eax", "0x1007b13d"], ["0x10077d65", "mov al, byte ptr [edx + 0xa]", "0x1007b13f"], ["0x10077d68", "mov dword ptr [ecx + 4], ebx", "0x1007b142"], ["0x10077d6b", "mov word ptr [ecx + 8], di", "0x1007b145"]]}]], ["@@ -0x10077d7a,51 +0x1007b154,51 @@", [{"both": [["0x10077d7a", "push eax", "0x1007b154"], ["0x10077d7b", "push 'MxControlPresenter' (STRING)", "0x1007b155"], ["0x10077d80", "call LegoWorld::Find (FUNCTION)", "0x1007b15a"], ["0x10077d85", "movsx ecx, di", "0x1007b15f"], ["0x10077d88", "inc di", "0x1007b162"], ["0x10077d8a", "inc byte ptr [ebp - 0x33]", "0x1007b164"], ["0x10077d8d", "cmp di, 0xa", "0x1007b167"], ["0x10077d91", "mov dword ptr [esi + ecx*4 + 0x290], eax", "0x1007b16b"], ["0x10077d98", "jl -0x25", "0x1007b172"], ["0x10077d9a", "call GameState (FUNCTION)", "0x1007b174"]]}, {"orig": [["0x10077d9f", "mov word ptr [ebp - 0x3a], 1"]], "recomp": []}, {"both": [["0x10077da5", "add eax, 0x28", "0x1007b179"], ["0x10077da8", "mov dword ptr [ebp - 0x1c], eax", "0x1007b17c"]]}, {"orig": [], "recomp": [["0x1007b17f", "mov word ptr [ebp - 0x3a], 1"]]}, {"both": [["0x10077dab", "call GameState (FUNCTION)", "0x1007b185"], ["0x10077db0", "cmp word ptr [eax + 0x26], 1", "0x1007b18a"], ["0x10077db5", "jl 0xce", "0x1007b18f"], ["0x10077dbb", "mov word ptr [ebp - 0xe], 0", "0x1007b195"], ["0x10077dc1", "movsx edi, word ptr [ebp - 0x3a]", "0x1007b19b"], ["0x10077dc5", "lea eax, [edi*8]", "0x1007b19f"], ["0x10077dcc", "sub eax, edi", "0x1007b1a6"], ["0x10077dce", "mov dword ptr [ebp - 0x20], eax", "0x1007b1a8"], ["0x10077dd1", "mov eax, dword ptr [ebp - 0x20]", "0x1007b1ab"]]}, {"orig": [["0x10077dd4", "mov edx, dword ptr [ebp - 0x1c]"]], "recomp": [["0x1007b1ae", "mov ecx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x10077dd7", "movsx ebx, word ptr [ebp - 0xe]", "0x1007b1b1"], ["0x10077ddb", "add eax, ebx", "0x1007b1b5"], ["0x10077ddd", "mov dword ptr [ebp - 0x14], eax", "0x1007b1b7"]]}, {"orig": [["0x10077de0", "lea eax, [edx + eax*2 - 0xe]"], ["0x10077de4", "cmp word ptr [eax], -1"], ["0x10077de8", "mov dword ptr [ebp - 0x18], eax"]], "recomp": [["0x1007b1ba", "lea edx, [ecx + eax*2 - 0xe]"], ["0x1007b1be", "cmp word ptr [edx], -1"], ["0x1007b1c2", "mov dword ptr [ebp - 0x18], edx"]]}, {"both": [["0x10077deb", "je 0x76", "0x1007b1c5"], ["0x10077ded", "cmp word ptr [ebp - 0xe], 0", "0x1007b1c7"], ["0x10077df2", "jne 0xe", "0x1007b1cc"], ["0x10077df4", "mov ecx, dword ptr [esi + edi*4 + 0x290]", "0x1007b1ce"], ["0x10077dfb", "push 1", "0x1007b1d5"], ["0x10077dfd", "mov eax, dword ptr [ecx]", "0x1007b1d7"], ["0x10077dff", "call dword ptr [eax + 0x54]", "0x1007b1d9"]]}, {"orig": [["0x10077e02", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x1007b1dc", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x10077e05", "mov edx, dword ptr [ebp - 0x18]", "0x1007b1df"]]}, {"orig": [["0x10077e08", "lea eax, [esi + ecx*4 + 0x168]"], ["0x10077e0f", "mov dword ptr [ebp - 0x14], eax"]], "recomp": [["0x1007b1e2", "lea ecx, [esi + eax*4 + 0x168]"]]}, {"both": [["0x10077e12", "movsx eax, word ptr [edx]", "0x1007b1e9"]]}, {"orig": [], "recomp": [["0x1007b1ec", "mov dword ptr [ebp - 0x14], ecx"]]}, {"both": [["0x10077e15", "mov ecx, dword ptr [esi + eax*4 + 0x100]", "0x1007b1ef"], ["0x10077e1c", "mov eax, dword ptr [ecx]", "0x1007b1f6"], ["0x10077e1e", "call dword ptr [eax + 0x8c]", "0x1007b1f8"], ["0x10077e24", "mov ecx, dword ptr [ebp - 0x14]", "0x1007b1fe"], ["0x10077e27", "push 1", "0x1007b201"], ["0x10077e29", "mov dword ptr [ecx], eax", "0x1007b203"], ["0x10077e2b", "mov ecx, eax", "0x1007b205"], ["0x10077e2d", "mov eax, dword ptr [eax]", "0x1007b207"], ["0x10077e2f", "call dword ptr [eax + 0x54]", "0x1007b209"], ["0x10077e32", "mov ecx, dword ptr [ebp - 0x14]", "0x1007b20c"]]}]], ["@@ -0x10077f8f,10 +0x1007b369,12 @@", [{"both": [["0x10077f8f", "push eax", "0x1007b369"], ["0x10077f90", "call Start (FUNCTION)", "0x1007b36a"], ["0x10077f95", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007b36f"], ["0x10077f9c", "add esp, 4", "0x1007b376"], ["0x10077f9f", "call <OFFSET24>", "0x1007b379"], ["0x10077fa4", "jmp -0x91", "0x1007b37e"], ["0x10077fa9", "lea ecx, [ebp - 0x10]", "0x1007b383"], ["0x10077fac", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x1007b386"], ["0x10077fb1", "mov eax, <OFFSET25>", "0x1007b38b"], ["0x10077fb6", "jmp ___CxxFrameHandler (FUNCTION)", "0x1007b390"]]}, {"orig": [], "recomp": [["0x1007b395", "lea ecx, [ebp - 0xcc]"], ["0x1007b39b", "jmp MxDSAction::~MxDSAction (FUNCTION)"]]}]]]}, {"address": "0x10077fd0", "recomp": "0x1007b3a0", "name": "RegistrationBook::Tickle", "matching": 1.0, "diff": []}, {"address": "0x10078180", "recomp": "0x1007b550", "name": "RegistrationBook::Enable", "matching": 1.0, "diff": []}, {"address": "0x100781d0", "recomp": "0x1007b5a0", "name": "RegistrationBook::HandlePathStruct", "matching": 0.7916666666666666, "diff": [["@@ -0x100781d0,109 +0x1007b5a0,109 @@", [{"both": [["0x100781d0", "push ebx", "0x1007b5a0"], ["0x100781d1", "push esi", "0x1007b5a1"], ["0x100781d2", "push edi", "0x1007b5a2"]]}, {"orig": [], "recomp": [["0x1007b5a3", "mov ebx, ecx"]]}, {"both": [["0x100781d3", "push ebp", "0x1007b5a5"]]}, {"orig": [["0x100781d4", "mov edi, ecx"]], "recomp": [["0x1007b5a6", "push 'Act1State' (STRING)"]]}, {"both": [["0x100781d6", "xor ebp, ebp", "0x1007b5ab"]]}, {"orig": [["0x100781d8", "push 'Act1State' (STRING)"]], "recomp": []}, {"both": [["0x100781dd", "call GameState (FUNCTION)", "0x1007b5ad"], ["0x100781e2", "mov ecx, eax", "0x1007b5b2"], ["0x100781e4", "call LegoGameState::GetState (FUNCTION)", "0x1007b5b4"]]}, {"orig": [["0x100781e9", "mov ebx, eax"], ["0x100781eb", "mov esi, dword ptr [esp + 0x14]"], ["0x100781ef", "movsx eax, word ptr [esi + 0xc]"]], "recomp": [["0x1007b5b9", "mov esi, eax"], ["0x1007b5bb", "mov edi, dword ptr [esp + 0x14]"], ["0x1007b5bf", "movsx eax, word ptr [edi + 0xc]"]]}, {"both": [["0x100781f3", "dec eax", "0x1007b5c3"], ["0x100781f4", "cmp eax, 3", "0x1007b5c4"], ["0x100781f7", "ja 0xcc", "0x1007b5c7"], ["0x100781fd", "jmp dword ptr [eax*4 + <OFFSET4>]", "0x1007b5cd"], ["0x10078204", "push 1", "0x1007b5d4"]]}, {"orig": [["0x10078206", "lea eax, [edi + 0xc]"]], "recomp": [["0x1007b5d6", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x10078209", "push eax", "0x1007b5d9"]]}, {"orig": [["0x1007820a", "mov ecx, edi"]], "recomp": [["0x1007b5da", "mov ecx, ebx"]]}, {"both": [["0x1007820c", "call LegoWorld::Find (FUNCTION)", "0x1007b5dc"]]}, {"orig": [["0x10078211", "mov dword ptr [ebx + 0x160], eax"]], "recomp": [["0x1007b5e1", "mov dword ptr [esi + 0x160], eax"]]}, {"both": [["0x10078217", "mov ebp, eax", "0x1007b5e7"], ["0x10078219", "test ebp, ebp", "0x1007b5e9"], ["0x1007821b", "je 0xac", "0x1007b5eb"], ["0x10078221", "mov eax, dword ptr [g_copterScript (DATA)]", "0x1007b5f1"], ["0x10078226", "lea ecx, [ebp + 0xc]", "0x1007b5f6"], ["0x10078229", "push eax", "0x1007b5f9"], ["0x1007822a", "call MxAtomId::operator= (FUNCTION)", "0x1007b5fa"], ["0x1007822f", "mov dword ptr [ebp + 8], 1", "0x1007b5ff"], ["0x10078236", "jmp 0x8e", "0x1007b606"], ["0x1007823b", "push 2", "0x1007b60b"]]}, {"orig": [["0x1007823d", "lea eax, [edi + 0xc]"]], "recomp": [["0x1007b60d", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x10078240", "push eax", "0x1007b610"]]}, {"orig": [["0x10078241", "mov ecx, edi"]], "recomp": [["0x1007b611", "mov ecx, ebx"]]}, {"both": [["0x10078243", "call LegoWorld::Find (FUNCTION)", "0x1007b613"]]}, {"orig": [["0x10078248", "mov dword ptr [ebx + 0x20c], eax"]], "recomp": [["0x1007b618", "mov dword ptr [esi + 0x20c], eax"]]}, {"both": [["0x1007824e", "mov ebp, eax", "0x1007b61e"], ["0x10078250", "test ebp, ebp", "0x1007b620"], ["0x10078252", "je 0x79", "0x1007b622"], ["0x10078254", "mov eax, dword ptr [g_dunecarScript (DATA)]", "0x1007b624"], ["0x10078259", "lea ecx, [ebp + 0xc]", "0x1007b629"], ["0x1007825c", "push eax", "0x1007b62c"], ["0x1007825d", "call MxAtomId::operator= (FUNCTION)", "0x1007b62d"], ["0x10078262", "mov dword ptr [ebp + 8], 2", "0x1007b632"], ["0x10078269", "jmp 0x5e", "0x1007b639"], ["0x1007826b", "push 3", "0x1007b63b"]]}, {"orig": [["0x1007826d", "lea eax, [edi + 0xc]"]], "recomp": [["0x1007b63d", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x10078270", "push eax", "0x1007b640"]]}, {"orig": [["0x10078271", "mov ecx, edi"]], "recomp": [["0x1007b641", "mov ecx, ebx"]]}, {"both": [["0x10078273", "call LegoWorld::Find (FUNCTION)", "0x1007b643"]]}, {"orig": [["0x10078278", "mov dword ptr [ebx + 0x1b8], eax"]], "recomp": [["0x1007b648", "mov dword ptr [esi + 0x1b8], eax"]]}, {"both": [["0x1007827e", "mov ebp, eax", "0x1007b64e"], ["0x10078280", "test ebp, ebp", "0x1007b650"], ["0x10078282", "je 0x49", "0x1007b652"], ["0x10078284", "mov eax, dword ptr [g_jetskiScript (DATA)]", "0x1007b654"], ["0x10078289", "lea ecx, [ebp + 0xc]", "0x1007b659"], ["0x1007828c", "push eax", "0x1007b65c"], ["0x1007828d", "call MxAtomId::operator= (FUNCTION)", "0x1007b65d"], ["0x10078292", "mov dword ptr [ebp + 8], 3", "0x1007b662"], ["0x10078299", "jmp 0x2e", "0x1007b669"], ["0x1007829b", "push 4", "0x1007b66b"]]}, {"orig": [["0x1007829d", "lea eax, [edi + 0xc]"]], "recomp": [["0x1007b66d", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x100782a0", "push eax", "0x1007b670"]]}, {"orig": [["0x100782a1", "mov ecx, edi"]], "recomp": [["0x1007b671", "mov ecx, ebx"]]}, {"both": [["0x100782a3", "call LegoWorld::Find (FUNCTION)", "0x1007b673"]]}, {"orig": [["0x100782a8", "mov dword ptr [ebx + 0x268], eax"]], "recomp": [["0x1007b678", "mov dword ptr [esi + 0x268], eax"]]}, {"both": [["0x100782ae", "mov ebp, eax", "0x1007b67e"], ["0x100782b0", "test ebp, ebp", "0x1007b680"], ["0x100782b2", "je 0x19", "0x1007b682"], ["0x100782b4", "mov eax, dword ptr [g_racecarScript (DATA)]", "0x1007b684"], ["0x100782b9", "lea ecx, [ebp + 0xc]", "0x1007b689"], ["0x100782bc", "push eax", "0x1007b68c"], ["0x100782bd", "call MxAtomId::operator= (FUNCTION)", "0x1007b68d"], ["0x100782c2", "mov dword ptr [ebp + 8], 4", "0x1007b692"], ["0x100782c9", "test ebp, ebp", "0x1007b699"], ["0x100782cb", "jne 0x10", "0x1007b69b"]]}, {"orig": [["0x100782cd", "push esi"]], "recomp": []}, {"both": [["0x100782ce", "push edi", "0x1007b69d"]]}, {"orig": [], "recomp": [["0x1007b69e", "push ebx"]]}, {"both": [["0x100782cf", "call NotificationManager (FUNCTION)", "0x1007b69f"], ["0x100782d4", "mov ecx, eax", "0x1007b6a4"], ["0x100782d6", "call MxNotificationManager::Send (FUNCTION)", "0x1007b6a6"], ["0x100782db", "jmp 0x17", "0x1007b6ab"], ["0x100782dd", "push ebp", "0x1007b6ad"]]}, {"orig": [["0x100782de", "mov ecx, edi"]], "recomp": [["0x1007b6ae", "mov ecx, ebx"]]}, {"both": [["0x100782e0", "call LegoWorld::RemoveActor (FUNCTION)", "0x1007b6b0"], ["0x100782e5", "push ebp", "0x1007b6b5"]]}, {"orig": [["0x100782e6", "mov ecx, edi"]], "recomp": [["0x1007b6b6", "mov ecx, ebx"]]}, {"both": [["0x100782e8", "call LegoWorld::Remove (FUNCTION)", "0x1007b6b8"]]}, {"orig": [["0x100782ed", "dec word ptr [edi + 0x2b8]"], ["0x100782f4", "cmp word ptr [edi + 0x2b8], 0"]], "recomp": [["0x1007b6bd", "dec word ptr [ebx + 0x2b8]"], ["0x1007b6c4", "cmp word ptr [ebx + 0x2b8], 0"]]}, {"both": [["0x100782fc", "jne 0x33", "0x1007b6cc"]]}, {"orig": [["0x100782fe", "cmp byte ptr [edi + 0x2c1], 0"]], "recomp": [["0x1007b6ce", "cmp byte ptr [ebx + 0x2c1], 0"]]}, {"both": [["0x10078305", "jne 0x2a", "0x1007b6d5"], ["0x10078307", "push 0x1fa", "0x1007b6d7"]]}, {"orig": [["0x1007830c", "add edi, 0xc"]], "recomp": [["0x1007b6dc", "add ebx, 0xc"]]}, {"both": [["0x1007830f", "push 0x1f4", "0x1007b6df"]]}, {"orig": [["0x10078314", "push edi"]], "recomp": [["0x1007b6e4", "push ebx"]]}, {"both": [["0x10078315", "call DeleteObjects (FUNCTION)", "0x1007b6e5"], ["0x1007831a", "add esp, 0xc", "0x1007b6ea"], ["0x1007831d", "push 0", "0x1007b6ed"], ["0x1007831f", "push 0", "0x1007b6ef"], ["0x10078321", "push 0x32", "0x1007b6f1"], ["0x10078323", "push 3", "0x1007b6f3"], ["0x10078325", "call TransitionManager (FUNCTION)", "0x1007b6f5"], ["0x1007832a", "mov ecx, eax", "0x1007b6fa"], ["0x1007832c", "call MxTransitionManager::StartTransition (FUNCTION)", "0x1007b6fc"], ["0x10078331", "mov eax, 1", "0x1007b701"]]}]]]}, {"address": "0x10078350", "recomp": "0x1007b720", "name": "RegistrationBook::CreateSurface", "matching": 0.8666666666666667, "diff": [["@@ -0x10078350,23 +0x1007b720,23 @@", [{"both": [["0x10078350", "sub esp, 4", "0x1007b720"], ["0x10078353", "push esi", "0x1007b723"], ["0x10078354", "mov eax, dword ptr [ecx + 0x290]", "0x1007b724"], ["0x1007835a", "mov esi, ecx", "0x1007b72a"], ["0x1007835c", "add eax, 0x40", "0x1007b72c"], ["0x1007835f", "je 0x6c", "0x1007b72f"]]}, {"orig": [["0x10078361", "mov eax, dword ptr [eax + 4]"], ["0x10078364", "mov ecx, dword ptr [eax]"], ["0x10078366", "cmp ecx, eax"], ["0x10078368", "je 0x5"], ["0x1007836a", "mov ecx, dword ptr [ecx + 8]"], ["0x1007836d", "jmp 0x4"]], "recomp": [["0x1007b731", "mov ecx, dword ptr [eax + 4]"], ["0x1007b734", "mov eax, dword ptr [ecx]"], ["0x1007b736", "cmp eax, ecx"], ["0x1007b738", "jne 0x6"]]}, {"both": [["0x1007836f", "mov ecx, dword ptr [esp + 4]", "0x1007b73a"]]}, {"orig": [], "recomp": [["0x1007b73e", "jmp 0x3"], ["0x1007b740", "mov ecx, dword ptr [eax + 8]"]]}, {"both": [["0x10078373", "test ecx, ecx", "0x1007b743"], ["0x10078375", "je 0xb", "0x1007b745"], ["0x10078377", "mov eax, dword ptr [ecx]", "0x1007b747"], ["0x10078379", "call dword ptr [eax + 0x78]", "0x1007b749"], ["0x1007837c", "mov dword ptr [esi + 0x2c8], eax", "0x1007b74c"], ["0x10078382", "push 'CheckHiLite_Bitmap' (STRING)", "0x1007b752"], ["0x10078387", "mov ecx, esi", "0x1007b757"], ["0x10078389", "push 'MxStillPresenter' (STRING)", "0x1007b759"], ["0x1007838e", "call LegoWorld::Find (FUNCTION)", "0x1007b75e"], ["0x10078393", "mov ecx, eax", "0x1007b763"]]}]]]}, {"address": "0x100783e0", "recomp": "0x1007b7b0", "name": "RegistrationBook::Escape", "matching": 1.0, "diff": []}, {"address": "0x10078400", "recomp": "0x10066480", "name": "LegoCarBuildAnimPresenter::LegoCarBuildAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x10078500", "recomp": "0x100666f0", "name": "LegoCarBuildAnimPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x10078510", "recomp": "0x10066580", "name": "LegoCarBuildAnimPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10078520", "recomp": "0x10066590", "name": "LegoCarBuildAnimPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x10078660", "recomp": "0x100666d0", "name": "LegoCarBuildAnimPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10078680", "recomp": "0x10066700", "name": "LegoCarBuildAnimPresenter::~LegoCarBuildAnimPresenter", "matching": 1.0, "diff": []}, {"address": "0x10078790", "recomp": "0x10066810", "name": "LegoCarBuildAnimPresenter::PutFrame", "matching": 1.0, "effective": true, "diff": [["@@ -0x100787d0,67 +0x10066850,67 @@", [{"both": [["0x100787d0", "push eax", "0x10066850"], ["0x100787d1", "call LegoAnimPresenter::FUN_1006b9a0 (FUNCTION)", "0x10066851"], ["0x100787d6", "call Timer (FUNCTION)", "0x10066856"], ["0x100787db", "cmp byte ptr [eax + 0xc], 0", "0x1006685b"], ["0x100787df", "je 0x8", "0x1006685f"], ["0x100787e1", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x10066861"], ["0x100787e7", "jmp 0x9", "0x10066867"], ["0x100787e9", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x10066869"], ["0x100787ef", "sub ecx, dword ptr [eax + 8]", "0x1006686f"], ["0x100787f2", "mov eax, dword ptr [esi + 0x13c]", "0x10066872"]]}, {"orig": [["0x100787f8", "cmp ecx, eax"], ["0x100787fa", "jbe 0xb4"]], "recomp": [["0x10066878", "cmp eax, ecx"], ["0x1006687a", "jae 0xb4"]]}, {"both": [["0x10078800", "mov dword ptr [esp + 0x10], 0", "0x10066880"], ["0x10078808", "test al, 1", "0x10066888"], ["0x1007880a", "je 0x10", "0x1006688a"], ["0x1007880c", "mov dword ptr [esp + 0x10], 1", "0x1006688c"], ["0x10078814", "add ecx, 0x190", "0x10066894"], ["0x1007881a", "jmp 0x6", "0x1006689a"], ["0x1007881c", "add ecx, 0xc8", "0x1006689c"], ["0x10078822", "cmp dword ptr [esp + 0x10], 0", "0x100668a2"], ["0x10078827", "mov dword ptr [esi + 0x13c], ecx", "0x100668a7"], ["0x1007882d", "je 0x9", "0x100668ad"], ["0x1007882f", "and dword ptr [esi + 0x13c], 0xfffffffe", "0x100668af"], ["0x10078836", "jmp 0x7", "0x100668b6"], ["0x10078838", "or dword ptr [esi + 0x13c], 1", "0x100668b8"], ["0x1007883f", "mov ax, word ptr [esi + 0xc0]", "0x100668bf"], ["0x10078846", "cmp word ptr [esi + 0xbe], ax", "0x100668c6"], ["0x1007884d", "jle 0x65", "0x100668cd"], ["0x1007884f", "movsx eax, ax", "0x100668cf"], ["0x10078852", "mov ecx, dword ptr [esi + 0x128]", "0x100668d2"], ["0x10078858", "lea edx, [eax + eax*2]", "0x100668d8"]]}, {"orig": [["0x1007885b", "mov eax, dword ptr [ecx + edx*4 + 4]"], ["0x1007885f", "mov dword ptr [esp + 0x14], eax"], ["0x10078863", "test eax, eax"]], "recomp": [["0x100668db", "mov ecx, dword ptr [ecx + edx*4 + 4]"], ["0x100668df", "mov dword ptr [esp + 0x14], ecx"], ["0x100668e3", "test ecx, ecx"]]}, {"both": [["0x10078865", "je 0x4d", "0x100668e5"]]}, {"orig": [["0x10078867", "mov edi, 1"], ["0x1007886c", "cmp dword ptr [esi + 0x6c], edi"]], "recomp": [["0x100668e7", "mov ebx, 1"], ["0x100668ec", "cmp dword ptr [esi + 0x6c], ebx"]]}, {"both": [["0x1007886f", "jb 0x43", "0x100668ef"]]}, {"orig": [["0x10078871", "mov ebx, 4"]], "recomp": [["0x100668f1", "mov edi, 4"]]}, {"both": [["0x10078876", "mov eax, dword ptr [esi + 0x68]", "0x100668f6"]]}, {"orig": [["0x10078879", "mov ebp, dword ptr [eax + ebx]"]], "recomp": [["0x100668f9", "mov ebp, dword ptr [eax + edi]"]]}, {"both": [["0x1007887c", "test ebp, ebp", "0x100668fc"], ["0x1007887e", "je 0x2b", "0x100668fe"], ["0x10078880", "mov eax, dword ptr [ebp + 0xe4]", "0x10066900"], ["0x10078886", "test eax, eax", "0x10066906"], ["0x10078888", "je 0x21", "0x10066908"], ["0x1007888a", "push eax", "0x1006690a"], ["0x1007888b", "mov eax, dword ptr [esp + 0x18]", "0x1006690b"], ["0x1007888f", "push eax", "0x1006690f"], ["0x10078890", "call __strcmpi (FUNCTION)", "0x10066910"], ["0x10078895", "add esp, 8", "0x10066915"], ["0x10078898", "test eax, eax", "0x10066918"], ["0x1007889a", "jne 0xf", "0x1006691a"], ["0x1007889c", "cmp dword ptr [esp + 0x10], 0", "0x1006691c"], ["0x100788a1", "mov byte ptr [ebp + 0xc], 1", "0x10066921"], ["0x100788a5", "jne 0x4", "0x10066925"], ["0x100788a7", "mov byte ptr [ebp + 0xc], 0", "0x10066927"]]}, {"orig": [["0x100788ab", "add ebx, 4"], ["0x100788ae", "inc edi"], ["0x100788af", "cmp dword ptr [esi + 0x6c], edi"]], "recomp": [["0x1006692b", "add edi, 4"], ["0x1006692e", "inc ebx"], ["0x1006692f", "cmp dword ptr [esi + 0x6c], ebx"]]}, {"both": [["0x100788b2", "jae -0x3e", "0x10066932"], ["0x100788b4", "pop ebp", "0x10066934"], ["0x100788b5", "pop edi", "0x10066935"], ["0x100788b6", "pop esi", "0x10066936"], ["0x100788b7", "pop ebx", "0x10066937"], ["0x100788b8", "add esp, 8", "0x10066938"], ["0x100788bb", "ret ", "0x1006693b"]]}]]]}, {"address": "0x100788c0", "recomp": "0x10066940", "name": "LegoCarBuildAnimPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100789e0", "recomp": "0x10066a60", "name": "LegoCarBuildAnimPresenter::StreamingTickle", "matching": 0.887719298245614, "diff": [["@@ -0x10078a52,108 +0x10066ad2,108 @@", [{"both": [["0x10078a52", "repne scasb al, byte ptr es:[edi]", "0x10066ad2"], ["0x10078a54", "mov eax, dword ptr [ebx + 0x14c]", "0x10066ad4"], ["0x10078a5a", "not ecx", "0x10066ada"], ["0x10078a5c", "mov byte ptr [ecx + eax - 2], 0x4d", "0x10066adc"], ["0x10078a61", "mov ecx, ebx", "0x10066ae1"], ["0x10078a63", "call LegoCarBuildAnimPresenter::FUN_10079160 (FUNCTION)", "0x10066ae3"], ["0x10078a68", "call GameState (FUNCTION)", "0x10066ae8"], ["0x10078a6d", "cmp dword ptr [eax + 0x10], 1", "0x10066aed"], ["0x10078a71", "jne 0x9", "0x10066af1"], ["0x10078a73", "mov word ptr [ebx + 0xc0], 0xa", "0x10066af3"]]}, {"orig": [["0x10078a7c", "mov word ptr [esp + 0x10], 0"]], "recomp": [["0x10066afc", "mov word ptr [esp + 0x14], 0"]]}, {"both": [["0x10078a83", "cmp word ptr [ebx + 0xbe], 0", "0x10066b03"], ["0x10078a8b", "jle 0xef", "0x10066b0b"]]}, {"orig": [["0x10078a91", "mov ax, word ptr [esp + 0x10]"]], "recomp": [["0x10066b11", "mov ax, word ptr [esp + 0x14]"]]}, {"both": [["0x10078a96", "cmp word ptr [ebx + 0xc0], ax", "0x10066b16"], ["0x10078a9d", "jne 0x21", "0x10066b1d"], ["0x10078a9f", "movsx eax, ax", "0x10066b1f"], ["0x10078aa2", "lea ecx, [eax + eax*2]", "0x10066b22"], ["0x10078aa5", "mov eax, dword ptr [ebx + 0x128]", "0x10066b25"], ["0x10078aab", "lea esi, [ecx*4]", "0x10066b2b"], ["0x10078ab2", "mov ecx, dword ptr [eax + ecx*4 + 4]", "0x10066b32"], ["0x10078ab6", "push ecx", "0x10066b36"], ["0x10078ab7", "mov ecx, ebx", "0x10066b37"], ["0x10078ab9", "call LegoCarBuildAnimPresenter::FUN_10079680 (FUNCTION)", "0x10066b39"], ["0x10078abe", "jmp 0x21", "0x10066b3e"]]}, {"orig": [["0x10078ac0", "movsx eax, word ptr [esp + 0x10]"]], "recomp": [["0x10066b40", "movsx eax, word ptr [esp + 0x14]"]]}, {"both": [["0x10078ac5", "lea ecx, [eax + eax*2]", "0x10066b45"], ["0x10078ac8", "mov eax, dword ptr [ebx + 0x128]", "0x10066b48"], ["0x10078ace", "lea esi, [ecx*4]", "0x10066b4e"], ["0x10078ad5", "mov ecx, dword ptr [eax + ecx*4 + 4]", "0x10066b55"], ["0x10078ad9", "push ecx", "0x10066b59"], ["0x10078ada", "mov ecx, ebx", "0x10066b5a"], ["0x10078adc", "call LegoCarBuildAnimPresenter::FUN_100795d0 (FUNCTION)", "0x10066b5c"]]}, {"orig": [["0x10078ae1", "mov ax, word ptr [esp + 0x10]"]], "recomp": [["0x10066b61", "mov ax, word ptr [esp + 0x14]"]]}, {"both": [["0x10078ae6", "cmp word ptr [ebx + 0xc0], ax", "0x10066b66"], ["0x10078aed", "jle 0x1d", "0x10066b6d"]]}, {"orig": [["0x10078aef", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x10066b6f", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x10078af3", "mov ecx, ebx", "0x10066b73"], ["0x10078af5", "push eax", "0x10066b75"], ["0x10078af6", "call LegoCarBuildAnimPresenter::FUN_10079050 (FUNCTION)", "0x10066b76"], ["0x10078afb", "mov eax, dword ptr [ebx + 0x128]", "0x10066b7b"], ["0x10078b01", "mov ecx, dword ptr [eax + esi]", "0x10066b81"], ["0x10078b04", "push ecx", "0x10066b84"], ["0x10078b05", "mov ecx, ebx", "0x10066b85"], ["0x10078b07", "call LegoCarBuildAnimPresenter::FUN_10079680 (FUNCTION)", "0x10066b87"], ["0x10078b0c", "mov eax, dword ptr [ebx + 0x128]", "0x10066b8c"]]}, {"orig": [], "recomp": [["0x10066b92", "xor edi, edi"]]}, {"both": [["0x10078b12", "mov ecx, dword ptr [eax + esi + 4]", "0x10066b94"]]}, {"orig": [], "recomp": [["0x10066b98", "mov dword ptr [esp + 0x10], ecx"], ["0x10066b9c", "cmp ecx, edi"], ["0x10066b9e", "je 0x49"], ["0x10066ba0", "cmp dword ptr [ebx + 0x6c], edi"], ["0x10066ba3", "jb 0x44"]]}, {"both": [["0x10078b16", "xor esi, esi", "0x10066ba5"]]}, {"orig": [["0x10078b18", "mov dword ptr [esp + 0x1c], ecx"], ["0x10078b1c", "cmp ecx, esi"], ["0x10078b1e", "je 0x49"], ["0x10078b20", "cmp dword ptr [ebx + 0x6c], esi"], ["0x10078b23", "jb 0x44"], ["0x10078b25", "xor edi, edi"]], "recomp": []}, {"both": [["0x10078b27", "mov eax, dword ptr [ebx + 0x68]", "0x10066ba7"]]}, {"orig": [["0x10078b2a", "mov ebp, dword ptr [eax + edi]"]], "recomp": [["0x10066baa", "mov ebp, dword ptr [eax + esi]"]]}, {"both": [["0x10078b2d", "test ebp, ebp", "0x10066bad"], ["0x10078b2f", "je 0x2f", "0x10066baf"], ["0x10078b31", "mov eax, dword ptr [ebp + 0xe4]", "0x10066bb1"], ["0x10078b37", "test eax, eax", "0x10066bb7"], ["0x10078b39", "je 0x25", "0x10066bb9"], ["0x10078b3b", "push eax", "0x10066bbb"]]}, {"orig": [["0x10078b3c", "mov eax, dword ptr [esp + 0x20]"]], "recomp": [["0x10066bbc", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x10078b40", "push eax", "0x10066bc0"], ["0x10078b41", "call __strcmpi (FUNCTION)", "0x10066bc1"], ["0x10078b46", "add esp, 8", "0x10066bc6"], ["0x10078b49", "test eax, eax", "0x10066bc9"], ["0x10078b4b", "jne 0x13", "0x10066bcb"], ["0x10078b4d", "mov ecx, ebp", "0x10066bcd"], ["0x10078b4f", "call LegoROI::FUN_100a9dd0 (FUNCTION)", "0x10066bcf"], ["0x10078b54", "push 'lego red' (STRING)", "0x10066bd4"], ["0x10078b59", "mov ecx, ebp", "0x10066bd9"], ["0x10078b5b", "call LegoROI::FUN_100a9350 (FUNCTION)", "0x10066bdb"]]}, {"orig": [["0x10078b60", "add edi, 4"], ["0x10078b63", "inc esi"], ["0x10078b64", "cmp dword ptr [ebx + 0x6c], esi"]], "recomp": [["0x10066be0", "add esi, 4"], ["0x10066be3", "inc edi"], ["0x10066be4", "cmp dword ptr [ebx + 0x6c], edi"]]}, {"both": [["0x10078b67", "jae -0x42", "0x10066be7"]]}, {"orig": [["0x10078b69", "inc word ptr [esp + 0x10]"], ["0x10078b6e", "mov ax, word ptr [esp + 0x10]"]], "recomp": [["0x10066be9", "inc word ptr [esp + 0x14]"], ["0x10066bee", "mov ax, word ptr [esp + 0x14]"]]}, {"both": [["0x10078b73", "cmp word ptr [ebx + 0xbe], ax", "0x10066bf3"], ["0x10078b7a", "jg -0xef", "0x10066bfa"], ["0x10078b80", "call VideoManager (FUNCTION)", "0x10066c00"], ["0x10078b85", "mov ecx, dword ptr [eax + 0x68]", "0x10066c05"], ["0x10078b88", "mov dword ptr [esp + 0x20], eax", "0x10066c08"], ["0x10078b8c", "mov edx, dword ptr [ecx + 8]", "0x10066c0c"], ["0x10078b8f", "mov ecx, dword ptr [eax + 0x6c]", "0x10066c0f"], ["0x10078b92", "xor ebp, ebp", "0x10066c12"]]}, {"orig": [["0x10078b94", "mov dword ptr [esp + 0x1c], edx"]], "recomp": [["0x10066c14", "mov dword ptr [esp + 0x14], edx"]]}, {"both": [["0x10078b98", "mov edx, dword ptr [ebx + 0x140]", "0x10066c18"], ["0x10078b9e", "mov dword ptr [esp + 0x2c], ecx", "0x10066c1e"], ["0x10078ba2", "mov ecx, dword ptr [ebx + 0x64]", "0x10066c22"], ["0x10078ba5", "mov eax, dword ptr [edx + 0x54]", "0x10066c25"], ["0x10078ba8", "mov dword ptr [esp + 0x18], eax", "0x10066c28"]]}, {"orig": [["0x10078bac", "mov dword ptr [esp + 0x14], ebp"]], "recomp": [["0x10066c2c", "mov dword ptr [esp + 0x10], ebp"]]}, {"both": [["0x10078bb0", "mov eax, dword ptr [ecx + 4]", "0x10066c30"], ["0x10078bb3", "push eax", "0x10066c33"], ["0x10078bb4", "call CountTotalTreeNodes (FUNCTION)", "0x10066c34"]]}, {"orig": [["0x10078bb9", "mov word ptr [esp + 0x14], ax"]], "recomp": [["0x10066c39", "mov word ptr [esp + 0x20], ax"]]}, {"both": [["0x10078bbe", "add esp, 4", "0x10066c3e"], ["0x10078bc1", "cmp ax, bp", "0x10066c41"], ["0x10078bc4", "jle 0x82", "0x10066c44"], ["0x10078bca", "mov ecx, dword ptr [ebx + 0x64]", "0x10066c4a"], ["0x10078bcd", "mov edi, 'CAM' (STRING)", "0x10066c4d"], ["0x10078bd2", "movsx eax, bp", "0x10066c52"], ["0x10078bd5", "push eax", "0x10066c55"], ["0x10078bd6", "mov edx, dword ptr [ecx + 4]", "0x10066c56"], ["0x10078bd9", "push edx", "0x10066c59"], ["0x10078bda", "call GetTreeNode (FUNCTION)", "0x10066c5a"]]}]], ["@@ -0x10078bf0,56 +0x10066c70,56 @@", [{"both": [["0x10078bf0", "dec ecx", "0x10066c70"], ["0x10078bf1", "mov eax, dword ptr [esi + 4]", "0x10066c71"], ["0x10078bf4", "push ecx", "0x10066c74"], ["0x10078bf5", "push 'CAM' (STRING)", "0x10066c75"], ["0x10078bfa", "push eax", "0x10066c7a"], ["0x10078bfb", "call _strnicmp (FUNCTION)", "0x10066c7b"], ["0x10078c00", "add esp, 0xc", "0x10066c80"], ["0x10078c03", "test eax, eax", "0x10066c83"], ["0x10078c05", "je 0xb", "0x10066c85"], ["0x10078c07", "inc bp", "0x10066c87"]]}, {"orig": [["0x10078c09", "cmp word ptr [esp + 0x10], bp"]], "recomp": [["0x10066c89", "cmp word ptr [esp + 0x1c], bp"]]}, {"both": [["0x10078c0e", "jg -0x46", "0x10066c8e"], ["0x10078c10", "jmp 0x3a", "0x10066c90"], ["0x10078c12", "mov eax, dword ptr [esp + 0x18]", "0x10066c92"], ["0x10078c16", "mov ecx, dword ptr [esi + 4]", "0x10066c96"], ["0x10078c19", "push eax", "0x10066c99"], ["0x10078c1a", "push ecx", "0x10066c9a"], ["0x10078c1b", "mov ecx, dword ptr [esp + 0x20]", "0x10066c9b"], ["0x10078c1f", "call LegoROI::FindChildROI (FUNCTION)", "0x10066c9f"], ["0x10078c24", "mov ecx, 0xffffffff", "0x10066ca4"]]}, {"orig": [["0x10078c29", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x10066ca9", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x10078c2d", "mov edx, dword ptr [esi + 4]", "0x10066cad"], ["0x10078c30", "sub eax, eax", "0x10066cb0"], ["0x10078c32", "mov edi, edx", "0x10066cb2"], ["0x10078c34", "repne scasb al, byte ptr es:[edi]", "0x10066cb4"], ["0x10078c36", "not ecx", "0x10066cb6"], ["0x10078c38", "lea eax, [ecx + edx - 1]", "0x10066cb8"], ["0x10078c3c", "sub eax, 2", "0x10066cbc"], ["0x10078c3f", "push eax", "0x10066cbf"], ["0x10078c40", "call _atof (FUNCTION)", "0x10066cc0"]]}, {"orig": [["0x10078c45", "fstp dword ptr [esp + 0x14]"]], "recomp": [["0x10066cc5", "fstp dword ptr [esp + 0x20]"]]}, {"both": [["0x10078c49", "add esp, 4", "0x10066cc9"], ["0x10078c4c", "mov eax, dword ptr [esp + 0x18]", "0x10066ccc"], ["0x10078c50", "mov ecx, dword ptr [esp + 0x18]", "0x10066cd0"], ["0x10078c54", "push eax", "0x10066cd4"], ["0x10078c55", "push 'TARGET' (STRING)", "0x10066cd5"], ["0x10078c5a", "call LegoROI::FindChildROI (FUNCTION)", "0x10066cda"], ["0x10078c5f", "mov dword ptr [esp + 0x30], Mx3DPointFloat::`vftable' (VTABLE)", "0x10066cdf"], ["0x10078c67", "lea ecx, [esp + 0x38]", "0x10066ce7"]]}, {"orig": [["0x10078c6b", "mov edx, dword ptr [esp + 0x14]"]], "recomp": [["0x10066ceb", "mov edx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10078c6f", "mov dword ptr [esp + 0x34], ecx", "0x10066cef"], ["0x10078c73", "mov ecx, dword ptr [edx + 0x14]", "0x10066cf3"], ["0x10078c76", "mov edx, Vector3::`vftable' (VTABLE)", "0x10066cf6"], ["0x10078c7b", "add ecx, 0x30", "0x10066cfb"], ["0x10078c7e", "mov dword ptr [esp + 0x24], edx", "0x10066cfe"]]}, {"orig": [["0x10078c82", "mov ebp, dword ptr [esp + 0x14]"]], "recomp": [["0x10066d02", "mov ebp, dword ptr [esp + 0x10]"]]}, {"both": [["0x10078c86", "mov dword ptr [esp + 0x28], ecx", "0x10066d06"], ["0x10078c8a", "mov ecx, dword ptr [ebp + 0x14]", "0x10066d0a"], ["0x10078c8d", "add ecx, 0x10", "0x10066d0d"], ["0x10078c90", "mov dword ptr [esp + 0x44], edx", "0x10066d10"], ["0x10078c94", "mov dword ptr [esp + 0x48], ecx", "0x10066d14"], ["0x10078c98", "mov ecx, dword ptr [eax + 0x14]", "0x10066d18"], ["0x10078c9b", "add ecx, 0x30", "0x10066d1b"], ["0x10078c9e", "lea eax, [esp + 0x54]", "0x10066d1e"], ["0x10078ca2", "mov edx, dword ptr [esp + 0x28]", "0x10066d22"], ["0x10078ca6", "mov dword ptr [esp + 0x50], eax", "0x10066d26"]]}]], ["@@ -0x10078cc4,55 +0x10066d44,55 @@", [{"both": [["0x10078cc4", "fstp dword ptr [eax + 4]", "0x10066d44"], ["0x10078cc7", "fld dword ptr [ecx + 8]", "0x10066d47"], ["0x10078cca", "mov edx, dword ptr [esp + 0x28]", "0x10066d4a"], ["0x10078cce", "mov eax, dword ptr [esp + 0x34]", "0x10066d4e"], ["0x10078cd2", "fsub dword ptr [edx + 8]", "0x10066d52"], ["0x10078cd5", "fstp dword ptr [eax + 8]", "0x10066d55"], ["0x10078cd8", "mov ebp, dword ptr [esp + 0x30]", "0x10066d58"], ["0x10078cdc", "lea ecx, [esp + 0x30]", "0x10066d5c"], ["0x10078ce0", "call dword ptr [ebp + 0x40]", "0x10066d60"], ["0x10078ce3", "fcom dword ptr [0.0 (FLOAT)]", "0x10066d63"]]}, {"orig": [["0x10078ce9", "fstp dword ptr [esp + 0x14]"]], "recomp": [["0x10066d69", "fstp dword ptr [esp + 0x10]"]]}, {"both": [["0x10078ced", "fnstsw ax", "0x10066d6d"], ["0x10078cef", "test ah, 0x41", "0x10066d6f"], ["0x10078cf2", "jne 0x27", "0x10066d72"]]}, {"orig": [["0x10078cf4", "fld dword ptr [esp + 0x14]"]], "recomp": [["0x10066d74", "fld dword ptr [esp + 0x10]"]]}, {"both": [["0x10078cf8", "fsqrt ", "0x10066d78"], ["0x10078cfa", "fcom dword ptr [0.0 (FLOAT)]", "0x10066d7a"]]}, {"orig": [["0x10078d00", "fstp dword ptr [esp + 0x14]"]], "recomp": [["0x10066d80", "fstp dword ptr [esp + 0x10]"]]}, {"both": [["0x10078d04", "fnstsw ax", "0x10066d84"], ["0x10078d06", "test ah, 0x41", "0x10066d86"], ["0x10078d09", "jne 0x10", "0x10066d89"]]}, {"orig": [["0x10078d0b", "lea eax, [esp + 0x14]"]], "recomp": [["0x10066d8b", "lea eax, [esp + 0x10]"]]}, {"both": [["0x10078d0f", "lea ecx, [esp + 0x30]", "0x10066d8f"], ["0x10078d13", "mov ebp, dword ptr [esp + 0x30]", "0x10066d93"], ["0x10078d17", "push eax", "0x10066d97"], ["0x10078d18", "call dword ptr [ebp + 0x14]", "0x10066d98"], ["0x10078d1b", "lea eax, [esp + 0x4c]", "0x10066d9b"], ["0x10078d1f", "lea ecx, [esp + 0x44]", "0x10066d9f"], ["0x10078d23", "lea edx, [esp + 0x30]", "0x10066da3"], ["0x10078d27", "push eax", "0x10066da7"], ["0x10078d28", "lea eax, [esp + 0x28]", "0x10066da8"], ["0x10078d2c", "push ecx", "0x10066dac"], ["0x10078d2d", "push edx", "0x10066dad"], ["0x10078d2e", "push eax", "0x10066dae"], ["0x10078d2f", "call CalcLocalTransform (FUNCTION)", "0x10066daf"], ["0x10078d34", "lea ecx, [esp + 0x5c]", "0x10066db4"], ["0x10078d38", "add esp, 0x10", "0x10066db8"], ["0x10078d3b", "push ecx", "0x10066dbb"], ["0x10078d3c", "mov ecx, dword ptr [esp + 0x30]", "0x10066dbc"], ["0x10078d40", "call OrientableROI::WrappedSetLocalTransform (FUNCTION)", "0x10066dc0"], ["0x10078d45", "mov ecx, dword ptr [esp + 0x2c]", "0x10066dc5"], ["0x10078d49", "push ecx", "0x10066dc9"]]}, {"orig": [["0x10078d4a", "mov ecx, dword ptr [esp + 0x20]"]], "recomp": [["0x10066dca", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x10078d4e", "call Lego3DView::Moved (FUNCTION)", "0x10066dce"]]}, {"orig": [["0x10078d53", "mov ecx, dword ptr [esp + 0x10]"]], "recomp": [["0x10066dd3", "mov ecx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x10078d57", "push 0x437a0000", "0x10066dd7"], ["0x10078d5c", "mov edx, dword ptr [esp + 0x24]", "0x10066ddc"], ["0x10078d60", "push 0x3dcccccd", "0x10066de0"], ["0x10078d65", "push ecx", "0x10066de5"], ["0x10078d66", "mov ecx, dword ptr [edx + 0x68]", "0x10066de6"], ["0x10078d69", "call Lego3DManager::SetFrustrum (FUNCTION)", "0x10066de9"], ["0x10078d6e", "mov ecx, dword ptr [esp + 0x18]", "0x10066dee"], ["0x10078d72", "push ecx", "0x10066df2"], ["0x10078d73", "push 'VIEW' (STRING)", "0x10066df3"], ["0x10078d78", "call LegoROI::FindChildROI (FUNCTION)", "0x10066df8"]]}]]]}, {"address": "0x10078db0", "recomp": "0x10066e30", "name": "LegoCarBuildAnimPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x10079050", "recomp": "0x10066eb0", "name": "LegoCarBuildAnimPresenter::FUN_10079050", "matching": 1.0, "diff": []}, {"address": "0x10079090", "recomp": "0x10066ef0", "name": "LegoCarBuildAnimPresenter::SwapNodesByName", "matching": 1.0, "diff": []}, {"address": "0x10079160", "recomp": "0x10066fc0", "name": "LegoCarBuildAnimPresenter::FUN_10079160", "matching": 1.0, "diff": []}, {"address": "0x100795c0", "recomp": "0x10067420", "name": "LegoCarBuildAnimPresenter::UnknownListEntry::UnknownListEntry", "matching": 1.0, "diff": []}, {"address": "0x100795d0", "recomp": "0x10067430", "name": "LegoCarBuildAnimPresenter::FUN_100795d0", "matching": 1.0, "effective": true, "diff": [["@@ -0x100795e8,43 +0x10067448,43 @@", [{"both": [["0x100795e8", "mov eax, dword ptr [ebp + 8]", "0x10067448"], ["0x100795eb", "sub esp, 4", "0x1006744b"], ["0x100795ee", "mov edx, dword ptr [ecx + 0x64]", "0x1006744e"], ["0x100795f1", "push ebx", "0x10067451"], ["0x100795f2", "push esi", "0x10067452"], ["0x100795f3", "push edi", "0x10067453"], ["0x100795f4", "mov ebx, dword ptr [edx + 4]", "0x10067454"], ["0x100795f7", "push eax", "0x10067457"], ["0x100795f8", "push ebx", "0x10067458"], ["0x100795f9", "call LegoCarBuildAnimPresenter::FindNodeDataByName (FUNCTION)", "0x10067459"]]}, {"orig": [["0x100795fe", "mov esi, eax"], ["0x10079600", "test esi, esi"]], "recomp": [["0x1006745e", "mov edi, eax"], ["0x10067460", "test edi, edi"]]}, {"both": [["0x10079602", "je 0x4d", "0x10067462"]]}, {"orig": [["0x10079604", "mov edi, dword ptr [esi + 0x1c]"]], "recomp": [["0x10067464", "mov ebx, dword ptr [edi + 0x1c]"]]}, {"both": [["0x10079607", "push 0xc", "0x10067467"], ["0x10079609", "call ??2@YAPAXI@Z (FUNCTION)", "0x10067469"], ["0x1007960e", "mov dword ptr [ebp - 0x10], eax", "0x1006746e"], ["0x10079611", "add esp, 4", "0x10067471"], ["0x10079614", "mov dword ptr [ebp - 4], 0", "0x10067474"]]}, {"orig": [["0x1007961b", "mov ebx, eax"]], "recomp": [["0x1006747b", "mov esi, eax"]]}, {"both": [["0x1007961d", "mov eax, 0", "0x1006747d"]]}, {"orig": [["0x10079622", "test ebx, ebx"]], "recomp": [["0x10067482", "test esi, esi"]]}, {"both": [["0x10079624", "je 0x7", "0x10067484"]]}, {"orig": [["0x10079626", "mov ecx, ebx"]], "recomp": [["0x10067486", "mov ecx, esi"]]}, {"both": [["0x10079628", "call LegoMorphKey::LegoMorphKey (FUNCTION)", "0x10067488"], ["0x1007962d", "mov dword ptr [ebp - 4], 0xffffffff", "0x1006748d"], ["0x10079634", "xor ecx, ecx", "0x10067494"]]}, {"orig": [["0x10079636", "push edi"]], "recomp": [["0x10067496", "push ebx"]]}, {"both": [["0x10079637", "mov dword ptr [eax + 4], ecx", "0x10067497"], ["0x1007963a", "mov byte ptr [eax + 8], cl", "0x1006749a"]]}, {"orig": [["0x1007963d", "mov word ptr [esi + 0xe], 1"], ["0x10079643", "mov dword ptr [esi + 0x1c], eax"], ["0x10079646", "mov dword ptr [esi + 0x30], ecx"]], "recomp": [["0x1006749d", "mov word ptr [edi + 0xe], 1"], ["0x100674a3", "mov dword ptr [edi + 0x1c], eax"], ["0x100674a6", "mov dword ptr [edi + 0x30], ecx"]]}, {"both": [["0x10079649", "call ??3@YAXPAX@Z (FUNCTION)", "0x100674a9"], ["0x1007964e", "add esp, 4", "0x100674ae"], ["0x10079651", "mov eax, dword ptr [ebp - 0xc]", "0x100674b1"], ["0x10079654", "pop edi", "0x100674b4"], ["0x10079655", "mov dword ptr fs:[0], eax", "0x100674b5"], ["0x1007965b", "pop esi", "0x100674bb"], ["0x1007965c", "pop ebx", "0x100674bc"], ["0x1007965d", "mov esp, ebp", "0x100674bd"], ["0x1007965f", "pop ebp", "0x100674bf"], ["0x10079660", "ret 4", "0x100674c0"]]}]]]}, {"address": "0x10079680", "recomp": "0x100674e0", "name": "LegoCarBuildAnimPresenter::FUN_10079680", "matching": 1.0, "diff": []}, {"address": "0x100796b0", "recomp": "0x10067510", "name": "LegoCarBuildAnimPresenter::FindNodeDataByName", "matching": 0.8125, "diff": [["@@ -0x100796b0,48 +0x10067510,48 @@", [{"both": [["0x100796b0", "sub esp, 4", "0x10067510"], ["0x100796b3", "mov dword ptr [esp], ecx", "0x10067513"], ["0x100796b7", "push ebx", "0x10067517"]]}, {"orig": [["0x100796b8", "mov ebx, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100796bc", "push esi", "0x10067518"], ["0x100796bd", "push edi", "0x10067519"]]}, {"orig": [["0x100796be", "test ebx, ebx"]], "recomp": [["0x1006751a", "mov edi, dword ptr [esp + 0x14]"]]}, {"both": [["0x100796c0", "push ebp", "0x1006751e"]]}, {"orig": [], "recomp": [["0x1006751f", "test edi, edi"]]}, {"both": [["0x100796c1", "je 0x4b", "0x10067521"]]}, {"orig": [["0x100796c3", "mov esi, dword ptr [ebx + 4]"], ["0x100796c6", "mov edi, dword ptr [esp + 0x1c]"], ["0x100796ca", "push edi"]], "recomp": [["0x10067523", "mov esi, dword ptr [edi + 4]"], ["0x10067526", "mov ebx, dword ptr [esp + 0x1c]"], ["0x1006752a", "push ebx"]]}, {"both": [["0x100796cb", "mov eax, dword ptr [esi + 4]", "0x1006752b"], ["0x100796ce", "push eax", "0x1006752e"], ["0x100796cf", "call __strcmpi (FUNCTION)", "0x1006752f"], ["0x100796d4", "add esp, 8", "0x10067534"], ["0x100796d7", "test eax, eax", "0x10067537"], ["0x100796d9", "jne 0xc", "0x10067539"], ["0x100796db", "mov eax, esi", "0x1006753b"], ["0x100796dd", "pop ebp", "0x1006753d"], ["0x100796de", "pop edi", "0x1006753e"], ["0x100796df", "pop esi", "0x1006753f"], ["0x100796e0", "pop ebx", "0x10067540"], ["0x100796e1", "add esp, 4", "0x10067541"], ["0x100796e4", "ret 8", "0x10067544"], ["0x100796e7", "xor ebp, ebp", "0x10067547"], ["0x100796e9", "xor esi, esi", "0x10067549"]]}, {"orig": [["0x100796eb", "cmp dword ptr [ebx + 8], ebp"]], "recomp": [["0x1006754b", "cmp dword ptr [edi + 8], ebp"]]}, {"both": [["0x100796ee", "jbe 0x1e", "0x1006754e"]]}, {"orig": [["0x100796f0", "push edi"], ["0x100796f1", "mov eax, dword ptr [ebx + 0xc]"]], "recomp": [["0x10067550", "push ebx"], ["0x10067551", "mov eax, dword ptr [edi + 0xc]"]]}, {"both": [["0x100796f4", "mov ecx, dword ptr [eax + ebp]", "0x10067554"], ["0x100796f7", "push ecx", "0x10067557"], ["0x100796f8", "mov ecx, dword ptr [esp + 0x18]", "0x10067558"], ["0x100796fc", "call LegoCarBuildAnimPresenter::FindNodeDataByName (FUNCTION)", "0x1006755c"], ["0x10079701", "test eax, eax", "0x10067561"], ["0x10079703", "jne 0xb", "0x10067563"], ["0x10079705", "add ebp, 4", "0x10067565"], ["0x10079708", "inc esi", "0x10067568"]]}, {"orig": [["0x10079709", "cmp dword ptr [ebx + 8], esi"]], "recomp": [["0x10067569", "cmp dword ptr [edi + 8], esi"]]}, {"both": [["0x1007970c", "ja -0x1e", "0x1006756c"], ["0x1007970e", "xor eax, eax", "0x1006756e"], ["0x10079710", "pop ebp", "0x10067570"], ["0x10079711", "pop edi", "0x10067571"], ["0x10079712", "pop esi", "0x10067572"], ["0x10079713", "pop ebx", "0x10067573"], ["0x10079714", "add esp, 4", "0x10067574"], ["0x10079717", "ret 8", "0x10067577"]]}]]]}, {"address": "0x10079720", "recomp": "0x10067580", "name": "LegoCarBuildAnimPresenter::FindNodeByName", "matching": 1.0, "diff": []}, {"address": "0x10079790", "recomp": "0x100675f0", "name": "LegoCarBuildAnimPresenter::FUN_10079790", "matching": 1.0, "diff": []}, {"address": "0x10079920", "recomp": "0x10067780", "name": "LegoCarBuildAnimPresenter::RotateAroundYAxis", "matching": 1.0, "diff": []}, {"address": "0x10079a90", "recomp": "0x100678f0", "name": "LegoCarBuildAnimPresenter::FUN_10079a90", "matching": 1.0, "diff": []}, {"address": "0x10079b20", "recomp": "0x10067980", "name": "LegoCarBuildAnimPresenter::StringEqualsPlatform", "matching": 1.0, "diff": []}, {"address": "0x10079b40", "recomp": "0x100679a0", "name": "LegoCarBuildAnimPresenter::StringEndsOnW", "matching": 1.0, "diff": []}, {"address": "0x10079b80", "recomp": "0x100679e0", "name": "LegoCarBuildAnimPresenter::StringEndsOnYOrN", "matching": 1.0, "diff": []}, {"address": "0x10079bf0", "recomp": "0x10067a50", "name": "LegoCarBuildAnimPresenter::StringEqualsShelf", "matching": 1.0, "diff": []}, {"address": "0x10079c30", "recomp": "0x10067a90", "name": "LegoCarBuildAnimPresenter::FUN_10079c30", "matching": 1.0, "diff": []}, {"address": "0x10079ca0", "recomp": "0x10067b00", "name": "LegoCarBuildAnimPresenter::PartIsPlaced", "matching": 1.0, "diff": []}, {"address": "0x10079cf0", "recomp": "0x10067b50", "name": "LegoCarBuildAnimPresenter::StringEndsOnY", "matching": 1.0, "diff": []}, {"address": "0x10079d30", "recomp": "0x10067b90", "name": "LegoCarBuildAnimPresenter::StringDoesNotEndOnZero", "matching": 1.0, "diff": []}, {"address": "0x10079d60", "recomp": "0x10067bc0", "name": "LegoCarBuildAnimPresenter::GetWiredNameByPartName", "matching": 1.0, "effective": true, "diff": [["@@ -0x10079d60,34 +0x10067bc0,34 @@", [{"both": [["0x10079d60", "push ebx", "0x10067bc0"], ["0x10079d61", "push esi", "0x10067bc1"]]}, {"orig": [["0x10079d62", "xor bx, bx"]], "recomp": [["0x10067bc2", "xor si, si"]]}, {"both": [["0x10079d65", "push edi", "0x10067bc5"]]}, {"orig": [["0x10079d66", "cmp word ptr [ecx + 0xbe], bx"]], "recomp": [["0x10067bc6", "cmp word ptr [ecx + 0xbe], si"]]}, {"both": [["0x10079d6d", "mov edi, ecx", "0x10067bcd"], ["0x10079d6f", "jle 0x2c", "0x10067bcf"]]}, {"orig": [["0x10079d71", "mov esi, dword ptr [esp + 0x10]"], ["0x10079d75", "movsx eax, bx"]], "recomp": [["0x10067bd1", "mov ebx, dword ptr [esp + 0x10]"], ["0x10067bd5", "movsx eax, si"]]}, {"both": [["0x10079d78", "mov ecx, dword ptr [edi + 0x128]", "0x10067bd8"], ["0x10079d7e", "lea edx, [eax + eax*2]", "0x10067bde"], ["0x10079d81", "mov eax, dword ptr [ecx + edx*4]", "0x10067be1"], ["0x10079d84", "push eax", "0x10067be4"]]}, {"orig": [["0x10079d85", "push esi"]], "recomp": [["0x10067be5", "push ebx"]]}, {"both": [["0x10079d86", "call __strcmpi (FUNCTION)", "0x10067be6"], ["0x10079d8b", "add esp, 8", "0x10067beb"], ["0x10079d8e", "test eax, eax", "0x10067bee"], ["0x10079d90", "je 0x13", "0x10067bf0"]]}, {"orig": [["0x10079d92", "inc bx"], ["0x10079d94", "cmp word ptr [edi + 0xbe], bx"]], "recomp": [["0x10067bf2", "inc si"], ["0x10067bf4", "cmp word ptr [edi + 0xbe], si"]]}, {"both": [["0x10079d9b", "jg -0x28", "0x10067bfb"], ["0x10079d9d", "xor eax, eax", "0x10067bfd"], ["0x10079d9f", "pop edi", "0x10067bff"], ["0x10079da0", "pop esi", "0x10067c00"], ["0x10079da1", "pop ebx", "0x10067c01"], ["0x10079da2", "ret 4", "0x10067c02"]]}, {"orig": [["0x10079da5", "movsx eax, bx"]], "recomp": [["0x10067c05", "movsx eax, si"]]}, {"both": [["0x10079da8", "mov ecx, dword ptr [edi + 0x128]", "0x10067c08"], ["0x10079dae", "lea edx, [eax + eax*2]", "0x10067c0e"], ["0x10079db1", "pop edi", "0x10067c11"], ["0x10079db2", "pop esi", "0x10067c12"], ["0x10079db3", "mov eax, dword ptr [ecx + edx*4 + 4]", "0x10067c13"], ["0x10079db7", "pop ebx", "0x10067c17"], ["0x10079db8", "ret 4", "0x10067c18"]]}]]]}, {"address": "0x10079dc0", "recomp": "0x10067c20", "name": "LegoCarBuildAnimPresenter::SetPartObjectIdByName", "matching": 1.0, "effective": true, "diff": [["@@ -0x10079dc0,24 +0x10067c20,24 @@", [{"both": [["0x10079dc0", "push ebx", "0x10067c20"], ["0x10079dc1", "push esi", "0x10067c21"], ["0x10079dc2", "xor bx, bx", "0x10067c22"], ["0x10079dc5", "push edi", "0x10067c25"], ["0x10079dc6", "cmp word ptr [ecx + 0xbe], bx", "0x10067c26"], ["0x10079dcd", "mov edi, ecx", "0x10067c2d"], ["0x10079dcf", "jle 0x48", "0x10067c2f"], ["0x10079dd1", "mov esi, dword ptr [esp + 0x10]", "0x10067c31"], ["0x10079dd5", "movsx eax, bx", "0x10067c35"]]}, {"orig": [["0x10079dd8", "push esi"]], "recomp": []}, {"both": [["0x10079dd9", "mov ecx, dword ptr [edi + 0x128]", "0x10067c38"], ["0x10079ddf", "lea edx, [eax + eax*2]", "0x10067c3e"], ["0x10079de2", "mov eax, dword ptr [ecx + edx*4]", "0x10067c41"], ["0x10079de5", "push eax", "0x10067c44"]]}, {"orig": [], "recomp": [["0x10067c45", "push esi"]]}, {"both": [["0x10079de6", "call __strcmpi (FUNCTION)", "0x10067c46"], ["0x10079deb", "add esp, 8", "0x10067c4b"], ["0x10079dee", "test eax, eax", "0x10067c4e"], ["0x10079df0", "je 0x11", "0x10067c50"], ["0x10079df2", "inc bx", "0x10067c52"], ["0x10079df4", "cmp word ptr [edi + 0xbe], bx", "0x10067c54"], ["0x10079dfb", "jg -0x28", "0x10067c5b"], ["0x10079dfd", "pop edi", "0x10067c5d"], ["0x10079dfe", "pop esi", "0x10067c5e"], ["0x10079dff", "pop ebx", "0x10067c5f"]]}]]]}, {"address": "0x10079e20", "recomp": "0x10067c80", "name": "LegoCarBuildAnimPresenter::FUN_10079e20", "matching": 1.0, "diff": []}, {"address": "0x10079e50", "recomp": "0x1007b7d0", "name": "LegoPalettePresenter::LegoPalettePresenter", "matching": 1.0, "diff": []}, {"address": "0x10079f30", "recomp": "0x1007b8b0", "name": "LegoPalettePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10079f40", "recomp": "0x1007b8c0", "name": "LegoPalettePresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x1007a050", "recomp": "0x1007b9d0", "name": "LegoPalettePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007a070", "recomp": "0x1007b9f0", "name": "LegoPalettePresenter::~LegoPalettePresenter", "matching": 1.0, "diff": []}, {"address": "0x1007a0d0", "recomp": "0x1007ba50", "name": "LegoPalettePresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x1007a0e0", "recomp": "0x1007ba60", "name": "LegoPalettePresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007a120", "recomp": "0x1007baa0", "name": "LegoPalettePresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007a130", "recomp": "0x1007bab0", "name": "LegoPalettePresenter::ParsePalette", "matching": 1.0, "diff": []}, {"address": "0x1007a230", "recomp": "0x1007bbb0", "name": "LegoPalettePresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x1007a2b0", "recomp": "0x1007bc30", "name": "Act2Brick::Act2Brick", "matching": 1.0, "diff": []}, {"address": "0x1007a360", "recomp": "0x1007bce0", "name": "Act2Brick::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1007a370", "recomp": "0x1007bcf0", "name": "Act2Brick::IsA", "matching": 1.0, "diff": []}, {"address": "0x1007a450", "recomp": "0x1007bdd0", "name": "Act2Brick::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007a470", "recomp": "0x1007bdf0", "name": "Act2Brick::~Act2Brick", "matching": 1.0, "diff": []}, {"address": "0x1007a4e0", "recomp": "0x1007be60", "name": "Act2Brick::Create", "matching": 0.7225130890052356, "diff": [["@@ -0x1007a4e0,91 +0x1007be60,100 @@", [{"both": [["0x1007a4e0", "sub esp, 0x24", "0x1007be60"]]}, {"orig": [], "recomp": [["0x1007be63", "push ebx"]]}, {"both": [["0x1007a4e3", "push esi", "0x1007be64"], ["0x1007a4e4", "push edi", "0x1007be65"]]}, {"orig": [], "recomp": [["0x1007be66", "mov esi, ecx"]]}, {"both": [["0x1007a4e5", "cmp dword ptr [ecx + 0x54], 0", "0x1007be68"]]}, {"orig": [["0x1007a4e9", "mov esi, ecx"], ["0x1007a4eb", "je 0xd"]], "recomp": [["0x1007be6c", "je 0xe"]]}, {"both": [["0x1007a4ed", "mov eax, 0xffffffff", "0x1007be6e"], ["0x1007a4f2", "pop edi", "0x1007be73"], ["0x1007a4f3", "pop esi", "0x1007be74"]]}, {"orig": [], "recomp": [["0x1007be75", "pop ebx"]]}, {"both": [["0x1007a4f4", "add esp, 0x24", "0x1007be76"], ["0x1007a4f7", "ret 4", "0x1007be79"]]}, {"orig": [["0x1007a4fa", "mov edi, dword ptr [esp + 0x30]"], ["0x1007a4fe", "lea eax, [esp + 0x20]"]], "recomp": [["0x1007be7c", "mov edi, dword ptr [esp + 0x34]"], ["0x1007be80", "lea eax, [esp + 0x24]"]]}, {"both": [["0x1007a502", "push edi", "0x1007be84"], ["0x1007a503", "push 'chbrick%d' (STRING)", "0x1007be85"], ["0x1007a508", "push eax", "0x1007be8a"], ["0x1007a509", "call _sprintf (FUNCTION)", "0x1007be8b"]]}, {"orig": [["0x1007a50e", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x1007be90", "lea ecx, [esp + 0x30]"]]}, {"both": [["0x1007a512", "add esp, 0xc", "0x1007be94"], ["0x1007a515", "mov eax, dword ptr [edi*4 + Act2Brick::g_lodNames[0] (DATA)]", "0x1007be97"], ["0x1007a51c", "push 0", "0x1007be9e"], ["0x1007a51e", "push eax", "0x1007bea0"], ["0x1007a51f", "push ecx", "0x1007bea1"], ["0x1007a520", "call CharacterManager (FUNCTION)", "0x1007bea2"], ["0x1007a525", "mov ecx, eax", "0x1007bea7"], ["0x1007a527", "call LegoCharacterManager::CreateAutoROI (FUNCTION)", "0x1007bea9"]]}, {"orig": [["0x1007a52c", "lea ecx, [esp + 0x10]"]], "recomp": [["0x1007beae", "lea ecx, [eax + 0xe8]"], ["0x1007beb4", "lea edx, [esp + 0x14]"]]}, {"both": [["0x1007a530", "mov dword ptr [esi + 0x54], eax", "0x1007beb8"]]}, {"orig": [["0x1007a533", "mov dword ptr [esp + 8], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1007a53b", "mov dword ptr [esp + 0xc], ecx"], ["0x1007a53f", "lea ecx, [esp + 8]"], ["0x1007a543", "mov edx, dword ptr [eax + 0xec]"], ["0x1007a549", "push edx"], ["0x1007a54a", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]"], ["0x1007a550", "mov eax, dword ptr [esp + 0xc]"]], "recomp": [["0x1007bebb", "mov dword ptr [esp + 0x10], edx"], ["0x1007bebf", "mov dword ptr [esp + 0xc], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x1007bec7", "mov ebx, dword ptr [ecx + 4]"], ["0x1007beca", "mov eax, dword ptr [ebx]"], ["0x1007becc", "mov dword ptr [edx], eax"], ["0x1007bece", "mov eax, dword ptr [ebx + 4]"], ["0x1007bed1", "mov dword ptr [edx + 4], eax"], ["0x1007bed4", "mov ebx, dword ptr [ebx + 8]"], ["0x1007bed7", "mov dword ptr [edx + 8], ebx"], ["0x1007beda", "mov ecx, dword ptr [ecx + 0x14]"], ["0x1007bedd", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x1007a554", "add eax, 4", "0x1007bee1"]]}, {"orig": [], "recomp": [["0x1007bee4", "mov dword ptr [esp + 0x20], ecx"]]}, {"both": [["0x1007a557", "cmp edi, 6", "0x1007bee8"], ["0x1007a55a", "fld dword ptr [eax]", "0x1007beeb"], ["0x1007a55c", "fsub qword ptr [0.3 (FLOAT)]", "0x1007beed"], ["0x1007a562", "fstp dword ptr [eax]", "0x1007bef3"], ["0x1007a564", "mov eax, dword ptr [esi + 0x54]", "0x1007bef5"], ["0x1007a567", "fld dword ptr [eax + 0xfc]", "0x1007bef8"], ["0x1007a56d", "jge 0x8", "0x1007befe"], ["0x1007a56f", "fmul dword ptr [0.5 (FLOAT)]", "0x1007bf00"], ["0x1007a575", "jmp 0x6", "0x1007bf06"], ["0x1007a577", "fmul dword ptr [2.0 (FLOAT)]", "0x1007bf08"]]}, {"orig": [["0x1007a57d", "fstp dword ptr [esp + 0x1c]"]], "recomp": [["0x1007bf0e", "fstp dword ptr [esp + 0x20]"]]}, {"both": [["0x1007a581", "mov edi, dword ptr [esi + 0x54]", "0x1007bf12"]]}, {"orig": [["0x1007a584", "mov eax, dword ptr [esp + 0xc]"]], "recomp": [["0x1007bf15", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x1007a588", "push eax", "0x1007bf19"], ["0x1007a589", "lea ecx, [edi + 0xa8]", "0x1007bf1a"]]}, {"orig": [["0x1007a58f", "mov eax, dword ptr [ecx]"], ["0x1007a591", "call dword ptr [eax + 0x20]"], ["0x1007a594", "lea edx, [esp + 0x10]"]], "recomp": [["0x1007bf20", "mov ebx, dword ptr [ecx]"], ["0x1007bf22", "call dword ptr [ebx + 0x20]"], ["0x1007bf25", "lea edx, [esp + 0x14]"]]}, {"both": [["0x1007a598", "lea ecx, [edi + 0xb0]", "0x1007bf29"], ["0x1007a59e", "mov eax, dword ptr [edx]", "0x1007bf2f"], ["0x1007a5a0", "add edx, 4", "0x1007bf31"], ["0x1007a5a3", "mov dword ptr [ecx], eax", "0x1007bf34"], ["0x1007a5a5", "add ecx, 4", "0x1007bf36"]]}, {"orig": [["0x1007a5a8", "lea eax, [esp + 0x1c]"]], "recomp": [["0x1007bf39", "lea eax, [esp + 0x20]"]]}, {"both": [["0x1007a5ac", "cmp edx, eax", "0x1007bf3d"], ["0x1007a5ae", "jb -0x12", "0x1007bf3f"]]}, {"orig": [["0x1007a5b0", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": [["0x1007bf41", "mov eax, dword ptr [esp + 0x20]"]]}, {"both": [["0x1007a5b4", "lea ecx, [edi + 0xe8]", "0x1007bf45"], ["0x1007a5ba", "mov dword ptr [edi + 0xbc], eax", "0x1007bf4b"], ["0x1007a5c0", "mov eax, dword ptr [ecx]", "0x1007bf51"], ["0x1007a5c2", "mov edx, dword ptr [edi + 0xac]", "0x1007bf53"], ["0x1007a5c8", "push edx", "0x1007bf59"], ["0x1007a5c9", "call dword ptr [eax + 0x20]", "0x1007bf5a"], ["0x1007a5cc", "lea ecx, [edi + 0xf0]", "0x1007bf5d"], ["0x1007a5d2", "mov eax, 3", "0x1007bf63"], ["0x1007a5d7", "mov edx, dword ptr [ecx - 0x40]", "0x1007bf68"], ["0x1007a5da", "add ecx, 4", "0x1007bf6b"], ["0x1007a5dd", "dec eax", "0x1007bf6e"], ["0x1007a5de", "mov dword ptr [ecx - 4], edx", "0x1007bf6f"], ["0x1007a5e1", "jne -0xc", "0x1007bf72"], ["0x1007a5e3", "mov eax, dword ptr [edi + 0xbc]", "0x1007bf74"], ["0x1007a5e9", "mov dword ptr [edi + 0xfc], eax", "0x1007bf7a"], ["0x1007a5ef", "mov ecx, dword ptr [esi + 0x54]", "0x1007bf80"], ["0x1007a5f2", "mov dword ptr [ecx + 0x104], esi", "0x1007bf83"], ["0x1007a5f8", "call CurrentWorld (FUNCTION)", "0x1007bf89"]]}, {"orig": [["0x1007a5fd", "mov edi, dword ptr [eax]"]], "recomp": [["0x1007bf8e", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x1007a5ff", "mov ecx, eax", "0x1007bf90"], ["0x1007a601", "push esi", "0x1007bf92"]]}, {"orig": [["0x1007a602", "call dword ptr [edi + 0x58]"]], "recomp": [["0x1007bf93", "call dword ptr [ebx + 0x58]"]]}, {"both": [["0x1007a605", "xor eax, eax", "0x1007bf96"], ["0x1007a607", "pop edi", "0x1007bf98"], ["0x1007a608", "mov dword ptr [esi + 0x164], 1", "0x1007bf99"], ["0x1007a612", "pop esi", "0x1007bfa3"]]}, {"orig": [], "recomp": [["0x1007bfa4", "pop ebx"]]}, {"both": [["0x1007a613", "add esp, 0x24", "0x1007bfa5"], ["0x1007a616", "ret 4", "0x1007bfa8"]]}]]]}, {"address": "0x1007a620", "recomp": "0x1007bfb0", "name": "Act2Brick::Remove", "matching": 1.0, "diff": []}, {"address": "0x1007a670", "recomp": "0x1007c000", "name": "Act2Brick::FUN_1007a670", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007a6fc,23 +0x1007c08c,23 @@", [{"both": [["0x1007a6fc", "mov ecx, eax", "0x1007c08c"], ["0x1007a6fe", "call dword ptr [edx + 0x14]", "0x1007c08e"], ["0x1007a701", "mov dword ptr [esi + 0x164], 2", "0x1007c091"], ["0x1007a70b", "push esi", "0x1007c09b"], ["0x1007a70c", "call CurrentWorld (FUNCTION)", "0x1007c09c"], ["0x1007a711", "mov ecx, eax", "0x1007c0a1"], ["0x1007a713", "call LegoWorld::PlaceActor (FUNCTION)", "0x1007c0a3"], ["0x1007a718", "mov ecx, dword ptr [esp + 0x24]", "0x1007c0a8"], ["0x1007a71c", "push esi", "0x1007c0ac"], ["0x1007a71d", "call LegoPathBoundary::AddActor (FUNCTION)", "0x1007c0ad"]]}, {"orig": [], "recomp": [["0x1007c0b2", "mov dword ptr [esi + 0xdc], 4"]]}, {"both": [["0x1007a722", "push ebp", "0x1007c0bc"], ["0x1007a723", "mov ecx, dword ptr [esi + 0x54]", "0x1007c0bd"]]}, {"orig": [["0x1007a726", "mov dword ptr [esi + 0xdc], 4"]], "recomp": []}, {"both": [["0x1007a730", "call OrientableROI::FUN_100a58f0 (FUNCTION)", "0x1007c0c0"], ["0x1007a735", "mov ecx, dword ptr [esi + 0x54]", "0x1007c0c5"], ["0x1007a738", "mov ebx, dword ptr [ecx]", "0x1007c0c8"], ["0x1007a73a", "call dword ptr [ebx + 0x14]", "0x1007c0ca"], ["0x1007a73d", "mov ecx, dword ptr [esi + 0x54]", "0x1007c0cd"], ["0x1007a740", "mov byte ptr [ecx + 0xc], 1", "0x1007c0d0"], ["0x1007a744", "pop ebp", "0x1007c0d4"], ["0x1007a745", "pop edi", "0x1007c0d5"], ["0x1007a746", "pop esi", "0x1007c0d6"], ["0x1007a747", "pop ebx", "0x1007c0d7"]]}]]]}, {"address": "0x1007a750", "recomp": "0x1007c0e0", "name": "Act2Brick::HitActor", "matching": 1.0, "diff": []}, {"address": "0x1007a7f0", "recomp": "0x1007c180", "name": "Act2Brick::Tickle", "matching": 1.0, "diff": []}, {"address": "0x1007a8c0", "recomp": "0x1007c250", "name": "Act2Brick::Notify", "matching": 1.0, "diff": []}, {"address": "0x1007a990", "recomp": "0x1007c320", "name": "Act2Brick::PlayWhistleSound", "matching": 1.0, "diff": []}, {"address": "0x1007a9d0", "recomp": "0x1007c360", "name": "Act2Brick::StopWhistleSound", "matching": 1.0, "diff": []}, {"address": "0x1007aa00", "recomp": "0x1007c390", "name": "Act2Brick::Mute", "matching": 1.0, "diff": []}, {"address": "0x1007aa20", "recomp": "0x1007c3b0", "name": "LegoVideoManager::LegoVideoManager", "matching": 1.0, "diff": []}, {"address": "0x1007ab10", "recomp": "0x1007c4a0", "name": "LegoVideoManager::GetPhonemeList", "matching": 1.0, "diff": []}, {"address": "0x1007ab20", "recomp": "0x1007c4b0", "name": "LegoVideoManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007ab40", "recomp": "0x1007c4d0", "name": "LegoVideoManager::~LegoVideoManager", "matching": 1.0, "diff": []}, {"address": "0x1007abb0", "recomp": "0x1007c540", "name": "LegoVideoManager::CreateDirect3D", "matching": 1.0, "diff": []}, {"address": "0x1007ac40", "recomp": "0x1007c5d0", "name": "LegoVideoManager::Create", "matching": 0.9863013698630136, "diff": [["@@ -0x1007ad93,46 +0x1007c723,46 @@", [{"both": [["0x1007ad93", "jne 0x3e2", "0x1007c723"], ["0x1007ad99", "mov eax, dword ptr [ebx + 0x20]", "0x1007c729"], ["0x1007ad9c", "test eax, eax", "0x1007c72c"], ["0x1007ad9e", "je 0x2b", "0x1007c72e"], ["0x1007ada0", "push eax", "0x1007c730"], ["0x1007ada1", "lea ecx, [ebp - 0x38]", "0x1007c731"], ["0x1007ada4", "call LegoDeviceEnumerate::ParseDeviceName (FUNCTION)", "0x1007c734"], ["0x1007ada9", "mov edi, eax", "0x1007c739"], ["0x1007adab", "test edi, edi", "0x1007c73b"], ["0x1007adad", "jl 0x20", "0x1007c73d"]]}, {"orig": [["0x1007adaf", "lea eax, [ebp - 0x18]"], ["0x1007adb2", "lea ecx, [ebp - 0x1c]"]], "recomp": [["0x1007c73f", "lea eax, [ebp - 0x1c]"], ["0x1007c742", "lea ecx, [ebp - 0x18]"]]}, {"both": [["0x1007adb5", "push eax", "0x1007c745"], ["0x1007adb6", "push ecx", "0x1007c746"], ["0x1007adb7", "push edi", "0x1007c747"], ["0x1007adb8", "lea ecx, [ebp - 0x38]", "0x1007c748"], ["0x1007adbb", "call LegoDeviceEnumerate::GetDevice (FUNCTION)", "0x1007c74b"], ["0x1007adc0", "mov edi, eax", "0x1007c750"], ["0x1007adc2", "test edi, edi", "0x1007c752"], ["0x1007adc4", "je 0x2a", "0x1007c754"], ["0x1007adc6", "mov edi, 0xffffffff", "0x1007c756"], ["0x1007adcb", "test edi, edi", "0x1007c75b"], ["0x1007adcd", "jge 0x21", "0x1007c75d"], ["0x1007adcf", "lea ecx, [ebp - 0x38]", "0x1007c75f"], ["0x1007add2", "call LegoDeviceEnumerate::FUN_1009d210 (FUNCTION)", "0x1007c762"], ["0x1007add7", "lea ecx, [ebp - 0x38]", "0x1007c767"], ["0x1007adda", "call LegoDeviceEnumerate::FUN_1009d0d0 (FUNCTION)", "0x1007c76a"]]}, {"orig": [["0x1007addf", "lea ecx, [ebp - 0x18]"], ["0x1007ade2", "lea edx, [ebp - 0x1c]"]], "recomp": [["0x1007c76f", "lea ecx, [ebp - 0x1c]"], ["0x1007c772", "lea edx, [ebp - 0x18]"]]}, {"both": [["0x1007ade5", "push ecx", "0x1007c775"], ["0x1007ade6", "push edx", "0x1007c776"], ["0x1007ade7", "push eax", "0x1007c777"], ["0x1007ade8", "lea ecx, [ebp - 0x38]", "0x1007c778"], ["0x1007adeb", "call LegoDeviceEnumerate::GetDevice (FUNCTION)", "0x1007c77b"]]}, {"orig": [["0x1007adf0", "mov eax, dword ptr [ebp - 0x18]"], ["0x1007adf3", "mov ecx, dword ptr [ebp - 0x1c]"]], "recomp": [["0x1007c780", "mov eax, dword ptr [ebp - 0x1c]"], ["0x1007c783", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x1007adf6", "push eax", "0x1007c786"], ["0x1007adf7", "lea edx, [ebp - 0x38]", "0x1007c787"], ["0x1007adfa", "push ecx", "0x1007c78a"], ["0x1007adfb", "push edx", "0x1007c78b"], ["0x1007adfc", "mov ecx, dword ptr [esi + 0x74]", "0x1007c78c"], ["0x1007adff", "call MxDirect3D::SetDevice (FUNCTION)", "0x1007c78f"], ["0x1007ae04", "mov ecx, dword ptr [ebp - 0x18]", "0x1007c794"], ["0x1007ae07", "cmp dword ptr [ecx + 0x14], 0", "0x1007c797"], ["0x1007ae0b", "jne 0x1e", "0x1007c79b"], ["0x1007ae0d", "cmp dword ptr [ecx + 0xe0], 2", "0x1007c79d"]]}]]]}, {"address": "0x1007b210", "recomp": "0x1007cba0", "name": "LegoPhonemeList::Compare", "matching": 1.0, "diff": []}, {"address": "0x1007b2e0", "recomp": "0x1007cc70", "name": "LegoPhonemeList::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007b300", "recomp": "0x1007cc90", "name": "MxCollection<LegoPhoneme *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1007b310", "recomp": "0x1007cca0", "name": "MxCollection<LegoPhoneme *>::~MxCollection<LegoPhoneme *>", "matching": 1.0, "diff": []}, {"address": "0x1007b360", "recomp": "0x1007ccf0", "name": "MxCollection<LegoPhoneme *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007b370", "recomp": "0x1007cd00", "name": "MxList<LegoPhoneme *>::~MxList<LegoPhoneme *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007b379,33 +0x1007cd09,33 @@", [{"both": [["0x1007b379", "push -1", "0x1007cd09"], ["0x1007b37b", "push <OFFSET1>", "0x1007cd0b"], ["0x1007b380", "push eax", "0x1007cd10"], ["0x1007b381", "mov dword ptr fs:[0], esp", "0x1007cd11"], ["0x1007b388", "mov dword ptr [ecx], MxList<LegoPhoneme *>::`vftable' (VTABLE)", "0x1007cd18"], ["0x1007b38e", "sub esp, 4", "0x1007cd1e"], ["0x1007b391", "mov dword ptr [ebp - 0x10], ecx", "0x1007cd21"], ["0x1007b394", "mov dword ptr [ebp - 4], 0", "0x1007cd24"], ["0x1007b39b", "push esi", "0x1007cd2b"], ["0x1007b39c", "push edi", "0x1007cd2c"]]}, {"orig": [["0x1007b39d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1007b3a0", "test esi, esi"]], "recomp": [["0x1007cd2d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1007cd30", "test edi, edi"]]}, {"both": [["0x1007b3a2", "je 0x1c", "0x1007cd32"]]}, {"orig": [["0x1007b3a4", "mov edi, dword ptr [esi + 8]"], ["0x1007b3a7", "mov eax, dword ptr [esi]"]], "recomp": [["0x1007cd34", "mov esi, dword ptr [edi + 8]"], ["0x1007cd37", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1007b3a9", "push eax", "0x1007cd39"], ["0x1007b3aa", "mov ecx, dword ptr [ebp - 0x10]", "0x1007cd3a"], ["0x1007b3ad", "call dword ptr [ecx + 0xc]", "0x1007cd3d"], ["0x1007b3b0", "add esp, 4", "0x1007cd40"]]}, {"orig": [["0x1007b3b3", "push esi"]], "recomp": [["0x1007cd43", "push edi"]]}, {"both": [["0x1007b3b4", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007cd44"], ["0x1007b3b9", "add esp, 4", "0x1007cd49"]]}, {"orig": [["0x1007b3bc", "mov esi, edi"]], "recomp": [["0x1007cd4c", "mov edi, esi"]]}, {"both": [["0x1007b3be", "jmp -0x20", "0x1007cd4e"], ["0x1007b3c0", "xor eax, eax", "0x1007cd50"], ["0x1007b3c2", "mov ecx, dword ptr [ebp - 0x10]", "0x1007cd52"], ["0x1007b3c5", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007cd55"], ["0x1007b3cc", "mov dword ptr [ecx + 8], eax", "0x1007cd5c"], ["0x1007b3cf", "mov dword ptr [ecx + 0x14], eax", "0x1007cd5f"], ["0x1007b3d2", "mov dword ptr [ecx + 0x10], eax", "0x1007cd62"], ["0x1007b3d5", "call <OFFSET4>", "0x1007cd65"], ["0x1007b3da", "mov eax, dword ptr [ebp - 0xc]", "0x1007cd6a"], ["0x1007b3dd", "pop edi", "0x1007cd6d"]]}]]]}, {"address": "0x1007b400", "recomp": "0x1007cd90", "name": "LegoPhonemeList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007b470", "recomp": "0x1007ce00", "name": "MxCollection<LegoPhoneme *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007b4e0", "recomp": "0x1007ce70", "name": "MxList<LegoPhoneme *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007b4e9,33 +0x1007ce79,33 @@", [{"both": [["0x1007b4e9", "push -1", "0x1007ce79"], ["0x1007b4eb", "push <OFFSET1>", "0x1007ce7b"], ["0x1007b4f0", "push eax", "0x1007ce80"], ["0x1007b4f1", "mov dword ptr fs:[0], esp", "0x1007ce81"], ["0x1007b4f8", "mov dword ptr [ecx], MxList<LegoPhoneme *>::`vftable' (VTABLE)", "0x1007ce88"], ["0x1007b4fe", "sub esp, 4", "0x1007ce8e"], ["0x1007b501", "mov dword ptr [ebp - 0x10], ecx", "0x1007ce91"], ["0x1007b504", "mov dword ptr [ebp - 4], 0", "0x1007ce94"], ["0x1007b50b", "push esi", "0x1007ce9b"], ["0x1007b50c", "push edi", "0x1007ce9c"]]}, {"orig": [["0x1007b50d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1007b510", "test esi, esi"]], "recomp": [["0x1007ce9d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1007cea0", "test edi, edi"]]}, {"both": [["0x1007b512", "je 0x1c", "0x1007cea2"]]}, {"orig": [["0x1007b514", "mov edi, dword ptr [esi + 8]"], ["0x1007b517", "mov eax, dword ptr [esi]"]], "recomp": [["0x1007cea4", "mov esi, dword ptr [edi + 8]"], ["0x1007cea7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1007b519", "push eax", "0x1007cea9"], ["0x1007b51a", "mov ecx, dword ptr [ebp - 0x10]", "0x1007ceaa"], ["0x1007b51d", "call dword ptr [ecx + 0xc]", "0x1007cead"], ["0x1007b520", "add esp, 4", "0x1007ceb0"]]}, {"orig": [["0x1007b523", "push esi"]], "recomp": [["0x1007ceb3", "push edi"]]}, {"both": [["0x1007b524", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007ceb4"], ["0x1007b529", "add esp, 4", "0x1007ceb9"]]}, {"orig": [["0x1007b52c", "mov esi, edi"]], "recomp": [["0x1007cebc", "mov edi, esi"]]}, {"both": [["0x1007b52e", "jmp -0x20", "0x1007cebe"], ["0x1007b530", "xor eax, eax", "0x1007cec0"], ["0x1007b532", "mov ecx, dword ptr [ebp - 0x10]", "0x1007cec2"], ["0x1007b535", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007cec5"], ["0x1007b53c", "mov dword ptr [ecx + 8], eax", "0x1007cecc"], ["0x1007b53f", "mov dword ptr [ecx + 0x14], eax", "0x1007cecf"], ["0x1007b542", "mov dword ptr [ecx + 0x10], eax", "0x1007ced2"], ["0x1007b545", "call <OFFSET4>", "0x1007ced5"], ["0x1007b54a", "test byte ptr [ebp + 8], 1", "0x1007ceda"], ["0x1007b54e", "je 0xc", "0x1007cede"]]}]]]}, {"address": "0x1007b590", "recomp": "0x1007cf20", "name": "LegoDeviceEnumerate::~LegoDeviceEnumerate", "matching": 1.0, "diff": []}, {"address": "0x1007b5e0", "recomp": "0x1007cf70", "name": "LegoVideoManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007b6a0", "recomp": "0x1007d030", "name": "LegoVideoManager::MoveCursor", "matching": 1.0, "diff": []}, {"address": "0x1007b6f0", "recomp": "0x1007d080", "name": "LegoVideoManager::ToggleFPS", "matching": 1.0, "diff": []}, {"address": "0x1007b770", "recomp": "0x1007d100", "name": "LegoVideoManager::Tickle", "matching": 0.9636363636363636, "diff": [["@@ -0x1007b7eb,43 +0x1007d17b,43 @@", [{"both": [["0x1007b7eb", "xor eax, eax", "0x1007d17b"], ["0x1007b7ed", "mov dword ptr [ebp - 0x14], eax", "0x1007d17d"], ["0x1007b7f0", "fild qword ptr [ebp - 0x18]", "0x1007d180"], ["0x1007b7f3", "mov dword ptr [ebp - 0x18], ecx", "0x1007d183"], ["0x1007b7f6", "mov dword ptr [ebp - 0x14], eax", "0x1007d186"], ["0x1007b7f9", "fild qword ptr [ebp - 0x18]", "0x1007d189"], ["0x1007b7fc", "fdivp st(1)", "0x1007d18c"], ["0x1007b7fe", "fadd qword ptr [esi + 8]", "0x1007d18e"], ["0x1007b801", "fstp qword ptr [esi + 8]", "0x1007d191"], ["0x1007b804", "mov edx, dword ptr [ebp - 0x10]", "0x1007d194"]]}, {"orig": [["0x1007b807", "mov ecx, dword ptr [edx + 0x4f4]"], ["0x1007b80d", "mov eax, dword ptr [ecx + 0xc]"], ["0x1007b810", "lea ebx, [ecx + 8]"]], "recomp": [["0x1007d197", "mov ebx, dword ptr [edx + 0x4f4]"], ["0x1007d19d", "mov eax, dword ptr [ebx + 0xc]"], ["0x1007d1a0", "lea ecx, [ebx + 8]"]]}, {"both": [["0x1007b813", "mov dword ptr [edx + 0x4fc], eax", "0x1007d1a3"]]}, {"orig": [["0x1007b819", "mov esi, dword ptr [ebx]"]], "recomp": [["0x1007d1a9", "mov esi, dword ptr [ecx]"]]}, {"both": [["0x1007b81b", "mov dword ptr [edx + 0x4f8], esi", "0x1007d1ab"], ["0x1007b821", "xor esi, esi", "0x1007d1b1"]]}, {"orig": [], "recomp": [["0x1007d1b3", "mov dword ptr [ebx], esi"], ["0x1007d1b5", "mov dword ptr [ebx + 4], esi"]]}, {"both": [["0x1007b823", "mov dword ptr [ecx], esi", "0x1007d1b8"], ["0x1007b825", "mov dword ptr [ecx + 4], esi", "0x1007d1ba"]]}, {"orig": [["0x1007b828", "mov dword ptr [ebx], esi"], ["0x1007b82a", "mov dword ptr [ebx + 4], esi"], ["0x1007b82d", "mov ecx, dword ptr [edx + 0x4f4]"], ["0x1007b833", "push ecx"]], "recomp": [["0x1007d1bd", "mov ebx, dword ptr [edx + 0x4f4]"], ["0x1007d1c3", "push ebx"]]}, {"both": [["0x1007b834", "call edi", "0x1007d1c4"], ["0x1007b836", "mov edx, dword ptr [ebp - 0x10]", "0x1007d1c6"], ["0x1007b839", "mov ecx, dword ptr [edx + 0x74]", "0x1007d1c9"], ["0x1007b83c", "call MxDirectDraw::RestoreSurfaces (FUNCTION)", "0x1007d1cc"], ["0x1007b841", "mov ecx, dword ptr [ebp - 0x10]", "0x1007d1d1"], ["0x1007b844", "call MxVideoManager::SortPresenterList (FUNCTION)", "0x1007d1d4"], ["0x1007b849", "mov edx, dword ptr [ebp - 0x10]", "0x1007d1d9"]]}, {"orig": [["0x1007b84c", "mov ecx, dword ptr [edx + 8]"], ["0x1007b84f", "push ecx"]], "recomp": []}, {"both": [["0x1007b850", "lea ecx, [ebp - 0x28]", "0x1007d1dc"]]}, {"orig": [], "recomp": [["0x1007d1df", "mov eax, dword ptr [edx + 8]"], ["0x1007d1e2", "push eax"]]}, {"both": [["0x1007b853", "call MxListCursor<MxPresenter *>::MxListCursor<MxPresenter *> (FUNCTION)", "0x1007d1e3"], ["0x1007b858", "mov eax, 0xffffffff", "0x1007d1e8"], ["0x1007b85d", "mov dword ptr [ebp - 4], esi", "0x1007d1ed"], ["0x1007b860", "mov dword ptr [ebp - 0x28], MxPtrListCursor<MxPresenter>::`vftable' (VTABLE)", "0x1007d1f0"], ["0x1007b867", "mov dword ptr [ebp - 4], 1", "0x1007d1f7"], ["0x1007b86e", "mov dword ptr [ebp - 0x28], MxPresenterListCursor::`vftable' (VTABLE)", "0x1007d1fe"], ["0x1007b875", "mov dword ptr [ebp - 4], 2", "0x1007d205"], ["0x1007b87c", "cmp dword ptr [ebp - 0x1c], esi", "0x1007d20c"], ["0x1007b87f", "jne 0x8", "0x1007d20f"], ["0x1007b881", "mov eax, dword ptr [ebp - 0x20]", "0x1007d211"]]}]], ["@@ -0x1007ba00,23 +0x1007d390,23 @@", [{"both": [["0x1007ba00", "test ecx, ecx", "0x1007d390"], ["0x1007ba02", "jl 0x19", "0x1007d392"], ["0x1007ba04", "mov edx, dword ptr [ebp - 0x10]", "0x1007d394"], ["0x1007ba07", "mov eax, dword ptr [edx + 0x510]", "0x1007d397"], ["0x1007ba0d", "test eax, eax", "0x1007d39d"], ["0x1007ba0f", "jl 0xc", "0x1007d39f"], ["0x1007ba11", "mov dword ptr [edx + 0x504], ecx", "0x1007d3a1"], ["0x1007ba17", "mov dword ptr [edx + 0x508], eax", "0x1007d3a7"], ["0x1007ba1d", "mov edx, dword ptr [ebp - 0x10]", "0x1007d3ad"], ["0x1007ba20", "xor ebx, ebx", "0x1007d3b0"]]}, {"orig": [["0x1007ba22", "mov ecx, dword ptr [edx + 0x58]"]], "recomp": [["0x1007d3b2", "mov eax, dword ptr [edx + 0x58]"]]}, {"both": [["0x1007ba25", "cmp dword ptr [edx + 0x514], ebx", "0x1007d3b5"]]}, {"orig": [["0x1007ba2b", "mov esi, dword ptr [ecx + 0x30]"]], "recomp": [["0x1007d3bb", "mov esi, dword ptr [eax + 0x30]"]]}, {"both": [["0x1007ba2e", "jne 0x35", "0x1007d3be"], ["0x1007ba30", "mov eax, 0x10", "0x1007d3c0"], ["0x1007ba35", "mov dword ptr [edx + 0x51c], ebx", "0x1007d3c5"], ["0x1007ba3b", "mov dword ptr [edx + 0x518], ebx", "0x1007d3cb"], ["0x1007ba41", "mov dword ptr [edx + 0x524], eax", "0x1007d3d1"], ["0x1007ba47", "mov dword ptr [edx + 0x520], eax", "0x1007d3d7"], ["0x1007ba4d", "call MxDisplaySurface::CreateCursorSurface (FUNCTION)", "0x1007d3dd"], ["0x1007ba52", "mov edx, dword ptr [ebp - 0x10]", "0x1007d3e2"], ["0x1007ba55", "cmp eax, ebx", "0x1007d3e5"], ["0x1007ba57", "mov dword ptr [edx + 0x514], eax", "0x1007d3e7"]]}]]]}, {"address": "0x1007bbc0", "recomp": "0x1007d550", "name": "LegoVideoManager::DrawFPS", "matching": 0.926829268292683, "diff": [["@@ -0x1007bbcf,69 +0x1007d55f,69 @@", [{"both": [["0x1007bbcf", "push ebx", "0x1007d55f"], ["0x1007bbd0", "push esi", "0x1007d560"], ["0x1007bbd1", "push edi", "0x1007d561"], ["0x1007bbd2", "push ebp", "0x1007d562"], ["0x1007bbd3", "mov esi, ecx", "0x1007d563"], ["0x1007bbd5", "mov ecx, dword ptr [eax]", "0x1007d565"], ["0x1007bbd7", "mov eax, dword ptr [eax + 4]", "0x1007d567"], ["0x1007bbda", "cmp dword ptr [esi + 0x528], 0", "0x1007d56a"], ["0x1007bbe1", "mov dword ptr [edx], ecx", "0x1007d571"], ["0x1007bbe3", "mov dword ptr [edx + 4], eax", "0x1007d573"]]}, {"orig": [["0x1007bbe6", "jne 0x1e3"]], "recomp": [["0x1007d576", "jne 0x1e1"]]}, {"both": [["0x1007bbec", "push 'Arial' (STRING)", "0x1007d57c"], ["0x1007bbf1", "push 2", "0x1007d581"], ["0x1007bbf3", "push 0", "0x1007d583"], ["0x1007bbf5", "push 0", "0x1007d585"], ["0x1007bbf7", "push 0", "0x1007d587"], ["0x1007bbf9", "push 0", "0x1007d589"], ["0x1007bbfb", "push 0", "0x1007d58b"], ["0x1007bbfd", "push 0", "0x1007d58d"], ["0x1007bbff", "push 0", "0x1007d58f"], ["0x1007bc01", "push 0x190", "0x1007d591"], ["0x1007bc06", "push 0", "0x1007d596"], ["0x1007bc08", "push 0", "0x1007d598"], ["0x1007bc0a", "push 0", "0x1007d59a"], ["0x1007bc0c", "push 0xc", "0x1007d59c"], ["0x1007bc0e", "call dword ptr [->GDI32.DLL:CreateFontA (FUNCTION)]", "0x1007d59e"], ["0x1007bc14", "push 0", "0x1007d5a4"], ["0x1007bc16", "mov dword ptr [esi + 0x540], eax", "0x1007d5a6"]]}, {"orig": [], "recomp": [["0x1007d5ac", "lea ebx, [esi + 0x544]"]]}, {"both": [["0x1007bc1c", "call dword ptr [->USER32.DLL:GetDC (FUNCTION)]", "0x1007d5b2"]]}, {"orig": [["0x1007bc22", "mov ebx, eax"], ["0x1007bc24", "mov ebp, dword ptr [__imp__SelectObject@8 (POINTER)]"]], "recomp": [["0x1007d5b8", "mov ebp, eax"]]}, {"both": [["0x1007bc2a", "mov eax, dword ptr [esi + 0x540]", "0x1007d5ba"], ["0x1007bc30", "push eax", "0x1007d5c0"]]}, {"orig": [], "recomp": [["0x1007d5c1", "push ebp"], ["0x1007d5c2", "call dword ptr [->GDI32.DLL:SelectObject (FUNCTION)]"], ["0x1007d5c8", "lea edi, [esp + 0x1c]"]]}, {"both": [["0x1007bc31", "push ebx", "0x1007d5cc"]]}, {"orig": [["0x1007bc32", "call ebp"], ["0x1007bc34", "lea ebp, [esi + 0x544]"], ["0x1007bc3a", "lea edi, [esp + 0x1c]"], ["0x1007bc3e", "push ebp"]], "recomp": []}, {"both": [["0x1007bc3f", "mov ecx, 0xffffffff", "0x1007d5cd"], ["0x1007bc44", "sub eax, eax", "0x1007d5d2"], ["0x1007bc46", "repne scasb al, byte ptr es:[edi]", "0x1007d5d4"], ["0x1007bc48", "not ecx", "0x1007d5d6"], ["0x1007bc4a", "dec ecx", "0x1007d5d8"], ["0x1007bc4b", "lea eax, [esp + 0x20]", "0x1007d5d9"], ["0x1007bc4f", "push ecx", "0x1007d5dd"], ["0x1007bc50", "push eax", "0x1007d5de"]]}, {"orig": [["0x1007bc51", "push ebx"]], "recomp": [["0x1007d5df", "push ebp"]]}, {"both": [["0x1007bc52", "call dword ptr [->GDI32.DLL:GetTextExtentPointA (FUNCTION)]", "0x1007d5e0"]]}, {"orig": [["0x1007bc58", "push ebx"]], "recomp": [["0x1007d5e6", "push ebp"]]}, {"both": [["0x1007bc59", "push 0", "0x1007d5e7"]]}, {"orig": [["0x1007bc5b", "call dword ptr [->USER32.DLL:ReleaseDC (FUNCTION)]"]], "recomp": [["0x1007d5e9", "mov ebp, dword ptr [__imp__ReleaseDC@8 (POINTER)]"], ["0x1007d5ef", "call ebp"]]}, {"both": [["0x1007bc61", "mov eax, dword ptr [esi + 0x548]", "0x1007d5f1"]]}, {"orig": [["0x1007bc67", "mov ecx, dword ptr [ebp]"]], "recomp": [["0x1007d5f7", "mov ecx, dword ptr [ebx]"]]}, {"both": [["0x1007bc6a", "push eax", "0x1007d5f9"], ["0x1007bc6b", "push ecx", "0x1007d5fa"], ["0x1007bc6c", "mov ecx, dword ptr [esi + 0x58]", "0x1007d5fb"], ["0x1007bc6f", "call MxDisplaySurface::FUN_100bc8b0 (FUNCTION)", "0x1007d5fe"], ["0x1007bc74", "mov ecx, dword ptr [esi + 0x548]", "0x1007d603"]]}, {"orig": [["0x1007bc7a", "mov edx, dword ptr [ebp]"]], "recomp": [["0x1007d609", "mov edx, dword ptr [ebx]"]]}, {"both": [["0x1007bc7d", "push ecx", "0x1007d60b"], ["0x1007bc7e", "mov dword ptr [esi + 0x528], eax", "0x1007d60c"], ["0x1007bc84", "push edx", "0x1007d612"], ["0x1007bc85", "lea eax, [esi + 0x530]", "0x1007d613"], ["0x1007bc8b", "push 0", "0x1007d619"], ["0x1007bc8d", "push 0", "0x1007d61b"], ["0x1007bc8f", "push eax", "0x1007d61d"], ["0x1007bc90", "call dword ptr [->USER32.DLL:SetRect (FUNCTION)]", "0x1007d61e"], ["0x1007bc96", "mov ecx, dword ptr [esi + 0x528]", "0x1007d624"], ["0x1007bc9c", "test ecx, ecx", "0x1007d62a"]]}]], ["@@ -0x1007bd21,38 +0x1007d6af,38 @@", [{"both": [["0x1007bd21", "push ecx", "0x1007d6af"], ["0x1007bd22", "call dword ptr [->GDI32.DLL:DeleteObject (FUNCTION)]", "0x1007d6b0"], ["0x1007bd28", "mov dword ptr [esi + 0x528], 0", "0x1007d6b6"], ["0x1007bd32", "mov dword ptr [esi + 0x540], 0", "0x1007d6c0"], ["0x1007bd3c", "pop ebp", "0x1007d6ca"], ["0x1007bd3d", "pop edi", "0x1007d6cb"], ["0x1007bd3e", "pop esi", "0x1007d6cc"], ["0x1007bd3f", "pop ebx", "0x1007d6cd"], ["0x1007bd40", "add esp, 0xb0", "0x1007d6ce"], ["0x1007bd46", "ret ", "0x1007d6d4"]]}, {"orig": [["0x1007bd47", "mov edx, dword ptr [esp + 0x48]"], ["0x1007bd4b", "xor ebx, ebx"], ["0x1007bd4d", "cmp dword ptr [esp + 0x2c], ebx"]], "recomp": [["0x1007d6d5", "mov ebx, dword ptr [esp + 0x48]"], ["0x1007d6d9", "xor edx, edx"], ["0x1007d6db", "cmp dword ptr [esp + 0x2c], edx"]]}, {"both": [["0x1007bd51", "jbe 0x29", "0x1007d6df"], ["0x1007bd53", "mov ebp, dword ptr [esp + 0x30]", "0x1007d6e1"]]}, {"orig": [["0x1007bd57", "mov edi, edx"]], "recomp": [["0x1007d6e5", "mov edi, ebx"]]}, {"both": [["0x1007bd59", "xor eax, eax", "0x1007d6e7"]]}, {"orig": [["0x1007bd5b", "inc ebx"]], "recomp": [["0x1007d6e9", "inc edx"]]}, {"both": [["0x1007bd5c", "imul ebp, dword ptr [esp + 0x78]", "0x1007d6ea"], ["0x1007bd61", "shr ebp, 3", "0x1007d6ef"], ["0x1007bd64", "mov ecx, ebp", "0x1007d6f2"], ["0x1007bd66", "shr ecx, 2", "0x1007d6f4"], ["0x1007bd69", "rep stosd dword ptr es:[edi], eax", "0x1007d6f7"], ["0x1007bd6b", "mov ecx, ebp", "0x1007d6f9"], ["0x1007bd6d", "and ecx, 3", "0x1007d6fb"], ["0x1007bd70", "rep stosb byte ptr es:[edi], al", "0x1007d6fe"]]}, {"orig": [["0x1007bd72", "add edx, dword ptr [esp + 0x34]"], ["0x1007bd76", "cmp ebx, dword ptr [esp + 0x2c]"]], "recomp": [["0x1007d700", "add ebx, dword ptr [esp + 0x34]"], ["0x1007d704", "cmp edx, dword ptr [esp + 0x2c]"]]}, {"both": [["0x1007bd7a", "jb -0x29", "0x1007d708"], ["0x1007bd7c", "mov eax, dword ptr [esi + 0x528]", "0x1007d70a"], ["0x1007bd82", "mov ecx, dword ptr [esp + 0x48]", "0x1007d710"], ["0x1007bd86", "mov ebx, dword ptr [eax]", "0x1007d714"], ["0x1007bd88", "push ecx", "0x1007d716"], ["0x1007bd89", "push eax", "0x1007d717"], ["0x1007bd8a", "call dword ptr [ebx + 0x80]", "0x1007d718"], ["0x1007bd90", "call Timer (FUNCTION)", "0x1007d71e"], ["0x1007bd95", "cmp byte ptr [eax + 0xc], 0", "0x1007d723"], ["0x1007bd99", "je 0x8", "0x1007d727"]]}]], ["@@ -0x1007beae,38 +0x1007d83c,38 @@", [{"both": [["0x1007beae", "push 1", "0x1007d83c"], ["0x1007beb0", "mov eax, dword ptr [esi + 0x528]", "0x1007d83e"], ["0x1007beb6", "push ecx", "0x1007d844"], ["0x1007beb7", "mov dword ptr [esp + 0x30], 0x6c", "0x1007d845"], ["0x1007bebf", "push 0", "0x1007d84d"], ["0x1007bec1", "mov ebx, dword ptr [eax]", "0x1007d84f"], ["0x1007bec3", "push eax", "0x1007d851"], ["0x1007bec4", "call dword ptr [ebx + 0x64]", "0x1007d852"], ["0x1007bec7", "test eax, eax", "0x1007d855"], ["0x1007bec9", "jne 0x49", "0x1007d857"]]}, {"orig": [["0x1007becb", "mov edx, dword ptr [esp + 0x48]"], ["0x1007becf", "xor ebx, ebx"], ["0x1007bed1", "cmp dword ptr [esp + 0x2c], ebx"]], "recomp": [["0x1007d859", "mov ebx, dword ptr [esp + 0x48]"], ["0x1007d85d", "xor edx, edx"], ["0x1007d85f", "cmp dword ptr [esp + 0x2c], edx"]]}, {"both": [["0x1007bed5", "jbe 0x29", "0x1007d863"], ["0x1007bed7", "mov ebp, dword ptr [esp + 0x30]", "0x1007d865"]]}, {"orig": [["0x1007bedb", "mov edi, edx"]], "recomp": [["0x1007d869", "mov edi, ebx"]]}, {"both": [["0x1007bedd", "xor eax, eax", "0x1007d86b"]]}, {"orig": [["0x1007bedf", "inc ebx"]], "recomp": [["0x1007d86d", "inc edx"]]}, {"both": [["0x1007bee0", "imul ebp, dword ptr [esp + 0x78]", "0x1007d86e"], ["0x1007bee5", "shr ebp, 3", "0x1007d873"], ["0x1007bee8", "mov ecx, ebp", "0x1007d876"], ["0x1007beea", "shr ecx, 2", "0x1007d878"], ["0x1007beed", "rep stosd dword ptr es:[edi], eax", "0x1007d87b"], ["0x1007beef", "mov ecx, ebp", "0x1007d87d"], ["0x1007bef1", "and ecx, 3", "0x1007d87f"], ["0x1007bef4", "rep stosb byte ptr es:[edi], al", "0x1007d882"]]}, {"orig": [["0x1007bef6", "add edx, dword ptr [esp + 0x34]"], ["0x1007befa", "cmp ebx, dword ptr [esp + 0x2c]"]], "recomp": [["0x1007d884", "add ebx, dword ptr [esp + 0x34]"], ["0x1007d888", "cmp edx, dword ptr [esp + 0x2c]"]]}, {"both": [["0x1007befe", "jb -0x29", "0x1007d88c"], ["0x1007bf00", "mov eax, dword ptr [esi + 0x528]", "0x1007d88e"], ["0x1007bf06", "mov ecx, dword ptr [esp + 0x48]", "0x1007d894"], ["0x1007bf0a", "mov ebx, dword ptr [eax]", "0x1007d898"], ["0x1007bf0c", "push ecx", "0x1007d89a"], ["0x1007bf0d", "push eax", "0x1007d89b"], ["0x1007bf0e", "call dword ptr [ebx + 0x80]", "0x1007d89c"], ["0x1007bf14", "mov eax, dword ptr [esi + 0x528]", "0x1007d8a2"], ["0x1007bf1a", "lea ecx, [esp + 0x14]", "0x1007d8a8"], ["0x1007bf1e", "mov ebx, dword ptr [eax]", "0x1007d8ac"]]}]], ["@@ -0x1007c063,10 +0x1007d9f1,12 @@", [{"both": [["0x1007c063", "mov eax, dword ptr [esi + 0x538]", "0x1007d9f1"], ["0x1007c069", "push eax", "0x1007d9f7"], ["0x1007c06a", "push 0x14", "0x1007d9f8"], ["0x1007c06c", "push 0x14", "0x1007d9fa"], ["0x1007c06e", "mov ebx, dword ptr [ecx]", "0x1007d9fc"], ["0x1007c070", "call dword ptr [ebx + 0x2c]", "0x1007d9fe"], ["0x1007c073", "pop ebp", "0x1007da01"], ["0x1007c074", "pop edi", "0x1007da02"], ["0x1007c075", "pop esi", "0x1007da03"], ["0x1007c076", "pop ebx", "0x1007da04"]]}, {"orig": [], "recomp": [["0x1007da05", "add esp, 0xb0"], ["0x1007da0b", "ret "]]}]]]}, {"address": "0x1007c080", "recomp": "0x1007da10", "name": "LegoVideoManager::GetPresenterAt", "matching": 1.0, "diff": []}, {"address": "0x1007c180", "recomp": "0x1007db10", "name": "LegoVideoManager::GetPresenterByActionObjectName", "matching": 1.0, "diff": []}, {"address": "0x1007c290", "recomp": "0x1007dc20", "name": "LegoVideoManager::RealizePalette", "matching": 1.0, "diff": []}, {"address": "0x1007c2d0", "recomp": "0x1007dc60", "name": "LegoVideoManager::ResetPalette", "matching": 1.0, "diff": []}, {"address": "0x1007c300", "recomp": "0x1007dc90", "name": "LegoVideoManager::EnableFullScreenMovie", "matching": 1.0, "diff": []}, {"address": "0x1007c310", "recomp": "0x1007dca0", "name": "LegoVideoManager::EnableFullScreenMovie", "matching": 1.0, "diff": []}, {"address": "0x1007c440", "recomp": "0x1007ddd0", "name": "LegoVideoManager::SetSkyColor", "matching": 1.0, "diff": []}, {"address": "0x1007c4c0", "recomp": "0x1007de50", "name": "LegoVideoManager::OverrideSkyColor", "matching": 1.0, "diff": []}, {"address": "0x1007c4d0", "recomp": "0x1007de60", "name": "LegoVideoManager::UpdateView", "matching": 1.0, "diff": []}, {"address": "0x1007c520", "recomp": "0x1007deb0", "name": "LegoVideoManager::FUN_1007c520", "matching": 1.0, "diff": []}, {"address": "0x1007c560", "recomp": "0x1007def0", "name": "LegoVideoManager::EnableRMDevice", "matching": 1.0, "diff": []}, {"address": "0x1007c740", "recomp": "0x1007e0d0", "name": "LegoVideoManager::DisableRMDevice", "matching": 1.0, "diff": []}, {"address": "0x1007c930", "recomp": "0x1007e2c0", "name": "LegoVideoManager::ConfigureD3DRM", "matching": 1.0, "diff": []}, {"address": "0x1007c990", "recomp": "0x1007e320", "name": "LegoPartPresenter::configureLegoPartPresenter", "matching": 1.0, "diff": []}, {"address": "0x1007c9b0", "recomp": "0x1007e340", "name": "LegoPartPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x1007c9d0", "recomp": "0x1007e360", "name": "LegoPartPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007ca30", "recomp": "0x1007e3c0", "name": "LegoPartPresenter::Read", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007cca5,21 +0x1007e635,21 @@", [{"both": [["0x1007cca5", "push edx", "0x1007e635"], ["0x1007cca6", "mov ecx, eax", "0x1007e636"], ["0x1007cca8", "mov byte ptr [ebp - 4], 0", "0x1007e638"], ["0x1007ccac", "call LegoTexture::Read (FUNCTION)", "0x1007e63c"], ["0x1007ccb1", "test eax, eax", "0x1007e641"], ["0x1007ccb3", "jne 0x6e4", "0x1007e643"], ["0x1007ccb9", "call TextureContainer (FUNCTION)", "0x1007e649"], ["0x1007ccbe", "mov edi, dword ptr [eax + 0xc]", "0x1007e64e"], ["0x1007ccc1", "mov dword ptr [ebp - 0x18], 0", "0x1007e651"], ["0x1007ccc8", "mov ecx, dword ptr [edi + 4]", "0x1007e658"]]}, {"orig": [["0x1007cccb", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1007e65b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x1007ccd1", "je 0x40", "0x1007e661"], ["0x1007ccd3", "mov edx, dword ptr [ecx + 0xc]", "0x1007e663"], ["0x1007ccd6", "mov esi, dword ptr [ebp - 0x10]", "0x1007e666"], ["0x1007ccd9", "mov bl, byte ptr [edx]", "0x1007e669"], ["0x1007ccdb", "cmp bl, byte ptr [esi]", "0x1007e66b"], ["0x1007ccdd", "jne 0x1a", "0x1007e66d"], ["0x1007ccdf", "or bl, bl", "0x1007e66f"], ["0x1007cce1", "je 0x12", "0x1007e671"], ["0x1007cce3", "mov bl, byte ptr [edx + 1]", "0x1007e673"], ["0x1007cce6", "cmp bl, byte ptr [esi + 1]", "0x1007e676"]]}]], ["@@ -0x1007ccf5,21 +0x1007e685,21 @@", [{"both": [["0x1007ccf5", "xor edx, edx", "0x1007e685"], ["0x1007ccf7", "jmp 0x5", "0x1007e687"], ["0x1007ccf9", "sbb edx, edx", "0x1007e689"], ["0x1007ccfb", "sbb edx, -1", "0x1007e68b"], ["0x1007ccfe", "test edx, edx", "0x1007e68e"], ["0x1007cd00", "jg 0x6", "0x1007e690"], ["0x1007cd02", "mov edi, ecx", "0x1007e692"], ["0x1007cd04", "mov ecx, dword ptr [ecx]", "0x1007e694"], ["0x1007cd06", "jmp 0x3", "0x1007e696"], ["0x1007cd08", "mov ecx, dword ptr [ecx + 8]", "0x1007e698"]]}, {"orig": [["0x1007cd0b", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1007e69b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x1007cd11", "jne -0x40", "0x1007e6a1"], ["0x1007cd13", "mov dword ptr [ebp - 0x84], edi", "0x1007e6a3"], ["0x1007cd19", "cmp dword ptr [eax + 0xc], edi", "0x1007e6a9"], ["0x1007cd1c", "je 0x35", "0x1007e6ac"], ["0x1007cd1e", "mov edx, dword ptr [ebp - 0x10]", "0x1007e6ae"], ["0x1007cd21", "mov ecx, dword ptr [edi + 0xc]", "0x1007e6b1"], ["0x1007cd24", "mov bl, byte ptr [edx]", "0x1007e6b4"], ["0x1007cd26", "cmp bl, byte ptr [ecx]", "0x1007e6b6"], ["0x1007cd28", "jne 0x1a", "0x1007e6b8"], ["0x1007cd2a", "or bl, bl", "0x1007e6ba"]]}]], ["@@ -0x1007cd7a,21 +0x1007e70a,21 @@", [{"both": [["0x1007cd7a", "push ecx", "0x1007e70a"], ["0x1007cd7b", "call LegoTextureInfo::Create (FUNCTION)", "0x1007e70b"], ["0x1007cd80", "add esp, 8", "0x1007e710"], ["0x1007cd83", "mov dword ptr [ebp - 0x18], eax", "0x1007e713"], ["0x1007cd86", "test eax, eax", "0x1007e716"], ["0x1007cd88", "je 0x60f", "0x1007e718"], ["0x1007cd8e", "call TextureContainer (FUNCTION)", "0x1007e71e"], ["0x1007cd93", "mov edi, dword ptr [eax + 0xc]", "0x1007e723"], ["0x1007cd96", "mov ebx, eax", "0x1007e726"], ["0x1007cd98", "mov eax, dword ptr [edi + 4]", "0x1007e728"]]}, {"orig": [["0x1007cd9b", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1007e72b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1007cda1", "je 0x40", "0x1007e731"], ["0x1007cda3", "mov ecx, dword ptr [eax + 0xc]", "0x1007e733"], ["0x1007cda6", "mov esi, dword ptr [ebp - 0x10]", "0x1007e736"], ["0x1007cda9", "mov dl, byte ptr [ecx]", "0x1007e739"], ["0x1007cdab", "cmp dl, byte ptr [esi]", "0x1007e73b"], ["0x1007cdad", "jne 0x1a", "0x1007e73d"], ["0x1007cdaf", "or dl, dl", "0x1007e73f"], ["0x1007cdb1", "je 0x12", "0x1007e741"], ["0x1007cdb3", "mov dl, byte ptr [ecx + 1]", "0x1007e743"], ["0x1007cdb6", "cmp dl, byte ptr [esi + 1]", "0x1007e746"]]}]], ["@@ -0x1007cdc5,21 +0x1007e755,21 @@", [{"both": [["0x1007cdc5", "xor ecx, ecx", "0x1007e755"], ["0x1007cdc7", "jmp 0x5", "0x1007e757"], ["0x1007cdc9", "sbb ecx, ecx", "0x1007e759"], ["0x1007cdcb", "sbb ecx, -1", "0x1007e75b"], ["0x1007cdce", "test ecx, ecx", "0x1007e75e"], ["0x1007cdd0", "jg 0x6", "0x1007e760"], ["0x1007cdd2", "mov edi, eax", "0x1007e762"], ["0x1007cdd4", "mov eax, dword ptr [eax]", "0x1007e764"], ["0x1007cdd6", "jmp 0x3", "0x1007e766"], ["0x1007cdd8", "mov eax, dword ptr [eax + 8]", "0x1007e768"]]}, {"orig": [["0x1007cddb", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1007e76b", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1007cde1", "jne -0x40", "0x1007e771"], ["0x1007cde3", "mov dword ptr [ebp - 0x7c], edi", "0x1007e773"], ["0x1007cde6", "cmp dword ptr [ebx + 0xc], edi", "0x1007e776"], ["0x1007cde9", "je 0x32", "0x1007e779"], ["0x1007cdeb", "mov ecx, dword ptr [ebp - 0x10]", "0x1007e77b"], ["0x1007cdee", "mov eax, dword ptr [edi + 0xc]", "0x1007e77e"], ["0x1007cdf1", "mov dl, byte ptr [ecx]", "0x1007e781"], ["0x1007cdf3", "cmp dl, byte ptr [eax]", "0x1007e783"], ["0x1007cdf5", "jne 0x1a", "0x1007e785"], ["0x1007cdf7", "or dl, dl", "0x1007e787"]]}]], ["@@ -0x1007ce13,23 +0x1007e7a3,23 @@", [{"both": [["0x1007ce13", "sbb eax, -1", "0x1007e7a3"], ["0x1007ce16", "test eax, eax", "0x1007e7a6"], ["0x1007ce18", "lea eax, [ebp - 0x7c]", "0x1007e7a8"], ["0x1007ce1b", "jle 0x9", "0x1007e7ab"], ["0x1007ce1d", "mov eax, dword ptr [ebx + 0xc]", "0x1007e7ad"], ["0x1007ce20", "mov dword ptr [ebp - 0x78], eax", "0x1007e7b0"], ["0x1007ce23", "lea eax, [ebp - 0x78]", "0x1007e7b3"], ["0x1007ce26", "mov eax, dword ptr [eax]", "0x1007e7b6"], ["0x1007ce28", "cmp dword ptr [ebx + 0xc], eax", "0x1007e7b8"], ["0x1007ce2b", "je 0x25", "0x1007e7bb"]]}, {"orig": [], "recomp": [["0x1007e7bd", "cmp byte ptr [ebx + 4], 0"]]}, {"both": [["0x1007ce2d", "mov ecx, dword ptr [eax + 0xc]", "0x1007e7c1"], ["0x1007ce30", "mov dword ptr [ebp - 0x24], ecx", "0x1007e7c4"]]}, {"orig": [["0x1007ce33", "cmp byte ptr [ebx + 4], 0"]], "recomp": []}, {"both": [["0x1007ce37", "je 0x56", "0x1007e7c7"], ["0x1007ce39", "mov esi, dword ptr [eax + 0x10]", "0x1007e7c9"], ["0x1007ce3c", "test esi, esi", "0x1007e7cc"], ["0x1007ce3e", "je 0x4f", "0x1007e7ce"], ["0x1007ce40", "mov ecx, esi", "0x1007e7d0"], ["0x1007ce42", "call LegoTextureInfo::~LegoTextureInfo (FUNCTION)", "0x1007e7d2"], ["0x1007ce47", "push esi", "0x1007e7d7"], ["0x1007ce48", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007e7d8"], ["0x1007ce4d", "add esp, 4", "0x1007e7dd"], ["0x1007ce50", "jmp 0x3d", "0x1007e7e0"]]}]], ["@@ -0x1007ce86,21 +0x1007e816,21 @@", [{"both": [["0x1007ce86", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1007e816"], ["0x1007ce88", "mov ecx, eax", "0x1007e818"], ["0x1007ce8a", "and ecx, 3", "0x1007e81a"], ["0x1007ce8d", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x1007e81d"], ["0x1007ce8f", "mov ecx, dword ptr [ebp - 0x24]", "0x1007e81f"], ["0x1007ce92", "mov eax, 1", "0x1007e822"], ["0x1007ce97", "mov dword ptr [ebp - 0x58], 0", "0x1007e827"], ["0x1007ce9e", "mov dword ptr [ebp - 0x5c], ecx", "0x1007e82e"], ["0x1007cea1", "mov edi, dword ptr [ebx + 0xc]", "0x1007e831"], ["0x1007cea4", "mov esi, dword ptr [edi + 4]", "0x1007e834"]]}, {"orig": [["0x1007cea7", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], esi"]], "recomp": [["0x1007e837", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x1007cead", "je 0x49", "0x1007e83d"], ["0x1007ceaf", "mov edi, esi", "0x1007e83f"], ["0x1007ceb1", "mov eax, dword ptr [ebp - 0x5c]", "0x1007e841"], ["0x1007ceb4", "mov edx, dword ptr [esi + 0xc]", "0x1007e844"], ["0x1007ceb7", "mov cl, byte ptr [eax]", "0x1007e847"], ["0x1007ceb9", "cmp cl, byte ptr [edx]", "0x1007e849"], ["0x1007cebb", "jne 0x1a", "0x1007e84b"], ["0x1007cebd", "or cl, cl", "0x1007e84d"], ["0x1007cebf", "je 0x12", "0x1007e84f"], ["0x1007cec1", "mov cl, byte ptr [eax + 1]", "0x1007e851"]]}]], ["@@ -0x1007ced9,21 +0x1007e869,21 @@", [{"both": [["0x1007ced9", "sbb eax, -1", "0x1007e869"], ["0x1007cedc", "test eax, eax", "0x1007e86c"], ["0x1007cede", "setg cl", "0x1007e86e"], ["0x1007cee1", "xor eax, eax", "0x1007e871"], ["0x1007cee3", "mov al, cl", "0x1007e873"], ["0x1007cee5", "test eax, eax", "0x1007e875"], ["0x1007cee7", "jne 0x5", "0x1007e877"], ["0x1007cee9", "mov esi, dword ptr [esi + 8]", "0x1007e879"], ["0x1007ceec", "jmp 0x2", "0x1007e87c"], ["0x1007ceee", "mov esi, dword ptr [esi]", "0x1007e87e"]]}, {"orig": [["0x1007cef0", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], esi"]], "recomp": [["0x1007e880", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x1007cef6", "jne -0x49", "0x1007e886"], ["0x1007cef8", "cmp dword ptr [ebx + 0x10], 0", "0x1007e888"], ["0x1007cefc", "je 0x1f", "0x1007e88c"], ["0x1007cefe", "lea eax, [ebp - 0x5c]", "0x1007e88e"], ["0x1007cf01", "lea ecx, [ebp - 0x94]", "0x1007e891"], ["0x1007cf07", "push eax", "0x1007e897"], ["0x1007cf08", "push edi", "0x1007e898"], ["0x1007cf09", "push esi", "0x1007e899"], ["0x1007cf0a", "push ecx", "0x1007e89a"], ["0x1007cf0b", "lea ecx, [ebx + 8]", "0x1007e89b"]]}]], ["@@ -0x1007d146,22 +0x1007ead6,22 @@", [{"both": [["0x1007d146", "test eax, eax", "0x1007ead6"], ["0x1007d148", "jne 0x24f", "0x1007ead8"], ["0x1007d14e", "push 4", "0x1007eade"], ["0x1007d150", "lea eax, [ebp - 0x74]", "0x1007eae0"], ["0x1007d153", "push eax", "0x1007eae3"], ["0x1007d154", "lea ecx, [ebp - 0x3c]", "0x1007eae4"], ["0x1007d157", "call LegoMemory::Read (FUNCTION)", "0x1007eae7"], ["0x1007d15c", "test eax, eax", "0x1007eaec"], ["0x1007d15e", "jne 0x239", "0x1007eaee"], ["0x1007d164", "mov eax, dword ptr [g_partPresenterConfig2 (DATA)]", "0x1007eaf4"]]}, {"orig": [["0x1007d169", "cmp dword ptr [ebp - 0x28], eax"], ["0x1007d16c", "jbe 0xd"]], "recomp": [["0x1007eaf9", "cmp eax, dword ptr [ebp - 0x28]"], ["0x1007eafc", "jae 0xd"]]}, {"both": [["0x1007d16e", "mov ecx, dword ptr [ebp - 0x28]", "0x1007eafe"], ["0x1007d171", "sub ecx, eax", "0x1007eb01"], ["0x1007d173", "mov dword ptr [ebp - 0x28], eax", "0x1007eb03"], ["0x1007d176", "mov dword ptr [ebp - 0x1c], ecx", "0x1007eb06"], ["0x1007d179", "jmp 0x7", "0x1007eb09"], ["0x1007d17b", "mov dword ptr [ebp - 0x1c], 0", "0x1007eb0b"], ["0x1007d182", "push 0x18", "0x1007eb12"], ["0x1007d184", "call ??2@YAPAXI@Z (FUNCTION)", "0x1007eb14"], ["0x1007d189", "mov dword ptr [ebp - 0x24], eax", "0x1007eb19"], ["0x1007d18c", "add esp, 4", "0x1007eb1c"]]}]], ["@@ -0x1007d2b4,22 +0x1007ec44,22 @@", [{"both": [["0x1007d2b4", "mov byte ptr [ebp - 4], 0", "0x1007ec44"], ["0x1007d2b8", "test ebx, ebx", "0x1007ec48"], ["0x1007d2ba", "je 0x5", "0x1007ec4a"], ["0x1007d2bc", "mov dword ptr [ebx + 8], eax", "0x1007ec4c"], ["0x1007d2bf", "jmp 0x3", "0x1007ec4f"], ["0x1007d2c1", "mov dword ptr [esi + 0x10], eax", "0x1007ec51"], ["0x1007d2c4", "mov dword ptr [esi + 0x14], eax", "0x1007ec54"], ["0x1007d2c7", "inc dword ptr [ebp - 0x14]", "0x1007ec57"], ["0x1007d2ca", "mov eax, dword ptr [ebp - 0x14]", "0x1007ec5a"], ["0x1007d2cd", "inc dword ptr [esi + 8]", "0x1007ec5d"]]}, {"orig": [["0x1007d2d0", "cmp dword ptr [ebp - 0x28], eax"], ["0x1007d2d3", "ja -0xcc"]], "recomp": [["0x1007ec60", "cmp eax, dword ptr [ebp - 0x28]"], ["0x1007ec63", "jb -0xcc"]]}, {"both": [["0x1007d2d9", "mov eax, dword ptr [ebp - 0x74]", "0x1007ec69"], ["0x1007d2dc", "push 0x14", "0x1007ec6c"], ["0x1007d2de", "mov dword ptr [ebp - 0x30], eax", "0x1007ec6e"], ["0x1007d2e1", "call ??2@YAPAXI@Z (FUNCTION)", "0x1007ec71"], ["0x1007d2e6", "add esp, 4", "0x1007ec76"], ["0x1007d2e9", "mov dword ptr [ebp - 0x10], eax", "0x1007ec79"], ["0x1007d2ec", "mov byte ptr [ebp - 4], 0x12", "0x1007ec7c"], ["0x1007d2f0", "test eax, eax", "0x1007ec80"], ["0x1007d2f2", "je 0x29", "0x1007ec82"], ["0x1007d2f4", "mov ecx, eax", "0x1007ec84"]]}]]]}, {"address": "0x1007d480", "recomp": "0x1007ee10", "name": "MxCollection<LegoLOD *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1007d490", "recomp": "0x1007ee20", "name": "MxCollection<LegoLOD *>::~MxCollection<LegoLOD *>", "matching": 1.0, "diff": []}, {"address": "0x1007d4e0", "recomp": "0x1007ee70", "name": "MxCollection<LegoLOD *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007d4f0", "recomp": "0x1007ee80", "name": "MxList<LegoLOD *>::~MxList<LegoLOD *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007d4f9,33 +0x1007ee89,33 @@", [{"both": [["0x1007d4f9", "push -1", "0x1007ee89"], ["0x1007d4fb", "push <OFFSET1>", "0x1007ee8b"], ["0x1007d500", "push eax", "0x1007ee90"], ["0x1007d501", "mov dword ptr fs:[0], esp", "0x1007ee91"], ["0x1007d508", "mov dword ptr [ecx], MxList<LegoLOD *>::`vftable' (VTABLE)", "0x1007ee98"], ["0x1007d50e", "sub esp, 4", "0x1007ee9e"], ["0x1007d511", "mov dword ptr [ebp - 0x10], ecx", "0x1007eea1"], ["0x1007d514", "mov dword ptr [ebp - 4], 0", "0x1007eea4"], ["0x1007d51b", "push esi", "0x1007eeab"], ["0x1007d51c", "push edi", "0x1007eeac"]]}, {"orig": [["0x1007d51d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1007d520", "test esi, esi"]], "recomp": [["0x1007eead", "mov edi, dword ptr [ecx + 0x10]"], ["0x1007eeb0", "test edi, edi"]]}, {"both": [["0x1007d522", "je 0x1c", "0x1007eeb2"]]}, {"orig": [["0x1007d524", "mov edi, dword ptr [esi + 8]"], ["0x1007d527", "mov eax, dword ptr [esi]"]], "recomp": [["0x1007eeb4", "mov esi, dword ptr [edi + 8]"], ["0x1007eeb7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1007d529", "push eax", "0x1007eeb9"], ["0x1007d52a", "mov ecx, dword ptr [ebp - 0x10]", "0x1007eeba"], ["0x1007d52d", "call dword ptr [ecx + 0xc]", "0x1007eebd"], ["0x1007d530", "add esp, 4", "0x1007eec0"]]}, {"orig": [["0x1007d533", "push esi"]], "recomp": [["0x1007eec3", "push edi"]]}, {"both": [["0x1007d534", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007eec4"], ["0x1007d539", "add esp, 4", "0x1007eec9"]]}, {"orig": [["0x1007d53c", "mov esi, edi"]], "recomp": [["0x1007eecc", "mov edi, esi"]]}, {"both": [["0x1007d53e", "jmp -0x20", "0x1007eece"], ["0x1007d540", "xor eax, eax", "0x1007eed0"], ["0x1007d542", "mov ecx, dword ptr [ebp - 0x10]", "0x1007eed2"], ["0x1007d545", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007eed5"], ["0x1007d54c", "mov dword ptr [ecx + 8], eax", "0x1007eedc"], ["0x1007d54f", "mov dword ptr [ecx + 0x14], eax", "0x1007eedf"], ["0x1007d552", "mov dword ptr [ecx + 0x10], eax", "0x1007eee2"], ["0x1007d555", "call <OFFSET4>", "0x1007eee5"], ["0x1007d55a", "mov eax, dword ptr [ebp - 0xc]", "0x1007eeea"], ["0x1007d55d", "pop edi", "0x1007eeed"]]}]]]}, {"address": "0x1007d580", "recomp": "0x1007efd0", "name": "MxCollection<LegoLOD *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007d5f0", "recomp": "0x1007f040", "name": "MxList<LegoLOD *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007d5f9,33 +0x1007f049,33 @@", [{"both": [["0x1007d5f9", "push -1", "0x1007f049"], ["0x1007d5fb", "push <OFFSET1>", "0x1007f04b"], ["0x1007d600", "push eax", "0x1007f050"], ["0x1007d601", "mov dword ptr fs:[0], esp", "0x1007f051"], ["0x1007d608", "mov dword ptr [ecx], MxList<LegoLOD *>::`vftable' (VTABLE)", "0x1007f058"], ["0x1007d60e", "sub esp, 4", "0x1007f05e"], ["0x1007d611", "mov dword ptr [ebp - 0x10], ecx", "0x1007f061"], ["0x1007d614", "mov dword ptr [ebp - 4], 0", "0x1007f064"], ["0x1007d61b", "push esi", "0x1007f06b"], ["0x1007d61c", "push edi", "0x1007f06c"]]}, {"orig": [["0x1007d61d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1007d620", "test esi, esi"]], "recomp": [["0x1007f06d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1007f070", "test edi, edi"]]}, {"both": [["0x1007d622", "je 0x1c", "0x1007f072"]]}, {"orig": [["0x1007d624", "mov edi, dword ptr [esi + 8]"], ["0x1007d627", "mov eax, dword ptr [esi]"]], "recomp": [["0x1007f074", "mov esi, dword ptr [edi + 8]"], ["0x1007f077", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1007d629", "push eax", "0x1007f079"], ["0x1007d62a", "mov ecx, dword ptr [ebp - 0x10]", "0x1007f07a"], ["0x1007d62d", "call dword ptr [ecx + 0xc]", "0x1007f07d"], ["0x1007d630", "add esp, 4", "0x1007f080"]]}, {"orig": [["0x1007d633", "push esi"]], "recomp": [["0x1007f083", "push edi"]]}, {"both": [["0x1007d634", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007f084"], ["0x1007d639", "add esp, 4", "0x1007f089"]]}, {"orig": [["0x1007d63c", "mov esi, edi"]], "recomp": [["0x1007f08c", "mov edi, esi"]]}, {"both": [["0x1007d63e", "jmp -0x20", "0x1007f08e"], ["0x1007d640", "xor eax, eax", "0x1007f090"], ["0x1007d642", "mov ecx, dword ptr [ebp - 0x10]", "0x1007f092"], ["0x1007d645", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007f095"], ["0x1007d64c", "mov dword ptr [ecx + 8], eax", "0x1007f09c"], ["0x1007d64f", "mov dword ptr [ecx + 0x14], eax", "0x1007f09f"], ["0x1007d652", "mov dword ptr [ecx + 0x10], eax", "0x1007f0a2"], ["0x1007d655", "call <OFFSET4>", "0x1007f0a5"], ["0x1007d65a", "test byte ptr [ebp + 8], 1", "0x1007f0aa"], ["0x1007d65e", "je 0xc", "0x1007f0ae"]]}]]]}, {"address": "0x1007d6a0", "recomp": "0x1007f0f0", "name": "MxPtrList<LegoLOD>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007d710", "recomp": "0x1007ef80", "name": "MxPtrList<LegoLOD>::~MxPtrList<LegoLOD>", "matching": 1.0, "diff": []}, {"address": "0x1007d760", "recomp": "0x1007f160", "name": "MxCollection<LegoNamedPart *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x1007d770", "recomp": "0x1007f170", "name": "MxCollection<LegoNamedPart *>::~MxCollection<LegoNamedPart *>", "matching": 1.0, "diff": []}, {"address": "0x1007d7c0", "recomp": "0x1007f1c0", "name": "MxCollection<LegoNamedPart *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007d7d0", "recomp": "0x1007f1d0", "name": "MxList<LegoNamedPart *>::~MxList<LegoNamedPart *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007d7d9,33 +0x1007f1d9,33 @@", [{"both": [["0x1007d7d9", "push -1", "0x1007f1d9"], ["0x1007d7db", "push <OFFSET1>", "0x1007f1db"], ["0x1007d7e0", "push eax", "0x1007f1e0"], ["0x1007d7e1", "mov dword ptr fs:[0], esp", "0x1007f1e1"], ["0x1007d7e8", "mov dword ptr [ecx], MxList<LegoNamedPart *>::`vftable' (VTABLE)", "0x1007f1e8"], ["0x1007d7ee", "sub esp, 4", "0x1007f1ee"], ["0x1007d7f1", "mov dword ptr [ebp - 0x10], ecx", "0x1007f1f1"], ["0x1007d7f4", "mov dword ptr [ebp - 4], 0", "0x1007f1f4"], ["0x1007d7fb", "push esi", "0x1007f1fb"], ["0x1007d7fc", "push edi", "0x1007f1fc"]]}, {"orig": [["0x1007d7fd", "mov esi, dword ptr [ecx + 0x10]"], ["0x1007d800", "test esi, esi"]], "recomp": [["0x1007f1fd", "mov edi, dword ptr [ecx + 0x10]"], ["0x1007f200", "test edi, edi"]]}, {"both": [["0x1007d802", "je 0x1c", "0x1007f202"]]}, {"orig": [["0x1007d804", "mov edi, dword ptr [esi + 8]"], ["0x1007d807", "mov eax, dword ptr [esi]"]], "recomp": [["0x1007f204", "mov esi, dword ptr [edi + 8]"], ["0x1007f207", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1007d809", "push eax", "0x1007f209"], ["0x1007d80a", "mov ecx, dword ptr [ebp - 0x10]", "0x1007f20a"], ["0x1007d80d", "call dword ptr [ecx + 0xc]", "0x1007f20d"], ["0x1007d810", "add esp, 4", "0x1007f210"]]}, {"orig": [["0x1007d813", "push esi"]], "recomp": [["0x1007f213", "push edi"]]}, {"both": [["0x1007d814", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007f214"], ["0x1007d819", "add esp, 4", "0x1007f219"]]}, {"orig": [["0x1007d81c", "mov esi, edi"]], "recomp": [["0x1007f21c", "mov edi, esi"]]}, {"both": [["0x1007d81e", "jmp -0x20", "0x1007f21e"], ["0x1007d820", "xor eax, eax", "0x1007f220"], ["0x1007d822", "mov ecx, dword ptr [ebp - 0x10]", "0x1007f222"], ["0x1007d825", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007f225"], ["0x1007d82c", "mov dword ptr [ecx + 8], eax", "0x1007f22c"], ["0x1007d82f", "mov dword ptr [ecx + 0x14], eax", "0x1007f22f"], ["0x1007d832", "mov dword ptr [ecx + 0x10], eax", "0x1007f232"], ["0x1007d835", "call <OFFSET4>", "0x1007f235"], ["0x1007d83a", "mov eax, dword ptr [ebp - 0xc]", "0x1007f23a"], ["0x1007d83d", "pop edi", "0x1007f23d"]]}]]]}, {"address": "0x1007d860", "recomp": "0x1007f260", "name": "MxPtrList<LegoNamedPart>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007d9b0", "recomp": "0x1007f3b0", "name": "LegoLODListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007da20", "recomp": "0x1007f420", "name": "MxPtrListCursor<LegoLOD>::~MxPtrListCursor<LegoLOD>", "matching": 1.0, "diff": []}, {"address": "0x1007da70", "recomp": "0x1007f470", "name": "MxListCursor<LegoLOD *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007dae0", "recomp": "0x1007f4e0", "name": "MxPtrListCursor<LegoLOD>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007db50", "recomp": "0x1007f550", "name": "MxListCursor<LegoLOD *>::~MxListCursor<LegoLOD *>", "matching": 1.0, "diff": []}, {"address": "0x1007dba0", "recomp": "0x1007f5a0", "name": "LegoLODListCursor::~LegoLODListCursor", "matching": 1.0, "diff": []}, {"address": "0x1007dbf0", "recomp": "0x1007f5f0", "name": "LegoNamedPartList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007dc60", "recomp": "0x1007f660", "name": "MxPtrList<LegoNamedPart>::~MxPtrList<LegoNamedPart>", "matching": 1.0, "diff": []}, {"address": "0x1007dcb0", "recomp": "0x1007f6b0", "name": "MxCollection<LegoNamedPart *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007dd20", "recomp": "0x1007f720", "name": "MxList<LegoNamedPart *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007dd29,33 +0x1007f729,33 @@", [{"both": [["0x1007dd29", "push -1", "0x1007f729"], ["0x1007dd2b", "push <OFFSET1>", "0x1007f72b"], ["0x1007dd30", "push eax", "0x1007f730"], ["0x1007dd31", "mov dword ptr fs:[0], esp", "0x1007f731"], ["0x1007dd38", "mov dword ptr [ecx], MxList<LegoNamedPart *>::`vftable' (VTABLE)", "0x1007f738"], ["0x1007dd3e", "sub esp, 4", "0x1007f73e"], ["0x1007dd41", "mov dword ptr [ebp - 0x10], ecx", "0x1007f741"], ["0x1007dd44", "mov dword ptr [ebp - 4], 0", "0x1007f744"], ["0x1007dd4b", "push esi", "0x1007f74b"], ["0x1007dd4c", "push edi", "0x1007f74c"]]}, {"orig": [["0x1007dd4d", "mov esi, dword ptr [ecx + 0x10]"], ["0x1007dd50", "test esi, esi"]], "recomp": [["0x1007f74d", "mov edi, dword ptr [ecx + 0x10]"], ["0x1007f750", "test edi, edi"]]}, {"both": [["0x1007dd52", "je 0x1c", "0x1007f752"]]}, {"orig": [["0x1007dd54", "mov edi, dword ptr [esi + 8]"], ["0x1007dd57", "mov eax, dword ptr [esi]"]], "recomp": [["0x1007f754", "mov esi, dword ptr [edi + 8]"], ["0x1007f757", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1007dd59", "push eax", "0x1007f759"], ["0x1007dd5a", "mov ecx, dword ptr [ebp - 0x10]", "0x1007f75a"], ["0x1007dd5d", "call dword ptr [ecx + 0xc]", "0x1007f75d"], ["0x1007dd60", "add esp, 4", "0x1007f760"]]}, {"orig": [["0x1007dd63", "push esi"]], "recomp": [["0x1007f763", "push edi"]]}, {"both": [["0x1007dd64", "call ??3@YAXPAX@Z (FUNCTION)", "0x1007f764"], ["0x1007dd69", "add esp, 4", "0x1007f769"]]}, {"orig": [["0x1007dd6c", "mov esi, edi"]], "recomp": [["0x1007f76c", "mov edi, esi"]]}, {"both": [["0x1007dd6e", "jmp -0x20", "0x1007f76e"], ["0x1007dd70", "xor eax, eax", "0x1007f770"], ["0x1007dd72", "mov ecx, dword ptr [ebp - 0x10]", "0x1007f772"], ["0x1007dd75", "mov dword ptr [ebp - 4], 0xffffffff", "0x1007f775"], ["0x1007dd7c", "mov dword ptr [ecx + 8], eax", "0x1007f77c"], ["0x1007dd7f", "mov dword ptr [ecx + 0x14], eax", "0x1007f77f"], ["0x1007dd82", "mov dword ptr [ecx + 0x10], eax", "0x1007f782"], ["0x1007dd85", "call <OFFSET4>", "0x1007f785"], ["0x1007dd8a", "test byte ptr [ebp + 8], 1", "0x1007f78a"], ["0x1007dd8e", "je 0xc", "0x1007f78e"]]}]]]}, {"address": "0x1007ddd0", "recomp": "0x1007f7d0", "name": "MxPtrList<LegoNamedPart>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007de40", "recomp": "0x1007ef10", "name": "LegoLODList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007deb0", "recomp": "0x1007f840", "name": "LegoPartPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x1007df20", "recomp": "0x1007f8b0", "name": "LegoPartPresenter::Store", "matching": 1.0, "diff": []}, {"address": "0x1007e170", "recomp": "0x1007fb00", "name": "LegoNamedPartListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007e1e0", "recomp": "0x1007fb70", "name": "MxPtrListCursor<LegoNamedPart>::~MxPtrListCursor<LegoNamedPart>", "matching": 1.0, "diff": []}, {"address": "0x1007e230", "recomp": "0x1007fbc0", "name": "MxListCursor<LegoNamedPart *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007e2a0", "recomp": "0x1007fc30", "name": "MxPtrListCursor<LegoNamedPart>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007e310", "recomp": "0x1007fca0", "name": "MxListCursor<LegoNamedPart *>::~MxListCursor<LegoNamedPart *>", "matching": 1.0, "diff": []}, {"address": "0x1007e360", "recomp": "0x1007fcf0", "name": "LegoNamedPartListCursor::~LegoNamedPartListCursor", "matching": 1.0, "diff": []}, {"address": "0x1007e3b0", "recomp": "0x1007fd40", "name": "Jetski::Jetski", "matching": 1.0, "diff": []}, {"address": "0x1007e430", "recomp": "0x1007fdc0", "name": "Jetski::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1007e440", "recomp": "0x1007fdd0", "name": "Jetski::IsA", "matching": 1.0, "diff": []}, {"address": "0x1007e5c0", "recomp": "0x1007ff50", "name": "Jetski::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007e630", "recomp": "0x1007ffc0", "name": "Jetski::Create", "matching": 1.0, "diff": []}, {"address": "0x1007e680", "recomp": "0x10080010", "name": "Jetski::Animate", "matching": 1.0, "diff": []}, {"address": "0x1007e6f0", "recomp": "0x10080080", "name": "Jetski::Exit", "matching": 1.0, "diff": []}, {"address": "0x1007e750", "recomp": "0x100800e0", "name": "Jetski::HandleClick", "matching": 0.9204545454545454, "diff": [["@@ -0x1007e7c1,28 +0x10080151,26 @@", [{"both": [["0x1007e7c1", "mov eax, dword ptr [g_varJSWNSHY5 (DATA)]", "0x10080151"], ["0x1007e7c6", "push eax", "0x10080156"], ["0x1007e7c7", "call DuneBuggy::GetColorOffset (FUNCTION)", "0x10080157"], ["0x1007e7cc", "add ax, 3", "0x1008015c"], ["0x1007e7d0", "add esp, 4", "0x10080160"], ["0x1007e7d3", "imul ax, ax, 0xa", "0x10080163"], ["0x1007e7d7", "mov word ptr [esi + 0x160], ax", "0x10080167"], ["0x1007e7de", "mov ecx, dword ptr [g_varJSFRNTY5 (DATA)]", "0x1008016e"], ["0x1007e7e4", "push ecx", "0x10080174"], ["0x1007e7e5", "call DuneBuggy::GetColorOffset (FUNCTION)", "0x10080175"]]}, {"orig": [["0x1007e7ea", "mov cx, word ptr [esi + 0x160]"]], "recomp": [["0x1008017a", "add word ptr [esi + 0x160], ax"]]}, {"both": [["0x1007e7f1", "add esp, 4", "0x10080181"]]}, {"orig": [["0x1007e7f4", "add cx, ax"]], "recomp": [["0x10080184", "movsx ecx, word ptr [esi + 0x160]"]]}, {"both": [["0x1007e7f7", "push 0", "0x1008018b"]]}, {"orig": [["0x1007e7f9", "movsx eax, cx"], ["0x1007e7fc", "mov word ptr [esi + 0x160], cx"], ["0x1007e803", "push eax"]], "recomp": []}, {"both": [["0x1007e804", "mov edx, dword ptr [g_isleScript (DATA)]", "0x1008018d"]]}, {"orig": [], "recomp": [["0x10080193", "push ecx"]]}, {"both": [["0x1007e80a", "push edx", "0x10080194"], ["0x1007e80b", "push 4", "0x10080195"], ["0x1007e80d", "call InvokeAction (FUNCTION)", "0x10080197"], ["0x1007e812", "add esp, 0x10", "0x1008019c"], ["0x1007e815", "mov ecx, dword ptr [g_isleScript (DATA)]", "0x1008019f"], ["0x1007e81b", "push 0", "0x100801a5"], ["0x1007e81d", "push 0x61", "0x100801a7"], ["0x1007e81f", "push ecx", "0x100801a9"], ["0x1007e820", "push 4", "0x100801aa"], ["0x1007e822", "call InvokeAction (FUNCTION)", "0x100801ac"]]}]], ["@@ -0x1007e846,10 +0x100801d0,16 @@", [{"both": [["0x1007e846", "call AnimationManager (FUNCTION)", "0x100801d0"], ["0x1007e84b", "mov ecx, eax", "0x100801d5"], ["0x1007e84d", "call LegoAnimationManager::FUN_10064670 (FUNCTION)", "0x100801d7"], ["0x1007e852", "mov ebx, dword ptr [esi]", "0x100801dc"], ["0x1007e854", "mov ecx, esi", "0x100801de"], ["0x1007e856", "call dword ptr [ebx + 0xe0]", "0x100801e0"], ["0x1007e85c", "push esi", "0x100801e6"], ["0x1007e85d", "call ControlManager (FUNCTION)", "0x100801e7"], ["0x1007e862", "mov ecx, eax", "0x100801ec"], ["0x1007e864", "call LegoControlManager::Register (FUNCTION)", "0x100801ee"]]}, {"orig": [], "recomp": [["0x100801f3", "mov eax, 1"], ["0x100801f8", "pop ebp"], ["0x100801f9", "pop edi"], ["0x100801fa", "pop esi"], ["0x100801fb", "pop ebx"], ["0x100801fc", "ret "]]}]]]}, {"address": "0x1007e880", "recomp": "0x10080200", "name": "Jetski::RemoveFromWorld", "matching": 1.0, "diff": []}, {"address": "0x1007e8e0", "recomp": "0x10080260", "name": "Jetski::HandleControl", "matching": 1.0, "diff": []}, {"address": "0x1007e990", "recomp": "0x10080310", "name": "Jetski::ActivateSceneActions", "matching": 1.0, "diff": []}, {"address": "0x1007ea90", "recomp": "0x10080410", "name": "MxBackgroundAudioManager::MxBackgroundAudioManager", "matching": 1.0, "diff": []}, {"address": "0x1007eb70", "recomp": "0x100804f0", "name": "MxBackgroundAudioManager::ClassName", "matching": 1.0, "diff": []}, {"address": "0x1007eb80", "recomp": "0x10080500", "name": "MxBackgroundAudioManager::IsA", "matching": 1.0, "diff": []}, {"address": "0x1007ec00", "recomp": "0x10080580", "name": "MxBackgroundAudioManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1007ec20", "recomp": "0x100805a0", "name": "MxBackgroundAudioManager::~MxBackgroundAudioManager", "matching": 1.0, "diff": []}, {"address": "0x1007ece0", "recomp": "0x10080660", "name": "MxBackgroundAudioManager::Create", "matching": 1.0, "diff": []}, {"address": "0x1007ed20", "recomp": "0x100806a0", "name": "MxBackgroundAudioManager::OpenMusic", "matching": 1.0, "effective": true, "diff": [["@@ -0x1007ed20,26 +0x100806a0,26 @@", [{"both": [["0x1007ed20", "push ebx", "0x100806a0"], ["0x1007ed21", "push esi", "0x100806a1"], ["0x1007ed22", "push edi", "0x100806a2"]]}, {"orig": [["0x1007ed23", "lea edi, [ecx + 0x14c]"], ["0x1007ed29", "cmp dword ptr [edi], 0"]], "recomp": [["0x100806a3", "lea ebx, [ecx + 0x14c]"], ["0x100806a9", "cmp dword ptr [ebx], 0"]]}, {"both": [["0x1007ed2c", "je 0x5", "0x100806ac"], ["0x1007ed2e", "call MxBackgroundAudioManager::DestroyMusic (FUNCTION)", "0x100806ae"], ["0x1007ed33", "mov esi, dword ptr [esp + 0x10]", "0x100806b3"]]}, {"orig": [["0x1007ed37", "mov ebx, 0xffffffff"]], "recomp": [["0x100806b7", "mov edi, 0xffffffff"]]}, {"both": [["0x1007ed3c", "push 0", "0x100806bc"], ["0x1007ed3e", "mov eax, dword ptr [esi]", "0x100806be"], ["0x1007ed40", "push eax", "0x100806c0"], ["0x1007ed41", "call Streamer (FUNCTION)", "0x100806c1"], ["0x1007ed46", "mov ecx, eax", "0x100806c6"], ["0x1007ed48", "call MxStreamer::Open (FUNCTION)", "0x100806c8"], ["0x1007ed4d", "test eax, eax", "0x100806cd"], ["0x1007ed4f", "je 0xa", "0x100806cf"], ["0x1007ed51", "push esi", "0x100806d1"]]}, {"orig": [["0x1007ed52", "mov ecx, edi"], ["0x1007ed54", "xor ebx, ebx"]], "recomp": [["0x100806d2", "mov ecx, ebx"], ["0x100806d4", "xor edi, edi"]]}, {"both": [["0x1007ed56", "call MxAtomId::operator= (FUNCTION)", "0x100806d6"]]}, {"orig": [["0x1007ed5b", "mov eax, ebx"]], "recomp": [["0x100806db", "mov eax, edi"]]}, {"both": [["0x1007ed5d", "pop edi", "0x100806dd"], ["0x1007ed5e", "pop esi", "0x100806de"], ["0x1007ed5f", "pop ebx", "0x100806df"], ["0x1007ed60", "ret 4", "0x100806e0"]]}]]]}, {"address": "0x1007ed70", "recomp": "0x100806f0", "name": "MxBackgroundAudioManager::DestroyMusic", "matching": 1.0, "diff": []}, {"address": "0x1007ee40", "recomp": "0x100807c0", "name": "MxBackgroundAudioManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x1007ee70", "recomp": "0x100807f0", "name": "MxBackgroundAudioManager::FUN_1007ee70", "matching": 1.0, "diff": []}, {"address": "0x1007ef40", "recomp": "0x100808c0", "name": "MxBackgroundAudioManager::FUN_1007ef40", "matching": 1.0, "diff": []}, {"address": "0x1007f0e0", "recomp": "0x10080a60", "name": "MxBackgroundAudioManager::FadeInOrFadeOut", "matching": 0.5393258426966292, "diff": [["@@ -0x1007f0e0,44 +0x10080a60,45 @@", [{"both": [["0x1007f0e0", "push esi", "0x10080a60"], ["0x1007f0e1", "mov esi, ecx", "0x10080a61"], ["0x1007f0e3", "mov ecx, dword ptr [ecx + 0xa0]", "0x10080a63"], ["0x1007f0e9", "test ecx, ecx", "0x10080a69"]]}, {"orig": [["0x1007f0eb", "je 0x68"]], "recomp": [["0x10080a6b", "je 0x6e"]]}, {"both": [["0x1007f0ed", "mov eax, dword ptr [ecx]", "0x10080a6d"], ["0x1007f0ef", "call dword ptr [eax + 0x5c]", "0x10080a6f"], ["0x1007f0f2", "cmp word ptr [esi + 0x148], 0", "0x10080a72"]]}, {"orig": [["0x1007f0fa", "mov edx, 0x1e"]], "recomp": [["0x10080a7a", "mov ecx, 0x1e"]]}, {"both": [["0x1007f0ff", "jne 0x6", "0x10080a7f"]]}, {"orig": [["0x1007f101", "mov edx, dword ptr [esi + 0x144]"], ["0x1007f107", "cmp edx, eax"]], "recomp": [["0x10080a81", "mov ecx, dword ptr [esi + 0x144]"], ["0x10080a87", "cmp ecx, eax"]]}, {"both": [["0x1007f109", "jle 0x1c", "0x10080a89"]]}, {"orig": [], "recomp": [["0x10080a8b", "mov edx, dword ptr [esi + 0x140]"], ["0x10080a91", "add edx, eax"], ["0x10080a93", "cmp edx, ecx"], ["0x10080a95", "jl 0x2"], ["0x10080a97", "mov edx, ecx"]]}, {"both": [["0x1007f10b", "mov ecx, dword ptr [esi + 0xa0]", "0x10080a99"]]}, {"orig": [["0x1007f111", "mov esi, dword ptr [esi + 0x140]"], ["0x1007f117", "add esi, eax"], ["0x1007f119", "cmp esi, edx"], ["0x1007f11b", "jl 0x2"], ["0x1007f11d", "mov esi, edx"], ["0x1007f11f", "push esi"]], "recomp": [["0x10080a9f", "push edx"], ["0x10080aa0", "mov eax, dword ptr [ecx]"], ["0x10080aa2", "call dword ptr [eax + 0x60]"], ["0x10080aa5", "pop esi"], ["0x10080aa6", "ret "], ["0x10080aa7", "jge 0x1a"], ["0x10080aa9", "sub eax, dword ptr [esi + 0x140]"], ["0x10080aaf", "cmp eax, ecx"], ["0x10080ab1", "jg 0x2"], ["0x10080ab3", "mov eax, ecx"], ["0x10080ab5", "mov ecx, dword ptr [esi + 0xa0]"], ["0x10080abb", "push eax"]]}, {"both": [["0x1007f120", "mov eax, dword ptr [ecx]", "0x10080abc"], ["0x1007f122", "call dword ptr [eax + 0x60]", "0x10080abe"], ["0x1007f125", "pop esi", "0x10080ac1"], ["0x1007f126", "ret ", "0x10080ac2"], ["0x1007f127", "mov ecx, dword ptr [esi + 0xa0]", "0x10080ac3"]]}, {"orig": [["0x1007f12d", "jge 0x14"], ["0x1007f12f", "sub eax, dword ptr [esi + 0x140]"], ["0x1007f135", "cmp eax, edx"], ["0x1007f137", "jg 0x2"], ["0x1007f139", "mov eax, edx"], ["0x1007f13b", "push eax"], ["0x1007f13c", "mov eax, dword ptr [ecx]"], ["0x1007f13e", "call dword ptr [eax + 0x60]"], ["0x1007f141", "pop esi"], ["0x1007f142", "ret "]], "recomp": []}, {"both": [["0x1007f143", "push eax", "0x10080ac9"], ["0x1007f144", "mov eax, dword ptr [ecx]", "0x10080aca"], ["0x1007f146", "call dword ptr [eax + 0x60]", "0x10080acc"], ["0x1007f149", "mov dword ptr [esi + 0x13c], 0", "0x10080acf"], ["0x1007f153", "pop esi", "0x10080ad9"], ["0x1007f154", "ret ", "0x10080ada"], ["0x1007f155", "mov dword ptr [esi + 0x13c], 0", "0x10080adb"], ["0x1007f15f", "pop esi", "0x10080ae5"], ["0x1007f160", "ret ", "0x10080ae6"]]}]]]}, {"address": "0x1007f170", "recomp": "0x10080af0", "name": "MxBackgroundAudioManager::Notify", "matching": 1.0, "diff": []}, {"address": "0x1007f1b0", "recomp": "0x10080b30", "name": "MxBackgroundAudioManager::StartAction", "matching": 1.0, "diff": []}, {"address": "0x1007f200", "recomp": "0x10080b80", "name": "MxBackgroundAudioManager::StopAction", "matching": 1.0, "diff": []}, {"address": "0x1007f2f0", "recomp": "0x10080c70", "name": "MxBackgroundAudioManager::PlayMusic", "matching": 1.0, "diff": []}, {"address": "0x1007f470", "recomp": "0x10080df0", "name": "MxBackgroundAudioManager::Stop", "matching": 1.0, "diff": []}, {"address": "0x1007f570", "recomp": "0x10080ef0", "name": "MxBackgroundAudioManager::LowerVolume", "matching": 1.0, "diff": []}, {"address": "0x1007f5b0", "recomp": "0x10080f30", "name": "MxBackgroundAudioManager::RaiseVolume", "matching": 1.0, "diff": []}, {"address": "0x1007f5f0", "recomp": "0x10080f70", "name": "MxBackgroundAudioManager::Enable", "matching": 1.0, "diff": []}, {"address": "0x1007f610", "recomp": "0x10080f90", "name": "MxBackgroundAudioManager::FUN_1007f610", "matching": 1.0, "diff": []}, {"address": "0x1007f650", "recomp": "0x10080fd0", "name": "MxBackgroundAudioManager::Init", "matching": 1.0, "diff": []}, {"address": "0x1007f660", "recomp": "0x100765b0", "name": "LegoModelPresenter::configureLegoModelPresenter", "matching": 1.0, "diff": []}, {"address": "0x1007f670", "recomp": "0x100765c0", "name": "LegoModelPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1007f6b0", "recomp": "0x10076600", "name": "LegoModelPresenter::CreateROI", "matching": 1.0, "diff": []}, {"address": "0x1007ff70", "recomp": "0x10076ec0", "name": "LegoModelPresenter::FUN_1007ff70", "matching": 0.927710843373494, "diff": [["@@ -0x1007ffdb,38 +0x10076f2b,38 @@", [{"both": [["0x1007ffdb", "test ebx, ebx", "0x10076f2b"], ["0x1007ffdd", "je 0x15", "0x10076f2d"], ["0x1007ffdf", "push 1", "0x10076f2f"], ["0x1007ffe1", "mov eax, dword ptr [edi + 0x64]", "0x10076f31"], ["0x1007ffe4", "push 1", "0x10076f34"], ["0x1007ffe6", "mov ebp, dword ptr [ebx]", "0x10076f36"], ["0x1007ffe8", "push eax", "0x10076f38"], ["0x1007ffe9", "mov ecx, ebx", "0x10076f39"], ["0x1007ffeb", "call dword ptr [ebp + 0x24]", "0x10076f3b"], ["0x1007ffee", "and byte ptr [ebx + 0x11], 0xfd", "0x10076f3e"]]}, {"orig": [["0x1007fff2", "jmp 0x4c"]], "recomp": [["0x10076f42", "jmp 0x4e"]]}, {"both": [["0x1007fff4", "mov eax, dword ptr [esp + 0x24]", "0x10076f44"], ["0x1007fff8", "push 0xc", "0x10076f48"], ["0x1007fffa", "mov ecx, dword ptr [eax + 0xe4]", "0x10076f4a"], ["0x10080000", "mov dword ptr [esp + 0x14], ecx", "0x10076f50"]]}, {"orig": [["0x10080004", "lea ebx, [ecx + 4]"], ["0x10080007", "mov ebp, dword ptr [ebx]"]], "recomp": [["0x10076f54", "lea ebp, [ecx + 4]"], ["0x10076f57", "mov ebx, dword ptr [ebp]"]]}, {"both": [["0x10080009", "call ??2@YAPAXI@Z (FUNCTION)", "0x10076f5a"], ["0x1008000e", "add esp, 4", "0x10076f5f"]]}, {"orig": [["0x10080011", "test ebp, ebp"]], "recomp": [["0x10076f62", "test ebx, ebx"]]}, {"both": [["0x10080013", "je 0xb", "0x10076f64"], ["0x10080015", "mov ecx, dword ptr [esp + 0x10]", "0x10076f66"], ["0x10080019", "mov dword ptr [eax], ecx", "0x10076f6a"]]}, {"orig": [["0x1008001b", "mov dword ptr [eax + 4], ebp"]], "recomp": [["0x10076f6c", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x1008001e", "jmp 0x5", "0x10076f6f"], ["0x10080020", "mov dword ptr [eax], eax", "0x10076f71"], ["0x10080022", "mov dword ptr [eax + 4], eax", "0x10076f73"]]}, {"orig": [["0x10080025", "mov dword ptr [ebx], eax"]], "recomp": [["0x10076f76", "mov dword ptr [ebp], eax"]]}, {"both": [["0x10080027", "mov ecx, dword ptr [eax + 4]", "0x10076f79"], ["0x1008002a", "mov dword ptr [ecx], eax", "0x10076f7c"], ["0x1008002c", "add eax, 8", "0x10076f7e"], ["0x1008002f", "je 0x5", "0x10076f81"], ["0x10080031", "mov ecx, dword ptr [edi + 0x64]", "0x10076f83"], ["0x10080034", "mov dword ptr [eax], ecx", "0x10076f86"], ["0x10080036", "mov eax, dword ptr [esp + 0x24]", "0x10076f88"], ["0x1008003a", "inc dword ptr [eax + 0xe8]", "0x10076f8c"], ["0x10080040", "mov eax, esi", "0x10076f92"], ["0x10080042", "pop ebp", "0x10076f94"]]}]]]}, {"address": "0x10080050", "recomp": "0x10076fa0", "name": "LegoModelPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100801b0", "recomp": "0x10077100", "name": "LegoModelPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x10080350", "recomp": "0x10080fe0", "name": "LegoCarRaceActor::LegoCarRaceActor", "matching": 1.0, "diff": []}, {"address": "0x10080590", "recomp": "0x10081220", "name": "LegoCarRaceActor::FUN_10080590", "matching": 0.9925925925925926, "diff": [["@@ -0x100806aa,23 +0x1008133a,23 @@", [{"both": [["0x100806aa", "fadd dword ptr [1.0 (FLOAT)]", "0x1008133a"], ["0x100806b0", "fmul dword ptr [esp + 4]", "0x10081340"], ["0x100806b4", "jmp 0xf", "0x10081344"], ["0x100806b6", "cmp eax, -1", "0x10081346"], ["0x100806b9", "jge 0xe", "0x10081349"], ["0x100806bb", "fld dword ptr [esp + 4]", "0x1008134b"], ["0x100806bf", "fmul qword ptr [1.3 (FLOAT)]", "0x1008134f"], ["0x100806c5", "fstp dword ptr [esp + 4]", "0x10081355"], ["0x100806c9", "fld dword ptr [esp + 4]", "0x10081359"], ["0x100806cd", "mov ecx, dword ptr [esi + 4]", "0x1008135d"]]}, {"orig": [["0x100806d0", "mov edx, dword ptr [esp + 0x38]"]], "recomp": []}, {"both": [["0x100806d4", "mov eax, dword ptr [ecx + 4]", "0x10081360"], ["0x100806d7", "add ecx, 4", "0x10081363"]]}, {"orig": [], "recomp": [["0x10081366", "mov edx, dword ptr [esp + 0x38]"]]}, {"both": [["0x100806da", "fsub dword ptr [eax + esi + 0x54]", "0x1008136a"], ["0x100806de", "fld dword ptr [esp + 0x38]", "0x1008136e"], ["0x100806e2", "fsub dword ptr [esi + 0x1c]", "0x10081372"], ["0x100806e5", "mov dword ptr [esi + 0x1c], edx", "0x10081375"], ["0x100806e8", "fmul dword ptr [esi + 0x14]", "0x10081378"], ["0x100806eb", "fstp dword ptr [esp + 8]", "0x1008137b"], ["0x100806ef", "fcomp dword ptr [0.0 (FLOAT)]", "0x1008137f"], ["0x100806f5", "fnstsw ax", "0x10081385"], ["0x100806f7", "test ah, 1", "0x10081387"], ["0x100806fa", "je 0xa", "0x1008138a"]]}]]]}, {"address": "0x10080740", "recomp": "0x100813d0", "name": "LegoCarRaceActor::VTable0x1c", "matching": 0.9664, "diff": [["@@ -0x10080a2a,23 +0x100816ba,23 @@", [{"both": [["0x10080a2a", "mov ebx, dword ptr [ecx + 4]", "0x100816ba"], ["0x10080a2d", "mov dword ptr [edx + 4], ebx", "0x100816bd"], ["0x10080a30", "mov ecx, dword ptr [ecx + 8]", "0x100816c0"], ["0x10080a33", "mov dword ptr [edx + 8], ecx", "0x100816c3"], ["0x10080a36", "mov eax, dword ptr [esi + 4]", "0x100816c6"], ["0x10080a39", "mov edx, dword ptr [eax + 4]", "0x100816c9"], ["0x10080a3c", "cmp byte ptr [edx + esi + 0xee], 0", "0x100816cc"], ["0x10080a44", "jne 0x18", "0x100816d4"], ["0x10080a46", "lea eax, [esp + 0xc]", "0x100816d6"], ["0x10080a4a", "lea ecx, [esp + 0x3c]", "0x100816da"]]}, {"orig": [["0x10080a4e", "mov dword ptr [esp + 0xc], 0xbf800000"]], "recomp": []}, {"both": [["0x10080a56", "mov ebx, dword ptr [esp + 0x3c]", "0x100816de"], ["0x10080a5a", "push eax", "0x100816e2"]]}, {"orig": [], "recomp": [["0x100816e3", "mov dword ptr [esp + 0x10], 0xbf800000"]]}, {"both": [["0x10080a5b", "call dword ptr [ebx + 0x5c]", "0x100816eb"], ["0x10080a5e", "mov edi, 0x40a00000", "0x100816ee"], ["0x10080a63", "lea eax, [esp + 0xc]", "0x100816f3"], ["0x10080a67", "mov dword ptr [esp + 0xc], edi", "0x100816f7"], ["0x10080a6b", "mov ebx, dword ptr [esp + 0x3c]", "0x100816fb"], ["0x10080a6f", "lea ecx, [esp + 0x3c]", "0x100816ff"], ["0x10080a73", "push eax", "0x10081703"], ["0x10080a74", "call dword ptr [ebx + 0x5c]", "0x10081704"], ["0x10080a77", "lea ecx, [esp + 0x14]", "0x10081707"], ["0x10080a7b", "mov eax, dword ptr [esp + 0x14]", "0x1008170b"]]}]], ["@@ -0x10080ae4,37 +0x10081774,38 @@", [{"both": [["0x10080ae4", "pop esi", "0x10081774"], ["0x10080ae5", "pop ebx", "0x10081775"], ["0x10080ae6", "add esp, 0x58", "0x10081776"], ["0x10080ae9", "ret 8", "0x10081779"], ["0x10080aec", "xor eax, eax", "0x1008177c"], ["0x10080aee", "pop edi", "0x1008177e"], ["0x10080aef", "pop esi", "0x1008177f"], ["0x10080af0", "pop ebx", "0x10081780"], ["0x10080af1", "add esp, 0x58", "0x10081781"], ["0x10080af4", "ret 8", "0x10081784"]]}, {"orig": [["0x10080af7", "xor eax, eax"], ["0x10080af9", "mov esi, dword ptr [LegoPathController::g_ctrlBoundariesB (DATA)]"]], "recomp": [["0x10081787", "xor ecx, ecx"], ["0x10081789", "mov eax, dword ptr [LegoPathController::g_ctrlBoundariesB (DATA)]"], ["0x1008178e", "add eax, 4"], ["0x10081791", "mov esi, dword ptr [LegoPathController::g_ctrlEdgesB (DATA)]"]]}, {"both": [["0x10080aff", "add esi, 4", "0x10081797"]]}, {"orig": [["0x10080b02", "mov ecx, dword ptr [LegoPathController::g_ctrlEdgesB (DATA)]"], ["0x10080b08", "add ecx, 4"], ["0x10080b0b", "cmp eax, 0xa"]], "recomp": [["0x1008179a", "cmp ecx, 0xa"]]}, {"both": [["0x10080b0e", "jge 0x17", "0x1008179d"]]}, {"orig": [["0x10080b10", "cmp dword ptr [ecx], edx"]], "recomp": [["0x1008179f", "cmp dword ptr [esi], edx"]]}, {"both": [["0x10080b12", "jne 0xa", "0x100817a1"]]}, {"orig": [["0x10080b14", "mov edi, dword ptr [esi]"]], "recomp": [["0x100817a3", "mov edi, dword ptr [eax]"]]}, {"both": [["0x10080b16", "cmp dword ptr [ebx + 0x8c], edi", "0x100817a5"], ["0x10080b1c", "je 0x17", "0x100817ab"]]}, {"orig": [], "recomp": [["0x100817ad", "add eax, 8"]]}, {"both": [["0x10080b1e", "add esi, 8", "0x100817b0"]]}, {"orig": [["0x10080b21", "add ecx, 8"], ["0x10080b24", "inc eax"]], "recomp": [["0x100817b3", "inc ecx"]]}, {"both": [["0x10080b25", "jmp -0x1c", "0x100817b4"], ["0x10080b27", "mov eax, 1", "0x100817b6"], ["0x10080b2c", "pop edi", "0x100817bb"], ["0x10080b2d", "pop esi", "0x100817bc"], ["0x10080b2e", "pop ebx", "0x100817bd"], ["0x10080b2f", "add esp, 0x58", "0x100817be"], ["0x10080b32", "ret 8", "0x100817c1"], ["0x10080b35", "xor eax, eax", "0x100817c4"], ["0x10080b37", "pop edi", "0x100817c6"], ["0x10080b38", "pop esi", "0x100817c7"], ["0x10080b39", "pop ebx", "0x100817c8"], ["0x10080b3a", "add esp, 0x58", "0x100817c9"]]}, {"orig": [], "recomp": [["0x100817cc", "ret 8"]]}]]]}, {"address": "0x10080b40", "recomp": "0x100817d0", "name": "LegoCarRaceActor::SwitchBoundary", "matching": 1.0, "diff": []}, {"address": "0x10080b70", "recomp": "0x10081800", "name": "LegoCarRaceActor::Animate", "matching": 1.0, "diff": []}, {"address": "0x10080be0", "recomp": "0x10081870", "name": "LegoCarRaceActor::VTable0x9c", "matching": 0.9545454545454546, "diff": [["@@ -0x10080bec,34 +0x1008187c,34 @@", [{"both": [["0x10080bec", "mov eax, dword ptr [eax + 4]", "0x1008187c"], ["0x10080bef", "lea ecx, [esi - 0x24]", "0x1008187f"], ["0x10080bf2", "add eax, esi", "0x10081882"], ["0x10080bf4", "mov ebx, dword ptr [ecx]", "0x10081884"], ["0x10080bf6", "mov edi, dword ptr [eax + 0xc0]", "0x10081886"], ["0x10080bfc", "mov eax, dword ptr [eax + 0x68]", "0x1008188c"], ["0x10080bff", "push edi", "0x1008188f"], ["0x10080c00", "push eax", "0x10081890"], ["0x10080c01", "call dword ptr [ebx + 0x1c]", "0x10081891"], ["0x10080c04", "test eax, eax", "0x10081894"]]}, {"orig": [["0x10080c06", "je 0x2d4"]], "recomp": [["0x10081896", "je 0x2d5"]]}, {"both": [["0x10080c0c", "mov eax, dword ptr [esi - 0x20]", "0x1008189c"]]}, {"orig": [["0x10080c0f", "mov eax, dword ptr [eax + 4]"], ["0x10080c12", "add eax, esi"], ["0x10080c14", "lea edx, [eax + 0x68]"], ["0x10080c17", "lea ecx, [eax - 0x20]"], ["0x10080c1a", "lea ebp, [eax + 0xc4]"], ["0x10080c20", "add eax, 0xc0"], ["0x10080c25", "mov ebx, dword ptr [edx]"]], "recomp": [["0x1008189f", "mov edx, dword ptr [eax + 4]"], ["0x100818a2", "add edx, esi"], ["0x100818a4", "lea eax, [edx + 0x68]"], ["0x100818a7", "lea ecx, [edx - 0x20]"], ["0x100818aa", "lea ebp, [edx + 0xc4]"], ["0x100818b0", "add edx, 0xc0"], ["0x100818b6", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x10080c27", "push ebp", "0x100818b8"]]}, {"orig": [], "recomp": [["0x100818b9", "push edx"]]}, {"both": [["0x10080c28", "push eax", "0x100818ba"]]}, {"orig": [["0x10080c29", "push edx"], ["0x10080c2a", "mov ebp, dword ptr [ecx]"], ["0x10080c2c", "call dword ptr [ebp + 0x98]"]], "recomp": [["0x100818bb", "mov eax, dword ptr [ecx]"], ["0x100818bd", "call dword ptr [eax + 0x98]"]]}, {"both": [["0x10080c32", "mov ecx, dword ptr [esi - 0x20]", "0x100818c3"], ["0x10080c35", "mov eax, dword ptr [ecx + 4]", "0x100818c6"], ["0x10080c38", "add eax, esi", "0x100818c9"], ["0x10080c3a", "mov ecx, dword ptr [eax + 0x68]", "0x100818cb"], ["0x10080c3d", "push ecx", "0x100818ce"], ["0x10080c3e", "mov ecx, dword ptr [eax + 0xc0]", "0x100818cf"], ["0x10080c44", "call LegoEdge::CWVertex (FUNCTION)", "0x100818d5"], ["0x10080c49", "mov ebp, eax", "0x100818da"], ["0x10080c4b", "mov ecx, dword ptr [esi - 0x20]", "0x100818dc"], ["0x10080c4e", "mov eax, dword ptr [ecx + 4]", "0x100818df"]]}]]]}, {"address": "0x10080ef0", "recomp": "0x1004b620", "name": "LegoJetskiRaceActor::LegoJetskiRaceActor", "matching": 1.0, "diff": []}, {"address": "0x10081120", "recomp": "0x1004b850", "name": "LegoJetskiRaceActor::VTable0x1c", "matching": 1.0, "diff": []}, {"address": "0x10081550", "recomp": "0x1004bc80", "name": "LegoJetskiRaceActor::Animate", "matching": 1.0, "diff": []}, {"address": "0x10081610", "recomp": "0x10082050", "name": "LegoCarRaceActor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081620", "recomp": "0x10082060", "name": "LegoCarRaceActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10081650", "recomp": "0x10082090", "name": "LegoCarRaceActor::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081660", "recomp": "0x100820a0", "name": "LegoCarRaceActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10081670", "recomp": "0x100820b0", "name": "LegoCarRaceActor::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081680", "recomp": "0x100820c0", "name": "LegoCarRaceActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x10081830", "recomp": "0x10082270", "name": "LegoCarRaceActor::VTable0x6c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081840", "recomp": "0x10081b80", "name": "LegoCarRaceActor::VTable0x6c", "matching": 0.8972972972972973, "diff": [["@@ -0x1008185b,64 +0x10081b9b,62 @@", [{"both": [["0x1008185b", "mov dword ptr [ebp - 0x14], ecx", "0x10081b9b"], ["0x1008185e", "push ebx", "0x10081b9e"], ["0x1008185f", "push esi", "0x10081b9f"], ["0x10081860", "push edi", "0x10081ba0"], ["0x10081861", "mov edi, dword ptr [ebp + 8]", "0x10081ba1"], ["0x10081864", "mov eax, dword ptr [edi + 0x68]", "0x10081ba4"], ["0x10081867", "lea esi, [edi + 0x64]", "0x10081ba7"], ["0x1008186a", "mov ecx, dword ptr [eax]", "0x10081baa"], ["0x1008186c", "mov dword ptr [ebp - 0x10], ecx", "0x10081bac"], ["0x1008186f", "cmp ecx, eax", "0x10081baf"]]}, {"orig": [["0x10081871", "je 0x77"]], "recomp": [["0x10081bb1", "je 0x72"]]}, {"both": [["0x10081873", "mov eax, dword ptr [ebp - 0x10]", "0x10081bb3"], ["0x10081876", "mov edx, dword ptr [ebp + 0x1c]", "0x10081bb6"], ["0x10081879", "push edx", "0x10081bb9"], ["0x1008187a", "mov ebx, dword ptr [ebp + 0x14]", "0x10081bba"], ["0x1008187d", "mov ecx, dword ptr [eax + 0xc]", "0x10081bbd"], ["0x10081880", "mov edx, dword ptr [ebp + 0x10]", "0x10081bc0"], ["0x10081883", "mov eax, dword ptr [ebp + 0x18]", "0x10081bc3"], ["0x10081886", "push eax", "0x10081bc6"], ["0x10081887", "push ebx", "0x10081bc7"], ["0x10081888", "push edx", "0x10081bc8"], ["0x10081889", "mov eax, dword ptr [ebp + 0xc]", "0x10081bc9"], ["0x1008188c", "push eax", "0x10081bcc"], ["0x1008188d", "mov ebx, dword ptr [ecx]", "0x10081bcd"], ["0x1008188f", "call dword ptr [ebx + 0x94]", "0x10081bcf"], ["0x10081895", "test eax, eax", "0x10081bd5"]]}, {"orig": [["0x10081897", "jne 0x116"]], "recomp": [["0x10081bd7", "jne 0x111"]]}, {"both": [["0x1008189d", "mov eax, dword ptr [ebp - 0x10]", "0x10081bdd"]]}, {"orig": [["0x100818a0", "mov eax, dword ptr [eax + 8]"], ["0x100818a3", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x100818a9", "je 0x13"], ["0x100818ab", "mov ecx, dword ptr [eax]"], ["0x100818ad", "cmp ecx, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"], ["0x100818b3", "je 0x4"], ["0x100818b5", "mov eax, ecx"]], "recomp": [["0x10081be0", "mov ecx, dword ptr [eax + 8]"], ["0x10081be3", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], ecx"], ["0x10081be9", "je 0xe"], ["0x10081beb", "mov eax, dword ptr [ecx]"], ["0x10081bed", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"], ["0x10081bf3", "je 0x25"], ["0x10081bf5", "mov ecx, eax"]]}, {"both": [["0x100818b7", "jmp -0xe", "0x10081bf7"]]}, {"orig": [["0x100818b9", "mov dword ptr [ebp - 0x10], eax"], ["0x100818bc", "jmp 0x24"]], "recomp": []}, {"both": [["0x100818be", "mov eax, dword ptr [ebp - 0x10]", "0x10081bf9"], ["0x100818c1", "mov ecx, dword ptr [eax + 4]", "0x10081bfc"], ["0x100818c4", "cmp dword ptr [ecx + 8], eax", "0x10081bff"], ["0x100818c7", "jne 0xe", "0x10081c02"], ["0x100818c9", "mov dword ptr [ebp - 0x10], ecx", "0x10081c04"], ["0x100818cc", "mov ecx, dword ptr [ecx + 4]", "0x10081c07"], ["0x100818cf", "mov eax, dword ptr [ebp - 0x10]", "0x10081c0a"], ["0x100818d2", "cmp dword ptr [ecx + 8], eax", "0x10081c0d"], ["0x100818d5", "je -0xe", "0x10081c10"], ["0x100818d7", "mov eax, dword ptr [ebp - 0x10]", "0x10081c12"], ["0x100818da", "cmp dword ptr [eax + 8], ecx", "0x10081c15"], ["0x100818dd", "je 0x3", "0x10081c18"], ["0x100818df", "mov dword ptr [ebp - 0x10], ecx", "0x10081c1a"], ["0x100818e2", "mov eax, dword ptr [ebp - 0x10]", "0x10081c1d"], ["0x100818e5", "cmp dword ptr [esi + 4], eax", "0x10081c20"]]}, {"orig": [["0x100818e8", "jne -0x77"]], "recomp": [["0x10081c23", "jne -0x72"]]}, {"both": [["0x100818ea", "mov al, byte ptr [edi + 0x54]", "0x10081c25"], ["0x100818ed", "add edi, 0x54", "0x10081c28"], ["0x100818f0", "xor esi, esi", "0x10081c2b"], ["0x100818f2", "mov dword ptr [ebp - 0x18], edi", "0x10081c2d"], ["0x100818f5", "mov byte ptr [ebp - 0x28], al", "0x10081c30"], ["0x100818f8", "mov dword ptr [ebp - 4], esi", "0x10081c33"], ["0x100818fb", "mov cl, byte ptr [edi + 1]", "0x10081c36"], ["0x100818fe", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], esi", "0x10081c39"], ["0x10081904", "mov byte ptr [ebp - 0x27], cl", "0x10081c3f"], ["0x10081907", "mov eax, dword ptr [edi + 8]", "0x10081c42"]]}]], ["@@ -0x10081959,54 +0x10081c94,54 @@", [{"both": [["0x10081959", "mov dword ptr [eax], eax", "0x10081c94"], ["0x1008195b", "mov ecx, dword ptr [ebp - 0x24]", "0x10081c96"], ["0x1008195e", "mov dword ptr [ecx + 8], ecx", "0x10081c99"], ["0x10081961", "lea ecx, [ebp - 0x28]", "0x10081c9c"], ["0x10081964", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Copy (FUNCTION)", "0x10081c9f"], ["0x10081969", "mov eax, dword ptr [ebp - 0x24]", "0x10081ca4"], ["0x1008196c", "mov dword ptr [ebp - 4], 3", "0x10081ca7"], ["0x10081973", "mov ecx, dword ptr [eax]", "0x10081cae"], ["0x10081975", "mov dword ptr [ebp - 0x10], ecx", "0x10081cb0"], ["0x10081978", "cmp ecx, eax", "0x10081cb3"]]}, {"orig": [["0x1008197a", "je 0x20d"]], "recomp": [["0x10081cb5", "je 0x212"]]}, {"both": [["0x10081980", "mov eax, dword ptr [ebp - 0x18]", "0x10081cbb"]]}, {"orig": [["0x10081983", "mov edi, dword ptr [ebp - 0x10]"], ["0x10081986", "add edi, 0xc"]], "recomp": [["0x10081cbe", "mov esi, dword ptr [ebp - 0x10]"], ["0x10081cc1", "add esi, 0xc"]]}, {"both": [["0x10081989", "mov ecx, dword ptr [ebp - 0x18]", "0x10081cc4"]]}, {"orig": [["0x1008198c", "mov esi, dword ptr [eax + 4]"], ["0x1008198f", "push edi"]], "recomp": [["0x10081cc7", "mov edi, dword ptr [eax + 4]"], ["0x10081cca", "push esi"]]}, {"both": [["0x10081990", "lea eax, [ebp - 0x2c]", "0x10081ccb"], ["0x10081993", "push eax", "0x10081cce"], ["0x10081994", "call _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::lower_bound (FUNCTION)", "0x10081ccf"], ["0x10081999", "mov eax, dword ptr [ebp - 0x18]", "0x10081cd4"], ["0x1008199c", "mov eax, dword ptr [eax + 4]", "0x10081cd7"], ["0x1008199f", "cmp dword ptr [ebp - 0x2c], eax", "0x10081cda"], ["0x100819a2", "je 0x27", "0x10081cdd"], ["0x100819a4", "mov ecx, dword ptr [ebp - 0x2c]", "0x10081cdf"]]}, {"orig": [["0x100819a7", "mov edx, dword ptr [edi]"]], "recomp": [["0x10081ce2", "mov edx, dword ptr [esi]"]]}, {"both": [["0x100819a9", "cmp dword ptr [ecx + 0xc], edx", "0x10081ce4"], ["0x100819ac", "jg 0x1d", "0x10081ce7"], ["0x100819ae", "lea eax, [ebp - 0x2c]", "0x10081ce9"], ["0x100819b1", "jmp 0x1e", "0x10081cec"], ["0x100819b3", "mov eax, 1", "0x10081cee"], ["0x100819b8", "mov ecx, dword ptr [ebp - 0xc]", "0x10081cf3"], ["0x100819bb", "pop edi", "0x10081cf6"], ["0x100819bc", "mov dword ptr fs:[0], ecx", "0x10081cf7"], ["0x100819c3", "pop esi", "0x10081cfe"], ["0x100819c4", "pop ebx", "0x10081cff"], ["0x100819c5", "mov esp, ebp", "0x10081d00"], ["0x100819c7", "pop ebp", "0x10081d02"], ["0x100819c8", "ret 0x18", "0x10081d03"], ["0x100819cb", "mov dword ptr [ebp - 0x34], eax", "0x10081d06"], ["0x100819ce", "lea eax, [ebp - 0x34]", "0x10081d09"]]}, {"orig": [["0x100819d1", "cmp esi, dword ptr [eax]"]], "recomp": [["0x10081d0c", "cmp edi, dword ptr [eax]"]]}, {"both": [["0x100819d3", "je 0x168", "0x10081d0e"]]}, {"orig": [["0x100819d9", "mov edi, dword ptr [edi]"]], "recomp": [["0x10081d14", "mov edi, dword ptr [esi]"]]}, {"both": [["0x100819db", "mov eax, 0", "0x10081d16"], ["0x100819e0", "cmp dword ptr [ebp - 0x14], 0x24", "0x10081d1b"], ["0x100819e4", "je 0xd", "0x10081d1f"], ["0x100819e6", "mov eax, dword ptr [ebp - 0x14]", "0x10081d21"], ["0x100819e9", "mov edx, dword ptr [eax - 0x20]", "0x10081d24"], ["0x100819ec", "mov ecx, dword ptr [edx + 4]", "0x10081d27"], ["0x100819ef", "lea eax, [ecx + eax - 0x20]", "0x10081d2a"], ["0x100819f3", "cmp edi, eax", "0x10081d2e"], ["0x100819f5", "je 0x146", "0x10081d30"], ["0x100819fb", "mov esi, dword ptr [edi + 0x54]", "0x10081d36"]]}]], ["@@ -0x10081a6d,23 +0x10081da8,23 @@", [{"both": [["0x10081a6d", "je 0xce", "0x10081da8"], ["0x10081a73", "mov eax, dword ptr [ebp - 0x14]", "0x10081dae"], ["0x10081a76", "push 1", "0x10081db1"], ["0x10081a78", "push edi", "0x10081db3"], ["0x10081a79", "mov edx, dword ptr [eax - 0x20]", "0x10081db4"], ["0x10081a7c", "mov ecx, dword ptr [edx + 4]", "0x10081db7"], ["0x10081a7f", "lea ecx, [ecx + eax - 0x20]", "0x10081dba"], ["0x10081a83", "mov ebx, dword ptr [ecx]", "0x10081dbe"], ["0x10081a85", "call dword ptr [ebx + 0x94]", "0x10081dc0"], ["0x10081a8b", "cmp dword ptr [ebp - 0x14], 0x24", "0x10081dc6"]]}, {"orig": [["0x10081a8f", "jne 0x10b"]], "recomp": [["0x10081dca", "jne 0x110"]]}, {"both": [["0x10081a95", "xor eax, eax", "0x10081dd0"]]}, {"orig": [["0x10081a97", "jmp 0x111"]], "recomp": [["0x10081dd2", "jmp 0x116"]]}, {"both": [["0x10081a9c", "mov esi, dword ptr [esi + 4]", "0x10081dd7"], ["0x10081a9f", "test esi, esi", "0x10081dda"], ["0x10081aa1", "je 0x9a", "0x10081ddc"], ["0x10081aa7", "mov eax, dword ptr [esi + 4]", "0x10081de2"], ["0x10081aaa", "mov edx, dword ptr [eax]", "0x10081de5"], ["0x10081aac", "mov eax, dword ptr [ebp - 0x14]", "0x10081de7"], ["0x10081aaf", "mov ecx, dword ptr [edx + 8]", "0x10081dea"], ["0x10081ab2", "mov eax, dword ptr [eax - 0x20]", "0x10081ded"], ["0x10081ab5", "mov edx, dword ptr [eax + 4]", "0x10081df0"], ["0x10081ab8", "mov eax, dword ptr [ebp - 0x14]", "0x10081df3"]]}]], ["@@ -0x10081ada,21 +0x10081e15,21 @@", [{"both": [["0x10081ada", "push eax", "0x10081e15"], ["0x10081adb", "push edx", "0x10081e16"], ["0x10081adc", "mov eax, dword ptr [ebp + 0x14]", "0x10081e17"], ["0x10081adf", "mov edx, dword ptr [ebp + 0x10]", "0x10081e1a"], ["0x10081ae2", "push eax", "0x10081e1d"], ["0x10081ae3", "push edx", "0x10081e1e"], ["0x10081ae4", "mov eax, dword ptr [ebp + 0xc]", "0x10081e1f"], ["0x10081ae7", "push eax", "0x10081e22"], ["0x10081ae8", "call LegoROI::FUN_100a9410 (FUNCTION)", "0x10081e23"], ["0x10081aed", "test eax, eax", "0x10081e28"]]}, {"orig": [["0x10081aef", "jne 0xeb"]], "recomp": [["0x10081e2a", "jne 0xf0"]]}, {"both": [["0x10081af5", "mov eax, dword ptr [esi + 4]", "0x10081e30"], ["0x10081af8", "mov edx, dword ptr [eax + 4]", "0x10081e33"], ["0x10081afb", "mov eax, dword ptr [ebp - 0x14]", "0x10081e36"], ["0x10081afe", "mov ecx, dword ptr [edx + 8]", "0x10081e39"], ["0x10081b01", "mov esi, dword ptr [eax - 0x20]", "0x10081e3c"], ["0x10081b04", "mov edx, dword ptr [esi + 4]", "0x10081e3f"], ["0x10081b07", "cmp byte ptr [edx + eax + 0xc8], bl", "0x10081e42"], ["0x10081b0e", "je 0xd", "0x10081e49"], ["0x10081b10", "mov eax, 1", "0x10081e4b"], ["0x10081b15", "cmp byte ptr [edi + 0xe8], bl", "0x10081e50"]]}]], ["@@ -0x10081b26,68 +0x10081e61,70 @@", [{"both": [["0x10081b26", "mov esi, dword ptr [ebp + 0x14]", "0x10081e61"], ["0x10081b29", "push eax", "0x10081e64"], ["0x10081b2a", "push edx", "0x10081e65"], ["0x10081b2b", "push esi", "0x10081e66"], ["0x10081b2c", "mov eax, dword ptr [ebp + 0x10]", "0x10081e67"], ["0x10081b2f", "push eax", "0x10081e6a"], ["0x10081b30", "mov edx, dword ptr [ebp + 0xc]", "0x10081e6b"], ["0x10081b33", "push edx", "0x10081e6e"], ["0x10081b34", "call LegoROI::FUN_100a9410 (FUNCTION)", "0x10081e6f"], ["0x10081b39", "test eax, eax", "0x10081e74"]]}, {"orig": [["0x10081b3b", "jne 0x102"]], "recomp": [["0x10081e76", "jne 0x107"]]}, {"both": [["0x10081b41", "mov eax, dword ptr [ebp - 0x10]", "0x10081e7c"]]}, {"orig": [["0x10081b44", "mov ecx, dword ptr [eax + 8]"]], "recomp": [["0x10081e7f", "mov eax, dword ptr [eax + 8]"], ["0x10081e82", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"], ["0x10081e88", "je 0x13"], ["0x10081e8a", "mov ecx, dword ptr [eax]"]]}, {"both": [["0x10081b47", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], ecx", "0x10081e8c"]]}, {"orig": [["0x10081b4d", "je 0xe"], ["0x10081b4f", "mov eax, dword ptr [ecx]"], ["0x10081b51", "cmp dword ptr [_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Nil (DATA)], eax"], ["0x10081b57", "je 0x25"], ["0x10081b59", "mov ecx, eax"]], "recomp": [["0x10081e92", "je 0x4"], ["0x10081e94", "mov eax, ecx"]]}, {"both": [["0x10081b5b", "jmp -0xe", "0x10081e96"]]}, {"orig": [], "recomp": [["0x10081e98", "mov dword ptr [ebp - 0x10], eax"], ["0x10081e9b", "jmp 0x24"]]}, {"both": [["0x10081b5d", "mov eax, dword ptr [ebp - 0x10]", "0x10081e9d"], ["0x10081b60", "mov ecx, dword ptr [eax + 4]", "0x10081ea0"], ["0x10081b63", "cmp dword ptr [ecx + 8], eax", "0x10081ea3"], ["0x10081b66", "jne 0xe", "0x10081ea6"], ["0x10081b68", "mov dword ptr [ebp - 0x10], ecx", "0x10081ea8"], ["0x10081b6b", "mov ecx, dword ptr [ecx + 4]", "0x10081eab"], ["0x10081b6e", "mov eax, dword ptr [ebp - 0x10]", "0x10081eae"], ["0x10081b71", "cmp dword ptr [ecx + 8], eax", "0x10081eb1"], ["0x10081b74", "je -0xe", "0x10081eb4"], ["0x10081b76", "mov eax, dword ptr [ebp - 0x10]", "0x10081eb6"], ["0x10081b79", "cmp dword ptr [eax + 8], ecx", "0x10081eb9"], ["0x10081b7c", "je 0x3", "0x10081ebc"], ["0x10081b7e", "mov dword ptr [ebp - 0x10], ecx", "0x10081ebe"], ["0x10081b81", "mov eax, dword ptr [ebp - 0x24]", "0x10081ec1"], ["0x10081b84", "cmp dword ptr [ebp - 0x10], eax", "0x10081ec4"]]}, {"orig": [["0x10081b87", "jne -0x20d"]], "recomp": [["0x10081ec7", "jne -0x212"]]}, {"both": [["0x10081b8d", "mov dword ptr [ebp - 4], 0xffffffff", "0x10081ecd"], ["0x10081b94", "call <OFFSET12>", "0x10081ed4"], ["0x10081b99", "xor eax, eax", "0x10081ed9"]]}, {"orig": [["0x10081b9b", "jmp -0x1e8"]], "recomp": [["0x10081edb", "jmp -0x1ed"]]}, {"both": [["0x10081ba0", "mov eax, dword ptr [ebp - 0x14]", "0x10081ee0"], ["0x10081ba3", "mov edx, dword ptr [eax - 0x20]", "0x10081ee3"], ["0x10081ba6", "mov ecx, dword ptr [edx + 4]", "0x10081ee6"], ["0x10081ba9", "lea eax, [ecx + eax - 0x20]", "0x10081ee9"], ["0x10081bad", "push 0", "0x10081eed"], ["0x10081baf", "mov ecx, edi", "0x10081eef"], ["0x10081bb1", "push eax", "0x10081ef1"], ["0x10081bb2", "mov eax, dword ptr [edi]", "0x10081ef2"], ["0x10081bb4", "call dword ptr [eax + 0x94]", "0x10081ef4"], ["0x10081bba", "mov dword ptr [ebp - 4], 0xffffffff", "0x10081efa"], ["0x10081bc1", "test eax, eax", "0x10081f01"], ["0x10081bc3", "jge 0xc", "0x10081f03"], ["0x10081bc5", "call <OFFSET12>", "0x10081f05"], ["0x10081bca", "xor eax, eax", "0x10081f0a"]]}, {"orig": [["0x10081bcc", "jmp -0x219"]], "recomp": [["0x10081f0c", "jmp -0x21e"]]}, {"both": [["0x10081bd1", "call <OFFSET12>", "0x10081f11"], ["0x10081bd6", "mov eax, 2", "0x10081f16"]]}, {"orig": [["0x10081bdb", "jmp -0x228"]], "recomp": [["0x10081f1b", "jmp -0x22d"]]}, {"both": [["0x10081be0", "mov eax, dword ptr [ebp - 0x14]", "0x10081f20"], ["0x10081be3", "push 1", "0x10081f23"], ["0x10081be5", "push edi", "0x10081f25"], ["0x10081be6", "mov edx, dword ptr [eax - 0x20]", "0x10081f26"], ["0x10081be9", "mov ecx, dword ptr [edx + 4]", "0x10081f29"], ["0x10081bec", "lea ecx, [ecx + eax - 0x20]", "0x10081f2c"], ["0x10081bf0", "mov ebx, dword ptr [ecx]", "0x10081f30"], ["0x10081bf2", "call dword ptr [ebx + 0x94]", "0x10081f32"], ["0x10081bf8", "cmp dword ptr [ebp - 0x14], 0x24", "0x10081f38"], ["0x10081bfc", "mov eax, 0", "0x10081f3c"]]}]], ["@@ -0x10081c10,24 +0x10081f50,24 @@", [{"both": [["0x10081c10", "push 0", "0x10081f50"], ["0x10081c12", "mov ecx, edi", "0x10081f52"], ["0x10081c14", "push eax", "0x10081f54"], ["0x10081c15", "mov eax, dword ptr [edi]", "0x10081f55"], ["0x10081c17", "call dword ptr [eax + 0x94]", "0x10081f57"], ["0x10081c1d", "mov dword ptr [ebp - 4], 0xffffffff", "0x10081f5d"], ["0x10081c24", "test eax, eax", "0x10081f64"], ["0x10081c26", "jge 0xc", "0x10081f66"], ["0x10081c28", "call <OFFSET12>", "0x10081f68"], ["0x10081c2d", "xor eax, eax", "0x10081f6d"]]}, {"orig": [["0x10081c2f", "jmp -0x27c"]], "recomp": [["0x10081f6f", "jmp -0x281"]]}, {"both": [["0x10081c34", "call <OFFSET12>", "0x10081f74"], ["0x10081c39", "mov eax, 2", "0x10081f79"]]}, {"orig": [["0x10081c3e", "jmp -0x28b"]], "recomp": [["0x10081f7e", "jmp -0x290"]]}, {"both": [["0x10081c43", "mov eax, dword ptr [ebp - 0x14]", "0x10081f83"], ["0x10081c46", "push 1", "0x10081f86"], ["0x10081c48", "push edi", "0x10081f88"], ["0x10081c49", "mov edx, dword ptr [eax - 0x20]", "0x10081f89"], ["0x10081c4c", "mov ecx, dword ptr [edx + 4]", "0x10081f8c"], ["0x10081c4f", "lea ecx, [ecx + eax - 0x20]", "0x10081f8f"], ["0x10081c53", "mov ebx, dword ptr [ecx]", "0x10081f93"], ["0x10081c55", "call dword ptr [ebx + 0x94]", "0x10081f95"], ["0x10081c5b", "cmp dword ptr [ebp - 0x14], 0x24", "0x10081f9b"], ["0x10081c5f", "mov eax, 0", "0x10081f9f"]]}]], ["@@ -0x10081c73,24 +0x10081fb3,24 @@", [{"both": [["0x10081c73", "push 0", "0x10081fb3"], ["0x10081c75", "mov ecx, edi", "0x10081fb5"], ["0x10081c77", "push eax", "0x10081fb7"], ["0x10081c78", "mov eax, dword ptr [edi]", "0x10081fb8"], ["0x10081c7a", "call dword ptr [eax + 0x94]", "0x10081fba"], ["0x10081c80", "mov dword ptr [ebp - 4], 0xffffffff", "0x10081fc0"], ["0x10081c87", "test eax, eax", "0x10081fc7"], ["0x10081c89", "jge 0xc", "0x10081fc9"], ["0x10081c8b", "call <OFFSET12>", "0x10081fcb"], ["0x10081c90", "xor eax, eax", "0x10081fd0"]]}, {"orig": [["0x10081c92", "jmp -0x2df"]], "recomp": [["0x10081fd2", "jmp -0x2e4"]]}, {"both": [["0x10081c97", "call <OFFSET12>", "0x10081fd7"], ["0x10081c9c", "mov eax, 2", "0x10081fdc"]]}, {"orig": [["0x10081ca1", "jmp -0x2ee"]], "recomp": [["0x10081fe1", "jmp -0x2f3"]]}, {"both": [["0x10081ca6", "lea ecx, [ebp - 0xd]", "0x10081fe6"], ["0x10081ca9", "jmp _Lockit::~_Lockit (FUNCTION)", "0x10081fe9"], ["0x10081cae", "lea ecx, [ebp - 0x28]", "0x10081fee"], ["0x10081cb1", "jmp _Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,a (FUNCTION)", "0x10081ff1"], ["0x10081cb6", "lea ecx, [ebp - 0x28]", "0x10081ff6"], ["0x10081cb9", "jmp set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::~set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> > (FUNCTION)", "0x10081ff9"], ["0x10081cbe", "mov eax, <OFFSET13>", "0x10081ffe"], ["0x10081cc3", "jmp ___CxxFrameHandler (FUNCTION)", "0x10082003"], ["0x10081cc8", "lea ecx, [ebp - 0x28]", "0x10082008"], ["0x10081ccb", "jmp Set<LegoPathActor *,LegoPathActorSetCompare>::~Set<LegoPathActor *,LegoPathActorSetCompare> (FUNCTION)", "0x1008200b"]]}]]]}, {"address": "0x10081cd0", "recomp": "0x10082010", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::lower_bound", "matching": 1.0, "diff": []}, {"address": "0x10081d10", "recomp": "0x10082280", "name": "LegoCarRaceActor::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081d20", "recomp": "0x10082290", "name": "LegoCarRaceActor::SwitchBoundary`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081d30", "recomp": "0x100822a0", "name": "LegoCarRaceActor::VTable0x9c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081d40", "recomp": "0x1004c030", "name": "LegoJetskiRaceActor::`vector deleting dtor'`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081d50", "recomp": "0x1004c040", "name": "LegoJetskiRaceActor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10081d80", "recomp": "0x1004c070", "name": "LegoJetskiRaceActor::ClassName`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081d90", "recomp": "0x1004c080", "name": "LegoJetskiRaceActor::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10081da0", "recomp": "0x1004c090", "name": "LegoJetskiRaceActor::IsA`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081db0", "recomp": "0x1004c0a0", "name": "LegoJetskiRaceActor::IsA", "matching": 1.0, "diff": []}, {"address": "0x10081fc0", "recomp": "0x1004c2b0", "name": "LegoJetskiRaceActor::VTable0x6c`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x10081fd0", "recomp": "0x1004bd40", "name": "LegoJetskiRaceActor::VTable0x6c", "matching": 1.0, "effective": true, "diff": [["@@ -0x10081fe8,41 +0x1004bd58,41 @@", [{"both": [["0x10081fe8", "sub esp, 0x20", "0x1004bd58"], ["0x10081feb", "mov dword ptr [ebp - 0x14], ecx", "0x1004bd5b"], ["0x10081fee", "push ebx", "0x1004bd5e"], ["0x10081fef", "push esi", "0x1004bd5f"], ["0x10081ff0", "push edi", "0x1004bd60"], ["0x10081ff1", "mov esi, dword ptr [ebp + 8]", "0x1004bd61"], ["0x10081ff4", "mov eax, dword ptr [esi + 0x68]", "0x1004bd64"], ["0x10081ff7", "lea edi, [esi + 0x64]", "0x1004bd67"], ["0x10081ffa", "mov ecx, dword ptr [eax]", "0x1004bd6a"], ["0x10081ffc", "mov dword ptr [ebp - 0x10], ecx", "0x1004bd6c"]]}, {"orig": [["0x10081fff", "cmp ecx, eax"]], "recomp": [["0x1004bd6f", "cmp eax, ecx"]]}, {"both": [["0x10082001", "je 0x72", "0x1004bd71"], ["0x10082003", "mov eax, dword ptr [ebp - 0x10]", "0x1004bd73"], ["0x10082006", "mov edx, dword ptr [ebp + 0x1c]", "0x1004bd76"], ["0x10082009", "push edx", "0x1004bd79"], ["0x1008200a", "mov ebx, dword ptr [ebp + 0x14]", "0x1004bd7a"], ["0x1008200d", "mov ecx, dword ptr [eax + 0xc]", "0x1004bd7d"], ["0x10082010", "mov edx, dword ptr [ebp + 0x10]", "0x1004bd80"], ["0x10082013", "mov eax, dword ptr [ebp + 0x18]", "0x1004bd83"], ["0x10082016", "push eax", "0x1004bd86"], ["0x10082017", "push ebx", "0x1004bd87"], ["0x10082018", "push edx", "0x1004bd88"], ["0x10082019", "mov eax, dword ptr [ebp + 0xc]", "0x1004bd89"], ["0x1008201c", "push eax", "0x1004bd8c"], ["0x1008201d", "mov ebx, dword ptr [ecx]", "0x1004bd8d"], ["0x1008201f", "call dword ptr [ebx + 0x94]", "0x1004bd8f"], ["0x10082025", "test eax, eax", "0x1004bd95"], ["0x10082027", "jne 0x103", "0x1004bd97"], ["0x1008202d", "mov eax, dword ptr [ebp - 0x10]", "0x1004bd9d"], ["0x10082030", "mov eax, dword ptr [eax + 8]", "0x1004bda0"]]}, {"orig": [["0x10082033", "cmp eax, dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)]"]], "recomp": [["0x1004bda3", "cmp dword ptr [_Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082039", "je 0xe", "0x1004bda9"], ["0x1008203b", "push eax", "0x1004bdab"], ["0x1008203c", "call _Tree<LegoAnimPresenter *,LegoAnimPresenter *,set<LegoAnimPresenter *,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Kfn,LegoAnimPresenterSetCompare,allocator<LegoAnimPresenter *> >::_Min (FUNCTION)", "0x1004bdac"], ["0x10082041", "add esp, 4", "0x1004bdb1"], ["0x10082044", "mov dword ptr [ebp - 0x10], eax", "0x1004bdb4"], ["0x10082047", "jmp 0x24", "0x1004bdb7"], ["0x10082049", "mov eax, dword ptr [ebp - 0x10]", "0x1004bdb9"], ["0x1008204c", "mov ecx, dword ptr [eax + 4]", "0x1004bdbc"], ["0x1008204f", "cmp dword ptr [ecx + 8], eax", "0x1004bdbf"], ["0x10082052", "jne 0xe", "0x1004bdc2"]]}]]]}, {"address": "0x100822a0", "recomp": "0x1004c010", "name": "_Tree<LegoPathActor *,LegoPathActor *,set<LegoPathActor *,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Kfn,LegoPathActorSetCompare,allocator<LegoPathActor *> >::_Min", "matching": 1.0, "diff": []}, {"address": "0x100822c0", "recomp": "0x1004c2c0", "name": "LegoJetskiRaceActor::Animate`vtordisp{-4, 0}'", "matching": 1.0, "diff": []}, {"address": "0x100822d0", "recomp": "0x1004c2e0", "name": "LegoCarRaceActor::SwitchBoundary`vtordisp{-4, 4294966876}'", "matching": 1.0, "diff": []}, {"address": "0x100822e0", "recomp": "0x1004c2f0", "name": "LegoCarRaceActor::VTable0x9c`vtordisp{-4, 4294966876}'", "matching": 1.0, "diff": []}, {"address": "0x100822f0", "recomp": "0x100822b0", "name": "HistoryBook::HistoryBook", "matching": 1.0, "diff": []}, {"address": "0x10082390", "recomp": "0x10082350", "name": "HistoryBook::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100823a0", "recomp": "0x10082360", "name": "HistoryBook::IsA", "matching": 1.0, "diff": []}, {"address": "0x100824b0", "recomp": "0x10082470", "name": "HistoryBook::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100824d0", "recomp": "0x10082490", "name": "HistoryBook::~HistoryBook", "matching": 1.0, "effective": true, "diff": [["@@ -0x10082530,45 +0x100824f0,45 @@", [{"both": [["0x10082530", "push 1", "0x100824f0"], ["0x10082532", "mov eax, dword ptr [ecx]", "0x100824f2"], ["0x10082534", "call dword ptr [eax]", "0x100824f4"], ["0x10082536", "mov ecx, dword ptr [esi]", "0x100824f6"], ["0x10082538", "test ecx, ecx", "0x100824f8"], ["0x1008253a", "je 0x6", "0x100824fa"], ["0x1008253c", "push 1", "0x100824fc"], ["0x1008253e", "mov eax, dword ptr [ecx]", "0x100824fe"], ["0x10082540", "call dword ptr [eax]", "0x10082500"], ["0x10082542", "mov dword ptr [esi], 0", "0x10082502"]]}, {"orig": [["0x10082548", "xor bx, bx"], ["0x1008254b", "lea esi, [edi*8]"], ["0x10082552", "sub esi, edi"], ["0x10082554", "movsx eax, bx"], ["0x10082557", "add eax, esi"]], "recomp": [["0x10082508", "xor si, si"], ["0x1008250b", "lea ebx, [edi*8]"], ["0x10082512", "sub ebx, edi"], ["0x10082514", "movsx eax, si"], ["0x10082517", "add eax, ebx"]]}, {"both": [["0x10082559", "mov ecx, dword ptr [ebp - 0x14]", "0x10082519"], ["0x1008255c", "lea edi, [ecx + eax*4 + 0x164]", "0x1008251c"], ["0x10082563", "mov eax, dword ptr [edi]", "0x10082523"], ["0x10082565", "test eax, eax", "0x10082525"], ["0x10082567", "je 0x1f", "0x10082527"], ["0x10082569", "mov ecx, dword ptr [eax + 0x1c]", "0x10082529"], ["0x1008256c", "test ecx, ecx", "0x1008252c"], ["0x1008256e", "je 0x6", "0x1008252e"], ["0x10082570", "push 1", "0x10082530"], ["0x10082572", "mov eax, dword ptr [ecx]", "0x10082532"], ["0x10082574", "call dword ptr [eax]", "0x10082534"], ["0x10082576", "mov ecx, dword ptr [edi]", "0x10082536"], ["0x10082578", "test ecx, ecx", "0x10082538"], ["0x1008257a", "je 0x6", "0x1008253a"], ["0x1008257c", "push 1", "0x1008253c"], ["0x1008257e", "mov eax, dword ptr [ecx]", "0x1008253e"], ["0x10082580", "call dword ptr [eax]", "0x10082540"], ["0x10082582", "mov dword ptr [edi], 0", "0x10082542"]]}, {"orig": [["0x10082588", "inc bx"], ["0x1008258a", "cmp bx, 7"]], "recomp": [["0x10082548", "inc si"], ["0x1008254a", "cmp si, 7"]]}, {"both": [["0x1008258e", "jl -0x3c", "0x1008254e"], ["0x10082590", "inc word ptr [ebp - 0xe]", "0x10082550"], ["0x10082594", "jmp -0x99", "0x10082554"], ["0x10082599", "mov ecx, dword ptr [ebp - 0x14]", "0x10082559"], ["0x1008259c", "push ecx", "0x1008255c"], ["0x1008259d", "call InputManager (FUNCTION)", "0x1008255d"], ["0x100825a2", "mov ecx, eax", "0x10082562"], ["0x100825a4", "call LegoInputManager::UnRegister (FUNCTION)", "0x10082564"], ["0x100825a9", "call InputManager (FUNCTION)", "0x10082569"], ["0x100825ae", "mov ecx, dword ptr [ebp - 0x14]", "0x1008256e"]]}]]]}, {"address": "0x10082610", "recomp": "0x100825d0", "name": "HistoryBook::Create", "matching": 1.0, "diff": []}, {"address": "0x10082680", "recomp": "0x10082640", "name": "HistoryBook::Notify", "matching": 1.0, "diff": []}, {"address": "0x100826f0", "recomp": "0x100826b0", "name": "HistoryBook::ReadyWorld", "matching": 0.7091295116772823, "diff": [["@@ -0x100826f9,188 +0x100826b9,189 @@", [{"both": [["0x100826f9", "push edi", "0x100826b9"], ["0x100826fa", "push ebp", "0x100826ba"], ["0x100826fb", "call LegoWorld::ReadyWorld (FUNCTION)", "0x100826bb"], ["0x10082700", "call GameState (FUNCTION)", "0x100826c0"], ["0x10082705", "lea ecx, [eax + 0xa6]", "0x100826c5"], ["0x1008270b", "call LegoGameState::History::WriteScoreHistory (FUNCTION)", "0x100826cb"], ["0x10082710", "mov eax, dword ptr ['A_Bitmap' (STRING)]", "0x100826d0"], ["0x10082715", "mov ebx, dword ptr [<OFFSET5>]", "0x100826d5"], ["0x1008271b", "xor si, si", "0x100826db"], ["0x1008271e", "mov ecx, 'A_Bitmap' (STRING)", "0x100826de"]]}, {"orig": [["0x10082723", "cmp si, 0x1a"]], "recomp": []}, {"both": [["0x10082727", "lea edx, [esp + 0x40]", "0x100826e3"], ["0x1008272b", "mov cl, byte ptr [ecx + 8]", "0x100826e7"], ["0x1008272e", "mov dword ptr [edx], eax", "0x100826ea"], ["0x10082730", "mov dword ptr [edx + 4], ebx", "0x100826ec"], ["0x10082733", "mov byte ptr [edx + 8], cl", "0x100826ef"]]}, {"orig": [["0x10082736", "jge 0x25"]], "recomp": []}, {"both": [["0x10082738", "lea eax, [esp + 0x40]", "0x100826f2"], ["0x1008273c", "mov ecx, dword ptr [esp + 0x18]", "0x100826f6"], ["0x10082740", "push eax", "0x100826fa"], ["0x10082741", "push 'MxStillPresenter' (STRING)", "0x100826fb"], ["0x10082746", "call LegoWorld::Find (FUNCTION)", "0x10082700"]]}, {"orig": [["0x1008274b", "movsx ecx, si"]], "recomp": []}, {"both": [["0x1008274e", "mov edx, dword ptr [esp + 0x18]", "0x10082705"], ["0x10082752", "inc byte ptr [esp + 0x40]", "0x10082709"]]}, {"orig": [], "recomp": [["0x1008270d", "movsx ecx, si"], ["0x10082710", "inc si"]]}, {"both": [["0x10082756", "mov dword ptr [edx + ecx*4 + 0xfc], eax", "0x10082712"]]}, {"orig": [["0x1008275d", "inc si"]], "recomp": []}, {"both": [["0x1008275f", "cmp si, 0x1a", "0x10082719"], ["0x10082763", "jl -0x2d", "0x1008271d"], ["0x10082765", "mov ecx, dword ptr [esp + 0x18]", "0x1008271f"], ["0x10082769", "push 'ScoreBox' (STRING)", "0x10082723"], ["0x1008276e", "push 'MxStillPresenter' (STRING)", "0x10082728"], ["0x10082773", "call LegoWorld::Find (FUNCTION)", "0x1008272d"], ["0x10082778", "mov byte ptr [esp + 0x14], 0x76", "0x10082732"], ["0x1008277d", "mov byte ptr [esp + 0x15], 0x4c", "0x10082737"], ["0x10082782", "mov byte ptr [esp + 0x16], 0x38", "0x1008273c"], ["0x10082787", "mov dword ptr [esp + 0x24], 0x79", "0x10082741"], ["0x1008278f", "mov word ptr [esp + 0x12], 0", "0x10082749"], ["0x10082796", "mov dword ptr [esp + 0x30], eax", "0x10082750"], ["0x1008279a", "call GameState (FUNCTION)", "0x10082754"], ["0x1008279f", "mov cx, word ptr [esp + 0x12]", "0x10082759"], ["0x100827a4", "cmp word ptr [eax + 0xa6], cx", "0x1008275e"]]}, {"orig": [["0x100827ab", "jle 0x244"]], "recomp": [["0x10082765", "jle 0x259"]]}, {"both": [["0x100827b1", "call GameState (FUNCTION)", "0x1008276b"], ["0x100827b6", "mov cx, word ptr [esp + 0x12]", "0x10082770"]]}, {"orig": [["0x100827bb", "add eax, 0xa6"], ["0x100827c0", "cmp word ptr [eax], cx"]], "recomp": [["0x10082775", "cmp word ptr [eax + 0xa6], cx"]]}, {"both": [["0x100827c3", "jg 0xa", "0x1008277c"], ["0x100827c5", "mov dword ptr [esp + 0x28], 0", "0x1008277e"]]}, {"orig": [["0x100827cd", "jmp 0x15"]], "recomp": [["0x10082786", "jmp 0x18"]]}, {"both": [["0x100827cf", "movsx ecx, word ptr [esp + 0x12]", "0x10082788"], ["0x100827d4", "lea edx, [ecx + ecx*4]", "0x1008278d"], ["0x100827d7", "lea edx, [edx + edx*8]", "0x10082790"], ["0x100827da", "sub edx, ecx", "0x10082793"]]}, {"orig": [["0x100827dc", "lea eax, [edx + eax + 2]"]], "recomp": [["0x10082795", "lea eax, [edx + eax + 0xa8]"]]}, {"both": [["0x100827e0", "mov dword ptr [esp + 0x28], eax", "0x1008279c"], ["0x100827e4", "movsx eax, word ptr [esp + 0x12]", "0x100827a0"], ["0x100827e9", "mov edx, dword ptr [esp + 0x18]", "0x100827a5"], ["0x100827ed", "mov dword ptr [esp + 0x2c], eax", "0x100827a9"], ["0x100827f1", "lea ecx, [edx + eax*4 + 0x394]", "0x100827ad"], ["0x100827f8", "mov eax, dword ptr [esp + 0x30]", "0x100827b4"], ["0x100827fc", "mov dword ptr [esp + 0x1c], ecx", "0x100827b8"], ["0x10082800", "mov ecx, eax", "0x100827bc"], ["0x10082802", "mov ebx, dword ptr [eax]", "0x100827be"], ["0x10082804", "call dword ptr [ebx + 0x8c]", "0x100827c0"], ["0x1008280a", "cmp word ptr [esp + 0x12], 0xa", "0x100827c6"]]}, {"orig": [["0x10082810", "mov edx, dword ptr [esp + 0x1c]"]], "recomp": [["0x100827cc", "mov ecx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x10082814", "mov dword ptr [esp + 0x20], 0x90", "0x100827d0"]]}, {"orig": [["0x1008281c", "mov dword ptr [edx], eax"]], "recomp": [["0x100827d8", "mov dword ptr [ecx], eax"]]}, {"both": [["0x1008281e", "jl 0x12", "0x100827da"], ["0x10082820", "jne 0x8", "0x100827dc"], ["0x10082822", "mov dword ptr [esp + 0x24], 0x79", "0x100827de"], ["0x1008282a", "mov dword ptr [esp + 0x20], 0x158", "0x100827e6"], ["0x10082832", "mov dword ptr [esp + 0x38], 1", "0x100827ee"], ["0x1008283a", "mov dword ptr [esp + 0x3c], 5", "0x100827f6"], ["0x10082842", "mov eax, dword ptr [esp + 0x28]", "0x100827fe"], ["0x10082846", "mov dword ptr [esp + 0x34], eax", "0x10082802"]]}, {"orig": [["0x1008284a", "xor esi, esi"], ["0x1008284c", "mov edi, 1"]], "recomp": [["0x10082806", "xor ebp, ebp"], ["0x10082808", "mov esi, 1"]]}, {"both": [["0x10082851", "mov eax, dword ptr [esp + 0x34]", "0x1008280d"]]}, {"orig": [["0x10082855", "mov cl, byte ptr [eax + esi + 2]"], ["0x10082859", "test cl, cl"], ["0x1008285b", "je 0xb9"], ["0x10082861", "xor eax, eax"], ["0x10082863", "mov edx, dword ptr [esp + 0x1c]"], ["0x10082867", "mov edx, dword ptr [edx]"], ["0x10082869", "cmp dword ptr [edx + 0x54], 0"], ["0x1008286d", "je 0x21"]], "recomp": [["0x10082811", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10082815", "mov al, byte ptr [eax + ebp + 2]"], ["0x10082819", "mov byte ptr [esp + 0x11], al"], ["0x1008281d", "mov eax, dword ptr [ecx]"], ["0x1008281f", "cmp byte ptr [esp + 0x11], 0"], ["0x10082824", "je 0xbf"], ["0x1008282a", "xor ecx, ecx"], ["0x1008282c", "cmp dword ptr [eax + 0x54], 0"], ["0x10082830", "je 0x23"]]}, {"both": [["0x1008286f", "xor ebx, ebx", "0x10082832"], ["0x10082871", "xor edx, edx", "0x10082834"]]}, {"orig": [["0x10082873", "mov bl, cl"]], "recomp": [["0x10082836", "mov bl, byte ptr [esp + 0x11]"]]}, {"both": [["0x10082875", "mov dl, byte ptr [esp + ebx + 0x13]", "0x1008283a"], ["0x10082879", "mov bl, dl", "0x1008283e"], ["0x1008287b", "mov bh, bl", "0x10082840"], ["0x1008287d", "mov bl, dl", "0x10082842"], ["0x1008287f", "xor edx, edx", "0x10082844"]]}, {"orig": [["0x10082881", "mov ebp, ebx"], ["0x10082883", "shl ebp, 0x10"], ["0x10082886", "mov bp, bx"], ["0x10082889", "mov dword ptr [edx], ebp"], ["0x1008288b", "jmp 0x80"], ["0x10082890", "mov ebx, dword ptr [edx + 0x50]"], ["0x10082893", "mov ebp, dword ptr [ebx + 0xc]"], ["0x10082896", "mov edx, dword ptr [ebp + 0x10]"]], "recomp": [["0x10082846", "mov edi, ebx"], ["0x10082848", "shl edi, 0x10"], ["0x1008284b", "mov di, bx"], ["0x1008284e", "mov dword ptr [edx], edi"], ["0x10082850", "jmp 0x8a"], ["0x10082855", "mov edx, dword ptr [eax + 0x50]"], ["0x10082858", "mov edi, dword ptr [edx + 0xc]"], ["0x1008285b", "mov edx, dword ptr [edi + 0x10]"]]}, {"both": [["0x10082899", "test edx, edx", "0x1008285e"]]}, {"orig": [["0x1008289b", "jne 0x2f"]], "recomp": [["0x10082860", "jne 0x32"]]}, {"both": [["0x1008289d", "cmp edx, 0x10", "0x10082862"], ["0x100828a0", "je 0x7", "0x10082865"]]}, {"orig": [["0x100828a2", "mov edx, dword ptr [ebp + 8]"]], "recomp": [["0x10082867", "mov edx, dword ptr [edi + 8]"]]}, {"both": [["0x100828a5", "test edx, edx", "0x1008286a"], ["0x100828a7", "jge 0x5", "0x1008286c"]]}, {"orig": [["0x100828a9", "lea edx, [edi + eax]"]], "recomp": [["0x1008286e", "lea edx, [esi + ecx]"]]}, {"both": [["0x100828ac", "jmp 0x9", "0x10082871"], ["0x100828ae", "jg 0x2", "0x10082873"], ["0x100828b0", "neg edx", "0x10082875"]]}, {"orig": [["0x100828b2", "sub edx, eax"], ["0x100828b4", "sub edx, edi"]], "recomp": [["0x10082877", "sub edx, esi"], ["0x10082879", "sub edx, ecx"]]}, {"both": [["0x100828b6", "dec edx", "0x1008287b"]]}, {"orig": [["0x100828b7", "mov ebp, dword ptr [ebp + 4]"], ["0x100828ba", "add ebp, 3"], ["0x100828bd", "and ebp, 0xfffffffc"], ["0x100828c0", "imul ebp, edx"], ["0x100828c3", "add ebp, dword ptr [ebx + 0x14]"], ["0x100828c6", "add ebp, dword ptr [esp + 0x38]"], ["0x100828ca", "jmp 0x29"]], "recomp": [["0x1008287c", "mov edi, dword ptr [edi + 4]"], ["0x1008287f", "add edi, 3"], ["0x10082882", "and edi, 0xfffffffc"], ["0x10082885", "imul edi, edx"], ["0x10082888", "mov edx, dword ptr [eax + 0x50]"], ["0x1008288b", "add edi, dword ptr [edx + 0x14]"], ["0x1008288e", "add edi, dword ptr [esp + 0x38]"], ["0x10082892", "jmp 0x2f"]]}, {"both": [["0x100828cc", "cmp edx, 0x10", "0x10082894"]]}, {"orig": [["0x100828cf", "jne 0x5"], ["0x100828d1", "mov ebp, dword ptr [ebx + 0x14]"], ["0x100828d4", "jmp 0x1f"], ["0x100828d6", "mov edx, dword ptr [ebp + 8]"]], "recomp": [["0x10082897", "jne 0x8"], ["0x10082899", "mov edx, dword ptr [eax + 0x50]"], ["0x1008289c", "mov edi, dword ptr [edx + 0x14]"], ["0x1008289f", "jmp 0x22"], ["0x100828a1", "mov edx, dword ptr [edi + 8]"]]}, {"both": [["0x100828d9", "test edx, edx", "0x100828a4"], ["0x100828db", "jge 0x4", "0x100828a6"], ["0x100828dd", "xor edx, edx", "0x100828a8"], ["0x100828df", "jmp 0x5", "0x100828aa"], ["0x100828e1", "jg 0x2", "0x100828ac"], ["0x100828e3", "neg edx", "0x100828ae"], ["0x100828e5", "dec edx", "0x100828b0"]]}, {"orig": [["0x100828e6", "mov ebp, dword ptr [ebp + 4]"], ["0x100828e9", "add ebp, 3"], ["0x100828ec", "and ebp, 0xfffffffc"], ["0x100828ef", "imul ebp, edx"], ["0x100828f2", "add ebp, dword ptr [ebx + 0x14]"]], "recomp": [["0x100828b1", "mov edi, dword ptr [edi + 4]"], ["0x100828b4", "add edi, 3"], ["0x100828b7", "and edi, 0xfffffffc"], ["0x100828ba", "imul edi, edx"], ["0x100828bd", "mov edx, dword ptr [eax + 0x50]"], ["0x100828c0", "add edi, dword ptr [edx + 0x14]"]]}, {"both": [["0x100828f5", "xor edx, edx", "0x100828c3"], ["0x100828f7", "xor ebx, ebx", "0x100828c5"]]}, {"orig": [["0x100828f9", "mov dl, cl"]], "recomp": [["0x100828c7", "mov dl, byte ptr [esp + 0x11]"]]}, {"both": [["0x100828fb", "mov bl, byte ptr [esp + edx + 0x13]", "0x100828cb"], ["0x100828ff", "mov dl, bl", "0x100828cf"], ["0x10082901", "mov dh, dl", "0x100828d1"], ["0x10082903", "mov dl, bl", "0x100828d3"], ["0x10082905", "mov ebx, edx", "0x100828d5"], ["0x10082907", "shl ebx, 0x10", "0x100828d7"], ["0x1008290a", "mov bx, dx", "0x100828da"]]}, {"orig": [["0x1008290d", "mov dword ptr [ebp], ebx"], ["0x10082910", "inc eax"], ["0x10082911", "cmp eax, 4"], ["0x10082914", "jl -0xb7"], ["0x1008291a", "inc esi"], ["0x1008291b", "add edi, 5"], ["0x1008291e", "cmp esi, 5"], ["0x10082921", "jl -0xd6"]], "recomp": [["0x100828dd", "mov dword ptr [edi], ebx"], ["0x100828df", "inc ecx"], ["0x100828e0", "cmp ecx, 4"], ["0x100828e3", "jl -0xbd"], ["0x100828e9", "inc ebp"], ["0x100828ea", "add esi, 5"], ["0x100828ed", "cmp ebp, 5"], ["0x100828f0", "jl -0xe9"]]}, {"both": [["0x10082927", "add dword ptr [esp + 0x34], 5", "0x100828f6"], ["0x1008292c", "add dword ptr [esp + 0x38], 5", "0x100828fb"], ["0x10082931", "dec dword ptr [esp + 0x3c]", "0x10082900"]]}, {"orig": [["0x10082935", "jne -0xf1"], ["0x1008293b", "mov edx, dword ptr [esp + 0x1c]"]], "recomp": [["0x10082904", "jne -0x104"], ["0x1008290a", "mov ecx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1008293f", "push 1", "0x1008290e"]]}, {"orig": [["0x10082941", "mov ecx, dword ptr [edx]"]], "recomp": [["0x10082910", "mov ecx, dword ptr [ecx]"]]}, {"both": [["0x10082943", "mov eax, dword ptr [ecx]", "0x10082912"], ["0x10082945", "call dword ptr [eax + 0x54]", "0x10082914"]]}, {"orig": [["0x10082948", "mov edx, dword ptr [esp + 0x1c]"]], "recomp": [["0x10082917", "mov ecx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x1008294c", "push 4", "0x1008291b"]]}, {"orig": [["0x1008294e", "mov ecx, dword ptr [edx]"]], "recomp": [["0x1008291d", "mov ecx, dword ptr [ecx]"]]}, {"both": [["0x10082950", "mov eax, dword ptr [ecx]", "0x1008291f"], ["0x10082952", "call dword ptr [eax + 0x44]", "0x10082921"]]}, {"orig": [["0x10082955", "mov edx, dword ptr [esp + 0x1c]"]], "recomp": [["0x10082924", "mov ecx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x10082959", "mov eax, dword ptr [esp + 0x24]", "0x10082928"], ["0x1008295d", "push eax", "0x1008292c"]]}, {"orig": [["0x1008295e", "mov ecx, dword ptr [edx]"]], "recomp": [["0x1008292d", "mov ecx, dword ptr [ecx]"]]}, {"both": [["0x10082960", "xor si, si", "0x1008292f"], ["0x10082963", "mov eax, dword ptr [esp + 0x24]", "0x10082932"], ["0x10082967", "add eax, 0xa1", "0x10082936"], ["0x1008296c", "mov ebx, dword ptr [ecx]", "0x1008293b"], ["0x1008296e", "push eax", "0x1008293d"], ["0x1008296f", "call dword ptr [ebx + 0x88]", "0x1008293e"], ["0x10082975", "mov eax, dword ptr [esp + 0x28]", "0x10082944"], ["0x10082979", "movsx ecx, si", "0x10082948"], ["0x1008297c", "mov bx, word ptr [eax + ecx*2 + 0x1c]", "0x1008294b"], ["0x10082981", "cmp bx, -1", "0x10082950"]]}]], ["@@ -0x100829cd,20 +0x1008299c,20 @@", [{"both": [["0x100829cd", "mov edx, dword ptr [esp + 0x20]", "0x1008299c"], ["0x100829d1", "push eax", "0x100829a0"], ["0x100829d2", "push edx", "0x100829a1"], ["0x100829d3", "mov ebx, dword ptr [ecx]", "0x100829a2"], ["0x100829d5", "call dword ptr [ebx + 0x88]", "0x100829a4"], ["0x100829db", "add dword ptr [esp + 0x20], 0x17", "0x100829aa"], ["0x100829e0", "cmp si, 7", "0x100829af"], ["0x100829e4", "jl -0x71", "0x100829b3"], ["0x100829e6", "add dword ptr [esp + 0x24], 0x1b", "0x100829b5"], ["0x100829eb", "inc word ptr [esp + 0x12]", "0x100829ba"]]}, {"orig": [["0x100829f0", "jmp -0x25b"]], "recomp": [["0x100829bf", "jmp -0x270"]]}, {"both": [["0x100829f5", "push 0xb", "0x100829c4"], ["0x100829f7", "call PlayMusic (FUNCTION)", "0x100829c6"], ["0x100829fc", "add esp, 4", "0x100829cb"], ["0x100829ff", "pop ebp", "0x100829ce"], ["0x10082a00", "pop edi", "0x100829cf"], ["0x10082a01", "pop esi", "0x100829d0"], ["0x10082a02", "pop ebx", "0x100829d1"], ["0x10082a03", "add esp, 0x3c", "0x100829d2"], ["0x10082a06", "ret ", "0x100829d5"]]}]]]}, {"address": "0x10082a10", "recomp": "0x100829e0", "name": "HistoryBook::Escape", "matching": 1.0, "diff": []}, {"address": "0x10082a20", "recomp": "0x100829f0", "name": "LegoCharacterManager::LegoCharacterManager", "matching": 1.0, "diff": []}, {"address": "0x10082b90", "recomp": "0x10082b60", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::~_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCha", "matching": 1.0, "diff": []}, {"address": "0x10082c60", "recomp": "0x10082c30", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x10082c60,16 +0x10082c30,16 @@", [{"both": [["0x10082c60", "mov eax, dword ptr [ecx]", "0x10082c30"], ["0x10082c62", "mov edx, dword ptr [eax + 8]", "0x10082c32"]]}, {"orig": [["0x10082c65", "cmp edx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082c35", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edx"]]}, {"both": [["0x10082c6b", "je 0x11", "0x10082c3b"], ["0x10082c6d", "mov eax, dword ptr [edx]", "0x10082c3d"]]}, {"orig": [["0x10082c6f", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082c3f", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082c75", "je 0x4", "0x10082c45"], ["0x10082c77", "mov edx, eax", "0x10082c47"], ["0x10082c79", "jmp -0xe", "0x10082c49"], ["0x10082c7b", "mov dword ptr [ecx], edx", "0x10082c4b"], ["0x10082c7d", "ret ", "0x10082c4d"], ["0x10082c7e", "mov edx, dword ptr [eax + 4]", "0x10082c4e"], ["0x10082c81", "cmp dword ptr [edx + 8], eax", "0x10082c51"], ["0x10082c84", "jne 0xc", "0x10082c54"], ["0x10082c86", "mov dword ptr [ecx], edx", "0x10082c56"], ["0x10082c88", "mov eax, edx", "0x10082c58"]]}]]]}, {"address": "0x10082ca0", "recomp": "0x10082c70", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::erase", "matching": 0.7956403269754768, "diff": [["@@ -0x10082ca0,61 +0x10082c70,61 @@", [{"both": [["0x10082ca0", "mov eax, dword ptr [esp + 8]", "0x10082c70"], ["0x10082ca4", "sub esp, 4", "0x10082c74"], ["0x10082ca7", "mov dword ptr [esp], eax", "0x10082c77"], ["0x10082cab", "push ebx", "0x10082c7b"], ["0x10082cac", "push esi", "0x10082c7c"], ["0x10082cad", "push edi", "0x10082c7d"], ["0x10082cae", "push ebp", "0x10082c7e"], ["0x10082caf", "mov esi, ecx", "0x10082c7f"], ["0x10082cb1", "mov ecx, dword ptr [eax + 8]", "0x10082c81"]]}, {"orig": [["0x10082cb4", "cmp ecx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082c84", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x10082cba", "je 0xe", "0x10082c8a"], ["0x10082cbc", "mov eax, dword ptr [ecx]", "0x10082c8c"]]}, {"orig": [["0x10082cbe", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082c8e", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082cc4", "je 0x29", "0x10082c94"], ["0x10082cc6", "mov ecx, eax", "0x10082c96"], ["0x10082cc8", "jmp -0xe", "0x10082c98"], ["0x10082cca", "mov eax, dword ptr [esp + 0x1c]", "0x10082c9a"], ["0x10082cce", "mov ecx, dword ptr [eax + 4]", "0x10082c9e"], ["0x10082cd1", "cmp dword ptr [ecx + 8], eax", "0x10082ca1"], ["0x10082cd4", "jne 0x10", "0x10082ca4"], ["0x10082cd6", "mov dword ptr [esp + 0x1c], ecx", "0x10082ca6"], ["0x10082cda", "mov ecx, dword ptr [ecx + 4]", "0x10082caa"], ["0x10082cdd", "mov eax, dword ptr [esp + 0x1c]", "0x10082cad"], ["0x10082ce1", "cmp dword ptr [ecx + 8], eax", "0x10082cb1"], ["0x10082ce4", "je -0x10", "0x10082cb4"], ["0x10082ce6", "mov eax, dword ptr [esp + 0x1c]", "0x10082cb6"], ["0x10082cea", "cmp dword ptr [eax + 8], ecx", "0x10082cba"], ["0x10082ced", "je 0x4", "0x10082cbd"], ["0x10082cef", "mov dword ptr [esp + 0x1c], ecx", "0x10082cbf"], ["0x10082cf3", "mov ecx, dword ptr [esp + 0x10]", "0x10082cc3"], ["0x10082cf7", "mov ebx, dword ptr [ecx]", "0x10082cc7"]]}, {"orig": [["0x10082cf9", "cmp ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082cc9", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10082cff", "je 0x26", "0x10082ccf"], ["0x10082d01", "lea edi, [ecx + 8]", "0x10082cd1"], ["0x10082d04", "mov edx, dword ptr [edi]", "0x10082cd4"]]}, {"orig": [["0x10082d06", "cmp edx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082cd6", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edx"]]}, {"both": [["0x10082d0c", "je 0x15", "0x10082cdc"], ["0x10082d0e", "mov eax, dword ptr [edx]", "0x10082cde"]]}, {"orig": [["0x10082d10", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082ce0", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082d16", "je 0x4", "0x10082ce6"], ["0x10082d18", "mov edx, eax", "0x10082ce8"], ["0x10082d1a", "jmp -0xe", "0x10082cea"], ["0x10082d1c", "mov ecx, edx", "0x10082cec"], ["0x10082d1e", "mov edx, dword ptr [edx + 8]", "0x10082cee"], ["0x10082d21", "jmp 0xe", "0x10082cf1"], ["0x10082d23", "mov edx, ebx", "0x10082cf3"], ["0x10082d25", "jmp 0xa", "0x10082cf5"], ["0x10082d27", "mov edi, dword ptr [esp + 0x10]", "0x10082cf7"], ["0x10082d2b", "mov edx, dword ptr [edi + 8]", "0x10082cfb"], ["0x10082d2e", "add edi, 8", "0x10082cfe"]]}, {"orig": [["0x10082d31", "cmp dword ptr [esp + 0x10], ecx"]], "recomp": [["0x10082d01", "cmp ecx, dword ptr [esp + 0x10]"]]}, {"both": [["0x10082d35", "jne 0x8f", "0x10082d05"], ["0x10082d3b", "mov eax, dword ptr [ecx + 4]", "0x10082d0b"], ["0x10082d3e", "mov ebx, dword ptr [esp + 0x10]", "0x10082d0e"], ["0x10082d42", "mov dword ptr [edx + 4], eax", "0x10082d12"], ["0x10082d45", "mov eax, dword ptr [esi + 4]", "0x10082d15"], ["0x10082d48", "add eax, 4", "0x10082d18"], ["0x10082d4b", "cmp dword ptr [eax], ebx", "0x10082d1b"], ["0x10082d4d", "je 0xc", "0x10082d1d"], ["0x10082d4f", "mov eax, dword ptr [ebx + 4]", "0x10082d1f"], ["0x10082d52", "cmp dword ptr [eax], ebx", "0x10082d22"]]}]], ["@@ -0x10082d5b,40 +0x10082d2b,40 @@", [{"both": [["0x10082d5b", "mov dword ptr [eax], edx", "0x10082d2b"], ["0x10082d5d", "mov ebx, dword ptr [esi + 4]", "0x10082d2d"], ["0x10082d60", "mov eax, dword ptr [esp + 0x10]", "0x10082d30"], ["0x10082d64", "cmp dword ptr [ebx], eax", "0x10082d34"], ["0x10082d66", "jne 0x26", "0x10082d36"], ["0x10082d68", "mov eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]", "0x10082d38"], ["0x10082d6d", "cmp dword ptr [edi], eax", "0x10082d3d"], ["0x10082d6f", "je 0x14", "0x10082d3f"], ["0x10082d71", "mov edi, edx", "0x10082d41"], ["0x10082d73", "mov eax, dword ptr [edi]", "0x10082d43"]]}, {"orig": [["0x10082d75", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082d45", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082d7b", "je 0x4", "0x10082d4b"], ["0x10082d7d", "mov edi, eax", "0x10082d4d"], ["0x10082d7f", "jmp -0xe", "0x10082d4f"], ["0x10082d81", "mov dword ptr [ebx], edi", "0x10082d51"], ["0x10082d83", "jmp 0x9", "0x10082d53"], ["0x10082d85", "mov eax, dword ptr [esp + 0x10]", "0x10082d55"], ["0x10082d89", "mov ebp, dword ptr [eax + 4]", "0x10082d59"], ["0x10082d8c", "mov dword ptr [ebx], ebp", "0x10082d5c"], ["0x10082d8e", "mov edi, dword ptr [esi + 4]", "0x10082d5e"], ["0x10082d91", "mov eax, dword ptr [esp + 0x10]", "0x10082d61"], ["0x10082d95", "add edi, 8", "0x10082d65"], ["0x10082d98", "cmp dword ptr [edi], eax", "0x10082d68"], ["0x10082d9a", "jne 0x8a", "0x10082d6a"], ["0x10082da0", "mov ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]", "0x10082d70"], ["0x10082da6", "cmp dword ptr [eax], ebx", "0x10082d76"], ["0x10082da8", "je 0x15", "0x10082d78"], ["0x10082daa", "mov ebx, edx", "0x10082d7a"], ["0x10082dac", "mov eax, dword ptr [ebx + 8]", "0x10082d7c"]]}, {"orig": [["0x10082daf", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082d7f", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082db5", "je 0x4", "0x10082d85"], ["0x10082db7", "mov ebx, eax", "0x10082d87"], ["0x10082db9", "jmp -0xf", "0x10082d89"], ["0x10082dbb", "mov dword ptr [edi], ebx", "0x10082d8b"], ["0x10082dbd", "jmp 0x6b", "0x10082d8d"], ["0x10082dbf", "mov eax, dword ptr [esp + 0x10]", "0x10082d8f"], ["0x10082dc3", "mov ebx, dword ptr [eax + 4]", "0x10082d93"], ["0x10082dc6", "mov dword ptr [edi], ebx", "0x10082d96"], ["0x10082dc8", "jmp 0x60", "0x10082d98"], ["0x10082dca", "mov eax, dword ptr [esp + 0x10]", "0x10082d9a"]]}]], ["@@ -0x10082e0f,43 +0x10082ddf,43 @@", [{"both": [["0x10082e0f", "mov eax, dword ptr [esp + 0x10]", "0x10082ddf"], ["0x10082e13", "mov ebx, dword ptr [eax + 4]", "0x10082de3"], ["0x10082e16", "add eax, 0x14", "0x10082de6"], ["0x10082e19", "mov dword ptr [ecx + 4], ebx", "0x10082de9"], ["0x10082e1c", "mov edi, dword ptr [ecx + 0x14]", "0x10082dec"], ["0x10082e1f", "mov ebx, dword ptr [eax]", "0x10082def"], ["0x10082e21", "mov dword ptr [ecx + 0x14], ebx", "0x10082df1"], ["0x10082e24", "mov ecx, dword ptr [esp + 0x10]", "0x10082df4"], ["0x10082e28", "mov dword ptr [eax], edi", "0x10082df8"], ["0x10082e2a", "cmp dword ptr [ecx + 0x14], 1", "0x10082dfa"]]}, {"orig": [["0x10082e2e", "jne 0x294"]], "recomp": [["0x10082dfe", "jne 0x295"]]}, {"both": [["0x10082e34", "mov eax, dword ptr [esi + 4]", "0x10082e04"], ["0x10082e37", "cmp dword ptr [eax + 4], edx", "0x10082e07"]]}, {"orig": [["0x10082e3a", "je 0x281"]], "recomp": [["0x10082e0a", "je 0x282"]]}, {"both": [["0x10082e40", "cmp dword ptr [edx + 0x14], 1", "0x10082e10"]]}, {"orig": [["0x10082e44", "jne 0x277"]], "recomp": [["0x10082e14", "jne 0x278"]]}, {"both": [["0x10082e4a", "lea ebx, [edx + 4]", "0x10082e1a"], ["0x10082e4d", "mov eax, dword ptr [ebx]", "0x10082e1d"], ["0x10082e4f", "mov edi, dword ptr [eax]", "0x10082e1f"], ["0x10082e51", "cmp edx, edi", "0x10082e21"], ["0x10082e53", "jne 0x73", "0x10082e23"], ["0x10082e55", "mov edi, dword ptr [eax + 8]", "0x10082e25"], ["0x10082e58", "cmp dword ptr [edi + 0x14], 0", "0x10082e28"], ["0x10082e5c", "jne 0x4f", "0x10082e2c"], ["0x10082e5e", "mov dword ptr [edi + 0x14], 1", "0x10082e2e"], ["0x10082e65", "mov eax, dword ptr [ebx]", "0x10082e35"], ["0x10082e67", "mov dword ptr [eax + 0x14], 0", "0x10082e37"], ["0x10082e6e", "mov ebp, dword ptr [ebx]", "0x10082e3e"], ["0x10082e70", "mov eax, dword ptr [ebp + 8]", "0x10082e40"], ["0x10082e73", "mov edi, dword ptr [eax]", "0x10082e43"], ["0x10082e75", "mov dword ptr [ebp + 8], edi", "0x10082e45"], ["0x10082e78", "mov edi, dword ptr [eax]", "0x10082e48"]]}, {"orig": [["0x10082e7a", "cmp edi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082e4a", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10082e80", "je 0x3", "0x10082e50"], ["0x10082e82", "mov dword ptr [edi + 4], ebp", "0x10082e52"], ["0x10082e85", "mov edi, dword ptr [ebp + 4]", "0x10082e55"], ["0x10082e88", "mov dword ptr [eax + 4], edi", "0x10082e58"], ["0x10082e8b", "mov edi, dword ptr [esi + 4]", "0x10082e5b"], ["0x10082e8e", "add edi, 4", "0x10082e5e"], ["0x10082e91", "cmp dword ptr [edi], ebp", "0x10082e61"], ["0x10082e93", "je 0xc", "0x10082e63"], ["0x10082e95", "mov edi, dword ptr [ebp + 4]", "0x10082e65"], ["0x10082e98", "cmp dword ptr [edi], ebp", "0x10082e68"]]}]], ["@@ -0x10082eb9,130 +0x10082e89,130 @@", [{"both": [["0x10082eb9", "mov eax, dword ptr [edi + 8]", "0x10082e89"], ["0x10082ebc", "cmp dword ptr [eax + 0x14], 1", "0x10082e8c"], ["0x10082ec0", "jne 0x8d", "0x10082e90"], ["0x10082ec6", "jmp 0x71", "0x10082e96"], ["0x10082ec8", "cmp dword ptr [edi + 0x14], 0", "0x10082e98"], ["0x10082ecc", "jne 0x52", "0x10082e9c"], ["0x10082ece", "mov dword ptr [edi + 0x14], 1", "0x10082e9e"], ["0x10082ed5", "mov eax, dword ptr [ebx]", "0x10082ea5"], ["0x10082ed7", "mov dword ptr [eax + 0x14], 0", "0x10082ea7"], ["0x10082ede", "mov ebp, dword ptr [ebx]", "0x10082eae"]]}, {"orig": [["0x10082ee0", "mov edi, dword ptr [ebp]"], ["0x10082ee3", "mov eax, dword ptr [edi + 8]"], ["0x10082ee6", "mov dword ptr [ebp], eax"], ["0x10082ee9", "mov eax, dword ptr [edi + 8]"], ["0x10082eec", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082eb0", "mov eax, dword ptr [ebp]"], ["0x10082eb3", "mov edi, dword ptr [eax + 8]"], ["0x10082eb6", "mov dword ptr [ebp], edi"], ["0x10082eb9", "mov edi, dword ptr [eax + 8]"], ["0x10082ebc", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10082ef2", "je 0x3", "0x10082ec2"]]}, {"orig": [["0x10082ef4", "mov dword ptr [eax + 4], ebp"], ["0x10082ef7", "mov eax, dword ptr [ebp + 4]"], ["0x10082efa", "mov dword ptr [edi + 4], eax"], ["0x10082efd", "mov eax, dword ptr [esi + 4]"], ["0x10082f00", "add eax, 4"], ["0x10082f03", "cmp dword ptr [eax], ebp"]], "recomp": [["0x10082ec4", "mov dword ptr [edi + 4], ebp"], ["0x10082ec7", "mov edi, dword ptr [ebp + 4]"], ["0x10082eca", "mov dword ptr [eax + 4], edi"], ["0x10082ecd", "mov edi, dword ptr [esi + 4]"], ["0x10082ed0", "add edi, 4"], ["0x10082ed3", "cmp dword ptr [edi], ebp"]]}, {"both": [["0x10082f05", "je 0xd", "0x10082ed5"]]}, {"orig": [["0x10082f07", "mov eax, dword ptr [ebp + 4]"], ["0x10082f0a", "add eax, 8"], ["0x10082f0d", "cmp dword ptr [eax], ebp"]], "recomp": [["0x10082ed7", "mov edi, dword ptr [ebp + 4]"], ["0x10082eda", "add edi, 8"], ["0x10082edd", "cmp dword ptr [edi], ebp"]]}, {"both": [["0x10082f0f", "je 0x3", "0x10082edf"]]}, {"orig": [["0x10082f11", "mov eax, dword ptr [ebp + 4]"], ["0x10082f14", "mov dword ptr [eax], edi"], ["0x10082f16", "mov dword ptr [edi + 8], ebp"], ["0x10082f19", "mov dword ptr [ebp + 4], edi"]], "recomp": [["0x10082ee1", "mov edi, dword ptr [ebp + 4]"], ["0x10082ee4", "mov dword ptr [edi], eax"], ["0x10082ee6", "mov dword ptr [eax + 8], ebp"], ["0x10082ee9", "mov dword ptr [ebp + 4], eax"]]}, {"both": [["0x10082f1c", "mov eax, dword ptr [ebx]", "0x10082eec"], ["0x10082f1e", "mov edi, dword ptr [eax]", "0x10082eee"], ["0x10082f20", "mov eax, dword ptr [edi + 8]", "0x10082ef0"], ["0x10082f23", "cmp dword ptr [eax + 0x14], 1", "0x10082ef3"]]}, {"orig": [["0x10082f27", "jne 0xe6"]], "recomp": [["0x10082ef7", "jne 0xe7"]]}, {"both": [["0x10082f2d", "mov eax, dword ptr [edi]", "0x10082efd"], ["0x10082f2f", "cmp dword ptr [eax + 0x14], 1", "0x10082eff"]]}, {"orig": [["0x10082f33", "jne 0xda"]], "recomp": [["0x10082f03", "jne 0xdb"]]}, {"both": [["0x10082f39", "mov dword ptr [edi + 0x14], 0", "0x10082f09"], ["0x10082f40", "mov edx, dword ptr [ebx]", "0x10082f10"], ["0x10082f42", "mov eax, dword ptr [esi + 4]", "0x10082f12"], ["0x10082f45", "cmp dword ptr [eax + 4], edx", "0x10082f15"], ["0x10082f48", "jne -0x10e", "0x10082f18"]]}, {"orig": [["0x10082f4e", "jmp 0x16e"]], "recomp": [["0x10082f1e", "jmp 0x16f"]]}, {"both": [["0x10082f53", "mov eax, dword ptr [edi + 8]", "0x10082f23"], ["0x10082f56", "cmp dword ptr [eax + 0x14], 1", "0x10082f26"]]}, {"orig": [["0x10082f5a", "jne 0x52"]], "recomp": [["0x10082f2a", "jne 0x53"]]}, {"both": [["0x10082f5c", "mov eax, dword ptr [edi]", "0x10082f2c"], ["0x10082f5e", "mov dword ptr [eax + 0x14], 1", "0x10082f2e"], ["0x10082f65", "mov dword ptr [edi + 0x14], 0", "0x10082f35"], ["0x10082f6c", "mov ebx, dword ptr [edi]", "0x10082f3c"], ["0x10082f6e", "mov ebp, dword ptr [ebx + 8]", "0x10082f3e"], ["0x10082f71", "mov dword ptr [edi], ebp", "0x10082f41"], ["0x10082f73", "mov eax, dword ptr [ebx + 8]", "0x10082f43"]]}, {"orig": [["0x10082f76", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082f46", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082f7c", "je 0x3", "0x10082f4c"], ["0x10082f7e", "mov dword ptr [eax + 4], edi", "0x10082f4e"], ["0x10082f81", "mov eax, dword ptr [edi + 4]", "0x10082f51"], ["0x10082f84", "mov dword ptr [ebx + 4], eax", "0x10082f54"], ["0x10082f87", "mov eax, dword ptr [esi + 4]", "0x10082f57"], ["0x10082f8a", "add eax, 4", "0x10082f5a"], ["0x10082f8d", "cmp dword ptr [eax], edi", "0x10082f5d"]]}, {"orig": [["0x10082f8f", "je 0xf"], ["0x10082f91", "mov ebp, dword ptr [edi + 4]"], ["0x10082f94", "lea eax, [ebp + 8]"], ["0x10082f97", "cmp dword ptr [eax], edi"], ["0x10082f99", "je 0x5"]], "recomp": [["0x10082f5f", "je 0x10"], ["0x10082f61", "mov eax, dword ptr [edi + 4]"], ["0x10082f64", "lea ebp, [eax + 8]"], ["0x10082f67", "cmp dword ptr [ebp], edi"], ["0x10082f6a", "jne 0x5"]]}, {"both": [["0x10082f9b", "mov dword ptr [ebp], ebx", "0x10082f6c"], ["0x10082f9e", "jmp 0x2", "0x10082f6f"], ["0x10082fa0", "mov dword ptr [eax], ebx", "0x10082f71"], ["0x10082fa2", "mov dword ptr [ebx + 8], edi", "0x10082f73"], ["0x10082fa5", "mov dword ptr [edi + 4], ebx", "0x10082f76"], ["0x10082fa8", "mov eax, dword ptr [edx + 4]", "0x10082f79"], ["0x10082fab", "mov edi, dword ptr [eax + 8]", "0x10082f7c"], ["0x10082fae", "mov eax, dword ptr [edx + 4]", "0x10082f7f"], ["0x10082fb1", "mov ebx, dword ptr [eax + 0x14]", "0x10082f82"], ["0x10082fb4", "mov dword ptr [edi + 0x14], ebx", "0x10082f85"], ["0x10082fb7", "mov ebx, 1", "0x10082f88"], ["0x10082fbc", "mov eax, dword ptr [edx + 4]", "0x10082f8d"], ["0x10082fbf", "mov dword ptr [eax + 0x14], ebx", "0x10082f90"], ["0x10082fc2", "mov ebp, dword ptr [edi + 8]", "0x10082f93"], ["0x10082fc5", "mov dword ptr [ebp + 0x14], ebx", "0x10082f96"]]}, {"orig": [["0x10082fc8", "mov edi, dword ptr [edx + 4]"], ["0x10082fcb", "mov ebx, dword ptr [edi + 8]"], ["0x10082fce", "mov eax, dword ptr [ebx]"], ["0x10082fd0", "mov dword ptr [edi + 8], eax"], ["0x10082fd3", "mov eax, dword ptr [ebx]"], ["0x10082fd5", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10082f99", "mov ebx, dword ptr [edx + 4]"], ["0x10082f9c", "mov edi, dword ptr [ebx + 8]"], ["0x10082f9f", "mov eax, dword ptr [edi]"], ["0x10082fa1", "mov dword ptr [ebx + 8], eax"], ["0x10082fa4", "mov eax, dword ptr [edi]"], ["0x10082fa6", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10082fdb", "je 0x3", "0x10082fac"]]}, {"orig": [["0x10082fdd", "mov dword ptr [eax + 4], edi"], ["0x10082fe0", "mov eax, dword ptr [edi + 4]"], ["0x10082fe3", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x10082fae", "mov dword ptr [eax + 4], ebx"], ["0x10082fb1", "mov eax, dword ptr [ebx + 4]"], ["0x10082fb4", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x10082fe6", "mov eax, dword ptr [esi + 4]", "0x10082fb7"], ["0x10082fe9", "add eax, 4", "0x10082fba"]]}, {"orig": [["0x10082fec", "cmp dword ptr [eax], edi"]], "recomp": [["0x10082fbd", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x10082fee", "je 0x1a", "0x10082fbf"]]}, {"orig": [["0x10082ff0", "mov eax, dword ptr [edi + 4]"], ["0x10082ff3", "cmp dword ptr [eax], edi"]], "recomp": [["0x10082fc1", "mov eax, dword ptr [ebx + 4]"], ["0x10082fc4", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x10082ff5", "je 0xa", "0x10082fc6"]]}, {"orig": [["0x10082ff7", "mov dword ptr [eax + 8], ebx"], ["0x10082ffa", "mov dword ptr [ebx], edi"]], "recomp": [["0x10082fc8", "mov dword ptr [eax + 8], edi"], ["0x10082fcb", "mov dword ptr [edi], ebx"]]}, {"both": [["0x10082ffc", "jmp 0xbd", "0x10082fcd"]]}, {"orig": [["0x10083001", "mov dword ptr [eax], ebx"], ["0x10083003", "mov dword ptr [ebx], edi"]], "recomp": [["0x10082fd2", "mov dword ptr [eax], edi"], ["0x10082fd4", "mov dword ptr [edi], ebx"]]}, {"both": [["0x10083005", "jmp 0xb4", "0x10082fd6"]]}, {"orig": [["0x1008300a", "mov dword ptr [eax], ebx"], ["0x1008300c", "mov dword ptr [ebx], edi"]], "recomp": [["0x10082fdb", "mov dword ptr [eax], edi"], ["0x10082fdd", "mov dword ptr [edi], ebx"]]}, {"both": [["0x1008300e", "jmp 0xab", "0x10082fdf"], ["0x10083013", "mov eax, dword ptr [edi]", "0x10082fe4"], ["0x10083015", "cmp dword ptr [eax + 0x14], 1", "0x10082fe6"], ["0x10083019", "jne 0x4e", "0x10082fea"], ["0x1008301b", "mov eax, dword ptr [edi + 8]", "0x10082fec"], ["0x1008301e", "mov dword ptr [eax + 0x14], 1", "0x10082fef"], ["0x10083025", "mov dword ptr [edi + 0x14], 0", "0x10082ff6"], ["0x1008302c", "mov ebx, dword ptr [edi + 8]", "0x10082ffd"], ["0x1008302f", "mov ebp, dword ptr [ebx]", "0x10083000"], ["0x10083031", "mov dword ptr [edi + 8], ebp", "0x10083002"], ["0x10083034", "mov eax, dword ptr [ebx]", "0x10083005"]]}, {"orig": [["0x10083036", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083007", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1008303c", "je 0x3", "0x1008300d"], ["0x1008303e", "mov dword ptr [eax + 4], edi", "0x1008300f"], ["0x10083041", "mov eax, dword ptr [edi + 4]", "0x10083012"], ["0x10083044", "mov dword ptr [ebx + 4], eax", "0x10083015"], ["0x10083047", "mov eax, dword ptr [esi + 4]", "0x10083018"], ["0x1008304a", "add eax, 4", "0x1008301b"], ["0x1008304d", "cmp dword ptr [eax], edi", "0x1008301e"], ["0x1008304f", "je 0xc", "0x10083020"], ["0x10083051", "mov eax, dword ptr [edi + 4]", "0x10083022"], ["0x10083054", "cmp dword ptr [eax], edi", "0x10083025"]]}]], ["@@ -0x10083064,43 +0x10083035,43 @@", [{"both": [["0x10083064", "mov eax, dword ptr [edx + 4]", "0x10083035"], ["0x10083067", "mov edi, dword ptr [eax]", "0x10083038"], ["0x10083069", "mov eax, dword ptr [edx + 4]", "0x1008303a"], ["0x1008306c", "mov ebx, dword ptr [eax + 0x14]", "0x1008303d"], ["0x1008306f", "mov dword ptr [edi + 0x14], ebx", "0x10083040"], ["0x10083072", "mov ebx, 1", "0x10083043"], ["0x10083077", "mov eax, dword ptr [edx + 4]", "0x10083048"], ["0x1008307a", "mov dword ptr [eax + 0x14], ebx", "0x1008304b"], ["0x1008307d", "mov ebp, dword ptr [edi]", "0x1008304e"], ["0x1008307f", "mov dword ptr [ebp + 0x14], ebx", "0x10083050"]]}, {"orig": [["0x10083082", "mov edi, dword ptr [edx + 4]"], ["0x10083085", "mov ebx, dword ptr [edi]"], ["0x10083087", "mov eax, dword ptr [ebx + 8]"], ["0x1008308a", "mov dword ptr [edi], eax"], ["0x1008308c", "mov eax, dword ptr [ebx + 8]"], ["0x1008308f", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083053", "mov ebx, dword ptr [edx + 4]"], ["0x10083056", "mov edi, dword ptr [ebx]"], ["0x10083058", "mov eax, dword ptr [edi + 8]"], ["0x1008305b", "mov dword ptr [ebx], eax"], ["0x1008305d", "mov eax, dword ptr [edi + 8]"], ["0x10083060", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083095", "je 0x3", "0x10083066"]]}, {"orig": [["0x10083097", "mov dword ptr [eax + 4], edi"], ["0x1008309a", "mov eax, dword ptr [edi + 4]"], ["0x1008309d", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x10083068", "mov dword ptr [eax + 4], ebx"], ["0x1008306b", "mov eax, dword ptr [ebx + 4]"], ["0x1008306e", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x100830a0", "mov eax, dword ptr [esi + 4]", "0x10083071"], ["0x100830a3", "add eax, 4", "0x10083074"]]}, {"orig": [["0x100830a6", "cmp dword ptr [eax], edi"]], "recomp": [["0x10083077", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x100830a8", "je 0xf", "0x10083079"]]}, {"orig": [["0x100830aa", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x1008307b", "mov ebp, dword ptr [ebx + 4]"]]}, {"both": [["0x100830ad", "lea eax, [ebp + 8]", "0x1008307e"]]}, {"orig": [["0x100830b0", "cmp dword ptr [eax], edi"]], "recomp": [["0x10083081", "cmp dword ptr [eax], ebx"]]}, {"both": [["0x100830b2", "je 0x5", "0x10083083"]]}, {"orig": [["0x100830b4", "mov dword ptr [ebp], ebx"]], "recomp": [["0x10083085", "mov dword ptr [ebp], edi"]]}, {"both": [["0x100830b7", "jmp 0x2", "0x10083088"]]}, {"orig": [["0x100830b9", "mov dword ptr [eax], ebx"], ["0x100830bb", "mov dword ptr [ebx + 8], edi"], ["0x100830be", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x1008308a", "mov dword ptr [eax], edi"], ["0x1008308c", "mov dword ptr [edi + 8], ebx"], ["0x1008308f", "mov dword ptr [ebx + 4], edi"]]}, {"both": [["0x100830c1", "mov dword ptr [edx + 0x14], 1", "0x10083092"], ["0x100830c8", "push ecx", "0x10083099"], ["0x100830c9", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008309a"], ["0x100830ce", "mov ecx, dword ptr [esp + 0x20]", "0x1008309f"], ["0x100830d2", "mov eax, dword ptr [esp + 0x1c]", "0x100830a3"], ["0x100830d6", "add esp, 4", "0x100830a7"], ["0x100830d9", "dec dword ptr [esi + 0xc]", "0x100830aa"], ["0x100830dc", "mov dword ptr [eax], ecx", "0x100830ad"], ["0x100830de", "pop ebp", "0x100830af"], ["0x100830df", "pop edi", "0x100830b0"]]}]]]}, {"address": "0x100830f0", "recomp": "0x100830c0", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x100830f0,23 +0x100830c0,23 @@", [{"both": [["0x100830f0", "push ebx", "0x100830c0"], ["0x100830f1", "push esi", "0x100830c1"]]}, {"orig": [["0x100830f2", "mov esi, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100830f6", "push edi", "0x100830c2"]]}, {"orig": [["0x100830f7", "mov edi, ecx"], ["0x100830f9", "mov ebx, esi"], ["0x100830fb", "cmp esi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100830c3", "mov esi, ecx"], ["0x100830c5", "mov ebx, dword ptr [esp + 0x10]"], ["0x100830c9", "mov edi, ebx"], ["0x100830cb", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10083101", "je 0x20", "0x100830d1"]]}, {"orig": [["0x10083103", "mov eax, dword ptr [ebx + 8]"], ["0x10083106", "mov ecx, edi"]], "recomp": [["0x100830d3", "mov eax, dword ptr [edi + 8]"], ["0x100830d6", "mov ecx, esi"]]}, {"both": [["0x10083108", "push eax", "0x100830d8"], ["0x10083109", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Erase (FUNCTION)", "0x100830d9"]]}, {"orig": [["0x1008310e", "mov ebx, dword ptr [ebx]"], ["0x10083110", "push esi"], ["0x10083111", "mov esi, ebx"]], "recomp": [["0x100830de", "mov edi, dword ptr [edi]"], ["0x100830e0", "push ebx"], ["0x100830e1", "mov ebx, edi"]]}, {"both": [["0x10083113", "call ??3@YAXPAX@Z (FUNCTION)", "0x100830e3"], ["0x10083118", "add esp, 4", "0x100830e8"]]}, {"orig": [["0x1008311b", "cmp ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100830eb", "cmp edi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]]}, {"both": [["0x10083121", "jne -0x20", "0x100830f1"], ["0x10083123", "pop edi", "0x100830f3"], ["0x10083124", "pop esi", "0x100830f4"], ["0x10083125", "pop ebx", "0x100830f5"], ["0x10083126", "ret 4", "0x100830f6"]]}]]]}, {"address": "0x10083130", "recomp": "0x10083100", "name": "map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::~map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >", "matching": 1.0, "diff": []}, {"address": "0x10083180", "recomp": "0x10083150", "name": "LegoCharacterManager::~LegoCharacterManager", "matching": 1.0, "effective": true, "diff": [["@@ -0x100831cd,25 +0x1008319d,25 @@", [{"both": [["0x100831cd", "mov ecx, dword ptr [ebx]", "0x1008319d"], ["0x100831cf", "test ecx, ecx", "0x1008319f"], ["0x100831d1", "je 0x6", "0x100831a1"], ["0x100831d3", "push 1", "0x100831a3"], ["0x100831d5", "mov eax, dword ptr [ecx]", "0x100831a5"], ["0x100831d7", "call dword ptr [eax]", "0x100831a7"], ["0x100831d9", "push ebx", "0x100831a9"], ["0x100831da", "call ??3@YAXPAX@Z (FUNCTION)", "0x100831aa"], ["0x100831df", "add esp, 4", "0x100831af"], ["0x100831e2", "mov eax, dword ptr [edi + 8]", "0x100831b2"]]}, {"orig": [["0x100831e5", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100831b5", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100831eb", "je 0xe", "0x100831bb"], ["0x100831ed", "mov edi, eax", "0x100831bd"], ["0x100831ef", "mov eax, dword ptr [eax]", "0x100831bf"]]}, {"orig": [["0x100831f1", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100831c1", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100831f7", "je 0x1b", "0x100831c7"], ["0x100831f9", "jmp -0xe", "0x100831c9"], ["0x100831fb", "mov eax, dword ptr [edi + 4]", "0x100831cb"], ["0x100831fe", "cmp dword ptr [eax + 8], edi", "0x100831ce"], ["0x10083201", "jne 0xa", "0x100831d1"], ["0x10083203", "mov edi, eax", "0x100831d3"], ["0x10083205", "mov eax, dword ptr [eax + 4]", "0x100831d5"], ["0x10083208", "cmp dword ptr [eax + 8], edi", "0x100831d8"], ["0x1008320b", "je -0xa", "0x100831db"], ["0x1008320d", "cmp dword ptr [edi + 8], eax", "0x100831dd"]]}]]]}, {"address": "0x10083270", "recomp": "0x10083240", "name": "LegoCharacterManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100832a0", "recomp": "0x10083270", "name": "LegoCharacterManager::ReleaseAllActors", "matching": 0.7674418604651163, "diff": [["@@ -0x100832a0,43 +0x10083270,43 @@", [{"both": [["0x100832a0", "push ebx", "0x10083270"], ["0x100832a1", "push esi", "0x10083271"], ["0x100832a2", "push edi", "0x10083272"]]}, {"orig": [["0x100832a3", "mov esi, ecx"], ["0x100832a5", "mov edi, g_actorInfo[0].m_name (DATA)"], ["0x100832aa", "mov eax, dword ptr [edi]"], ["0x100832ac", "mov ecx, esi"]], "recomp": [["0x10083273", "mov esi, g_actorInfo[0].m_name (DATA)"], ["0x10083278", "mov edi, ecx"], ["0x1008327a", "mov eax, dword ptr [esi]"], ["0x1008327c", "mov ecx, edi"]]}, {"both": [["0x100832ae", "push eax", "0x1008327e"], ["0x100832af", "call LegoCharacterManager::GetActorInfo (FUNCTION)", "0x1008327f"], ["0x100832b4", "test eax, eax", "0x10083284"], ["0x100832b6", "je 0x42", "0x10083286"], ["0x100832b8", "mov ecx, dword ptr [eax + 8]", "0x10083288"], ["0x100832bb", "test ecx, ecx", "0x1008328b"], ["0x100832bd", "je 0x3b", "0x1008328d"], ["0x100832bf", "mov eax, dword ptr [ecx + 4]", "0x1008328f"], ["0x100832c2", "push 'LegoExtraActor' (STRING)", "0x10083292"], ["0x100832c7", "mov edx, dword ptr [eax + 4]", "0x10083297"], ["0x100832ca", "lea ecx, [edx + ecx + 4]", "0x1008329a"], ["0x100832ce", "mov eax, dword ptr [ecx]", "0x1008329e"], ["0x100832d0", "call dword ptr [eax + 0x10]", "0x100832a0"], ["0x100832d3", "test al, al", "0x100832a3"], ["0x100832d5", "je 0x23", "0x100832a5"]]}, {"orig": [["0x100832d7", "mov ebx, dword ptr [edi + 4]"], ["0x100832da", "mov ecx, esi"]], "recomp": [["0x100832a7", "mov ebx, dword ptr [esi + 4]"], ["0x100832aa", "mov ecx, edi"]]}, {"both": [["0x100832dc", "push ebx", "0x100832ac"], ["0x100832dd", "call LegoCharacterManager::GetRefCount (FUNCTION)", "0x100832ad"], ["0x100832e2", "test eax, eax", "0x100832b2"], ["0x100832e4", "je 0x14", "0x100832b4"], ["0x100832e6", "push ebx", "0x100832b6"]]}, {"orig": [["0x100832e7", "mov ecx, esi"]], "recomp": [["0x100832b7", "mov ecx, edi"]]}, {"both": [["0x100832e9", "call LegoCharacterManager::ReleaseActor (FUNCTION)", "0x100832b9"], ["0x100832ee", "push ebx", "0x100832be"]]}, {"orig": [["0x100832ef", "mov ecx, esi"]], "recomp": [["0x100832bf", "mov ecx, edi"]]}, {"both": [["0x100832f1", "call LegoCharacterManager::GetRefCount (FUNCTION)", "0x100832c1"], ["0x100832f6", "test eax, eax", "0x100832c6"], ["0x100832f8", "jne -0x14", "0x100832c8"]]}, {"orig": [["0x100832fa", "add edi, 0x108"], ["0x10083300", "cmp edi, 0x10109330"]], "recomp": [["0x100832ca", "add esi, 0x108"], ["0x100832d0", "cmp esi, 0x10108428"]]}, {"both": [["0x10083306", "jb -0x5e", "0x100832d6"], ["0x10083308", "pop edi", "0x100832d8"], ["0x10083309", "pop esi", "0x100832d9"], ["0x1008330a", "pop ebx", "0x100832da"], ["0x1008330b", "ret ", "0x100832db"]]}]]]}, {"address": "0x10083310", "recomp": "0x100832e0", "name": "LegoCharacterManager::Write", "matching": 0.6853932584269663, "diff": [["@@ -0x10083310,89 +0x100832e0,89 @@", [{"both": [["0x10083310", "push ebx", "0x100832e0"], ["0x10083311", "push esi", "0x100832e1"], ["0x10083312", "push edi", "0x100832e2"]]}, {"orig": [["0x10083313", "mov ebx, 0xffffffff"]], "recomp": [["0x100832e3", "mov ebx, g_actorInfo[0].m_name (DATA)"]]}, {"both": [["0x10083318", "push ebp", "0x100832e8"]]}, {"orig": [["0x10083319", "mov esi, g_actorInfo[0].m_name (DATA)"], ["0x1008331e", "mov edi, dword ptr [esp + 0x14]"], ["0x10083322", "mov eax, dword ptr [edi]"]], "recomp": [["0x100832e9", "mov edi, 0xffffffff"], ["0x100832ee", "mov esi, dword ptr [esp + 0x14]"], ["0x100832f2", "mov eax, dword ptr [esi]"]]}, {"both": [["0x10083324", "mov ebp, dword ptr [eax + 8]", "0x100832f4"], ["0x10083327", "push 4", "0x100832f7"]]}, {"orig": [["0x10083329", "lea eax, [esi + 0xc]"]], "recomp": [["0x100832f9", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x1008332c", "push eax", "0x100832fc"]]}, {"orig": [["0x1008332d", "mov ecx, edi"]], "recomp": [["0x100832fd", "mov ecx, esi"]]}, {"both": [["0x1008332f", "call ebp", "0x100832ff"], ["0x10083331", "test eax, eax", "0x10083301"], ["0x10083333", "jne 0xa6", "0x10083303"], ["0x10083339", "push 4", "0x10083309"]]}, {"orig": [["0x1008333b", "lea eax, [esi + 0x10]"]], "recomp": [["0x1008330b", "lea eax, [ebx + 0x10]"]]}, {"both": [["0x1008333e", "push eax", "0x1008330e"]]}, {"orig": [["0x1008333f", "mov ecx, edi"]], "recomp": [["0x1008330f", "mov ecx, esi"]]}, {"both": [["0x10083341", "call ebp", "0x10083311"], ["0x10083343", "test eax, eax", "0x10083313"], ["0x10083345", "jne 0x94", "0x10083315"], ["0x1008334b", "push 1", "0x1008331b"]]}, {"orig": [["0x1008334d", "lea eax, [esi + 0x14]"]], "recomp": [["0x1008331d", "lea eax, [ebx + 0x14]"]]}, {"both": [["0x10083350", "push eax", "0x10083320"]]}, {"orig": [["0x10083351", "mov ecx, edi"]], "recomp": [["0x10083321", "mov ecx, esi"]]}, {"both": [["0x10083353", "call ebp", "0x10083323"], ["0x10083355", "test eax, eax", "0x10083325"], ["0x10083357", "jne 0x82", "0x10083327"], ["0x1008335d", "push 1", "0x1008332d"]]}, {"orig": [["0x1008335f", "lea eax, [esi + 0x38]"]], "recomp": [["0x1008332f", "lea eax, [ebx + 0x38]"]]}, {"both": [["0x10083362", "push eax", "0x10083332"]]}, {"orig": [["0x10083363", "mov ecx, edi"]], "recomp": [["0x10083333", "mov ecx, esi"]]}, {"both": [["0x10083365", "call ebp", "0x10083335"], ["0x10083367", "test eax, eax", "0x10083337"], ["0x10083369", "jne 0x74", "0x10083339"], ["0x1008336b", "push 1", "0x1008333b"]]}, {"orig": [["0x1008336d", "lea eax, [esi + 0x44]"]], "recomp": [["0x1008333d", "lea eax, [ebx + 0x44]"]]}, {"both": [["0x10083370", "push eax", "0x10083340"]]}, {"orig": [["0x10083371", "mov ecx, edi"]], "recomp": [["0x10083341", "mov ecx, esi"]]}, {"both": [["0x10083373", "call ebp", "0x10083343"], ["0x10083375", "test eax, eax", "0x10083345"], ["0x10083377", "jne 0x66", "0x10083347"], ["0x10083379", "push 1", "0x10083349"]]}, {"orig": [["0x1008337b", "lea eax, [esi + 0x5c]"]], "recomp": [["0x1008334b", "lea eax, [ebx + 0x5c]"]]}, {"both": [["0x1008337e", "push eax", "0x1008334e"]]}, {"orig": [["0x1008337f", "mov ecx, edi"]], "recomp": [["0x1008334f", "mov ecx, esi"]]}, {"both": [["0x10083381", "call ebp", "0x10083351"], ["0x10083383", "test eax, eax", "0x10083353"], ["0x10083385", "jne 0x58", "0x10083355"], ["0x10083387", "push 1", "0x10083357"]]}, {"orig": [["0x10083389", "lea eax, [esi + 0x8c]"]], "recomp": [["0x10083359", "lea eax, [ebx + 0x8c]"]]}, {"both": [["0x1008338f", "push eax", "0x1008335f"]]}, {"orig": [["0x10083390", "mov ecx, edi"]], "recomp": [["0x10083360", "mov ecx, esi"]]}, {"both": [["0x10083392", "call ebp", "0x10083362"], ["0x10083394", "test eax, eax", "0x10083364"], ["0x10083396", "jne 0x47", "0x10083366"], ["0x10083398", "push 1", "0x10083368"]]}, {"orig": [["0x1008339a", "lea eax, [esi + 0xa4]"]], "recomp": [["0x1008336a", "lea eax, [ebx + 0xa4]"]]}, {"both": [["0x100833a0", "push eax", "0x10083370"]]}, {"orig": [["0x100833a1", "mov ecx, edi"]], "recomp": [["0x10083371", "mov ecx, esi"]]}, {"both": [["0x100833a3", "call ebp", "0x10083373"], ["0x100833a5", "test eax, eax", "0x10083375"], ["0x100833a7", "jne 0x36", "0x10083377"], ["0x100833a9", "push 1", "0x10083379"]]}, {"orig": [["0x100833ab", "lea eax, [esi + 0xec]"]], "recomp": [["0x1008337b", "lea eax, [ebx + 0xec]"]]}, {"both": [["0x100833b1", "push eax", "0x10083381"]]}, {"orig": [["0x100833b2", "mov ecx, edi"]], "recomp": [["0x10083382", "mov ecx, esi"]]}, {"both": [["0x100833b4", "call ebp", "0x10083384"], ["0x100833b6", "test eax, eax", "0x10083386"], ["0x100833b8", "jne 0x25", "0x10083388"], ["0x100833ba", "push 1", "0x1008338a"]]}, {"orig": [["0x100833bc", "lea eax, [esi + 0x104]"]], "recomp": [["0x1008338c", "lea eax, [ebx + 0x104]"]]}, {"both": [["0x100833c2", "push eax", "0x10083392"]]}, {"orig": [["0x100833c3", "mov ecx, edi"]], "recomp": [["0x10083393", "mov ecx, esi"]]}, {"both": [["0x100833c5", "call ebp", "0x10083395"], ["0x100833c7", "test eax, eax", "0x10083397"], ["0x100833c9", "jne 0x14", "0x10083399"]]}, {"orig": [["0x100833cb", "add esi, 0x108"], ["0x100833d1", "cmp esi, 0x10109330"]], "recomp": [["0x1008339b", "add ebx, 0x108"], ["0x100833a1", "cmp ebx, 0x10108428"]]}, {"both": [["0x100833d7", "jb -0xb6", "0x100833a7"]]}, {"orig": [["0x100833dd", "xor ebx, ebx"], ["0x100833df", "mov eax, ebx"]], "recomp": [["0x100833ad", "xor edi, edi"], ["0x100833af", "mov eax, edi"]]}, {"both": [["0x100833e1", "pop ebp", "0x100833b1"], ["0x100833e2", "pop edi", "0x100833b2"], ["0x100833e3", "pop esi", "0x100833b3"], ["0x100833e4", "pop ebx", "0x100833b4"], ["0x100833e5", "ret 4", "0x100833b5"]]}]]]}, {"address": "0x100833f0", "recomp": "0x100833c0", "name": "LegoCharacterManager::Read", "matching": 0.6853932584269663, "diff": [["@@ -0x100833f0,89 +0x100833c0,89 @@", [{"both": [["0x100833f0", "push ebx", "0x100833c0"], ["0x100833f1", "push esi", "0x100833c1"], ["0x100833f2", "push edi", "0x100833c2"]]}, {"orig": [["0x100833f3", "mov ebx, 0xffffffff"]], "recomp": [["0x100833c3", "mov ebx, g_actorInfo[0].m_name (DATA)"]]}, {"both": [["0x100833f8", "push ebp", "0x100833c8"]]}, {"orig": [["0x100833f9", "mov esi, g_actorInfo[0].m_name (DATA)"], ["0x100833fe", "mov edi, dword ptr [esp + 0x14]"], ["0x10083402", "mov eax, dword ptr [edi]"]], "recomp": [["0x100833c9", "mov edi, 0xffffffff"], ["0x100833ce", "mov esi, dword ptr [esp + 0x14]"], ["0x100833d2", "mov eax, dword ptr [esi]"]]}, {"both": [["0x10083404", "mov ebp, dword ptr [eax + 4]", "0x100833d4"], ["0x10083407", "push 4", "0x100833d7"]]}, {"orig": [["0x10083409", "lea eax, [esi + 0xc]"]], "recomp": [["0x100833d9", "lea eax, [ebx + 0xc]"]]}, {"both": [["0x1008340c", "push eax", "0x100833dc"]]}, {"orig": [["0x1008340d", "mov ecx, edi"]], "recomp": [["0x100833dd", "mov ecx, esi"]]}, {"both": [["0x1008340f", "call ebp", "0x100833df"], ["0x10083411", "test eax, eax", "0x100833e1"], ["0x10083413", "jne 0xa6", "0x100833e3"], ["0x10083419", "push 4", "0x100833e9"]]}, {"orig": [["0x1008341b", "lea eax, [esi + 0x10]"]], "recomp": [["0x100833eb", "lea eax, [ebx + 0x10]"]]}, {"both": [["0x1008341e", "push eax", "0x100833ee"]]}, {"orig": [["0x1008341f", "mov ecx, edi"]], "recomp": [["0x100833ef", "mov ecx, esi"]]}, {"both": [["0x10083421", "call ebp", "0x100833f1"], ["0x10083423", "test eax, eax", "0x100833f3"], ["0x10083425", "jne 0x94", "0x100833f5"], ["0x1008342b", "push 1", "0x100833fb"]]}, {"orig": [["0x1008342d", "lea eax, [esi + 0x14]"]], "recomp": [["0x100833fd", "lea eax, [ebx + 0x14]"]]}, {"both": [["0x10083430", "push eax", "0x10083400"]]}, {"orig": [["0x10083431", "mov ecx, edi"]], "recomp": [["0x10083401", "mov ecx, esi"]]}, {"both": [["0x10083433", "call ebp", "0x10083403"], ["0x10083435", "test eax, eax", "0x10083405"], ["0x10083437", "jne 0x82", "0x10083407"], ["0x1008343d", "push 1", "0x1008340d"]]}, {"orig": [["0x1008343f", "lea eax, [esi + 0x38]"]], "recomp": [["0x1008340f", "lea eax, [ebx + 0x38]"]]}, {"both": [["0x10083442", "push eax", "0x10083412"]]}, {"orig": [["0x10083443", "mov ecx, edi"]], "recomp": [["0x10083413", "mov ecx, esi"]]}, {"both": [["0x10083445", "call ebp", "0x10083415"], ["0x10083447", "test eax, eax", "0x10083417"], ["0x10083449", "jne 0x74", "0x10083419"], ["0x1008344b", "push 1", "0x1008341b"]]}, {"orig": [["0x1008344d", "lea eax, [esi + 0x44]"]], "recomp": [["0x1008341d", "lea eax, [ebx + 0x44]"]]}, {"both": [["0x10083450", "push eax", "0x10083420"]]}, {"orig": [["0x10083451", "mov ecx, edi"]], "recomp": [["0x10083421", "mov ecx, esi"]]}, {"both": [["0x10083453", "call ebp", "0x10083423"], ["0x10083455", "test eax, eax", "0x10083425"], ["0x10083457", "jne 0x66", "0x10083427"], ["0x10083459", "push 1", "0x10083429"]]}, {"orig": [["0x1008345b", "lea eax, [esi + 0x5c]"]], "recomp": [["0x1008342b", "lea eax, [ebx + 0x5c]"]]}, {"both": [["0x1008345e", "push eax", "0x1008342e"]]}, {"orig": [["0x1008345f", "mov ecx, edi"]], "recomp": [["0x1008342f", "mov ecx, esi"]]}, {"both": [["0x10083461", "call ebp", "0x10083431"], ["0x10083463", "test eax, eax", "0x10083433"], ["0x10083465", "jne 0x58", "0x10083435"], ["0x10083467", "push 1", "0x10083437"]]}, {"orig": [["0x10083469", "lea eax, [esi + 0x8c]"]], "recomp": [["0x10083439", "lea eax, [ebx + 0x8c]"]]}, {"both": [["0x1008346f", "push eax", "0x1008343f"]]}, {"orig": [["0x10083470", "mov ecx, edi"]], "recomp": [["0x10083440", "mov ecx, esi"]]}, {"both": [["0x10083472", "call ebp", "0x10083442"], ["0x10083474", "test eax, eax", "0x10083444"], ["0x10083476", "jne 0x47", "0x10083446"], ["0x10083478", "push 1", "0x10083448"]]}, {"orig": [["0x1008347a", "lea eax, [esi + 0xa4]"]], "recomp": [["0x1008344a", "lea eax, [ebx + 0xa4]"]]}, {"both": [["0x10083480", "push eax", "0x10083450"]]}, {"orig": [["0x10083481", "mov ecx, edi"]], "recomp": [["0x10083451", "mov ecx, esi"]]}, {"both": [["0x10083483", "call ebp", "0x10083453"], ["0x10083485", "test eax, eax", "0x10083455"], ["0x10083487", "jne 0x36", "0x10083457"], ["0x10083489", "push 1", "0x10083459"]]}, {"orig": [["0x1008348b", "lea eax, [esi + 0xec]"]], "recomp": [["0x1008345b", "lea eax, [ebx + 0xec]"]]}, {"both": [["0x10083491", "push eax", "0x10083461"]]}, {"orig": [["0x10083492", "mov ecx, edi"]], "recomp": [["0x10083462", "mov ecx, esi"]]}, {"both": [["0x10083494", "call ebp", "0x10083464"], ["0x10083496", "test eax, eax", "0x10083466"], ["0x10083498", "jne 0x25", "0x10083468"], ["0x1008349a", "push 1", "0x1008346a"]]}, {"orig": [["0x1008349c", "lea eax, [esi + 0x104]"]], "recomp": [["0x1008346c", "lea eax, [ebx + 0x104]"]]}, {"both": [["0x100834a2", "push eax", "0x10083472"]]}, {"orig": [["0x100834a3", "mov ecx, edi"]], "recomp": [["0x10083473", "mov ecx, esi"]]}, {"both": [["0x100834a5", "call ebp", "0x10083475"], ["0x100834a7", "test eax, eax", "0x10083477"], ["0x100834a9", "jne 0x14", "0x10083479"]]}, {"orig": [["0x100834ab", "add esi, 0x108"], ["0x100834b1", "cmp esi, 0x10109330"]], "recomp": [["0x1008347b", "add ebx, 0x108"], ["0x10083481", "cmp ebx, 0x10108428"]]}, {"both": [["0x100834b7", "jb -0xb6", "0x10083487"]]}, {"orig": [["0x100834bd", "xor ebx, ebx"], ["0x100834bf", "mov eax, ebx"]], "recomp": [["0x1008348d", "xor edi, edi"], ["0x1008348f", "mov eax, edi"]]}, {"both": [["0x100834c1", "pop ebp", "0x10083491"], ["0x100834c2", "pop edi", "0x10083492"], ["0x100834c3", "pop esi", "0x10083493"], ["0x100834c4", "pop ebx", "0x10083494"], ["0x100834c5", "ret 4", "0x10083495"]]}]]]}, {"address": "0x100834d0", "recomp": "0x100834a0", "name": "LegoCharacterManager::GetActorName", "matching": 1.0, "diff": []}, {"address": "0x100834f0", "recomp": "0x100834c0", "name": "LegoCharacterManager::GetNumActors", "matching": 1.0, "diff": []}, {"address": "0x10083500", "recomp": "0x100834d0", "name": "LegoCharacterManager::GetActorROI", "matching": 0.9578947368421052, "diff": [["@@ -0x10083506,25 +0x100834d6,25 @@", [{"both": [["0x10083506", "push ebp", "0x100834d6"], ["0x10083507", "mov ebp, esp", "0x100834d7"], ["0x10083509", "push -1", "0x100834d9"], ["0x1008350b", "push <OFFSET1>", "0x100834db"], ["0x10083510", "push eax", "0x100834e0"], ["0x10083511", "mov dword ptr fs:[0], esp", "0x100834e1"], ["0x10083518", "sub esp, 0x34", "0x100834e8"], ["0x1008351b", "mov eax, dword ptr [ebp + 8]", "0x100834eb"], ["0x1008351e", "mov dword ptr [ebp - 0x20], ecx", "0x100834ee"], ["0x10083521", "push ebx", "0x100834f1"]]}, {"orig": [["0x10083522", "mov edx, dword ptr [ecx]"]], "recomp": [["0x100834f2", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x10083524", "push esi", "0x100834f5"], ["0x10083525", "xor ebx, ebx", "0x100834f6"], ["0x10083527", "push edi", "0x100834f8"]]}, {"orig": [["0x10083528", "mov dword ptr [ebp - 0x18], eax"]], "recomp": [["0x100834f9", "mov edx, dword ptr [ecx]"]]}, {"both": [["0x1008352b", "mov dword ptr [ebp - 0x10], edx", "0x100834fb"], ["0x1008352e", "mov esi, dword ptr [edx + 4]", "0x100834fe"], ["0x10083531", "mov edi, dword ptr [esi + 4]", "0x10083501"], ["0x10083534", "cmp edi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]", "0x10083504"], ["0x1008353a", "je 0x25", "0x1008350a"], ["0x1008353c", "mov eax, dword ptr [ebp - 0x18]", "0x1008350c"], ["0x1008353f", "mov ecx, dword ptr [edi + 0xc]", "0x1008350f"], ["0x10083542", "push eax", "0x10083512"], ["0x10083543", "push ecx", "0x10083513"], ["0x10083544", "call __strcmpi (FUNCTION)", "0x10083514"]]}]], ["@@ -0x10083586,21 +0x10083556,21 @@", [{"both": [["0x10083586", "mov ecx, dword ptr [eax + 4]", "0x10083556"], ["0x10083589", "lea eax, [ebp - 0x1c]", "0x10083559"], ["0x1008358c", "mov dword ptr [ebp - 0x1c], ecx", "0x1008355c"], ["0x1008358f", "mov eax, dword ptr [eax]", "0x1008355f"], ["0x10083591", "mov ecx, dword ptr [ebp - 0x20]", "0x10083561"], ["0x10083594", "mov dword ptr [ebp - 0x18], eax", "0x10083564"], ["0x10083597", "mov edx, dword ptr [ecx]", "0x10083567"], ["0x10083599", "mov eax, dword ptr [edx + 4]", "0x10083569"], ["0x1008359c", "mov dword ptr [ebp - 0x10], eax", "0x1008356c"], ["0x1008359f", "mov eax, dword ptr [ebp - 0x18]", "0x1008356f"]]}, {"orig": [["0x100835a2", "cmp eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x10083572", "cmp dword ptr [ebp - 0x10], eax"]]}, {"both": [["0x100835a5", "je 0x6", "0x10083575"], ["0x100835a7", "mov ebx, dword ptr [eax + 0x10]", "0x10083577"], ["0x100835aa", "inc dword ptr [ebx + 4]", "0x1008357a"], ["0x100835ad", "test ebx, ebx", "0x1008357d"], ["0x100835af", "jne 0x199", "0x1008357f"], ["0x100835b5", "mov eax, dword ptr [ebp + 8]", "0x10083585"], ["0x100835b8", "mov ecx, dword ptr [ebp - 0x20]", "0x10083588"], ["0x100835bb", "push eax", "0x1008358b"], ["0x100835bc", "call LegoCharacterManager::CreateActorROI (FUNCTION)", "0x1008358c"], ["0x100835c1", "mov dword ptr [ebp - 0x18], eax", "0x10083591"]]}]], ["@@ -0x100835da,24 +0x100835aa,24 @@", [{"both": [["0x100835da", "add esp, 4", "0x100835aa"], ["0x100835dd", "mov esi, eax", "0x100835ad"], ["0x100835df", "mov ebx, 0", "0x100835af"], ["0x100835e4", "mov dword ptr [ebp - 4], 0", "0x100835b4"], ["0x100835eb", "test esi, esi", "0x100835bb"], ["0x100835ed", "je 0xe", "0x100835bd"], ["0x100835ef", "mov ecx, dword ptr [ebp - 0x18]", "0x100835bf"], ["0x100835f2", "mov ebx, esi", "0x100835c2"], ["0x100835f4", "mov dword ptr [esi], ecx", "0x100835c4"], ["0x100835f6", "mov dword ptr [esi + 4], 1", "0x100835c6"]]}, {"orig": [], "recomp": [["0x100835cd", "mov ecx, 0xffffffff"], ["0x100835d2", "sub eax, eax"], ["0x100835d4", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x100835fd", "mov edi, dword ptr [ebp + 8]", "0x100835db"]]}, {"orig": [["0x10083600", "mov ecx, 0xffffffff"], ["0x10083605", "mov dword ptr [ebp - 4], 0xffffffff"], ["0x1008360c", "sub eax, eax"]], "recomp": []}, {"both": [["0x1008360e", "repne scasb al, byte ptr es:[edi]", "0x100835de"], ["0x10083610", "not ecx", "0x100835e0"], ["0x10083612", "push ecx", "0x100835e2"], ["0x10083613", "call ??2@YAPAXI@Z (FUNCTION)", "0x100835e3"], ["0x10083618", "add esp, 4", "0x100835e8"], ["0x1008361b", "xor edx, edx", "0x100835eb"], ["0x1008361d", "mov dword ptr [ebp - 0x1c], eax", "0x100835ed"], ["0x10083620", "cmp eax, edx", "0x100835f0"], ["0x10083622", "je 0x14c", "0x100835f2"], ["0x10083628", "mov edi, dword ptr [ebp + 8]", "0x100835f8"]]}]], ["@@ -0x100836da,24 +0x100836aa,24 @@", [{"both": [["0x100836da", "push edi", "0x100836aa"], ["0x100836db", "push esi", "0x100836ab"], ["0x100836dc", "push ecx", "0x100836ac"], ["0x100836dd", "mov ecx, dword ptr [ebp - 0x10]", "0x100836ad"], ["0x100836e0", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Insert (FUNCTION)", "0x100836b0"], ["0x100836e5", "mov ecx, dword ptr [eax]", "0x100836b5"], ["0x100836e7", "mov dword ptr [ebp - 0x14], ecx", "0x100836b7"], ["0x100836ea", "jmp 0x3e", "0x100836ba"], ["0x100836ec", "lea ecx, [ebp - 0x1c]", "0x100836bc"], ["0x100836ef", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::iterator::_Dec (FUNCTION)", "0x100836bf"]]}, {"orig": [["0x100836f4", "mov eax, dword ptr [ebp - 0x1c]"], ["0x100836f7", "mov ecx, dword ptr [ebp - 0x28]"], ["0x100836fa", "push ecx"], ["0x100836fb", "mov edx, dword ptr [eax + 0xc]"]], "recomp": [["0x100836c4", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x100836c7", "mov eax, dword ptr [ebp - 0x28]"], ["0x100836ca", "push eax"], ["0x100836cb", "mov edx, dword ptr [ecx + 0xc]"]]}, {"both": [["0x100836fe", "push edx", "0x100836ce"], ["0x100836ff", "call __strcmpi (FUNCTION)", "0x100836cf"], ["0x10083704", "add esp, 8", "0x100836d4"], ["0x10083707", "test eax, eax", "0x100836d7"], ["0x10083709", "jge 0x19", "0x100836d9"], ["0x1008370b", "lea eax, [ebp - 0x28]", "0x100836db"], ["0x1008370e", "lea ecx, [ebp - 0x10]", "0x100836de"], ["0x10083711", "push eax", "0x100836e1"], ["0x10083712", "push edi", "0x100836e2"], ["0x10083713", "push esi", "0x100836e3"]]}]], ["@@ -0x100837d1,25 +0x100837a1,25 @@", [{"both": [["0x100837d1", "lea ecx, [edx + edi + 4]", "0x100837a1"], ["0x100837d5", "push eax", "0x100837a5"], ["0x100837d6", "mov eax, dword ptr [ecx]", "0x100837a6"], ["0x100837d8", "call dword ptr [eax + 0x24]", "0x100837a8"], ["0x100837db", "push 0", "0x100837ab"], ["0x100837dd", "mov ecx, dword ptr [edi + 4]", "0x100837ad"], ["0x100837e0", "mov edx, dword ptr [ecx + 4]", "0x100837b0"], ["0x100837e3", "lea ecx, [edx + edi + 4]", "0x100837b3"], ["0x100837e7", "call LegoEntity::SetType (FUNCTION)", "0x100837b7"], ["0x100837ec", "mov ecx, dword ptr [edi + 4]", "0x100837bc"]]}, {"orig": [["0x100837ef", "mov eax, dword ptr [ebp + 8]"], ["0x100837f2", "push eax"]], "recomp": []}, {"both": [["0x100837f3", "mov edx, dword ptr [ecx + 4]", "0x100837bf"], ["0x100837f6", "mov ecx, dword ptr [ebp - 0x20]", "0x100837c2"], ["0x100837f9", "or byte ptr [edx + edi + 0x15], 2", "0x100837c5"]]}, {"orig": [], "recomp": [["0x100837ca", "mov eax, dword ptr [ebp + 8]"], ["0x100837cd", "push eax"]]}, {"both": [["0x100837fe", "call LegoCharacterManager::GetActorInfo (FUNCTION)", "0x100837ce"], ["0x10083803", "mov dword ptr [eax + 8], edi", "0x100837d3"], ["0x10083806", "mov eax, dword ptr [ebx]", "0x100837d6"], ["0x10083808", "jmp 0x19", "0x100837d8"], ["0x1008380a", "mov eax, <OFFSET15>", "0x100837da"], ["0x1008380f", "jmp ___CxxFrameHandler (FUNCTION)", "0x100837df"], ["0x10083814", "mov eax, dword ptr [ebp - 0x10]", "0x100837e4"], ["0x10083817", "push eax", "0x100837e7"], ["0x10083818", "call ??3@YAXPAX@Z (FUNCTION)", "0x100837e8"], ["0x1008381d", "add esp, 4", "0x100837ed"]]}]]]}, {"address": "0x10083840", "recomp": "0x10083810", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::iterator::_Dec", "matching": 1.0, "effective": true, "diff": [["@@ -0x10083843,24 +0x10083813,24 @@", [{"both": [["0x10083843", "cmp dword ptr [esi + 0x14], 0", "0x10083813"], ["0x10083847", "jne 0xf", "0x10083817"], ["0x10083849", "mov eax, dword ptr [esi + 4]", "0x10083819"], ["0x1008384c", "cmp dword ptr [eax + 4], esi", "0x1008381c"], ["0x1008384f", "jne 0x7", "0x1008381f"], ["0x10083851", "mov eax, dword ptr [esi + 8]", "0x10083821"], ["0x10083854", "pop esi", "0x10083824"], ["0x10083855", "mov dword ptr [ecx], eax", "0x10083825"], ["0x10083857", "ret ", "0x10083827"], ["0x10083858", "mov eax, dword ptr [esi]", "0x10083828"]]}, {"orig": [["0x1008385a", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x1008382a", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083860", "je 0x13", "0x10083830"], ["0x10083862", "mov edx, dword ptr [eax + 8]", "0x10083832"]]}, {"orig": [["0x10083865", "cmp edx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083835", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edx"]]}, {"both": [["0x1008386b", "je 0x4", "0x1008383b"], ["0x1008386d", "mov eax, edx", "0x1008383d"], ["0x1008386f", "jmp -0xf", "0x1008383f"], ["0x10083871", "pop esi", "0x10083841"], ["0x10083872", "mov dword ptr [ecx], eax", "0x10083842"], ["0x10083874", "ret ", "0x10083844"], ["0x10083875", "mov edx, dword ptr [esi + 4]", "0x10083845"], ["0x10083878", "cmp dword ptr [edx], esi", "0x10083848"], ["0x1008387a", "jne 0xb", "0x1008384a"], ["0x1008387c", "mov dword ptr [ecx], edx", "0x1008384c"]]}]]]}, {"address": "0x10083890", "recomp": "0x10083860", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Insert", "matching": 0.8662131519274376, "diff": [["@@ -0x10083905,57 +0x100838d5,57 @@", [{"both": [["0x10083905", "mov dword ptr [edi + 8], edx", "0x100838d5"], ["0x10083908", "mov eax, dword ptr [esi + 4]", "0x100838d8"], ["0x1008390b", "add eax, 8", "0x100838db"], ["0x1008390e", "cmp dword ptr [eax], edi", "0x100838de"], ["0x10083910", "jne 0x26", "0x100838e0"], ["0x10083912", "mov dword ptr [eax], edx", "0x100838e2"], ["0x10083914", "jmp 0x22", "0x100838e4"], ["0x10083916", "mov edx, dword ptr [esp + 0x10]", "0x100838e6"], ["0x1008391a", "mov dword ptr [edi], edx", "0x100838ea"], ["0x1008391c", "mov eax, dword ptr [esi + 4]", "0x100838ec"]]}, {"orig": [["0x1008391f", "cmp eax, edi"]], "recomp": [["0x100838ef", "cmp edi, eax"]]}, {"both": [["0x10083921", "je 0x8", "0x100838f1"], ["0x10083923", "cmp dword ptr [eax], edi", "0x100838f3"], ["0x10083925", "jne 0x11", "0x100838f5"], ["0x10083927", "mov dword ptr [eax], edx", "0x100838f7"], ["0x10083929", "jmp 0xd", "0x100838f9"], ["0x1008392b", "mov edx, dword ptr [esp + 0x10]", "0x100838fb"], ["0x1008392f", "mov dword ptr [eax + 4], edx", "0x100838ff"], ["0x10083932", "mov eax, dword ptr [esi + 4]", "0x10083902"], ["0x10083935", "mov dword ptr [eax + 8], edx", "0x10083905"], ["0x10083938", "mov ecx, dword ptr [esp + 0x10]", "0x10083908"], ["0x1008393c", "mov eax, dword ptr [esi + 4]", "0x1008390c"], ["0x1008393f", "cmp dword ptr [eax + 4], ecx", "0x1008390f"]]}, {"orig": [["0x10083942", "je 0x1b4"]], "recomp": [["0x10083912", "je 0x1b3"]]}, {"both": [["0x10083948", "lea edx, [ecx + 4]", "0x10083918"], ["0x1008394b", "mov eax, dword ptr [edx]", "0x1008391b"]]}, {"orig": [["0x1008394d", "lea ebp, [eax + 0x14]"], ["0x10083950", "cmp dword ptr [ebp], 0"]], "recomp": [["0x1008391d", "lea ebx, [eax + 0x14]"], ["0x10083920", "cmp dword ptr [ebx], 0"]]}, {"both": [["0x10083954", "jne 0x1a2", "0x10083923"], ["0x1008395a", "lea edi, [eax + 4]", "0x10083929"]]}, {"orig": [["0x1008395d", "mov ebx, dword ptr [edi]"], ["0x1008395f", "mov ebx, dword ptr [ebx]"], ["0x10083961", "cmp ebx, eax"]], "recomp": [["0x1008392c", "mov ebp, dword ptr [edi]"], ["0x1008392e", "mov ebp, dword ptr [ebp]"], ["0x10083931", "cmp ebp, eax"]]}, {"both": [["0x10083963", "jne 0xbb", "0x10083933"]]}, {"orig": [["0x10083969", "mov ebx, dword ptr [edi]"], ["0x1008396b", "mov ebx, dword ptr [ebx + 8]"], ["0x1008396e", "cmp dword ptr [ebx + 0x14], 0"]], "recomp": [["0x10083939", "mov ebp, dword ptr [edi]"], ["0x1008393b", "mov ebp, dword ptr [ebp + 8]"], ["0x1008393e", "cmp dword ptr [ebp + 0x14], 0"]]}, {"both": [["0x10083972", "je 0x159", "0x10083942"], ["0x10083978", "lea ebx, [eax + 8]", "0x10083948"], ["0x1008397b", "mov edx, dword ptr [ebx]", "0x1008394b"]]}, {"orig": [["0x1008397d", "cmp edx, ecx"]], "recomp": [["0x1008394d", "cmp ecx, edx"]]}, {"both": [["0x1008397f", "jne 0x33", "0x1008394f"], ["0x10083981", "mov ecx, eax", "0x10083951"], ["0x10083983", "mov eax, dword ptr [edx]", "0x10083953"], ["0x10083985", "mov dword ptr [ebx], eax", "0x10083955"], ["0x10083987", "mov eax, dword ptr [edx]", "0x10083957"]]}, {"orig": [["0x10083989", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083959", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x1008398f", "je 0x3", "0x1008395f"], ["0x10083991", "mov dword ptr [eax + 4], ecx", "0x10083961"], ["0x10083994", "mov eax, dword ptr [edi]", "0x10083964"], ["0x10083996", "mov dword ptr [edx + 4], eax", "0x10083966"], ["0x10083999", "mov eax, dword ptr [esi + 4]", "0x10083969"], ["0x1008399c", "add eax, 4", "0x1008396c"], ["0x1008399f", "cmp dword ptr [eax], ecx", "0x1008396f"], ["0x100839a1", "je 0xb", "0x10083971"], ["0x100839a3", "mov eax, dword ptr [edi]", "0x10083973"], ["0x100839a5", "cmp dword ptr [eax], ecx", "0x10083975"]]}]], ["@@ -0x100839b7,117 +0x10083987,118 @@", [{"both": [["0x100839b7", "mov dword ptr [eax + 0x14], 1", "0x10083987"], ["0x100839be", "mov eax, dword ptr [ecx + 4]", "0x1008398e"], ["0x100839c1", "mov edx, dword ptr [eax + 4]", "0x10083991"], ["0x100839c4", "mov dword ptr [edx + 0x14], 0", "0x10083994"], ["0x100839cb", "mov eax, dword ptr [ecx + 4]", "0x1008399b"], ["0x100839ce", "mov edi, dword ptr [eax + 4]", "0x1008399e"], ["0x100839d1", "mov edx, dword ptr [edi]", "0x100839a1"], ["0x100839d3", "mov eax, dword ptr [edx + 8]", "0x100839a3"], ["0x100839d6", "mov dword ptr [edi], eax", "0x100839a6"], ["0x100839d8", "mov eax, dword ptr [edx + 8]", "0x100839a8"]]}, {"orig": [["0x100839db", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100839ab", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100839e1", "je 0x3", "0x100839b1"], ["0x100839e3", "mov dword ptr [eax + 4], edi", "0x100839b3"], ["0x100839e6", "mov eax, dword ptr [edi + 4]", "0x100839b6"], ["0x100839e9", "mov dword ptr [edx + 4], eax", "0x100839b9"], ["0x100839ec", "mov eax, dword ptr [esi + 4]", "0x100839bc"], ["0x100839ef", "add eax, 4", "0x100839bf"], ["0x100839f2", "cmp dword ptr [eax], edi", "0x100839c2"], ["0x100839f4", "je 0x24", "0x100839c4"], ["0x100839f6", "mov ebx, dword ptr [edi + 4]", "0x100839c6"], ["0x100839f9", "lea eax, [ebx + 8]", "0x100839c9"], ["0x100839fc", "cmp dword ptr [eax], edi", "0x100839cc"], ["0x100839fe", "je 0xd", "0x100839ce"], ["0x10083a00", "mov dword ptr [ebx], edx", "0x100839d0"], ["0x10083a02", "mov dword ptr [edx + 8], edi", "0x100839d2"], ["0x10083a05", "mov dword ptr [edi + 4], edx", "0x100839d5"]]}, {"orig": [["0x10083a08", "jmp 0xe3"]], "recomp": [["0x100839d8", "jmp 0xe2"]]}, {"both": [["0x10083a0d", "mov dword ptr [eax], edx", "0x100839dd"], ["0x10083a0f", "mov dword ptr [edx + 8], edi", "0x100839df"], ["0x10083a12", "mov dword ptr [edi + 4], edx", "0x100839e2"]]}, {"orig": [["0x10083a15", "jmp 0xd6"]], "recomp": [["0x100839e5", "jmp 0xd5"]]}, {"both": [["0x10083a1a", "mov dword ptr [eax], edx", "0x100839ea"], ["0x10083a1c", "mov dword ptr [edx + 8], edi", "0x100839ec"], ["0x10083a1f", "jmp 0xa8", "0x100839ef"]]}, {"orig": [["0x10083a24", "cmp dword ptr [ebx + 0x14], 0"]], "recomp": [["0x100839f4", "cmp dword ptr [ebp + 0x14], 0"]]}, {"both": [["0x10083a28", "je 0xa3", "0x100839f8"], ["0x10083a2e", "mov edx, dword ptr [eax]", "0x100839fe"]]}, {"orig": [["0x10083a30", "cmp edx, ecx"]], "recomp": [["0x10083a00", "cmp ecx, edx"]]}, {"both": [["0x10083a32", "jne 0x38", "0x10083a02"], ["0x10083a34", "mov ecx, eax", "0x10083a04"], ["0x10083a36", "mov eax, dword ptr [edx + 8]", "0x10083a06"], ["0x10083a39", "mov dword ptr [ecx], eax", "0x10083a09"], ["0x10083a3b", "mov eax, dword ptr [edx + 8]", "0x10083a0b"]]}, {"orig": [["0x10083a3e", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083a0e", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083a44", "je 0x3", "0x10083a14"], ["0x10083a46", "mov dword ptr [eax + 4], ecx", "0x10083a16"], ["0x10083a49", "mov eax, dword ptr [edi]", "0x10083a19"], ["0x10083a4b", "mov dword ptr [edx + 4], eax", "0x10083a1b"], ["0x10083a4e", "mov eax, dword ptr [esi + 4]", "0x10083a1e"], ["0x10083a51", "add eax, 4", "0x10083a21"], ["0x10083a54", "cmp dword ptr [eax], ecx", "0x10083a24"], ["0x10083a56", "je 0xd", "0x10083a26"]]}, {"orig": [["0x10083a58", "mov eax, dword ptr [edi]"], ["0x10083a5a", "lea ebx, [eax + 8]"], ["0x10083a5d", "cmp dword ptr [ebx], ecx"], ["0x10083a5f", "jne 0x4"]], "recomp": [["0x10083a28", "mov ebx, dword ptr [edi]"], ["0x10083a2a", "lea eax, [ebx + 8]"], ["0x10083a2d", "cmp dword ptr [eax], ecx"], ["0x10083a2f", "je 0x4"]]}, {"both": [["0x10083a61", "mov dword ptr [ebx], edx", "0x10083a31"], ["0x10083a63", "jmp 0x2", "0x10083a33"], ["0x10083a65", "mov dword ptr [eax], edx", "0x10083a35"], ["0x10083a67", "mov dword ptr [edx + 8], ecx", "0x10083a37"], ["0x10083a6a", "mov dword ptr [edi], edx", "0x10083a3a"], ["0x10083a6c", "mov eax, dword ptr [ecx + 4]", "0x10083a3c"], ["0x10083a6f", "mov dword ptr [eax + 0x14], 1", "0x10083a3f"], ["0x10083a76", "mov eax, dword ptr [ecx + 4]", "0x10083a46"], ["0x10083a79", "mov edx, dword ptr [eax + 4]", "0x10083a49"], ["0x10083a7c", "mov dword ptr [edx + 0x14], 0", "0x10083a4c"], ["0x10083a83", "mov eax, dword ptr [ecx + 4]", "0x10083a53"], ["0x10083a86", "mov edi, dword ptr [eax + 4]", "0x10083a56"], ["0x10083a89", "mov edx, dword ptr [edi + 8]", "0x10083a59"], ["0x10083a8c", "mov eax, dword ptr [edx]", "0x10083a5c"], ["0x10083a8e", "mov dword ptr [edi + 8], eax", "0x10083a5e"], ["0x10083a91", "mov eax, dword ptr [edx]", "0x10083a61"]]}, {"orig": [["0x10083a93", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083a63", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083a99", "je 0x3", "0x10083a69"], ["0x10083a9b", "mov dword ptr [eax + 4], edi", "0x10083a6b"], ["0x10083a9e", "mov eax, dword ptr [edi + 4]", "0x10083a6e"], ["0x10083aa1", "mov dword ptr [edx + 4], eax", "0x10083a71"], ["0x10083aa4", "mov eax, dword ptr [esi + 4]", "0x10083a74"], ["0x10083aa7", "add eax, 4", "0x10083a77"], ["0x10083aaa", "cmp dword ptr [eax], edi", "0x10083a7a"], ["0x10083aac", "je 0x1a", "0x10083a7c"], ["0x10083aae", "mov eax, dword ptr [edi + 4]", "0x10083a7e"], ["0x10083ab1", "cmp dword ptr [eax], edi", "0x10083a81"], ["0x10083ab3", "je 0xa", "0x10083a83"], ["0x10083ab5", "mov dword ptr [eax + 8], edx", "0x10083a85"], ["0x10083ab8", "mov dword ptr [edx], edi", "0x10083a88"], ["0x10083aba", "mov dword ptr [edi + 4], edx", "0x10083a8a"]]}, {"orig": [["0x10083abd", "jmp 0x31"]], "recomp": [["0x10083a8d", "jmp 0x30"]]}, {"both": [["0x10083abf", "mov dword ptr [eax], edx", "0x10083a8f"], ["0x10083ac1", "mov dword ptr [edx], edi", "0x10083a91"], ["0x10083ac3", "mov dword ptr [edi + 4], edx", "0x10083a93"]]}, {"orig": [["0x10083ac6", "jmp 0x28"]], "recomp": [["0x10083a96", "jmp 0x27"]]}, {"both": [["0x10083ac8", "mov dword ptr [eax], edx", "0x10083a98"], ["0x10083aca", "mov dword ptr [edx], edi", "0x10083a9a"], ["0x10083acc", "mov dword ptr [edi + 4], edx", "0x10083a9c"]]}, {"orig": [["0x10083acf", "jmp 0x1f"], ["0x10083ad1", "mov dword ptr [ebp], 1"], ["0x10083ad8", "mov dword ptr [ebx + 0x14], 1"]], "recomp": [["0x10083a9f", "jmp 0x1e"], ["0x10083aa1", "mov dword ptr [ebx], 1"], ["0x10083aa7", "mov dword ptr [ebp + 0x14], 1"]]}, {"both": [["0x10083adf", "mov eax, dword ptr [edx]", "0x10083aae"], ["0x10083ae1", "mov ecx, dword ptr [eax + 4]", "0x10083ab0"], ["0x10083ae4", "mov dword ptr [ecx + 0x14], 0", "0x10083ab3"], ["0x10083aeb", "mov eax, dword ptr [edx]", "0x10083aba"], ["0x10083aed", "mov ecx, dword ptr [eax + 4]", "0x10083abc"], ["0x10083af0", "mov eax, dword ptr [esi + 4]", "0x10083abf"], ["0x10083af3", "cmp dword ptr [eax + 4], ecx", "0x10083ac2"]]}, {"orig": [["0x10083af6", "jne -0x1b4"]], "recomp": [["0x10083ac5", "jne -0x1b3"]]}, {"both": [["0x10083afc", "mov eax, dword ptr [esi + 4]", "0x10083acb"], ["0x10083aff", "mov edx, dword ptr [esp + 0x10]", "0x10083ace"], ["0x10083b03", "mov ecx, dword ptr [eax + 4]", "0x10083ad2"], ["0x10083b06", "mov eax, dword ptr [esp + 0x18]", "0x10083ad5"], ["0x10083b0a", "pop ebp", "0x10083ad9"], ["0x10083b0b", "pop edi", "0x10083ada"], ["0x10083b0c", "mov dword ptr [ecx + 0x14], 1", "0x10083adb"], ["0x10083b13", "pop esi", "0x10083ae2"], ["0x10083b14", "mov dword ptr [eax], edx", "0x10083ae3"], ["0x10083b16", "pop ebx", "0x10083ae5"], ["0x10083b17", "add esp, 4", "0x10083ae6"]]}, {"orig": [], "recomp": [["0x10083ae9", "ret 0x10"]]}]]]}, {"address": "0x10083b20", "recomp": "0x10083af0", "name": "LegoCharacterManager::Exists", "matching": 1.0, "effective": true, "diff": [["@@ -0x10083b24,54 +0x10083af4,54 @@", [{"both": [["0x10083b24", "sub esp, 0xc", "0x10083af4"], ["0x10083b27", "mov dword ptr [esp + 4], eax", "0x10083af7"], ["0x10083b2b", "push ebx", "0x10083afb"], ["0x10083b2c", "push esi", "0x10083afc"], ["0x10083b2d", "push edi", "0x10083afd"], ["0x10083b2e", "mov edi, dword ptr [ecx]", "0x10083afe"], ["0x10083b30", "push ebp", "0x10083b00"], ["0x10083b31", "mov esi, ecx", "0x10083b01"], ["0x10083b33", "mov ebp, dword ptr [edi + 4]", "0x10083b03"], ["0x10083b36", "mov ebx, dword ptr [ebp + 4]", "0x10083b06"]]}, {"orig": [["0x10083b39", "cmp ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083b09", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10083b3f", "je 0x26", "0x10083b0f"], ["0x10083b41", "mov eax, dword ptr [esp + 0x14]", "0x10083b11"], ["0x10083b45", "mov ecx, dword ptr [ebx + 0xc]", "0x10083b15"], ["0x10083b48", "push eax", "0x10083b18"], ["0x10083b49", "push ecx", "0x10083b19"], ["0x10083b4a", "call __strcmpi (FUNCTION)", "0x10083b1a"], ["0x10083b4f", "add esp, 8", "0x10083b1f"], ["0x10083b52", "test eax, eax", "0x10083b22"], ["0x10083b54", "jl 0x6", "0x10083b24"], ["0x10083b56", "mov ebp, ebx", "0x10083b26"], ["0x10083b58", "mov ebx, dword ptr [ebx]", "0x10083b28"], ["0x10083b5a", "jmp 0x3", "0x10083b2a"], ["0x10083b5c", "mov ebx, dword ptr [ebx + 8]", "0x10083b2c"]]}, {"orig": [["0x10083b5f", "cmp ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083b2f", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10083b65", "jne -0x26", "0x10083b35"], ["0x10083b67", "mov dword ptr [esp + 0x10], ebp", "0x10083b37"], ["0x10083b6b", "cmp dword ptr [edi + 4], ebp", "0x10083b3b"], ["0x10083b6e", "je 0x19", "0x10083b3e"], ["0x10083b70", "mov eax, dword ptr [ebp + 0xc]", "0x10083b40"], ["0x10083b73", "mov ecx, dword ptr [esp + 0x14]", "0x10083b43"], ["0x10083b77", "push eax", "0x10083b47"], ["0x10083b78", "push ecx", "0x10083b48"], ["0x10083b79", "call __strcmpi (FUNCTION)", "0x10083b49"], ["0x10083b7e", "add esp, 8", "0x10083b4e"], ["0x10083b81", "test eax, eax", "0x10083b51"], ["0x10083b83", "lea eax, [esp + 0x10]", "0x10083b53"], ["0x10083b87", "jge 0xb", "0x10083b57"], ["0x10083b89", "mov eax, dword ptr [edi + 4]", "0x10083b59"], ["0x10083b8c", "mov dword ptr [esp + 0x18], eax", "0x10083b5c"], ["0x10083b90", "lea eax, [esp + 0x18]", "0x10083b60"], ["0x10083b94", "mov eax, dword ptr [eax]", "0x10083b64"]]}, {"orig": [], "recomp": [["0x10083b66", "mov ecx, dword ptr [esi]"]]}, {"both": [["0x10083b96", "mov dword ptr [esp + 0x10], eax", "0x10083b68"]]}, {"orig": [["0x10083b9a", "mov ecx, dword ptr [esi]"]], "recomp": []}, {"both": [["0x10083b9c", "mov eax, dword ptr [ecx + 4]", "0x10083b6c"], ["0x10083b9f", "sub eax, dword ptr [esp + 0x10]", "0x10083b6f"], ["0x10083ba3", "pop ebp", "0x10083b73"], ["0x10083ba4", "pop edi", "0x10083b74"], ["0x10083ba5", "cmp eax, 1", "0x10083b75"], ["0x10083ba8", "sbb al, al", "0x10083b78"], ["0x10083baa", "pop esi", "0x10083b7a"], ["0x10083bab", "inc al", "0x10083b7b"], ["0x10083bad", "pop ebx", "0x10083b7d"], ["0x10083bae", "add esp, 0xc", "0x10083b7e"]]}]]]}, {"address": "0x10083bc0", "recomp": "0x10083b90", "name": "LegoCharacterManager::GetRefCount", "matching": 1.0, "effective": true, "diff": [["@@ -0x10083bc9,24 +0x10083b99,24 @@", [{"both": [["0x10083bc9", "push edi", "0x10083b99"], ["0x10083bca", "mov ecx, dword ptr [edx]", "0x10083b9a"], ["0x10083bcc", "mov esi, ecx", "0x10083b9c"], ["0x10083bce", "cmp ecx, edx", "0x10083b9e"], ["0x10083bd0", "je 0x45", "0x10083ba0"], ["0x10083bd2", "mov edi, dword ptr [esp + 0x14]", "0x10083ba2"], ["0x10083bd6", "mov eax, dword ptr [esi + 0x10]", "0x10083ba6"], ["0x10083bd9", "cmp dword ptr [eax], edi", "0x10083ba9"], ["0x10083bdb", "je 0x44", "0x10083bab"], ["0x10083bdd", "mov ecx, dword ptr [esi + 8]", "0x10083bad"]]}, {"orig": [["0x10083be0", "cmp ecx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083bb0", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x10083be6", "je 0x12", "0x10083bb6"], ["0x10083be8", "mov eax, dword ptr [ecx]", "0x10083bb8"]]}, {"orig": [["0x10083bea", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083bba", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083bf0", "je 0x4", "0x10083bc0"], ["0x10083bf2", "mov ecx, eax", "0x10083bc2"], ["0x10083bf4", "jmp -0xe", "0x10083bc4"], ["0x10083bf6", "mov esi, ecx", "0x10083bc6"], ["0x10083bf8", "jmp 0x19", "0x10083bc8"], ["0x10083bfa", "mov eax, dword ptr [esi + 4]", "0x10083bca"], ["0x10083bfd", "cmp dword ptr [eax + 8], esi", "0x10083bcd"], ["0x10083c00", "jne 0xa", "0x10083bd0"], ["0x10083c02", "mov esi, eax", "0x10083bd2"], ["0x10083c04", "mov eax, dword ptr [eax + 4]", "0x10083bd4"]]}]]]}, {"address": "0x10083c30", "recomp": "0x10083c00", "name": "LegoCharacterManager::ReleaseActor", "matching": 0.7127272727272728, "diff": [["@@ -0x10083c30,119 +0x10083c00,118 @@", [{"orig": [["0x10083c30", "mov eax, dword ptr [esp + 4]"], ["0x10083c34", "sub esp, 0xc"], ["0x10083c37", "mov dword ptr [esp + 8], eax"]], "recomp": [["0x10083c00", "sub esp, 0x10"], ["0x10083c03", "mov dword ptr [esp + 4], ecx"]]}, {"both": [["0x10083c3b", "push ebx", "0x10083c07"], ["0x10083c3c", "push esi", "0x10083c08"], ["0x10083c3d", "push edi", "0x10083c09"]]}, {"orig": [], "recomp": [["0x10083c0a", "mov esi, dword ptr [esp + 0x20]"], ["0x10083c0e", "push ebp"]]}, {"both": [["0x10083c3e", "mov edi, dword ptr [ecx]", "0x10083c0f"]]}, {"orig": [["0x10083c40", "push ebp"], ["0x10083c41", "mov esi, ecx"]], "recomp": [["0x10083c11", "mov dword ptr [esp + 0x18], esi"]]}, {"both": [["0x10083c43", "mov ebp, dword ptr [edi + 4]", "0x10083c15"], ["0x10083c46", "mov ebx, dword ptr [ebp + 4]", "0x10083c18"]]}, {"orig": [["0x10083c49", "cmp ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083c1b", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10083c4f", "je 0x26", "0x10083c21"], ["0x10083c51", "mov eax, dword ptr [esp + 0x18]", "0x10083c23"], ["0x10083c55", "mov ecx, dword ptr [ebx + 0xc]", "0x10083c27"], ["0x10083c58", "push eax", "0x10083c2a"], ["0x10083c59", "push ecx", "0x10083c2b"], ["0x10083c5a", "call __strcmpi (FUNCTION)", "0x10083c2c"], ["0x10083c5f", "add esp, 8", "0x10083c31"], ["0x10083c62", "test eax, eax", "0x10083c34"], ["0x10083c64", "jl 0x6", "0x10083c36"], ["0x10083c66", "mov ebp, ebx", "0x10083c38"], ["0x10083c68", "mov ebx, dword ptr [ebx]", "0x10083c3a"], ["0x10083c6a", "jmp 0x3", "0x10083c3c"], ["0x10083c6c", "mov ebx, dword ptr [ebx + 8]", "0x10083c3e"]]}, {"orig": [["0x10083c6f", "cmp ebx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083c41", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x10083c75", "jne -0x26", "0x10083c47"]]}, {"orig": [["0x10083c77", "mov dword ptr [esp + 0x14], ebp"]], "recomp": [["0x10083c49", "mov dword ptr [esp + 0x10], ebp"]]}, {"both": [["0x10083c7b", "cmp dword ptr [edi + 4], ebp", "0x10083c4d"], ["0x10083c7e", "je 0x19", "0x10083c50"], ["0x10083c80", "mov eax, dword ptr [ebp + 0xc]", "0x10083c52"], ["0x10083c83", "mov ecx, dword ptr [esp + 0x18]", "0x10083c55"], ["0x10083c87", "push eax", "0x10083c59"], ["0x10083c88", "push ecx", "0x10083c5a"], ["0x10083c89", "call __strcmpi (FUNCTION)", "0x10083c5b"], ["0x10083c8e", "add esp, 8", "0x10083c60"], ["0x10083c91", "test eax, eax", "0x10083c63"]]}, {"orig": [["0x10083c93", "lea eax, [esp + 0x14]"]], "recomp": [["0x10083c65", "lea eax, [esp + 0x10]"]]}, {"both": [["0x10083c97", "jge 0xb", "0x10083c69"], ["0x10083c99", "mov eax, dword ptr [edi + 4]", "0x10083c6b"]]}, {"orig": [], "recomp": [["0x10083c6e", "mov dword ptr [esp + 0x1c], eax"], ["0x10083c72", "lea eax, [esp + 0x1c]"], ["0x10083c76", "mov eax, dword ptr [eax]"], ["0x10083c78", "mov ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x10083c9c", "mov dword ptr [esp + 0x10], eax", "0x10083c7c"]]}, {"orig": [["0x10083ca0", "lea eax, [esp + 0x10]"], ["0x10083ca4", "mov eax, dword ptr [eax]"], ["0x10083ca6", "mov edx, dword ptr [esi]"], ["0x10083ca8", "mov dword ptr [esp + 0x10], eax"]], "recomp": [["0x10083c80", "mov edx, dword ptr [ecx]"]]}, {"both": [["0x10083cac", "cmp dword ptr [edx + 4], eax", "0x10083c82"]]}, {"orig": [["0x10083caf", "je 0xe8"], ["0x10083cb5", "add eax, 0x10"], ["0x10083cb8", "mov dword ptr [esp + 0x14], eax"], ["0x10083cbc", "mov ebx, dword ptr [eax]"], ["0x10083cbe", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10083c85", "je 0xe4"], ["0x10083c8b", "lea ebx, [eax + 0x10]"], ["0x10083c8e", "mov edi, dword ptr [ebx]"], ["0x10083c90", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x10083cc1", "test eax, eax", "0x10083c93"], ["0x10083cc3", "je 0x4", "0x10083c95"], ["0x10083cc5", "dec eax", "0x10083c97"]]}, {"orig": [["0x10083cc6", "mov dword ptr [ebx + 4], eax"], ["0x10083cc9", "cmp dword ptr [ebx + 4], 0"]], "recomp": [["0x10083c98", "mov dword ptr [edi + 4], eax"], ["0x10083c9b", "cmp dword ptr [edi + 4], 0"]]}, {"both": [["0x10083ccd", "jne 0xca", "0x10083c9f"]]}, {"orig": [["0x10083cd3", "mov eax, dword ptr [esp + 0x20]"], ["0x10083cd7", "mov ecx, esi"], ["0x10083cd9", "push eax"]], "recomp": [["0x10083ca5", "mov ecx, dword ptr [esp + 0x14]"], ["0x10083ca9", "push esi"]]}, {"both": [["0x10083cda", "call LegoCharacterManager::GetActorInfo (FUNCTION)", "0x10083caa"]]}, {"orig": [["0x10083cdf", "mov edi, eax"], ["0x10083ce1", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10083caf", "mov esi, eax"], ["0x10083cb1", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10083ce3", "mov ebp, dword ptr [eax + 0x104]", "0x10083cb3"], ["0x10083ce9", "test ebp, ebp", "0x10083cb9"], ["0x10083ceb", "je 0xe", "0x10083cbb"], ["0x10083ced", "push 0", "0x10083cbd"], ["0x10083cef", "mov eax, dword ptr [ebp]", "0x10083cbf"], ["0x10083cf2", "push 0", "0x10083cc2"], ["0x10083cf4", "mov ecx, ebp", "0x10083cc4"], ["0x10083cf6", "push 0", "0x10083cc6"], ["0x10083cf8", "call dword ptr [eax + 0x24]", "0x10083cc8"]]}, {"orig": [["0x10083cfb", "mov eax, dword ptr [ebx]"], ["0x10083cfd", "mov ecx, esi"]], "recomp": [["0x10083ccb", "mov eax, dword ptr [edi]"], ["0x10083ccd", "mov ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x10083cff", "push eax", "0x10083cd1"], ["0x10083d00", "call LegoCharacterManager::RemoveROI (FUNCTION)", "0x10083cd2"], ["0x10083d05", "mov eax, dword ptr [esp + 0x10]", "0x10083cd7"], ["0x10083d09", "mov ecx, dword ptr [eax + 0xc]", "0x10083cdb"], ["0x10083d0c", "push ecx", "0x10083cde"], ["0x10083d0d", "call ??3@YAXPAX@Z (FUNCTION)", "0x10083cdf"]]}, {"orig": [["0x10083d12", "mov ecx, dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x10083d16", "add esp, 4", "0x10083ce4"]]}, {"orig": [["0x10083d19", "mov ebx, dword ptr [ecx]"], ["0x10083d1b", "test ebx, ebx"]], "recomp": [["0x10083ce7", "mov edi, dword ptr [ebx]"], ["0x10083ce9", "test edi, edi"]]}, {"both": [["0x10083d1d", "je 0x15", "0x10083ceb"]]}, {"orig": [["0x10083d1f", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x10083ced", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x10083d21", "test ecx, ecx", "0x10083cef"], ["0x10083d23", "je 0x6", "0x10083cf1"], ["0x10083d25", "push 1", "0x10083cf3"], ["0x10083d27", "mov eax, dword ptr [ecx]", "0x10083cf5"], ["0x10083d29", "call dword ptr [eax]", "0x10083cf7"]]}, {"orig": [["0x10083d2b", "push ebx"]], "recomp": [["0x10083cf9", "push edi"]]}, {"both": [["0x10083d2c", "call ??3@YAXPAX@Z (FUNCTION)", "0x10083cfa"], ["0x10083d31", "add esp, 4", "0x10083cff"], ["0x10083d34", "mov eax, dword ptr [esp + 0x10]", "0x10083d02"]]}, {"orig": [["0x10083d38", "lea ecx, [esp + 0x14]"]], "recomp": [["0x10083d06", "lea ecx, [esp + 0x10]"], ["0x10083d0a", "mov edx, dword ptr [esp + 0x14]"]]}, {"both": [["0x10083d3c", "push eax", "0x10083d0e"], ["0x10083d3d", "push ecx", "0x10083d0f"]]}, {"orig": [["0x10083d3e", "mov ecx, dword ptr [esi]"]], "recomp": [["0x10083d10", "mov ecx, dword ptr [edx]"]]}, {"both": [["0x10083d40", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::erase (FUNCTION)", "0x10083d12"]]}, {"orig": [["0x10083d45", "test edi, edi"]], "recomp": [["0x10083d17", "test esi, esi"]]}, {"both": [["0x10083d47", "je 0x54", "0x10083d19"]]}, {"orig": [["0x10083d49", "mov ecx, dword ptr [edi + 8]"]], "recomp": [["0x10083d1b", "mov ecx, dword ptr [esi + 8]"]]}, {"both": [["0x10083d4c", "test ecx, ecx", "0x10083d1e"], ["0x10083d4e", "je 0x22", "0x10083d20"], ["0x10083d50", "mov eax, dword ptr [ecx + 4]", "0x10083d22"], ["0x10083d53", "mov edx, dword ptr [eax + 4]", "0x10083d25"], ["0x10083d56", "and byte ptr [edx + ecx + 0x15], 0xfd", "0x10083d28"]]}, {"orig": [["0x10083d5b", "mov ecx, dword ptr [edi + 8]"]], "recomp": [["0x10083d2d", "mov ecx, dword ptr [esi + 8]"]]}, {"both": [["0x10083d5e", "test ecx, ecx", "0x10083d30"], ["0x10083d60", "je 0x2d", "0x10083d32"], ["0x10083d62", "mov eax, dword ptr [ecx + 4]", "0x10083d34"], ["0x10083d65", "push 1", "0x10083d37"], ["0x10083d67", "mov edx, dword ptr [eax + 4]", "0x10083d39"], ["0x10083d6a", "lea ecx, [edx + ecx + 4]", "0x10083d3c"], ["0x10083d6e", "mov eax, dword ptr [ecx]", "0x10083d40"], ["0x10083d70", "jmp 0x1b", "0x10083d42"], ["0x10083d72", "test ebp, ebp", "0x10083d44"], ["0x10083d74", "je 0x19", "0x10083d46"]]}]], ["@@ -0x10083d79,18 +0x10083d4b,18 @@", [{"both": [["0x10083d79", "test al, 2", "0x10083d4b"], ["0x10083d7b", "je 0x12", "0x10083d4d"], ["0x10083d7d", "and al, 0xfd", "0x10083d4f"], ["0x10083d7f", "test ebp, ebp", "0x10083d51"], ["0x10083d81", "mov byte ptr [ebp + 0x11], al", "0x10083d53"], ["0x10083d84", "je 0x9", "0x10083d56"], ["0x10083d86", "push 1", "0x10083d58"], ["0x10083d88", "mov eax, dword ptr [ebp]", "0x10083d5a"], ["0x10083d8b", "mov ecx, ebp", "0x10083d5d"], ["0x10083d8d", "call dword ptr [eax]", "0x10083d5f"]]}, {"orig": [["0x10083d8f", "mov dword ptr [edi + 4], 0"], ["0x10083d96", "mov dword ptr [edi + 8], 0"]], "recomp": [["0x10083d61", "mov dword ptr [esi + 4], 0"], ["0x10083d68", "mov dword ptr [esi + 8], 0"]]}, {"both": [["0x10083d9d", "pop ebp", "0x10083d6f"], ["0x10083d9e", "pop edi", "0x10083d70"], ["0x10083d9f", "pop esi", "0x10083d71"], ["0x10083da0", "pop ebx", "0x10083d72"]]}, {"orig": [["0x10083da1", "add esp, 0xc"]], "recomp": [["0x10083d73", "add esp, 0x10"]]}, {"both": [["0x10083da4", "ret 4", "0x10083d76"]]}]]]}, {"address": "0x10083db0", "recomp": "0x10083d80", "name": "LegoCharacterManager::ReleaseActor", "matching": 0.6360153256704981, "diff": [["@@ -0x10083db0,130 +0x10083d80,131 @@", [{"both": [["0x10083db0", "sub esp, 0xc", "0x10083d80"], ["0x10083db3", "mov eax, dword ptr [ecx]", "0x10083d83"], ["0x10083db5", "mov dword ptr [esp], ecx", "0x10083d85"], ["0x10083db9", "push ebx", "0x10083d89"], ["0x10083dba", "push esi", "0x10083d8a"], ["0x10083dbb", "mov ecx, dword ptr [eax + 4]", "0x10083d8b"], ["0x10083dbe", "push edi", "0x10083d8e"], ["0x10083dbf", "push ebp", "0x10083d8f"], ["0x10083dc0", "mov eax, dword ptr [ecx]", "0x10083d90"]]}, {"orig": [["0x10083dc2", "mov ebx, eax"]], "recomp": [["0x10083d92", "mov edi, eax"]]}, {"both": [["0x10083dc4", "cmp eax, ecx", "0x10083d94"]]}, {"orig": [["0x10083dc6", "je 0x132"]], "recomp": [["0x10083d96", "je 0x12f"]]}, {"both": [["0x10083dcc", "mov esi, dword ptr [esp + 0x20]", "0x10083d9c"]]}, {"orig": [["0x10083dd0", "mov ebp, dword ptr [ebx + 0x10]"], ["0x10083dd3", "cmp dword ptr [ebp], esi"]], "recomp": [["0x10083da0", "mov ebx, dword ptr [edi + 0x10]"], ["0x10083da3", "cmp dword ptr [ebx], esi"]]}, {"both": [["0x10083dd6", "je 0x44", "0x10083da5"]]}, {"orig": [["0x10083dd8", "mov edx, dword ptr [ebx + 8]"], ["0x10083ddb", "cmp edx, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083da7", "mov edx, dword ptr [edi + 8]"], ["0x10083daa", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edx"]]}, {"both": [["0x10083de1", "je 0x12", "0x10083db0"], ["0x10083de3", "mov eax, dword ptr [edx]", "0x10083db2"]]}, {"orig": [["0x10083de5", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083db4", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083deb", "je 0x4", "0x10083dba"], ["0x10083ded", "mov edx, eax", "0x10083dbc"], ["0x10083def", "jmp -0xe", "0x10083dbe"]]}, {"orig": [["0x10083df1", "mov ebx, edx"]], "recomp": [["0x10083dc0", "mov edi, edx"]]}, {"both": [["0x10083df3", "jmp 0x19", "0x10083dc2"]]}, {"orig": [["0x10083df5", "mov eax, dword ptr [ebx + 4]"], ["0x10083df8", "cmp dword ptr [eax + 8], ebx"]], "recomp": [["0x10083dc4", "mov eax, dword ptr [edi + 4]"], ["0x10083dc7", "cmp dword ptr [eax + 8], edi"]]}, {"both": [["0x10083dfb", "jne 0xa", "0x10083dca"]]}, {"orig": [["0x10083dfd", "mov ebx, eax"]], "recomp": [["0x10083dcc", "mov edi, eax"]]}, {"both": [["0x10083dff", "mov eax, dword ptr [eax + 4]", "0x10083dce"]]}, {"orig": [["0x10083e02", "cmp dword ptr [eax + 8], ebx"]], "recomp": [["0x10083dd1", "cmp dword ptr [eax + 8], edi"]]}, {"both": [["0x10083e05", "je -0xa", "0x10083dd4"]]}, {"orig": [["0x10083e07", "cmp dword ptr [ebx + 8], eax"]], "recomp": [["0x10083dd6", "cmp dword ptr [edi + 8], eax"]]}, {"both": [["0x10083e0a", "je 0x2", "0x10083dd9"]]}, {"orig": [["0x10083e0c", "mov ebx, eax"], ["0x10083e0e", "cmp ebx, ecx"], ["0x10083e10", "jne -0x42"]], "recomp": [["0x10083ddb", "mov edi, eax"], ["0x10083ddd", "cmp edi, ecx"], ["0x10083ddf", "jne -0x41"]]}, {"both": [["0x10083e12", "pop ebp", "0x10083de1"], ["0x10083e13", "pop edi", "0x10083de2"], ["0x10083e14", "pop esi", "0x10083de3"], ["0x10083e15", "pop ebx", "0x10083de4"], ["0x10083e16", "add esp, 0xc", "0x10083de5"], ["0x10083e19", "ret 4", "0x10083de8"]]}, {"orig": [["0x10083e1c", "mov eax, dword ptr [ebp + 4]"]], "recomp": [["0x10083deb", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x10083e1f", "test eax, eax", "0x10083dee"], ["0x10083e21", "je 0x4", "0x10083df0"], ["0x10083e23", "dec eax", "0x10083df2"]]}, {"orig": [["0x10083e24", "mov dword ptr [ebp + 4], eax"], ["0x10083e27", "cmp dword ptr [ebp + 4], 0"], ["0x10083e2b", "jne 0xcd"], ["0x10083e31", "mov eax, dword ptr [ebp]"]], "recomp": [["0x10083df3", "mov dword ptr [ebx + 4], eax"], ["0x10083df6", "cmp dword ptr [ebx + 4], 0"], ["0x10083dfa", "jne 0xcb"], ["0x10083e00", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x10083e34", "mov ecx, dword ptr [eax + 0xe4]", "0x10083e02"], ["0x10083e3a", "push ecx", "0x10083e08"], ["0x10083e3b", "mov ecx, dword ptr [esp + 0x14]", "0x10083e09"], ["0x10083e3f", "call LegoCharacterManager::GetActorInfo (FUNCTION)", "0x10083e0d"], ["0x10083e44", "mov esi, eax", "0x10083e12"]]}, {"orig": [["0x10083e46", "mov ecx, dword ptr [ebp]"], ["0x10083e49", "mov edi, dword ptr [ecx + 0x104]"], ["0x10083e4f", "test edi, edi"], ["0x10083e51", "je 0xd"]], "recomp": [["0x10083e14", "mov ecx, dword ptr [ebx]"], ["0x10083e16", "mov ebp, dword ptr [ecx + 0x104]"], ["0x10083e1c", "test ebp, ebp"], ["0x10083e1e", "je 0xe"]]}, {"both": [["0x10083e53", "push 0", "0x10083e20"]]}, {"orig": [["0x10083e55", "mov eax, dword ptr [edi]"]], "recomp": [["0x10083e22", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x10083e57", "push 0", "0x10083e25"]]}, {"orig": [["0x10083e59", "mov ecx, edi"]], "recomp": [["0x10083e27", "mov ecx, ebp"]]}, {"both": [["0x10083e5b", "push 0", "0x10083e29"], ["0x10083e5d", "call dword ptr [eax + 0x24]", "0x10083e2b"]]}, {"orig": [["0x10083e60", "mov eax, dword ptr [ebp]"]], "recomp": [["0x10083e2e", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x10083e63", "mov ecx, dword ptr [esp + 0x10]", "0x10083e30"], ["0x10083e67", "push eax", "0x10083e34"], ["0x10083e68", "call LegoCharacterManager::RemoveROI (FUNCTION)", "0x10083e35"]]}, {"orig": [["0x10083e6d", "mov eax, dword ptr [ebx + 0xc]"]], "recomp": [["0x10083e3a", "mov eax, dword ptr [edi + 0xc]"]]}, {"both": [["0x10083e70", "push eax", "0x10083e3d"], ["0x10083e71", "call ??3@YAXPAX@Z (FUNCTION)", "0x10083e3e"], ["0x10083e76", "add esp, 4", "0x10083e43"]]}, {"orig": [["0x10083e79", "mov ebp, dword ptr [ebx + 0x10]"], ["0x10083e7c", "test ebp, ebp"], ["0x10083e7e", "je 0x16"], ["0x10083e80", "mov ecx, dword ptr [ebp]"]], "recomp": [["0x10083e46", "mov ebx, dword ptr [edi + 0x10]"], ["0x10083e49", "test ebx, ebx"], ["0x10083e4b", "je 0x15"], ["0x10083e4d", "mov ecx, dword ptr [ebx]"]]}, {"both": [["0x10083e83", "test ecx, ecx", "0x10083e4f"], ["0x10083e85", "je 0x6", "0x10083e51"], ["0x10083e87", "push 1", "0x10083e53"], ["0x10083e89", "mov eax, dword ptr [ecx]", "0x10083e55"], ["0x10083e8b", "call dword ptr [eax]", "0x10083e57"]]}, {"orig": [["0x10083e8d", "push ebp"]], "recomp": [["0x10083e59", "push ebx"]]}, {"both": [["0x10083e8e", "call ??3@YAXPAX@Z (FUNCTION)", "0x10083e5a"], ["0x10083e93", "add esp, 4", "0x10083e5f"], ["0x10083e96", "lea eax, [esp + 0x14]", "0x10083e62"]]}, {"orig": [["0x10083e9a", "push ebx"]], "recomp": [["0x10083e66", "push edi"]]}, {"both": [["0x10083e9b", "mov edx, dword ptr [esp + 0x14]", "0x10083e67"], ["0x10083e9f", "push eax", "0x10083e6b"], ["0x10083ea0", "mov ecx, dword ptr [edx]", "0x10083e6c"], ["0x10083ea2", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::erase (FUNCTION)", "0x10083e6e"], ["0x10083ea7", "test esi, esi", "0x10083e73"]]}, {"orig": [["0x10083ea9", "je 0x53"]], "recomp": [["0x10083e75", "je 0x54"]]}, {"both": [["0x10083eab", "mov ecx, dword ptr [esi + 8]", "0x10083e77"], ["0x10083eae", "test ecx, ecx", "0x10083e7a"], ["0x10083eb0", "je 0x22", "0x10083e7c"], ["0x10083eb2", "mov eax, dword ptr [ecx + 4]", "0x10083e7e"], ["0x10083eb5", "mov edx, dword ptr [eax + 4]", "0x10083e81"], ["0x10083eb8", "and byte ptr [edx + ecx + 0x15], 0xfd", "0x10083e84"], ["0x10083ebd", "mov ecx, dword ptr [esi + 8]", "0x10083e89"], ["0x10083ec0", "test ecx, ecx", "0x10083e8c"]]}, {"orig": [["0x10083ec2", "je 0x2c"]], "recomp": [["0x10083e8e", "je 0x2d"]]}, {"both": [["0x10083ec4", "mov eax, dword ptr [ecx + 4]", "0x10083e90"], ["0x10083ec7", "push 1", "0x10083e93"], ["0x10083ec9", "mov edx, dword ptr [eax + 4]", "0x10083e95"], ["0x10083ecc", "lea ecx, [edx + ecx + 4]", "0x10083e98"], ["0x10083ed0", "mov eax, dword ptr [ecx]", "0x10083e9c"]]}, {"orig": [["0x10083ed2", "jmp 0x1a"], ["0x10083ed4", "test edi, edi"], ["0x10083ed6", "je 0x18"], ["0x10083ed8", "mov al, byte ptr [edi + 0x11]"]], "recomp": [["0x10083e9e", "jmp 0x1b"], ["0x10083ea0", "test ebp, ebp"], ["0x10083ea2", "je 0x19"], ["0x10083ea4", "mov al, byte ptr [ebp + 0x11]"]]}, {"both": [["0x10083edb", "test al, 2", "0x10083ea7"]]}, {"orig": [["0x10083edd", "je 0x11"]], "recomp": [["0x10083ea9", "je 0x12"]]}, {"both": [["0x10083edf", "and al, 0xfd", "0x10083eab"]]}, {"orig": [["0x10083ee1", "test edi, edi"], ["0x10083ee3", "mov byte ptr [edi + 0x11], al"], ["0x10083ee6", "je 0x8"]], "recomp": [["0x10083ead", "test ebp, ebp"], ["0x10083eaf", "mov byte ptr [ebp + 0x11], al"], ["0x10083eb2", "je 0x9"]]}, {"both": [["0x10083ee8", "push 1", "0x10083eb4"]]}, {"orig": [["0x10083eea", "mov eax, dword ptr [edi]"], ["0x10083eec", "mov ecx, edi"]], "recomp": [["0x10083eb6", "mov eax, dword ptr [ebp]"], ["0x10083eb9", "mov ecx, ebp"]]}, {"both": [["0x10083eee", "call dword ptr [eax]", "0x10083ebb"], ["0x10083ef0", "mov dword ptr [esi + 4], 0", "0x10083ebd"], ["0x10083ef7", "mov dword ptr [esi + 8], 0", "0x10083ec4"], ["0x10083efe", "pop ebp", "0x10083ecb"], ["0x10083eff", "pop edi", "0x10083ecc"], ["0x10083f00", "pop esi", "0x10083ecd"], ["0x10083f01", "pop ebx", "0x10083ece"], ["0x10083f02", "add esp, 0xc", "0x10083ecf"]]}, {"orig": [], "recomp": [["0x10083ed2", "ret 4"]]}]]]}, {"address": "0x10083f10", "recomp": "0x10083ee0", "name": "LegoCharacterManager::ReleaseAutoROI", "matching": 0.6952380952380952, "diff": [["@@ -0x10083f10,94 +0x10083ee0,94 @@", [{"both": [["0x10083f10", "sub esp, 8", "0x10083ee0"], ["0x10083f13", "push ebx", "0x10083ee3"], ["0x10083f14", "push esi", "0x10083ee4"], ["0x10083f15", "mov eax, dword ptr [ecx]", "0x10083ee5"], ["0x10083f17", "push edi", "0x10083ee7"], ["0x10083f18", "push ebp", "0x10083ee8"], ["0x10083f19", "mov esi, ecx", "0x10083ee9"], ["0x10083f1b", "mov ecx, dword ptr [eax + 4]", "0x10083eeb"], ["0x10083f1e", "mov edx, dword ptr [ecx]", "0x10083eee"]]}, {"orig": [["0x10083f20", "mov ebp, edx"], ["0x10083f22", "cmp ecx, edx"], ["0x10083f24", "je 0xd4"]], "recomp": [["0x10083ef0", "mov ebx, edx"], ["0x10083ef2", "cmp edx, ecx"], ["0x10083ef4", "je 0xd8"]]}, {"both": [["0x10083f2a", "mov edx, dword ptr [esp + 0x1c]", "0x10083efa"]]}, {"orig": [["0x10083f2e", "mov ebx, dword ptr [ebp + 0x10]"], ["0x10083f31", "cmp dword ptr [ebx], edx"]], "recomp": [["0x10083efe", "mov ebp, dword ptr [ebx + 0x10]"], ["0x10083f01", "cmp dword ptr [ebp], edx"]]}, {"both": [["0x10083f33", "je 0x44", "0x10083f04"]]}, {"orig": [["0x10083f35", "mov edi, dword ptr [ebp + 8]"], ["0x10083f38", "cmp edi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083f06", "mov edi, dword ptr [ebx + 8]"], ["0x10083f09", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], edi"]]}, {"both": [["0x10083f3e", "je 0x12", "0x10083f0f"], ["0x10083f40", "mov eax, dword ptr [edi]", "0x10083f11"]]}, {"orig": [["0x10083f42", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10083f13", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10083f48", "je 0x4", "0x10083f19"], ["0x10083f4a", "mov edi, eax", "0x10083f1b"], ["0x10083f4c", "jmp -0xe", "0x10083f1d"]]}, {"orig": [["0x10083f4e", "mov ebp, edi"]], "recomp": [["0x10083f1f", "mov ebx, edi"]]}, {"both": [["0x10083f50", "jmp 0x19", "0x10083f21"]]}, {"orig": [["0x10083f52", "mov eax, dword ptr [ebp + 4]"], ["0x10083f55", "cmp dword ptr [eax + 8], ebp"]], "recomp": [["0x10083f23", "mov eax, dword ptr [ebx + 4]"], ["0x10083f26", "cmp dword ptr [eax + 8], ebx"]]}, {"both": [["0x10083f58", "jne 0xa", "0x10083f29"]]}, {"orig": [["0x10083f5a", "mov ebp, eax"]], "recomp": [["0x10083f2b", "mov ebx, eax"]]}, {"both": [["0x10083f5c", "mov eax, dword ptr [eax + 4]", "0x10083f2d"]]}, {"orig": [["0x10083f5f", "cmp dword ptr [eax + 8], ebp"]], "recomp": [["0x10083f30", "cmp dword ptr [eax + 8], ebx"]]}, {"both": [["0x10083f62", "je -0xa", "0x10083f33"]]}, {"orig": [["0x10083f64", "cmp dword ptr [ebp + 8], eax"]], "recomp": [["0x10083f35", "cmp dword ptr [ebx + 8], eax"]]}, {"both": [["0x10083f67", "je 0x2", "0x10083f38"]]}, {"orig": [["0x10083f69", "mov ebp, eax"], ["0x10083f6b", "cmp ebp, ecx"], ["0x10083f6d", "jne -0x41"]], "recomp": [["0x10083f3a", "mov ebx, eax"], ["0x10083f3c", "cmp ebx, ecx"], ["0x10083f3e", "jne -0x42"]]}, {"both": [["0x10083f6f", "pop ebp", "0x10083f40"], ["0x10083f70", "pop edi", "0x10083f41"], ["0x10083f71", "pop esi", "0x10083f42"], ["0x10083f72", "pop ebx", "0x10083f43"], ["0x10083f73", "add esp, 8", "0x10083f44"], ["0x10083f76", "ret 4", "0x10083f47"]]}, {"orig": [["0x10083f79", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x10083f4a", "mov eax, dword ptr [ebp + 4]"]]}, {"both": [["0x10083f7c", "test eax, eax", "0x10083f4d"], ["0x10083f7e", "je 0x4", "0x10083f4f"], ["0x10083f80", "dec eax", "0x10083f51"]]}, {"orig": [["0x10083f81", "mov dword ptr [ebx + 4], eax"], ["0x10083f84", "cmp dword ptr [ebx + 4], 0"], ["0x10083f88", "jne 0x74"], ["0x10083f8a", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10083f52", "mov dword ptr [ebp + 4], eax"], ["0x10083f55", "cmp dword ptr [ebp + 4], 0"], ["0x10083f59", "jne 0x77"], ["0x10083f5b", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x10083f8c", "mov edi, dword ptr [eax + 0x104]", "0x10083f5e"], ["0x10083f92", "test edi, edi", "0x10083f64"], ["0x10083f94", "je 0xd", "0x10083f66"], ["0x10083f96", "push 0", "0x10083f68"], ["0x10083f98", "mov eax, dword ptr [edi]", "0x10083f6a"], ["0x10083f9a", "push 0", "0x10083f6c"], ["0x10083f9c", "mov ecx, edi", "0x10083f6e"], ["0x10083f9e", "push 0", "0x10083f70"], ["0x10083fa0", "call dword ptr [eax + 0x24]", "0x10083f72"]]}, {"orig": [["0x10083fa3", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10083f75", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x10083fa5", "mov ecx, esi", "0x10083f78"], ["0x10083fa7", "push eax", "0x10083f7a"], ["0x10083fa8", "call LegoCharacterManager::RemoveROI (FUNCTION)", "0x10083f7b"]]}, {"orig": [["0x10083fad", "mov eax, dword ptr [ebp + 0xc]"]], "recomp": [["0x10083f80", "mov eax, dword ptr [ebx + 0xc]"]]}, {"both": [["0x10083fb0", "push eax", "0x10083f83"], ["0x10083fb1", "call ??3@YAXPAX@Z (FUNCTION)", "0x10083f84"], ["0x10083fb6", "add esp, 4", "0x10083f89"]]}, {"orig": [["0x10083fb9", "mov ebx, dword ptr [ebp + 0x10]"], ["0x10083fbc", "test ebx, ebx"], ["0x10083fbe", "je 0x15"], ["0x10083fc0", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x10083f8c", "mov ebp, dword ptr [ebx + 0x10]"], ["0x10083f8f", "test ebp, ebp"], ["0x10083f91", "je 0x16"], ["0x10083f93", "mov ecx, dword ptr [ebp]"]]}, {"both": [["0x10083fc2", "test ecx, ecx", "0x10083f96"], ["0x10083fc4", "je 0x6", "0x10083f98"], ["0x10083fc6", "push 1", "0x10083f9a"], ["0x10083fc8", "mov eax, dword ptr [ecx]", "0x10083f9c"], ["0x10083fca", "call dword ptr [eax]", "0x10083f9e"]]}, {"orig": [["0x10083fcc", "push ebx"]], "recomp": [["0x10083fa0", "push ebp"]]}, {"both": [["0x10083fcd", "call ??3@YAXPAX@Z (FUNCTION)", "0x10083fa1"], ["0x10083fd2", "add esp, 4", "0x10083fa6"]]}, {"orig": [["0x10083fd5", "lea ecx, [esp + 0x10]"], ["0x10083fd9", "push ebp"], ["0x10083fda", "push ecx"]], "recomp": [["0x10083fa9", "lea eax, [esp + 0x10]"], ["0x10083fad", "push ebx"], ["0x10083fae", "push eax"]]}, {"both": [["0x10083fdb", "mov ecx, dword ptr [esi]", "0x10083faf"], ["0x10083fdd", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::erase (FUNCTION)", "0x10083fb1"], ["0x10083fe2", "test edi, edi", "0x10083fb6"], ["0x10083fe4", "je 0x18", "0x10083fb8"], ["0x10083fe6", "mov al, byte ptr [edi + 0x11]", "0x10083fba"], ["0x10083fe9", "test al, 2", "0x10083fbd"], ["0x10083feb", "je 0x11", "0x10083fbf"], ["0x10083fed", "and al, 0xfd", "0x10083fc1"], ["0x10083fef", "test edi, edi", "0x10083fc3"], ["0x10083ff1", "mov byte ptr [edi + 0x11], al", "0x10083fc5"]]}]]]}, {"address": "0x10084010", "recomp": "0x10083fe0", "name": "LegoCharacterManager::RemoveROI", "matching": 1.0, "diff": []}, {"address": "0x10084030", "recomp": "0x10084000", "name": "LegoCharacterManager::CreateActorROI", "matching": 1.0, "effective": true, "diff": [["@@ -0x10084426,22 +0x100843f6,22 @@", [{"both": [["0x10084426", "mov ecx, dword ptr [edi + 0x14]", "0x100843f6"], ["0x10084429", "call ViewLODListManager::Destroy (FUNCTION)", "0x100843f9"], ["0x1008442e", "mov eax, dword ptr [esi - 8]", "0x100843fe"], ["0x10084431", "mov ecx, dword ptr [ebp - 0x24]", "0x10084401"], ["0x10084434", "push eax", "0x10084404"], ["0x10084435", "call LegoROI::SetName (FUNCTION)", "0x10084405"], ["0x1008443a", "mov edx, dword ptr [ebp - 0x24]", "0x1008440a"], ["0x1008443d", "mov ecx, dword ptr [ebp - 0x14]", "0x1008440d"], ["0x10084440", "lea eax, [ebp - 0xf8]", "0x10084410"], ["0x10084446", "mov dword ptr [edx + 0xd4], ecx", "0x10084416"]]}, {"orig": [], "recomp": [["0x1008441c", "mov edx, dword ptr [esi + 4]"]]}, {"both": [["0x1008444c", "mov dword ptr [ebp - 0xfc], eax", "0x1008441f"]]}, {"orig": [["0x10084452", "mov edx, dword ptr [esi + 4]"]], "recomp": []}, {"both": [["0x10084455", "mov dword ptr [ebp - 0x100], Mx3DPointFloat::`vftable' (VTABLE)", "0x10084425"], ["0x1008445f", "mov dword ptr [ebp - 0xf8], edx", "0x1008442f"], ["0x10084465", "mov eax, dword ptr [ebp - 0xfc]", "0x10084435"], ["0x1008446b", "mov ecx, dword ptr [esi + 8]", "0x1008443b"], ["0x1008446e", "mov dword ptr [eax + 4], ecx", "0x1008443e"], ["0x10084471", "mov eax, dword ptr [ebp - 0xfc]", "0x10084441"], ["0x10084477", "mov edx, dword ptr [esi + 0xc]", "0x10084447"], ["0x1008447a", "mov dword ptr [eax + 8], edx", "0x1008444a"], ["0x1008447d", "mov ecx, dword ptr [esi + 0x10]", "0x1008444d"], ["0x10084480", "mov dword ptr [ebp - 0xec], ecx", "0x10084450"]]}]], ["@@ -0x1008466d,21 +0x1008463d,21 @@", [{"both": [["0x1008466d", "xor ecx, ecx", "0x1008463d"], ["0x1008466f", "mov cl, byte ptr [eax + edx]", "0x1008463f"], ["0x10084672", "mov edi, dword ptr [ebp - 0x68]", "0x10084642"], ["0x10084675", "mov eax, dword ptr [ebx + 0x10]", "0x10084645"], ["0x10084678", "mov dword ptr [ebp - 0x20], 0", "0x10084648"], ["0x1008467f", "mov edx, dword ptr [eax + ecx*4]", "0x1008464f"], ["0x10084682", "mov ecx, dword ptr [edi + 0xc]", "0x10084652"], ["0x10084685", "mov dword ptr [ebp - 0x48], edx", "0x10084655"], ["0x10084688", "mov dword ptr [ebp - 0x10], ecx", "0x10084658"], ["0x1008468b", "mov eax, dword ptr [ecx + 4]", "0x1008465b"]]}, {"orig": [["0x1008468e", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax"]], "recomp": [["0x1008465e", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x10084694", "je 0x41", "0x10084664"], ["0x10084696", "mov ecx, dword ptr [eax + 0xc]", "0x10084666"], ["0x10084699", "mov edi, dword ptr [ebp - 0x48]", "0x10084669"], ["0x1008469c", "mov dl, byte ptr [ecx]", "0x1008466c"], ["0x1008469e", "cmp dl, byte ptr [edi]", "0x1008466e"], ["0x100846a0", "jne 0x1a", "0x10084670"], ["0x100846a2", "or dl, dl", "0x10084672"], ["0x100846a4", "je 0x12", "0x10084674"], ["0x100846a6", "mov dl, byte ptr [ecx + 1]", "0x10084676"], ["0x100846a9", "cmp dl, byte ptr [edi + 1]", "0x10084679"]]}]], ["@@ -0x100846b8,21 +0x10084688,21 @@", [{"both": [["0x100846b8", "xor ecx, ecx", "0x10084688"], ["0x100846ba", "jmp 0x5", "0x1008468a"], ["0x100846bc", "sbb ecx, ecx", "0x1008468c"], ["0x100846be", "sbb ecx, -1", "0x1008468e"], ["0x100846c1", "test ecx, ecx", "0x10084691"], ["0x100846c3", "jg 0x7", "0x10084693"], ["0x100846c5", "mov dword ptr [ebp - 0x10], eax", "0x10084695"], ["0x100846c8", "mov eax, dword ptr [eax]", "0x10084698"], ["0x100846ca", "jmp 0x3", "0x1008469a"], ["0x100846cc", "mov eax, dword ptr [eax + 8]", "0x1008469c"]]}, {"orig": [["0x100846cf", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax"]], "recomp": [["0x1008469f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]]}, {"both": [["0x100846d5", "jne -0x41", "0x100846a5"], ["0x100846d7", "mov ecx, dword ptr [ebp - 0x10]", "0x100846a7"], ["0x100846da", "mov eax, dword ptr [ebp - 0x68]", "0x100846aa"], ["0x100846dd", "mov dword ptr [ebp - 0x94], ecx", "0x100846ad"], ["0x100846e3", "cmp dword ptr [eax + 0xc], ecx", "0x100846b3"], ["0x100846e6", "je 0x35", "0x100846b6"], ["0x100846e8", "mov eax, dword ptr [ebp - 0x48]", "0x100846b8"], ["0x100846eb", "mov edx, dword ptr [ecx + 0xc]", "0x100846bb"], ["0x100846ee", "mov cl, byte ptr [eax]", "0x100846be"], ["0x100846f0", "cmp cl, byte ptr [edx]", "0x100846c0"]]}]]]}, {"address": "0x10084930", "recomp": "0x10084900", "name": "list<ROI *,allocator<ROI *> >::~list<ROI *,allocator<ROI *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x10084930,19 +0x10084900,19 @@", [{"both": [["0x10084930", "sub esp, 0xc", "0x10084900"], ["0x10084933", "push esi", "0x10084903"], ["0x10084934", "push edi", "0x10084904"], ["0x10084935", "mov eax, dword ptr [ecx + 4]", "0x10084905"], ["0x10084938", "mov esi, ecx", "0x10084908"], ["0x1008493a", "mov dword ptr [esp + 0x10], eax", "0x1008490a"], ["0x1008493e", "mov ecx, dword ptr [eax]", "0x1008490e"], ["0x10084940", "mov edi, ecx", "0x10084910"]]}, {"orig": [["0x10084942", "cmp eax, ecx"]], "recomp": [["0x10084912", "cmp ecx, eax"]]}, {"both": [["0x10084944", "je 0x2e", "0x10084914"], ["0x10084946", "lea edx, [edi + 4]", "0x10084916"], ["0x10084949", "mov dword ptr [esp + 8], edi", "0x10084919"], ["0x1008494d", "mov eax, edi", "0x1008491d"], ["0x1008494f", "mov edi, dword ptr [edi]", "0x1008491f"], ["0x10084951", "mov ecx, dword ptr [edx]", "0x10084921"], ["0x10084953", "mov eax, dword ptr [eax]", "0x10084923"], ["0x10084955", "mov dword ptr [ecx], eax", "0x10084925"], ["0x10084957", "mov ecx, dword ptr [edx]", "0x10084927"], ["0x10084959", "mov eax, dword ptr [esp + 8]", "0x10084929"]]}]]]}, {"address": "0x100849a0", "recomp": "0x10084970", "name": "LegoCharacterManager::FUN_100849a0", "matching": 1.0, "diff": []}, {"address": "0x10084c00", "recomp": "0x10084bd0", "name": "LegoCharacterManager::IsActor", "matching": 0.9545454545454546, "diff": [["@@ -0x10084c02,20 +0x10084bd2,20 @@", [{"both": [["0x10084c02", "mov edi, g_actorInfo[0].m_name (DATA)", "0x10084bd2"], ["0x10084c07", "mov esi, dword ptr [esp + 0xc]", "0x10084bd7"], ["0x10084c0b", "push esi", "0x10084bdb"], ["0x10084c0c", "mov eax, dword ptr [edi]", "0x10084bdc"], ["0x10084c0e", "push eax", "0x10084bde"], ["0x10084c0f", "call __strcmpi (FUNCTION)", "0x10084bdf"], ["0x10084c14", "add esp, 8", "0x10084be4"], ["0x10084c17", "test eax, eax", "0x10084be7"], ["0x10084c19", "je 0x13", "0x10084be9"], ["0x10084c1b", "add edi, 0x108", "0x10084beb"]]}, {"orig": [["0x10084c21", "cmp edi, 0x10109330"]], "recomp": [["0x10084bf1", "cmp edi, 0x10108428"]]}, {"both": [["0x10084c27", "jb -0x1e", "0x10084bf7"], ["0x10084c29", "xor al, al", "0x10084bf9"], ["0x10084c2b", "pop edi", "0x10084bfb"], ["0x10084c2c", "pop esi", "0x10084bfc"], ["0x10084c2d", "ret ", "0x10084bfd"], ["0x10084c2e", "mov al, 1", "0x10084bfe"], ["0x10084c30", "pop edi", "0x10084c00"], ["0x10084c31", "pop esi", "0x10084c01"], ["0x10084c32", "ret ", "0x10084c02"]]}]]]}, {"address": "0x10084c40", "recomp": "0x10084c10", "name": "LegoCharacterManager::GetExtraActor", "matching": 1.0, "diff": []}, {"address": "0x10084c60", "recomp": "0x10084c30", "name": "LegoCharacterManager::GetActorInfo", "matching": 0.8125, "diff": [["@@ -0x10084c60,26 +0x10084c30,26 @@", [{"both": [["0x10084c60", "push ebx", "0x10084c30"], ["0x10084c61", "push esi", "0x10084c31"], ["0x10084c62", "push edi", "0x10084c32"]]}, {"orig": [["0x10084c63", "mov ebx, g_actorInfo[0].m_name (DATA)"]], "recomp": [["0x10084c33", "mov esi, g_actorInfo[0].m_name (DATA)"]]}, {"both": [["0x10084c68", "xor edi, edi", "0x10084c38"]]}, {"orig": [["0x10084c6a", "mov esi, dword ptr [esp + 0x10]"], ["0x10084c6e", "push esi"], ["0x10084c6f", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10084c3a", "mov ebx, dword ptr [esp + 0x10]"], ["0x10084c3e", "push ebx"], ["0x10084c3f", "mov eax, dword ptr [esi]"]]}, {"both": [["0x10084c71", "push eax", "0x10084c41"], ["0x10084c72", "call __strcmpi (FUNCTION)", "0x10084c42"], ["0x10084c77", "add esp, 8", "0x10084c47"], ["0x10084c7a", "test eax, eax", "0x10084c4a"], ["0x10084c7c", "je 0xf", "0x10084c4c"]]}, {"orig": [["0x10084c7e", "add ebx, 0x108"]], "recomp": [["0x10084c4e", "add esi, 0x108"]]}, {"both": [["0x10084c84", "inc edi", "0x10084c54"]]}, {"orig": [["0x10084c85", "cmp ebx, 0x10109330"]], "recomp": [["0x10084c55", "cmp esi, 0x10108428"]]}, {"both": [["0x10084c8b", "jb -0x1f", "0x10084c5b"], ["0x10084c8d", "cmp edi, 0x42", "0x10084c5d"], ["0x10084c90", "jae 0x14", "0x10084c60"], ["0x10084c92", "mov eax, edi", "0x10084c62"], ["0x10084c94", "shl eax, 5", "0x10084c64"], ["0x10084c97", "add eax, edi", "0x10084c67"], ["0x10084c99", "pop edi", "0x10084c69"], ["0x10084c9a", "pop esi", "0x10084c6a"], ["0x10084c9b", "pop ebx", "0x10084c6b"], ["0x10084c9c", "lea eax, [eax*8 + g_actorInfo[0].m_name (DATA)]", "0x10084c6c"]]}]]]}, {"address": "0x10084cb0", "recomp": "0x10084c80", "name": "LegoCharacterManager::GetActorInfo", "matching": 0.9444444444444444, "diff": [["@@ -0x10084cb0,18 +0x10084c80,18 @@", [{"both": [["0x10084cb0", "xor edx, edx", "0x10084c80"], ["0x10084cb2", "mov ecx, g_actorInfo[0].m_roi (UNK)", "0x10084c82"], ["0x10084cb7", "mov eax, dword ptr [esp + 4]", "0x10084c87"], ["0x10084cbb", "cmp dword ptr [ecx], eax", "0x10084c8b"], ["0x10084cbd", "je 0xf", "0x10084c8d"], ["0x10084cbf", "add ecx, 0x108", "0x10084c8f"], ["0x10084cc5", "inc edx", "0x10084c95"]]}, {"orig": [["0x10084cc6", "cmp ecx, 0x10109334"]], "recomp": [["0x10084c96", "cmp ecx, g_userMaxLodPower (DATA)"]]}, {"both": [["0x10084ccc", "jb -0x13", "0x10084c9c"], ["0x10084cce", "cmp edx, 0x42", "0x10084c9e"], ["0x10084cd1", "jae 0x11", "0x10084ca1"], ["0x10084cd3", "mov eax, edx", "0x10084ca3"], ["0x10084cd5", "shl eax, 5", "0x10084ca5"], ["0x10084cd8", "add eax, edx", "0x10084ca8"], ["0x10084cda", "lea eax, [eax*8 + g_actorInfo[0].m_name (DATA)]", "0x10084caa"], ["0x10084ce1", "ret 4", "0x10084cb1"], ["0x10084ce4", "xor eax, eax", "0x10084cb4"], ["0x10084ce6", "ret 4", "0x10084cb6"]]}]]]}, {"address": "0x10084cf0", "recomp": "0x10084cc0", "name": "LegoCharacterManager::FindChildROI", "matching": 1.0, "diff": []}, {"address": "0x10084d50", "recomp": "0x10084d20", "name": "LegoCharacterManager::SwitchColor", "matching": 1.0, "diff": []}, {"address": "0x10084ec0", "recomp": "0x10084e90", "name": "LegoCharacterManager::SwitchVariant", "matching": 1.0, "effective": true, "diff": [["@@ -0x10085023,27 +0x10084ff3,27 @@", [{"both": [["0x10085023", "cmp dword ptr [ecx + 0xe0], 0", "0x10084ff3"], ["0x1008502a", "jl 0x1b", "0x10084ffa"], ["0x1008502c", "call VideoManager (FUNCTION)", "0x10084ffc"], ["0x10085031", "mov ecx, dword ptr [esp + 0x10]", "0x10085001"], ["0x10085035", "mov eax, dword ptr [eax + 0x68]", "0x10085005"], ["0x10085038", "push ecx", "0x10085008"], ["0x10085039", "mov edx, dword ptr [eax + 8]", "0x10085009"], ["0x1008503c", "mov ecx, dword ptr [edx + 0x88]", "0x1008500c"], ["0x10085042", "call ViewManager::RemoveROIDetailFromScene (FUNCTION)", "0x10085012"], ["0x10085047", "mov ecx, dword ptr [esp + 0x10]", "0x10085017"]]}, {"orig": [["0x1008504b", "mov ecx, dword ptr [ecx + 8]"], ["0x1008504e", "test ecx, ecx"]], "recomp": [["0x1008501b", "mov eax, dword ptr [ecx + 8]"], ["0x1008501e", "test eax, eax"]]}, {"both": [["0x10085050", "je 0xe", "0x10085020"]]}, {"orig": [["0x10085052", "dec dword ptr [ecx + 0x10]"]], "recomp": [["0x10085022", "dec dword ptr [eax + 0x10]"]]}, {"both": [["0x10085055", "jne 0x9", "0x10085025"]]}, {"orig": [["0x10085057", "push ecx"], ["0x10085058", "mov ecx, dword ptr [ecx + 0x14]"]], "recomp": [["0x10085027", "push eax"], ["0x10085028", "mov ecx, dword ptr [eax + 0x14]"]]}, {"both": [["0x1008505b", "call ViewLODListManager::Destroy (FUNCTION)", "0x1008502b"], ["0x10085060", "mov ecx, dword ptr [esp + 0x10]", "0x10085030"], ["0x10085064", "test edi, edi", "0x10085034"], ["0x10085066", "mov dword ptr [ecx + 8], edi", "0x10085036"], ["0x10085069", "je 0x3", "0x10085039"], ["0x1008506b", "inc dword ptr [edi + 0x10]", "0x1008503b"], ["0x1008506e", "mov eax, dword ptr [edi + 0x10]", "0x1008503e"], ["0x10085071", "dec eax", "0x10085041"], ["0x10085072", "mov dword ptr [edi + 0x10], eax", "0x10085042"], ["0x10085075", "jne 0x9", "0x10085045"]]}]]]}, {"address": "0x10085090", "recomp": "0x10085060", "name": "LegoCharacterManager::SwitchSound", "matching": 1.0, "diff": []}, {"address": "0x100850c0", "recomp": "0x10085090", "name": "LegoCharacterManager::SwitchMove", "matching": 1.0, "diff": []}, {"address": "0x100850f0", "recomp": "0x100850c0", "name": "LegoCharacterManager::SwitchMood", "matching": 1.0, "diff": []}, {"address": "0x10085120", "recomp": "0x100850f0", "name": "LegoCharacterManager::GetAnimationId", "matching": 1.0, "diff": []}, {"address": "0x10085140", "recomp": "0x10085110", "name": "LegoCharacterManager::GetSoundId", "matching": 1.0, "diff": []}, {"address": "0x10085180", "recomp": "0x10085150", "name": "LegoCharacterManager::GetMood", "matching": 1.0, "diff": []}, {"address": "0x100851a0", "recomp": "0x10085170", "name": "LegoCharacterManager::SetCustomizeAnimFile", "matching": 1.0, "diff": []}, {"address": "0x10085210", "recomp": "0x100851e0", "name": "LegoCharacterManager::CreateAutoROI", "matching": 1.0, "diff": []}, {"address": "0x10085500", "recomp": "0x100854d0", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::insert", "matching": 0.9288888888888889, "diff": [["@@ -0x10085500,39 +0x100854d0,39 @@", [{"both": [["0x10085500", "sub esp, 0xc", "0x100854d0"], ["0x10085503", "push ebx", "0x100854d3"], ["0x10085504", "push esi", "0x100854d4"], ["0x10085505", "push edi", "0x100854d5"], ["0x10085506", "mov eax, 1", "0x100854d6"], ["0x1008550b", "mov ebx, dword ptr [esp + 0x20]", "0x100854db"], ["0x1008550f", "push ebp", "0x100854df"], ["0x10085510", "mov edi, dword ptr [ecx + 4]", "0x100854e0"], ["0x10085513", "mov ebp, ecx", "0x100854e3"], ["0x10085515", "mov esi, dword ptr [edi + 4]", "0x100854e5"]]}, {"orig": [["0x10085518", "cmp esi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100854e8", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], esi"]]}, {"both": [["0x1008551e", "je 0x2d", "0x100854ee"], ["0x10085520", "mov edi, esi", "0x100854f0"], ["0x10085522", "mov eax, dword ptr [esi + 0xc]", "0x100854f2"], ["0x10085525", "push eax", "0x100854f5"], ["0x10085526", "mov ecx, dword ptr [ebx]", "0x100854f6"], ["0x10085528", "push ecx", "0x100854f8"], ["0x10085529", "call __strcmpi (FUNCTION)", "0x100854f9"], ["0x1008552e", "add esp, 8", "0x100854fe"], ["0x10085531", "test eax, eax", "0x10085501"], ["0x10085533", "setl cl", "0x10085503"], ["0x10085536", "xor eax, eax", "0x10085506"], ["0x10085538", "mov al, cl", "0x10085508"], ["0x1008553a", "test eax, eax", "0x1008550a"], ["0x1008553c", "jne 0x5", "0x1008550c"], ["0x1008553e", "mov esi, dword ptr [esi + 8]", "0x1008550e"], ["0x10085541", "jmp 0x2", "0x10085511"], ["0x10085543", "mov esi, dword ptr [esi]", "0x10085513"]]}, {"orig": [["0x10085545", "cmp esi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10085515", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], esi"]]}, {"both": [["0x1008554b", "jne -0x2d", "0x1008551b"], ["0x1008554d", "cmp dword ptr [ebp + 8], 0", "0x1008551d"], ["0x10085551", "je 0x30", "0x10085521"], ["0x10085553", "lea eax, [esp + 0x10]", "0x10085523"], ["0x10085557", "push ebx", "0x10085527"], ["0x10085558", "push edi", "0x10085528"], ["0x10085559", "mov ecx, ebp", "0x10085529"], ["0x1008555b", "mov dword ptr [esp + 0x1c], 1", "0x1008552b"], ["0x10085563", "push esi", "0x10085533"], ["0x10085564", "push eax", "0x10085534"]]}]], ["@@ -0x1008560f,21 +0x100855df,21 @@", [{"both": [["0x1008560f", "mov eax, dword ptr [esp + 0x10]", "0x100855df"], ["0x10085613", "add eax, 0xc", "0x100855e3"], ["0x10085616", "je 0xa", "0x100855e6"], ["0x10085618", "mov ecx, dword ptr [ebx]", "0x100855e8"], ["0x1008561a", "mov edx, dword ptr [ebx + 4]", "0x100855ea"], ["0x1008561d", "mov dword ptr [eax], ecx", "0x100855ed"], ["0x1008561f", "mov dword ptr [eax + 4], edx", "0x100855ef"], ["0x10085622", "inc dword ptr [ebp + 0xc]", "0x100855f2"], ["0x10085625", "cmp dword ptr [ebp + 4], edi", "0x100855f5"], ["0x10085628", "je 0x30", "0x100855f8"]]}, {"orig": [["0x1008562a", "cmp esi, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100855fa", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], esi"]]}, {"both": [["0x10085630", "jne 0x28", "0x10085600"], ["0x10085632", "mov eax, dword ptr [edi + 0xc]", "0x10085602"], ["0x10085635", "mov ecx, dword ptr [ebx]", "0x10085605"], ["0x10085637", "push eax", "0x10085607"], ["0x10085638", "push ecx", "0x10085608"], ["0x10085639", "call __strcmpi (FUNCTION)", "0x10085609"], ["0x1008563e", "add esp, 8", "0x1008560e"], ["0x10085641", "test eax, eax", "0x10085611"], ["0x10085643", "jl 0x15", "0x10085613"], ["0x10085645", "mov ecx, dword ptr [esp + 0x10]", "0x10085615"]]}]], ["@@ -0x1008566d,82 +0x1008563d,82 @@", [{"both": [["0x1008566d", "jmp 0xd", "0x1008563d"], ["0x1008566f", "mov ecx, dword ptr [esp + 0x10]", "0x1008563f"], ["0x10085673", "mov dword ptr [eax + 4], ecx", "0x10085643"], ["0x10085676", "mov eax, dword ptr [ebp + 4]", "0x10085646"], ["0x10085679", "mov dword ptr [eax + 8], ecx", "0x10085649"], ["0x1008567c", "mov esi, dword ptr [esp + 0x10]", "0x1008564c"], ["0x10085680", "mov eax, dword ptr [ebp + 4]", "0x10085650"], ["0x10085683", "cmp dword ptr [eax + 4], esi", "0x10085653"], ["0x10085686", "je 0xbe", "0x10085656"], ["0x1008568c", "lea ecx, [esi + 4]", "0x1008565c"]]}, {"orig": [["0x1008568f", "mov edi, dword ptr [ecx]"], ["0x10085691", "lea edx, [edi + 0x14]"], ["0x10085694", "cmp dword ptr [edx], 0"]], "recomp": [["0x1008565f", "mov edx, dword ptr [ecx]"], ["0x10085661", "lea edi, [edx + 0x14]"], ["0x10085664", "cmp dword ptr [edi], 0"]]}, {"both": [["0x10085697", "jne 0xad", "0x10085667"]]}, {"orig": [["0x1008569d", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x1008566d", "mov ebx, dword ptr [edx + 4]"]]}, {"both": [["0x100856a0", "mov eax, dword ptr [ebx]", "0x10085670"]]}, {"orig": [["0x100856a2", "cmp eax, edi"]], "recomp": [["0x10085672", "cmp eax, edx"]]}, {"both": [["0x100856a4", "jne 0x3f", "0x10085674"], ["0x100856a6", "mov eax, dword ptr [ebx + 8]", "0x10085676"], ["0x100856a9", "cmp dword ptr [eax + 0x14], 0", "0x10085679"], ["0x100856ad", "je 0x71", "0x1008567d"]]}, {"orig": [["0x100856af", "cmp dword ptr [edi + 8], esi"]], "recomp": [["0x1008567f", "cmp dword ptr [edx + 8], esi"]]}, {"both": [["0x100856b2", "jne 0xa", "0x10085682"]]}, {"orig": [["0x100856b4", "push edi"], ["0x100856b5", "mov esi, edi"]], "recomp": [["0x10085684", "push edx"], ["0x10085685", "mov esi, edx"]]}, {"both": [["0x100856b7", "mov ecx, ebp", "0x10085687"], ["0x100856b9", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Lrotate (FUNCTION)", "0x10085689"], ["0x100856be", "mov eax, dword ptr [esi + 4]", "0x1008568e"], ["0x100856c1", "mov dword ptr [eax + 0x14], 1", "0x10085691"], ["0x100856c8", "mov eax, dword ptr [esi + 4]", "0x10085698"], ["0x100856cb", "mov ecx, dword ptr [eax + 4]", "0x1008569b"], ["0x100856ce", "mov dword ptr [ecx + 0x14], 0", "0x1008569e"], ["0x100856d5", "mov eax, dword ptr [esi + 4]", "0x100856a5"], ["0x100856d8", "mov ecx, dword ptr [eax + 4]", "0x100856a8"], ["0x100856db", "push ecx", "0x100856ab"], ["0x100856dc", "mov ecx, ebp", "0x100856ac"], ["0x100856de", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Rrotate (FUNCTION)", "0x100856ae"], ["0x100856e3", "jmp 0x59", "0x100856b3"], ["0x100856e5", "cmp dword ptr [eax + 0x14], 0", "0x100856b5"], ["0x100856e9", "je 0x35", "0x100856b9"]]}, {"orig": [["0x100856eb", "cmp dword ptr [edi], esi"]], "recomp": [["0x100856bb", "cmp dword ptr [edx], esi"]]}, {"both": [["0x100856ed", "jne 0xa", "0x100856bd"]]}, {"orig": [["0x100856ef", "push edi"], ["0x100856f0", "mov esi, edi"]], "recomp": [["0x100856bf", "push edx"], ["0x100856c0", "mov esi, edx"]]}, {"both": [["0x100856f2", "mov ecx, ebp", "0x100856c2"], ["0x100856f4", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Rrotate (FUNCTION)", "0x100856c4"], ["0x100856f9", "mov eax, dword ptr [esi + 4]", "0x100856c9"], ["0x100856fc", "mov dword ptr [eax + 0x14], 1", "0x100856cc"], ["0x10085703", "mov eax, dword ptr [esi + 4]", "0x100856d3"], ["0x10085706", "mov ecx, dword ptr [eax + 4]", "0x100856d6"], ["0x10085709", "mov dword ptr [ecx + 0x14], 0", "0x100856d9"], ["0x10085710", "mov eax, dword ptr [esi + 4]", "0x100856e0"], ["0x10085713", "mov ecx, dword ptr [eax + 4]", "0x100856e3"], ["0x10085716", "push ecx", "0x100856e6"], ["0x10085717", "mov ecx, ebp", "0x100856e7"], ["0x10085719", "call _Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Lrotate (FUNCTION)", "0x100856e9"], ["0x1008571e", "jmp 0x1e", "0x100856ee"]]}, {"orig": [["0x10085720", "mov dword ptr [edx], 1"]], "recomp": [["0x100856f0", "mov dword ptr [edi], 1"]]}, {"both": [["0x10085726", "mov dword ptr [eax + 0x14], 1", "0x100856f6"], ["0x1008572d", "mov eax, dword ptr [ecx]", "0x100856fd"], ["0x1008572f", "mov edx, dword ptr [eax + 4]", "0x100856ff"], ["0x10085732", "mov dword ptr [edx + 0x14], 0", "0x10085702"], ["0x10085739", "mov eax, dword ptr [ecx]", "0x10085709"], ["0x1008573b", "mov esi, dword ptr [eax + 4]", "0x1008570b"], ["0x1008573e", "mov eax, dword ptr [ebp + 4]", "0x1008570e"], ["0x10085741", "cmp dword ptr [eax + 4], esi", "0x10085711"], ["0x10085744", "jne -0xbe", "0x10085714"], ["0x1008574a", "mov eax, dword ptr [ebp + 4]", "0x1008571a"], ["0x1008574d", "mov ecx, dword ptr [eax + 4]", "0x1008571d"]]}, {"orig": [["0x10085750", "mov eax, dword ptr [esp + 0x20]"]], "recomp": []}, {"both": [["0x10085754", "mov dword ptr [ecx + 0x14], 1", "0x10085720"], ["0x1008575b", "mov edx, dword ptr [esp + 0x10]", "0x10085727"]]}, {"orig": [], "recomp": [["0x1008572b", "mov eax, dword ptr [esp + 0x20]"]]}, {"both": [["0x1008575f", "mov dword ptr [eax], edx", "0x1008572f"], ["0x10085761", "mov ecx, dword ptr [esp + 0x14]", "0x10085731"], ["0x10085765", "pop ebp", "0x10085735"], ["0x10085766", "pop edi", "0x10085736"], ["0x10085767", "mov dword ptr [eax + 4], ecx", "0x10085737"], ["0x1008576a", "pop esi", "0x1008573a"], ["0x1008576b", "pop ebx", "0x1008573b"], ["0x1008576c", "add esp, 0xc", "0x1008573c"], ["0x1008576f", "ret 8", "0x1008573f"], ["0x10085772", "mov ecx, dword ptr [esp + 0x18]", "0x10085742"]]}]]]}, {"address": "0x10085790", "recomp": "0x10085760", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100857b0", "recomp": "0x10085780", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Lrotate", "matching": 0.36363636363636365, "diff": [["@@ -0x100857b0,33 +0x10085780,33 @@", [{"orig": [], "recomp": [["0x10085780", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x100857b0", "push esi", "0x10085784"]]}, {"orig": [["0x100857b1", "mov esi, dword ptr [esp + 8]"], ["0x100857b5", "mov edx, dword ptr [esi + 8]"], ["0x100857b8", "mov eax, dword ptr [edx]"], ["0x100857ba", "mov dword ptr [esi + 8], eax"], ["0x100857bd", "mov eax, dword ptr [edx]"], ["0x100857bf", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x10085785", "mov esi, dword ptr [edx + 8]"], ["0x10085788", "mov eax, dword ptr [esi]"], ["0x1008578a", "mov dword ptr [edx + 8], eax"], ["0x1008578d", "mov eax, dword ptr [esi]"], ["0x1008578f", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100857c5", "je 0x3", "0x10085795"]]}, {"orig": [["0x100857c7", "mov dword ptr [eax + 4], esi"], ["0x100857ca", "mov eax, dword ptr [esi + 4]"], ["0x100857cd", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x10085797", "mov dword ptr [eax + 4], edx"], ["0x1008579a", "mov eax, dword ptr [edx + 4]"], ["0x1008579d", "mov dword ptr [esi + 4], eax"]]}, {"both": [["0x100857d0", "mov eax, dword ptr [ecx + 4]", "0x100857a0"], ["0x100857d3", "add eax, 4", "0x100857a3"]]}, {"orig": [["0x100857d6", "cmp dword ptr [eax], esi"]], "recomp": [["0x100857a6", "cmp dword ptr [eax], edx"]]}, {"both": [["0x100857d8", "je 0x1e", "0x100857a8"]]}, {"orig": [["0x100857da", "mov eax, dword ptr [esi + 4]"], ["0x100857dd", "cmp dword ptr [eax], esi"]], "recomp": [["0x100857aa", "mov eax, dword ptr [edx + 4]"], ["0x100857ad", "cmp dword ptr [eax], edx"]]}, {"both": [["0x100857df", "je 0xc", "0x100857af"]]}, {"orig": [["0x100857e1", "mov dword ptr [eax + 8], edx"], ["0x100857e4", "mov dword ptr [edx], esi"], ["0x100857e6", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x100857b1", "mov dword ptr [eax + 8], esi"], ["0x100857b4", "mov dword ptr [esi], edx"], ["0x100857b6", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x100857e9", "pop esi", "0x100857b9"], ["0x100857ea", "ret 4", "0x100857ba"]]}, {"orig": [["0x100857ed", "mov dword ptr [eax], edx"], ["0x100857ef", "mov dword ptr [edx], esi"], ["0x100857f1", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x100857bd", "mov dword ptr [eax], esi"], ["0x100857bf", "mov dword ptr [esi], edx"], ["0x100857c1", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x100857f4", "pop esi", "0x100857c4"], ["0x100857f5", "ret 4", "0x100857c5"]]}, {"orig": [["0x100857f8", "mov dword ptr [eax], edx"], ["0x100857fa", "mov dword ptr [edx], esi"], ["0x100857fc", "mov dword ptr [esi + 4], edx"]], "recomp": [["0x100857c8", "mov dword ptr [eax], esi"], ["0x100857ca", "mov dword ptr [esi], edx"], ["0x100857cc", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x100857ff", "pop esi", "0x100857cf"], ["0x10085800", "ret 4", "0x100857d0"]]}]]]}, {"address": "0x10085810", "recomp": "0x100857e0", "name": "_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Rrotate", "matching": 0.38235294117647056, "diff": [["@@ -0x10085810,34 +0x100857e0,34 @@", [{"orig": [["0x10085810", "mov edx, dword ptr [esp + 4]"]], "recomp": []}, {"both": [["0x10085814", "push esi", "0x100857e0"]]}, {"orig": [["0x10085815", "mov esi, dword ptr [edx]"], ["0x10085817", "mov eax, dword ptr [esi + 8]"], ["0x1008581a", "mov dword ptr [edx], eax"], ["0x1008581c", "mov eax, dword ptr [esi + 8]"], ["0x1008581f", "cmp eax, dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)]"]], "recomp": [["0x100857e1", "mov esi, dword ptr [esp + 8]"], ["0x100857e5", "mov edx, dword ptr [esi]"], ["0x100857e7", "mov eax, dword ptr [edx + 8]"], ["0x100857ea", "mov dword ptr [esi], eax"], ["0x100857ec", "mov eax, dword ptr [edx + 8]"], ["0x100857ef", "cmp dword ptr [_Tree<char *,pair<char * const,LegoCharacter *>,map<char *,LegoCharacter *,LegoCharacterComparator,allocator<LegoCharacter *> >::_Kfn,LegoCharacterComparator,allocator<LegoCharacter *> >::_Nil (DATA)], eax"]]}, {"both": [["0x10085825", "je 0x3", "0x100857f5"]]}, {"orig": [["0x10085827", "mov dword ptr [eax + 4], edx"], ["0x1008582a", "mov eax, dword ptr [edx + 4]"], ["0x1008582d", "mov dword ptr [esi + 4], eax"]], "recomp": [["0x100857f7", "mov dword ptr [eax + 4], esi"], ["0x100857fa", "mov eax, dword ptr [esi + 4]"], ["0x100857fd", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x10085830", "mov eax, dword ptr [ecx + 4]", "0x10085800"], ["0x10085833", "add eax, 4", "0x10085803"]]}, {"orig": [["0x10085836", "cmp dword ptr [eax], edx"]], "recomp": [["0x10085806", "cmp dword ptr [eax], esi"]]}, {"both": [["0x10085838", "je 0x22", "0x10085808"]]}, {"orig": [["0x1008583a", "mov ecx, dword ptr [edx + 4]"]], "recomp": [["0x1008580a", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x1008583d", "lea eax, [ecx + 8]", "0x1008580d"]]}, {"orig": [["0x10085840", "cmp dword ptr [eax], edx"]], "recomp": [["0x10085810", "cmp dword ptr [eax], esi"]]}, {"both": [["0x10085842", "je 0xc", "0x10085812"]]}, {"orig": [["0x10085844", "mov dword ptr [ecx], esi"], ["0x10085846", "mov dword ptr [esi + 8], edx"], ["0x10085849", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x10085814", "mov dword ptr [ecx], edx"], ["0x10085816", "mov dword ptr [edx + 8], esi"], ["0x10085819", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x1008584c", "pop esi", "0x1008581c"], ["0x1008584d", "ret 4", "0x1008581d"]]}, {"orig": [["0x10085850", "mov dword ptr [eax], esi"], ["0x10085852", "mov dword ptr [esi + 8], edx"], ["0x10085855", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x10085820", "mov dword ptr [eax], edx"], ["0x10085822", "mov dword ptr [edx + 8], esi"], ["0x10085825", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x10085858", "pop esi", "0x10085828"], ["0x10085859", "ret 4", "0x10085829"]]}, {"orig": [["0x1008585c", "mov dword ptr [eax], esi"], ["0x1008585e", "mov dword ptr [esi + 8], edx"], ["0x10085861", "mov dword ptr [edx + 4], esi"]], "recomp": [["0x1008582c", "mov dword ptr [eax], edx"], ["0x1008582e", "mov dword ptr [edx + 8], esi"], ["0x10085831", "mov dword ptr [esi + 4], edx"]]}, {"both": [["0x10085864", "pop esi", "0x10085834"], ["0x10085865", "ret 4", "0x10085835"]]}]]]}, {"address": "0x10085870", "recomp": "0x10085840", "name": "LegoCharacterManager::FUN_10085870", "matching": 0.8780487804878049, "diff": [["@@ -0x1008589a,31 +0x1008586a,31 @@", [{"both": [["0x1008589a", "mov dword ptr [esp + 0x40], edx", "0x1008586a"], ["0x1008589e", "mov dword ptr [esp + 0x58], ecx", "0x1008586e"], ["0x100858a2", "mov dword ptr [esp + 0x54], edx", "0x10085872"], ["0x100858a6", "mov edx, dword ptr [esi + 8]", "0x10085876"], ["0x100858a9", "mov ecx, dword ptr [edx + 4]", "0x10085879"], ["0x100858ac", "mov edx, dword ptr [ecx]", "0x1008587c"], ["0x100858ae", "mov ecx, dword ptr [edx + 4]", "0x1008587e"], ["0x100858b1", "test ecx, ecx", "0x10085881"], ["0x100858b3", "je 0x1b7", "0x10085883"], ["0x100858b9", "mov eax, 0x47ad9c00", "0x10085889"]]}, {"orig": [], "recomp": [["0x1008588e", "mov dword ptr [esp + 0x10], eax"], ["0x10085892", "mov dword ptr [esp + 0x14], eax"], ["0x10085896", "lea edx, [esp + 0x1c]"]]}, {"both": [["0x100858be", "mov dword ptr [esp + 0x18], eax", "0x1008589a"]]}, {"orig": [["0x100858c2", "mov dword ptr [esp + 0x14], eax"], ["0x100858c6", "mov dword ptr [esp + 0x10], eax"]], "recomp": []}, {"both": [["0x100858ca", "mov eax, 0xc7ad9c00", "0x1008589e"]]}, {"orig": [["0x100858cf", "lea edx, [esp + 0x10]"]], "recomp": [["0x100858a3", "push edx"], ["0x100858a4", "mov dword ptr [esp + 0x20], eax"]]}, {"both": [["0x100858d3", "mov dword ptr [esp + 0x24], eax", "0x100858a8"]]}, {"orig": [["0x100858d7", "mov dword ptr [esp + 0x20], eax"], ["0x100858db", "mov dword ptr [esp + 0x1c], eax"], ["0x100858df", "lea eax, [esp + 0x1c]"]], "recomp": [["0x100858ac", "mov dword ptr [esp + 0x28], eax"], ["0x100858b0", "lea eax, [esp + 0x14]"]]}, {"both": [["0x100858e3", "push eax", "0x100858b4"]]}, {"orig": [["0x100858e4", "push edx"]], "recomp": []}, {"both": [["0x100858e5", "mov eax, dword ptr [ecx]", "0x100858b5"], ["0x100858e7", "call dword ptr [eax + 0xc]", "0x100858b7"], ["0x100858ea", "fld dword ptr [esp + 0x20]", "0x100858ba"], ["0x100858ee", "fadd dword ptr [esp + 0x14]", "0x100858be"], ["0x100858f2", "fmul dword ptr [0.5 (FLOAT)]", "0x100858c2"], ["0x100858f8", "fstp dword ptr [esp + 8]", "0x100858c8"], ["0x100858fc", "fld dword ptr [esp + 0x24]", "0x100858cc"], ["0x10085900", "fadd dword ptr [esp + 0x18]", "0x100858d0"], ["0x10085904", "mov ecx, dword ptr [esp + 0x2c]", "0x100858d4"], ["0x10085908", "fmul dword ptr [0.5 (FLOAT)]", "0x100858d8"]]}]], ["@@ -0x100859e7,34 +0x100859b7,33 @@", [{"both": [["0x100859e7", "mov edx, dword ptr [esp + 0x44]", "0x100859b7"], ["0x100859eb", "mov ecx, dword ptr [esp + 0x10]", "0x100859bb"], ["0x100859ef", "mov dword ptr [esi + 0xfc], eax", "0x100859bf"], ["0x100859f5", "mov dword ptr [edx], ecx", "0x100859c5"], ["0x100859f7", "mov edx, dword ptr [esp + 0x44]", "0x100859c7"], ["0x100859fb", "mov eax, dword ptr [esp + 0x14]", "0x100859cb"], ["0x100859ff", "mov dword ptr [edx + 4], eax", "0x100859cf"], ["0x10085a02", "mov edx, dword ptr [esp + 0x44]", "0x100859d2"], ["0x10085a06", "mov ecx, dword ptr [esp + 0x18]", "0x100859d6"], ["0x10085a0a", "mov dword ptr [edx + 8], ecx", "0x100859da"]]}, {"orig": [], "recomp": [["0x100859dd", "mov edx, dword ptr [esp + 0x1c]"], ["0x100859e1", "mov eax, dword ptr [esp + 0x58]"], ["0x100859e5", "mov dword ptr [eax], edx"], ["0x100859e7", "mov eax, dword ptr [esp + 0x58]"], ["0x100859eb", "mov ecx, dword ptr [esp + 0x20]"], ["0x100859ef", "mov dword ptr [eax + 4], ecx"], ["0x100859f2", "mov eax, dword ptr [esp + 0x24]"]]}, {"both": [["0x10085a0d", "mov edx, dword ptr [esp + 0x58]", "0x100859f6"]]}, {"orig": [["0x10085a11", "mov eax, dword ptr [esp + 0x1c]"], ["0x10085a15", "mov dword ptr [edx], eax"], ["0x10085a17", "mov edx, dword ptr [esp + 0x58]"], ["0x10085a1b", "mov ecx, dword ptr [esp + 0x20]"], ["0x10085a1f", "mov dword ptr [edx + 4], ecx"], ["0x10085a22", "mov edx, dword ptr [esp + 0x58]"], ["0x10085a26", "mov eax, dword ptr [esp + 0x24]"]], "recomp": [["0x100859fa", "lea ecx, [esp + 0x40]"], ["0x100859fe", "push ecx"]]}, {"both": [["0x10085a2a", "lea ecx, [esi + 0x80]", "0x100859ff"], ["0x10085a30", "mov dword ptr [edx + 8], eax", "0x10085a05"]]}, {"orig": [["0x10085a33", "mov edx, dword ptr [esp + 0x44]"], ["0x10085a37", "push edx"], ["0x10085a38", "mov eax, dword ptr [ecx]"], ["0x10085a3a", "call dword ptr [eax + 0x20]"]], "recomp": [["0x10085a08", "call Vector3::operator= (FUNCTION)"]]}, {"both": [["0x10085a3d", "lea edx, [esi + 0x88]", "0x10085a0d"], ["0x10085a43", "lea ecx, [esp + 0x48]", "0x10085a13"], ["0x10085a47", "mov eax, dword ptr [ecx]", "0x10085a17"], ["0x10085a49", "mov dword ptr [edx], eax", "0x10085a19"], ["0x10085a4b", "mov eax, dword ptr [ecx + 4]", "0x10085a1b"], ["0x10085a4e", "mov ecx, dword ptr [ecx + 8]", "0x10085a1e"], ["0x10085a51", "mov dword ptr [edx + 4], eax", "0x10085a21"], ["0x10085a54", "lea eax, [esp + 0x54]", "0x10085a24"], ["0x10085a58", "mov dword ptr [edx + 8], ecx", "0x10085a28"], ["0x10085a5b", "push eax", "0x10085a2b"]]}]]]}, {"address": "0x10085a80", "recomp": "0x10085a50", "name": "LegoCharacterManager::FUN_10085a80", "matching": 1.0, "diff": []}, {"address": "0x10085aa0", "recomp": "0x10054610", "name": "CustomizeAnimFileVariable::CustomizeAnimFileVariable", "matching": 1.0, "diff": []}, {"address": "0x10085b50", "recomp": "0x100546c0", "name": "CustomizeAnimFileVariable::SetValue", "matching": 1.0, "diff": []}, {"address": "0x10085bc0", "recomp": "0x10085a70", "name": "JukeBoxEntity::JukeBoxEntity", "matching": 1.0, "diff": []}, {"address": "0x10085cc0", "recomp": "0x10085b70", "name": "JukeBoxEntity::ClassName", "matching": 1.0, "diff": []}, {"address": "0x10085cd0", "recomp": "0x10085b80", "name": "JukeBoxEntity::IsA", "matching": 1.0, "diff": []}, {"address": "0x10085db0", "recomp": "0x10085c60", "name": "JukeBoxEntity::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10085dd0", "recomp": "0x10085c80", "name": "JukeBoxEntity::~JukeBoxEntity", "matching": 1.0, "diff": []}, {"address": "0x10085e40", "recomp": "0x10085cf0", "name": "JukeBoxEntity::Notify", "matching": 1.0, "effective": true, "diff": [["@@ -0x10085e4b,27 +0x10085cfb,27 @@", [{"both": [["0x10085e4b", "jne 0x76", "0x10085cfb"], ["0x10085e4d", "call FUN_1003ef60 (FUNCTION)", "0x10085cfd"], ["0x10085e52", "test al, al", "0x10085d02"], ["0x10085e54", "jne 0xb", "0x10085d04"], ["0x10085e56", "mov eax, 1", "0x10085d06"], ["0x10085e5b", "pop edi", "0x10085d0b"], ["0x10085e5c", "pop esi", "0x10085d0c"], ["0x10085e5d", "pop ebx", "0x10085d0d"], ["0x10085e5e", "ret 4", "0x10085d0e"], ["0x10085e61", "call UserActor (FUNCTION)", "0x10085d11"]]}, {"orig": [["0x10085e66", "mov edi, dword ptr [eax]"]], "recomp": [["0x10085d16", "mov esi, dword ptr [eax]"], ["0x10085d18", "mov edi, eax"], ["0x10085d1a", "call GameState (FUNCTION)"]]}, {"both": [["0x10085e68", "mov ebx, eax", "0x10085d1f"]]}, {"orig": [["0x10085e6a", "call GameState (FUNCTION)"], ["0x10085e6f", "mov esi, eax"], ["0x10085e71", "mov ecx, ebx"], ["0x10085e73", "call dword ptr [edi + 0x60]"], ["0x10085e76", "cmp al, byte ptr [esi + 0xc]"]], "recomp": [["0x10085d21", "mov ecx, edi"], ["0x10085d23", "call dword ptr [esi + 0x60]"], ["0x10085d26", "cmp al, byte ptr [ebx + 0xc]"]]}, {"both": [["0x10085e79", "je 0xf", "0x10085d29"], ["0x10085e7b", "call UserActor (FUNCTION)", "0x10085d2b"], ["0x10085e80", "mov edx, dword ptr [eax]", "0x10085d30"], ["0x10085e82", "mov ecx, eax", "0x10085d32"], ["0x10085e84", "call dword ptr [edx + 0xe4]", "0x10085d34"], ["0x10085e8a", "push 0", "0x10085d3a"], ["0x10085e8c", "mov eax, dword ptr [g_isleScript (DATA)]", "0x10085d3c"], ["0x10085e91", "push eax", "0x10085d41"], ["0x10085e92", "call FindWorld (FUNCTION)", "0x10085d42"], ["0x10085e97", "add esp, 8", "0x10085d47"]]}]]]}, {"address": "0x10085ed0", "recomp": "0x10085d80", "name": "JukeBoxEntity::StartAction", "matching": 1.0, "diff": []}, {"address": "0x100860f0", "recomp": "0x10085fa0", "name": "JukeBoxEntity::StopAction", "matching": 1.0, "diff": []}, {"address": "0x10086240", "recomp": "0x100bc740", "name": "??2@YAPAXI@Z", "matching": 0.8571428571428571, "diff": [["@@ -0x10086240,7 +0x100bc740,7 @@", [{"both": [["0x10086240", "mov eax, dword ptr [esp + 4]", "0x100bc740"], ["0x10086244", "push 0", "0x100bc744"], ["0x10086246", "push 0", "0x100bc746"], ["0x10086248", "push eax", "0x100bc748"]]}, {"orig": [["0x10086249", "call <OFFSET1>"]], "recomp": [["0x100bc749", "call ?shi_New@@YAPAXKIPAU_SHI_Pool@@@Z (UNK)"]]}, {"both": [["0x1008624e", "add esp, 0xc", "0x100bc74e"], ["0x10086251", "ret ", "0x100bc751"]]}]]]}, {"address": "0x10086260", "recomp": "0x100bc760", "name": "??3@YAXPAX@Z", "matching": 0.8333333333333334, "diff": [["@@ -0x10086260,6 +0x100bc760,6 @@", [{"both": [["0x10086260", "mov eax, dword ptr [esp + 4]", "0x100bc760"], ["0x10086264", "test eax, eax", "0x100bc764"], ["0x10086266", "je 0x6", "0x100bc766"], ["0x10086268", "push eax", "0x100bc768"]]}, {"orig": [["0x10086269", "call <OFFSET1>"]], "recomp": [["0x100bc769", "call _MemFreePtr@4 (FUNCTION)"]]}, {"both": [["0x1008626e", "ret ", "0x100bc76e"]]}]]]}, {"address": "0x1008a090", "recomp": "0x100c0580", "name": "_malloc", "matching": 0.8444444444444444, "diff": [["@@ -0x1008a090,45 +0x100c0580,45 @@", [{"both": [["0x1008a090", "push ebx", "0x100c0580"]]}, {"orig": [["0x1008a091", "mov eax, dword ptr [<OFFSET1>]"]], "recomp": [["0x100c0581", "mov eax, dword ptr [_MemDefaultPool (UNK)]"]]}, {"both": [["0x1008a096", "push esi", "0x100c0586"], ["0x1008a097", "push edi", "0x100c0587"], ["0x1008a098", "xor edi, edi", "0x100c0588"], ["0x1008a09a", "cmp eax, edi", "0x100c058a"], ["0x1008a09c", "jne 0x14", "0x100c058c"]]}, {"orig": [["0x1008a09e", "call <OFFSET2>"]], "recomp": [["0x100c058e", "call _MemInitDefaultPool@0 (FUNCTION)"]]}, {"both": [["0x1008a0a3", "test eax, eax", "0x100c0593"]]}, {"orig": [["0x1008a0a5", "mov eax, dword ptr [<OFFSET1>]"]], "recomp": [["0x100c0595", "mov eax, dword ptr [_MemDefaultPool (UNK)]"]]}, {"both": [["0x1008a0aa", "jne 0x6", "0x100c059a"], ["0x1008a0ac", "xor eax, eax", "0x100c059c"], ["0x1008a0ae", "pop edi", "0x100c059e"], ["0x1008a0af", "pop esi", "0x100c059f"], ["0x1008a0b0", "pop ebx", "0x100c05a0"], ["0x1008a0b1", "ret ", "0x100c05a1"], ["0x1008a0b2", "mov esi, dword ptr [esp + 0x10]", "0x100c05a2"], ["0x1008a0b6", "test esi, esi", "0x100c05a6"], ["0x1008a0b8", "jne 0x7", "0x100c05a8"], ["0x1008a0ba", "mov esi, 4", "0x100c05aa"], ["0x1008a0bf", "jmp 0x6", "0x100c05af"], ["0x1008a0c1", "add esi, 3", "0x100c05b1"], ["0x1008a0c4", "and esi, 0xfffffffc", "0x100c05b4"]]}, {"orig": [["0x1008a0c7", "test byte ptr [<OFFSET3>], 8"]], "recomp": [["0x100c05b7", "test byte ptr [_MemDefaultPoolFlags (UNK)], 8"]]}, {"both": [["0x1008a0ce", "je 0x5", "0x100c05be"], ["0x1008a0d0", "mov edi, 1", "0x100c05c0"], ["0x1008a0d5", "push edi", "0x100c05c5"], ["0x1008a0d6", "push esi", "0x100c05c6"], ["0x1008a0d7", "push eax", "0x100c05c7"]]}, {"orig": [["0x1008a0d8", "call <OFFSET4>"]], "recomp": [["0x100c05c8", "call _MemAllocPtr@12 (FUNCTION)"]]}, {"both": [["0x1008a0dd", "mov ebx, eax", "0x100c05cd"], ["0x1008a0df", "test ebx, ebx", "0x100c05cf"], ["0x1008a0e1", "jne 0x14", "0x100c05d1"], ["0x1008a0e3", "push 1", "0x100c05d3"], ["0x1008a0e5", "push esi", "0x100c05d5"]]}, {"orig": [["0x1008a0e6", "call <OFFSET5>"]], "recomp": [["0x100c05d6", "call _shi_call_new_handler_msc (UNK)"]]}, {"both": [["0x1008a0eb", "add esp, 8", "0x100c05db"], ["0x1008a0ee", "test eax, eax", "0x100c05de"]]}, {"orig": [["0x1008a0f0", "mov eax, dword ptr [<OFFSET1>]"]], "recomp": [["0x100c05e0", "mov eax, dword ptr [_MemDefaultPool (UNK)]"]]}, {"both": [["0x1008a0f5", "jne -0x22", "0x100c05e5"], ["0x1008a0f7", "mov eax, ebx", "0x100c05e7"], ["0x1008a0f9", "pop edi", "0x100c05e9"], ["0x1008a0fa", "pop esi", "0x100c05ea"], ["0x1008a0fb", "pop ebx", "0x100c05eb"], ["0x1008a0fc", "ret ", "0x100c05ec"]]}]]]}, {"address": "0x1008a100", "recomp": "0x100c05f0", "name": "_calloc", "matching": 0.8421052631578947, "diff": [["@@ -0x1008a100,38 +0x100c05f0,38 @@", [{"both": [["0x1008a100", "push esi", "0x100c05f0"], ["0x1008a101", "push edi", "0x100c05f1"], ["0x1008a102", "mov edi, dword ptr [esp + 0x10]", "0x100c05f2"], ["0x1008a106", "imul edi, dword ptr [esp + 0xc]", "0x100c05f6"]]}, {"orig": [["0x1008a10b", "cmp dword ptr [<OFFSET1>], 0"]], "recomp": [["0x100c05fb", "cmp dword ptr [_MemDefaultPool (UNK)], 0"]]}, {"both": [["0x1008a112", "jne 0x13", "0x100c0602"]]}, {"orig": [["0x1008a114", "call <OFFSET2>"], ["0x1008a119", "mov dword ptr [<OFFSET1>], eax"]], "recomp": [["0x100c0604", "call _MemInitDefaultPool@0 (FUNCTION)"], ["0x100c0609", "mov dword ptr [_MemDefaultPool (UNK)], eax"]]}, {"both": [["0x1008a11e", "test eax, eax", "0x100c060e"], ["0x1008a120", "jne 0x5", "0x100c0610"], ["0x1008a122", "xor eax, eax", "0x100c0612"], ["0x1008a124", "pop edi", "0x100c0614"], ["0x1008a125", "pop esi", "0x100c0615"], ["0x1008a126", "ret ", "0x100c0616"], ["0x1008a127", "test edi, edi", "0x100c0617"], ["0x1008a129", "jne 0x7", "0x100c0619"], ["0x1008a12b", "mov edi, 4", "0x100c061b"], ["0x1008a130", "jmp 0x6", "0x100c0620"], ["0x1008a132", "add edi, 3", "0x100c0622"], ["0x1008a135", "and edi, 0xfffffffc", "0x100c0625"], ["0x1008a138", "push 1", "0x100c0628"]]}, {"orig": [["0x1008a13a", "mov eax, dword ptr [<OFFSET1>]"]], "recomp": [["0x100c062a", "mov eax, dword ptr [_MemDefaultPool (UNK)]"]]}, {"both": [["0x1008a13f", "push edi", "0x100c062f"], ["0x1008a140", "push eax", "0x100c0630"]]}, {"orig": [["0x1008a141", "call <OFFSET3>"]], "recomp": [["0x100c0631", "call _MemAllocPtr@12 (FUNCTION)"]]}, {"both": [["0x1008a146", "mov esi, eax", "0x100c0636"], ["0x1008a148", "test esi, esi", "0x100c0638"], ["0x1008a14a", "jne 0xf", "0x100c063a"], ["0x1008a14c", "push 1", "0x100c063c"], ["0x1008a14e", "push edi", "0x100c063e"]]}, {"orig": [["0x1008a14f", "call <OFFSET4>"]], "recomp": [["0x100c063f", "call _shi_call_new_handler_msc (UNK)"]]}, {"both": [["0x1008a154", "add esp, 8", "0x100c0644"], ["0x1008a157", "test eax, eax", "0x100c0647"], ["0x1008a159", "jne -0x23", "0x100c0649"], ["0x1008a15b", "mov eax, esi", "0x100c064b"], ["0x1008a15d", "pop edi", "0x100c064d"], ["0x1008a15e", "pop esi", "0x100c064e"], ["0x1008a15f", "ret ", "0x100c064f"]]}]]]}, {"address": "0x1008a1c0", "recomp": "0x100c06b0", "name": "_free", "matching": 0.8333333333333334, "diff": [["@@ -0x1008a1c0,6 +0x100c06b0,6 @@", [{"both": [["0x1008a1c0", "mov eax, dword ptr [esp + 4]", "0x100c06b0"], ["0x1008a1c4", "test eax, eax", "0x100c06b4"], ["0x1008a1c6", "je 0x6", "0x100c06b6"], ["0x1008a1c8", "push eax", "0x100c06b8"]]}, {"orig": [["0x1008a1c9", "call <OFFSET1>"]], "recomp": [["0x100c06b9", "call _MemFreePtr@4 (FUNCTION)"]]}, {"both": [["0x1008a1ce", "ret ", "0x100c06be"]]}]]]}, {"address": "0x1008b020", "recomp": "0x100c1530", "name": "___CxxFrameHandler", "matching": 1.0, "diff": []}, {"address": "0x1008b24c", "recomp": "0x100c175c", "name": "__global_unwind2", "matching": 1.0, "diff": []}, {"address": "0x1008b28e", "recomp": "0x100c179e", "name": "__local_unwind2", "matching": 1.0, "diff": []}, {"address": "0x1008b319", "recomp": "0x100c1829", "name": "__NLG_Notify1", "matching": 1.0, "diff": []}, {"address": "0x1008b322", "recomp": "0x100c1832", "name": "__NLG_Notify", "matching": 1.0, "diff": []}, {"address": "0x1008b340", "recomp": "0x100ff514", "name": "__FPinit", "matching": 0.0, "diff": [["@@ -,0 +0x100ff514,2 @@", [{"orig": [], "recomp": [["0x100ff514", "push eax"], ["0x100ff515", "sbb byte ptr [eax + edx], cl"]]}]]]}, {"address": "0x1008b3dc", "recomp": "0x100c18ec", "name": "__CIacos", "matching": 1.0, "diff": []}, {"address": "0x1008b400", "recomp": "0x100c1910", "name": "_atol", "matching": 1.0, "diff": []}, {"address": "0x1008b4b0", "recomp": "0x100c19c0", "name": "_atoi", "matching": 1.0, "diff": []}, {"address": "0x1008b4c0", "recomp": "0x100c19d0", "name": "_strtok", "matching": 1.0, "diff": []}, {"address": "0x1008b5a0", "recomp": "0x100c1ab0", "name": "_sprintf", "matching": 1.0, "diff": []}, {"address": "0x1008b608", "recomp": "0x100c1b18", "name": "__ftol", "matching": 1.0, "diff": []}, {"address": "0x1008b630", "recomp": "0x100c1b40", "name": "_srand", "matching": 1.0, "diff": []}, {"address": "0x1008b640", "recomp": "0x100c1b50", "name": "_rand", "matching": 1.0, "diff": []}, {"address": "0x1008b670", "recomp": "0x100c1b80", "name": "__purecall", "matching": 1.0, "diff": []}, {"address": "0x1008b680", "recomp": "0x100c1b90", "name": "_strncmp", "matching": 1.0, "diff": []}, {"address": "0x1008b6c0", "recomp": "0x100c1bd0", "name": "_atof", "matching": 1.0, "diff": []}, {"address": "0x1008b730", "recomp": "0x100c2a80", "name": "_fprintf", "matching": 1.0, "diff": []}, {"address": "0x1008b780", "recomp": "0x100c27d0", "name": "_fwrite", "matching": 1.0, "diff": []}, {"address": "0x1008b7c0", "recomp": "0x100c2810", "name": "__fwrite_lk", "matching": 1.0, "diff": []}, {"address": "0x1008b950", "recomp": "0x100c1c40", "name": "_fread", "matching": 1.0, "diff": []}, {"address": "0x1008b990", "recomp": "0x100c1c80", "name": "__fread_lk", "matching": 1.0, "diff": []}, {"address": "0x1008bbd0", "recomp": "0x100c2150", "name": "_fclose", "matching": 1.0, "diff": []}, {"address": "0x1008bc10", "recomp": "0x100c2190", "name": "__fclose_lk", "matching": 1.0, "diff": []}, {"address": "0x1008bc70", "recomp": "0x100c7230", "name": "__cinit", "matching": 0.9230769230769231, "diff": [["@@ -0x1008bc70,11 +0x100c7230,11 @@", [{"orig": [["0x1008bc70", "mov eax, dword ptr [<OFFSET1>]"]], "recomp": [["0x100c7230", "mov eax, dword ptr [__FPinit (FUNCTION)]"]]}, {"both": [["0x1008bc75", "test eax, eax", "0x100c7235"], ["0x1008bc77", "je 0x2", "0x100c7237"], ["0x1008bc79", "call eax", "0x100c7239"], ["0x1008bc7b", "push ___xi_z (DATA)", "0x100c723b"], ["0x1008bc80", "push ___xi_a (DATA)", "0x100c7240"], ["0x1008bc85", "call <OFFSET4>", "0x100c7245"], ["0x1008bc8a", "add esp, 8", "0x100c724a"], ["0x1008bc8d", "push ___xc_z (DATA)", "0x100c724d"], ["0x1008bc92", "push ___xc_a (DATA)", "0x100c7252"], ["0x1008bc97", "call <OFFSET4>", "0x100c7257"]]}]]]}, {"address": "0x1008bca0", "recomp": "0x100c7260", "name": "__exit", "matching": 1.0, "diff": []}, {"address": "0x1008bcc0", "recomp": "0x100c7280", "name": "__cexit", "matching": 1.0, "diff": []}, {"address": "0x1008bdd0", "recomp": "0x100c22d0", "name": "_ftell", "matching": 1.0, "diff": []}, {"address": "0x1008be00", "recomp": "0x100c2300", "name": "__ftell_lk", "matching": 1.0, "diff": []}, {"address": "0x1008bfb0", "recomp": "0x100c24b0", "name": "__fsopen", "matching": 1.0, "diff": []}, {"address": "0x1008bff0", "recomp": "0x100c24f0", "name": "_fopen", "matching": 1.0, "diff": []}, {"address": "0x1008c010", "recomp": "0x100c1e20", "name": "_strncpy", "matching": 1.0, "diff": []}, {"address": "0x1008c110", "recomp": "0x100cf680", "name": "__strcmpi", "matching": 1.0, "diff": []}, {"address": "0x1008c1e0", "recomp": "0x100c1f20", "name": "__spawnl", "matching": 1.0, "diff": []}, {"address": "0x1008c200", "recomp": "0x100c1dd0", "name": "_sscanf", "matching": 1.0, "diff": []}, {"address": "0x1008c250", "recomp": "0x100c1f40", "name": "??_L@YGXPAXIHP6EX0@Z1@Z", "matching": 1.0, "diff": []}, {"address": "0x1008c2e0", "recomp": "0x100c1fd0", "name": "??_M@YGXPAXIHP6EX0@Z@Z", "matching": 1.0, "diff": []}, {"address": "0x1008c370", "recomp": "0x100c2060", "name": "?__ArrayUnwind@@YGXPAXIHP6EX0@Z@Z", "matching": 1.0, "diff": []}, {"address": "0x1008c410", "recomp": "0x100cfbc0", "name": "_strlwr", "matching": 1.0, "diff": []}, {"address": "0x1008c570", "recomp": "0x100c2100", "name": "_access", "matching": 1.0, "diff": []}, {"address": "0x1008c5c0", "recomp": "0x100c21f0", "name": "_fseek", "matching": 1.0, "diff": []}, {"address": "0x1008c600", "recomp": "0x100c2230", "name": "__fseek_lk", "matching": 1.0, "diff": []}, {"address": "0x1008c6a0", "recomp": "0x100c2510", "name": "_isdigit", "matching": 1.0, "diff": []}, {"address": "0x1008c6d0", "recomp": "0x100c2540", "name": "_isspace", "matching": 1.0, "diff": []}, {"address": "0x1008c700", "recomp": "0x100c2570", "name": "__CRT_INIT@12", "matching": 1.0, "diff": []}, {"address": "0x1008c860", "recomp": "0x100c26d0", "name": "__DllMainCRTStartup@12", "matching": 1.0, "diff": []}, {"address": "0x1008c920", "recomp": "0x100c2790", "name": "__amsg_exit", "matching": 1.0, "diff": []}, {"address": "0x1008c980", "recomp": "0x100c2dc0", "name": "__except_handler3", "matching": 1.0, "diff": []}, {"address": "0x1008ca60", "recomp": "0x100c2a60", "name": "_abort", "matching": 1.0, "diff": []}, {"address": "0x1008ca80", "recomp": "0x100c2ea0", "name": "___InternalCxxFrameHandler", "matching": 1.0, "diff": []}, {"address": "0x1008cf60", "recomp": "0x100c3380", "name": "___FrameUnwindToState", "matching": 1.0, "diff": []}, {"address": "0x1008d4f0", "recomp": "0x100c3910", "name": "__CallSettingFrame@12", "matching": 1.0, "diff": []}, {"address": "0x1008d540", "recomp": "0x100c3960", "name": "__mtinit", "matching": 1.0, "diff": []}, {"address": "0x1008d5a0", "recomp": "0x100c39c0", "name": "__mtterm", "matching": 1.0, "diff": []}, {"address": "0x1008d5d0", "recomp": "0x100c39f0", "name": "__initptd", "matching": 1.0, "diff": []}, {"address": "0x1008d5f0", "recomp": "0x100c3a10", "name": "__getptd", "matching": 1.0, "diff": []}, {"address": "0x1008d660", "recomp": "0x100c3a80", "name": "__freeptd", "matching": 1.0, "diff": []}, {"address": "0x1008dd90", "recomp": "0x100c41b0", "name": "__cintrindisp2", "matching": 1.0, "diff": []}, {"address": "0x1008e000", "recomp": "0x100c4420", "name": "__isctype", "matching": 1.0, "diff": []}, {"address": "0x1008e0a0", "recomp": "0x100c44c0", "name": "__allmul", "matching": 1.0, "diff": []}, {"address": "0x1008e0e0", "recomp": "0x100c4500", "name": "__flsbuf", "matching": 1.0, "diff": []}, {"address": "0x1008e230", "recomp": "0x100c4650", "name": "__output", "matching": 1.0, "diff": []}, {"address": "0x1008ecf0", "recomp": "0x100c5110", "name": "__fltin2", "matching": 1.0, "diff": []}, {"address": "0x1008ed90", "recomp": "0x100c51b0", "name": "__mtinitlocks", "matching": 1.0, "diff": []}, {"address": "0x1008edc0", "recomp": "0x100c51e0", "name": "__mtdeletelocks", "matching": 1.0, "diff": []}, {"address": "0x1008ee30", "recomp": "0x100c5250", "name": "__lock", "matching": 1.0, "diff": []}, {"address": "0x1008eea0", "recomp": "0x100c52c0", "name": "__unlock", "matching": 1.0, "diff": []}, {"address": "0x1008eec0", "recomp": "0x100c52e0", "name": "__lock_file", "matching": 1.0, "diff": []}, {"address": "0x1008ef00", "recomp": "0x100c5320", "name": "__lock_file2", "matching": 1.0, "diff": []}, {"address": "0x1008ef30", "recomp": "0x100c5350", "name": "__unlock_file", "matching": 1.0, "diff": []}, {"address": "0x1008ef70", "recomp": "0x100c5390", "name": "__unlock_file2", "matching": 1.0, "diff": []}, {"address": "0x1008efa0", "recomp": "0x100c8520", "name": "__stbuf", "matching": 1.0, "diff": []}, {"address": "0x1008f040", "recomp": "0x100c85c0", "name": "__ftbuf", "matching": 1.0, "diff": []}, {"address": "0x1008f080", "recomp": "0x100c7e70", "name": "__write", "matching": 1.0, "diff": []}, {"address": "0x1008f100", "recomp": "0x100c7ef0", "name": "__write_lk", "matching": 1.0, "diff": []}, {"address": "0x1008f340", "recomp": "0x100c6a90", "name": "__flush", "matching": 1.0, "diff": []}, {"address": "0x1008f490", "recomp": "0x100c53c0", "name": "__filbuf", "matching": 1.0, "diff": []}, {"address": "0x1008f590", "recomp": "0x100c54c0", "name": "__read", "matching": 1.0, "diff": []}, {"address": "0x1008f610", "recomp": "0x100c5540", "name": "__read_lk", "matching": 1.0, "diff": []}, {"address": "0x1008f840", "recomp": "0x100c6cf0", "name": "__ioinit", "matching": 1.0, "diff": []}, {"address": "0x1008fa20", "recomp": "0x100c6ed0", "name": "__ioterm", "matching": 1.0, "diff": []}, {"address": "0x1008fb20", "recomp": "0x100c6910", "name": "__close", "matching": 1.0, "diff": []}, {"address": "0x1008fb90", "recomp": "0x100c6980", "name": "__close_lk", "matching": 1.0, "diff": []}, {"address": "0x1008fc20", "recomp": "0x100c6a10", "name": "__freebuf", "matching": 1.0, "diff": []}, {"address": "0x1008fc90", "recomp": "0x100cf180", "name": "__chkstk", "matching": 1.0, "diff": []}, {"address": "0x1008fcc0", "recomp": "0x100c6be0", "name": "__lseek", "matching": 1.0, "diff": []}, {"address": "0x1008fd40", "recomp": "0x100c6c60", "name": "__lseek_lk", "matching": 1.0, "diff": []}, {"address": "0x1008fdd0", "recomp": "0x100c6870", "name": "__dosmaperr", "matching": 0.972972972972973, "diff": [["@@ -0x1008fdd0,21 +0x100c6870,21 @@", [{"both": [["0x1008fdd0", "push esi", "0x100c6870"], ["0x1008fdd1", "call ___doserrno (FUNCTION)", "0x100c6871"], ["0x1008fdd6", "mov ecx, dword ptr [esp + 8]", "0x100c6876"], ["0x1008fdda", "xor esi, esi", "0x100c687a"], ["0x1008fddc", "mov dword ptr [eax], ecx", "0x100c687c"], ["0x1008fdde", "mov eax, <OFFSET2>", "0x100c687e"], ["0x1008fde3", "cmp dword ptr [eax], ecx", "0x100c6883"], ["0x1008fde5", "je 0x22", "0x100c6885"], ["0x1008fde7", "add eax, 8", "0x100c6887"], ["0x1008fdea", "inc esi", "0x100c688a"]]}, {"orig": [["0x1008fdeb", "cmp eax, ___lc_handle (DATA)"]], "recomp": [["0x100c688b", "cmp eax, ___badioinfo (DATA)"]]}, {"both": [["0x1008fdf0", "jb -0xf", "0x100c6890"], ["0x1008fdf2", "cmp ecx, 0x13", "0x100c6892"], ["0x1008fdf5", "jb 0x22", "0x100c6895"], ["0x1008fdf7", "cmp ecx, 0x24", "0x100c6897"], ["0x1008fdfa", "ja 0x1d", "0x100c689a"], ["0x1008fdfc", "call __errno (FUNCTION)", "0x100c689c"], ["0x1008fe01", "pop esi", "0x100c68a1"], ["0x1008fe02", "mov dword ptr [eax], 0xd", "0x100c68a2"], ["0x1008fe08", "ret ", "0x100c68a8"], ["0x1008fe09", "call __errno (FUNCTION)", "0x100c68a9"]]}]]]}, {"address": "0x1008fe50", "recomp": "0x100c68f0", "name": "__errno", "matching": 1.0, "diff": []}, {"address": "0x1008fe60", "recomp": "0x100c6900", "name": "___doserrno", "matching": 1.0, "diff": []}, {"address": "0x1008fe70", "recomp": "0x100c6f30", "name": "__openfile", "matching": 1.0, "diff": []}, {"address": "0x10090080", "recomp": "0x100c7140", "name": "__getstream", "matching": 1.0, "diff": []}, {"address": "0x100901f0", "recomp": "0x100c8bf0", "name": "__tolower_lk", "matching": 1.0, "diff": []}, {"address": "0x100902e0", "recomp": "0x100c64d0", "name": "__spawnve", "matching": 0.9949494949494949, "diff": [["@@ -0x1009049f,21 +0x100c668f,21 @@", [{"both": [["0x1009049f", "push ebx", "0x100c668f"], ["0x100904a0", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100c6690"], ["0x100904a2", "mov ecx, eax", "0x100c6692"], ["0x100904a4", "and ecx, 3", "0x100c6694"], ["0x100904a7", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100c6697"], ["0x100904a9", "call _access (FUNCTION)", "0x100c6699"], ["0x100904ae", "add esp, 8", "0x100c669e"], ["0x100904b1", "cmp eax, -1", "0x100c66a1"], ["0x100904b4", "jne 0xd", "0x100c66a4"], ["0x100904b6", "sub ebp, 4", "0x100c66a6"]]}, {"orig": [["0x100904b9", "cmp ebp, 0x100fd608"]], "recomp": [["0x100c66a9", "cmp ebp, 0x100ff918"]]}, {"both": [["0x100904bf", "jae -0x3f", "0x100c66af"], ["0x100904c1", "jmp 0x1c", "0x100c66b1"], ["0x100904c3", "mov eax, dword ptr [esp + 0x2c]", "0x100c66b3"], ["0x100904c7", "mov ecx, dword ptr [esp + 0x28]", "0x100c66b7"], ["0x100904cb", "mov edx, dword ptr [esp + 0x20]", "0x100c66bb"], ["0x100904cf", "push eax", "0x100c66bf"], ["0x100904d0", "push ecx", "0x100c66c0"], ["0x100904d1", "push ebx", "0x100c66c1"], ["0x100904d2", "push edx", "0x100c66c2"], ["0x100904d3", "call <OFFSET6>", "0x100c66c3"]]}]]]}, {"address": "0x10090580", "recomp": "0x100c5770", "name": "__input", "matching": 1.0, "diff": []}, {"address": "0x100912e0", "recomp": "0x100c6770", "name": "?terminate@@YAXXZ", "matching": 1.0, "diff": []}, {"address": "0x10091360", "recomp": "0x100c67f0", "name": "?_inconsistency@@YAXXZ", "matching": 1.0, "diff": []}, {"address": "0x100913e0", "recomp": "0x100cc9e0", "name": "___crtLCMapStringA", "matching": 1.0, "diff": []}, {"address": "0x10091640", "recomp": "0x100c7390", "name": "__heap_init", "matching": 1.0, "diff": []}, {"address": "0x10091680", "recomp": "0x100c73d0", "name": "__heap_term", "matching": 1.0, "diff": []}, {"address": "0x100916c0", "recomp": "0x100c7410", "name": "__setenvp", "matching": 1.0, "diff": []}, {"address": "0x100917b0", "recomp": "0x100c7500", "name": "__setargv", "matching": 1.0, "diff": []}, {"address": "0x10091a20", "recomp": "0x100c7770", "name": "__setmbcp", "matching": 0.9947368421052631, "diff": [["@@ -0x10091a73,21 +0x100c77c3,21 @@", [{"both": [["0x10091a73", "pop esi", "0x100c77c3"], ["0x10091a74", "pop ebx", "0x100c77c4"], ["0x10091a75", "add esp, 0x18", "0x100c77c5"], ["0x10091a78", "ret ", "0x100c77c8"], ["0x10091a79", "mov dword ptr [esp + 0x10], 0", "0x100c77c9"], ["0x10091a81", "mov eax, ___mbulinfo+24 (OFFSET)", "0x100c77d1"], ["0x10091a86", "cmp dword ptr [eax], ebp", "0x100c77d6"], ["0x10091a88", "je 0x9b", "0x100c77d8"], ["0x10091a8e", "add eax, 0x30", "0x100c77de"], ["0x10091a91", "inc dword ptr [esp + 0x10]", "0x100c77e1"]]}, {"orig": [["0x10091a95", "cmp eax, 0x100fd850"]], "recomp": [["0x100c77e5", "cmp eax, 0x100ffd20"]]}, {"both": [["0x10091a9a", "jb -0x16", "0x100c77ea"], ["0x10091a9c", "lea eax, [esp + 0x14]", "0x100c77ec"], ["0x10091aa0", "push eax", "0x100c77f0"], ["0x10091aa1", "push ebp", "0x100c77f1"], ["0x10091aa2", "call dword ptr [->KERNEL32.DLL:GetCPInfo (FUNCTION)]", "0x100c77f2"], ["0x10091aa8", "cmp eax, 1", "0x100c77f8"], ["0x10091aab", "jne 0x159", "0x100c77fb"], ["0x10091ab1", "mov edi, __mbctype (DATA)", "0x100c7801"], ["0x10091ab6", "xor eax, eax", "0x100c7806"], ["0x10091ab8", "mov ecx, 0x40", "0x100c7808"]]}]]]}, {"address": "0x10091d30", "recomp": "0x100c7a80", "name": "___initmbctable", "matching": 1.0, "diff": []}, {"address": "0x10091d40", "recomp": "0x100c7a90", "name": "___crtGetEnvironmentStringsA", "matching": 1.0, "diff": []}, {"address": "0x10091ed0", "recomp": "0x100c7c20", "name": "___set_app_type", "matching": 1.0, "diff": []}, {"address": "0x10091ee0", "recomp": "0x10086080", "name": "DllMain", "matching": 1.0, "diff": []}, {"address": "0x10091ef0", "recomp": "0x100c7c30", "name": "__FF_MSGBANNER", "matching": 1.0, "diff": []}, {"address": "0x10091f30", "recomp": "0x100c7c70", "name": "__NMSG_WRITE", "matching": 0.9937888198757764, "diff": [["@@ -0x10092039,21 +0x100c7d79,21 @@", [{"both": [["0x10092039", "lea edi, [esp + 0x14]", "0x100c7d79"], ["0x1009203d", "sub eax, eax", "0x100c7d7d"], ["0x1009203f", "repne scasb al, byte ptr es:[edi]", "0x100c7d7f"], ["0x10092041", "dec edi", "0x100c7d81"], ["0x10092042", "mov ecx, edx", "0x100c7d82"], ["0x10092044", "shr ecx, 2", "0x100c7d84"], ["0x10092047", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100c7d87"], ["0x10092049", "mov ecx, edx", "0x100c7d89"], ["0x1009204b", "and ecx, 3", "0x100c7d8b"], ["0x1009204e", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100c7d8e"]]}, {"orig": [["0x10092050", "mov edi, <OFFSET9>"]], "recomp": [["0x100c7d90", "mov edi, '\\n\\n' (STRING)"]]}, {"both": [["0x10092055", "mov ecx, 0xffffffff", "0x100c7d95"], ["0x1009205a", "sub eax, eax", "0x100c7d9a"], ["0x1009205c", "repne scasb al, byte ptr es:[edi]", "0x100c7d9c"], ["0x1009205e", "not ecx", "0x100c7d9e"], ["0x10092060", "sub edi, ecx", "0x100c7da0"], ["0x10092062", "mov edx, ecx", "0x100c7da2"], ["0x10092064", "mov esi, edi", "0x100c7da4"], ["0x10092066", "mov ecx, 0xffffffff", "0x100c7da6"], ["0x1009206b", "lea edi, [esp + 0x14]", "0x100c7dab"], ["0x1009206f", "sub eax, eax", "0x100c7daf"]]}]]]}, {"address": "0x10092130", "recomp": "0x100c8300", "name": "_raise", "matching": 1.0, "diff": []}, {"address": "0x100928c0", "recomp": "0x100c8b70", "name": "__fptrap", "matching": 1.0, "diff": []}, {"address": "0x100928d0", "recomp": "0x100c8ce0", "name": "__ZeroTail", "matching": 1.0, "diff": []}, {"address": "0x10092940", "recomp": "0x100c8d50", "name": "__IncMan", "matching": 1.0, "diff": []}, {"address": "0x100929b0", "recomp": "0x100c8dc0", "name": "__RoundMan", "matching": 1.0, "diff": []}, {"address": "0x10092a60", "recomp": "0x100c8e70", "name": "__CopyMan", "matching": 1.0, "diff": []}, {"address": "0x10092a80", "recomp": "0x100c8e90", "name": "__FillZeroMan", "matching": 1.0, "diff": []}, {"address": "0x10092a90", "recomp": "0x100c8ea0", "name": "__IsZeroMan", "matching": 1.0, "diff": []}, {"address": "0x10092ab0", "recomp": "0x100c8ec0", "name": "__ShrMan", "matching": 1.0, "diff": []}, {"address": "0x10092b60", "recomp": "0x100c8f70", "name": "__ld12cvt", "matching": 1.0, "diff": []}, {"address": "0x10092d30", "recomp": "0x100c9140", "name": "__ld12tod", "matching": 1.0, "diff": []}, {"address": "0x10093037", "recomp": "0x100c9447", "name": "__trandisp2", "matching": 1.0, "diff": []}, {"address": "0x10093480", "recomp": "0x100c9890", "name": "___crtGetStringTypeA", "matching": 1.0, "diff": []}, {"address": "0x100935b0", "recomp": "0x100c99c0", "name": "__getbuf", "matching": 1.0, "diff": []}, {"address": "0x10093600", "recomp": "0x100c9a10", "name": "__isatty", "matching": 1.0, "diff": []}, {"address": "0x10093630", "recomp": "0x100c9b30", "name": "_wctomb", "matching": 1.0, "diff": []}, {"address": "0x10093690", "recomp": "0x100c9b90", "name": "__wctomb_lk", "matching": 1.0, "diff": []}, {"address": "0x10093730", "recomp": "0x100c9c30", "name": "__aulldiv", "matching": 1.0, "diff": []}, {"address": "0x100937a0", "recomp": "0x100c9ca0", "name": "__aullrem", "matching": 1.0, "diff": []}, {"address": "0x10093820", "recomp": "0x100c9d20", "name": "___strgtold12", "matching": 1.0, "diff": []}, {"address": "0x10093f70", "recomp": "0x100ca470", "name": "__alloc_osfhnd", "matching": 1.0, "diff": []}, {"address": "0x100940b0", "recomp": "0x100ca5b0", "name": "__set_osfhnd", "matching": 1.0, "diff": []}, {"address": "0x10094160", "recomp": "0x100ca660", "name": "__free_osfhnd", "matching": 1.0, "diff": []}, {"address": "0x10094200", "recomp": "0x100ca700", "name": "__get_osfhandle", "matching": 1.0, "diff": []}, {"address": "0x10094250", "recomp": "0x100ca750", "name": "__lock_fhandle", "matching": 1.0, "diff": []}, {"address": "0x100942c0", "recomp": "0x100ca7c0", "name": "__unlock_fhandle", "matching": 1.0, "diff": []}, {"address": "0x100943a0", "recomp": "0x100cb210", "name": "__sopen", "matching": 1.0, "diff": []}, {"address": "0x10095820", "recomp": "0x100ca9f0", "name": "__mbsrchr", "matching": 1.0, "diff": []}, {"address": "0x100958b0", "recomp": "0x100caa80", "name": "__mbschr", "matching": 1.0, "diff": []}, {"address": "0x10095f90", "recomp": "0x100ca7f0", "name": "_mbtowc", "matching": 1.0, "diff": []}, {"address": "0x10095ff0", "recomp": "0x100ca850", "name": "__mbtowc_lk", "matching": 1.0, "diff": []}, {"address": "0x10096190", "recomp": "0x100cb670", "name": "___sbh_new_region", "matching": 1.0, "diff": []}, {"address": "0x10096300", "recomp": "0x100cb7e0", "name": "___crtMessageBoxA", "matching": 1.0, "diff": []}, {"address": "0x10096490", "recomp": "0x100ccc40", "name": "___addl", "matching": 1.0, "diff": []}, {"address": "0x100964c0", "recomp": "0x100ccc70", "name": "___add_12", "matching": 1.0, "diff": []}, {"address": "0x10096530", "recomp": "0x100ccce0", "name": "___shl_12", "matching": 1.0, "diff": []}, {"address": "0x10096570", "recomp": "0x100ccd20", "name": "___shr_12", "matching": 1.0, "diff": []}, {"address": "0x100965b0", "recomp": "0x100ccd60", "name": "___mtold12", "matching": 1.0, "diff": []}, {"address": "0x10097190", "recomp": "0x100cd9e0", "name": "___ld12mul", "matching": 1.0, "diff": []}, {"address": "0x10097440", "recomp": "0x100cdc90", "name": "___multtenpow12", "matching": 1.0, "diff": []}, {"address": "0x100974c0", "recomp": "0x100cdd40", "name": "__chsize_lk", "matching": 1.0, "diff": []}, {"address": "0x100977c0", "recomp": "0x100cf370", "name": "_itoa", "matching": 1.0, "diff": []}, {"address": "0x10097ad0", "recomp": "0x100cdd10", "name": "_strrchr", "matching": 1.0, "diff": []}, {"address": "0x10097b10", "recomp": "0x100c2b60", "name": "_strchr", "matching": 1.0, "diff": []}, {"address": "0x10097d70", "recomp": "0x100cf110", "name": "__setmode_lk", "matching": 1.0, "diff": []}, {"address": "0x10098fb0", "recomp": "0x10087430", "name": "LegoTexture::LegoTexture", "matching": 1.0, "diff": []}, {"address": "0x10099030", "recomp": "0x100874b0", "name": "LegoTexture::~LegoTexture", "matching": 1.0, "diff": []}, {"address": "0x10099050", "recomp": "0x100874d0", "name": "LegoTexture::Read", "matching": 1.0, "diff": []}, {"address": "0x10099070", "recomp": "0x100874f0", "name": "LegoTexture::Write", "matching": 1.0, "diff": []}, {"address": "0x10099080", "recomp": "0x10087500", "name": "LegoMemory::LegoMemory", "matching": 1.0, "diff": []}, {"address": "0x100990f0", "recomp": "0x10087590", "name": "LegoMemory::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10099160", "recomp": "0x10087600", "name": "LegoMemory::Read", "matching": 1.0, "diff": []}, {"address": "0x10099190", "recomp": "0x10087630", "name": "LegoMemory::Write", "matching": 1.0, "diff": []}, {"address": "0x100991c0", "recomp": "0x10087660", "name": "LegoFile::LegoFile", "matching": 1.0, "diff": []}, {"address": "0x10099230", "recomp": "0x100876d0", "name": "LegoFile::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10099250", "recomp": "0x100876f0", "name": "LegoFile::~LegoFile", "matching": 1.0, "diff": []}, {"address": "0x100992c0", "recomp": "0x10087760", "name": "LegoFile::Read", "matching": 1.0, "diff": []}, {"address": "0x10099300", "recomp": "0x100877a0", "name": "LegoFile::Write", "matching": 1.0, "diff": []}, {"address": "0x10099340", "recomp": "0x100877e0", "name": "LegoFile::GetPosition", "matching": 1.0, "diff": []}, {"address": "0x10099370", "recomp": "0x10087810", "name": "LegoFile::SetPosition", "matching": 1.0, "diff": []}, {"address": "0x100993a0", "recomp": "0x10087840", "name": "LegoFile::Open", "matching": 1.0, "diff": []}, {"address": "0x100994a0", "recomp": "0x10087570", "name": "LegoMemory::GetPosition", "matching": 1.0, "diff": []}, {"address": "0x100994b0", "recomp": "0x10087580", "name": "LegoMemory::SetPosition", "matching": 1.0, "diff": []}, {"address": "0x100994c0", "recomp": "0x10087940", "name": "LegoPaletteEntry::LegoPaletteEntry", "matching": 1.0, "diff": []}, {"address": "0x100994d0", "recomp": "0x10087950", "name": "LegoPaletteEntry::Read", "matching": 1.0, "diff": []}, {"address": "0x10099520", "recomp": "0x100879a0", "name": "LegoPaletteEntry::Write", "matching": 1.0, "diff": []}, {"address": "0x10099570", "recomp": "0x100879f0", "name": "LegoImage::LegoImage", "matching": 1.0, "diff": []}, {"address": "0x100995a0", "recomp": "0x10087a20", "name": "LegoImage::LegoImage", "matching": 1.0, "diff": []}, {"address": "0x100995f0", "recomp": "0x10087a70", "name": "LegoImage::~LegoImage", "matching": 1.0, "diff": []}, {"address": "0x10099610", "recomp": "0x10087a90", "name": "LegoImage::Read", "matching": 1.0, "diff": []}, {"address": "0x100997e0", "recomp": "0x10087c60", "name": "LegoImage::Write", "matching": 1.0, "diff": []}, {"address": "0x10099870", "recomp": "0x10087cf0", "name": "LegoTextureContainer::~LegoTextureContainer", "matching": 1.0, "diff": []}, {"address": "0x100998e0", "recomp": "0x10087d60", "name": "LegoTextureContainer::GetCached", "matching": 0.6272189349112426, "diff": [["@@ -0x100998e0,338 +0x10087d60,338 @@", [{"both": [["0x100998e0", "mov eax, dword ptr fs:[0]", "0x10087d60"], ["0x100998e6", "push ebp", "0x10087d66"], ["0x100998e7", "mov ebp, esp", "0x10087d67"], ["0x100998e9", "push -1", "0x10087d69"], ["0x100998eb", "push <OFFSET1>", "0x10087d6b"], ["0x100998f0", "push eax", "0x10087d70"], ["0x100998f1", "mov dword ptr fs:[0], esp", "0x10087d71"]]}, {"orig": [["0x100998f8", "sub esp, 0xf8"]], "recomp": [["0x10087d78", "sub esp, 0x100"]]}, {"both": [["0x100998fe", "xor eax, eax", "0x10087d7e"], ["0x10099900", "mov dword ptr [ebp - 0x14], ecx", "0x10087d80"], ["0x10099903", "push ebx", "0x10087d83"], ["0x10099904", "mov ecx, 0x1b", "0x10087d84"], ["0x10099909", "push esi", "0x10087d89"], ["0x1009990a", "push edi", "0x10087d8a"]]}, {"orig": [["0x1009990b", "lea edi, [ebp - 0x104]"]], "recomp": [["0x10087d8b", "lea edi, [ebp - 0x10c]"], ["0x10087d91", "push 0"]]}, {"both": [["0x10099911", "rep stosd dword ptr es:[edi], eax", "0x10087d93"]]}, {"orig": [["0x10099913", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x10087d95", "mov esi, dword ptr [ebp + 8]"]]}, {"both": [["0x10099916", "push 0", "0x10087d98"]]}, {"orig": [["0x10099918", "mov dword ptr [ebp - 0x104], 0x6c"], ["0x10099922", "mov esi, dword ptr [eax + 4]"]], "recomp": [["0x10087d9a", "mov dword ptr [ebp - 0x10c], 0x6c"], ["0x10087da4", "mov eax, dword ptr [esi + 4]"], ["0x10087da7", "lea ecx, [ebp - 0x10c]"], ["0x10087dad", "push ecx"]]}, {"both": [["0x10099925", "push 0", "0x10087dae"]]}, {"orig": [["0x10099927", "lea eax, [ebp - 0x104]"], ["0x1009992d", "mov edi, dword ptr [esi]"]], "recomp": []}, {"both": [["0x1009992f", "push eax", "0x10087db0"]]}, {"orig": [["0x10099930", "push 0"], ["0x10099932", "push esi"], ["0x10099933", "call dword ptr [edi + 0x64]"]], "recomp": [["0x10087db1", "mov ebx, dword ptr [eax]"], ["0x10087db3", "call dword ptr [ebx + 0x64]"]]}, {"both": [["0x10099936", "test eax, eax", "0x10087db6"]]}, {"orig": [["0x10099938", "jne 0x20"], ["0x1009993a", "mov eax, dword ptr [ebp - 0xf8]"], ["0x10099940", "mov ecx, dword ptr [ebp - 0xfc]"], ["0x10099946", "mov dword ptr [ebp - 0x20], eax"], ["0x10099949", "mov edx, dword ptr [ebp - 0xe0]"]], "recomp": [["0x10087db8", "jne 0x25"], ["0x10087dba", "mov eax, dword ptr [ebp - 0x100]"], ["0x10087dc0", "mov ecx, dword ptr [ebp - 0x104]"], ["0x10087dc6", "mov edx, dword ptr [ebp - 0xe8]"], ["0x10087dcc", "mov dword ptr [ebp - 0x1c], eax"], ["0x10087dcf", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x1009994f", "push edx", "0x10087dd2"]]}, {"orig": [], "recomp": [["0x10087dd3", "push eax"]]}, {"both": [["0x10099950", "mov dword ptr [ebp - 0x18], ecx", "0x10087dd4"]]}, {"orig": [["0x10099953", "push esi"], ["0x10099954", "call dword ptr [edi + 0x80]"]], "recomp": [["0x10087dd7", "mov ebx, dword ptr [eax]"], ["0x10087dd9", "call dword ptr [ebx + 0x80]"]]}, {"both": [["0x1009995a", "mov ecx, dword ptr [ebp - 0x14]", "0x10087ddf"], ["0x1009995d", "mov eax, dword ptr [ecx + 0x1c]", "0x10087de2"], ["0x10099960", "mov edx, dword ptr [eax]", "0x10087de5"], ["0x10099962", "mov dword ptr [ebp - 0x10], edx", "0x10087de7"], ["0x10099965", "cmp edx, eax", "0x10087dea"]]}, {"orig": [["0x10099967", "je 0xde"]], "recomp": [["0x10087dec", "je 0xda"]]}, {"both": [["0x1009996d", "mov eax, dword ptr [ebp - 0x10]", "0x10087df2"], ["0x10099970", "cmp dword ptr [eax + 0xc], 0", "0x10087df5"]]}, {"orig": [["0x10099974", "jne 0xbd"], ["0x1009997a", "lea esi, [eax + 8]"], ["0x1009997d", "mov eax, dword ptr [esi]"]], "recomp": [["0x10087df9", "jne 0xb9"], ["0x10087dff", "lea edi, [eax + 8]"], ["0x10087e02", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1009997f", "mov eax, dword ptr [eax + 0xc]", "0x10087e04"], ["0x10099982", "push eax", "0x10087e07"], ["0x10099983", "mov ebx, dword ptr [eax]", "0x10087e08"], ["0x10099985", "call dword ptr [ebx + 4]", "0x10087e0a"], ["0x10099988", "test eax, eax", "0x10087e0d"]]}, {"orig": [["0x1009998a", "je 0xa7"], ["0x10099990", "mov eax, dword ptr [esi]"]], "recomp": [["0x10087e0f", "je 0xa3"], ["0x10087e15", "mov eax, dword ptr [edi]"]]}, {"both": [["0x10099992", "mov eax, dword ptr [eax + 0xc]", "0x10087e17"], ["0x10099995", "push eax", "0x10087e1a"], ["0x10099996", "mov ebx, dword ptr [eax]", "0x10087e1b"], ["0x10099998", "call dword ptr [ebx + 8]", "0x10087e1d"], ["0x1009999b", "cmp eax, 1", "0x10087e20"]]}, {"orig": [["0x1009999e", "jne 0x93"], ["0x100999a4", "mov eax, dword ptr [esi]"], ["0x100999a6", "mov edx, dword ptr [ebp + 8]"], ["0x100999a9", "mov ecx, dword ptr [eax]"], ["0x100999ab", "mov eax, dword ptr [edx]"], ["0x100999ad", "mov dl, byte ptr [ecx]"], ["0x100999af", "cmp dl, byte ptr [eax]"]], "recomp": [["0x10087e23", "jne 0x8f"], ["0x10087e29", "mov eax, dword ptr [edi]"], ["0x10087e2b", "mov edx, dword ptr [esi]"], ["0x10087e2d", "mov eax, dword ptr [eax]"], ["0x10087e2f", "mov cl, byte ptr [eax]"], ["0x10087e31", "cmp cl, byte ptr [edx]"]]}, {"both": [["0x100999b1", "jne 0x1a", "0x10087e33"]]}, {"orig": [["0x100999b3", "or dl, dl"]], "recomp": [["0x10087e35", "or cl, cl"]]}, {"both": [["0x100999b5", "je 0x12", "0x10087e37"]]}, {"orig": [["0x100999b7", "mov dl, byte ptr [ecx + 1]"], ["0x100999ba", "cmp dl, byte ptr [eax + 1]"]], "recomp": [["0x10087e39", "mov cl, byte ptr [eax + 1]"], ["0x10087e3c", "cmp cl, byte ptr [edx + 1]"]]}, {"both": [["0x100999bd", "jne 0xe", "0x10087e3f"]]}, {"orig": [["0x100999bf", "add ecx, 2"]], "recomp": []}, {"both": [["0x100999c2", "add eax, 2", "0x10087e41"]]}, {"orig": [["0x100999c5", "or dl, dl"]], "recomp": [["0x10087e44", "add edx, 2"], ["0x10087e47", "or cl, cl"]]}, {"both": [["0x100999c7", "jne -0x1c", "0x10087e49"], ["0x100999c9", "xor eax, eax", "0x10087e4b"], ["0x100999cb", "jmp 0x5", "0x10087e4d"], ["0x100999cd", "sbb eax, eax", "0x10087e4f"], ["0x100999cf", "sbb eax, -1", "0x10087e51"], ["0x100999d2", "test eax, eax", "0x10087e54"]]}, {"orig": [["0x100999d4", "jne 0x61"], ["0x100999d6", "mov esi, dword ptr [esi]"], ["0x100999d8", "lea edi, [ebp - 0x98]"]], "recomp": [["0x10087e56", "jne 0x60"], ["0x10087e58", "mov eax, dword ptr [edi]"], ["0x10087e5a", "mov ecx, 0x1b"], ["0x10087e5f", "lea edi, [ebp - 0xa0]"], ["0x10087e65", "mov ebx, dword ptr [eax + 4]"]]}, {"both": [["0x100999de", "xor eax, eax", "0x10087e68"]]}, {"orig": [["0x100999e0", "mov ecx, 0x1b"], ["0x100999e5", "mov ebx, dword ptr [esi + 4]"]], "recomp": [["0x10087e6a", "rep stosd dword ptr es:[edi], eax"]]}, {"both": [["0x100999e8", "push eax", "0x10087e6c"]]}, {"orig": [["0x100999e9", "rep stosd dword ptr es:[edi], eax"], ["0x100999eb", "mov dword ptr [ebp - 0x98], 0x6c"]], "recomp": [["0x10087e6d", "lea ecx, [ebp - 0xa0]"], ["0x10087e73", "mov dword ptr [ebp - 0xa0], 0x6c"]]}, {"both": [["0x100999f5", "push eax", "0x10087e7d"]]}, {"orig": [["0x100999f6", "mov edi, dword ptr [ebx]"], ["0x100999f8", "lea eax, [ebp - 0x98]"]], "recomp": [["0x10087e7e", "push ecx"]]}, {"both": [["0x100999fe", "push eax", "0x10087e7f"]]}, {"orig": [["0x100999ff", "push 0"]], "recomp": []}, {"both": [["0x10099a01", "push ebx", "0x10087e80"]]}, {"orig": [["0x10099a02", "call dword ptr [edi + 0x64]"]], "recomp": [["0x10087e81", "mov eax, dword ptr [ebx]"], ["0x10087e83", "call dword ptr [eax + 0x64]"]]}, {"both": [["0x10099a05", "test eax, eax", "0x10087e86"], ["0x10099a07", "jne 0x2e", "0x10087e88"], ["0x10099a09", "xor edi, edi", "0x10087e8a"]]}, {"orig": [["0x10099a0b", "mov eax, dword ptr [ebp - 0x20]"], ["0x10099a0e", "cmp dword ptr [ebp - 0x8c], eax"]], "recomp": [["0x10087e8c", "mov eax, dword ptr [ebp - 0x1c]"], ["0x10087e8f", "cmp eax, dword ptr [ebp - 0x94]"]]}, {"both": [["0x10099a14", "jne 0x10", "0x10087e95"], ["0x10099a16", "mov eax, dword ptr [ebp - 0x18]", "0x10087e97"]]}, {"orig": [["0x10099a19", "cmp dword ptr [ebp - 0x90], eax"]], "recomp": [["0x10087e9a", "cmp eax, dword ptr [ebp - 0x98]"]]}, {"both": [["0x10099a1f", "jne 0x5", "0x10087ea0"], ["0x10099a21", "mov edi, 1", "0x10087ea2"]]}, {"orig": [["0x10099a26", "mov eax, dword ptr [ebp - 0x74]"]], "recomp": [["0x10087ea7", "mov eax, dword ptr [ebp - 0x7c]"]]}, {"both": [["0x10099a29", "push eax", "0x10087eaa"], ["0x10099a2a", "push ebx", "0x10087eab"], ["0x10099a2b", "mov ebx, dword ptr [ebx]", "0x10087eac"], ["0x10099a2d", "call dword ptr [ebx + 0x80]", "0x10087eae"], ["0x10099a33", "test edi, edi", "0x10087eb4"]]}, {"orig": [["0x10099a35", "jne 0x39"]], "recomp": [["0x10087eb6", "jne 0x37"]]}, {"both": [["0x10099a37", "mov eax, dword ptr [ebp - 0x10]", "0x10087eb8"], ["0x10099a3a", "mov edx, dword ptr [ebp - 0x14]", "0x10087ebb"], ["0x10099a3d", "mov ecx, dword ptr [eax]", "0x10087ebe"], ["0x10099a3f", "mov dword ptr [ebp - 0x10], ecx", "0x10087ec0"], ["0x10099a42", "cmp dword ptr [edx + 0x1c], ecx", "0x10087ec3"]]}, {"orig": [["0x10099a45", "jne -0xde"]], "recomp": [["0x10087ec6", "jne -0xda"]]}, {"both": [["0x10099a4b", "push 0x10", "0x10087ecc"], ["0x10099a4d", "call ??2@YAPAXI@Z (FUNCTION)", "0x10087ece"]]}, {"orig": [], "recomp": [["0x10087ed3", "add esp, 4"]]}, {"both": [["0x10099a52", "mov dword ptr [ebp - 0x10], eax", "0x10087ed6"]]}, {"orig": [["0x10099a55", "add esp, 4"]], "recomp": []}, {"both": [["0x10099a58", "mov dword ptr [ebp - 4], 0", "0x10087ed9"]]}, {"orig": [["0x10099a5f", "mov esi, eax"], ["0x10099a61", "test esi, esi"], ["0x10099a63", "je 0x33"], ["0x10099a65", "mov ecx, esi"]], "recomp": [["0x10087ee0", "test eax, eax"], ["0x10087ee2", "je 0x38"], ["0x10087ee4", "mov ecx, eax"]]}, {"both": [["0x10099a67", "call LegoTextureInfo::LegoTextureInfo (FUNCTION)", "0x10087ee6"], ["0x10099a6c", "mov ebx, eax", "0x10087eeb"]]}, {"orig": [["0x10099a6e", "jmp 0x2a"]], "recomp": [["0x10087eed", "jmp 0x2f"]]}, {"both": [["0x10099a70", "mov eax, dword ptr [ebp - 0x10]", "0x10087eef"]]}, {"orig": [], "recomp": [["0x10087ef2", "lea esi, [eax + 8]"]]}, {"both": [["0x10099a73", "mov dword ptr [eax + 0xc], 1", "0x10087ef5"]]}, {"orig": [["0x10099a7a", "mov eax, dword ptr [esi + 0xc]"]], "recomp": [["0x10087efc", "mov ecx, dword ptr [esi]"], ["0x10087efe", "mov eax, dword ptr [ecx + 0xc]"]]}, {"both": [["0x10099a7d", "push eax", "0x10087f01"], ["0x10099a7e", "mov ebx, dword ptr [eax]", "0x10087f02"], ["0x10099a80", "call dword ptr [ebx + 4]", "0x10087f04"]]}, {"orig": [["0x10099a83", "mov eax, esi"]], "recomp": [["0x10087f07", "mov eax, dword ptr [esi]"]]}, {"both": [["0x10099a85", "mov ecx, dword ptr [ebp - 0xc]", "0x10087f09"], ["0x10099a88", "pop edi", "0x10087f0c"], ["0x10099a89", "mov dword ptr fs:[0], ecx", "0x10087f0d"], ["0x10099a90", "pop esi", "0x10087f14"], ["0x10099a91", "pop ebx", "0x10087f15"], ["0x10099a92", "mov esp, ebp", "0x10087f16"], ["0x10099a94", "pop ebp", "0x10087f18"], ["0x10099a95", "ret 4", "0x10087f19"], ["0x10099a98", "xor ebx, ebx", "0x10087f1c"]]}, {"orig": [["0x10099a9a", "mov eax, dword ptr [ebp + 8]"]], "recomp": []}, {"both": [["0x10099a9d", "mov dword ptr [ebp - 4], 0xffffffff", "0x10087f1e"]]}, {"orig": [["0x10099aa4", "mov eax, dword ptr [eax + 8]"]], "recomp": [["0x10087f25", "mov eax, dword ptr [esi + 8]"]]}, {"both": [["0x10099aa7", "push eax", "0x10087f28"], ["0x10099aa8", "mov dword ptr [ebx + 8], eax", "0x10087f29"], ["0x10099aab", "mov edi, dword ptr [eax]", "0x10087f2c"], ["0x10099aad", "call dword ptr [edi + 4]", "0x10087f2e"]]}, {"orig": [["0x10099ab0", "lea edi, [ebp - 0x98]"]], "recomp": [["0x10087f31", "lea edi, [ebp - 0xa0]"]]}, {"both": [["0x10099ab6", "xor eax, eax", "0x10087f37"], ["0x10099ab8", "mov ecx, 0x1b", "0x10087f39"], ["0x10099abd", "rep stosd dword ptr es:[edi], eax", "0x10087f3e"]]}, {"orig": [["0x10099abf", "mov ecx, dword ptr [ebp - 0xf8]"], ["0x10099ac5", "mov eax, dword ptr [ebp - 0xfc]"], ["0x10099acb", "mov dword ptr [ebp - 0x8c], ecx"], ["0x10099ad1", "mov dword ptr [ebp - 0x90], eax"], ["0x10099ad7", "mov dword ptr [ebp - 0x98], 0x6c"], ["0x10099ae1", "mov dword ptr [ebp - 0x94], 0x1007"], ["0x10099aeb", "mov dword ptr [ebp - 0x30], 0x1800"], ["0x10099af2", "mov dword ptr [ebp - 0x50], 0x20"], ["0x10099af9", "lea esi, [ebx + 4]"]], "recomp": [["0x10087f40", "mov ecx, dword ptr [ebp - 0x100]"], ["0x10087f46", "mov eax, dword ptr [ebp - 0x104]"], ["0x10087f4c", "mov dword ptr [ebp - 0x94], ecx"], ["0x10087f52", "mov dword ptr [ebp - 0x98], eax"], ["0x10087f58", "mov dword ptr [ebp - 0xa0], 0x6c"], ["0x10087f62", "mov dword ptr [ebp - 0x9c], 0x1007"], ["0x10087f6c", "mov dword ptr [ebp - 0x38], 0x1800"], ["0x10087f73", "mov dword ptr [ebp - 0x58], 0x20"], ["0x10087f7a", "mov dword ptr [ebp - 0x54], 0x60"], ["0x10087f81", "mov dword ptr [ebp - 0x4c], 8"]]}, {"both": [["0x10099afc", "xor edi, edi", "0x10087f88"]]}, {"orig": [["0x10099afe", "mov dword ptr [ebp - 0x4c], 0x60"], ["0x10099b05", "mov dword ptr [ebp - 0x44], 8"]], "recomp": []}, {"both": [["0x10099b0c", "call VideoManager (FUNCTION)", "0x10087f8a"], ["0x10099b11", "mov eax, dword ptr [eax + 0x74]", "0x10087f8f"], ["0x10099b14", "push edi", "0x10087f92"]]}, {"orig": [["0x10099b15", "push esi"], ["0x10099b16", "lea ecx, [ebp - 0x98]"], ["0x10099b1c", "mov eax, dword ptr [eax + 0xc]"]], "recomp": [["0x10087f93", "lea edx, [ebp - 0xa0]"], ["0x10087f99", "mov ecx, dword ptr [eax + 0xc]"], ["0x10087f9c", "lea eax, [ebx + 4]"], ["0x10087f9f", "push eax"], ["0x10087fa0", "push edx"]]}, {"both": [["0x10099b1f", "push ecx", "0x10087fa1"]]}, {"orig": [["0x10099b20", "push eax"], ["0x10099b21", "mov eax, dword ptr [eax]"]], "recomp": [["0x10087fa2", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x10099b23", "call dword ptr [eax + 0x18]", "0x10087fa4"], ["0x10099b26", "test eax, eax", "0x10087fa7"]]}, {"orig": [["0x10099b28", "jne 0x16f"], ["0x10099b2e", "mov dword ptr [ebp - 0x2c], edi"], ["0x10099b31", "mov eax, dword ptr [ebp - 0x8c]"]], "recomp": [["0x10087fa9", "jne 0x173"], ["0x10087faf", "mov eax, dword ptr [ebp - 0x94]"], ["0x10087fb5", "mov dword ptr [ebp - 0x34], edi"]]}, {"both": [["0x10099b37", "dec eax", "0x10087fb8"]]}, {"orig": [["0x10099b38", "mov dword ptr [ebp - 0x28], edi"], ["0x10099b3b", "mov dword ptr [ebp - 0x24], eax"], ["0x10099b3e", "mov eax, dword ptr [ebp - 0x90]"]], "recomp": [["0x10087fb9", "mov dword ptr [ebp - 0x30], edi"], ["0x10087fbc", "mov dword ptr [ebp - 0x2c], eax"], ["0x10087fbf", "mov eax, dword ptr [ebp - 0x98]"]]}, {"both": [["0x10099b44", "dec eax", "0x10087fc5"]]}, {"orig": [["0x10099b45", "mov dword ptr [ebp - 0x20], eax"], ["0x10099b48", "mov eax, dword ptr [esi]"]], "recomp": [["0x10087fc6", "mov dword ptr [ebp - 0x28], eax"], ["0x10087fc9", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x10099b4a", "mov ecx, dword ptr [ebx + 8]", "0x10087fcc"], ["0x10099b4d", "push ecx", "0x10087fcf"], ["0x10099b4e", "push eax", "0x10087fd0"], ["0x10099b4f", "mov eax, dword ptr [eax]", "0x10087fd1"], ["0x10099b51", "call dword ptr [eax + 0x7c]", "0x10087fd3"]]}, {"orig": [["0x10099b54", "mov ecx, dword ptr [esi]"]], "recomp": [["0x10087fd6", "mov ecx, dword ptr [ebx + 4]"]]}, {"both": [["0x10099b56", "push 0x10", "0x10087fd9"]]}, {"orig": [["0x10099b58", "lea edx, [ebp - 0x2c]"], ["0x10099b5b", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x10087fdb", "lea edx, [ebp - 0x34]"], ["0x10087fde", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x10099b5e", "push edx", "0x10087fe1"]]}, {"orig": [["0x10099b5f", "mov edx, dword ptr [eax + 4]"], ["0x10099b62", "push edx"]], "recomp": [["0x10087fe2", "push eax"], ["0x10087fe3", "push edi"]]}, {"both": [["0x10099b63", "mov eax, dword ptr [ecx]", "0x10087fe4"]]}, {"orig": [["0x10099b65", "push edi"]], "recomp": []}, {"both": [["0x10099b66", "push edi", "0x10087fe6"], ["0x10099b67", "push ecx", "0x10087fe7"], ["0x10099b68", "call dword ptr [eax + 0x1c]", "0x10087fe8"], ["0x10099b6b", "test eax, eax", "0x10087feb"]]}, {"orig": [["0x10099b6d", "je 0x2c"], ["0x10099b6f", "mov eax, dword ptr [esi]"]], "recomp": [["0x10087fed", "je 0x2d"], ["0x10087fef", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x10099b71", "push eax", "0x10087ff2"], ["0x10099b72", "mov esi, dword ptr [eax]", "0x10087ff3"], ["0x10099b74", "call dword ptr [esi + 8]", "0x10087ff5"], ["0x10099b77", "mov eax, dword ptr [ebx + 8]", "0x10087ff8"], ["0x10099b7a", "push eax", "0x10087ffb"], ["0x10099b7b", "mov esi, dword ptr [eax]", "0x10087ffc"], ["0x10099b7d", "call dword ptr [esi + 8]", "0x10087ffe"], ["0x10099b80", "test ebx, ebx", "0x10088001"], ["0x10099b82", "je 0x10", "0x10088003"], ["0x10099b84", "mov ecx, ebx", "0x10088005"], ["0x10099b86", "call LegoTextureInfo::~LegoTextureInfo (FUNCTION)", "0x10088007"], ["0x10099b8b", "push ebx", "0x1008800c"], ["0x10099b8c", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008800d"], ["0x10099b91", "add esp, 4", "0x10088012"], ["0x10099b94", "xor eax, eax", "0x10088015"]]}, {"orig": [["0x10099b96", "jmp -0x116"]], "recomp": [["0x10088017", "jmp -0x113"]]}, {"both": [["0x10099b9b", "call VideoManager (FUNCTION)", "0x1008801c"], ["0x10099ba0", "mov eax, dword ptr [eax + 0x64]", "0x10088021"], ["0x10099ba3", "lea edx, [ebx + 0xc]", "0x10088024"], ["0x10099ba6", "push edx", "0x10088027"], ["0x10099ba7", "mov ecx, dword ptr [eax + 4]", "0x10088028"]]}, {"orig": [["0x10099baa", "mov eax, dword ptr [esi]"]], "recomp": [["0x1008802b", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x10099bac", "mov edi, dword ptr [ecx]", "0x1008802e"], ["0x10099bae", "push eax", "0x10088030"], ["0x10099baf", "push ecx", "0x10088031"], ["0x10099bb0", "call dword ptr [edi + 0x48]", "0x10088032"], ["0x10099bb3", "test eax, eax", "0x10088035"]]}, {"orig": [["0x10099bb5", "je 0x2c"], ["0x10099bb7", "mov eax, dword ptr [esi]"]], "recomp": [["0x10088037", "je 0x2d"], ["0x10088039", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x10099bb9", "push eax", "0x1008803c"], ["0x10099bba", "mov esi, dword ptr [eax]", "0x1008803d"], ["0x10099bbc", "call dword ptr [esi + 8]", "0x1008803f"], ["0x10099bbf", "mov eax, dword ptr [ebx + 8]", "0x10088042"], ["0x10099bc2", "push eax", "0x10088045"], ["0x10099bc3", "mov esi, dword ptr [eax]", "0x10088046"], ["0x10099bc5", "call dword ptr [esi + 8]", "0x10088048"], ["0x10099bc8", "test ebx, ebx", "0x1008804b"], ["0x10099bca", "je 0x10", "0x1008804d"], ["0x10099bcc", "mov ecx, ebx", "0x1008804f"], ["0x10099bce", "call LegoTextureInfo::~LegoTextureInfo (FUNCTION)", "0x10088051"], ["0x10099bd3", "push ebx", "0x10088056"], ["0x10099bd4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10088057"], ["0x10099bd9", "add esp, 4", "0x1008805c"], ["0x10099bdc", "xor eax, eax", "0x1008805f"]]}, {"orig": [["0x10099bde", "jmp -0x15e"]], "recomp": [["0x10088061", "jmp -0x15d"]]}, {"both": [["0x10099be3", "mov eax, dword ptr [ebx + 0xc]", "0x10088066"], ["0x10099be6", "push ebx", "0x10088069"], ["0x10099be7", "push eax", "0x1008806a"]]}, {"orig": [["0x10099be8", "mov esi, dword ptr [eax]"], ["0x10099bea", "call dword ptr [esi + 0x18]"]], "recomp": [["0x1008806b", "mov edi, dword ptr [eax]"], ["0x1008806d", "call dword ptr [edi + 0x18]"]]}, {"both": [["0x10099bed", "mov ecx, dword ptr [ebp - 0x14]", "0x10088070"]]}, {"orig": [["0x10099bf0", "mov dword ptr [ebp - 0x1c], ebx"], ["0x10099bf3", "mov eax, dword ptr [ecx + 0x1c]"]], "recomp": [["0x10088073", "mov dword ptr [ebp - 0x24], ebx"], ["0x10088076", "mov edx, dword ptr [ecx + 0x1c]"]]}, {"both": [["0x10099bf6", "push 0x10", "0x10088079"]]}, {"orig": [["0x10099bf8", "mov dword ptr [ebp - 0x10], eax"], ["0x10099bfb", "lea esi, [eax + 4]"], ["0x10099bfe", "mov dword ptr [ebp - 0x18], 1"], ["0x10099c05", "mov edi, dword ptr [esi]"]], "recomp": [["0x1008807b", "mov dword ptr [ebp - 0x18], edx"], ["0x1008807e", "lea edi, [edx + 4]"], ["0x10088081", "mov dword ptr [ebp - 0x20], 1"], ["0x10088088", "mov ecx, dword ptr [edi]"], ["0x1008808a", "mov dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x10099c07", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008808d"], ["0x10099c0c", "add esp, 4", "0x10088092"]]}, {"orig": [["0x10099c0f", "test edi, edi"], ["0x10099c11", "je 0xa"], ["0x10099c13", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10088095", "cmp dword ptr [ebp - 0x10], 0"], ["0x10088099", "je 0xd"], ["0x1008809b", "mov ecx, dword ptr [ebp - 0x18]"], ["0x1008809e", "mov edx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x10099c16", "mov dword ptr [eax], ecx", "0x100880a1"]]}, {"orig": [["0x10099c18", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x100880a3", "mov dword ptr [eax + 4], edx"]]}, {"both": [["0x10099c1b", "jmp 0x5", "0x100880a6"], ["0x10099c1d", "mov dword ptr [eax], eax", "0x100880a8"], ["0x10099c1f", "mov dword ptr [eax + 4], eax", "0x100880aa"]]}, {"orig": [["0x10099c22", "mov dword ptr [esi], eax"]], "recomp": [["0x100880ad", "mov dword ptr [edi], eax"]]}, {"both": [["0x10099c24", "mov ecx, dword ptr [eax + 4]", "0x100880af"], ["0x10099c27", "mov dword ptr [ecx], eax", "0x100880b2"], ["0x10099c29", "add eax, 8", "0x100880b4"], ["0x10099c2c", "je 0xb", "0x100880b7"]]}, {"orig": [["0x10099c2e", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x10099c31", "mov edx, dword ptr [ebp - 0x18]"]], "recomp": [["0x100880b9", "mov ecx, dword ptr [ebp - 0x24]"], ["0x100880bc", "mov edx, dword ptr [ebp - 0x20]"]]}, {"both": [["0x10099c34", "mov dword ptr [eax], ecx", "0x100880bf"], ["0x10099c36", "mov dword ptr [eax + 4], edx", "0x100880c1"], ["0x10099c39", "mov ecx, dword ptr [ebp - 0x14]", "0x100880c4"], ["0x10099c3c", "inc dword ptr [ecx + 0x20]", "0x100880c7"], ["0x10099c3f", "mov eax, dword ptr [ebx + 0xc]", "0x100880ca"], ["0x10099c42", "push eax", "0x100880cd"]]}, {"orig": [["0x10099c43", "mov esi, dword ptr [eax]"], ["0x10099c45", "call dword ptr [esi + 4]"]], "recomp": [["0x100880ce", "mov edi, dword ptr [eax]"], ["0x100880d0", "call dword ptr [edi + 4]"]]}, {"both": [["0x10099c48", "mov eax, dword ptr [ebx]", "0x100880d3"], ["0x10099c4a", "test eax, eax", "0x100880d5"], ["0x10099c4c", "je 0x9", "0x100880d7"], ["0x10099c4e", "push eax", "0x100880d9"], ["0x10099c4f", "call ??3@YAXPAX@Z (FUNCTION)", "0x100880da"], ["0x10099c54", "add esp, 4", "0x100880df"]]}, {"orig": [["0x10099c57", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x100880e2", "mov edi, dword ptr [esi]"]]}, {"both": [["0x10099c5a", "mov ecx, 0xffffffff", "0x100880e4"]]}, {"orig": [["0x10099c5f", "mov edi, dword ptr [eax]"]], "recomp": []}, {"both": [["0x10099c61", "sub eax, eax", "0x100880e9"], ["0x10099c63", "repne scasb al, byte ptr es:[edi]", "0x100880eb"], ["0x10099c65", "not ecx", "0x100880ed"], ["0x10099c67", "push ecx", "0x100880ef"], ["0x10099c68", "call ??2@YAPAXI@Z (FUNCTION)", "0x100880f0"]]}, {"orig": [["0x10099c6d", "mov dword ptr [ebx], eax"], ["0x10099c6f", "mov eax, dword ptr [ebp + 8]"]], "recomp": []}, {"both": [["0x10099c72", "add esp, 4", "0x100880f5"], ["0x10099c75", "mov ecx, 0xffffffff", "0x100880f8"]]}, {"orig": [["0x10099c7a", "mov edi, dword ptr [eax]"]], "recomp": [["0x100880fd", "mov dword ptr [ebx], eax"]]}, {"both": [["0x10099c7c", "sub eax, eax", "0x100880ff"]]}, {"orig": [], "recomp": [["0x10088101", "mov edi, dword ptr [esi]"]]}, {"both": [["0x10099c7e", "repne scasb al, byte ptr es:[edi]", "0x10088103"], ["0x10099c80", "not ecx", "0x10088105"], ["0x10099c82", "sub edi, ecx", "0x10088107"]]}, {"orig": [["0x10099c84", "mov edx, ecx"]], "recomp": [["0x10088109", "mov eax, ecx"]]}, {"both": [["0x10099c86", "shr ecx, 2", "0x1008810b"], ["0x10099c89", "mov esi, edi", "0x1008810e"], ["0x10099c8b", "mov edi, dword ptr [ebx]", "0x10088110"], ["0x10099c8d", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10088112"]]}, {"orig": [["0x10099c8f", "mov ecx, edx"]], "recomp": [["0x10088114", "mov ecx, eax"]]}, {"both": [["0x10099c91", "and ecx, 3", "0x10088116"], ["0x10099c94", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x10088119"], ["0x10099c96", "mov eax, ebx", "0x1008811b"]]}, {"orig": [["0x10099c98", "jmp -0x218"]], "recomp": [["0x1008811d", "jmp -0x219"]]}, {"both": [["0x10099c9d", "xor eax, eax", "0x10088122"]]}, {"orig": [["0x10099c9f", "jmp -0x21f"]], "recomp": [["0x10088124", "jmp -0x220"]]}, {"both": [["0x10099ca4", "mov eax, <OFFSET7>", "0x10088129"], ["0x10099ca9", "jmp ___CxxFrameHandler (FUNCTION)", "0x1008812e"], ["0x10099cae", "mov eax, dword ptr [ebp - 0x10]", "0x10088133"], ["0x10099cb1", "push eax", "0x10088136"], ["0x10099cb2", "call ??3@YAXPAX@Z (FUNCTION)", "0x10088137"], ["0x10099cb7", "add esp, 4", "0x1008813c"], ["0x10099cba", "ret ", "0x1008813f"]]}]]]}, {"address": "0x10099cc0", "recomp": "0x10088140", "name": "LegoTextureContainer::EraseCached", "matching": 1.0, "diff": []}, {"address": "0x10099d60", "recomp": "0x100881e0", "name": "LegoTreeNode::LegoTreeNode", "matching": 1.0, "diff": []}, {"address": "0x10099d80", "recomp": "0x10088200", "name": "LegoTreeNode::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10099da0", "recomp": "0x10088220", "name": "LegoTreeNode::~LegoTreeNode", "matching": 1.0, "diff": []}, {"address": "0x10099dd0", "recomp": "0x10088250", "name": "LegoTree::LegoTree", "matching": 1.0, "diff": []}, {"address": "0x10099de0", "recomp": "0x10088310", "name": "LegoTree::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x10099e00", "recomp": "0x10088330", "name": "LegoTree::~LegoTree", "matching": 1.0, "diff": []}, {"address": "0x10099e20", "recomp": "0x10088350", "name": "LegoTree::Read", "matching": 1.0, "diff": []}, {"address": "0x10099e40", "recomp": "0x10088370", "name": "LegoTree::Write", "matching": 1.0, "diff": []}, {"address": "0x10099e60", "recomp": "0x10088390", "name": "LegoTree::Read", "matching": 1.0, "diff": []}, {"address": "0x10099f70", "recomp": "0x10088260", "name": "LegoTree::CreateData", "matching": 1.0, "diff": []}, {"address": "0x10099fe0", "recomp": "0x100882d0", "name": "LegoTreeNodeData::Read", "matching": 1.0, "diff": []}, {"address": "0x10099ff0", "recomp": "0x100882e0", "name": "LegoTreeNodeData::Write", "matching": 1.0, "diff": []}, {"address": "0x1009a000", "recomp": "0x100882f0", "name": "LegoTreeNodeData::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009a020", "recomp": "0x100884a0", "name": "LegoTree::Write", "matching": 1.0, "diff": []}, {"address": "0x1009a0a0", "recomp": "0x10088520", "name": "LegoTree::Delete", "matching": 0.7586206896551724, "diff": [["@@ -0x1009a0a0,26 +0x10088520,26 @@", [{"both": [["0x1009a0a0", "push ebx", "0x10088520"], ["0x1009a0a1", "push esi", "0x10088521"], ["0x1009a0a2", "push edi", "0x10088522"]]}, {"orig": [["0x1009a0a3", "mov esi, ecx"]], "recomp": [["0x10088523", "xor esi, esi"]]}, {"both": [["0x1009a0a5", "push ebp", "0x10088525"], ["0x1009a0a6", "xor edi, edi", "0x10088526"]]}, {"orig": [["0x1009a0a8", "xor ebp, ebp"]], "recomp": [["0x10088528", "mov ebp, ecx"]]}, {"both": [["0x1009a0aa", "mov ebx, dword ptr [esp + 0x14]", "0x1008852a"]]}, {"orig": [["0x1009a0ae", "cmp dword ptr [ebx + 8], edi"]], "recomp": [["0x1008852e", "cmp dword ptr [ebx + 8], esi"]]}, {"both": [["0x1009a0b1", "jbe 0x15", "0x10088531"], ["0x1009a0b3", "mov eax, dword ptr [ebx + 0xc]", "0x10088533"]]}, {"orig": [["0x1009a0b6", "add ebp, 4"], ["0x1009a0b9", "inc edi"], ["0x1009a0ba", "mov ecx, dword ptr [eax + ebp - 4]"]], "recomp": [["0x10088536", "add edi, 4"], ["0x10088539", "inc esi"], ["0x1008853a", "mov ecx, dword ptr [eax + edi - 4]"]]}, {"both": [["0x1009a0be", "push ecx", "0x1008853e"]]}, {"orig": [["0x1009a0bf", "mov ecx, esi"]], "recomp": [["0x1008853f", "mov ecx, ebp"]]}, {"both": [["0x1009a0c1", "call LegoTree::Delete (FUNCTION)", "0x10088541"], ["0x1009a0c6", "jmp -0x1a", "0x10088546"], ["0x1009a0c8", "test ebx, ebx", "0x10088548"], ["0x1009a0ca", "je 0x8", "0x1008854a"], ["0x1009a0cc", "push 1", "0x1008854c"], ["0x1009a0ce", "mov eax, dword ptr [ebx]", "0x1008854e"], ["0x1009a0d0", "mov ecx, ebx", "0x10088550"], ["0x1009a0d2", "call dword ptr [eax]", "0x10088552"], ["0x1009a0d4", "pop ebp", "0x10088554"], ["0x1009a0d5", "pop edi", "0x10088555"]]}]]]}, {"address": "0x1009a0e0", "recomp": "0x1008de40", "name": "LegoTreeNodeData::~LegoTreeNodeData", "matching": 1.0, "diff": []}, {"address": "0x1009a0f0", "recomp": "0x100870b0", "name": "LegoUnknown::LegoUnknown", "matching": 0.625, "diff": [["@@ -0x1009a0f0,24 +0x100870b0,24 @@", [{"both": [["0x1009a0f0", "push ebx", "0x100870b0"], ["0x1009a0f1", "push esi", "0x100870b1"], ["0x1009a0f2", "push edi", "0x100870b2"]]}, {"orig": [], "recomp": [["0x100870b3", "mov ebx, ecx"], ["0x100870b5", "mov edi, ebx"]]}, {"both": [["0x1009a0f3", "mov esi, 3", "0x100870b7"]]}, {"orig": [["0x1009a0f8", "mov ebx, ecx"], ["0x1009a0fa", "mov edi, ecx"], ["0x1009a0fc", "mov ecx, ebx"], ["0x1009a0fe", "add ebx, 0x14"]], "recomp": [["0x100870bc", "mov ecx, edi"], ["0x100870be", "add edi, 0x14"]]}, {"both": [["0x1009a101", "call Mx3DPointFloat::Mx3DPointFloat (FUNCTION)", "0x100870c1"], ["0x1009a106", "dec esi", "0x100870c6"], ["0x1009a107", "jns -0xd", "0x100870c7"]]}, {"orig": [["0x1009a109", "mov ebx, edi"]], "recomp": [["0x100870c9", "mov edi, ebx"]]}, {"both": [["0x1009a10b", "mov esi, 4", "0x100870cb"]]}, {"orig": [["0x1009a110", "mov eax, dword ptr [ebx]"], ["0x1009a112", "mov ecx, ebx"], ["0x1009a114", "add ebx, 0x14"]], "recomp": [["0x100870d0", "mov eax, dword ptr [edi]"], ["0x100870d2", "mov ecx, edi"], ["0x100870d4", "add edi, 0x14"]]}, {"both": [["0x1009a117", "call dword ptr [eax + 0x2c]", "0x100870d7"], ["0x1009a11a", "dec esi", "0x100870da"], ["0x1009a11b", "jne -0xd", "0x100870db"]]}, {"orig": [["0x1009a11d", "mov eax, edi"]], "recomp": [["0x100870dd", "mov eax, ebx"]]}, {"both": [["0x1009a11f", "pop edi", "0x100870df"], ["0x1009a120", "pop esi", "0x100870e0"], ["0x1009a121", "pop ebx", "0x100870e1"], ["0x1009a122", "ret ", "0x100870e2"]]}]]]}, {"address": "0x1009a130", "recomp": "0x100870f0", "name": "LegoUnknown::~LegoUnknown", "matching": 1.0, "diff": []}, {"address": "0x1009a140", "recomp": "0x10087100", "name": "LegoUnknown::FUN_1009a140", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009a147,47 +0x10087107,47 @@", [{"both": [["0x1009a147", "mov eax, dword ptr [ecx]", "0x10087107"], ["0x1009a149", "push ebp", "0x10087109"], ["0x1009a14a", "mov edi, ecx", "0x1008710a"], ["0x1009a14c", "push esi", "0x1008710c"], ["0x1009a14d", "call dword ptr [eax + 0x88]", "0x1008710d"], ["0x1009a153", "lea ecx, [edi + 0x14]", "0x10087113"], ["0x1009a156", "mov ebx, dword ptr [esp + 0x18]", "0x10087116"], ["0x1009a15a", "push ebx", "0x1008711a"], ["0x1009a15b", "mov eax, dword ptr [ecx]", "0x1008711b"], ["0x1009a15d", "call dword ptr [eax + 0x88]", "0x1008711d"]]}, {"orig": [["0x1009a163", "xor edx, edx"], ["0x1009a165", "mov eax, dword ptr [esp + 0x1c]"], ["0x1009a169", "mov ecx, dword ptr [esp + 0x20]"]], "recomp": [["0x10087123", "xor eax, eax"], ["0x10087125", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10087129", "mov edx, dword ptr [esp + 0x20]"]]}, {"both": [["0x1009a16d", "jmp 0x4", "0x1008712d"]]}, {"orig": [["0x1009a16f", "fstp dword ptr [ebp + edx - 4]"], ["0x1009a173", "mov ebp, dword ptr [eax + 4]"], ["0x1009a176", "add edx, 4"], ["0x1009a179", "cmp edx, 0xc"], ["0x1009a17c", "fld dword ptr [ebp + edx - 4]"]], "recomp": [["0x1008712f", "fstp dword ptr [ebp + eax - 4]"], ["0x10087133", "mov ebp, dword ptr [ecx + 4]"], ["0x10087136", "add eax, 4"], ["0x10087139", "cmp eax, 0xc"], ["0x1008713c", "fld dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a180", "mov ebp, dword ptr [esi + 4]", "0x10087140"]]}, {"orig": [["0x1009a183", "fsub dword ptr [ebp + edx - 4]"]], "recomp": [["0x10087143", "fsub dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a187", "mov ebp, dword ptr [ebx + 4]", "0x10087147"], ["0x1009a18a", "fmul dword ptr [3.0 (FLOAT)]", "0x1008714a"]]}, {"orig": [["0x1009a190", "fld dword ptr [ebp + edx - 4]"]], "recomp": [["0x10087150", "fld dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a194", "fmul dword ptr [2.0 (FLOAT)]", "0x10087154"]]}, {"orig": [], "recomp": [["0x1008715a", "mov ebp, dword ptr [edx + 4]"], ["0x1008715d", "fsubp st(1)"], ["0x1008715f", "fsub dword ptr [ebp + eax - 4]"], ["0x10087163", "mov ebp, dword ptr [edi + 0x2c]"], ["0x10087166", "fstp dword ptr [ebp + eax - 4]"], ["0x1008716a", "mov ebp, dword ptr [esi + 4]"], ["0x1008716d", "fld dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a19a", "mov ebp, dword ptr [ecx + 4]", "0x10087171"]]}, {"orig": [["0x1009a19d", "fsubp st(1)"], ["0x1009a19f", "fsub dword ptr [ebp + edx - 4]"], ["0x1009a1a3", "mov ebp, dword ptr [edi + 0x2c]"], ["0x1009a1a6", "fstp dword ptr [ebp + edx - 4]"], ["0x1009a1aa", "mov ebp, dword ptr [esi + 4]"], ["0x1009a1ad", "fld dword ptr [ebp + edx - 4]"], ["0x1009a1b1", "mov ebp, dword ptr [eax + 4]"], ["0x1009a1b4", "fsub dword ptr [ebp + edx - 4]"], ["0x1009a1b8", "mov ebp, dword ptr [ecx + 4]"]], "recomp": [["0x10087174", "fsub dword ptr [ebp + eax - 4]"], ["0x10087178", "mov ebp, dword ptr [edx + 4]"]]}, {"both": [["0x1009a1bb", "fmul dword ptr [2.0 (FLOAT)]", "0x1008717b"]]}, {"orig": [["0x1009a1c1", "fadd dword ptr [ebp + edx - 4]"]], "recomp": [["0x10087181", "fadd dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a1c5", "mov ebp, dword ptr [ebx + 4]", "0x10087185"]]}, {"orig": [["0x1009a1c8", "fadd dword ptr [ebp + edx - 4]"]], "recomp": [["0x10087188", "fadd dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a1cc", "mov ebp, dword ptr [edi + 0x40]", "0x1008718c"], ["0x1009a1cf", "jl -0x62", "0x1008718f"]]}, {"orig": [["0x1009a1d1", "fstp dword ptr [ebp + edx - 4]"]], "recomp": [["0x10087191", "fstp dword ptr [ebp + eax - 4]"]]}, {"both": [["0x1009a1d5", "pop ebp", "0x10087195"], ["0x1009a1d6", "pop edi", "0x10087196"], ["0x1009a1d7", "pop esi", "0x10087197"], ["0x1009a1d8", "pop ebx", "0x10087198"], ["0x1009a1d9", "ret 0x10", "0x10087199"]]}]]]}, {"address": "0x1009a1e0", "recomp": "0x100871a0", "name": "LegoUnknown::FUN_1009a1e0", "matching": 0.91005291005291, "diff": [["@@ -0x1009a288,70 +0x10087248,70 @@", [{"both": [["0x1009a288", "lea ecx, [esp + 0x18]", "0x10087248"], ["0x1009a28c", "call dword ptr [eax + 0x48]", "0x1008724c"], ["0x1009a28f", "lea ecx, [esi + 0x3c]", "0x1008724f"], ["0x1009a292", "mov eax, dword ptr [esp + 0x14]", "0x10087252"], ["0x1009a296", "push ecx", "0x10087256"], ["0x1009a297", "lea ecx, [esp + 0x18]", "0x10087257"], ["0x1009a29b", "call dword ptr [eax + 0x48]", "0x1008725b"], ["0x1009a29e", "xor ecx, ecx", "0x1008725e"], ["0x1009a2a0", "jmp 0x4", "0x10087260"], ["0x1009a2a2", "fstp dword ptr [edx + ecx - 4]", "0x10087262"]]}, {"orig": [["0x1009a2a6", "mov eax, dword ptr [esi + 0x2c]"], ["0x1009a2a9", "mov edx, dword ptr [esi + 0x40]"]], "recomp": [["0x10087266", "mov eax, dword ptr [esi + 0x40]"], ["0x10087269", "mov edx, dword ptr [esi + 0x2c]"]]}, {"both": [["0x1009a2ac", "add ecx, 4", "0x1008726c"], ["0x1009a2af", "cmp ecx, 0xc", "0x1008726f"], ["0x1009a2b2", "fld dword ptr [eax + ecx - 4]", "0x10087272"]]}, {"orig": [], "recomp": [["0x10087276", "fmul dword ptr [3.0 (FLOAT)]"], ["0x1008727c", "fld dword ptr [edx + ecx - 4]"]]}, {"both": [["0x1009a2b6", "fmul dword ptr [2.0 (FLOAT)]", "0x10087280"]]}, {"orig": [["0x1009a2bc", "fld dword ptr [edx + ecx - 4]"], ["0x1009a2c0", "fmul dword ptr [3.0 (FLOAT)]"]], "recomp": []}, {"both": [["0x1009a2c6", "mov eax, dword ptr [esi + 0x18]", "0x10087286"], ["0x1009a2c9", "mov edx, dword ptr [esp + 0x10]", "0x10087289"], ["0x1009a2cd", "faddp st(1)", "0x1008728d"], ["0x1009a2cf", "fadd dword ptr [eax + ecx - 4]", "0x1008728f"], ["0x1009a2d3", "jl -0x33", "0x10087293"], ["0x1009a2d5", "fstp dword ptr [edx + ecx - 4]", "0x10087295"], ["0x1009a2d9", "jmp 0x8b", "0x10087299"], ["0x1009a2de", "fld dword ptr [esp + 0x34]", "0x1008729e"], ["0x1009a2e2", "fmul dword ptr [esp + 0x34]", "0x100872a2"], ["0x1009a2e6", "xor ecx, ecx", "0x100872a6"], ["0x1009a2e8", "fst dword ptr [esp + 0x24]", "0x100872a8"], ["0x1009a2ec", "fmul dword ptr [esp + 0x34]", "0x100872ac"], ["0x1009a2f0", "fstp dword ptr [esp + 4]", "0x100872b0"], ["0x1009a2f4", "jmp 0x4", "0x100872b4"], ["0x1009a2f6", "fstp dword ptr [eax + ecx - 4]", "0x100872b6"]]}, {"orig": [["0x1009a2fa", "mov eax, dword ptr [esi + 0x18]"], ["0x1009a2fd", "mov edx, dword ptr [esi + 0x40]"]], "recomp": [["0x100872ba", "mov eax, dword ptr [esi + 0x40]"], ["0x100872bd", "mov edx, dword ptr [esi + 0x2c]"]]}, {"both": [["0x1009a300", "add ecx, 4", "0x100872c0"], ["0x1009a303", "cmp ecx, 0xc", "0x100872c3"], ["0x1009a306", "fld dword ptr [eax + ecx - 4]", "0x100872c6"]]}, {"orig": [["0x1009a30a", "fmul dword ptr [esp + 0x34]"]], "recomp": [["0x100872ca", "fmul dword ptr [esp + 4]"]]}, {"both": [["0x1009a30e", "fld dword ptr [edx + ecx - 4]", "0x100872ce"]]}, {"orig": [["0x1009a312", "fmul dword ptr [esp + 4]"], ["0x1009a316", "mov eax, dword ptr [esi + 0x2c]"]], "recomp": [["0x100872d2", "fmul dword ptr [esp + 0x24]"], ["0x100872d6", "mov eax, dword ptr [esi + 0x18]"]]}, {"both": [["0x1009a319", "mov edx, dword ptr [esi + 4]", "0x100872d9"], ["0x1009a31c", "faddp st(1)", "0x100872dc"], ["0x1009a31e", "fld dword ptr [eax + ecx - 4]", "0x100872de"]]}, {"orig": [["0x1009a322", "fmul dword ptr [esp + 0x24]"]], "recomp": [["0x100872e2", "fmul dword ptr [esp + 0x34]"]]}, {"both": [["0x1009a326", "mov eax, dword ptr [esp + 0x18]", "0x100872e6"], ["0x1009a32a", "faddp st(1)", "0x100872ea"], ["0x1009a32c", "fadd dword ptr [edx + ecx - 4]", "0x100872ec"], ["0x1009a330", "fstp dword ptr [eax + ecx - 4]", "0x100872f0"]]}, {"orig": [["0x1009a334", "mov edx, dword ptr [esi + 0x2c]"], ["0x1009a337", "mov eax, dword ptr [esi + 0x40]"]], "recomp": [["0x100872f4", "mov edx, dword ptr [esi + 0x40]"], ["0x100872f7", "mov eax, dword ptr [esi + 0x2c]"]]}, {"both": [["0x1009a33a", "fld dword ptr [edx + ecx - 4]", "0x100872fa"]]}, {"orig": [], "recomp": [["0x100872fe", "fmul dword ptr [esp + 0x24]"], ["0x10087302", "mov edx, dword ptr [esi + 0x18]"], ["0x10087305", "fmul dword ptr [3.0 (FLOAT)]"], ["0x1008730b", "fld dword ptr [eax + ecx - 4]"]]}, {"both": [["0x1009a33e", "fmul dword ptr [esp + 0x34]", "0x1008730f"]]}, {"orig": [["0x1009a342", "mov edx, dword ptr [esi + 0x18]"]], "recomp": [["0x10087313", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x1009a345", "fmul dword ptr [2.0 (FLOAT)]", "0x10087317"]]}, {"orig": [["0x1009a34b", "fld dword ptr [eax + ecx - 4]"], ["0x1009a34f", "fmul dword ptr [esp + 0x24]"], ["0x1009a353", "mov eax, dword ptr [esp + 0x10]"], ["0x1009a357", "fmul dword ptr [3.0 (FLOAT)]"]], "recomp": []}, {"both": [["0x1009a35d", "faddp st(1)", "0x1008731d"], ["0x1009a35f", "fadd dword ptr [edx + ecx - 4]", "0x1008731f"], ["0x1009a363", "jl -0x6f", "0x10087323"], ["0x1009a365", "fstp dword ptr [eax + ecx - 4]", "0x10087325"], ["0x1009a369", "cmp dword ptr [esp + 0x40], 0", "0x10087329"], ["0x1009a36e", "je 0x18", "0x1008732e"], ["0x1009a370", "lea eax, [esp + 4]", "0x10087330"], ["0x1009a374", "lea ecx, [esp + 0xc]", "0x10087334"], ["0x1009a378", "mov esi, dword ptr [esp + 0xc]", "0x10087338"], ["0x1009a37c", "push eax", "0x1008733c"]]}]]]}, {"address": "0x1009a470", "recomp": "0x10088560", "name": "LegoEdge::LegoEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a4a0", "recomp": "0x10088590", "name": "LegoEdge::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009a4c0", "recomp": "0x100885b0", "name": "LegoEdge::~LegoEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a4d0", "recomp": "0x100885c0", "name": "LegoEdge::GetClockwiseEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a4f0", "recomp": "0x100885e0", "name": "LegoEdge::GetCounterclockwiseEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a510", "recomp": "0x10088600", "name": "LegoEdge::CWVertex", "matching": 1.0, "diff": []}, {"address": "0x1009a530", "recomp": "0x10088620", "name": "LegoEdge::CCWVertex", "matching": 1.0, "diff": []}, {"address": "0x1009a550", "recomp": "0x100890b0", "name": "LegoWEEdge::LegoWEEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a570", "recomp": "0x100890d0", "name": "LegoWEEdge::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009a590", "recomp": "0x100890f0", "name": "LegoWEEdge::~LegoWEEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a5b0", "recomp": "0x10089110", "name": "LegoWEEdge::VTable0x04", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009a5b5,48 +0x10089115,48 @@", [{"both": [["0x1009a5b5", "cmp byte ptr [ecx + 4], 0", "0x10089115"], ["0x1009a5b9", "jbe 0x69", "0x10089119"], ["0x1009a5bb", "mov ebx, dword ptr [ecx + 8]", "0x1008911b"], ["0x1009a5be", "xor edx, edx", "0x1008911e"], ["0x1009a5c0", "mov dl, byte ptr [ecx + 4]", "0x10089120"], ["0x1009a5c3", "lea eax, [ebx + esi*4]", "0x10089123"], ["0x1009a5c6", "sub edx, esi", "0x10089126"], ["0x1009a5c8", "mov edi, dword ptr [eax]", "0x10089128"], ["0x1009a5ca", "cmp edx, 1", "0x1008912a"], ["0x1009a5cd", "jne 0x4", "0x1008912d"]]}, {"orig": [["0x1009a5cf", "mov eax, dword ptr [ebx]"]], "recomp": [["0x1008912f", "mov edx, dword ptr [ebx]"]]}, {"both": [["0x1009a5d1", "jmp 0x3", "0x10089131"]]}, {"orig": [["0x1009a5d3", "mov eax, dword ptr [eax + 4]"], ["0x1009a5d6", "mov ebx, dword ptr [eax + 0x1c]"], ["0x1009a5d9", "mov edx, dword ptr [edi + 0x1c]"], ["0x1009a5dc", "cmp ebx, edx"]], "recomp": [["0x10089133", "mov edx, dword ptr [eax + 4]"], ["0x10089136", "mov ebx, dword ptr [edi + 0x1c]"], ["0x10089139", "mov eax, dword ptr [edx + 0x1c]"], ["0x1008913c", "cmp ebx, eax"]]}, {"both": [["0x1009a5de", "jne 0xe", "0x1008913e"], ["0x1009a5e0", "mov dword ptr [edi + 4], ecx", "0x10089140"]]}, {"orig": [["0x1009a5e3", "mov dword ptr [eax + 8], ecx"], ["0x1009a5e6", "mov dword ptr [edi + 0xc], eax"], ["0x1009a5e9", "mov dword ptr [eax + 0x18], edi"]], "recomp": [["0x10089143", "mov dword ptr [edx + 8], ecx"], ["0x10089146", "mov dword ptr [edi + 0xc], edx"], ["0x10089149", "mov dword ptr [edx + 0x18], edi"]]}, {"both": [["0x1009a5ec", "jmp 0x2c", "0x1008914c"]]}, {"orig": [["0x1009a5ee", "cmp dword ptr [eax + 0x20], edx"]], "recomp": [["0x1008914e", "cmp dword ptr [edx + 0x20], ebx"]]}, {"both": [["0x1009a5f1", "jne 0xb", "0x10089151"], ["0x1009a5f3", "mov dword ptr [edi + 4], ecx", "0x10089153"]]}, {"orig": [["0x1009a5f6", "mov dword ptr [eax + 4], ecx"], ["0x1009a5f9", "mov dword ptr [edi + 0xc], eax"]], "recomp": [["0x10089156", "mov dword ptr [edx + 4], ecx"], ["0x10089159", "mov dword ptr [edi + 0xc], edx"]]}, {"both": [["0x1009a5fc", "jmp 0x19", "0x1008915c"]]}, {"orig": [["0x1009a5fe", "cmp dword ptr [edi + 0x20], ebx"]], "recomp": [["0x1008915e", "cmp dword ptr [edi + 0x20], eax"]]}, {"both": [["0x1009a601", "mov dword ptr [edi + 8], ecx", "0x10089161"], ["0x1009a604", "jne 0xb", "0x10089164"]]}, {"orig": [["0x1009a606", "mov dword ptr [eax + 8], ecx"], ["0x1009a609", "mov dword ptr [edi + 0x14], eax"], ["0x1009a60c", "mov dword ptr [eax + 0x18], edi"]], "recomp": [["0x10089166", "mov dword ptr [edx + 8], ecx"], ["0x10089169", "mov dword ptr [edi + 0x14], edx"], ["0x1008916c", "mov dword ptr [edx + 0x18], edi"]]}, {"both": [["0x1009a60f", "jmp 0x9", "0x1008916f"]]}, {"orig": [["0x1009a611", "mov dword ptr [eax + 4], ecx"], ["0x1009a614", "mov dword ptr [edi + 0x14], eax"], ["0x1009a617", "mov dword ptr [eax + 0x10], edi"]], "recomp": [["0x10089171", "mov dword ptr [edx + 4], ecx"], ["0x10089174", "mov dword ptr [edi + 0x14], edx"], ["0x10089177", "mov dword ptr [edx + 0x10], edi"]]}, {"both": [["0x1009a61a", "inc esi", "0x1008917a"], ["0x1009a61b", "xor eax, eax", "0x1008917b"], ["0x1009a61d", "mov al, byte ptr [ecx + 4]", "0x1008917d"], ["0x1009a620", "cmp eax, esi", "0x10089180"], ["0x1009a622", "jg -0x69", "0x10089182"], ["0x1009a624", "xor eax, eax", "0x10089184"], ["0x1009a626", "pop edi", "0x10089186"], ["0x1009a627", "pop esi", "0x10089187"], ["0x1009a628", "pop ebx", "0x10089188"], ["0x1009a629", "ret ", "0x10089189"]]}]]]}, {"address": "0x1009a630", "recomp": "0x10088640", "name": "LegoUnknown100db7f4::LegoUnknown100db7f4", "matching": 1.0, "diff": []}, {"address": "0x1009a6c0", "recomp": "0x100886d0", "name": "LegoUnknown100db7f4::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009a730", "recomp": "0x10088740", "name": "LegoWEGEdge::LegoWEGEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a7e0", "recomp": "0x100887f0", "name": "LegoWEGEdge::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009a800", "recomp": "0x10088810", "name": "LegoWEGEdge::~LegoWEGEdge", "matching": 1.0, "diff": []}, {"address": "0x1009a8c0", "recomp": "0x100888d0", "name": "LegoWEGEdge::VTable0x04", "matching": 0.8652900688298918, "diff": [["@@ -0x1009a901,23 +0x10088911,23 @@", [{"both": [["0x1009a901", "mov dword ptr [ebp - 0x18], 0xfffffffe", "0x10088911"], ["0x1009a908", "xor ebx, ebx", "0x10088918"], ["0x1009a90a", "mov bl, byte ptr [esi + 4]", "0x1008891a"], ["0x1009a90d", "lea eax, [ebx + ebx*2]", "0x1008891d"], ["0x1009a910", "shl eax, 3", "0x10088920"], ["0x1009a913", "push eax", "0x10088923"], ["0x1009a914", "call ??2@YAPAXI@Z (FUNCTION)", "0x10088924"], ["0x1009a919", "add esp, 4", "0x10088929"], ["0x1009a91c", "mov dword ptr [ebp - 0x10], eax", "0x1008892c"], ["0x1009a91f", "mov dword ptr [ebp - 4], 0", "0x1008892f"]]}, {"orig": [["0x1009a926", "test eax, eax"], ["0x1009a928", "je 0x17"], ["0x1009a92a", "mov edi, eax"]], "recomp": [["0x10088936", "cmp dword ptr [ebp - 0x10], 0"], ["0x1008893a", "je 0x18"], ["0x1008893c", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1009a92c", "dec ebx", "0x1008893f"], ["0x1009a92d", "js 0xd", "0x10088940"], ["0x1009a92f", "mov ecx, edi", "0x10088942"], ["0x1009a931", "add edi, 0x18", "0x10088944"], ["0x1009a934", "call Mx4DPointFloat::Mx4DPointFloat (FUNCTION)", "0x10088947"], ["0x1009a939", "dec ebx", "0x1008894c"], ["0x1009a93a", "jns -0xd", "0x1008894d"], ["0x1009a93c", "mov eax, dword ptr [ebp - 0x10]", "0x1008894f"], ["0x1009a93f", "jmp 0x2", "0x10088952"], ["0x1009a941", "xor eax, eax", "0x10088954"]]}]], ["@@ -0x1009aa6a,75 +0x10088a7d,74 @@", [{"both": [["0x1009aa6a", "xor eax, eax", "0x10088a7d"], ["0x1009aa6c", "mov al, byte ptr [esi + 4]", "0x10088a7f"], ["0x1009aa6f", "inc dword ptr [ebp - 0x14]", "0x10088a82"], ["0x1009aa72", "cmp eax, dword ptr [ebp - 0x14]", "0x10088a85"], ["0x1009aa75", "jg -0xc2", "0x10088a88"], ["0x1009aa7b", "fld dword ptr [esi + 0x44]", "0x10088a8e"], ["0x1009aa7e", "fsqrt ", "0x10088a91"], ["0x1009aa80", "cmp byte ptr [esi + 4], 0", "0x10088a93"], ["0x1009aa84", "mov dword ptr [ebp - 0x14], 0", "0x10088a97"], ["0x1009aa8b", "fstp dword ptr [esi + 0x44]", "0x10088a9e"]]}, {"orig": [["0x1009aa8e", "jbe 0x187"]], "recomp": [["0x10088aa1", "jbe 0x18e"], ["0x10088aa7", "mov dword ptr [ebp - 0x10], 0"]]}, {"both": [["0x1009aa94", "xor edi, edi", "0x10088aae"]]}, {"orig": [["0x1009aa96", "mov dword ptr [ebp - 0x1c], edi"]], "recomp": []}, {"both": [["0x1009aa99", "mov eax, dword ptr [esi + 0x30]", "0x10088ab0"], ["0x1009aa9c", "mov ecx, dword ptr [eax + 0x38]", "0x10088ab3"], ["0x1009aa9f", "mov dword ptr [ebp - 0x60], ecx", "0x10088ab6"]]}, {"orig": [["0x1009aaa2", "mov eax, dword ptr [esi + 8]"]], "recomp": [["0x10088ab9", "mov ecx, dword ptr [esi + 8]"], ["0x10088abc", "mov ebx, dword ptr [ecx + edi]"], ["0x10088abf", "lea eax, [ebx + 0x28]"], ["0x10088ac2", "mov dword ptr [ebp - 0x1c], eax"], ["0x10088ac5", "test dword ptr [ebx + 0x3c], 0x7fffffff"], ["0x10088acc", "jne 0x63"], ["0x10088ace", "mov ecx, dword ptr [edi + ecx]"], ["0x10088ad1", "mov edx, dword ptr [eax]"], ["0x10088ad3", "mov dword ptr [ebp - 0x38], edx"], ["0x10088ad6", "mov ecx, dword ptr [ecx + 0x20]"], ["0x10088ad9", "mov eax, dword ptr [ecx + 4]"]]}, {"both": [["0x1009aaa5", "mov ecx, dword ptr [ebp - 0x1c]", "0x10088adc"]]}, {"orig": [["0x1009aaa8", "mov ebx, dword ptr [eax + ecx]"], ["0x1009aaab", "test dword ptr [ebx + 0x3c], 0x7fffffff"], ["0x1009aab2", "lea eax, [ebx + 0x28]"], ["0x1009aab5", "mov dword ptr [ebp - 0x10], eax"], ["0x1009aab8", "jne 0x66"], ["0x1009aaba", "mov ecx, dword ptr [eax]"], ["0x1009aabc", "mov dword ptr [ebp - 0x38], ecx"], ["0x1009aabf", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1009aac2", "mov edx, dword ptr [ebx + 0x20]"], ["0x1009aac5", "mov eax, dword ptr [edx + 4]"]], "recomp": [["0x10088adf", "push eax"], ["0x10088ae0", "call dword ptr [edx + 0x20]"], ["0x10088ae3", "mov ecx, dword ptr [esi + 8]"], ["0x10088ae6", "mov edx, dword ptr [ecx + edi]"], ["0x10088ae9", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x10088aec", "mov eax, dword ptr [edx + 0x1c]"]]}, {"both": [["0x1009aac8", "push eax", "0x10088aef"], ["0x1009aac9", "mov eax, dword ptr [ebp - 0x38]", "0x10088af0"]]}, {"orig": [["0x1009aacc", "call dword ptr [eax + 0x20]"], ["0x1009aacf", "mov edx, dword ptr [esi + 8]"]], "recomp": [["0x10088af3", "call dword ptr [eax + 0x54]"]]}, {"both": [["0x1009aad2", "mov ecx, dword ptr [ebp - 0x1c]", "0x10088af6"]]}, {"orig": [["0x1009aad5", "mov eax, dword ptr [edx + ecx]"], ["0x1009aad8", "mov ecx, dword ptr [ebp - 0x10]"], ["0x1009aadb", "mov edx, dword ptr [eax + 0x1c]"], ["0x1009aade", "mov eax, dword ptr [ebp - 0x38]"], ["0x1009aae1", "push edx"], ["0x1009aae2", "call dword ptr [eax + 0x54]"], ["0x1009aae5", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x1009aae8", "mov eax, dword ptr [ebp - 0x38]", "0x10088af9"], ["0x1009aaeb", "call dword ptr [eax + 0x40]", "0x10088afc"], ["0x1009aaee", "fcom dword ptr [0.0 (FLOAT)]", "0x10088aff"], ["0x1009aaf4", "fstp dword ptr [ebx + 0x3c]", "0x10088b05"], ["0x1009aaf7", "fnstsw ax", "0x10088b08"], ["0x1009aaf9", "test ah, 0x41", "0x10088b0a"], ["0x1009aafc", "je 0xd", "0x10088b0d"], ["0x1009aafe", "cmp dword ptr [ebp - 0x18], 0", "0x10088b0f"], ["0x1009ab02", "jne 0x7", "0x10088b13"], ["0x1009ab04", "mov dword ptr [ebp - 0x18], 0xffffffff", "0x10088b15"], ["0x1009ab0b", "fld dword ptr [ebx + 0x3c]", "0x10088b1c"], ["0x1009ab0e", "fsqrt ", "0x10088b1f"], ["0x1009ab10", "lea eax, [ebx + 0x3c]", "0x10088b21"], ["0x1009ab13", "push eax", "0x10088b24"], ["0x1009ab14", "fstp dword ptr [ebx + 0x3c]", "0x10088b25"]]}, {"orig": [], "recomp": [["0x10088b28", "mov ecx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1009ab17", "mov eax, dword ptr [ebp - 0x38]", "0x10088b2b"]]}, {"orig": [["0x1009ab1a", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x1009ab1d", "call dword ptr [eax + 0x68]", "0x10088b2e"], ["0x1009ab20", "lea eax, [ebp - 0x7c]", "0x10088b31"]]}, {"orig": [["0x1009ab23", "mov ecx, dword ptr [esi + 0x2c]"]], "recomp": [["0x10088b34", "mov edx, dword ptr [esi + 0x2c]"]]}, {"both": [["0x1009ab26", "mov dword ptr [ebp - 0x84], Mx3DPointFloat::`vftable' (VTABLE)", "0x10088b37"]]}, {"orig": [], "recomp": [["0x10088b41", "mov ecx, dword ptr [ebp - 0x10]"]]}, {"both": [["0x1009ab30", "mov dword ptr [ebp - 0x80], eax", "0x10088b44"]]}, {"orig": [["0x1009ab33", "mov edx, dword ptr [ecx + edi + 4]"]], "recomp": [["0x10088b47", "mov eax, dword ptr [edx + ecx + 4]"]]}, {"both": [["0x1009ab37", "mov dword ptr [ebp - 0x34], Vector3::`vftable' (VTABLE)", "0x10088b4b"]]}, {"orig": [["0x1009ab3e", "mov dword ptr [ebp - 0x30], edx"]], "recomp": [["0x10088b52", "mov dword ptr [ebp - 0x30], eax"]]}, {"both": [["0x1009ab41", "mov eax, dword ptr [ebx + 0x2c]", "0x10088b55"], ["0x1009ab44", "cmp dword ptr [ebx + 4], esi", "0x10088b58"], ["0x1009ab47", "jne 0x25", "0x10088b5b"], ["0x1009ab49", "fld dword ptr [eax]", "0x10088b5d"], ["0x1009ab4b", "fchs ", "0x10088b5f"], ["0x1009ab4d", "fstp dword ptr [ebp - 0x7c]", "0x10088b61"], ["0x1009ab50", "mov eax, dword ptr [ebx + 0x2c]", "0x10088b64"], ["0x1009ab53", "mov ecx, dword ptr [ebp - 0x80]", "0x10088b67"], ["0x1009ab56", "fld dword ptr [eax + 4]", "0x10088b6a"], ["0x1009ab59", "fchs ", "0x10088b6d"]]}]], ["@@ -0x1009ab6e,68 +0x10088b82,70 @@", [{"both": [["0x1009ab6e", "push eax", "0x10088b82"], ["0x1009ab6f", "lea ecx, [ebp - 0x84]", "0x10088b83"], ["0x1009ab75", "call dword ptr [->Vector3::EqualsImpl (FUNCTION)]", "0x10088b89"], ["0x1009ab7b", "mov eax, dword ptr [esi + 0x18]", "0x10088b8f"], ["0x1009ab7e", "mov ecx, dword ptr [ebp - 0x80]", "0x10088b92"], ["0x1009ab81", "push eax", "0x10088b95"], ["0x1009ab82", "push ecx", "0x10088b96"], ["0x1009ab83", "lea ecx, [ebp - 0x34]", "0x10088b97"], ["0x1009ab86", "mov eax, dword ptr [ebp - 0x34]", "0x10088b9a"], ["0x1009ab89", "call dword ptr [eax + 0x74]", "0x10088b9d"]]}, {"orig": [["0x1009ab8c", "mov ecx, dword ptr [esi + 0x2c]"], ["0x1009ab8f", "mov eax, dword ptr [esi + 8]"], ["0x1009ab92", "mov edx, dword ptr [ecx + edi + 4]"], ["0x1009ab96", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x1009ab99", "mov dword ptr [ebp - 0x10], edx"], ["0x1009ab9c", "mov edx, dword ptr [eax + ecx]"], ["0x1009ab9f", "mov eax, dword ptr [ebp - 0x30]"], ["0x1009aba2", "mov ecx, dword ptr [edx + 0x1c]"]], "recomp": [["0x10088ba0", "mov edx, dword ptr [esi + 0x2c]"], ["0x10088ba3", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10088ba6", "mov eax, dword ptr [edx + ecx + 4]"], ["0x10088baa", "mov edx, dword ptr [esi + 8]"], ["0x10088bad", "mov dword ptr [ebp - 0x1c], eax"], ["0x10088bb0", "mov ecx, dword ptr [ebp - 0x30]"], ["0x10088bb3", "mov eax, dword ptr [edx + edi]"], ["0x10088bb6", "push ecx"], ["0x10088bb7", "lea ecx, [ebp - 0x34]"], ["0x10088bba", "mov edx, dword ptr [eax + 0x1c]"], ["0x10088bbd", "mov eax, dword ptr [edx + 4]"]]}, {"both": [["0x1009aba5", "push eax", "0x10088bc0"]]}, {"orig": [["0x1009aba6", "mov edx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x1009aba9", "mov eax, dword ptr [ebp - 0x34]", "0x10088bc1"]]}, {"orig": [["0x1009abac", "push edx"], ["0x1009abad", "lea ecx, [ebp - 0x34]"]], "recomp": []}, {"both": [["0x1009abb0", "call dword ptr [eax + 0x18]", "0x10088bc4"], ["0x1009abb3", "fchs ", "0x10088bc7"]]}, {"orig": [["0x1009abb5", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10088bc9", "mov ecx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x1009abb8", "lea edx, [ebp - 0x34]", "0x10088bcc"], ["0x1009abbb", "push edx", "0x10088bcf"], ["0x1009abbc", "lea eax, [esi + 0x30]", "0x10088bd0"], ["0x1009abbf", "fstp dword ptr [ecx + 0xc]", "0x10088bd3"], ["0x1009abc2", "push eax", "0x10088bd6"], ["0x1009abc3", "mov ecx, eax", "0x10088bd7"], ["0x1009abc5", "call dword ptr [ebp - 0x60]", "0x10088bd9"]]}, {"orig": [["0x1009abc8", "mov ecx, dword ptr [esi + 0x2c]"], ["0x1009abcb", "mov edx, dword ptr [ecx + edi + 4]"], ["0x1009abcf", "fadd dword ptr [edx + 0xc]"]], "recomp": [["0x10088bdc", "mov edx, dword ptr [esi + 0x2c]"], ["0x10088bdf", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10088be2", "mov eax, dword ptr [edx + ecx + 4]"], ["0x10088be6", "fadd dword ptr [eax + 0xc]"]]}, {"both": [["0x1009abd2", "fcomp dword ptr [0.0 (FLOAT)]", "0x10088be9"], ["0x1009abd8", "fnstsw ax", "0x10088bef"], ["0x1009abda", "test ah, 1", "0x10088bf1"]]}, {"orig": [["0x1009abdd", "je 0x12"], ["0x1009abdf", "add ecx, edi"], ["0x1009abe1", "lea edx, [ebp - 0x4c]"]], "recomp": [["0x10088bf4", "je 0x15"]]}, {"both": [["0x1009abe4", "mov dword ptr [ebp - 0x4c], 0xbf800000", "0x10088bf6"]]}, {"orig": [["0x1009abeb", "push edx"]], "recomp": [["0x10088bfd", "mov ecx, dword ptr [ebp - 0x10]"], ["0x10088c00", "lea eax, [ebp - 0x4c]"], ["0x10088c03", "add ecx, edx"], ["0x10088c05", "push eax"]]}, {"both": [["0x1009abec", "mov eax, dword ptr [ecx]", "0x10088c06"], ["0x1009abee", "call dword ptr [eax + 0x5c]", "0x10088c08"], ["0x1009abf1", "cmp dword ptr [ebx + 4], 0", "0x10088c0b"], ["0x1009abf5", "je 0xc", "0x10088c0f"], ["0x1009abf7", "cmp dword ptr [ebx + 8], 0", "0x10088c11"], ["0x1009abfb", "je 0x6", "0x10088c15"], ["0x1009abfd", "mov word ptr [ebx + 0x24], 3", "0x10088c17"]]}, {"orig": [["0x1009ac03", "add edi, 0x18"]], "recomp": [["0x10088c1d", "add edi, 4"]]}, {"both": [["0x1009ac06", "xor eax, eax", "0x10088c20"], ["0x1009ac08", "mov al, byte ptr [esi + 4]", "0x10088c22"], ["0x1009ac0b", "inc dword ptr [ebp - 0x14]", "0x10088c25"]]}, {"orig": [["0x1009ac0e", "add dword ptr [ebp - 0x1c], 4"]], "recomp": [["0x10088c28", "add dword ptr [ebp - 0x10], 0x18"]]}, {"both": [["0x1009ac12", "cmp eax, dword ptr [ebp - 0x14]", "0x10088c2c"]]}, {"orig": [["0x1009ac15", "jg -0x179"]], "recomp": [["0x10088c2f", "jg -0x17c"]]}, {"both": [["0x1009ac1b", "cmp byte ptr [esi + 0x48], 0", "0x10088c35"], ["0x1009ac1f", "jbe 0x230", "0x10088c39"], ["0x1009ac25", "push esi", "0x10088c3f"], ["0x1009ac26", "mov eax, dword ptr [esi + 8]", "0x10088c40"], ["0x1009ac29", "mov ecx, dword ptr [eax]", "0x10088c43"], ["0x1009ac2b", "call LegoEdge::CCWVertex (FUNCTION)", "0x10088c45"], ["0x1009ac30", "mov ebx, eax", "0x10088c4a"], ["0x1009ac32", "push esi", "0x10088c4c"], ["0x1009ac33", "mov eax, dword ptr [esi + 8]", "0x10088c4d"], ["0x1009ac36", "mov ecx, dword ptr [eax + 4]", "0x10088c50"]]}]], ["@@ -0x1009ad26,51 +0x10088d40,51 @@", [{"both": [["0x1009ad26", "push ebx", "0x10088d40"], ["0x1009ad27", "mov eax, dword ptr [edx]", "0x10088d41"], ["0x1009ad29", "mov dword ptr [ecx], eax", "0x10088d43"], ["0x1009ad2b", "mov edi, dword ptr [edx + 4]", "0x10088d45"], ["0x1009ad2e", "mov dword ptr [ecx + 4], edi", "0x10088d48"], ["0x1009ad31", "mov edx, dword ptr [edx + 8]", "0x10088d4b"], ["0x1009ad34", "mov dword ptr [ecx + 8], edx", "0x10088d4e"], ["0x1009ad37", "lea ecx, [ebp - 0x48]", "0x10088d51"], ["0x1009ad3a", "mov eax, dword ptr [ebp - 0x48]", "0x10088d54"], ["0x1009ad3d", "call dword ptr [eax + 0x54]", "0x10088d57"]]}, {"orig": [], "recomp": [["0x10088d5a", "mov edx, dword ptr [ebp - 0x44]"]]}, {"both": [["0x1009ad40", "mov ecx, dword ptr [ebp - 0x44]", "0x10088d5d"]]}, {"orig": [], "recomp": [["0x10088d60", "add edx, 8"], ["0x10088d63", "add ecx, 4"]]}, {"both": [["0x1009ad43", "mov eax, dword ptr [ebp - 0x44]", "0x10088d66"]]}, {"orig": [["0x1009ad46", "add ecx, 8"], ["0x1009ad49", "add eax, 4"], ["0x1009ad4c", "fld dword ptr [ecx]"], ["0x1009ad4e", "fmul dword ptr [ecx]"]], "recomp": []}, {"both": [["0x1009ad50", "fld dword ptr [eax]", "0x10088d69"], ["0x1009ad52", "fmul dword ptr [eax]", "0x10088d6b"]]}, {"orig": [["0x1009ad54", "mov ecx, dword ptr [ebp - 0x44]"]], "recomp": [["0x10088d6d", "fld dword ptr [edx]"], ["0x10088d6f", "fmul dword ptr [edx]"]]}, {"both": [["0x1009ad57", "faddp st(1)", "0x10088d71"], ["0x1009ad59", "fld dword ptr [ecx]", "0x10088d73"], ["0x1009ad5b", "fmul dword ptr [ecx]", "0x10088d75"], ["0x1009ad5d", "faddp st(1)", "0x10088d77"], ["0x1009ad5f", "fsqrt ", "0x10088d79"], ["0x1009ad61", "fstp dword ptr [ebp - 0x14]", "0x10088d7b"], ["0x1009ad64", "push ebx", "0x10088d7e"], ["0x1009ad65", "lea ecx, [ebp - 0x70]", "0x10088d7f"]]}, {"orig": [["0x1009ad68", "mov eax, dword ptr [ebp - 0x70]"], ["0x1009ad6b", "call dword ptr [eax + 0x54]"]], "recomp": [["0x10088d82", "mov edi, dword ptr [ebp - 0x70]"], ["0x10088d85", "call dword ptr [edi + 0x54]"]]}, {"both": [["0x1009ad6e", "push ebx", "0x10088d88"], ["0x1009ad6f", "lea ecx, [ebp - 0x5c]", "0x10088d89"], ["0x1009ad72", "mov ebx, dword ptr [ebp - 0x5c]", "0x10088d8c"], ["0x1009ad75", "call dword ptr [ebx + 0x54]", "0x10088d8f"]]}, {"orig": [["0x1009ad78", "mov ecx, dword ptr [ebp - 0x6c]"], ["0x1009ad7b", "mov eax, dword ptr [esi + 0x50]"], ["0x1009ad7e", "push ecx"], ["0x1009ad7f", "mov ebx, dword ptr [ebp - 0x70]"], ["0x1009ad82", "mov edx, dword ptr [eax + 4]"]], "recomp": [["0x10088d92", "mov eax, dword ptr [ebp - 0x6c]"], ["0x10088d95", "mov ecx, dword ptr [esi + 0x50]"], ["0x10088d98", "push eax"], ["0x10088d99", "mov edi, dword ptr [ebp - 0x70]"], ["0x10088d9c", "mov edx, dword ptr [ecx + 4]"]]}, {"both": [["0x1009ad85", "lea ecx, [ebp - 0x70]", "0x10088d9f"], ["0x1009ad88", "push edx", "0x10088da2"]]}, {"orig": [["0x1009ad89", "call dword ptr [ebx + 0x18]"]], "recomp": [["0x10088da3", "call dword ptr [edi + 0x18]"]]}, {"both": [["0x1009ad8c", "fcom dword ptr [0.0 (FLOAT)]", "0x10088da6"], ["0x1009ad92", "fstp dword ptr [ebp - 0x1c]", "0x10088dac"], ["0x1009ad95", "fnstsw ax", "0x10088daf"], ["0x1009ad97", "test ah, 0x41", "0x10088db1"], ["0x1009ad9a", "jne 0x6", "0x10088db4"], ["0x1009ad9c", "mov eax, dword ptr [ebp - 0x1c]", "0x10088db6"], ["0x1009ad9f", "mov dword ptr [ebp - 0x10], eax", "0x10088db9"], ["0x1009ada2", "mov eax, dword ptr [ebp - 0x58]", "0x10088dbc"], ["0x1009ada5", "mov ecx, dword ptr [esi + 0x50]", "0x10088dbf"], ["0x1009ada8", "push eax", "0x10088dc2"]]}]], ["@@ -0x1009adaf,25 +0x10088dc9,25 @@", [{"both": [["0x1009adaf", "push edx", "0x10088dc9"], ["0x1009adb0", "lea ecx, [ebp - 0x5c]", "0x10088dca"], ["0x1009adb3", "call dword ptr [eax + 0x18]", "0x10088dcd"], ["0x1009adb6", "fcom dword ptr [ebp - 0x14]", "0x10088dd0"], ["0x1009adb9", "fstp dword ptr [ebp - 0x1c]", "0x10088dd3"], ["0x1009adbc", "fnstsw ax", "0x10088dd6"], ["0x1009adbe", "test ah, 1", "0x10088dd8"], ["0x1009adc1", "je 0x6", "0x10088ddb"], ["0x1009adc3", "mov eax, dword ptr [ebp - 0x1c]", "0x10088ddd"], ["0x1009adc6", "mov dword ptr [ebp - 0x14], eax", "0x10088de0"]]}, {"orig": [["0x1009adc9", "fld dword ptr [ebp - 0x10]"], ["0x1009adcc", "fcomp dword ptr [ebp - 0x14]"]], "recomp": [["0x10088de3", "fld dword ptr [ebp - 0x14]"], ["0x10088de6", "fcomp dword ptr [ebp - 0x10]"]]}, {"both": [["0x1009adcf", "fnstsw ax", "0x10088de9"]]}, {"orig": [["0x1009add1", "test ah, 0x41"], ["0x1009add4", "jne 0x7"]], "recomp": [["0x10088deb", "test ah, 1"], ["0x10088dee", "je 0x7"]]}, {"both": [["0x1009add6", "mov dword ptr [ebp - 0x18], 0xfffffffd", "0x10088df0"], ["0x1009addd", "fld dword ptr [ebp - 0x14]", "0x10088df7"], ["0x1009ade0", "fsub dword ptr [ebp - 0x10]", "0x10088dfa"], ["0x1009ade3", "fcomp qword ptr [0.0025 (FLOAT)]", "0x10088dfd"], ["0x1009ade9", "fnstsw ax", "0x10088e03"], ["0x1009adeb", "test ah, 1", "0x10088e05"], ["0x1009adee", "je 0x7", "0x10088e08"], ["0x1009adf0", "mov dword ptr [ebp - 0x18], 0xfffffffc", "0x10088e0a"], ["0x1009adf7", "fld dword ptr [ebp - 0x10]", "0x10088e11"], ["0x1009adfa", "fadd qword ptr [0.001 (FLOAT)]", "0x10088e14"]]}]]]}, {"address": "0x1009aea0", "recomp": "0x10088eb0", "name": "LegoWEGEdge::FUN_1009aea0", "matching": 0.9883720930232558, "diff": [["@@ -0x1009af83,22 +0x10088f93,22 @@", [{"both": [["0x1009af83", "call dword ptr [eax + 0x54]", "0x10088f93"], ["0x1009af86", "mov ecx, dword ptr [esp + 0x2c]", "0x10088f96"], ["0x1009af8a", "mov edx, dword ptr [esp + 0x48]", "0x10088f9a"], ["0x1009af8e", "mov eax, dword ptr [esp + 0x14]", "0x10088f9e"], ["0x1009af92", "push ecx", "0x10088fa2"], ["0x1009af93", "lea ecx, [esp + 0x18]", "0x10088fa3"], ["0x1009af97", "push edx", "0x10088fa7"], ["0x1009af98", "call dword ptr [eax + 0x74]", "0x10088fa8"], ["0x1009af9b", "mov ecx, dword ptr [esp + 0x18]", "0x10088fab"], ["0x1009af9f", "mov eax, dword ptr [esp + 0x18]", "0x10088faf"]]}, {"orig": [["0x1009afa3", "add ecx, 4"], ["0x1009afa6", "add eax, 8"]], "recomp": [["0x10088fb3", "add ecx, 8"], ["0x10088fb6", "add eax, 4"]]}, {"both": [["0x1009afa9", "mov edx, dword ptr [esp + 0x18]", "0x10088fb9"], ["0x1009afad", "fld dword ptr [edx]", "0x10088fbd"], ["0x1009afaf", "fmul dword ptr [edx]", "0x10088fbf"], ["0x1009afb1", "fld dword ptr [ecx]", "0x10088fc1"], ["0x1009afb3", "fmul dword ptr [ecx]", "0x10088fc3"], ["0x1009afb5", "faddp st(1)", "0x10088fc5"], ["0x1009afb7", "fld dword ptr [eax]", "0x10088fc7"], ["0x1009afb9", "fmul dword ptr [eax]", "0x10088fc9"], ["0x1009afbb", "faddp st(1)", "0x10088fcb"], ["0x1009afbd", "fcom dword ptr [9.999999747378752e-06 (FLOAT)]", "0x10088fcd"]]}]]]}, {"address": "0x1009b0a0", "recomp": "0x10089190", "name": "MxDirect3D::MxDirect3D", "matching": 1.0, "diff": []}, {"address": "0x1009b120", "recomp": "0x10089210", "name": "MxDirect3D::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009b140", "recomp": "0x10089230", "name": "MxDirect3D::~MxDirect3D", "matching": 1.0, "diff": []}, {"address": "0x1009b1a0", "recomp": "0x10089290", "name": "MxDirect3D::Create", "matching": 1.0, "diff": []}, {"address": "0x1009b210", "recomp": "0x10089300", "name": "MxDirect3D::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1009b290", "recomp": "0x10089380", "name": "MxDirect3D::DestroyButNotDirectDraw", "matching": 1.0, "diff": []}, {"address": "0x1009b2d0", "recomp": "0x100893c0", "name": "MxDirect3D::D3DCreate", "matching": 0.9523809523809523, "diff": [["@@ -0x1009b2d0,16 +0x100893c0,16 @@", [{"both": [["0x1009b2d0", "push esi", "0x100893c0"], ["0x1009b2d1", "mov eax, dword ptr [ecx + 0xc]", "0x100893c1"], ["0x1009b2d4", "mov esi, ecx", "0x100893c4"], ["0x1009b2d6", "lea ecx, [ecx + 0x884]", "0x100893c6"], ["0x1009b2dc", "push ecx", "0x100893cc"]]}, {"orig": [["0x1009b2dd", "push <OFFSET1>"]], "recomp": [["0x100893cd", "push IID_IDirect3D2 (DATA)"]]}, {"both": [["0x1009b2e2", "push eax", "0x100893d2"], ["0x1009b2e3", "mov eax, dword ptr [eax]", "0x100893d3"], ["0x1009b2e5", "call dword ptr [eax]", "0x100893d5"], ["0x1009b2e7", "test eax, eax", "0x100893d7"], ["0x1009b2e9", "je 0x11", "0x100893d9"], ["0x1009b2eb", "push eax", "0x100893db"], ["0x1009b2ec", "mov ecx, esi", "0x100893dc"], ["0x1009b2ee", "push 'Creation of IDirect3D failed' (STRING)", "0x100893de"], ["0x1009b2f3", "call MxDirectDraw::Error (FUNCTION)", "0x100893e3"], ["0x1009b2f8", "xor eax, eax", "0x100893e8"]]}]]]}, {"address": "0x1009b310", "recomp": "0x10089400", "name": "MxDirect3D::D3DSetMode", "matching": 0.9906103286384976, "diff": [["@@ -0x1009b491,23 +0x10089581,23 @@", [{"both": [["0x1009b491", "mov dword ptr [esp + 0x34], 0x6c", "0x10089581"], ["0x1009b499", "mov eax, dword ptr [ecx]", "0x10089589"], ["0x1009b49b", "push edx", "0x1008958b"], ["0x1009b49c", "mov dword ptr [esp + 0x24], eax", "0x1008958c"], ["0x1009b4a0", "push 0", "0x10089590"], ["0x1009b4a2", "push ecx", "0x10089592"], ["0x1009b4a3", "call dword ptr [eax + 0x64]", "0x10089593"], ["0x1009b4a6", "test eax, eax", "0x10089596"], ["0x1009b4a8", "jne 0x4d", "0x10089598"], ["0x1009b4aa", "mov edx, dword ptr [esp + 0x50]", "0x1008959a"]]}, {"orig": [], "recomp": [["0x1008959e", "mov dword ptr [esp + 0x28], ebx"]]}, {"both": [["0x1009b4ae", "test ebx, ebx", "0x100895a2"]]}, {"orig": [["0x1009b4b0", "jle 0x2f"], ["0x1009b4b2", "mov dword ptr [esp + 0x28], ebx"]], "recomp": [["0x100895a4", "jle 0x2b"]]}, {"both": [["0x1009b4b6", "mov ebp, dword ptr [esp + 0x80]", "0x100895a6"], ["0x1009b4bd", "mov edi, edx", "0x100895ad"], ["0x1009b4bf", "imul ebp, dword ptr [esp + 0x1c]", "0x100895af"], ["0x1009b4c4", "shr ebp, 3", "0x100895b4"], ["0x1009b4c7", "xor eax, eax", "0x100895b7"], ["0x1009b4c9", "mov ecx, ebp", "0x100895b9"], ["0x1009b4cb", "shr ecx, 2", "0x100895bb"], ["0x1009b4ce", "rep stosd dword ptr es:[edi], eax", "0x100895be"], ["0x1009b4d0", "mov ecx, ebp", "0x100895c0"], ["0x1009b4d2", "and ecx, 3", "0x100895c2"]]}]]]}, {"address": "0x1009b5a0", "recomp": "0x10089690", "name": "MxDirect3D::ZBufferDepth", "matching": 1.0, "diff": []}, {"address": "0x1009b5f0", "recomp": "0x100896e0", "name": "MxDirect3D::SetDevice", "matching": 0.944578313253012, "diff": [["@@ -0x1009b66b,25 +0x1008975b,25 @@", [{"both": [["0x1009b66b", "mov ebx, eax", "0x1008975b"], ["0x1009b66d", "mov eax, dword ptr [ebp + 8]", "0x1008975d"], ["0x1009b670", "mov dword ptr [ebp - 0x24], 0", "0x10089760"], ["0x1009b677", "mov ecx, dword ptr [eax + 8]", "0x10089767"], ["0x1009b67a", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008976a"], ["0x1009b681", "mov edx, dword ptr [ecx]", "0x10089771"], ["0x1009b683", "mov dword ptr [ebp - 0x20], edx", "0x10089773"], ["0x1009b686", "mov ecx, dword ptr [ebp - 0x20]", "0x10089776"], ["0x1009b689", "mov eax, dword ptr [ebp + 8]", "0x10089779"], ["0x1009b68c", "cmp dword ptr [eax + 8], ecx", "0x1008977c"]]}, {"orig": [["0x1009b68f", "je 0x1b5"]], "recomp": [["0x1008977f", "je 0x1b3"]]}, {"both": [["0x1009b695", "lea eax, [ecx + 8]", "0x10089785"], ["0x1009b698", "mov dword ptr [ebp - 0x10], eax", "0x10089788"], ["0x1009b69b", "cmp eax, dword ptr [ebp + 0xc]", "0x1008978b"]]}, {"orig": [["0x1009b69e", "jne 0x196"]], "recomp": [["0x1008978e", "jne 0x194"]]}, {"both": [["0x1009b6a4", "push 0x17c", "0x10089794"], ["0x1009b6a9", "call ??2@YAPAXI@Z (FUNCTION)", "0x10089799"], ["0x1009b6ae", "mov dword ptr [ebp - 0x28], eax", "0x1008979e"], ["0x1009b6b1", "add esp, 4", "0x100897a1"], ["0x1009b6b4", "mov esi, eax", "0x100897a4"], ["0x1009b6b6", "mov edi, 0", "0x100897a6"], ["0x1009b6bb", "mov dword ptr [ebp - 4], 1", "0x100897ab"], ["0x1009b6c2", "test esi, esi", "0x100897b2"], ["0x1009b6c4", "je 0x9", "0x100897b4"], ["0x1009b6c6", "mov ecx, esi", "0x100897b6"]]}]], ["@@ -0x1009b70a,55 +0x100897fa,54 @@", [{"both": [["0x1009b70a", "mov dword ptr [edx + 8], edi", "0x100897fa"], ["0x1009b70d", "mov ecx, dword ptr [ecx + 0xc]", "0x100897fd"], ["0x1009b710", "mov dword ptr [edx + 0xc], ecx", "0x10089800"], ["0x1009b713", "mov edx, dword ptr [ebp - 0x10]", "0x10089803"], ["0x1009b716", "mov ecx, dword ptr [ebx + 0xe0]", "0x10089806"], ["0x1009b71c", "mov eax, dword ptr [edx + 0x18c]", "0x1008980c"], ["0x1009b722", "mov dword ptr [ecx + 8], eax", "0x10089812"], ["0x1009b725", "mov esi, dword ptr [ebx + 0xe0]", "0x10089815"], ["0x1009b72b", "mov eax, dword ptr [esi + 8]", "0x1008981b"], ["0x1009b72e", "test eax, eax", "0x1008981e"]]}, {"orig": [["0x1009b730", "jle 0x71"]], "recomp": [["0x10089820", "jle 0x6f"]]}, {"both": [["0x1009b732", "lea eax, [eax + eax*2]", "0x10089822"], ["0x1009b735", "shl eax, 2", "0x10089825"], ["0x1009b738", "push eax", "0x10089828"], ["0x1009b739", "call ??2@YAPAXI@Z (FUNCTION)", "0x10089829"], ["0x1009b73e", "add esp, 4", "0x1008982e"], ["0x1009b741", "mov edx, dword ptr [ebp - 0x10]", "0x10089831"], ["0x1009b744", "mov dword ptr [esi + 4], eax", "0x10089834"], ["0x1009b747", "mov eax, dword ptr [edx + 0x188]", "0x10089837"], ["0x1009b74d", "mov ecx, dword ptr [eax]", "0x1008983d"], ["0x1009b74f", "mov dword ptr [ebp - 0x14], ecx", "0x1008983f"]]}, {"orig": [["0x1009b752", "cmp eax, ecx"], ["0x1009b754", "je 0x4d"]], "recomp": [["0x10089842", "cmp ecx, eax"], ["0x10089844", "je 0x4b"]]}, {"both": [["0x1009b756", "xor ecx, ecx", "0x10089846"], ["0x1009b758", "mov eax, dword ptr [ebp - 0x14]", "0x10089848"], ["0x1009b75b", "mov esi, dword ptr [ebx + 0xe0]", "0x1008984b"], ["0x1009b761", "mov edx, dword ptr [eax + 8]", "0x10089851"], ["0x1009b764", "mov eax, dword ptr [esi + 4]", "0x10089854"], ["0x1009b767", "mov edi, dword ptr [ebp - 0x14]", "0x10089857"], ["0x1009b76a", "add ecx, 0xc", "0x1008985a"], ["0x1009b76d", "mov dword ptr [eax + ecx - 0xc], edx", "0x1008985d"], ["0x1009b771", "mov edx, dword ptr [edi + 0xc]", "0x10089861"], ["0x1009b774", "mov esi, dword ptr [ebx + 0xe0]", "0x10089864"], ["0x1009b77a", "mov eax, dword ptr [esi + 4]", "0x1008986a"], ["0x1009b77d", "mov dword ptr [eax + ecx - 8], edx", "0x1008986d"], ["0x1009b781", "mov edx, dword ptr [edi + 0x10]", "0x10089871"], ["0x1009b784", "mov esi, dword ptr [ebx + 0xe0]", "0x10089874"], ["0x1009b78a", "mov eax, dword ptr [esi + 4]", "0x1008987a"], ["0x1009b78d", "mov dword ptr [eax + ecx - 4], edx", "0x1008987d"]]}, {"orig": [["0x1009b791", "mov edx, dword ptr [edi]"], ["0x1009b793", "mov edi, edx"], ["0x1009b795", "mov dword ptr [ebp - 0x14], edx"]], "recomp": [["0x10089881", "mov eax, dword ptr [edi]"]]}, {"both": [["0x1009b798", "mov edx, dword ptr [ebp - 0x10]", "0x10089883"]]}, {"orig": [["0x1009b79b", "cmp dword ptr [edx + 0x188], edi"], ["0x1009b7a1", "jne -0x4b"]], "recomp": [["0x10089886", "mov dword ptr [ebp - 0x14], eax"], ["0x10089889", "cmp dword ptr [edx + 0x188], eax"], ["0x1008988f", "jne -0x49"]]}, {"both": [["0x1009b7a3", "mov esi, dword ptr [ebp - 0x10]", "0x10089891"], ["0x1009b7a6", "mov edi, dword ptr [ebx + 0xe0]", "0x10089894"], ["0x1009b7ac", "add esi, 0xc", "0x1008989a"], ["0x1009b7af", "add edi, 0xc", "0x1008989d"], ["0x1009b7b2", "mov ecx, 0x5b", "0x100898a0"], ["0x1009b7b7", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100898a5"], ["0x1009b7b9", "cmp dword ptr [ebp - 0x24], 0", "0x100898a7"], ["0x1009b7bd", "jne 0x4", "0x100898ab"], ["0x1009b7bf", "or dword ptr [ebx + 0x10], 2", "0x100898ad"], ["0x1009b7c3", "mov edx, dword ptr [ebp - 0x10]", "0x100898b1"]]}]], ["@@ -0x1009b81e,21 +0x1008990c,21 @@", [{"both": [["0x1009b81e", "mov ecx, 0x33", "0x1008990c"], ["0x1009b823", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10089911"], ["0x1009b825", "mov eax, dword ptr [ebp - 0x18]", "0x10089913"], ["0x1009b828", "mov dword ptr [eax + 0x880], ebx", "0x10089916"], ["0x1009b82e", "mov ecx, dword ptr [ebx + 0xe0]", "0x1008991c"], ["0x1009b834", "mov dword ptr [eax + 0x870], ecx", "0x10089922"], ["0x1009b83a", "mov eax, dword ptr [ebp - 0x20]", "0x10089928"], ["0x1009b83d", "inc dword ptr [ebp - 0x24]", "0x1008992b"], ["0x1009b840", "mov ecx, dword ptr [eax]", "0x1008992e"], ["0x1009b842", "mov dword ptr [ebp - 0x20], ecx", "0x10089930"]]}, {"orig": [["0x1009b845", "jmp -0x1c4"]], "recomp": [["0x10089933", "jmp -0x1c2"]]}, {"both": [["0x1009b84a", "mov eax, dword ptr [ebp - 0x18]", "0x10089938"], ["0x1009b84d", "cmp dword ptr [eax + 0x880], 0", "0x1008993b"], ["0x1009b854", "jne 0x29", "0x10089942"], ["0x1009b856", "test ebx, ebx", "0x10089944"], ["0x1009b858", "je 0x10", "0x10089946"], ["0x1009b85a", "mov ecx, ebx", "0x10089948"], ["0x1009b85c", "call MxAssignedDevice::~MxAssignedDevice (FUNCTION)", "0x1008994a"], ["0x1009b861", "push ebx", "0x1008994f"], ["0x1009b862", "call ??3@YAXPAX@Z (FUNCTION)", "0x10089950"], ["0x1009b867", "add esp, 4", "0x10089955"]]}]], ["@@ -0x1009b886,10 +0x10089974,12 @@", [{"both": [["0x1009b886", "mov eax, dword ptr [ebp - 0x28]", "0x10089974"], ["0x1009b889", "push eax", "0x10089977"], ["0x1009b88a", "call ??3@YAXPAX@Z (FUNCTION)", "0x10089978"], ["0x1009b88f", "add esp, 4", "0x1008997d"], ["0x1009b892", "ret ", "0x10089980"], ["0x1009b893", "mov eax, <OFFSET7>", "0x10089981"], ["0x1009b898", "jmp ___CxxFrameHandler (FUNCTION)", "0x10089986"], ["0x1009b89d", "mov eax, dword ptr [ebp - 0x10]", "0x1008998b"], ["0x1009b8a0", "push eax", "0x1008998e"], ["0x1009b8a1", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008998f"]]}, {"orig": [], "recomp": [["0x10089994", "add esp, 4"], ["0x10089997", "ret "]]}]]]}, {"address": "0x1009b8b0", "recomp": "0x100899a0", "name": "MxAssignedDevice::MxAssignedDevice", "matching": 1.0, "diff": []}, {"address": "0x1009b8d0", "recomp": "0x100899c0", "name": "MxAssignedDevice::~MxAssignedDevice", "matching": 1.0, "diff": []}, {"address": "0x1009b900", "recomp": "0x100899f0", "name": "list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::~list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009b929,21 +0x10089a19,21 @@", [{"both": [["0x1009b929", "mov eax, dword ptr [esp + 8]", "0x10089a19"], ["0x1009b92d", "mov edx, dword ptr [eax]", "0x10089a1d"], ["0x1009b92f", "mov dword ptr [edx + 4], ecx", "0x10089a1f"], ["0x1009b932", "lea ecx, [eax + 8]", "0x10089a22"], ["0x1009b935", "call Direct3DDeviceInfo::~Direct3DDeviceInfo (FUNCTION)", "0x10089a25"], ["0x1009b93a", "mov ecx, dword ptr [esp + 8]", "0x10089a2a"], ["0x1009b93e", "push ecx", "0x10089a2e"], ["0x1009b93f", "call ??3@YAXPAX@Z (FUNCTION)", "0x10089a2f"], ["0x1009b944", "add esp, 4", "0x10089a34"], ["0x1009b947", "dec dword ptr [esi + 8]", "0x10089a37"]]}, {"orig": [["0x1009b94a", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x10089a3a", "cmp edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x1009b94e", "jne -0x3a", "0x10089a3e"], ["0x1009b950", "mov eax, dword ptr [esi + 4]", "0x10089a40"], ["0x1009b953", "push eax", "0x10089a43"], ["0x1009b954", "call ??3@YAXPAX@Z (FUNCTION)", "0x10089a44"], ["0x1009b959", "mov dword ptr [esi + 4], 0", "0x10089a49"], ["0x1009b960", "add esp, 4", "0x10089a50"], ["0x1009b963", "mov dword ptr [esi + 8], 0", "0x10089a53"], ["0x1009b96a", "pop edi", "0x10089a5a"], ["0x1009b96b", "pop esi", "0x10089a5b"], ["0x1009b96c", "add esp, 0xc", "0x10089a5c"]]}]]]}, {"address": "0x1009b970", "recomp": "0x10089a60", "name": "list<MxDisplayMode,allocator<MxDisplayMode> >::~list<MxDisplayMode,allocator<MxDisplayMode> >", "matching": 1.0, "diff": []}, {"address": "0x1009b9e0", "recomp": "0x10089ad0", "name": "List<Direct3DDeviceInfo>::~List<Direct3DDeviceInfo>", "matching": 1.0, "diff": []}, {"address": "0x1009ba30", "recomp": "0x10089b20", "name": "List<MxDisplayMode>::~List<MxDisplayMode>", "matching": 1.0, "diff": []}, {"address": "0x1009ba80", "recomp": "0x10089b70", "name": "MxDriver::MxDriver", "matching": 1.0, "diff": []}, {"address": "0x1009bb80", "recomp": "0x10089c70", "name": "MxDriver::~MxDriver", "matching": 1.0, "diff": []}, {"address": "0x1009bc30", "recomp": "0x10089d20", "name": "MxDriver::Init", "matching": 1.0, "diff": []}, {"address": "0x1009bd20", "recomp": "0x10089e10", "name": "Direct3DDeviceInfo::Direct3DDeviceInfo", "matching": 1.0, "diff": []}, {"address": "0x1009bd60", "recomp": "0x10089e50", "name": "Direct3DDeviceInfo::~Direct3DDeviceInfo", "matching": 1.0, "diff": []}, {"address": "0x1009bda0", "recomp": "0x10089e90", "name": "Direct3DDeviceInfo::Initialize", "matching": 1.0, "diff": []}, {"address": "0x1009bec0", "recomp": "0x10089fb0", "name": "MxDeviceEnumerate::MxDeviceEnumerate", "matching": 1.0, "diff": []}, {"address": "0x1009bf50", "recomp": "0x1008a040", "name": "list<MxDriver,allocator<MxDriver> >::~list<MxDriver,allocator<MxDriver> >", "matching": 1.0, "diff": []}, {"address": "0x1009bfc0", "recomp": "0x1008a0b0", "name": "List<MxDriver>::~List<MxDriver>", "matching": 1.0, "diff": []}, {"address": "0x1009c010", "recomp": "0x1008a100", "name": "MxDeviceEnumerate::~MxDeviceEnumerate", "matching": 1.0, "diff": []}, {"address": "0x1009c070", "recomp": "0x1008a160", "name": "MxDeviceEnumerate::EnumDirectDrawCallback", "matching": 0.9615384615384616, "diff": [["@@ -0x1009c096,54 +0x1008a186,54 @@", [{"both": [["0x1009c096", "push eax", "0x1008a186"], ["0x1009c097", "mov ecx, dword ptr [ebp + 0xc]", "0x1008a187"], ["0x1009c09a", "push ecx", "0x1008a18a"], ["0x1009c09b", "mov edx, dword ptr [ebp + 8]", "0x1008a18b"], ["0x1009c09e", "push edx", "0x1008a18e"], ["0x1009c09f", "lea ecx, [ebp - 0x1a8]", "0x1008a18f"], ["0x1009c0a5", "call MxDriver::MxDriver (FUNCTION)", "0x1008a195"], ["0x1009c0aa", "mov ecx, dword ptr [esi + 8]", "0x1008a19a"], ["0x1009c0ad", "push 0x198", "0x1008a19d"], ["0x1009c0b2", "mov dword ptr [ebp - 0x14], ecx", "0x1008a1a2"]]}, {"orig": [["0x1009c0b5", "lea edi, [ecx + 4]"]], "recomp": [["0x1008a1a5", "lea ebx, [ecx + 4]"]]}, {"both": [["0x1009c0b8", "mov dword ptr [ebp - 4], 0", "0x1008a1a8"]]}, {"orig": [["0x1009c0bf", "mov ebx, dword ptr [edi]"]], "recomp": [["0x1008a1af", "mov edi, dword ptr [ebx]"]]}, {"both": [["0x1009c0c1", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008a1b1"], ["0x1009c0c6", "add esp, 4", "0x1008a1b6"]]}, {"orig": [["0x1009c0c9", "test ebx, ebx"]], "recomp": [["0x1008a1b9", "test edi, edi"]]}, {"both": [["0x1009c0cb", "je 0xa", "0x1008a1bb"], ["0x1009c0cd", "mov ecx, dword ptr [ebp - 0x14]", "0x1008a1bd"], ["0x1009c0d0", "mov dword ptr [eax], ecx", "0x1008a1c0"]]}, {"orig": [["0x1009c0d2", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x1008a1c2", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x1009c0d5", "jmp 0x5", "0x1008a1c5"], ["0x1009c0d7", "mov dword ptr [eax], eax", "0x1008a1c7"], ["0x1009c0d9", "mov dword ptr [eax + 4], eax", "0x1008a1c9"]]}, {"orig": [["0x1009c0dc", "mov dword ptr [edi], eax"]], "recomp": [["0x1008a1cc", "mov dword ptr [ebx], eax"]]}, {"both": [["0x1009c0de", "mov ecx, dword ptr [eax + 4]", "0x1008a1ce"], ["0x1009c0e1", "mov dword ptr [ecx], eax", "0x1008a1d1"], ["0x1009c0e3", "lea ecx, [eax + 8]", "0x1008a1d3"], ["0x1009c0e6", "test ecx, ecx", "0x1008a1d6"], ["0x1009c0e8", "je 0xc", "0x1008a1d8"], ["0x1009c0ea", "lea eax, [ebp - 0x1a8]", "0x1008a1da"], ["0x1009c0f0", "push eax", "0x1008a1e0"], ["0x1009c0f1", "call MxDriver::MxDriver (FUNCTION)", "0x1008a1e1"], ["0x1009c0f6", "xor ebx, ebx", "0x1008a1e6"], ["0x1009c0f8", "lea edi, [ebp - 0x19c]", "0x1008a1e8"], ["0x1009c0fe", "xor eax, eax", "0x1008a1ee"], ["0x1009c100", "inc dword ptr [esi + 0xc]", "0x1008a1f0"], ["0x1009c103", "mov ecx, 0x5b", "0x1008a1f3"], ["0x1009c108", "mov dword ptr [ebp - 0x1a8], ebx", "0x1008a1f8"], ["0x1009c10e", "mov dword ptr [ebp - 0x1a4], ebx", "0x1008a1fe"], ["0x1009c114", "mov dword ptr [ebp - 0x1a0], ebx", "0x1008a204"], ["0x1009c11a", "rep stosd dword ptr es:[edi], eax", "0x1008a20a"]]}, {"orig": [], "recomp": [["0x1008a20c", "push ebx"]]}, {"both": [["0x1009c11c", "mov dword ptr [ebp - 0x18], ebx", "0x1008a20d"], ["0x1009c11f", "mov eax, dword ptr [esi + 8]", "0x1008a210"]]}, {"orig": [["0x1009c122", "push ebx"]], "recomp": []}, {"both": [["0x1009c123", "mov dword ptr [ebp - 0x10], ebx", "0x1008a213"], ["0x1009c126", "mov edi, dword ptr [eax + 4]", "0x1008a216"], ["0x1009c129", "lea eax, [ebp - 0x10]", "0x1008a219"], ["0x1009c12c", "mov ecx, dword ptr [edi + 8]", "0x1008a21c"], ["0x1009c12f", "add edi, 8", "0x1008a21f"], ["0x1009c132", "push eax", "0x1008a222"], ["0x1009c133", "push ecx", "0x1008a223"], ["0x1009c134", "call _DirectDrawCreate@12 (FUNCTION)", "0x1008a224"], ["0x1009c139", "test eax, eax", "0x1008a229"], ["0x1009c13b", "je 0x1b", "0x1008a22b"]]}]], ["@@ -0x1009c185,21 +0x1008a275,21 @@", [{"both": [["0x1009c185", "mov ecx, esi", "0x1008a275"], ["0x1009c187", "call MxDeviceEnumerate::EnumerateErrorToString (FUNCTION)", "0x1008a277"], ["0x1009c18c", "push eax", "0x1008a27c"], ["0x1009c18d", "push 'GetCaps failed: %s\\n' (STRING)", "0x1008a27d"], ["0x1009c192", "call MxDeviceEnumerate::BuildErrorString (FUNCTION)", "0x1008a282"], ["0x1009c197", "add esp, 8", "0x1008a287"], ["0x1009c19a", "jmp 0x97", "0x1008a28a"], ["0x1009c19f", "lea eax, [ebp - 0x18]", "0x1008a28f"], ["0x1009c1a2", "mov ecx, dword ptr [ebp - 0x10]", "0x1008a292"], ["0x1009c1a5", "push eax", "0x1008a295"]]}, {"orig": [["0x1009c1a6", "push <OFFSET11>"]], "recomp": [["0x1008a296", "push IID_IDirect3D2 (DATA)"]]}, {"both": [["0x1009c1ab", "push ecx", "0x1008a29b"], ["0x1009c1ac", "mov eax, dword ptr [ecx]", "0x1008a29c"], ["0x1009c1ae", "call dword ptr [eax]", "0x1008a29e"], ["0x1009c1b0", "test eax, eax", "0x1008a2a0"], ["0x1009c1b2", "je 0x18", "0x1008a2a2"], ["0x1009c1b4", "push eax", "0x1008a2a4"], ["0x1009c1b5", "mov ecx, esi", "0x1008a2a5"], ["0x1009c1b7", "call MxDeviceEnumerate::EnumerateErrorToString (FUNCTION)", "0x1008a2a7"], ["0x1009c1bc", "push eax", "0x1008a2ac"], ["0x1009c1bd", "push 'D3D creation failed: %s\\n' (STRING)", "0x1008a2ad"]]}]]]}, {"address": "0x1009c290", "recomp": "0x1008a380", "name": "MxDriver::MxDriver", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009c385,21 +0x1008a475,21 @@", [{"both": [["0x1009c385", "je 0x1a", "0x1008a475"], ["0x1009c387", "lea eax, [edi + 8]", "0x1008a477"], ["0x1009c38a", "mov ecx, dword ptr [ebp - 0x1c]", "0x1008a47a"], ["0x1009c38d", "push eax", "0x1008a47d"], ["0x1009c38e", "lea edx, [ebp - 0x10]", "0x1008a47e"], ["0x1009c391", "push ecx", "0x1008a481"], ["0x1009c392", "push edx", "0x1008a482"], ["0x1009c393", "mov ecx, esi", "0x1008a483"], ["0x1009c395", "call list<MxDisplayMode,allocator<MxDisplayMode> >::insert (FUNCTION)", "0x1008a485"], ["0x1009c39a", "mov edi, dword ptr [edi]", "0x1008a48a"]]}, {"orig": [["0x1009c39c", "cmp edi, dword ptr [ebp - 0x14]"]], "recomp": [["0x1008a48c", "cmp dword ptr [ebp - 0x14], edi"]]}, {"both": [["0x1009c39f", "jne -0x1a", "0x1008a48f"], ["0x1009c3a1", "mov eax, ebx", "0x1008a491"], ["0x1009c3a3", "pop edi", "0x1008a493"], ["0x1009c3a4", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008a494"], ["0x1009c3ab", "mov ecx, dword ptr [ebp - 0xc]", "0x1008a49b"], ["0x1009c3ae", "pop esi", "0x1008a49e"], ["0x1009c3af", "mov dword ptr fs:[0], ecx", "0x1008a49f"], ["0x1009c3b6", "pop ebx", "0x1008a4a6"], ["0x1009c3b7", "mov esp, ebp", "0x1008a4a7"], ["0x1009c3b9", "pop ebp", "0x1008a4a9"]]}]]]}, {"address": "0x1009c400", "recomp": "0x1008a4f0", "name": "list<Direct3DDeviceInfo,allocator<Direct3DDeviceInfo> >::insert", "matching": 0.8181818181818182, "diff": [["@@ -0x1009c400,28 +0x1008a4f0,28 @@", [{"both": [["0x1009c400", "push ebx", "0x1008a4f0"], ["0x1009c401", "push esi", "0x1008a4f1"], ["0x1009c402", "push edi", "0x1008a4f2"], ["0x1009c403", "mov ebx, ecx", "0x1008a4f3"]]}, {"orig": [["0x1009c405", "mov edi, dword ptr [esp + 0x14]"]], "recomp": [["0x1008a4f5", "mov esi, dword ptr [esp + 0x14]"]]}, {"both": [["0x1009c409", "push 0x1ac", "0x1008a4f9"]]}, {"orig": [["0x1009c40e", "mov esi, dword ptr [edi + 4]"]], "recomp": [["0x1008a4fe", "mov edi, dword ptr [esi + 4]"]]}, {"both": [["0x1009c411", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008a501"], ["0x1009c416", "add esp, 4", "0x1008a506"]]}, {"orig": [["0x1009c419", "test esi, esi"]], "recomp": [["0x1008a509", "test edi, edi"]]}, {"both": [["0x1009c41b", "je 0x7", "0x1008a50b"]]}, {"orig": [["0x1009c41d", "mov dword ptr [eax], edi"], ["0x1009c41f", "mov dword ptr [eax + 4], esi"]], "recomp": [["0x1008a50d", "mov dword ptr [eax], esi"], ["0x1008a50f", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x1009c422", "jmp 0x5", "0x1008a512"], ["0x1009c424", "mov dword ptr [eax], eax", "0x1008a514"], ["0x1009c426", "mov dword ptr [eax + 4], eax", "0x1008a516"]]}, {"orig": [["0x1009c429", "mov dword ptr [edi + 4], eax"]], "recomp": []}, {"both": [["0x1009c42c", "lea edi, [eax + 8]", "0x1008a519"]]}, {"orig": [], "recomp": [["0x1008a51c", "mov dword ptr [esi + 4], eax"]]}, {"both": [["0x1009c42f", "mov ecx, dword ptr [eax + 4]", "0x1008a51f"], ["0x1009c432", "test edi, edi", "0x1008a522"], ["0x1009c434", "mov dword ptr [ecx], eax", "0x1008a524"], ["0x1009c436", "je 0xb", "0x1008a526"], ["0x1009c438", "mov esi, dword ptr [esp + 0x18]", "0x1008a528"], ["0x1009c43c", "mov ecx, 0x69", "0x1008a52c"], ["0x1009c441", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1008a531"], ["0x1009c443", "mov ecx, dword ptr [esp + 0x10]", "0x1008a533"], ["0x1009c447", "inc dword ptr [ebx + 8]", "0x1008a537"], ["0x1009c44a", "pop edi", "0x1008a53a"]]}]]]}, {"address": "0x1009c460", "recomp": "0x1008a550", "name": "list<MxDisplayMode,allocator<MxDisplayMode> >::insert", "matching": 0.8378378378378378, "diff": [["@@ -0x1009c460,28 +0x1008a550,28 @@", [{"both": [["0x1009c460", "push ebx", "0x1008a550"], ["0x1009c461", "push esi", "0x1008a551"], ["0x1009c462", "push edi", "0x1008a552"], ["0x1009c463", "mov esi, ecx", "0x1008a553"]]}, {"orig": [["0x1009c465", "mov edi, dword ptr [esp + 0x14]"]], "recomp": [["0x1008a555", "mov ebx, dword ptr [esp + 0x14]"]]}, {"both": [["0x1009c469", "push 0x14", "0x1008a559"]]}, {"orig": [["0x1009c46b", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x1008a55b", "mov edi, dword ptr [ebx + 4]"]]}, {"both": [["0x1009c46e", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008a55e"], ["0x1009c473", "add esp, 4", "0x1008a563"]]}, {"orig": [["0x1009c476", "test ebx, ebx"]], "recomp": [["0x1008a566", "test edi, edi"]]}, {"both": [["0x1009c478", "je 0x7", "0x1008a568"]]}, {"orig": [["0x1009c47a", "mov dword ptr [eax], edi"], ["0x1009c47c", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x1008a56a", "mov dword ptr [eax], ebx"], ["0x1008a56c", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x1009c47f", "jmp 0x5", "0x1008a56f"], ["0x1009c481", "mov dword ptr [eax], eax", "0x1008a571"], ["0x1009c483", "mov dword ptr [eax + 4], eax", "0x1008a573"]]}, {"orig": [["0x1009c486", "mov dword ptr [edi + 4], eax"]], "recomp": []}, {"both": [["0x1009c489", "lea edi, [eax + 8]", "0x1008a576"]]}, {"orig": [], "recomp": [["0x1008a579", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x1009c48c", "mov ecx, dword ptr [eax + 4]", "0x1008a57c"], ["0x1009c48f", "test edi, edi", "0x1008a57f"], ["0x1009c491", "mov dword ptr [ecx], eax", "0x1008a581"], ["0x1009c493", "je 0x14", "0x1008a583"], ["0x1009c495", "mov edx, dword ptr [esp + 0x18]", "0x1008a585"], ["0x1009c499", "mov ecx, dword ptr [edx]", "0x1008a589"], ["0x1009c49b", "mov dword ptr [edi], ecx", "0x1008a58b"], ["0x1009c49d", "mov ebx, dword ptr [edx + 4]", "0x1008a58d"], ["0x1009c4a0", "mov dword ptr [edi + 4], ebx", "0x1008a590"], ["0x1009c4a3", "mov edx, dword ptr [edx + 8]", "0x1008a593"]]}]]]}, {"address": "0x1009c4c0", "recomp": "0x1008a5b0", "name": "MxDeviceEnumerate::BuildErrorString", "matching": 1.0, "diff": []}, {"address": "0x1009c4f0", "recomp": "0x1008a5e0", "name": "MxDeviceEnumerate::DisplayModesEnumerateCallback", "matching": 1.0, "diff": []}, {"address": "0x1009c510", "recomp": "0x1008a600", "name": "MxDeviceEnumerate::DevicesEnumerateCallback", "matching": 1.0, "diff": []}, {"address": "0x1009c540", "recomp": "0x1008a630", "name": "MxDeviceEnumerate::EnumDisplayModesCallback", "matching": 1.0, "diff": []}, {"address": "0x1009c5d0", "recomp": "0x1008a6c0", "name": "MxDeviceEnumerate::EnumDevicesCallback", "matching": 1.0, "diff": []}, {"address": "0x1009c6c0", "recomp": "0x1008a7b0", "name": "MxDeviceEnumerate::DoEnumerate", "matching": 1.0, "diff": []}, {"address": "0x1009c710", "recomp": "0x1008a800", "name": "MxDeviceEnumerate::DirectDrawEnumerateCallback", "matching": 1.0, "diff": []}, {"address": "0x1009c730", "recomp": "0x1008a820", "name": "MxDeviceEnumerate::EnumerateErrorToString", "matching": 1.0, "diff": []}, {"address": "0x1009ce60", "recomp": "0x1008afa0", "name": "LegoDeviceEnumerate::ParseDeviceName", "matching": 1.0, "diff": []}, {"address": "0x1009cf20", "recomp": "0x1008b060", "name": "LegoDeviceEnumerate::ProcessDeviceBytes", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009cf55,22 +0x1008b095,22 @@", [{"both": [["0x1009cf55", "mov dword ptr [edi + 4], ebp", "0x1008b095"], ["0x1009cf58", "mov dword ptr [edi + 8], edx", "0x1008b098"], ["0x1009cf5b", "mov edx, dword ptr [ecx + 8]", "0x1008b09b"], ["0x1009cf5e", "mov dword ptr [edi + 0xc], ebx", "0x1008b09e"], ["0x1009cf61", "mov edi, dword ptr [edx]", "0x1008b0a1"], ["0x1009cf63", "mov dword ptr [esp + 0x10], edi", "0x1008b0a3"], ["0x1009cf67", "cmp edi, edx", "0x1008b0a7"], ["0x1009cf69", "je 0x96", "0x1008b0a9"], ["0x1009cf6f", "cmp dword ptr [esp + 0x3c], 0", "0x1008b0af"], ["0x1009cf74", "jl 0xa", "0x1008b0b4"]]}, {"orig": [["0x1009cf76", "cmp esi, dword ptr [esp + 0x3c]"], ["0x1009cf7a", "jg 0x94"]], "recomp": [["0x1008b0b6", "cmp dword ptr [esp + 0x3c], esi"], ["0x1008b0ba", "jl 0x94"]]}, {"both": [["0x1009cf80", "mov edi, dword ptr [esp + 0x10]", "0x1008b0c0"], ["0x1009cf84", "mov edx, dword ptr [edi + 0x184]", "0x1008b0c4"], ["0x1009cf8a", "add edi, 8", "0x1008b0ca"], ["0x1009cf8d", "mov ebx, dword ptr [edx]", "0x1008b0cd"], ["0x1009cf8f", "mov dword ptr [esp + 0x14], ebx", "0x1008b0cf"], ["0x1009cf93", "mov edx, dword ptr [esp + 0x14]", "0x1008b0d3"], ["0x1009cf97", "cmp dword ptr [edi + 0x17c], edx", "0x1008b0d7"], ["0x1009cf9d", "je 0x52", "0x1008b0dd"], ["0x1009cf9f", "mov edx, dword ptr [edx + 8]", "0x1008b0df"], ["0x1009cfa2", "lea ebx, [esp + 0x18]", "0x1008b0e2"]]}]], ["@@ -0x1009cfc4,21 +0x1008b104,21 @@", [{"both": [["0x1009cfc4", "jne 0x24", "0x1008b104"], ["0x1009cfc6", "mov edx, dword ptr [esp + 0x1c]", "0x1008b106"], ["0x1009cfca", "cmp dword ptr [esp + 0x2c], edx", "0x1008b10a"], ["0x1009cfce", "jne 0x1a", "0x1008b10e"], ["0x1009cfd0", "mov edx, dword ptr [esp + 0x20]", "0x1008b110"], ["0x1009cfd4", "cmp dword ptr [esp + 0x30], edx", "0x1008b114"], ["0x1009cfd8", "jne 0x10", "0x1008b118"], ["0x1009cfda", "mov edx, dword ptr [esp + 0x24]", "0x1008b11a"], ["0x1009cfde", "cmp dword ptr [esp + 0x34], edx", "0x1008b11e"], ["0x1009cfe2", "jne 0x6", "0x1008b122"]]}, {"orig": [["0x1009cfe4", "cmp esi, dword ptr [esp + 0x3c]"]], "recomp": [["0x1008b124", "cmp dword ptr [esp + 0x3c], esi"]]}, {"both": [["0x1009cfe8", "je 0x20", "0x1008b128"], ["0x1009cfea", "inc eax", "0x1008b12a"], ["0x1009cfeb", "mov edx, dword ptr [esp + 0x14]", "0x1008b12b"], ["0x1009cfef", "jmp -0x64", "0x1008b12f"], ["0x1009cff1", "mov edx, dword ptr [esp + 0x10]", "0x1008b131"], ["0x1009cff5", "inc esi", "0x1008b135"], ["0x1009cff6", "mov ebx, dword ptr [edx]", "0x1008b136"], ["0x1009cff8", "mov dword ptr [esp + 0x10], ebx", "0x1008b138"], ["0x1009cffc", "cmp dword ptr [ecx + 8], ebx", "0x1008b13c"], ["0x1009cfff", "jne -0x96", "0x1008b13f"]]}]]]}, {"address": "0x1009d030", "recomp": "0x1008b170", "name": "LegoDeviceEnumerate::GetDevice", "matching": 0.8813559322033898, "diff": [["@@ -0x1009d030,41 +0x1008b170,41 @@", [{"orig": [], "recomp": [["0x1008b170", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x1009d030", "sub esp, 8", "0x1008b174"]]}, {"orig": [], "recomp": [["0x1008b177", "test edx, edx"]]}, {"both": [["0x1009d033", "push ebx", "0x1008b179"], ["0x1009d034", "push esi", "0x1008b17a"]]}, {"orig": [["0x1009d035", "mov esi, dword ptr [esp + 0x14]"]], "recomp": []}, {"both": [["0x1009d039", "push edi", "0x1008b17b"]]}, {"orig": [["0x1009d03a", "test esi, esi"]], "recomp": []}, {"both": [["0x1009d03c", "jl 0x7a", "0x1008b17c"], ["0x1009d03e", "cmp byte ptr [ecx + 0x10], 0", "0x1008b17e"], ["0x1009d042", "je 0x74", "0x1008b182"]]}, {"orig": [["0x1009d044", "xor edx, edx"]], "recomp": [["0x1008b184", "xor esi, esi"]]}, {"both": [["0x1009d046", "mov eax, dword ptr [ecx + 8]", "0x1008b186"], ["0x1009d049", "mov edi, dword ptr [eax]", "0x1008b189"], ["0x1009d04b", "mov dword ptr [esp + 0xc], edi", "0x1008b18b"], ["0x1009d04f", "cmp edi, eax", "0x1008b18f"], ["0x1009d051", "je 0x3f", "0x1008b191"], ["0x1009d053", "mov edi, dword ptr [esp + 0x1c]", "0x1008b193"], ["0x1009d057", "mov eax, dword ptr [esp + 0xc]", "0x1008b197"], ["0x1009d05b", "add eax, 8", "0x1008b19b"], ["0x1009d05e", "mov dword ptr [edi], eax", "0x1008b19e"], ["0x1009d060", "mov ebx, dword ptr [eax + 0x17c]", "0x1008b1a0"], ["0x1009d066", "mov eax, dword ptr [ebx]", "0x1008b1a6"], ["0x1009d068", "mov dword ptr [esp + 0x10], eax", "0x1008b1a8"]]}, {"orig": [["0x1009d06c", "cmp eax, ebx"]], "recomp": [["0x1008b1ac", "cmp ebx, eax"]]}, {"both": [["0x1009d06e", "je 0x13", "0x1008b1ae"]]}, {"orig": [["0x1009d070", "cmp edx, esi"]], "recomp": [["0x1008b1b0", "cmp esi, edx"]]}, {"both": [["0x1009d072", "je 0x2c", "0x1008b1b2"]]}, {"orig": [["0x1009d074", "inc edx"]], "recomp": [["0x1008b1b4", "inc esi"]]}, {"both": [["0x1009d075", "mov eax, dword ptr [esp + 0x10]", "0x1008b1b5"], ["0x1009d079", "mov eax, dword ptr [eax]", "0x1008b1b9"], ["0x1009d07b", "mov dword ptr [esp + 0x10], eax", "0x1008b1bb"]]}, {"orig": [["0x1009d07f", "cmp eax, ebx"]], "recomp": [["0x1008b1bf", "cmp ebx, eax"]]}, {"both": [["0x1009d081", "jne -0x13", "0x1008b1c1"], ["0x1009d083", "mov eax, dword ptr [esp + 0xc]", "0x1008b1c3"], ["0x1009d087", "mov ebx, dword ptr [eax]", "0x1008b1c7"], ["0x1009d089", "mov dword ptr [esp + 0xc], ebx", "0x1008b1c9"], ["0x1009d08d", "cmp dword ptr [ecx + 8], ebx", "0x1008b1cd"], ["0x1009d090", "jne -0x3b", "0x1008b1d0"], ["0x1009d092", "mov eax, 0xffffffff", "0x1008b1d2"], ["0x1009d097", "pop edi", "0x1008b1d7"], ["0x1009d098", "pop esi", "0x1008b1d8"], ["0x1009d099", "pop ebx", "0x1008b1d9"]]}]]]}, {"address": "0x1009d0d0", "recomp": "0x1008b210", "name": "LegoDeviceEnumerate::FUN_1009d0d0", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009d0fb,21 +0x1008b23b,21 @@", [{"both": [["0x1009d0fb", "add esp, 8", "0x1008b23b"], ["0x1009d0fe", "ret ", "0x1008b23e"], ["0x1009d0ff", "xor edi, edi", "0x1008b23f"], ["0x1009d101", "call LegoDeviceEnumerate::SupportsMMX (FUNCTION)", "0x1008b241"], ["0x1009d106", "mov ecx, dword ptr [esi + 8]", "0x1008b246"], ["0x1009d109", "xor ebx, ebx", "0x1008b249"], ["0x1009d10b", "mov ebp, 0xffffffff", "0x1008b24b"], ["0x1009d110", "mov edx, dword ptr [ecx]", "0x1008b250"], ["0x1009d112", "mov dword ptr [esp + 0x14], edx", "0x1008b252"], ["0x1009d116", "mov ecx, dword ptr [esi + 8]", "0x1008b256"]]}, {"orig": [["0x1009d119", "cmp ecx, dword ptr [esp + 0x14]"]], "recomp": [["0x1008b259", "cmp dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x1009d11d", "je 0x62", "0x1008b25d"], ["0x1009d11f", "mov ecx, dword ptr [esp + 0x14]", "0x1008b25f"], ["0x1009d123", "mov ecx, dword ptr [ecx + 0x184]", "0x1008b263"], ["0x1009d129", "mov edx, dword ptr [ecx]", "0x1008b269"], ["0x1009d12b", "mov dword ptr [esp + 0x10], edx", "0x1008b26b"], ["0x1009d12f", "cmp edx, ecx", "0x1008b26f"], ["0x1009d131", "je 0x41", "0x1008b271"], ["0x1009d133", "mov edx, dword ptr [esp + 0x10]", "0x1008b273"], ["0x1009d137", "cmp dword ptr [edx + 0x1c], 0", "0x1008b277"], ["0x1009d13b", "jne 0x4e", "0x1008b27b"]]}]]]}, {"address": "0x1009d1a0", "recomp": "0x1008b2e0", "name": "LegoDeviceEnumerate::SupportsMMX", "matching": 0.7272727272727273, "diff": [["@@ -0x1009d1a0,22 +0x1008b2e0,22 @@", [{"both": [["0x1009d1a0", "push ebp", "0x1008b2e0"], ["0x1009d1a1", "mov ebp, esp", "0x1008b2e1"], ["0x1009d1a3", "sub esp, 4", "0x1008b2e3"]]}, {"orig": [["0x1009d1a6", "push ebx"]], "recomp": []}, {"both": [["0x1009d1a7", "call LegoDeviceEnumerate::SupportsCPUID (FUNCTION)", "0x1008b2e6"]]}, {"orig": [["0x1009d1ac", "mov dword ptr [ebp - 4], eax"]], "recomp": []}, {"both": [["0x1009d1af", "test eax, eax", "0x1008b2eb"]]}, {"orig": [["0x1009d1b1", "je 0x1b"], ["0x1009d1b3", "push ebx"]], "recomp": [["0x1008b2ed", "jne 0x6"], ["0x1008b2ef", "xor eax, eax"], ["0x1008b2f1", "mov esp, ebp"], ["0x1008b2f3", "pop ebp"], ["0x1008b2f4", "ret "]]}, {"both": [["0x1009d1b4", "mov eax, 0", "0x1008b2f5"], ["0x1009d1b9", "cpuid ", "0x1008b2fa"], ["0x1009d1bb", "mov eax, 1", "0x1008b2fc"], ["0x1009d1c0", "cpuid ", "0x1008b301"], ["0x1009d1c2", "xor eax, eax", "0x1008b303"], ["0x1009d1c4", "bt edx, 0x17", "0x1008b305"], ["0x1009d1c8", "adc eax, eax", "0x1008b309"]]}, {"orig": [["0x1009d1ca", "pop ebx"]], "recomp": []}, {"both": [["0x1009d1cb", "mov dword ptr [ebp - 4], eax", "0x1008b30b"], ["0x1009d1ce", "mov eax, dword ptr [ebp - 4]", "0x1008b30e"]]}, {"orig": [["0x1009d1d1", "pop ebx"]], "recomp": []}, {"both": [["0x1009d1d2", "mov esp, ebp", "0x1008b311"], ["0x1009d1d4", "pop ebp", "0x1008b313"]]}, {"orig": [], "recomp": [["0x1008b314", "ret "]]}]]]}, {"address": "0x1009d1e0", "recomp": "0x1008b320", "name": "LegoDeviceEnumerate::SupportsCPUID", "matching": 1.0, "diff": []}, {"address": "0x1009d210", "recomp": "0x1008b350", "name": "LegoDeviceEnumerate::FUN_1009d210", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009d276,21 +0x1008b3b6,21 @@", [{"both": [["0x1009d276", "call MxDriver::`scalar deleting destructor' (FUNCTION)", "0x1008b3b6"], ["0x1009d27b", "mov ecx, dword ptr [esp + 0x14]", "0x1008b3bb"], ["0x1009d27f", "push ecx", "0x1008b3bf"], ["0x1009d280", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008b3c0"], ["0x1009d285", "add esp, 4", "0x1008b3c5"], ["0x1009d288", "dec dword ptr [esi + 0xc]", "0x1008b3c8"], ["0x1009d28b", "jmp 0xbf", "0x1008b3cb"], ["0x1009d290", "mov eax, dword ptr [edi + 0x17c]", "0x1008b3d0"], ["0x1009d296", "mov ecx, dword ptr [eax]", "0x1008b3d6"], ["0x1009d298", "mov dword ptr [esp + 0x10], ecx", "0x1008b3d8"]]}, {"orig": [["0x1009d29c", "cmp ecx, eax"]], "recomp": [["0x1008b3dc", "cmp eax, ecx"]]}, {"both": [["0x1009d29e", "je 0x64", "0x1008b3de"], ["0x1009d2a0", "mov eax, dword ptr [esp + 0x10]", "0x1008b3e0"], ["0x1009d2a4", "mov ecx, esi", "0x1008b3e4"], ["0x1009d2a6", "add eax, 8", "0x1008b3e6"], ["0x1009d2a9", "push eax", "0x1008b3e9"], ["0x1009d2aa", "call LegoDeviceEnumerate::FUN_1009d3d0 (FUNCTION)", "0x1008b3ea"], ["0x1009d2af", "test al, al", "0x1008b3ef"], ["0x1009d2b1", "mov eax, dword ptr [esp + 0x10]", "0x1008b3f1"], ["0x1009d2b5", "jne 0x3b", "0x1008b3f5"], ["0x1009d2b7", "mov ecx, dword ptr [eax]", "0x1008b3f7"]]}]]]}, {"address": "0x1009d370", "recomp": "0x1008b4b0", "name": "LegoDeviceEnumerate::DriverSupportsRequiredDisplayMode", "matching": 1.0, "diff": []}, {"address": "0x1009d3d0", "recomp": "0x1008b510", "name": "LegoDeviceEnumerate::FUN_1009d3d0", "matching": 1.0, "diff": []}, {"address": "0x1009d450", "recomp": "0x1008b590", "name": "MxDriver::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009d470", "recomp": "0x1008b5b0", "name": "Direct3DDeviceInfo::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009d490", "recomp": "0x1008b5d0", "name": "MxDirectDraw::MxDirectDraw", "matching": 1.0, "diff": []}, {"address": "0x1009d510", "recomp": "0x1008b650", "name": "MxDirectDraw::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009d530", "recomp": "0x1008b670", "name": "MxDirectDraw::~MxDirectDraw", "matching": 1.0, "diff": []}, {"address": "0x1009d570", "recomp": "0x1008b6b0", "name": "MxDirectDraw::GetPrimaryBitDepth", "matching": 1.0, "diff": []}, {"address": "0x1009d5e0", "recomp": "0x1008b720", "name": "MxDirectDraw::Create", "matching": 1.0, "diff": []}, {"address": "0x1009d690", "recomp": "0x1008b7d0", "name": "MxDirectDraw::RecreateDirectDraw", "matching": 1.0, "diff": []}, {"address": "0x1009d6c0", "recomp": "0x1008b800", "name": "MxDirectDraw::CacheOriginalPaletteEntries", "matching": 1.0, "diff": []}, {"address": "0x1009d700", "recomp": "0x1008b840", "name": "MxDirectDraw::SetPaletteEntries", "matching": 1.0, "effective": true, "diff": [["@@ -0x1009d73b,25 +0x1008b87b,25 @@", [{"both": [["0x1009d73b", "mov byte ptr [ecx], 0x80", "0x1008b87b"], ["0x1009d73e", "add ecx, 4", "0x1008b87e"], ["0x1009d741", "dec eax", "0x1008b881"], ["0x1009d742", "jne -0x9", "0x1008b882"], ["0x1009d744", "lea ecx, [edi + 0x57]", "0x1008b884"], ["0x1009d747", "mov eax, 0x84", "0x1008b887"], ["0x1009d74c", "mov byte ptr [ecx], 0x44", "0x1008b88c"], ["0x1009d74f", "add ecx, 4", "0x1008b88f"], ["0x1009d752", "dec eax", "0x1008b892"], ["0x1009d753", "jne -0x9", "0x1008b893"]]}, {"orig": [["0x1009d755", "lea eax, [edi + 0x267]"], ["0x1009d75b", "mov ecx, 0x68"], ["0x1009d760", "mov byte ptr [eax], 0x84"], ["0x1009d763", "add eax, 4"], ["0x1009d766", "dec ecx"]], "recomp": [["0x1008b895", "lea ecx, [edi + 0x267]"], ["0x1008b89b", "mov eax, 0x68"], ["0x1008b8a0", "mov byte ptr [ecx], 0x84"], ["0x1008b8a3", "add ecx, 4"], ["0x1008b8a6", "dec eax"]]}, {"both": [["0x1009d767", "jne -0x9", "0x1008b8a7"], ["0x1009d769", "lea ecx, [edi + 0x407]", "0x1008b8a9"], ["0x1009d76f", "mov eax, 0xa", "0x1008b8af"], ["0x1009d774", "mov byte ptr [ecx], 0x80", "0x1008b8b4"], ["0x1009d777", "add ecx, 4", "0x1008b8b7"], ["0x1009d77a", "dec eax", "0x1008b8ba"], ["0x1009d77b", "jne -0x9", "0x1008b8bb"], ["0x1009d77d", "mov edx, dword ptr [esp + 0x14]", "0x1008b8bd"], ["0x1009d781", "test edx, edx", "0x1008b8c1"], ["0x1009d783", "je 0x36", "0x1008b8c3"]]}]]]}, {"address": "0x1009d800", "recomp": "0x1008b940", "name": "MxDirectDraw::Destroy", "matching": 1.0, "diff": []}, {"address": "0x1009d860", "recomp": "0x1008b9a0", "name": "MxDirectDraw::DestroyButNotDirectDraw", "matching": 1.0, "diff": []}, {"address": "0x1009d920", "recomp": "0x1008ba60", "name": "MxDirectDraw::FUN_1009d920", "matching": 1.0, "diff": []}, {"address": "0x1009d960", "recomp": "0x1008baa0", "name": "MxDirectDraw::DDInit", "matching": 1.0, "diff": []}, {"address": "0x1009d9d0", "recomp": "0x1008bb10", "name": "MxDirectDraw::IsSupportedMode", "matching": 0.6875, "diff": [["@@ -0x1009d9d0,32 +0x1008bb10,32 @@", [{"both": [["0x1009d9d0", "push ebx", "0x1008bb10"], ["0x1009d9d1", "mov eax, dword ptr [ecx + 0x870]", "0x1008bb11"], ["0x1009d9d7", "push esi", "0x1008bb17"], ["0x1009d9d8", "push edi", "0x1008bb18"], ["0x1009d9d9", "xor edi, edi", "0x1008bb19"], ["0x1009d9db", "mov ebx, dword ptr [eax + 8]", "0x1008bb1b"], ["0x1009d9de", "cmp ebx, edi", "0x1008bb1e"], ["0x1009d9e0", "jle 0x25", "0x1008bb20"]]}, {"orig": [["0x1009d9e2", "mov eax, dword ptr [eax + 4]"], ["0x1009d9e5", "mov ecx, dword ptr [esp + 0x10]"], ["0x1009d9e9", "mov edx, dword ptr [esp + 0x14]"], ["0x1009d9ed", "mov esi, dword ptr [esp + 0x18]"], ["0x1009d9f1", "cmp dword ptr [eax], ecx"]], "recomp": [["0x1008bb22", "mov esi, dword ptr [eax + 4]"], ["0x1008bb25", "mov ecx, dword ptr [esp + 0x14]"], ["0x1008bb29", "mov eax, dword ptr [esp + 0x10]"], ["0x1008bb2d", "mov edx, dword ptr [esp + 0x18]"], ["0x1008bb31", "cmp dword ptr [esi], eax"]]}, {"both": [["0x1009d9f3", "jne 0xa", "0x1008bb33"]]}, {"orig": [["0x1009d9f5", "cmp dword ptr [eax + 4], edx"]], "recomp": [["0x1008bb35", "cmp dword ptr [esi + 4], ecx"]]}, {"both": [["0x1009d9f8", "jne 0x5", "0x1008bb38"]]}, {"orig": [["0x1009d9fa", "cmp dword ptr [eax + 8], esi"]], "recomp": [["0x1008bb3a", "cmp dword ptr [esi + 8], edx"]]}, {"both": [["0x1009d9fd", "je 0x10", "0x1008bb3d"]]}, {"orig": [["0x1009d9ff", "add eax, 0xc"]], "recomp": [["0x1008bb3f", "add esi, 0xc"]]}, {"both": [["0x1009da02", "inc edi", "0x1008bb42"]]}, {"orig": [["0x1009da03", "cmp edi, ebx"], ["0x1009da05", "jl -0x16"]], "recomp": [["0x1008bb43", "cmp ebx, edi"], ["0x1008bb45", "jg -0x16"]]}, {"both": [["0x1009da07", "xor eax, eax", "0x1008bb47"], ["0x1009da09", "pop edi", "0x1008bb49"], ["0x1009da0a", "pop esi", "0x1008bb4a"], ["0x1009da0b", "pop ebx", "0x1008bb4b"], ["0x1009da0c", "ret 0xc", "0x1008bb4c"], ["0x1009da0f", "mov eax, 1", "0x1008bb4f"], ["0x1009da14", "pop edi", "0x1008bb54"], ["0x1009da15", "pop esi", "0x1008bb55"], ["0x1009da16", "pop ebx", "0x1008bb56"], ["0x1009da17", "ret 0xc", "0x1008bb57"]]}]]]}, {"address": "0x1009da20", "recomp": "0x1008bb60", "name": "EnableResizing", "matching": 1.0, "diff": []}, {"address": "0x1009da80", "recomp": "0x1008bbc0", "name": "MxDirectDraw::DDSetMode", "matching": 1.0, "diff": []}, {"address": "0x1009dd80", "recomp": "0x1008bec0", "name": "MxDirectDraw::CreateDDSurface", "matching": 1.0, "diff": []}, {"address": "0x1009dda0", "recomp": "0x1008bee0", "name": "MxDirectDraw::GetDDSurfaceDesc", "matching": 1.0, "diff": []}, {"address": "0x1009ddf0", "recomp": "0x1008bf30", "name": "MxDirectDraw::DDCreateSurfaces", "matching": 1.0, "diff": []}, {"address": "0x1009e020", "recomp": "0x1008c160", "name": "MxDirectDraw::FUN_1009e020", "matching": 1.0, "diff": []}, {"address": "0x1009e110", "recomp": "0x1008c250", "name": "MxDirectDraw::TextToTextSurface", "matching": 1.0, "diff": []}, {"address": "0x1009e210", "recomp": "0x1008c350", "name": "MxDirectDraw::TextToTextSurface1", "matching": 1.0, "diff": []}, {"address": "0x1009e230", "recomp": "0x1008c370", "name": "MxDirectDraw::TextToTextSurface2", "matching": 1.0, "diff": []}, {"address": "0x1009e250", "recomp": "0x1008c390", "name": "MxDirectDraw::CreateTextSurfaces", "matching": 1.0, "diff": []}, {"address": "0x1009e4d0", "recomp": "0x1008c610", "name": "MxDirectDraw::RestoreSurfaces", "matching": 1.0, "diff": []}, {"address": "0x1009e5e0", "recomp": "0x1008c720", "name": "MxDirectDraw::CreateZBuffer", "matching": 1.0, "diff": []}, {"address": "0x1009e6a0", "recomp": "0x1008c7e0", "name": "MxDirectDraw::Pause", "matching": 1.0, "diff": []}, {"address": "0x1009e750", "recomp": "0x1008c890", "name": "MxDirectDraw::RestorePaletteEntries", "matching": 1.0, "diff": []}, {"address": "0x1009e7a0", "recomp": "0x1008c8e0", "name": "MxDirectDraw::RestoreOriginalPaletteEntries", "matching": 1.0, "diff": []}, {"address": "0x1009e7f0", "recomp": "0x1008c930", "name": "MxDirectDraw::FlipToGDISurface", "matching": 1.0, "diff": []}, {"address": "0x1009e830", "recomp": "0x1008c970", "name": "MxDirectDraw::Error", "matching": 1.0, "diff": []}, {"address": "0x1009e880", "recomp": "0x1008c9c0", "name": "MxDirectDraw::ErrorToString", "matching": 1.0, "diff": []}, {"address": "0x1009efb0", "recomp": "0x1008af50", "name": "DeviceModesInfo::DeviceModesInfo", "matching": 1.0, "diff": []}, {"address": "0x1009efd0", "recomp": "0x1008af70", "name": "DeviceModesInfo::~DeviceModesInfo", "matching": 1.0, "diff": []}, {"address": "0x1009f000", "recomp": "0x1008d0f0", "name": "LegoUnknownKey::LegoUnknownKey", "matching": 1.0, "diff": []}, {"address": "0x1009f020", "recomp": "0x1008d110", "name": "LegoUnknownKey::Read", "matching": 1.0, "diff": []}, {"address": "0x1009f060", "recomp": "0x1008d150", "name": "LegoUnknownKey::Write", "matching": 1.0, "diff": []}, {"address": "0x1009f0a0", "recomp": "0x1008d190", "name": "LegoAnimScene::LegoAnimScene", "matching": 1.0, "diff": []}, {"address": "0x1009f0d0", "recomp": "0x1008d1c0", "name": "LegoAnimScene::~LegoAnimScene", "matching": 1.0, "diff": []}, {"address": "0x1009f120", "recomp": "0x1008d210", "name": "LegoAnimScene::Write", "matching": 1.0, "diff": []}, {"address": "0x1009f200", "recomp": "0x1008d2f0", "name": "LegoAnimScene::Read", "matching": 1.0, "diff": []}, {"address": "0x1009f490", "recomp": "0x1008d580", "name": "LegoAnimScene::FUN_1009f490", "matching": 0.8533772652388797, "diff": [["@@ -0x1009f4a5,27 +0x1008d595,27 @@", [{"both": [["0x1009f4a5", "push esi", "0x1008d595"], ["0x1009f4a6", "push edi", "0x1008d596"], ["0x1009f4a7", "mov esi, ecx", "0x1008d597"], ["0x1009f4a9", "mov eax, MxMatrix::`vftable' (VTABLE)", "0x1008d599"], ["0x1009f4ae", "lea ecx, [esp + 0xe8]", "0x1008d59e"], ["0x1009f4b5", "mov dword ptr [esp + 0x98], eax", "0x1008d5a5"], ["0x1009f4bc", "mov dword ptr [esp + 0xe4], ecx", "0x1008d5ac"], ["0x1009f4c3", "mov ecx, Vector3::`vftable' (VTABLE)", "0x1008d5b3"], ["0x1009f4c8", "lea edx, [esp + 0xb0]", "0x1008d5b8"], ["0x1009f4cf", "mov dword ptr [esp + 0xe0], eax", "0x1008d5bf"]]}, {"orig": [], "recomp": [["0x1008d5c6", "mov dword ptr [esp + 0x20], ecx"], ["0x1008d5ca", "lea eax, [esp + 0xa0]"]]}, {"both": [["0x1009f4d6", "mov dword ptr [esp + 0x54], edx", "0x1008d5d1"]]}, {"orig": [["0x1009f4da", "lea eax, [esp + 0xa0]"], ["0x1009f4e1", "mov dword ptr [esp + 0x50], ecx"]], "recomp": []}, {"both": [["0x1009f4e5", "lea ebx, [esp + 0xd0]", "0x1008d5d5"], ["0x1009f4ec", "mov dword ptr [esp + 0x24], eax", "0x1008d5dc"], ["0x1009f4f0", "lea eax, [esp + 0xc0]", "0x1008d5e0"]]}, {"orig": [["0x1009f4f7", "mov dword ptr [esp + 0x20], ecx"]], "recomp": [["0x1008d5e7", "mov dword ptr [esp + 0x50], ecx"]]}, {"both": [["0x1009f4fb", "mov dword ptr [esp + 0x10], eax", "0x1008d5eb"], ["0x1009f4ff", "mov dword ptr [esp + 0xc], ecx", "0x1008d5ef"], ["0x1009f503", "mov dword ptr [esp + 0x4c], ebx", "0x1008d5f3"], ["0x1009f507", "mov dword ptr [esp + 0x48], ecx", "0x1008d5f7"], ["0x1009f50b", "mov dword ptr [esp + 0x34], Mx3DPointFloat::`vftable' (VTABLE)", "0x1008d5fb"], ["0x1009f513", "lea ecx, [esp + 0x3c]", "0x1008d603"], ["0x1009f517", "mov dword ptr [esp + 0x38], ecx", "0x1008d607"], ["0x1009f51b", "lea ecx, [esp + 0x98]", "0x1008d60b"], ["0x1009f522", "call dword ptr [->Matrix4::Clear (FUNCTION)]", "0x1008d612"], ["0x1009f528", "mov eax, dword ptr [esp + 0x9c]", "0x1008d618"]]}]], ["@@ -0x1009f5fe,55 +0x1008d6ee,55 @@", [{"both": [["0x1009f5fe", "push ecx", "0x1008d6ee"], ["0x1009f5ff", "lea ecx, [esp + 0x10]", "0x1008d6ef"], ["0x1009f603", "call dword ptr [ebx + 0x54]", "0x1008d6f3"], ["0x1009f606", "lea ecx, [esp + 0xc]", "0x1008d6f6"], ["0x1009f60a", "mov ebx, dword ptr [esp + 0xc]", "0x1008d6fa"], ["0x1009f60e", "call dword ptr [ebx + 0x40]", "0x1008d6fe"], ["0x1009f611", "fcom dword ptr [0.0 (FLOAT)]", "0x1008d701"], ["0x1009f617", "fstp dword ptr [esp + 0x58]", "0x1008d707"], ["0x1009f61b", "fnstsw ax", "0x1008d70b"], ["0x1009f61d", "test ah, 0x41", "0x1008d70d"]]}, {"orig": [["0x1009f620", "jne 0x2bd"]], "recomp": [["0x1008d710", "jne 0x28e"]]}, {"both": [["0x1009f626", "fld dword ptr [esp + 0x58]", "0x1008d716"], ["0x1009f62a", "fsqrt ", "0x1008d71a"], ["0x1009f62c", "fcom dword ptr [0.0 (FLOAT)]", "0x1008d71c"], ["0x1009f632", "fstp dword ptr [esp + 0x58]", "0x1008d722"], ["0x1009f636", "fnstsw ax", "0x1008d726"], ["0x1009f638", "test ah, 0x41", "0x1008d728"]]}, {"orig": [["0x1009f63b", "jne 0x2a2"]], "recomp": [["0x1008d72b", "jne 0x273"]]}, {"both": [["0x1009f641", "lea eax, [esp + 0x58]", "0x1008d731"], ["0x1009f645", "lea ecx, [esp + 0xc]", "0x1008d735"], ["0x1009f649", "mov ebx, dword ptr [esp + 0xc]", "0x1008d739"], ["0x1009f64d", "push eax", "0x1008d73d"], ["0x1009f64e", "call dword ptr [ebx + 0x14]", "0x1008d73e"], ["0x1009f651", "mov ecx, dword ptr [esp + 0x10]", "0x1008d741"], ["0x1009f655", "mov eax, dword ptr [esp + 0x54]", "0x1008d745"], ["0x1009f659", "mov ebx, dword ptr [esp + 0x20]", "0x1008d749"], ["0x1009f65d", "push ecx", "0x1008d74d"], ["0x1009f65e", "lea ecx, [esp + 0x24]", "0x1008d74e"], ["0x1009f662", "push eax", "0x1008d752"], ["0x1009f663", "call dword ptr [ebx + 0x74]", "0x1008d753"], ["0x1009f666", "lea ecx, [esp + 0x20]", "0x1008d756"], ["0x1009f66a", "mov ebx, dword ptr [esp + 0x20]", "0x1008d75a"], ["0x1009f66e", "call dword ptr [ebx + 0x40]", "0x1008d75e"], ["0x1009f671", "fcom dword ptr [0.0 (FLOAT)]", "0x1008d761"], ["0x1009f677", "fstp dword ptr [esp + 0x58]", "0x1008d767"], ["0x1009f67b", "fnstsw ax", "0x1008d76b"], ["0x1009f67d", "test ah, 0x41", "0x1008d76d"]]}, {"orig": [["0x1009f680", "jne 0x25d"]], "recomp": [["0x1008d770", "jne 0x22e"]]}, {"both": [["0x1009f686", "fld dword ptr [esp + 0x58]", "0x1008d776"], ["0x1009f68a", "fsqrt ", "0x1008d77a"], ["0x1009f68c", "fcom dword ptr [0.0 (FLOAT)]", "0x1008d77c"], ["0x1009f692", "fstp dword ptr [esp + 0x58]", "0x1008d782"], ["0x1009f696", "fnstsw ax", "0x1008d786"], ["0x1009f698", "test ah, 0x41", "0x1008d788"]]}, {"orig": [["0x1009f69b", "jne 0x242"]], "recomp": [["0x1008d78b", "jne 0x213"]]}, {"both": [["0x1009f6a1", "lea eax, [esp + 0x58]", "0x1008d791"], ["0x1009f6a5", "lea ecx, [esp + 0x20]", "0x1008d795"], ["0x1009f6a9", "mov ebx, dword ptr [esp + 0x20]", "0x1008d799"], ["0x1009f6ad", "push eax", "0x1008d79d"], ["0x1009f6ae", "call dword ptr [ebx + 0x14]", "0x1008d79e"], ["0x1009f6b1", "mov ecx, dword ptr [esp + 0x24]", "0x1008d7a1"], ["0x1009f6b5", "mov eax, dword ptr [esp + 0x10]", "0x1008d7a5"], ["0x1009f6b9", "mov ebx, dword ptr [esp + 0x50]", "0x1008d7a9"], ["0x1009f6bd", "push ecx", "0x1008d7ad"], ["0x1009f6be", "lea ecx, [esp + 0x54]", "0x1008d7ae"]]}]], ["@@ -0x1009f71b,105 +0x1008d80b,89 @@", [{"both": [["0x1009f71b", "add ecx, 0x30", "0x1008d80b"], ["0x1009f71e", "add eax, 0x30", "0x1008d80e"], ["0x1009f721", "mov dword ptr [edx + 0x38], edi", "0x1008d811"], ["0x1009f724", "mov dword ptr [eax + 4], edi", "0x1008d814"], ["0x1009f727", "mov dword ptr [eax], edi", "0x1008d817"], ["0x1009f729", "mov dword ptr [ecx + 8], edi", "0x1008d819"], ["0x1009f72c", "mov dword ptr [ecx + 4], edi", "0x1008d81c"], ["0x1009f72f", "mov dword ptr [ecx], edi", "0x1008d81f"], ["0x1009f731", "mov cx, word ptr [esi + 0x10]", "0x1008d821"], ["0x1009f735", "test cx, cx", "0x1008d825"]]}, {"orig": [["0x1009f738", "je 0x156"]], "recomp": [["0x1008d828", "je 0x127"]]}, {"both": [["0x1009f73e", "mov eax, dword ptr [esi + 0x20]", "0x1008d82e"]]}, {"orig": [["0x1009f741", "lea edx, [esp + 0x2c]"]], "recomp": [["0x1008d831", "lea edx, [esp + 0x30]"], ["0x1008d835", "mov dword ptr [esp + 0x2c], eax"], ["0x1008d839", "lea eax, [esp + 0x2c]"], ["0x1008d83d", "push eax"]]}, {"both": [["0x1009f745", "mov edi, dword ptr [esi + 0x14]", "0x1008d83e"]]}, {"orig": [["0x1009f748", "mov dword ptr [esp + 0x30], eax"], ["0x1009f74c", "lea eax, [esp + 0x30]"], ["0x1009f750", "push eax"]], "recomp": [["0x1008d841", "movzx eax, cx"], ["0x1008d844", "mov ecx, dword ptr [esp + 0x130]"]]}, {"both": [["0x1009f751", "push edx", "0x1008d84b"]]}, {"orig": [["0x1009f752", "movzx eax, cx"], ["0x1009f755", "mov ecx, dword ptr [esp + 0x134]"]], "recomp": []}, {"both": [["0x1009f75c", "push 0xc", "0x1008d84c"], ["0x1009f75e", "push edi", "0x1008d84e"], ["0x1009f75f", "push eax", "0x1008d84f"], ["0x1009f760", "push ecx", "0x1008d850"], ["0x1009f761", "call LegoAnimNodeData::FindKeys (FUNCTION)", "0x1008d851"]]}, {"orig": [["0x1009f766", "mov ecx, dword ptr [esp + 0x48]"]], "recomp": [["0x1008d856", "mov ecx, dword ptr [esp + 0x44]"]]}, {"both": [["0x1009f76a", "add esp, 0x18", "0x1008d85a"], ["0x1009f76d", "mov dword ptr [esi + 0x20], ecx", "0x1008d85d"], ["0x1009f770", "cmp eax, 1", "0x1008d860"], ["0x1009f773", "je 0xa", "0x1008d863"], ["0x1009f775", "cmp eax, 2", "0x1008d865"]]}, {"orig": [["0x1009f778", "je 0x7c"], ["0x1009f77a", "jmp 0x115"], ["0x1009f77f", "mov ecx, dword ptr [esp + 0x2c]"]], "recomp": [["0x1008d868", "je 0x79"], ["0x1008d86a", "jmp 0xe6"], ["0x1008d86f", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x1009f783", "mov eax, dword ptr [esi + 0x14]", "0x1008d873"], ["0x1009f786", "lea edx, [ecx + ecx*2]", "0x1008d876"], ["0x1009f789", "fld dword ptr [eax + edx*4 + 8]", "0x1008d879"], ["0x1009f78d", "lea edi, [esp + 0x58]", "0x1008d87d"]]}, {"orig": [["0x1009f791", "mov esi, dword ptr [ebx + 4]"]], "recomp": []}, {"both": [["0x1009f794", "fst dword ptr [esp + 0x28]", "0x1008d881"], ["0x1009f798", "fsin ", "0x1008d885"], ["0x1009f79a", "mov ecx, 0x10", "0x1008d887"]]}, {"orig": [["0x1009f79f", "fstp dword ptr [esp + 0x18]"]], "recomp": [["0x1008d88c", "mov esi, dword ptr [ebx + 4]"], ["0x1008d88f", "fstp dword ptr [esp + 0x14]"]]}, {"both": [["0x1009f7a3", "fld dword ptr [esp + 0x28]", "0x1008d893"], ["0x1009f7a7", "fcos ", "0x1008d897"]]}, {"orig": [["0x1009f7a9", "fstp dword ptr [esp + 0x14]"]], "recomp": [["0x1008d899", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x1009f7ad", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1008d89d"], ["0x1009f7af", "xor esi, esi", "0x1008d89f"], ["0x1009f7b1", "jmp 0x4", "0x1008d8a1"], ["0x1009f7b3", "fstp dword ptr [edx + esi - 0xc]", "0x1008d8a3"]]}, {"orig": [["0x1009f7b7", "lea ecx, [esp + esi + 0x58]"], ["0x1009f7bb", "lea eax, [esp + esi + 0x5c]"]], "recomp": [["0x1008d8a7", "lea eax, [esp + esi + 0x58]"], ["0x1008d8ab", "lea ecx, [esp + esi + 0x5c]"]]}, {"both": [["0x1009f7bf", "mov edx, dword ptr [ebx + 4]", "0x1008d8af"], ["0x1009f7c2", "add esi, 0x10", "0x1008d8b2"]]}, {"orig": [], "recomp": [["0x1008d8b5", "fld dword ptr [eax]"], ["0x1008d8b7", "fmul dword ptr [esp + 0x18]"]]}, {"both": [["0x1009f7c5", "fld dword ptr [ecx]", "0x1008d8bb"], ["0x1009f7c7", "fmul dword ptr [esp + 0x14]", "0x1008d8bd"]]}, {"orig": [["0x1009f7cb", "fld dword ptr [eax]"], ["0x1009f7cd", "fmul dword ptr [esp + 0x18]"]], "recomp": []}, {"both": [["0x1009f7d1", "cmp esi, 0x40", "0x1008d8c1"], ["0x1009f7d4", "fsubp st(1)", "0x1008d8c4"], ["0x1009f7d6", "fstp dword ptr [edx + esi - 0x10]", "0x1008d8c6"], ["0x1009f7da", "fld dword ptr [eax]", "0x1008d8ca"], ["0x1009f7dc", "fmul dword ptr [esp + 0x14]", "0x1008d8cc"], ["0x1009f7e0", "fld dword ptr [ecx]", "0x1008d8d0"], ["0x1009f7e2", "fmul dword ptr [esp + 0x18]", "0x1008d8d2"], ["0x1009f7e6", "mov edx, dword ptr [ebx + 4]", "0x1008d8d6"], ["0x1009f7e9", "faddp st(1)", "0x1008d8d9"], ["0x1009f7eb", "jl -0x3a", "0x1008d8db"], ["0x1009f7ed", "fstp dword ptr [edx + esi - 0xc]", "0x1008d8dd"]]}, {"orig": [["0x1009f7f1", "jmp 0x9e"], ["0x1009f7f6", "mov ecx, dword ptr [esp + 0x2c]"], ["0x1009f7fa", "lea ecx, [ecx + ecx*2]"], ["0x1009f7fd", "shl ecx, 2"], ["0x1009f800", "add ecx, dword ptr [esi + 0x14]"], ["0x1009f803", "mov eax, dword ptr [ecx + 0x14]"], ["0x1009f806", "lea edx, [ecx + 0xc]"], ["0x1009f809", "push eax"], ["0x1009f80a", "mov edi, dword ptr [ecx + 8]"], ["0x1009f80d", "mov eax, dword ptr [esp + 0x130]"], ["0x1009f814", "push edx"], ["0x1009f815", "push edi"], ["0x1009f816", "push ecx"], ["0x1009f817", "push eax"], ["0x1009f818", "call <OFFSET8>"], ["0x1009f81d", "fstp st(0)"], ["0x1009f81f", "mov ecx, dword ptr [esp + 0x40]"], ["0x1009f823", "add esp, 0x14"]], "recomp": [["0x1008d8e1", "jmp 0x72"], ["0x1008d8e3", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x1009f826", "mov eax, dword ptr [esi + 0x14]", "0x1008d8e7"], ["0x1009f829", "lea edx, [ecx + ecx*2]", "0x1008d8ea"], ["0x1009f82c", "fld dword ptr [eax + edx*4 + 8]", "0x1008d8ed"], ["0x1009f830", "lea edi, [esp + 0x58]", "0x1008d8f1"]]}, {"orig": [["0x1009f834", "mov esi, dword ptr [ebx + 4]"]], "recomp": []}, {"both": [["0x1009f837", "fst dword ptr [esp + 0x28]", "0x1008d8f5"], ["0x1009f83b", "fsin ", "0x1008d8f9"], ["0x1009f83d", "mov ecx, 0x10", "0x1008d8fb"]]}, {"orig": [], "recomp": [["0x1008d900", "mov esi, dword ptr [ebx + 4]"]]}, {"both": [["0x1009f842", "fstp dword ptr [esp + 0x18]", "0x1008d903"], ["0x1009f846", "fld dword ptr [esp + 0x28]", "0x1008d907"], ["0x1009f84a", "fcos ", "0x1008d90b"], ["0x1009f84c", "fstp dword ptr [esp + 0x14]", "0x1008d90d"], ["0x1009f850", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x1008d911"], ["0x1009f852", "xor esi, esi", "0x1008d913"], ["0x1009f854", "jmp 0x4", "0x1008d915"], ["0x1009f856", "fstp dword ptr [edx + esi - 0xc]", "0x1008d917"], ["0x1009f85a", "lea ecx, [esp + esi + 0x58]", "0x1008d91b"], ["0x1009f85e", "lea eax, [esp + esi + 0x5c]", "0x1008d91f"]]}]], ["@@ -0x1009f8a2,10 +0x1008d963,27 @@", [{"both": [["0x1009f8a2", "push ebx", "0x1008d963"], ["0x1009f8a3", "call dword ptr [eax + 0x28]", "0x1008d964"], ["0x1009f8a6", "mov eax, dword ptr [esp + 0x9c]", "0x1008d967"], ["0x1009f8ad", "mov ecx, dword ptr [esp + 0xe4]", "0x1008d96e"], ["0x1009f8b4", "push eax", "0x1008d975"], ["0x1009f8b5", "mov esi, dword ptr [ebx]", "0x1008d976"], ["0x1009f8b7", "push ecx", "0x1008d978"], ["0x1009f8b8", "mov ecx, ebx", "0x1008d979"], ["0x1009f8ba", "call dword ptr [esi + 0x3c]", "0x1008d97b"], ["0x1009f8bd", "mov edx, dword ptr [esp + 0x38]", "0x1008d97e"]]}, {"orig": [], "recomp": [["0x1008d982", "mov ecx, dword ptr [ebx + 4]"], ["0x1008d985", "mov eax, dword ptr [edx]"], ["0x1008d987", "mov dword ptr [ecx + 0x30], eax"], ["0x1008d98a", "mov ecx, dword ptr [ebx + 4]"], ["0x1008d98d", "mov edx, dword ptr [esp + 0x38]"], ["0x1008d991", "mov eax, dword ptr [edx + 4]"], ["0x1008d994", "mov dword ptr [ecx + 0x34], eax"], ["0x1008d997", "mov edx, dword ptr [esp + 0x38]"], ["0x1008d99b", "mov ebx, dword ptr [ebx + 4]"], ["0x1008d99e", "mov ecx, dword ptr [edx + 8]"], ["0x1008d9a1", "mov dword ptr [ebx + 0x38], ecx"], ["0x1008d9a4", "xor eax, eax"], ["0x1008d9a6", "pop edi"], ["0x1008d9a7", "pop esi"], ["0x1008d9a8", "pop ebx"], ["0x1008d9a9", "add esp, 0x11c"], ["0x1008d9af", "ret 8"]]}]]]}, {"address": "0x1009f900", "recomp": "0x1008d9c0", "name": "LegoAnimKey::LegoAnimKey", "matching": 1.0, "diff": []}, {"address": "0x1009f910", "recomp": "0x1008d9d0", "name": "LegoAnimKey::Read", "matching": 1.0, "diff": []}, {"address": "0x1009f950", "recomp": "0x1008da10", "name": "LegoAnimKey::Write", "matching": 1.0, "diff": []}, {"address": "0x1009f990", "recomp": "0x1008da50", "name": "LegoTranslationKey::LegoTranslationKey", "matching": 1.0, "diff": []}, {"address": "0x1009f9b0", "recomp": "0x1008da70", "name": "LegoTranslationKey::Read", "matching": 1.0, "diff": []}, {"address": "0x1009fa40", "recomp": "0x1008db00", "name": "LegoTranslationKey::Write", "matching": 1.0, "diff": []}, {"address": "0x1009faa0", "recomp": "0x1008db60", "name": "LegoRotationKey::LegoRotationKey", "matching": 1.0, "diff": []}, {"address": "0x1009fac0", "recomp": "0x1008db80", "name": "LegoRotationKey::Read", "matching": 1.0, "diff": []}, {"address": "0x1009fb30", "recomp": "0x1008dbf0", "name": "LegoRotationKey::Write", "matching": 1.0, "diff": []}, {"address": "0x1009fba0", "recomp": "0x1008dc60", "name": "LegoScaleKey::LegoScaleKey", "matching": 1.0, "diff": []}, {"address": "0x1009fbc0", "recomp": "0x1008dc80", "name": "LegoScaleKey::Read", "matching": 1.0, "diff": []}, {"address": "0x1009fc90", "recomp": "0x1008dd50", "name": "LegoScaleKey::Write", "matching": 0.717948717948718, "diff": [["@@ -0x1009fc90,39 +0x1008dd50,39 @@", [{"both": [["0x1009fc90", "push ebx", "0x1008dd50"], ["0x1009fc91", "push esi", "0x1008dd51"]]}, {"orig": [], "recomp": [["0x1008dd52", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x1009fc92", "push edi", "0x1008dd56"]]}, {"orig": [["0x1009fc93", "mov esi, ecx"], ["0x1009fc95", "mov edi, dword ptr [esp + 0x10]"], ["0x1009fc99", "push edi"]], "recomp": [["0x1008dd57", "mov edi, ecx"], ["0x1008dd59", "push esi"]]}, {"both": [["0x1009fc9a", "call LegoAnimKey::Write (FUNCTION)", "0x1008dd5a"], ["0x1009fc9f", "test eax, eax", "0x1008dd5f"], ["0x1009fca1", "jne 0x3a", "0x1008dd61"]]}, {"orig": [["0x1009fca3", "mov eax, dword ptr [edi]"]], "recomp": [["0x1008dd63", "mov eax, dword ptr [esi]"]]}, {"both": [["0x1009fca5", "push 4", "0x1008dd65"]]}, {"orig": [["0x1009fca7", "lea ecx, [esi + 8]"]], "recomp": [["0x1008dd67", "lea ecx, [edi + 8]"]]}, {"both": [["0x1009fcaa", "mov ebx, dword ptr [eax + 8]", "0x1008dd6a"], ["0x1009fcad", "push ecx", "0x1008dd6d"]]}, {"orig": [["0x1009fcae", "mov ecx, edi"]], "recomp": [["0x1008dd6e", "mov ecx, esi"]]}, {"both": [["0x1009fcb0", "call ebx", "0x1008dd70"], ["0x1009fcb2", "test eax, eax", "0x1008dd72"], ["0x1009fcb4", "jne 0x27", "0x1008dd74"], ["0x1009fcb6", "push 4", "0x1008dd76"]]}, {"orig": [["0x1009fcb8", "lea eax, [esi + 0xc]"]], "recomp": [["0x1008dd78", "lea eax, [edi + 0xc]"]]}, {"both": [["0x1009fcbb", "push eax", "0x1008dd7b"]]}, {"orig": [["0x1009fcbc", "mov ecx, edi"]], "recomp": [["0x1008dd7c", "mov ecx, esi"]]}, {"both": [["0x1009fcbe", "call ebx", "0x1008dd7e"], ["0x1009fcc0", "test eax, eax", "0x1008dd80"], ["0x1009fcc2", "jne 0x19", "0x1008dd82"], ["0x1009fcc4", "push 4", "0x1008dd84"]]}, {"orig": [["0x1009fcc6", "add esi, 0x10"], ["0x1009fcc9", "push esi"], ["0x1009fcca", "mov ecx, edi"]], "recomp": [["0x1008dd86", "add edi, 0x10"], ["0x1008dd89", "push edi"], ["0x1008dd8a", "mov ecx, esi"]]}, {"both": [["0x1009fccc", "call ebx", "0x1008dd8c"], ["0x1009fcce", "cmp eax, 1", "0x1008dd8e"], ["0x1009fcd1", "mov ecx, eax", "0x1008dd91"], ["0x1009fcd3", "mov eax, 0", "0x1008dd93"], ["0x1009fcd8", "adc eax, -1", "0x1008dd98"], ["0x1009fcdb", "and eax, ecx", "0x1008dd9b"], ["0x1009fcdd", "pop edi", "0x1008dd9d"], ["0x1009fcde", "pop esi", "0x1008dd9e"], ["0x1009fcdf", "pop ebx", "0x1008dd9f"], ["0x1009fce0", "ret 4", "0x1008dda0"]]}]]]}, {"address": "0x1009fcf0", "recomp": "0x1008ddb0", "name": "LegoAnimNodeData::LegoAnimNodeData", "matching": 1.0, "diff": []}, {"address": "0x1009fd80", "recomp": "0x1008de50", "name": "LegoAnimNodeData::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x1009fda0", "recomp": "0x1008de70", "name": "LegoAnimNodeData::~LegoAnimNodeData", "matching": 1.0, "diff": []}, {"address": "0x1009fe60", "recomp": "0x1008df30", "name": "LegoAnimNodeData::Read", "matching": 1.0, "diff": []}, {"address": "0x100a01e0", "recomp": "0x1008e2b0", "name": "LegoAnimNodeData::Write", "matching": 1.0, "diff": []}, {"address": "0x100a0360", "recomp": "0x1008e430", "name": "LegoAnimNodeData::SetName", "matching": 1.0, "diff": []}, {"address": "0x100a03c0", "recomp": "0x1008e490", "name": "LegoAnimNodeData::CreateLocalTransform", "matching": 0.8305084745762712, "diff": [["@@ -0x100a03c0,86 +0x1008e490,84 @@", [{"both": [["0x100a03c0", "sub esp, 0x9c", "0x1008e490"], ["0x100a03c6", "push esi", "0x1008e496"], ["0x100a03c7", "push edi", "0x1008e497"], ["0x100a03c8", "mov edi, dword ptr [ecx + 0x18]", "0x1008e498"], ["0x100a03cb", "mov esi, ecx", "0x1008e49b"], ["0x100a03cd", "test edi, edi", "0x1008e49d"]]}, {"orig": [["0x100a03cf", "je 0x1a9"]], "recomp": [["0x1008e49f", "je 0x1a4"]]}, {"both": [["0x100a03d5", "mov eax, dword ptr [esi + 0x2c]", "0x1008e4a5"], ["0x100a03d8", "lea ecx, [esp + 0x5c]", "0x1008e4a8"], ["0x100a03dc", "mov dword ptr [esp + 8], eax", "0x1008e4ac"], ["0x100a03e0", "lea eax, [esp + 8]", "0x1008e4b0"], ["0x100a03e4", "push eax", "0x1008e4b4"], ["0x100a03e5", "push ecx", "0x1008e4b5"], ["0x100a03e6", "push 0x14", "0x1008e4b6"], ["0x100a03e8", "xor eax, eax", "0x1008e4b8"], ["0x100a03ea", "mov ax, word ptr [esi + 0xc]", "0x1008e4ba"], ["0x100a03ee", "push edi", "0x1008e4be"], ["0x100a03ef", "mov ecx, dword ptr [esp + 0xb8]", "0x1008e4bf"], ["0x100a03f6", "push eax", "0x1008e4c6"], ["0x100a03f7", "push ecx", "0x1008e4c7"], ["0x100a03f8", "call LegoAnimNodeData::FindKeys (FUNCTION)", "0x1008e4c8"], ["0x100a03fd", "add esp, 0x18", "0x1008e4cd"], ["0x100a0400", "test eax, eax", "0x1008e4d0"]]}, {"orig": [["0x100a0402", "je 0xc7"]], "recomp": [["0x1008e4d2", "je 0xc2"]]}, {"both": [["0x100a0408", "cmp eax, 1", "0x1008e4d8"], ["0x100a040b", "je 0xa", "0x1008e4db"], ["0x100a040d", "cmp eax, 2", "0x1008e4dd"], ["0x100a0410", "je 0x2a", "0x1008e4e0"]]}, {"orig": [["0x100a0412", "jmp 0x99"]], "recomp": [["0x1008e4e2", "jmp 0x94"]]}, {"both": [["0x100a0417", "mov eax, dword ptr [esp + 0x5c]", "0x1008e4e7"], ["0x100a041b", "shl eax, 2", "0x1008e4eb"], ["0x100a041e", "lea edx, [eax + eax*4]", "0x1008e4ee"], ["0x100a0421", "mov eax, dword ptr [edx + edi + 8]", "0x1008e4f1"], ["0x100a0425", "lea ecx, [edx + edi]", "0x1008e4f5"], ["0x100a0428", "mov dword ptr [esp + 0x10], eax", "0x1008e4f8"], ["0x100a042c", "mov edx, dword ptr [ecx + 0xc]", "0x1008e4fc"], ["0x100a042f", "mov dword ptr [esp + 0xc], edx", "0x1008e4ff"], ["0x100a0433", "mov ecx, dword ptr [ecx + 0x10]", "0x1008e503"], ["0x100a0436", "mov dword ptr [esp + 0x14], ecx", "0x1008e506"]]}, {"orig": [["0x100a043a", "jmp 0x74"]], "recomp": [["0x1008e50a", "jmp 0x6f"]]}, {"both": [["0x100a043c", "mov eax, dword ptr [esp + 0x5c]", "0x1008e50c"], ["0x100a0440", "shl eax, 2", "0x1008e510"]]}, {"orig": [["0x100a0443", "lea edx, [eax + eax*4]"], ["0x100a0446", "fld dword ptr [edx + edi + 0x1c]"], ["0x100a044a", "fsub dword ptr [edx + edi + 8]"], ["0x100a044e", "fld dword ptr [edx + edi + 0x18]"], ["0x100a0452", "fsub dword ptr [edx + edi + 4]"], ["0x100a0456", "lea ecx, [edx + edi]"]], "recomp": [["0x1008e513", "lea eax, [eax + eax*4]"], ["0x1008e516", "add eax, edi"], ["0x1008e518", "fld dword ptr [eax + 0x1c]"], ["0x1008e51b", "fsub dword ptr [eax + 8]"], ["0x1008e51e", "fld dword ptr [eax + 0x18]"], ["0x1008e521", "fsub dword ptr [eax + 4]"]]}, {"both": [["0x100a0459", "fdivp st(1)", "0x1008e524"], ["0x100a045b", "fld dword ptr [esp + 0xa8]", "0x1008e526"]]}, {"orig": [["0x100a0462", "fsub dword ptr [ecx + 4]"]], "recomp": [["0x1008e52d", "fsub dword ptr [eax + 4]"]]}, {"both": [["0x100a0465", "fmulp st(1)", "0x1008e530"]]}, {"orig": [["0x100a0467", "fadd dword ptr [ecx + 8]"]], "recomp": [["0x1008e532", "fadd dword ptr [eax + 8]"]]}, {"both": [["0x100a046a", "fstp dword ptr [esp + 0x10]", "0x1008e535"]]}, {"orig": [["0x100a046e", "fld dword ptr [ecx + 0x20]"], ["0x100a0471", "fsub dword ptr [ecx + 0xc]"], ["0x100a0474", "fld dword ptr [ecx + 0x18]"], ["0x100a0477", "fsub dword ptr [ecx + 4]"]], "recomp": [["0x1008e539", "fld dword ptr [eax + 0x20]"], ["0x1008e53c", "fsub dword ptr [eax + 0xc]"], ["0x1008e53f", "fld dword ptr [eax + 0x18]"], ["0x1008e542", "fsub dword ptr [eax + 4]"]]}, {"both": [["0x100a047a", "fdivp st(1)", "0x1008e545"], ["0x100a047c", "fld dword ptr [esp + 0xa8]", "0x1008e547"]]}, {"orig": [["0x100a0483", "fsub dword ptr [ecx + 4]"], ["0x100a0486", "lea edx, [ecx + 0x14]"]], "recomp": [["0x1008e54e", "fsub dword ptr [eax + 4]"]]}, {"both": [["0x100a0489", "fmulp st(1)", "0x1008e551"]]}, {"orig": [["0x100a048b", "fadd dword ptr [ecx + 0xc]"]], "recomp": [["0x1008e553", "fadd dword ptr [eax + 0xc]"]]}, {"both": [["0x100a048e", "fstp dword ptr [esp + 0xc]", "0x1008e556"]]}, {"orig": [["0x100a0492", "mov eax, dword ptr [ecx + 0x24]"], ["0x100a0495", "mov edi, dword ptr [ecx + 0x10]"], ["0x100a0498", "push eax"], ["0x100a0499", "push edx"], ["0x100a049a", "mov eax, dword ptr [esp + 0xb0]"], ["0x100a04a1", "push edi"], ["0x100a04a2", "push ecx"], ["0x100a04a3", "push eax"], ["0x100a04a4", "call <OFFSET2>"], ["0x100a04a9", "fstp dword ptr [esp + 0x28]"], ["0x100a04ad", "add esp, 0x14"]], "recomp": [["0x1008e55a", "fld dword ptr [eax + 0x24]"], ["0x1008e55d", "fsub dword ptr [eax + 0x10]"], ["0x1008e560", "fld dword ptr [eax + 0x18]"], ["0x1008e563", "fsub dword ptr [eax + 4]"], ["0x1008e566", "fdivp st(1)"], ["0x1008e568", "fld dword ptr [esp + 0xa8]"], ["0x1008e56f", "fsub dword ptr [eax + 4]"], ["0x1008e572", "fmulp st(1)"], ["0x1008e574", "fadd dword ptr [eax + 0x10]"], ["0x1008e577", "fstp dword ptr [esp + 0x14]"]]}, {"both": [["0x100a04b0", "lea eax, [esp + 0x14]", "0x1008e57b"], ["0x100a04b4", "lea ecx, [esp + 0xc]", "0x1008e57f"], ["0x100a04b8", "lea edx, [esp + 0x10]", "0x1008e583"], ["0x100a04bc", "push eax", "0x1008e587"], ["0x100a04bd", "mov edi, dword ptr [esp + 0xb0]", "0x1008e588"], ["0x100a04c4", "push ecx", "0x1008e58f"], ["0x100a04c5", "push edx", "0x1008e590"], ["0x100a04c6", "mov ecx, edi", "0x1008e591"], ["0x100a04c8", "call Matrix4::Scale (FUNCTION)", "0x1008e593"], ["0x100a04cd", "jmp 0x7", "0x1008e598"]]}]], ["@@ -0x100a05db,10 +0x1008e6a6,12 @@", [{"both": [["0x100a05db", "push ecx", "0x1008e6a6"], ["0x100a05dc", "mov cx, word ptr [esi + 8]", "0x1008e6a7"], ["0x100a05e0", "push ecx", "0x1008e6ab"], ["0x100a05e1", "call LegoAnimNodeData::GetTranslation (FUNCTION)", "0x1008e6ac"], ["0x100a05e6", "mov ecx, dword ptr [esp + 0x1c]", "0x1008e6b1"], ["0x100a05ea", "add esp, 0x14", "0x1008e6b5"], ["0x100a05ed", "mov dword ptr [esi + 0x24], ecx", "0x1008e6b8"], ["0x100a05f0", "xor eax, eax", "0x1008e6bb"], ["0x100a05f2", "pop edi", "0x1008e6bd"], ["0x100a05f3", "pop esi", "0x1008e6be"]]}, {"orig": [], "recomp": [["0x1008e6bf", "add esp, 0x9c"], ["0x1008e6c5", "ret 8"]]}]]]}, {"address": "0x100a0600", "recomp": "0x1008e720", "name": "LegoAnimNodeData::GetTranslation", "matching": 1.0, "diff": []}, {"address": "0x100a06f0", "recomp": "0x1008e810", "name": "LegoAnimNodeData::GetRotation", "matching": 0.8333333333333334, "diff": [["@@ -0x100a0731,96 +0x1008e851,96 @@", [{"both": [["0x100a0731", "je 0x62", "0x1008e851"], ["0x100a0733", "pop edi", "0x1008e853"], ["0x100a0734", "pop esi", "0x1008e854"], ["0x100a0735", "add esp, 0x80", "0x1008e855"], ["0x100a073b", "ret ", "0x1008e85b"], ["0x100a073c", "mov eax, dword ptr [esp + 8]", "0x1008e85c"], ["0x100a0740", "lea edx, [eax + eax*2]", "0x1008e860"], ["0x100a0743", "lea ecx, [esi + edx*8]", "0x1008e863"], ["0x100a0746", "test byte ptr [ecx], 1", "0x1008e866"], ["0x100a0749", "je 0x22b", "0x1008e869"]]}, {"orig": [["0x100a074f", "lea eax, [esp + 0x34]"]], "recomp": [["0x1008e86f", "lea eax, [esp + 0x14]"]]}, {"both": [["0x100a0753", "mov edx, dword ptr [ecx + 0xc]", "0x1008e873"]]}, {"orig": [["0x100a0756", "mov dword ptr [esp + 0x30], eax"]], "recomp": [["0x1008e876", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100a075a", "mov esi, dword ptr [ecx + 0x10]", "0x1008e87a"]]}, {"orig": [["0x100a075d", "mov dword ptr [esp + 0x2c], Mx4DPointFloat::`vftable' (VTABLE)"], ["0x100a0765", "mov dword ptr [esp + 0x34], edx"]], "recomp": [["0x1008e87d", "mov dword ptr [esp + 0xc], Mx4DPointFloat::`vftable' (VTABLE)"], ["0x1008e885", "mov dword ptr [esp + 0x14], edx"]]}, {"both": [["0x100a0769", "mov eax, dword ptr [ecx + 0x14]", "0x1008e889"], ["0x100a076c", "mov ecx, dword ptr [ecx + 8]", "0x1008e88c"]]}, {"orig": [["0x100a076f", "lea edx, [esp + 0x2c]"], ["0x100a0773", "mov dword ptr [esp + 0x38], esi"]], "recomp": [["0x1008e88f", "lea edx, [esp + 0xc]"], ["0x1008e893", "mov dword ptr [esp + 0x18], esi"]]}, {"both": [["0x100a0777", "push edx", "0x1008e897"]]}, {"orig": [["0x100a0778", "mov dword ptr [esp + 0x40], eax"], ["0x100a077c", "mov dword ptr [esp + 0x44], ecx"]], "recomp": [["0x1008e898", "mov dword ptr [esp + 0x20], eax"], ["0x1008e89c", "mov dword ptr [esp + 0x24], ecx"]]}, {"both": [["0x100a0780", "mov ecx, dword ptr [esp + 0x9c]", "0x1008e8a0"], ["0x100a0787", "mov eax, dword ptr [ecx]", "0x1008e8a7"], ["0x100a0789", "call dword ptr [eax + 0x44]", "0x1008e8a9"], ["0x100a078c", "pop edi", "0x1008e8ac"], ["0x100a078d", "pop esi", "0x1008e8ad"], ["0x100a078e", "add esp, 0x80", "0x1008e8ae"], ["0x100a0794", "ret ", "0x1008e8b4"]]}, {"orig": [["0x100a0795", "lea eax, [esp + 0x68]"], ["0x100a0799", "lea ecx, [esp + 0x34]"], ["0x100a079d", "lea edx, [esp + 0x4c]"], ["0x100a07a1", "mov dword ptr [esp + 0x64], eax"], ["0x100a07a5", "mov dword ptr [esp + 0x60], Mx4DPointFloat::`vftable' (VTABLE)"], ["0x100a07ad", "mov dword ptr [esp + 0x30], ecx"]], "recomp": [["0x1008e8b5", "lea eax, [esp + 0x34]"], ["0x1008e8b9", "lea ecx, [esp + 0x4c]"], ["0x1008e8bd", "lea edx, [esp + 0x64]"], ["0x1008e8c1", "mov dword ptr [esp + 0x30], eax"], ["0x1008e8c5", "mov dword ptr [esp + 0x48], ecx"]]}, {"both": [["0x100a07b1", "push edx", "0x1008e8c9"], ["0x100a07b2", "mov dword ptr [esp + 0x30], Mx4DPointFloat::`vftable' (VTABLE)", "0x1008e8ca"]]}, {"orig": [["0x100a07ba", "lea ecx, [esp + 0x48]"]], "recomp": [["0x1008e8d2", "mov dword ptr [esp + 0x48], Mx4DPointFloat::`vftable' (VTABLE)"], ["0x1008e8da", "lea ecx, [esp + 0x60]"]]}, {"both": [["0x100a07be", "call Vector2::Vector2 (FUNCTION)", "0x1008e8de"]]}, {"orig": [["0x100a07c3", "mov dword ptr [esp + 0x44], Mx4DPointFloat::`vftable' (VTABLE)"], ["0x100a07cb", "mov dword ptr [esp + 0x5c], 0"]], "recomp": []}, {"both": [["0x100a07d3", "mov ecx, dword ptr [esp + 8]", "0x1008e8e3"]]}, {"orig": [], "recomp": [["0x1008e8e7", "mov dword ptr [esp + 0x74], 0"]]}, {"both": [["0x100a07d7", "lea edx, [ecx + ecx*2]", "0x1008e8ef"]]}, {"orig": [], "recomp": [["0x1008e8f2", "mov dword ptr [esp + 0x5c], Mx4DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a07da", "lea eax, [esi + edx*8]", "0x1008e8fa"], ["0x100a07dd", "test byte ptr [eax], 1", "0x1008e8fd"], ["0x100a07e0", "jne 0xa", "0x1008e900"], ["0x100a07e2", "test byte ptr [eax + 0x18], 1", "0x1008e902"], ["0x100a07e6", "je 0x18e", "0x1008e906"]]}, {"orig": [["0x100a07ec", "mov ecx, dword ptr [esp + 0x64]"]], "recomp": [["0x1008e90c", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100a07f0", "mov eax, dword ptr [eax + 0xc]", "0x1008e910"], ["0x100a07f3", "mov dword ptr [ecx], eax", "0x1008e913"]]}, {"orig": [["0x100a07f5", "mov ecx, dword ptr [esp + 0x64]"]], "recomp": [["0x1008e915", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100a07f9", "mov edx, dword ptr [esp + 8]", "0x1008e919"], ["0x100a07fd", "lea edi, [edx + edx*2]", "0x1008e91d"], ["0x100a0800", "mov eax, dword ptr [esi + edi*8 + 0x10]", "0x1008e920"], ["0x100a0804", "mov dword ptr [ecx + 4], eax", "0x1008e924"]]}, {"orig": [["0x100a0807", "mov ecx, dword ptr [esp + 0x64]"]], "recomp": [["0x1008e927", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100a080b", "mov edx, dword ptr [esp + 8]", "0x1008e92b"], ["0x100a080f", "lea edi, [edx + edx*2]", "0x1008e92f"], ["0x100a0812", "mov eax, dword ptr [esi + edi*8 + 0x14]", "0x1008e932"], ["0x100a0816", "mov dword ptr [ecx + 8], eax", "0x1008e936"]]}, {"orig": [["0x100a0819", "mov ecx, dword ptr [esp + 0x64]"]], "recomp": [["0x1008e939", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100a081d", "mov edx, dword ptr [esp + 8]", "0x1008e93d"], ["0x100a0821", "lea edi, [edx + edx*2]", "0x1008e941"], ["0x100a0824", "mov eax, dword ptr [esi + edi*8 + 8]", "0x1008e944"], ["0x100a0828", "mov dword ptr [ecx + 0xc], eax", "0x1008e948"], ["0x100a082b", "mov edx, dword ptr [esp + 8]", "0x1008e94b"], ["0x100a082f", "lea edi, [edx + edx*2]", "0x1008e94f"], ["0x100a0832", "mov dl, byte ptr [esi + edi*8 + 0x18]", "0x1008e952"], ["0x100a0836", "lea eax, [esi + edi*8]", "0x1008e956"], ["0x100a0839", "test dl, 4", "0x1008e959"], ["0x100a083c", "je 0x1a", "0x1008e95c"]]}, {"orig": [["0x100a083e", "lea eax, [esp + 0x60]"]], "recomp": [["0x1008e95e", "lea eax, [esp + 0x2c]"]]}, {"both": [["0x100a0842", "mov ecx, dword ptr [esp + 0x98]", "0x1008e962"], ["0x100a0849", "push eax", "0x1008e969"], ["0x100a084a", "mov esi, dword ptr [ecx]", "0x1008e96a"], ["0x100a084c", "call dword ptr [esi + 0x44]", "0x1008e96c"], ["0x100a084f", "pop edi", "0x1008e96f"], ["0x100a0850", "pop esi", "0x1008e970"], ["0x100a0851", "add esp, 0x80", "0x1008e971"], ["0x100a0857", "ret ", "0x1008e977"]]}, {"orig": [["0x100a0858", "mov dword ptr [esp + 0xc], Mx4DPointFloat::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x100a0860", "test dl, 2", "0x1008e978"], ["0x100a0863", "lea ecx, [esp + 0x14]", "0x1008e97b"], ["0x100a0867", "mov dword ptr [esp + 0x10], ecx", "0x1008e97f"]]}, {"orig": [], "recomp": [["0x1008e983", "mov dword ptr [esp + 0xc], Mx4DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a086b", "je 0x47", "0x1008e98b"], ["0x100a086d", "fld dword ptr [eax + 0x24]", "0x1008e98d"], ["0x100a0870", "fchs ", "0x1008e990"], ["0x100a0872", "fstp dword ptr [esp + 0x14]", "0x1008e992"], ["0x100a0876", "mov eax, dword ptr [esp + 8]", "0x1008e996"], ["0x100a087a", "mov edx, dword ptr [esp + 0x10]", "0x1008e99a"], ["0x100a087e", "lea ecx, [eax + eax*2]", "0x1008e99e"], ["0x100a0881", "fld dword ptr [esi + ecx*8 + 0x28]", "0x1008e9a1"], ["0x100a0885", "fchs ", "0x1008e9a5"], ["0x100a0887", "fstp dword ptr [edx + 4]", "0x1008e9a7"]]}]], ["@@ -0x100a08cd,44 +0x1008e9ed,44 @@", [{"both": [["0x100a08cd", "mov edi, dword ptr [esp + 0x10]", "0x1008e9ed"], ["0x100a08d1", "mov ecx, dword ptr [esp + 8]", "0x1008e9f1"], ["0x100a08d5", "lea edx, [ecx + ecx*2]", "0x1008e9f5"], ["0x100a08d8", "mov eax, dword ptr [esi + edx*8 + 0x2c]", "0x1008e9f8"], ["0x100a08dc", "mov dword ptr [edi + 8], eax", "0x1008e9fc"], ["0x100a08df", "mov edi, dword ptr [esp + 0x10]", "0x1008e9ff"], ["0x100a08e3", "mov ecx, dword ptr [esp + 8]", "0x1008ea03"], ["0x100a08e7", "lea edx, [ecx + ecx*2]", "0x1008ea07"], ["0x100a08ea", "mov eax, dword ptr [esi + edx*8 + 0x20]", "0x1008ea0a"], ["0x100a08ee", "mov dword ptr [edi + 0xc], eax", "0x1008ea0e"]]}, {"orig": [["0x100a08f1", "lea eax, [esp + 0x60]"], ["0x100a08f5", "lea ecx, [esp + 0x2c]"], ["0x100a08f9", "mov edi, dword ptr [esp + 0x2c]"]], "recomp": [["0x1008ea11", "lea eax, [esp + 0x2c]"], ["0x1008ea15", "lea ecx, [esp + 0x44]"], ["0x1008ea19", "mov edi, dword ptr [esp + 0x44]"]]}, {"both": [["0x100a08fd", "push eax", "0x1008ea1d"], ["0x100a08fe", "call dword ptr [edi + 0x98]", "0x1008ea1e"]]}, {"orig": [["0x100a0904", "or dword ptr [esp + 0x5c], 1"]], "recomp": []}, {"both": [["0x100a0909", "lea ecx, [esp + 0xc]", "0x1008ea24"]]}, {"orig": [["0x100a090d", "mov eax, dword ptr [esp + 0x44]"]], "recomp": [["0x1008ea28", "mov eax, dword ptr [esp + 0x5c]"], ["0x1008ea2c", "or dword ptr [esp + 0x74], 1"]]}, {"both": [["0x100a0911", "push ecx", "0x1008ea31"]]}, {"orig": [["0x100a0912", "lea ecx, [esp + 0x48]"]], "recomp": [["0x1008ea32", "lea ecx, [esp + 0x60]"]]}, {"both": [["0x100a0916", "call dword ptr [eax + 0x98]", "0x1008ea36"], ["0x100a091c", "fld dword ptr [esp + 0x94]", "0x1008ea3c"]]}, {"orig": [["0x100a0923", "or dword ptr [esp + 0x5c], 2"]], "recomp": []}, {"both": [["0x100a0928", "mov ecx, dword ptr [esp + 8]", "0x1008ea43"]]}, {"orig": [], "recomp": [["0x1008ea47", "or dword ptr [esp + 0x74], 2"]]}, {"both": [["0x100a092c", "lea edx, [ecx + ecx*2]", "0x1008ea4c"], ["0x100a092f", "lea ecx, [esp + 0x78]", "0x1008ea4f"], ["0x100a0933", "mov dword ptr [esp + 0x24], Vector4::`vftable' (VTABLE)", "0x1008ea53"], ["0x100a093b", "fsub dword ptr [esi + edx*8 + 4]", "0x1008ea5b"], ["0x100a093f", "fld dword ptr [esi + edx*8 + 0x1c]", "0x1008ea5f"], ["0x100a0943", "fsub dword ptr [esi + edx*8 + 4]", "0x1008ea63"], ["0x100a0947", "mov dword ptr [esp + 0x28], ecx", "0x1008ea67"], ["0x100a094b", "lea eax, [esi + edx*8]", "0x1008ea6b"], ["0x100a094e", "lea edx, [esp + 0x24]", "0x1008ea6e"]]}, {"orig": [["0x100a0952", "lea ecx, [esp + 0x2c]"]], "recomp": [["0x1008ea72", "lea ecx, [esp + 0x44]"]]}, {"both": [["0x100a0956", "fdivp st(1)", "0x1008ea76"], ["0x100a0958", "sub esp, 4", "0x1008ea78"], ["0x100a095b", "push edx", "0x1008ea7b"], ["0x100a095c", "fstp dword ptr [esp + 4]", "0x1008ea7c"], ["0x100a0960", "call MxQuaternionTransformer::Interpolate (FUNCTION)", "0x1008ea80"], ["0x100a0965", "test eax, eax", "0x1008ea85"], ["0x100a0967", "jne 0x11", "0x1008ea87"], ["0x100a0969", "lea eax, [esp + 0x24]", "0x1008ea89"], ["0x100a096d", "mov ecx, dword ptr [esp + 0x98]", "0x1008ea8d"], ["0x100a0974", "push eax", "0x1008ea94"]]}]]]}, {"address": "0x100a0990", "recomp": "0x1008eab0", "name": "LegoAnimNodeData::FUN_100a0990", "matching": 1.0, "diff": []}, {"address": "0x100a0a00", "recomp": "0x1008eb20", "name": "LegoAnimNodeData::FindKeys", "matching": 1.0, "diff": []}, {"address": "0x100a0b30", "recomp": "0x1008ec20", "name": "LegoAnim::LegoAnim", "matching": 1.0, "diff": []}, {"address": "0x100a0ba0", "recomp": "0x1008ed00", "name": "LegoAnim::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a0bc0", "recomp": "0x1008ed20", "name": "LegoAnim::~LegoAnim", "matching": 1.0, "diff": []}, {"address": "0x100a0c70", "recomp": "0x1008edd0", "name": "LegoAnim::Read", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a0db6,36 +0x1008ef16,36 @@", [{"both": [["0x100a0db6", "mov eax, dword ptr [ebp - 0x14]", "0x1008ef16"], ["0x100a0db9", "push eax", "0x1008ef19"], ["0x100a0dba", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008ef1a"], ["0x100a0dbf", "add esp, 4", "0x1008ef1f"], ["0x100a0dc2", "ret ", "0x1008ef22"], ["0x100a0dc3", "mov ecx, dword ptr [ebp + 8]", "0x1008ef23"], ["0x100a0dc6", "push ecx", "0x1008ef26"], ["0x100a0dc7", "mov ecx, esi", "0x1008ef27"], ["0x100a0dc9", "call LegoTree::Read (FUNCTION)", "0x1008ef29"], ["0x100a0dce", "mov dword ptr [ebp - 0x10], eax", "0x1008ef2e"]]}, {"orig": [], "recomp": [["0x1008ef31", "xor ebx, ebx"], ["0x1008ef33", "cmp dword ptr [ebp - 0x10], ebx"], ["0x1008ef36", "je 0x3f"], ["0x1008ef38", "cmp dword ptr [esi + 0xc], ebx"], ["0x1008ef3b", "je 0x3a"]]}, {"both": [["0x100a0dd1", "xor edi, edi", "0x1008ef3d"]]}, {"orig": [["0x100a0dd3", "cmp dword ptr [ebp - 0x10], edi"], ["0x100a0dd6", "je 0x3f"], ["0x100a0dd8", "cmp dword ptr [esi + 0xc], edi"], ["0x100a0ddb", "je 0x3a"], ["0x100a0ddd", "xor ebx, ebx"], ["0x100a0ddf", "cmp dword ptr [esi + 0x10], edi"]], "recomp": [["0x1008ef3f", "cmp dword ptr [esi + 0x10], ebx"]]}, {"both": [["0x100a0de2", "jbe 0x19", "0x1008ef42"], ["0x100a0de4", "mov eax, dword ptr [esi + 0xc]", "0x1008ef44"]]}, {"orig": [["0x100a0de7", "add edi, 8"], ["0x100a0dea", "inc ebx"], ["0x100a0deb", "mov ecx, dword ptr [eax + edi - 8]"]], "recomp": [["0x1008ef47", "add ebx, 8"], ["0x1008ef4a", "inc edi"], ["0x1008ef4b", "mov ecx, dword ptr [eax + ebx - 8]"]]}, {"both": [["0x100a0def", "push ecx", "0x1008ef4f"], ["0x100a0df0", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008ef50"], ["0x100a0df5", "add esp, 4", "0x1008ef55"]]}, {"orig": [["0x100a0df8", "cmp dword ptr [esi + 0x10], ebx"]], "recomp": [["0x1008ef58", "cmp dword ptr [esi + 0x10], edi"]]}, {"both": [["0x100a0dfb", "ja -0x19", "0x1008ef5b"], ["0x100a0dfd", "mov dword ptr [esi + 0x10], 0", "0x1008ef5d"], ["0x100a0e04", "mov eax, dword ptr [esi + 0xc]", "0x1008ef64"], ["0x100a0e07", "push eax", "0x1008ef67"], ["0x100a0e08", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008ef68"], ["0x100a0e0d", "mov dword ptr [esi + 0xc], 0", "0x1008ef6d"], ["0x100a0e14", "add esp, 4", "0x1008ef74"], ["0x100a0e17", "mov eax, dword ptr [ebp - 0x10]", "0x1008ef77"], ["0x100a0e1a", "mov ecx, dword ptr [ebp - 0xc]", "0x1008ef7a"], ["0x100a0e1d", "mov dword ptr fs:[0], ecx", "0x1008ef7d"]]}]]]}, {"address": "0x100a0e30", "recomp": "0x1008ef90", "name": "LegoAnim::Write", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a0e45,62 +0x1008efa5,62 @@", [{"both": [["0x100a0e45", "mov ecx, dword ptr [eax]", "0x1008efa5"], ["0x100a0e47", "push 4", "0x1008efa7"], ["0x100a0e49", "lea eax, [esi + 0x10]", "0x1008efa9"], ["0x100a0e4c", "mov edx, dword ptr [ecx + 8]", "0x1008efac"], ["0x100a0e4f", "mov ecx, dword ptr [esp + 0x24]", "0x1008efaf"], ["0x100a0e53", "push eax", "0x1008efb3"], ["0x100a0e54", "mov dword ptr [esp + 0x18], edx", "0x1008efb4"], ["0x100a0e58", "call dword ptr [esp + 0x18]", "0x1008efb8"], ["0x100a0e5c", "test eax, eax", "0x1008efbc"], ["0x100a0e5e", "jne 0xa8", "0x1008efbe"]]}, {"orig": [], "recomp": [["0x1008efc4", "xor ebx, ebx"], ["0x1008efc6", "cmp dword ptr [esi + 0x10], ebx"], ["0x1008efc9", "jbe 0x6a"]]}, {"both": [["0x100a0e64", "xor ebp, ebp", "0x1008efcb"]]}, {"orig": [["0x100a0e66", "cmp dword ptr [esi + 0x10], ebp"], ["0x100a0e69", "jbe 0x6a"], ["0x100a0e6b", "xor ebx, ebx"]], "recomp": []}, {"both": [["0x100a0e6d", "mov eax, dword ptr [esi + 0xc]", "0x1008efcd"], ["0x100a0e70", "mov ecx, 0xffffffff", "0x1008efd0"], ["0x100a0e75", "push 4", "0x1008efd5"]]}, {"orig": [["0x100a0e77", "mov edi, dword ptr [eax + ebx]"]], "recomp": [["0x1008efd7", "mov edi, dword ptr [eax + ebp]"]]}, {"both": [["0x100a0e7a", "sub eax, eax", "0x1008efda"], ["0x100a0e7c", "repne scasb al, byte ptr es:[edi]", "0x1008efdc"], ["0x100a0e7e", "not ecx", "0x1008efde"], ["0x100a0e80", "dec ecx", "0x1008efe0"], ["0x100a0e81", "mov dword ptr [esp + 0x18], ecx", "0x1008efe1"], ["0x100a0e85", "lea ecx, [esp + 0x18]", "0x1008efe5"], ["0x100a0e89", "push ecx", "0x1008efe9"], ["0x100a0e8a", "mov ecx, dword ptr [esp + 0x28]", "0x1008efea"], ["0x100a0e8e", "call dword ptr [esp + 0x18]", "0x1008efee"], ["0x100a0e92", "test eax, eax", "0x1008eff2"], ["0x100a0e94", "jne 0x76", "0x1008eff4"], ["0x100a0e96", "cmp dword ptr [esp + 0x14], 0", "0x1008eff6"], ["0x100a0e9b", "je 0x2f", "0x1008effb"], ["0x100a0e9d", "mov eax, dword ptr [esp + 0x14]", "0x1008effd"], ["0x100a0ea1", "mov ecx, dword ptr [esi + 0xc]", "0x1008f001"], ["0x100a0ea4", "push eax", "0x1008f004"]]}, {"orig": [["0x100a0ea5", "mov edx, dword ptr [ecx + ebx]"]], "recomp": [["0x1008f005", "mov edx, dword ptr [ecx + ebp]"]]}, {"both": [["0x100a0ea8", "mov ecx, dword ptr [esp + 0x24]", "0x1008f008"], ["0x100a0eac", "push edx", "0x1008f00c"], ["0x100a0ead", "call dword ptr [esp + 0x18]", "0x1008f00d"], ["0x100a0eb1", "test eax, eax", "0x1008f011"], ["0x100a0eb3", "jne 0x57", "0x1008f013"], ["0x100a0eb5", "push 4", "0x1008f015"], ["0x100a0eb7", "mov eax, dword ptr [esi + 0xc]", "0x1008f017"]]}, {"orig": [["0x100a0eba", "add eax, ebx"]], "recomp": [["0x1008f01a", "add eax, ebp"]]}, {"both": [["0x100a0ebc", "mov ecx, dword ptr [esp + 0x24]", "0x1008f01c"], ["0x100a0ec0", "add eax, 4", "0x1008f020"], ["0x100a0ec3", "push eax", "0x1008f023"], ["0x100a0ec4", "call dword ptr [esp + 0x18]", "0x1008f024"], ["0x100a0ec8", "test eax, eax", "0x1008f028"], ["0x100a0eca", "jne 0x40", "0x1008f02a"]]}, {"orig": [["0x100a0ecc", "add ebx, 8"], ["0x100a0ecf", "inc ebp"], ["0x100a0ed0", "cmp dword ptr [esi + 0x10], ebp"]], "recomp": [["0x1008f02c", "add ebp, 8"], ["0x1008f02f", "inc ebx"], ["0x1008f030", "cmp dword ptr [esi + 0x10], ebx"]]}, {"both": [["0x100a0ed3", "ja -0x68", "0x1008f033"], ["0x100a0ed5", "push 4", "0x1008f035"], ["0x100a0ed7", "lea eax, [esi + 8]", "0x1008f037"], ["0x100a0eda", "mov ecx, dword ptr [esp + 0x24]", "0x1008f03a"], ["0x100a0ede", "push eax", "0x1008f03e"], ["0x100a0edf", "call dword ptr [esp + 0x18]", "0x1008f03f"], ["0x100a0ee3", "test eax, eax", "0x1008f043"], ["0x100a0ee5", "jne 0x25", "0x1008f045"], ["0x100a0ee7", "mov ecx, dword ptr [esi + 0x14]", "0x1008f047"], ["0x100a0eea", "test ecx, ecx", "0x1008f04a"]]}]]]}, {"address": "0x100a0f20", "recomp": "0x1008f080", "name": "LegoAnim::GetActorName", "matching": 1.0, "diff": []}, {"address": "0x100a0f40", "recomp": "0x1008f0a0", "name": "LegoAnim::GetActorUnknown0x04", "matching": 1.0, "diff": []}, {"address": "0x100a0f60", "recomp": "0x1008f0c0", "name": "LegoMorphKey::LegoMorphKey", "matching": 1.0, "diff": []}, {"address": "0x100a0f70", "recomp": "0x1008f0d0", "name": "LegoMorphKey::Read", "matching": 1.0, "diff": []}, {"address": "0x100a0fb0", "recomp": "0x1008f110", "name": "LegoMorphKey::Write", "matching": 1.0, "diff": []}, {"address": "0x100a0ff0", "recomp": "0x1008e6d0", "name": "Matrix4::Scale", "matching": 0.8064516129032258, "diff": [["@@ -0x100a0ff0,31 +0x1008e6d0,31 @@", [{"both": [["0x100a0ff0", "mov edx, dword ptr [esp + 4]", "0x1008e6d0"], ["0x100a0ff4", "push ebx", "0x1008e6d4"], ["0x100a0ff5", "push esi", "0x1008e6d5"], ["0x100a0ff6", "xor ebx, ebx", "0x1008e6d6"], ["0x100a0ff8", "mov esi, dword ptr [esp + 0x10]", "0x1008e6d8"], ["0x100a0ffc", "push edi", "0x1008e6dc"], ["0x100a0ffd", "mov edi, dword ptr [esp + 0x18]", "0x1008e6dd"], ["0x100a1001", "jmp 0x2", "0x1008e6e1"], ["0x100a1003", "fstp dword ptr [eax]", "0x1008e6e3"]]}, {"orig": [["0x100a1005", "fld dword ptr [edx]"]], "recomp": []}, {"both": [["0x100a1007", "mov eax, dword ptr [ecx + 4]", "0x1008e6e5"], ["0x100a100a", "add eax, ebx", "0x1008e6e8"], ["0x100a100c", "add ebx, 0x10", "0x1008e6ea"]]}, {"orig": [["0x100a100f", "fmul dword ptr [eax]"]], "recomp": [["0x1008e6ed", "fld dword ptr [eax]"], ["0x1008e6ef", "fmul dword ptr [edx]"]]}, {"both": [["0x100a1011", "fstp dword ptr [eax]", "0x1008e6f1"]]}, {"orig": [["0x100a1013", "fld dword ptr [esi]"]], "recomp": []}, {"both": [["0x100a1015", "mov eax, dword ptr [ecx + 4]", "0x1008e6f3"], ["0x100a1018", "cmp ebx, 0x40", "0x1008e6f6"], ["0x100a101b", "lea eax, [eax + ebx - 0xc]", "0x1008e6f9"]]}, {"orig": [["0x100a101f", "fmul dword ptr [eax]"]], "recomp": [["0x1008e6fd", "fld dword ptr [eax]"], ["0x1008e6ff", "fmul dword ptr [esi]"]]}, {"both": [["0x100a1021", "fstp dword ptr [eax]", "0x1008e701"]]}, {"orig": [["0x100a1023", "fld dword ptr [edi]"]], "recomp": []}, {"both": [["0x100a1025", "mov eax, dword ptr [ecx + 4]", "0x1008e703"], ["0x100a1028", "lea eax, [eax + ebx - 8]", "0x1008e706"]]}, {"orig": [["0x100a102c", "fmul dword ptr [eax]"]], "recomp": [["0x1008e70a", "fld dword ptr [eax]"], ["0x1008e70c", "fmul dword ptr [edi]"]]}, {"both": [["0x100a102e", "jl -0x2d", "0x1008e70e"], ["0x100a1030", "fstp dword ptr [eax]", "0x1008e710"], ["0x100a1032", "pop edi", "0x1008e712"], ["0x100a1033", "pop esi", "0x1008e713"], ["0x100a1034", "pop ebx", "0x1008e714"], ["0x100a1035", "ret 0xc", "0x1008e715"]]}]]]}, {"address": "0x100a1040", "recomp": "0x1008ec90", "name": "LegoAnim::CreateData", "matching": 1.0, "diff": []}, {"address": "0x100a10b0", "recomp": "0x10090760", "name": "ViewportAppData::ViewportAppData", "matching": 1.0, "diff": []}, {"address": "0x100a10e0", "recomp": "0x10090790", "name": "ViewportAppData::~ViewportAppData", "matching": 1.0, "diff": []}, {"address": "0x100a1160", "recomp": "0x10090810", "name": "TglImpl::ViewImpl::ViewportCreateAppData", "matching": 1.0, "diff": []}, {"address": "0x100a1240", "recomp": "0x100908f0", "name": "ViewportDestroyCallback", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a1240,33 +0x100908f0,33 @@", [{"both": [["0x100a1240", "push ebx", "0x100908f0"], ["0x100a1241", "push esi", "0x100908f1"]]}, {"orig": [["0x100a1242", "mov esi, dword ptr [esp + 0x10]"]], "recomp": [["0x100908f2", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x100a1246", "push edi", "0x100908f6"], ["0x100a1247", "push ebp", "0x100908f7"]]}, {"orig": [["0x100a1248", "mov edi, dword ptr [esi]"], ["0x100a124a", "mov ecx, dword ptr [esi + 4]"], ["0x100a124d", "mov ebx, dword ptr [esi + 8]"], ["0x100a1250", "test ebx, ebx"]], "recomp": [["0x100908f8", "mov esi, dword ptr [ebx]"], ["0x100908fa", "mov ecx, dword ptr [ebx + 4]"], ["0x100908fd", "mov edi, dword ptr [ebx + 8]"], ["0x10090900", "test edi, edi"]]}, {"both": [["0x100a1252", "je 0x16", "0x10090902"]]}, {"orig": [["0x100a1254", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10090904", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100a1256", "push ecx", "0x10090906"]]}, {"orig": [["0x100a1257", "push ebx"]], "recomp": [["0x10090907", "push edi"]]}, {"both": [["0x100a1258", "mov ebp, dword ptr [eax + 0x98]", "0x10090908"], ["0x100a125e", "call ebp", "0x1009090e"]]}, {"orig": [], "recomp": [["0x10090910", "push esi"]]}, {"both": [["0x100a1260", "push edi", "0x10090911"]]}, {"orig": [], "recomp": [["0x10090912", "call ebp"], ["0x10090914", "push edi"], ["0x10090915", "mov esi, dword ptr [edi]"], ["0x10090917", "call dword ptr [esi + 8]"], ["0x1009091a", "test ebx, ebx"], ["0x1009091c", "je 0x10"], ["0x1009091e", "mov ecx, ebx"], ["0x10090920", "call ViewportAppData::~ViewportAppData (FUNCTION)"]]}, {"both": [["0x100a1261", "push ebx", "0x10090925"]]}, {"orig": [["0x100a1262", "call ebp"], ["0x100a1264", "push ebx"], ["0x100a1265", "mov ebx, dword ptr [ebx]"], ["0x100a1267", "call dword ptr [ebx + 8]"], ["0x100a126a", "test esi, esi"], ["0x100a126c", "je 0x10"], ["0x100a126e", "mov ecx, esi"], ["0x100a1270", "call ViewportAppData::~ViewportAppData (FUNCTION)"], ["0x100a1275", "push esi"]], "recomp": []}, {"both": [["0x100a1276", "call ??3@YAXPAX@Z (FUNCTION)", "0x10090926"], ["0x100a127b", "add esp, 4", "0x1009092b"], ["0x100a127e", "pop ebp", "0x1009092e"], ["0x100a127f", "pop edi", "0x1009092f"], ["0x100a1280", "pop esi", "0x10090930"], ["0x100a1281", "pop ebx", "0x10090931"], ["0x100a1282", "ret ", "0x10090932"]]}]]]}, {"address": "0x100a1290", "recomp": "0x10090940", "name": "ViewportPickImpl", "matching": 1.0, "diff": []}, {"address": "0x100a12a0", "recomp": "0x10091ad0", "name": "TglImpl::TextureImpl::SetImage", "matching": 0.5128205128205128, "diff": [["@@ -0x100a12a0,39 +0x10091ad0,39 @@", [{"both": [["0x100a12a0", "push ebx", "0x10091ad0"], ["0x100a12a1", "push esi", "0x10091ad1"]]}, {"orig": [["0x100a12a2", "mov esi, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100a12a6", "push edi", "0x10091ad2"]]}, {"orig": [], "recomp": [["0x10091ad3", "push ebp"]]}, {"both": [["0x100a12a7", "mov edi, dword ptr [esp + 0x14]", "0x10091ad4"]]}, {"orig": [["0x100a12ab", "push ebp"], ["0x100a12ac", "mov ebp, dword ptr [esi]"], ["0x100a12ae", "push esi"], ["0x100a12af", "mov ebx, 1"], ["0x100a12b4", "call dword ptr [ebp + 0x1c]"]], "recomp": []}, {"both": [["0x100a12b7", "push edi", "0x10091ad8"]]}, {"orig": [["0x100a12b8", "push esi"], ["0x100a12b9", "call dword ptr [ebp + 0x18]"]], "recomp": [["0x10091ad9", "mov esi, dword ptr [edi]"], ["0x10091adb", "mov ebp, 1"], ["0x10091ae0", "call dword ptr [esi + 0x1c]"], ["0x10091ae3", "mov ebx, dword ptr [esp + 0x18]"], ["0x10091ae7", "push ebx"], ["0x10091ae8", "push edi"], ["0x10091ae9", "call dword ptr [esi + 0x18]"]]}, {"both": [["0x100a12bc", "test eax, eax", "0x10091aec"], ["0x100a12be", "jge 0x2", "0x10091aee"]]}, {"orig": [["0x100a12c0", "xor ebx, ebx"], ["0x100a12c2", "cmp ebx, 1"]], "recomp": [["0x10091af0", "xor ebp, ebp"], ["0x10091af2", "cmp ebp, 1"]]}, {"both": [["0x100a12c5", "jne 0x25", "0x10091af5"]]}, {"orig": [["0x100a12c7", "test edi, edi"]], "recomp": [["0x10091af7", "test ebx, ebx"]]}, {"both": [["0x100a12c9", "je 0x21", "0x10091af9"], ["0x100a12cb", "push 0", "0x10091afb"]]}, {"orig": [["0x100a12cd", "mov ebx, 1"]], "recomp": [["0x10091afd", "mov ebp, 1"]]}, {"both": [["0x100a12d2", "push TextureDestroyCallback (FUNCTION)", "0x10091b02"]]}, {"orig": [["0x100a12d7", "push esi"], ["0x100a12d8", "call dword ptr [ebp + 0x10]"]], "recomp": [["0x10091b07", "push edi"], ["0x10091b08", "call dword ptr [esi + 0x10]"]]}, {"both": [["0x100a12db", "test eax, eax", "0x10091b0b"], ["0x100a12dd", "jge 0x2", "0x10091b0d"]]}, {"orig": [["0x100a12df", "xor ebx, ebx"], ["0x100a12e1", "cmp ebx, 1"]], "recomp": [["0x10091b0f", "xor ebp, ebp"], ["0x10091b11", "cmp ebp, 1"]]}, {"both": [["0x100a12e4", "je 0x6", "0x10091b14"], ["0x100a12e6", "push 0", "0x10091b16"]]}, {"orig": [["0x100a12e8", "push esi"], ["0x100a12e9", "call dword ptr [ebp + 0x18]"], ["0x100a12ec", "mov eax, ebx"]], "recomp": [["0x10091b18", "push edi"], ["0x10091b19", "call dword ptr [esi + 0x18]"], ["0x10091b1c", "mov eax, ebp"]]}, {"both": [["0x100a12ee", "pop ebp", "0x10091b1e"], ["0x100a12ef", "pop edi", "0x10091b1f"], ["0x100a12f0", "pop esi", "0x10091b20"], ["0x100a12f1", "pop ebx", "0x10091b21"], ["0x100a12f2", "ret ", "0x10091b22"]]}]]]}, {"address": "0x100a1300", "recomp": "0x10091b30", "name": "TextureDestroyCallback", "matching": 1.0, "diff": []}, {"address": "0x100a1330", "recomp": "0x10091b60", "name": "TglImpl::TglD3DRMIMAGE::TglD3DRMIMAGE", "matching": 1.0, "diff": []}, {"address": "0x100a13b0", "recomp": "0x10091be0", "name": "TglImpl::TglD3DRMIMAGE::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100a13e0", "recomp": "0x10091c10", "name": "TglImpl::TglD3DRMIMAGE::CreateBuffer", "matching": 0.6844444444444444, "diff": [["@@ -0x100a13e0,17 +0x10091c10,17 @@", [{"both": [["0x100a13e0", "push ebx", "0x10091c10"], ["0x100a13e1", "push esi", "0x10091c11"]]}, {"orig": [["0x100a13e2", "mov esi, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100a13e6", "push edi", "0x10091c12"]]}, {"orig": [], "recomp": [["0x10091c13", "mov ebx, ecx"], ["0x10091c15", "mov esi, dword ptr [esp + 0x10]"]]}, {"both": [["0x100a13e7", "push ebp", "0x10091c19"], ["0x100a13e8", "mov edi, esi", "0x10091c1a"]]}, {"orig": [["0x100a13ea", "mov ebp, ecx"]], "recomp": []}, {"both": [["0x100a13ec", "xor ecx, ecx", "0x10091c1c"], ["0x100a13ee", "cmp esi, 2", "0x10091c1e"], ["0x100a13f1", "jle 0x23", "0x10091c21"], ["0x100a13f3", "test ecx, ecx", "0x10091c23"], ["0x100a13f5", "jne 0x1f", "0x10091c25"], ["0x100a13f7", "mov eax, edi", "0x10091c27"], ["0x100a13f9", "cdq ", "0x10091c29"], ["0x100a13fa", "xor eax, edx", "0x10091c2a"], ["0x100a13fc", "sub eax, edx", "0x10091c2c"], ["0x100a13fe", "and eax, 1", "0x10091c2e"]]}]], ["@@ -0x100a1403,93 +0x10091c33,96 @@", [{"both": [["0x100a1403", "sub eax, edx", "0x10091c33"], ["0x100a1405", "mov ecx, eax", "0x10091c35"], ["0x100a1407", "mov eax, edi", "0x10091c37"], ["0x100a1409", "cdq ", "0x10091c39"], ["0x100a140a", "sub eax, edx", "0x10091c3a"], ["0x100a140c", "sar eax, 1", "0x10091c3c"], ["0x100a140f", "cmp eax, 2", "0x10091c3f"], ["0x100a1412", "mov edi, eax", "0x10091c42"], ["0x100a1414", "jg -0x23", "0x10091c44"], ["0x100a1416", "cmp edi, 2", "0x10091c46"]]}, {"orig": [["0x100a1419", "jne 0xdd"]], "recomp": [["0x10091c49", "jne 0xd8"]]}, {"both": [["0x100a141f", "test ecx, ecx", "0x10091c4f"]]}, {"orig": [["0x100a1421", "jne 0xd5"], ["0x100a1427", "mov ebx, dword ptr [esp + 0x18]"], ["0x100a142b", "xor ecx, ecx"], ["0x100a142d", "mov edi, ebx"], ["0x100a142f", "cmp ebx, 2"]], "recomp": [["0x10091c51", "jne 0xd0"], ["0x10091c57", "mov ebp, dword ptr [esp + 0x18]"], ["0x10091c5b", "xor edi, edi"], ["0x10091c5d", "mov ecx, ebp"], ["0x10091c5f", "cmp ebp, 2"]]}, {"both": [["0x100a1432", "jle 0x23", "0x10091c62"]]}, {"orig": [["0x100a1434", "test ecx, ecx"]], "recomp": [["0x10091c64", "test edi, edi"]]}, {"both": [["0x100a1436", "jne 0x1f", "0x10091c66"]]}, {"orig": [["0x100a1438", "mov eax, edi"]], "recomp": [["0x10091c68", "mov eax, ecx"]]}, {"both": [["0x100a143a", "cdq ", "0x10091c6a"], ["0x100a143b", "xor eax, edx", "0x10091c6b"], ["0x100a143d", "sub eax, edx", "0x10091c6d"], ["0x100a143f", "and eax, 1", "0x10091c6f"], ["0x100a1442", "xor eax, edx", "0x10091c72"], ["0x100a1444", "sub eax, edx", "0x10091c74"]]}, {"orig": [["0x100a1446", "mov ecx, eax"], ["0x100a1448", "mov eax, edi"]], "recomp": [["0x10091c76", "mov edi, eax"], ["0x10091c78", "mov eax, ecx"]]}, {"both": [["0x100a144a", "cdq ", "0x10091c7a"], ["0x100a144b", "sub eax, edx", "0x10091c7b"], ["0x100a144d", "sar eax, 1", "0x10091c7d"], ["0x100a1450", "cmp eax, 2", "0x10091c80"]]}, {"orig": [["0x100a1453", "mov edi, eax"]], "recomp": [["0x10091c83", "mov ecx, eax"]]}, {"both": [["0x100a1455", "jg -0x23", "0x10091c85"]]}, {"orig": [["0x100a1457", "cmp edi, 2"], ["0x100a145a", "jne 0x9c"], ["0x100a1460", "test ecx, ecx"], ["0x100a1462", "jne 0x94"]], "recomp": [["0x10091c87", "cmp ecx, 2"], ["0x10091c8a", "jne 0x97"], ["0x10091c90", "test edi, edi"], ["0x10091c92", "jne 0x8f"]]}, {"both": [["0x100a1468", "mov eax, esi", "0x10091c98"], ["0x100a146a", "cdq ", "0x10091c9a"], ["0x100a146b", "xor eax, edx", "0x10091c9b"], ["0x100a146d", "sub eax, edx", "0x10091c9d"], ["0x100a146f", "and eax, 3", "0x10091c9f"], ["0x100a1472", "xor eax, edx", "0x10091ca2"], ["0x100a1474", "sub eax, edx", "0x10091ca4"]]}, {"orig": [["0x100a1476", "jne 0x80"]], "recomp": [["0x10091ca6", "jne 0x7f"]]}, {"both": [["0x100a147c", "mov eax, dword ptr [esp + 0x1c]", "0x10091ca8"]]}, {"orig": [["0x100a1480", "mov dword ptr [ebp], esi"], ["0x100a1483", "mov dword ptr [ebp + 4], ebx"], ["0x100a1486", "mov dword ptr [ebp + 0x10], eax"], ["0x100a1489", "cmp dword ptr [ebp + 0x3c], 0"], ["0x100a148d", "mov dword ptr [ebp + 0x18], esi"]], "recomp": [["0x10091cac", "mov dword ptr [ebx], esi"], ["0x10091cae", "mov dword ptr [ebx + 4], ebp"], ["0x10091cb1", "mov dword ptr [ebx + 0x10], eax"], ["0x10091cb4", "cmp dword ptr [ebx + 0x3c], 0"], ["0x10091cb8", "mov dword ptr [ebx + 0x18], esi"]]}, {"both": [["0x100a1490", "jne 0x13", "0x10091cbb"]]}, {"orig": [["0x100a1492", "mov eax, dword ptr [ebp + 0x1c]"]], "recomp": [["0x10091cbd", "mov eax, dword ptr [ebx + 0x1c]"]]}, {"both": [["0x100a1495", "push eax", "0x10091cc0"], ["0x100a1496", "call ??3@YAXPAX@Z (FUNCTION)", "0x10091cc1"]]}, {"orig": [["0x100a149b", "mov dword ptr [ebp + 0x1c], 0"]], "recomp": [["0x10091cc6", "mov dword ptr [ebx + 0x1c], 0"]]}, {"both": [["0x100a14a2", "add esp, 4", "0x10091ccd"], ["0x100a14a5", "cmp dword ptr [esp + 0x24], 0", "0x10091cd0"], ["0x100a14aa", "je 0x1a", "0x10091cd5"], ["0x100a14ac", "mov esi, dword ptr [esp + 0x20]", "0x10091cd7"], ["0x100a14b0", "mov eax, 1", "0x10091cdb"]]}, {"orig": [["0x100a14b5", "mov dword ptr [ebp + 0x3c], 1"], ["0x100a14bc", "mov dword ptr [ebp + 0x1c], esi"]], "recomp": []}, {"both": [["0x100a14bf", "pop ebp", "0x10091ce0"]]}, {"orig": [], "recomp": [["0x10091ce1", "mov dword ptr [ebx + 0x1c], esi"], ["0x10091ce4", "mov dword ptr [ebx + 0x3c], 1"]]}, {"both": [["0x100a14c0", "pop edi", "0x10091ceb"], ["0x100a14c1", "pop esi", "0x10091cec"], ["0x100a14c2", "pop ebx", "0x10091ced"], ["0x100a14c3", "ret 0x14", "0x10091cee"]]}, {"orig": [["0x100a14c6", "imul ebx, esi"], ["0x100a14c9", "push ebx"]], "recomp": [["0x10091cf1", "imul ebp, esi"], ["0x10091cf4", "push ebp"]]}, {"both": [["0x100a14ca", "call ??2@YAPAXI@Z (FUNCTION)", "0x10091cf5"], ["0x100a14cf", "mov esi, dword ptr [esp + 0x24]", "0x10091cfa"], ["0x100a14d3", "add esp, 4", "0x10091cfe"], ["0x100a14d6", "mov edi, eax", "0x10091d01"]]}, {"orig": [["0x100a14d8", "mov ecx, ebx"]], "recomp": [["0x10091d03", "mov ecx, ebp"]]}, {"both": [["0x100a14da", "shr ecx, 2", "0x10091d05"]]}, {"orig": [["0x100a14dd", "mov dword ptr [ebp + 0x1c], eax"]], "recomp": [["0x10091d08", "mov dword ptr [ebx + 0x1c], eax"]]}, {"both": [["0x100a14e0", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10091d0b"]]}, {"orig": [["0x100a14e2", "mov ecx, ebx"]], "recomp": [["0x10091d0d", "mov ecx, ebp"], ["0x10091d0f", "pop ebp"]]}, {"both": [["0x100a14e4", "and ecx, 3", "0x10091d10"], ["0x100a14e7", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x10091d13"]]}, {"orig": [["0x100a14e9", "mov dword ptr [ebp + 0x3c], 0"]], "recomp": []}, {"both": [["0x100a14f0", "mov eax, 1", "0x10091d15"]]}, {"orig": [["0x100a14f5", "pop ebp"]], "recomp": []}, {"both": [["0x100a14f6", "pop edi", "0x10091d1a"]]}, {"orig": [], "recomp": [["0x10091d1b", "mov dword ptr [ebx + 0x3c], 0"]]}, {"both": [["0x100a14f7", "pop esi", "0x10091d22"], ["0x100a14f8", "pop ebx", "0x10091d23"], ["0x100a14f9", "ret 0x14", "0x10091d24"], ["0x100a14fc", "xor eax, eax", "0x10091d27"], ["0x100a14fe", "pop ebp", "0x10091d29"], ["0x100a14ff", "pop edi", "0x10091d2a"]]}, {"orig": [], "recomp": [["0x10091d2b", "pop esi"], ["0x10091d2c", "pop ebx"], ["0x10091d2d", "ret 0x14"]]}]]]}, {"address": "0x100a1510", "recomp": "0x10091d30", "name": "TglImpl::TglD3DRMIMAGE::FillRowsOfTexture", "matching": 0.7222222222222222, "diff": [["@@ -0x100a1510,18 +0x10091d30,18 @@", [{"both": [["0x100a1510", "push esi", "0x10091d30"]]}, {"orig": [["0x100a1511", "mov eax, dword ptr [ecx + 0x18]"], ["0x100a1514", "mov edx, dword ptr [esp + 0xc]"]], "recomp": []}, {"both": [["0x100a1518", "push edi", "0x10091d31"]]}, {"orig": [["0x100a1519", "mov edi, dword ptr [esp + 0xc]"]], "recomp": [["0x10091d32", "mov edi, dword ptr [ecx + 0x18]"]]}, {"both": [["0x100a151d", "mov esi, dword ptr [esp + 0x14]", "0x10091d35"]]}, {"orig": [["0x100a1521", "imul edx, eax"], ["0x100a1524", "imul edi, eax"]], "recomp": [["0x10091d39", "mov edx, edi"], ["0x10091d3b", "imul edx, dword ptr [esp + 0x10]"], ["0x10091d40", "imul edi, dword ptr [esp + 0xc]"]]}, {"both": [["0x100a1527", "add edi, dword ptr [ecx + 0x1c]", "0x10091d45"], ["0x100a152a", "mov ecx, edx", "0x10091d48"], ["0x100a152c", "shr ecx, 2", "0x10091d4a"], ["0x100a152f", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10091d4d"], ["0x100a1531", "mov ecx, edx", "0x10091d4f"], ["0x100a1533", "and ecx, 3", "0x10091d51"], ["0x100a1536", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x10091d54"], ["0x100a1538", "mov eax, 1", "0x10091d56"], ["0x100a153d", "pop edi", "0x10091d5b"], ["0x100a153e", "pop esi", "0x10091d5c"]]}, {"orig": [], "recomp": [["0x10091d5d", "ret 0xc"]]}]]]}, {"address": "0x100a1550", "recomp": "0x10091d60", "name": "TglImpl::TglD3DRMIMAGE::InitializePalette", "matching": 1.0, "diff": []}, {"address": "0x100a15e0", "recomp": "0x1008f150", "name": "Tgl::CreateRenderer", "matching": 0.9868421052631579, "diff": [["@@ -0x100a1660,21 +0x1008f1d0,21 @@", [{"both": [["0x100a1660", "push eax", "0x1008f1d0"], ["0x100a1661", "mov edi, dword ptr [eax]", "0x1008f1d1"], ["0x100a1663", "call dword ptr [edi + 4]", "0x1008f1d3"], ["0x100a1666", "jmp 0x1b", "0x1008f1d6"], ["0x100a1668", "lea eax, [ebp - 0x10]", "0x1008f1d8"], ["0x100a166b", "push eax", "0x1008f1db"], ["0x100a166c", "call _Direct3DRMCreate@4 (FUNCTION)", "0x1008f1dc"], ["0x100a1671", "push TglImpl::g_pD3DRM (DATA)", "0x1008f1e1"], ["0x100a1676", "mov eax, dword ptr [ebp - 0x10]", "0x1008f1e6"], ["0x100a1679", "mov edi, dword ptr [eax]", "0x1008f1e9"]]}, {"orig": [["0x100a167b", "push <OFFSET8>"]], "recomp": [["0x1008f1eb", "push IID_IDirect3DRM2 (DATA)"]]}, {"both": [["0x100a1680", "push eax", "0x1008f1f0"], ["0x100a1681", "call dword ptr [edi]", "0x1008f1f1"], ["0x100a1683", "mov eax, dword ptr [TglImpl::g_pD3DRM (DATA)]", "0x1008f1f3"], ["0x100a1688", "mov dword ptr [esi + 4], eax", "0x1008f1f8"], ["0x100a168b", "test eax, eax", "0x1008f1fb"], ["0x100a168d", "jne 0xe", "0x1008f1fd"], ["0x100a168f", "test esi, esi", "0x1008f1ff"], ["0x100a1691", "je 0x8", "0x1008f201"], ["0x100a1693", "push 1", "0x1008f203"], ["0x100a1695", "mov eax, dword ptr [esi]", "0x1008f205"]]}]]]}, {"address": "0x100a16d0", "recomp": "0x1008f270", "name": "TglImpl::RendererImpl::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a1770", "recomp": "0x1008f310", "name": "Tgl::Renderer::~Renderer", "matching": 1.0, "diff": []}, {"address": "0x100a17c0", "recomp": "0x1008f360", "name": "Tgl::Renderer::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a1830", "recomp": "0x1008f3d0", "name": "TglImpl::RendererImpl::CreateDevice", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a1841,61 +0x1008f3e1,61 @@", [{"both": [["0x100a1841", "mov dword ptr fs:[0], esp", "0x1008f3e1"], ["0x100a1848", "sub esp, 4", "0x1008f3e8"], ["0x100a184b", "push ebx", "0x1008f3eb"], ["0x100a184c", "push esi", "0x1008f3ec"], ["0x100a184d", "push edi", "0x1008f3ed"], ["0x100a184e", "mov ebx, ecx", "0x1008f3ee"], ["0x100a1850", "push 8", "0x1008f3f0"], ["0x100a1852", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008f3f2"], ["0x100a1857", "mov dword ptr [ebp - 0x10], eax", "0x1008f3f7"], ["0x100a185a", "add esp, 4", "0x1008f3fa"]]}, {"orig": [["0x100a185d", "mov edi, eax"]], "recomp": [["0x1008f3fd", "mov esi, eax"]]}, {"both": [["0x100a185f", "xor eax, eax", "0x1008f3ff"], ["0x100a1861", "mov dword ptr [ebp - 4], eax", "0x1008f401"]]}, {"orig": [["0x100a1864", "test edi, edi"]], "recomp": [["0x1008f404", "test esi, esi"]]}, {"both": [["0x100a1866", "je 0x34", "0x1008f406"], ["0x100a1868", "mov byte ptr [ebp - 4], 1", "0x1008f408"]]}, {"orig": [["0x100a186c", "mov esi, edi"], ["0x100a186e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x1008f40c", "mov edi, esi"], ["0x1008f40e", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a1874", "mov byte ptr [ebp - 4], 2", "0x1008f414"]]}, {"orig": [["0x100a1878", "mov dword ptr [edi], Tgl::Device::`vftable' (VTABLE)"]], "recomp": [["0x1008f418", "mov dword ptr [esi], Tgl::Device::`vftable' (VTABLE)"]]}, {"both": [["0x100a187e", "mov byte ptr [ebp - 4], al", "0x1008f41e"]]}, {"orig": [["0x100a1881", "mov dword ptr [edi + 4], eax"], ["0x100a1884", "mov dword ptr [edi], TglImpl::DeviceImpl::`vftable' (VTABLE)"]], "recomp": [["0x1008f421", "mov dword ptr [esi + 4], eax"], ["0x1008f424", "mov dword ptr [esi], TglImpl::DeviceImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a188a", "jmp 0x12", "0x1008f42a"], ["0x100a188c", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f42c"], ["0x100a188f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1008f42f"], ["0x100a1894", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f434"], ["0x100a1897", "jmp Tgl::Device::~Device (FUNCTION)", "0x1008f437"]]}, {"orig": [["0x100a189c", "xor esi, esi"], ["0x100a189e", "mov edx, dword ptr [ebx + 4]"], ["0x100a18a1", "lea eax, [esi + 4]"]], "recomp": [["0x1008f43c", "xor edi, edi"], ["0x1008f43e", "mov ecx, dword ptr [ebx + 4]"], ["0x1008f441", "lea eax, [edi + 4]"]]}, {"both": [["0x100a18a4", "push eax", "0x1008f444"], ["0x100a18a5", "mov eax, dword ptr [ebp + 8]", "0x1008f445"], ["0x100a18a8", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008f448"]]}, {"orig": [["0x100a18af", "mov ecx, dword ptr [eax + 4]"]], "recomp": [["0x1008f44f", "mov edx, dword ptr [eax + 4]"]]}, {"both": [["0x100a18b2", "mov ebx, dword ptr [eax]", "0x1008f452"]]}, {"orig": [], "recomp": [["0x1008f454", "push edx"], ["0x1008f455", "mov eax, dword ptr [ecx]"], ["0x1008f457", "push ebx"]]}, {"both": [["0x100a18b4", "push ecx", "0x1008f458"]]}, {"orig": [["0x100a18b5", "mov eax, dword ptr [edx]"], ["0x100a18b7", "push ebx"], ["0x100a18b8", "push edx"]], "recomp": []}, {"both": [["0x100a18b9", "call dword ptr [eax + 0x40]", "0x1008f459"], ["0x100a18bc", "test eax, eax", "0x1008f45c"], ["0x100a18be", "jge 0xe", "0x1008f45e"]]}, {"orig": [["0x100a18c0", "test esi, esi"]], "recomp": [["0x1008f460", "test edi, edi"]]}, {"both": [["0x100a18c2", "je 0x8", "0x1008f462"], ["0x100a18c4", "push 1", "0x1008f464"]]}, {"orig": [["0x100a18c6", "mov eax, dword ptr [esi]"], ["0x100a18c8", "mov ecx, esi"]], "recomp": [["0x1008f466", "mov eax, dword ptr [edi]"], ["0x1008f468", "mov ecx, edi"]]}, {"both": [["0x100a18ca", "call dword ptr [eax]", "0x1008f46a"]]}, {"orig": [["0x100a18cc", "xor esi, esi"], ["0x100a18ce", "mov eax, esi"]], "recomp": [["0x1008f46c", "xor edi, edi"], ["0x1008f46e", "mov eax, edi"]]}, {"both": [["0x100a18d0", "mov ecx, dword ptr [ebp - 0xc]", "0x1008f470"], ["0x100a18d3", "mov dword ptr fs:[0], ecx", "0x1008f473"], ["0x100a18da", "pop edi", "0x1008f47a"], ["0x100a18db", "pop esi", "0x1008f47b"], ["0x100a18dc", "pop ebx", "0x1008f47c"], ["0x100a18dd", "mov esp, ebp", "0x1008f47d"], ["0x100a18df", "pop ebp", "0x1008f47f"], ["0x100a18e0", "ret 4", "0x1008f480"], ["0x100a18e3", "mov eax, <OFFSET6>", "0x1008f483"], ["0x100a18e8", "jmp ___CxxFrameHandler (FUNCTION)", "0x1008f488"]]}]]]}, {"address": "0x100a1900", "recomp": "0x1008f5f0", "name": "TglImpl::RendererImpl::CreateDevice", "matching": 0.686046511627907, "diff": [["@@ -0x100a1900,86 +0x1008f5f0,86 @@", [{"both": [["0x100a1900", "mov eax, dword ptr fs:[0]", "0x1008f5f0"], ["0x100a1906", "push ebp", "0x1008f5f6"], ["0x100a1907", "mov ebp, esp", "0x1008f5f7"], ["0x100a1909", "push -1", "0x1008f5f9"], ["0x100a190b", "push <OFFSET1>", "0x1008f5fb"], ["0x100a1910", "push eax", "0x1008f600"], ["0x100a1911", "mov dword ptr fs:[0], esp", "0x1008f601"]]}, {"orig": [["0x100a1918", "sub esp, 4"]], "recomp": [["0x1008f608", "sub esp, 8"]]}, {"both": [["0x100a191b", "push ebx", "0x1008f60b"], ["0x100a191c", "push esi", "0x1008f60c"], ["0x100a191d", "push edi", "0x1008f60d"], ["0x100a191e", "mov ebx, ecx", "0x1008f60e"], ["0x100a1920", "push 8", "0x1008f610"], ["0x100a1922", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008f612"], ["0x100a1927", "mov dword ptr [ebp - 0x10], eax", "0x1008f617"], ["0x100a192a", "add esp, 4", "0x1008f61a"]]}, {"orig": [["0x100a192d", "mov esi, eax"]], "recomp": [["0x1008f61d", "mov edi, eax"]]}, {"both": [["0x100a192f", "xor eax, eax", "0x1008f61f"], ["0x100a1931", "mov dword ptr [ebp - 4], eax", "0x1008f621"]]}, {"orig": [["0x100a1934", "test esi, esi"]], "recomp": [["0x1008f624", "test edi, edi"]]}, {"both": [["0x100a1936", "je 0x34", "0x1008f626"], ["0x100a1938", "mov byte ptr [ebp - 4], 1", "0x1008f628"]]}, {"orig": [["0x100a193c", "mov edi, esi"], ["0x100a193e", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x1008f62c", "mov esi, edi"], ["0x1008f62e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a1944", "mov byte ptr [ebp - 4], 2", "0x1008f634"]]}, {"orig": [["0x100a1948", "mov dword ptr [esi], Tgl::Device::`vftable' (VTABLE)"]], "recomp": [["0x1008f638", "mov dword ptr [edi], Tgl::Device::`vftable' (VTABLE)"]]}, {"both": [["0x100a194e", "mov byte ptr [ebp - 4], al", "0x1008f63e"]]}, {"orig": [["0x100a1951", "mov dword ptr [esi + 4], eax"], ["0x100a1954", "mov dword ptr [esi], TglImpl::DeviceImpl::`vftable' (VTABLE)"]], "recomp": [["0x1008f641", "mov dword ptr [edi + 4], eax"], ["0x1008f644", "mov dword ptr [edi], TglImpl::DeviceImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a195a", "jmp 0x12", "0x1008f64a"], ["0x100a195c", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f64c"], ["0x100a195f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1008f64f"], ["0x100a1964", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f654"], ["0x100a1967", "jmp Tgl::Device::~Device (FUNCTION)", "0x1008f657"]]}, {"orig": [["0x100a196c", "xor edi, edi"]], "recomp": [["0x1008f65c", "xor esi, esi"]]}, {"both": [["0x100a196e", "mov ecx, dword ptr [ebx + 4]", "0x1008f65e"]]}, {"orig": [["0x100a1971", "lea eax, [edi + 4]"]], "recomp": [["0x1008f661", "lea eax, [esi + 4]"]]}, {"both": [["0x100a1974", "mov ebx, dword ptr [ebp + 8]", "0x1008f664"], ["0x100a1977", "push eax", "0x1008f667"], ["0x100a1978", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008f668"], ["0x100a197f", "mov edx, dword ptr [ebx + 0x10]", "0x1008f66f"]]}, {"orig": [["0x100a1982", "mov esi, dword ptr [ebx + 8]"]], "recomp": [["0x1008f672", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x100a1985", "push edx", "0x1008f675"]]}, {"orig": [["0x100a1986", "mov eax, dword ptr [ebx]"], ["0x100a1988", "push esi"]], "recomp": []}, {"both": [["0x100a1989", "push eax", "0x1008f676"]]}, {"orig": [], "recomp": [["0x1008f677", "mov edx, dword ptr [ebx]"], ["0x1008f679", "mov eax, dword ptr [ecx]"], ["0x1008f67b", "push edx"]]}, {"both": [["0x100a198a", "push ecx", "0x1008f67c"]]}, {"orig": [["0x100a198b", "mov esi, dword ptr [ecx]"], ["0x100a198d", "call dword ptr [esi + 0x3c]"], ["0x100a1990", "mov esi, 1"]], "recomp": [["0x1008f67d", "call dword ptr [eax + 0x3c]"], ["0x1008f680", "mov dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100a1995", "test eax, eax", "0x1008f683"]]}, {"orig": [["0x100a1997", "jge 0x2"], ["0x100a1999", "xor esi, esi"], ["0x100a199b", "cmp esi, 1"], ["0x100a199e", "jne 0x1a"]], "recomp": [["0x1008f685", "jl 0x1a"]]}, {"both": [["0x100a19a0", "cmp dword ptr [ebx + 0x10], 0", "0x1008f687"], ["0x100a19a4", "je 0x14", "0x1008f68b"], ["0x100a19a6", "cmp dword ptr [<OFFSET6>], 0", "0x1008f68d"], ["0x100a19ad", "je 0xb", "0x1008f694"]]}, {"orig": [["0x100a19af", "mov eax, dword ptr [edi + 4]"]], "recomp": [["0x1008f696", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100a19b2", "push 2", "0x1008f699"], ["0x100a19b4", "push eax", "0x1008f69b"], ["0x100a19b5", "mov ebx, dword ptr [eax]", "0x1008f69c"], ["0x100a19b7", "call dword ptr [ebx + 0x44]", "0x1008f69e"]]}, {"orig": [], "recomp": [["0x1008f6a1", "cmp dword ptr [ebp - 0x14], 0"], ["0x1008f6a5", "jge 0xe"]]}, {"both": [["0x100a19ba", "test esi, esi", "0x1008f6a7"]]}, {"orig": [["0x100a19bc", "jne 0xe"], ["0x100a19be", "test edi, edi"]], "recomp": []}, {"both": [["0x100a19c0", "je 0x8", "0x1008f6a9"], ["0x100a19c2", "push 1", "0x1008f6ab"]]}, {"orig": [["0x100a19c4", "mov eax, dword ptr [edi]"], ["0x100a19c6", "mov ecx, edi"]], "recomp": [["0x1008f6ad", "mov eax, dword ptr [esi]"], ["0x1008f6af", "mov ecx, esi"]]}, {"both": [["0x100a19c8", "call dword ptr [eax]", "0x1008f6b1"]]}, {"orig": [["0x100a19ca", "xor edi, edi"], ["0x100a19cc", "mov eax, edi"]], "recomp": [["0x1008f6b3", "xor esi, esi"], ["0x1008f6b5", "mov eax, esi"]]}, {"both": [["0x100a19ce", "mov ecx, dword ptr [ebp - 0xc]", "0x1008f6b7"], ["0x100a19d1", "mov dword ptr fs:[0], ecx", "0x1008f6ba"], ["0x100a19d8", "pop edi", "0x1008f6c1"], ["0x100a19d9", "pop esi", "0x1008f6c2"], ["0x100a19da", "pop ebx", "0x1008f6c3"], ["0x100a19db", "mov esp, ebp", "0x1008f6c4"], ["0x100a19dd", "pop ebp", "0x1008f6c6"], ["0x100a19de", "ret 4", "0x1008f6c7"], ["0x100a19e1", "mov eax, <OFFSET7>", "0x1008f6ca"], ["0x100a19e6", "jmp ___CxxFrameHandler (FUNCTION)", "0x1008f6cf"], ["0x100a19eb", "mov eax, dword ptr [ebp - 0x10]", "0x1008f6d4"], ["0x100a19ee", "push eax", "0x1008f6d7"]]}, {"orig": [], "recomp": [["0x1008f6d8", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x1008f6dd", "add esp, 4"], ["0x1008f6e0", "ret "]]}]]]}, {"address": "0x100a1a00", "recomp": "0x1008f6f0", "name": "TglImpl::RendererImpl::CreateView", "matching": 0.7772511848341233, "diff": [["@@ -0x100a1a00,18 +0x1008f6f0,18 @@", [{"both": [["0x100a1a00", "mov eax, dword ptr fs:[0]", "0x1008f6f0"], ["0x100a1a06", "push ebp", "0x1008f6f6"], ["0x100a1a07", "mov ebp, esp", "0x1008f6f7"], ["0x100a1a09", "push -1", "0x1008f6f9"], ["0x100a1a0b", "push <OFFSET1>", "0x1008f6fb"], ["0x100a1a10", "push eax", "0x1008f700"], ["0x100a1a11", "mov dword ptr fs:[0], esp", "0x1008f701"]]}, {"orig": [["0x100a1a18", "sub esp, 4"]], "recomp": [["0x1008f708", "sub esp, 0xc"]]}, {"both": [["0x100a1a1b", "push ebx", "0x1008f70b"], ["0x100a1a1c", "push esi", "0x1008f70c"], ["0x100a1a1d", "push edi", "0x1008f70d"], ["0x100a1a1e", "mov ebx, ecx", "0x1008f70e"], ["0x100a1a20", "push 8", "0x1008f710"], ["0x100a1a22", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008f712"], ["0x100a1a27", "mov dword ptr [ebp - 0x10], eax", "0x1008f717"], ["0x100a1a2a", "add esp, 4", "0x1008f71a"], ["0x100a1a2d", "mov esi, eax", "0x1008f71d"], ["0x100a1a2f", "xor eax, eax", "0x1008f71f"]]}]], ["@@ -0x100a1a51,63 +0x1008f741,66 @@", [{"both": [["0x100a1a51", "mov dword ptr [esi + 4], eax", "0x1008f741"], ["0x100a1a54", "mov dword ptr [esi], TglImpl::ViewImpl::`vftable' (VTABLE)", "0x1008f744"], ["0x100a1a5a", "jmp 0x12", "0x1008f74a"], ["0x100a1a5c", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f74c"], ["0x100a1a5f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1008f74f"], ["0x100a1a64", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f754"], ["0x100a1a67", "jmp Tgl::View::~View (FUNCTION)", "0x1008f757"], ["0x100a1a6c", "xor edi, edi", "0x1008f75c"], ["0x100a1a6e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008f75e"], ["0x100a1a75", "mov eax, dword ptr [ebp + 0xc]", "0x1008f765"]]}, {"orig": [["0x100a1a78", "mov ebx, dword ptr [ebx + 4]"], ["0x100a1a7b", "mov edx, dword ptr [ebp + 0x18]"]], "recomp": [["0x1008f768", "mov edx, dword ptr [ebx + 4]"], ["0x1008f76b", "mov dword ptr [ebp - 0x14], edx"]]}, {"both": [["0x100a1a7e", "mov ecx, dword ptr [eax + 4]", "0x1008f76e"], ["0x100a1a81", "lea eax, [edi + 4]", "0x1008f771"]]}, {"orig": [["0x100a1a84", "mov dword ptr [ebp - 0x10], ecx"]], "recomp": [["0x1008f774", "mov edx, dword ptr [ebp + 0x18]"]]}, {"both": [["0x100a1a87", "push eax", "0x1008f777"]]}, {"orig": [], "recomp": [["0x1008f778", "mov dword ptr [ebp - 0x18], ecx"]]}, {"both": [["0x100a1a88", "mov ecx, dword ptr [ebp + 0x1c]", "0x1008f77b"]]}, {"orig": [], "recomp": [["0x1008f77e", "mov eax, dword ptr [ebp + 0x14]"]]}, {"both": [["0x100a1a8b", "push ecx", "0x1008f781"]]}, {"orig": [["0x100a1a8c", "mov eax, dword ptr [ebp + 0x14]"]], "recomp": []}, {"both": [["0x100a1a8f", "push edx", "0x1008f782"]]}, {"orig": [], "recomp": [["0x1008f783", "push eax"]]}, {"both": [["0x100a1a90", "mov ecx, dword ptr [ebp + 0x10]", "0x1008f784"]]}, {"orig": [["0x100a1a93", "push eax"], ["0x100a1a94", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x100a1a97", "push ecx", "0x1008f787"]]}, {"orig": [], "recomp": [["0x1008f788", "mov edx, dword ptr [ebp - 0x18]"], ["0x1008f78b", "push edx"]]}, {"both": [["0x100a1a98", "mov eax, dword ptr [ebp + 8]", "0x1008f78c"]]}, {"orig": [["0x100a1a9b", "push edx"], ["0x100a1a9c", "mov esi, dword ptr [ebx]"]], "recomp": [["0x1008f78f", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1a9e", "mov ecx, dword ptr [eax + 4]", "0x1008f792"], ["0x100a1aa1", "push ecx", "0x1008f795"]]}, {"orig": [["0x100a1aa2", "push ebx"], ["0x100a1aa3", "call dword ptr [esi + 0x50]"], ["0x100a1aa6", "mov esi, 1"]], "recomp": [["0x1008f796", "mov ebx, 1"], ["0x1008f79b", "push edx"], ["0x1008f79c", "mov eax, dword ptr [edx]"], ["0x1008f79e", "call dword ptr [eax + 0x50]"]]}, {"both": [["0x100a1aab", "test eax, eax", "0x1008f7a1"], ["0x100a1aad", "jge 0x2", "0x1008f7a3"]]}, {"orig": [["0x100a1aaf", "xor esi, esi"], ["0x100a1ab1", "cmp esi, 1"], ["0x100a1ab4", "jne 0x28"], ["0x100a1ab6", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x1008f7a5", "xor ebx, ebx"], ["0x1008f7a7", "cmp ebx, 1"], ["0x1008f7aa", "jne 0x2b"], ["0x1008f7ac", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a1ab9", "mov ecx, dword ptr [edi + 4]", "0x1008f7af"], ["0x100a1abc", "push eax", "0x1008f7b2"]]}, {"orig": [], "recomp": [["0x1008f7b3", "mov edx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1abd", "push ecx", "0x1008f7b6"]]}, {"orig": [["0x100a1abe", "push ebx"]], "recomp": [["0x1008f7b7", "push edx"]]}, {"both": [["0x100a1abf", "call TglImpl::ViewImpl::ViewportCreateAppData (FUNCTION)", "0x1008f7b8"], ["0x100a1ac4", "add esp, 0xc", "0x1008f7bd"]]}, {"orig": [["0x100a1ac7", "mov esi, eax"], ["0x100a1ac9", "cmp esi, 1"]], "recomp": [["0x1008f7c0", "mov ebx, eax"], ["0x1008f7c2", "cmp ebx, 1"]]}, {"both": [["0x100a1acc", "je 0x10", "0x1008f7c5"], ["0x100a1ace", "mov eax, dword ptr [edi + 4]", "0x1008f7c7"], ["0x100a1ad1", "push eax", "0x1008f7ca"]]}, {"orig": [["0x100a1ad2", "mov ebx, dword ptr [eax]"], ["0x100a1ad4", "call dword ptr [ebx + 8]"]], "recomp": [["0x1008f7cb", "mov esi, dword ptr [eax]"], ["0x1008f7cd", "call dword ptr [esi + 8]"]]}, {"both": [["0x100a1ad7", "mov dword ptr [edi + 4], 0", "0x1008f7d0"]]}, {"orig": [["0x100a1ade", "test esi, esi"]], "recomp": [["0x1008f7d7", "test ebx, ebx"]]}, {"both": [["0x100a1ae0", "jne 0xe", "0x1008f7d9"], ["0x100a1ae2", "test edi, edi", "0x1008f7db"], ["0x100a1ae4", "je 0x8", "0x1008f7dd"], ["0x100a1ae6", "push 1", "0x1008f7df"], ["0x100a1ae8", "mov eax, dword ptr [edi]", "0x1008f7e1"], ["0x100a1aea", "mov ecx, edi", "0x1008f7e3"], ["0x100a1aec", "call dword ptr [eax]", "0x1008f7e5"], ["0x100a1aee", "xor edi, edi", "0x1008f7e7"], ["0x100a1af0", "mov eax, edi", "0x1008f7e9"], ["0x100a1af2", "mov ecx, dword ptr [ebp - 0xc]", "0x1008f7eb"]]}]]]}, {"address": "0x100a1b20", "recomp": "0x1008f970", "name": "TglImpl::RendererImpl::CreateGroup", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a1b7f,26 +0x1008f9cf,26 @@", [{"both": [["0x100a1b7f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1008f9cf"], ["0x100a1b84", "mov ecx, dword ptr [ebp - 0x10]", "0x1008f9d4"], ["0x100a1b87", "jmp Tgl::Group::~Group (FUNCTION)", "0x1008f9d7"], ["0x100a1b8c", "xor edi, edi", "0x1008f9dc"], ["0x100a1b8e", "mov eax, dword ptr [ebp + 8]", "0x1008f9de"], ["0x100a1b91", "mov esi, 0", "0x1008f9e1"], ["0x100a1b96", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008f9e6"], ["0x100a1b9d", "test eax, eax", "0x1008f9ed"], ["0x100a1b9f", "je 0x3", "0x1008f9ef"], ["0x100a1ba1", "mov esi, dword ptr [eax + 4]", "0x1008f9f1"]]}, {"orig": [["0x100a1ba4", "mov eax, dword ptr [ebx + 4]"], ["0x100a1ba7", "lea ecx, [edi + 4]"]], "recomp": [["0x1008f9f4", "mov ecx, dword ptr [ebx + 4]"], ["0x1008f9f7", "lea eax, [edi + 4]"], ["0x1008f9fa", "push eax"], ["0x1008f9fb", "push 0"]]}, {"both": [["0x100a1baa", "push ecx", "0x1008f9fd"]]}, {"orig": [["0x100a1bab", "push 0"], ["0x100a1bad", "push eax"], ["0x100a1bae", "mov ebx, dword ptr [eax]"]], "recomp": [["0x1008f9fe", "mov ebx, dword ptr [ecx]"]]}, {"both": [["0x100a1bb0", "call dword ptr [ebx + 0x10]", "0x1008fa00"], ["0x100a1bb3", "mov ebx, 1", "0x1008fa03"], ["0x100a1bb8", "test eax, eax", "0x1008fa08"], ["0x100a1bba", "jge 0x2", "0x1008fa0a"], ["0x100a1bbc", "xor ebx, ebx", "0x1008fa0c"], ["0x100a1bbe", "cmp ebx, 1", "0x1008fa0e"], ["0x100a1bc1", "jne 0x2e", "0x1008fa11"], ["0x100a1bc3", "test esi, esi", "0x1008fa13"], ["0x100a1bc5", "je 0x2a", "0x1008fa15"], ["0x100a1bc7", "mov eax, dword ptr [edi + 4]", "0x1008fa17"]]}]]]}, {"address": "0x100a1c30", "recomp": "0x1008fbd0", "name": "TglImpl::RendererImpl::CreateCamera", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a1c41,57 +0x1008fbe1,57 @@", [{"both": [["0x100a1c41", "mov dword ptr fs:[0], esp", "0x1008fbe1"], ["0x100a1c48", "sub esp, 4", "0x1008fbe8"], ["0x100a1c4b", "push ebx", "0x1008fbeb"], ["0x100a1c4c", "push esi", "0x1008fbec"], ["0x100a1c4d", "push edi", "0x1008fbed"], ["0x100a1c4e", "mov ebx, ecx", "0x1008fbee"], ["0x100a1c50", "push 8", "0x1008fbf0"], ["0x100a1c52", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008fbf2"], ["0x100a1c57", "mov dword ptr [ebp - 0x10], eax", "0x1008fbf7"], ["0x100a1c5a", "add esp, 4", "0x1008fbfa"]]}, {"orig": [["0x100a1c5d", "mov edi, eax"]], "recomp": [["0x1008fbfd", "mov esi, eax"]]}, {"both": [["0x100a1c5f", "xor eax, eax", "0x1008fbff"], ["0x100a1c61", "mov dword ptr [ebp - 4], eax", "0x1008fc01"]]}, {"orig": [["0x100a1c64", "test edi, edi"]], "recomp": [["0x1008fc04", "test esi, esi"]]}, {"both": [["0x100a1c66", "je 0x34", "0x1008fc06"], ["0x100a1c68", "mov byte ptr [ebp - 4], 1", "0x1008fc08"]]}, {"orig": [["0x100a1c6c", "mov esi, edi"], ["0x100a1c6e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x1008fc0c", "mov edi, esi"], ["0x1008fc0e", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a1c74", "mov byte ptr [ebp - 4], 2", "0x1008fc14"]]}, {"orig": [["0x100a1c78", "mov dword ptr [edi], Tgl::Camera::`vftable' (VTABLE)"]], "recomp": [["0x1008fc18", "mov dword ptr [esi], Tgl::Camera::`vftable' (VTABLE)"]]}, {"both": [["0x100a1c7e", "mov byte ptr [ebp - 4], al", "0x1008fc1e"]]}, {"orig": [["0x100a1c81", "mov dword ptr [edi + 4], eax"], ["0x100a1c84", "mov dword ptr [edi], TglImpl::CameraImpl::`vftable' (VTABLE)"]], "recomp": [["0x1008fc21", "mov dword ptr [esi + 4], eax"], ["0x1008fc24", "mov dword ptr [esi], TglImpl::CameraImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a1c8a", "jmp 0x12", "0x1008fc2a"], ["0x100a1c8c", "mov ecx, dword ptr [ebp - 0x10]", "0x1008fc2c"], ["0x100a1c8f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1008fc2f"], ["0x100a1c94", "mov ecx, dword ptr [ebp - 0x10]", "0x1008fc34"], ["0x100a1c97", "jmp Tgl::Camera::~Camera (FUNCTION)", "0x1008fc37"]]}, {"orig": [["0x100a1c9c", "xor esi, esi"]], "recomp": [["0x1008fc3c", "xor edi, edi"]]}, {"both": [["0x100a1c9e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008fc3e"], ["0x100a1ca5", "mov eax, dword ptr [ebx + 4]", "0x1008fc45"]]}, {"orig": [["0x100a1ca8", "lea ecx, [esi + 4]"]], "recomp": [["0x1008fc48", "lea ecx, [edi + 4]"]]}, {"both": [["0x100a1cab", "push ecx", "0x1008fc4b"], ["0x100a1cac", "push 0", "0x1008fc4c"], ["0x100a1cae", "push eax", "0x1008fc4e"], ["0x100a1caf", "mov ebx, dword ptr [eax]", "0x1008fc4f"], ["0x100a1cb1", "call dword ptr [ebx + 0x10]", "0x1008fc51"], ["0x100a1cb4", "test eax, eax", "0x1008fc54"], ["0x100a1cb6", "jge 0xe", "0x1008fc56"]]}, {"orig": [["0x100a1cb8", "test esi, esi"]], "recomp": [["0x1008fc58", "test edi, edi"]]}, {"both": [["0x100a1cba", "je 0x8", "0x1008fc5a"], ["0x100a1cbc", "push 1", "0x1008fc5c"]]}, {"orig": [["0x100a1cbe", "mov eax, dword ptr [esi]"], ["0x100a1cc0", "mov ecx, esi"]], "recomp": [["0x1008fc5e", "mov eax, dword ptr [edi]"], ["0x1008fc60", "mov ecx, edi"]]}, {"both": [["0x100a1cc2", "call dword ptr [eax]", "0x1008fc62"]]}, {"orig": [["0x100a1cc4", "xor esi, esi"], ["0x100a1cc6", "mov eax, esi"]], "recomp": [["0x1008fc64", "xor edi, edi"], ["0x1008fc66", "mov eax, edi"]]}, {"both": [["0x100a1cc8", "mov ecx, dword ptr [ebp - 0xc]", "0x1008fc68"], ["0x100a1ccb", "mov dword ptr fs:[0], ecx", "0x1008fc6b"], ["0x100a1cd2", "pop edi", "0x1008fc72"], ["0x100a1cd3", "pop esi", "0x1008fc73"], ["0x100a1cd4", "pop ebx", "0x1008fc74"], ["0x100a1cd5", "mov esp, ebp", "0x1008fc75"], ["0x100a1cd7", "pop ebp", "0x1008fc77"], ["0x100a1cd8", "ret ", "0x1008fc78"], ["0x100a1cd9", "mov eax, <OFFSET6>", "0x1008fc79"], ["0x100a1cde", "jmp ___CxxFrameHandler (FUNCTION)", "0x1008fc7e"]]}]]]}, {"address": "0x100a1cf0", "recomp": "0x1008fde0", "name": "TglImpl::RendererImpl::CreateLight", "matching": 0.6851211072664359, "diff": [["@@ -0x100a1cf0,22 +0x1008fde0,22 @@", [{"both": [["0x100a1cf0", "mov eax, dword ptr fs:[0]", "0x1008fde0"], ["0x100a1cf6", "push ebp", "0x1008fde6"], ["0x100a1cf7", "mov ebp, esp", "0x1008fde7"], ["0x100a1cf9", "push -1", "0x1008fde9"], ["0x100a1cfb", "push <OFFSET1>", "0x1008fdeb"], ["0x100a1d00", "push eax", "0x1008fdf0"], ["0x100a1d01", "mov dword ptr fs:[0], esp", "0x1008fdf1"], ["0x100a1d08", "sub esp, 0xc", "0x1008fdf8"]]}, {"orig": [], "recomp": [["0x1008fdfb", "mov dword ptr [ebp - 0x18], ecx"]]}, {"both": [["0x100a1d0b", "push ebx", "0x1008fdfe"], ["0x100a1d0c", "push esi", "0x1008fdff"], ["0x100a1d0d", "push edi", "0x1008fe00"]]}, {"orig": [["0x100a1d0e", "mov ebx, ecx"]], "recomp": []}, {"both": [["0x100a1d10", "push 8", "0x1008fe01"], ["0x100a1d12", "call ??2@YAPAXI@Z (FUNCTION)", "0x1008fe03"], ["0x100a1d17", "mov dword ptr [ebp - 0x10], eax", "0x1008fe08"], ["0x100a1d1a", "add esp, 4", "0x1008fe0b"], ["0x100a1d1d", "mov edi, eax", "0x1008fe0e"], ["0x100a1d1f", "xor eax, eax", "0x1008fe10"], ["0x100a1d21", "mov dword ptr [ebp - 4], eax", "0x1008fe12"], ["0x100a1d24", "test edi, edi", "0x1008fe15"], ["0x100a1d26", "je 0x34", "0x1008fe17"], ["0x100a1d28", "mov byte ptr [ebp - 4], 1", "0x1008fe19"]]}]], ["@@ -0x100a1d3e,101 +0x1008fe2f,100 @@", [{"both": [["0x100a1d3e", "mov byte ptr [ebp - 4], al", "0x1008fe2f"], ["0x100a1d41", "mov dword ptr [edi + 4], eax", "0x1008fe32"], ["0x100a1d44", "mov dword ptr [edi], TglImpl::LightImpl::`vftable' (VTABLE)", "0x1008fe35"], ["0x100a1d4a", "jmp 0x12", "0x1008fe3b"], ["0x100a1d4c", "mov ecx, dword ptr [ebp - 0x10]", "0x1008fe3d"], ["0x100a1d4f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1008fe40"], ["0x100a1d54", "mov ecx, dword ptr [ebp - 0x10]", "0x1008fe45"], ["0x100a1d57", "jmp Tgl::Light::~Light (FUNCTION)", "0x1008fe48"], ["0x100a1d5c", "xor esi, esi", "0x1008fe4d"], ["0x100a1d5e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008fe4f"]]}, {"orig": [["0x100a1d65", "mov edi, dword ptr [ebx + 4]"]], "recomp": []}, {"both": [["0x100a1d68", "mov eax, dword ptr [ebp + 8]", "0x1008fe56"], ["0x100a1d6b", "cmp eax, 4", "0x1008fe59"], ["0x100a1d6e", "ja 0x7", "0x1008fe5c"], ["0x100a1d70", "jmp dword ptr [eax*4 + <OFFSET6>]", "0x1008fe5e"]]}, {"orig": [["0x100a1d77", "mov dword ptr [ebp - 0x14], 0"], ["0x100a1d7e", "jmp 0x2b"], ["0x100a1d80", "mov dword ptr [ebp - 0x14], 0"], ["0x100a1d87", "jmp 0x22"], ["0x100a1d89", "mov dword ptr [ebp - 0x14], 1"], ["0x100a1d90", "jmp 0x19"], ["0x100a1d92", "mov dword ptr [ebp - 0x14], 2"], ["0x100a1d99", "jmp 0x10"], ["0x100a1d9b", "mov dword ptr [ebp - 0x14], 3"], ["0x100a1da2", "jmp 0x7"], ["0x100a1da4", "mov dword ptr [ebp - 0x14], 4"], ["0x100a1dab", "lea eax, [ebp - 0x10]"], ["0x100a1dae", "mov ebx, dword ptr [edi]"]], "recomp": [["0x1008fe65", "xor edi, edi"], ["0x1008fe67", "jmp 0x1e"], ["0x1008fe69", "xor edi, edi"], ["0x1008fe6b", "jmp 0x1a"], ["0x1008fe6d", "mov edi, 1"], ["0x1008fe72", "jmp 0x13"], ["0x1008fe74", "mov edi, 2"], ["0x1008fe79", "jmp 0xc"], ["0x1008fe7b", "mov edi, 3"], ["0x1008fe80", "jmp 0x5"], ["0x1008fe82", "mov edi, 4"], ["0x1008fe87", "mov eax, dword ptr [ebp - 0x18]"], ["0x1008fe8a", "lea ecx, [ebp - 0x14]"], ["0x1008fe8d", "push ecx"], ["0x1008fe8e", "push 0"], ["0x1008fe90", "mov eax, dword ptr [eax + 4]"]]}, {"both": [["0x100a1db0", "push eax", "0x1008fe93"]]}, {"orig": [["0x100a1db1", "push 0"], ["0x100a1db3", "push edi"]], "recomp": [["0x1008fe94", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x100a1db4", "call dword ptr [ebx + 0x10]", "0x1008fe96"], ["0x100a1db7", "mov ebx, 1", "0x1008fe99"], ["0x100a1dbc", "test eax, eax", "0x1008fe9e"], ["0x100a1dbe", "jge 0x2", "0x1008fea0"], ["0x100a1dc0", "xor ebx, ebx", "0x1008fea2"], ["0x100a1dc2", "cmp ebx, 1", "0x1008fea4"]]}, {"orig": [["0x100a1dc5", "jne 0x75"], ["0x100a1dc7", "lea eax, [ebp - 0x18]"], ["0x100a1dca", "mov ecx, dword ptr [ebp + 0x14]"]], "recomp": [["0x1008fea7", "jne 0x77"], ["0x1008fea9", "mov eax, dword ptr [ebp - 0x18]"], ["0x1008feac", "lea edx, [ebp - 0x10]"], ["0x1008feaf", "push edx"], ["0x1008feb0", "mov ebx, dword ptr [ebp + 0x10]"], ["0x1008feb3", "mov ecx, dword ptr [eax + 4]"], ["0x1008feb6", "mov edx, dword ptr [ebp + 0xc]"], ["0x1008feb9", "mov eax, dword ptr [ebp + 0x14]"]]}, {"both": [["0x100a1dcd", "push eax", "0x1008febc"]]}, {"orig": [["0x100a1dce", "mov edx, dword ptr [ebp + 0x10]"]], "recomp": [["0x1008febd", "push ebx"], ["0x1008febe", "push edx"], ["0x1008febf", "mov eax, dword ptr [ecx]"], ["0x1008fec1", "push edi"], ["0x1008fec2", "mov ebx, 1"]]}, {"both": [["0x100a1dd1", "push ecx", "0x1008fec7"]]}, {"orig": [["0x100a1dd2", "mov eax, dword ptr [ebp + 0xc]"], ["0x100a1dd5", "push edx"], ["0x100a1dd6", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100a1dd9", "push eax"], ["0x100a1dda", "mov ebx, dword ptr [edi]"], ["0x100a1ddc", "push ecx"], ["0x100a1ddd", "push edi"], ["0x100a1dde", "call dword ptr [ebx + 0x30]"], ["0x100a1de1", "mov ebx, 1"]], "recomp": [["0x1008fec8", "call dword ptr [eax + 0x30]"]]}, {"both": [["0x100a1de6", "test eax, eax", "0x1008fecb"], ["0x100a1de8", "jge 0x2", "0x1008fecd"], ["0x100a1dea", "xor ebx, ebx", "0x1008fecf"], ["0x100a1dec", "cmp ebx, 1", "0x1008fed1"], ["0x100a1def", "je 0xb", "0x1008fed4"]]}, {"orig": [["0x100a1df1", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x1008fed6", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1df4", "push eax", "0x1008fed9"], ["0x100a1df5", "mov edi, dword ptr [eax]", "0x1008feda"], ["0x100a1df7", "call dword ptr [edi + 8]", "0x1008fedc"]]}, {"orig": [["0x100a1dfa", "jmp 0x40"], ["0x100a1dfc", "mov eax, dword ptr [ebp - 0x18]"], ["0x100a1dff", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1008fedf", "jmp 0x3a"], ["0x1008fee1", "mov eax, dword ptr [ebp - 0x10]"], ["0x1008fee4", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1e02", "push eax", "0x1008fee7"], ["0x100a1e03", "mov ebx, 1", "0x1008fee8"], ["0x100a1e08", "push ecx", "0x1008feed"], ["0x100a1e09", "mov eax, dword ptr [ecx]", "0x1008feee"], ["0x100a1e0b", "call dword ptr [eax + 0x30]", "0x1008fef0"], ["0x100a1e0e", "test eax, eax", "0x1008fef3"], ["0x100a1e10", "jge 0x2", "0x1008fef5"], ["0x100a1e12", "xor ebx, ebx", "0x1008fef7"]]}, {"orig": [], "recomp": [["0x1008fef9", "mov eax, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100a1e14", "cmp ebx, 1", "0x1008fefc"]]}, {"orig": [["0x100a1e17", "je 0x14"], ["0x100a1e19", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x100a1e1c", "push eax", "0x1008feff"], ["0x100a1e1d", "mov edi, dword ptr [eax]", "0x1008ff00"]]}, {"orig": [], "recomp": [["0x1008ff02", "je 0xe"]]}, {"both": [["0x100a1e1f", "call dword ptr [edi + 8]", "0x1008ff04"]]}, {"orig": [["0x100a1e22", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1008ff07", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1e25", "push ecx", "0x1008ff0a"], ["0x100a1e26", "mov eax, dword ptr [ecx]", "0x1008ff0b"], ["0x100a1e28", "call dword ptr [eax + 8]", "0x1008ff0d"]]}, {"orig": [["0x100a1e2b", "jmp 0xf"], ["0x100a1e2d", "mov eax, dword ptr [ebp - 0x18]"], ["0x100a1e30", "push eax"], ["0x100a1e31", "mov edi, dword ptr [eax]"]], "recomp": [["0x1008ff10", "jmp 0x9"]]}, {"both": [["0x100a1e33", "call dword ptr [edi + 8]", "0x1008ff12"]]}, {"orig": [["0x100a1e36", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1008ff15", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1e39", "mov dword ptr [esi + 4], ecx", "0x1008ff18"]]}, {"orig": [["0x100a1e3c", "test ebx, ebx"], ["0x100a1e3e", "jne 0xe"]], "recomp": [["0x1008ff1b", "cmp ebx, 1"], ["0x1008ff1e", "je 0xe"]]}, {"both": [["0x100a1e40", "test esi, esi", "0x1008ff20"], ["0x100a1e42", "je 0x8", "0x1008ff22"], ["0x100a1e44", "push 1", "0x1008ff24"], ["0x100a1e46", "mov eax, dword ptr [esi]", "0x1008ff26"], ["0x100a1e48", "mov ecx, esi", "0x1008ff28"], ["0x100a1e4a", "call dword ptr [eax]", "0x1008ff2a"], ["0x100a1e4c", "xor esi, esi", "0x1008ff2c"], ["0x100a1e4e", "mov eax, esi", "0x1008ff2e"], ["0x100a1e50", "mov ecx, dword ptr [ebp - 0xc]", "0x1008ff30"], ["0x100a1e53", "mov dword ptr fs:[0], ecx", "0x1008ff33"]]}]], ["@@ -,10 +,14 @@", [{"both": [["0x100a1e63", "mov eax, <OFFSET7>", "0x1008ff43"], ["0x100a1e68", "jmp ___CxxFrameHandler (FUNCTION)", "0x1008ff48"], ["0x100a1e6d", "mov eax, dword ptr [ebp - 0x10]", "0x1008ff4d"], ["0x100a1e70", "push eax", "0x1008ff50"], ["0x100a1e71", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008ff51"], ["0x100a1e76", "add esp, 4", "0x1008ff56"], ["0x100a1e79", "ret ", "0x1008ff59"], ["0x100a1e7a", "mov edi, edi", "0x1008ff5a"], ["", "Jump table:", ""], ["0x100a1e7c", "Jump_dest_0", "0x1008ff5c"]]}, {"orig": [], "recomp": [["0x1008ff60", "Jump_dest_1"], ["0x1008ff64", "Jump_dest_2"], ["0x1008ff68", "Jump_dest_3"], ["0x1008ff6c", "Jump_dest_4"]]}]]]}, {"address": "0x100a1e90", "recomp": "0x100900c0", "name": "TglImpl::RendererImpl::CreateMeshBuilder", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a1ea1,56 +0x100900d1,56 @@", [{"both": [["0x100a1ea1", "mov dword ptr fs:[0], esp", "0x100900d1"], ["0x100a1ea8", "sub esp, 4", "0x100900d8"], ["0x100a1eab", "push ebx", "0x100900db"], ["0x100a1eac", "push esi", "0x100900dc"], ["0x100a1ead", "push edi", "0x100900dd"], ["0x100a1eae", "mov ebx, ecx", "0x100900de"], ["0x100a1eb0", "push 8", "0x100900e0"], ["0x100a1eb2", "call ??2@YAPAXI@Z (FUNCTION)", "0x100900e2"], ["0x100a1eb7", "mov dword ptr [ebp - 0x10], eax", "0x100900e7"], ["0x100a1eba", "add esp, 4", "0x100900ea"]]}, {"orig": [["0x100a1ebd", "mov edi, eax"]], "recomp": [["0x100900ed", "mov esi, eax"]]}, {"both": [["0x100a1ebf", "xor eax, eax", "0x100900ef"], ["0x100a1ec1", "mov dword ptr [ebp - 4], eax", "0x100900f1"]]}, {"orig": [["0x100a1ec4", "test edi, edi"]], "recomp": [["0x100900f4", "test esi, esi"]]}, {"both": [["0x100a1ec6", "je 0x34", "0x100900f6"], ["0x100a1ec8", "mov byte ptr [ebp - 4], 1", "0x100900f8"]]}, {"orig": [["0x100a1ecc", "mov esi, edi"], ["0x100a1ece", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x100900fc", "mov edi, esi"], ["0x100900fe", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a1ed4", "mov byte ptr [ebp - 4], 2", "0x10090104"]]}, {"orig": [["0x100a1ed8", "mov dword ptr [edi], Tgl::MeshBuilder::`vftable' (VTABLE)"]], "recomp": [["0x10090108", "mov dword ptr [esi], Tgl::MeshBuilder::`vftable' (VTABLE)"]]}, {"both": [["0x100a1ede", "mov byte ptr [ebp - 4], al", "0x1009010e"]]}, {"orig": [["0x100a1ee1", "mov dword ptr [edi + 4], eax"], ["0x100a1ee4", "mov dword ptr [edi], TglImpl::MeshBuilderImpl::`vftable' (VTABLE)"]], "recomp": [["0x10090111", "mov dword ptr [esi + 4], eax"], ["0x10090114", "mov dword ptr [esi], TglImpl::MeshBuilderImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a1eea", "jmp 0x12", "0x1009011a"], ["0x100a1eec", "mov ecx, dword ptr [ebp - 0x10]", "0x1009011c"], ["0x100a1eef", "jmp Tgl::Object::~Object (FUNCTION)", "0x1009011f"], ["0x100a1ef4", "mov ecx, dword ptr [ebp - 0x10]", "0x10090124"], ["0x100a1ef7", "jmp Tgl::MeshBuilder::~MeshBuilder (FUNCTION)", "0x10090127"]]}, {"orig": [["0x100a1efc", "xor esi, esi"]], "recomp": [["0x1009012c", "xor edi, edi"]]}, {"both": [["0x100a1efe", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009012e"], ["0x100a1f05", "mov eax, dword ptr [ebx + 4]", "0x10090135"]]}, {"orig": [["0x100a1f08", "lea ecx, [esi + 4]"]], "recomp": [["0x10090138", "lea ecx, [edi + 4]"]]}, {"both": [["0x100a1f0b", "mov ebx, dword ptr [eax]", "0x1009013b"], ["0x100a1f0d", "push ecx", "0x1009013d"], ["0x100a1f0e", "push eax", "0x1009013e"], ["0x100a1f0f", "call dword ptr [ebx + 0x14]", "0x1009013f"], ["0x100a1f12", "test eax, eax", "0x10090142"], ["0x100a1f14", "jge 0xe", "0x10090144"]]}, {"orig": [["0x100a1f16", "test esi, esi"]], "recomp": [["0x10090146", "test edi, edi"]]}, {"both": [["0x100a1f18", "je 0x8", "0x10090148"], ["0x100a1f1a", "push 1", "0x1009014a"]]}, {"orig": [["0x100a1f1c", "mov eax, dword ptr [esi]"], ["0x100a1f1e", "mov ecx, esi"]], "recomp": [["0x1009014c", "mov eax, dword ptr [edi]"], ["0x1009014e", "mov ecx, edi"]]}, {"both": [["0x100a1f20", "call dword ptr [eax]", "0x10090150"]]}, {"orig": [["0x100a1f22", "xor esi, esi"], ["0x100a1f24", "mov eax, esi"]], "recomp": [["0x10090152", "xor edi, edi"], ["0x10090154", "mov eax, edi"]]}, {"both": [["0x100a1f26", "mov ecx, dword ptr [ebp - 0xc]", "0x10090156"], ["0x100a1f29", "mov dword ptr fs:[0], ecx", "0x10090159"], ["0x100a1f30", "pop edi", "0x10090160"], ["0x100a1f31", "pop esi", "0x10090161"], ["0x100a1f32", "pop ebx", "0x10090162"], ["0x100a1f33", "mov esp, ebp", "0x10090163"], ["0x100a1f35", "pop ebp", "0x10090165"], ["0x100a1f36", "ret ", "0x10090166"], ["0x100a1f37", "mov eax, <OFFSET6>", "0x10090167"], ["0x100a1f3c", "jmp ___CxxFrameHandler (FUNCTION)", "0x1009016c"]]}]]]}, {"address": "0x100a1f50", "recomp": "0x100902d0", "name": "TglImpl::RendererImpl::CreateTexture", "matching": 0.6791044776119403, "diff": [["@@ -0x100a1f50,133 +0x100902d0,135 @@", [{"both": [["0x100a1f50", "mov eax, dword ptr fs:[0]", "0x100902d0"], ["0x100a1f56", "push ebp", "0x100902d6"], ["0x100a1f57", "mov ebp, esp", "0x100902d7"], ["0x100a1f59", "push -1", "0x100902d9"], ["0x100a1f5b", "push <OFFSET1>", "0x100902db"], ["0x100a1f60", "push eax", "0x100902e0"], ["0x100a1f61", "mov dword ptr fs:[0], esp", "0x100902e1"]]}, {"orig": [["0x100a1f68", "sub esp, 8"]], "recomp": [["0x100902e8", "sub esp, 0x10"]]}, {"both": [["0x100a1f6b", "push ebx", "0x100902eb"], ["0x100a1f6c", "push esi", "0x100902ec"], ["0x100a1f6d", "push edi", "0x100902ed"], ["0x100a1f6e", "mov ebx, ecx", "0x100902ee"], ["0x100a1f70", "push 8", "0x100902f0"], ["0x100a1f72", "call ??2@YAPAXI@Z (FUNCTION)", "0x100902f2"]]}, {"orig": [["0x100a1f77", "mov dword ptr [ebp - 0x10], eax"]], "recomp": [["0x100902f7", "mov dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100a1f7a", "add esp, 4", "0x100902fa"]]}, {"orig": [["0x100a1f7d", "mov esi, eax"]], "recomp": [["0x100902fd", "mov edi, eax"]]}, {"both": [["0x100a1f7f", "xor eax, eax", "0x100902ff"], ["0x100a1f81", "mov dword ptr [ebp - 4], eax", "0x10090301"]]}, {"orig": [["0x100a1f84", "test esi, esi"]], "recomp": [["0x10090304", "test edi, edi"]]}, {"both": [["0x100a1f86", "je 0x34", "0x10090306"], ["0x100a1f88", "mov byte ptr [ebp - 4], 1", "0x10090308"]]}, {"orig": [["0x100a1f8c", "mov edi, esi"], ["0x100a1f8e", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x1009030c", "mov esi, edi"], ["0x1009030e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a1f94", "mov byte ptr [ebp - 4], 2", "0x10090314"]]}, {"orig": [["0x100a1f98", "mov dword ptr [esi], Tgl::Texture::`vftable' (VTABLE)"]], "recomp": [["0x10090318", "mov dword ptr [edi], Tgl::Texture::`vftable' (VTABLE)"]]}, {"both": [["0x100a1f9e", "mov byte ptr [ebp - 4], al", "0x1009031e"]]}, {"orig": [["0x100a1fa1", "mov dword ptr [esi + 4], eax"], ["0x100a1fa4", "mov dword ptr [esi], TglImpl::TextureImpl::`vftable' (VTABLE)"]], "recomp": [["0x10090321", "mov dword ptr [edi + 4], eax"], ["0x10090324", "mov dword ptr [edi], TglImpl::TextureImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a1faa", "jmp 0x12", "0x1009032a"]]}, {"orig": [["0x100a1fac", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1009032c", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1faf", "jmp Tgl::Object::~Object (FUNCTION)", "0x1009032f"]]}, {"orig": [["0x100a1fb4", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10090334", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a1fb7", "jmp Tgl::Texture::~Texture (FUNCTION)", "0x10090337"]]}, {"orig": [["0x100a1fbc", "xor edi, edi"], ["0x100a1fbe", "lea eax, [edi + 4]"]], "recomp": [["0x1009033c", "xor esi, esi"], ["0x1009033e", "lea eax, [esi + 4]"]]}, {"both": [["0x100a1fc1", "push 0x40", "0x10090341"], ["0x100a1fc3", "mov dword ptr [ebp - 4], 0xffffffff", "0x10090343"]]}, {"orig": [["0x100a1fca", "mov esi, dword ptr [ebx + 4]"]], "recomp": [["0x1009034a", "mov ecx, dword ptr [ebx + 4]"]]}, {"both": [["0x100a1fcd", "mov dword ptr [ebp - 0x10], eax", "0x1009034d"]]}, {"orig": [["0x100a1fd0", "mov ebx, 0"]], "recomp": [["0x10090350", "mov edi, 0"], ["0x10090355", "mov dword ptr [ebp - 0x1c], ecx"]]}, {"both": [["0x100a1fd5", "call ??2@YAPAXI@Z (FUNCTION)", "0x10090358"], ["0x100a1fda", "add esp, 4", "0x1009035d"]]}, {"orig": [["0x100a1fdd", "mov dword ptr [ebp - 0x14], eax"]], "recomp": [["0x10090360", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100a1fe0", "mov dword ptr [ebp - 4], 3", "0x10090363"], ["0x100a1fe7", "test eax, eax", "0x1009036a"], ["0x100a1fe9", "je 0x26", "0x1009036c"], ["0x100a1feb", "mov eax, dword ptr [ebp + 0x20]", "0x1009036e"], ["0x100a1fee", "mov ecx, dword ptr [ebp + 0x1c]", "0x10090371"], ["0x100a1ff1", "push eax", "0x10090374"], ["0x100a1ff2", "mov edx, dword ptr [ebp + 0x18]", "0x10090375"], ["0x100a1ff5", "push ecx", "0x10090378"], ["0x100a1ff6", "mov eax, dword ptr [ebp + 0x14]", "0x10090379"], ["0x100a1ff9", "push edx", "0x1009037c"], ["0x100a1ffa", "mov ecx, dword ptr [ebp + 0x10]", "0x1009037d"], ["0x100a1ffd", "push eax", "0x10090380"], ["0x100a1ffe", "mov edx, dword ptr [ebp + 0xc]", "0x10090381"], ["0x100a2001", "push ecx", "0x10090384"], ["0x100a2002", "mov eax, dword ptr [ebp + 8]", "0x10090385"], ["0x100a2005", "push edx", "0x10090388"]]}, {"orig": [["0x100a2006", "mov ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x10090389", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a2009", "push eax", "0x1009038c"], ["0x100a200a", "call TglImpl::TglD3DRMIMAGE::TglD3DRMIMAGE (FUNCTION)", "0x1009038d"]]}, {"orig": [["0x100a200f", "mov ebx, eax"]], "recomp": [["0x10090392", "mov edi, eax"], ["0x10090394", "mov eax, dword ptr [ebp - 0x10]"], ["0x10090397", "mov ecx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100a2011", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009039a"]]}, {"orig": [["0x100a2018", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x100a201b", "push eax", "0x100903a1"]]}, {"orig": [["0x100a201c", "push ebx"], ["0x100a201d", "push esi"], ["0x100a201e", "mov esi, dword ptr [esi]"], ["0x100a2020", "call dword ptr [esi + 0x28]"], ["0x100a2023", "mov esi, 1"]], "recomp": [["0x100903a2", "mov ebx, 1"], ["0x100903a7", "push edi"], ["0x100903a8", "mov eax, dword ptr [ecx]"], ["0x100903aa", "push ecx"], ["0x100903ab", "call dword ptr [eax + 0x28]"]]}, {"both": [["0x100a2028", "test eax, eax", "0x100903ae"], ["0x100a202a", "jge 0x2", "0x100903b0"]]}, {"orig": [["0x100a202c", "xor esi, esi"], ["0x100a202e", "cmp esi, 1"]], "recomp": [["0x100903b2", "xor ebx, ebx"], ["0x100903b4", "cmp ebx, 1"]]}, {"both": [["0x100a2031", "jne 0x30", "0x100903b7"]]}, {"orig": [["0x100a2033", "push ebx"]], "recomp": [["0x100903b9", "push edi"]]}, {"both": [["0x100a2034", "mov eax, dword ptr [ebp - 0x10]", "0x100903ba"], ["0x100a2037", "mov ecx, dword ptr [eax]", "0x100903bd"], ["0x100a2039", "push ecx", "0x100903bf"], ["0x100a203a", "call TglImpl::TextureImpl::SetImage (FUNCTION)", "0x100903c0"], ["0x100a203f", "add esp, 8", "0x100903c5"]]}, {"orig": [["0x100a2042", "mov esi, eax"], ["0x100a2044", "cmp esi, 1"], ["0x100a2047", "je 0x2e"]], "recomp": [["0x100903c8", "mov ebx, eax"], ["0x100903ca", "cmp ebx, 1"], ["0x100903cd", "je 0x41"]]}, {"both": [["0x100a2049", "mov eax, dword ptr [ebp - 0x10]", "0x100903cf"], ["0x100a204c", "mov eax, dword ptr [eax]", "0x100903d2"], ["0x100a204e", "push eax", "0x100903d4"], ["0x100a204f", "mov eax, dword ptr [eax]", "0x100903d5"], ["0x100a2051", "call dword ptr [eax + 8]", "0x100903d7"], ["0x100a2054", "mov ecx, dword ptr [ebp - 0x10]", "0x100903da"]]}, {"orig": [["0x100a2057", "test ebx, ebx"]], "recomp": [["0x100903dd", "test edi, edi"]]}, {"both": [["0x100a2059", "mov dword ptr [ecx], 0", "0x100903df"], ["0x100a205f", "je 0x16", "0x100903e5"], ["0x100a2061", "jmp 0x4", "0x100903e7"]]}, {"orig": [["0x100a2063", "test ebx, ebx"]], "recomp": [["0x100903e9", "test edi, edi"]]}, {"both": [["0x100a2065", "je 0x10", "0x100903eb"]]}, {"orig": [["0x100a2067", "mov ecx, ebx"]], "recomp": [["0x100903ed", "mov ecx, edi"]]}, {"both": [["0x100a2069", "call TglImpl::TglD3DRMIMAGE::Destroy (FUNCTION)", "0x100903ef"]]}, {"orig": [["0x100a206e", "push ebx"]], "recomp": [["0x100903f4", "push edi"]]}, {"both": [["0x100a206f", "call ??3@YAXPAX@Z (FUNCTION)", "0x100903f5"], ["0x100a2074", "add esp, 4", "0x100903fa"]]}, {"orig": [], "recomp": [["0x100903fd", "cmp ebx, 1"], ["0x10090400", "je 0xe"]]}, {"both": [["0x100a2077", "test esi, esi", "0x10090402"]]}, {"orig": [["0x100a2079", "jne 0xe"], ["0x100a207b", "test edi, edi"]], "recomp": []}, {"both": [["0x100a207d", "je 0x8", "0x10090404"], ["0x100a207f", "push 1", "0x10090406"]]}, {"orig": [["0x100a2081", "mov eax, dword ptr [edi]"], ["0x100a2083", "mov ecx, edi"]], "recomp": [["0x10090408", "mov eax, dword ptr [esi]"], ["0x1009040a", "mov ecx, esi"]]}, {"both": [["0x100a2085", "call dword ptr [eax]", "0x1009040c"]]}, {"orig": [["0x100a2087", "xor edi, edi"], ["0x100a2089", "mov eax, edi"]], "recomp": [["0x1009040e", "xor esi, esi"], ["0x10090410", "mov eax, esi"]]}, {"both": [["0x100a208b", "mov ecx, dword ptr [ebp - 0xc]", "0x10090412"], ["0x100a208e", "mov dword ptr fs:[0], ecx", "0x10090415"], ["0x100a2095", "pop edi", "0x1009041c"], ["0x100a2096", "pop esi", "0x1009041d"], ["0x100a2097", "pop ebx", "0x1009041e"], ["0x100a2098", "mov esp, ebp", "0x1009041f"], ["0x100a209a", "pop ebp", "0x10090421"], ["0x100a209b", "ret 0x1c", "0x10090422"]]}, {"orig": [["0x100a209e", "mov eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x10090425", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a20a1", "push eax", "0x10090428"], ["0x100a20a2", "call ??3@YAXPAX@Z (FUNCTION)", "0x10090429"], ["0x100a20a7", "add esp, 4", "0x1009042e"], ["0x100a20aa", "ret ", "0x10090431"], ["0x100a20ab", "mov eax, <OFFSET10>", "0x10090432"], ["0x100a20b0", "jmp ___CxxFrameHandler (FUNCTION)", "0x10090437"]]}, {"orig": [["0x100a20b5", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x1009043c", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a20b8", "push eax", "0x1009043f"], ["0x100a20b9", "call ??3@YAXPAX@Z (FUNCTION)", "0x10090440"], ["0x100a20be", "add esp, 4", "0x10090445"], ["0x100a20c1", "ret ", "0x10090448"]]}]]]}, {"address": "0x100a20d0", "recomp": "0x100905a0", "name": "TglImpl::RendererImpl::CreateTexture", "matching": 0.746031746031746, "diff": [["@@ -0x100a20d0,126 +0x100905a0,126 @@", [{"both": [["0x100a20d0", "mov eax, dword ptr fs:[0]", "0x100905a0"], ["0x100a20d6", "push ebp", "0x100905a6"], ["0x100a20d7", "mov ebp, esp", "0x100905a7"], ["0x100a20d9", "push -1", "0x100905a9"], ["0x100a20db", "push <OFFSET1>", "0x100905ab"], ["0x100a20e0", "push eax", "0x100905b0"], ["0x100a20e1", "mov dword ptr fs:[0], esp", "0x100905b1"]]}, {"orig": [["0x100a20e8", "sub esp, 8"]], "recomp": [["0x100905b8", "sub esp, 0xc"]]}, {"both": [["0x100a20eb", "push ebx", "0x100905bb"], ["0x100a20ec", "push esi", "0x100905bc"], ["0x100a20ed", "push edi", "0x100905bd"], ["0x100a20ee", "mov ebx, ecx", "0x100905be"], ["0x100a20f0", "push 8", "0x100905c0"], ["0x100a20f2", "call ??2@YAPAXI@Z (FUNCTION)", "0x100905c2"]]}, {"orig": [["0x100a20f7", "mov dword ptr [ebp - 0x10], eax"]], "recomp": [["0x100905c7", "mov dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100a20fa", "add esp, 4", "0x100905ca"]]}, {"orig": [["0x100a20fd", "mov edi, eax"]], "recomp": [["0x100905cd", "mov esi, eax"]]}, {"both": [["0x100a20ff", "xor eax, eax", "0x100905cf"], ["0x100a2101", "mov dword ptr [ebp - 4], eax", "0x100905d1"]]}, {"orig": [["0x100a2104", "test edi, edi"]], "recomp": [["0x100905d4", "test esi, esi"]]}, {"both": [["0x100a2106", "je 0x34", "0x100905d6"], ["0x100a2108", "mov byte ptr [ebp - 4], 1", "0x100905d8"]]}, {"orig": [["0x100a210c", "mov esi, edi"], ["0x100a210e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x100905dc", "mov edi, esi"], ["0x100905de", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a2114", "mov byte ptr [ebp - 4], 2", "0x100905e4"]]}, {"orig": [["0x100a2118", "mov dword ptr [edi], Tgl::Texture::`vftable' (VTABLE)"]], "recomp": [["0x100905e8", "mov dword ptr [esi], Tgl::Texture::`vftable' (VTABLE)"]]}, {"both": [["0x100a211e", "mov byte ptr [ebp - 4], al", "0x100905ee"]]}, {"orig": [["0x100a2121", "mov dword ptr [edi + 4], eax"], ["0x100a2124", "mov dword ptr [edi], TglImpl::TextureImpl::`vftable' (VTABLE)"]], "recomp": [["0x100905f1", "mov dword ptr [esi + 4], eax"], ["0x100905f4", "mov dword ptr [esi], TglImpl::TextureImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a212a", "jmp 0x12", "0x100905fa"]]}, {"orig": [["0x100a212c", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x100905fc", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a212f", "jmp Tgl::Object::~Object (FUNCTION)", "0x100905ff"]]}, {"orig": [["0x100a2134", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10090604", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a2137", "jmp Tgl::Texture::~Texture (FUNCTION)", "0x10090607"]]}, {"orig": [["0x100a213c", "xor esi, esi"], ["0x100a213e", "lea eax, [esi + 4]"]], "recomp": [["0x1009060c", "xor edi, edi"], ["0x1009060e", "lea eax, [edi + 4]"]]}, {"both": [["0x100a2141", "push 0x40", "0x10090611"], ["0x100a2143", "mov dword ptr [ebp - 4], 0xffffffff", "0x10090613"], ["0x100a214a", "mov ebx, dword ptr [ebx + 4]", "0x1009061a"], ["0x100a214d", "mov dword ptr [ebp - 0x10], eax", "0x1009061d"]]}, {"orig": [["0x100a2150", "mov edi, 0"]], "recomp": [["0x10090620", "mov esi, 0"]]}, {"both": [["0x100a2155", "call ??2@YAPAXI@Z (FUNCTION)", "0x10090625"], ["0x100a215a", "add esp, 4", "0x1009062a"]]}, {"orig": [["0x100a215d", "mov dword ptr [ebp - 0x14], eax"]], "recomp": [["0x1009062d", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100a2160", "mov dword ptr [ebp - 4], 3", "0x10090630"], ["0x100a2167", "test eax, eax", "0x10090637"], ["0x100a2169", "je 0x17", "0x10090639"], ["0x100a216b", "push 0", "0x1009063b"], ["0x100a216d", "push 0", "0x1009063d"], ["0x100a216f", "push 0", "0x1009063f"], ["0x100a2171", "mov ecx, eax", "0x10090641"], ["0x100a2173", "push 0", "0x10090643"], ["0x100a2175", "push 0", "0x10090645"], ["0x100a2177", "push 0", "0x10090647"], ["0x100a2179", "push 0", "0x10090649"], ["0x100a217b", "call TglImpl::TglD3DRMIMAGE::TglD3DRMIMAGE (FUNCTION)", "0x1009064b"]]}, {"orig": [["0x100a2180", "mov edi, eax"]], "recomp": [["0x10090650", "mov esi, eax"]]}, {"both": [["0x100a2182", "mov dword ptr [ebp - 4], 0xffffffff", "0x10090652"], ["0x100a2189", "mov eax, dword ptr [ebp - 0x10]", "0x10090659"], ["0x100a218c", "push eax", "0x1009065c"]]}, {"orig": [["0x100a218d", "push edi"]], "recomp": [["0x1009065d", "push esi"]]}, {"both": [["0x100a218e", "push ebx", "0x1009065e"], ["0x100a218f", "mov ebx, dword ptr [ebx]", "0x1009065f"], ["0x100a2191", "call dword ptr [ebx + 0x28]", "0x10090661"], ["0x100a2194", "mov ebx, 1", "0x10090664"], ["0x100a2199", "test eax, eax", "0x10090669"], ["0x100a219b", "jge 0x2", "0x1009066b"], ["0x100a219d", "xor ebx, ebx", "0x1009066d"], ["0x100a219f", "cmp ebx, 1", "0x1009066f"], ["0x100a21a2", "jne 0x30", "0x10090672"]]}, {"orig": [["0x100a21a4", "push edi"]], "recomp": [["0x10090674", "push esi"]]}, {"both": [["0x100a21a5", "mov eax, dword ptr [ebp - 0x10]", "0x10090675"], ["0x100a21a8", "mov ecx, dword ptr [eax]", "0x10090678"], ["0x100a21aa", "push ecx", "0x1009067a"], ["0x100a21ab", "call TglImpl::TextureImpl::SetImage (FUNCTION)", "0x1009067b"], ["0x100a21b0", "add esp, 8", "0x10090680"], ["0x100a21b3", "mov ebx, eax", "0x10090683"], ["0x100a21b5", "cmp ebx, 1", "0x10090685"]]}, {"orig": [["0x100a21b8", "je 0x2e"]], "recomp": [["0x10090688", "je 0x41"]]}, {"both": [["0x100a21ba", "mov eax, dword ptr [ebp - 0x10]", "0x1009068a"], ["0x100a21bd", "mov eax, dword ptr [eax]", "0x1009068d"], ["0x100a21bf", "push eax", "0x1009068f"], ["0x100a21c0", "mov eax, dword ptr [eax]", "0x10090690"], ["0x100a21c2", "call dword ptr [eax + 8]", "0x10090692"], ["0x100a21c5", "mov ecx, dword ptr [ebp - 0x10]", "0x10090695"]]}, {"orig": [["0x100a21c8", "test edi, edi"]], "recomp": [["0x10090698", "test esi, esi"]]}, {"both": [["0x100a21ca", "mov dword ptr [ecx], 0", "0x1009069a"], ["0x100a21d0", "je 0x16", "0x100906a0"], ["0x100a21d2", "jmp 0x4", "0x100906a2"]]}, {"orig": [["0x100a21d4", "test edi, edi"]], "recomp": [["0x100906a4", "test esi, esi"]]}, {"both": [["0x100a21d6", "je 0x10", "0x100906a6"]]}, {"orig": [["0x100a21d8", "mov ecx, edi"]], "recomp": [["0x100906a8", "mov ecx, esi"]]}, {"both": [["0x100a21da", "call TglImpl::TglD3DRMIMAGE::Destroy (FUNCTION)", "0x100906aa"]]}, {"orig": [["0x100a21df", "push edi"]], "recomp": [["0x100906af", "push esi"]]}, {"both": [["0x100a21e0", "call ??3@YAXPAX@Z (FUNCTION)", "0x100906b0"], ["0x100a21e5", "add esp, 4", "0x100906b5"]]}, {"orig": [["0x100a21e8", "test ebx, ebx"], ["0x100a21ea", "jne 0xe"], ["0x100a21ec", "test esi, esi"]], "recomp": [["0x100906b8", "cmp ebx, 1"], ["0x100906bb", "je 0xe"], ["0x100906bd", "test edi, edi"]]}, {"both": [["0x100a21ee", "je 0x8", "0x100906bf"], ["0x100a21f0", "push 1", "0x100906c1"]]}, {"orig": [["0x100a21f2", "mov eax, dword ptr [esi]"], ["0x100a21f4", "mov ecx, esi"]], "recomp": [["0x100906c3", "mov eax, dword ptr [edi]"], ["0x100906c5", "mov ecx, edi"]]}, {"both": [["0x100a21f6", "call dword ptr [eax]", "0x100906c7"]]}, {"orig": [["0x100a21f8", "xor esi, esi"], ["0x100a21fa", "mov eax, esi"]], "recomp": [["0x100906c9", "xor edi, edi"], ["0x100906cb", "mov eax, edi"]]}, {"both": [["0x100a21fc", "mov ecx, dword ptr [ebp - 0xc]", "0x100906cd"], ["0x100a21ff", "mov dword ptr fs:[0], ecx", "0x100906d0"], ["0x100a2206", "pop edi", "0x100906d7"], ["0x100a2207", "pop esi", "0x100906d8"], ["0x100a2208", "pop ebx", "0x100906d9"], ["0x100a2209", "mov esp, ebp", "0x100906da"], ["0x100a220b", "pop ebp", "0x100906dc"], ["0x100a220c", "ret ", "0x100906dd"]]}, {"orig": [["0x100a220d", "mov eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x100906de", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a2210", "push eax", "0x100906e1"], ["0x100a2211", "call ??3@YAXPAX@Z (FUNCTION)", "0x100906e2"], ["0x100a2216", "add esp, 4", "0x100906e7"], ["0x100a2219", "ret ", "0x100906ea"], ["0x100a221a", "mov eax, <OFFSET10>", "0x100906eb"], ["0x100a221f", "jmp ___CxxFrameHandler (FUNCTION)", "0x100906f0"]]}, {"orig": [["0x100a2224", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x100906f5", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a2227", "push eax", "0x100906f8"], ["0x100a2228", "call ??3@YAXPAX@Z (FUNCTION)", "0x100906f9"], ["0x100a222d", "add esp, 4", "0x100906fe"], ["0x100a2230", "ret ", "0x10090701"]]}]]]}, {"address": "0x100a2240", "recomp": "0x1008f240", "name": "Tgl::Object::~Object", "matching": 1.0, "diff": []}, {"address": "0x100a2250", "recomp": "0x1008f250", "name": "Tgl::Object::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2270", "recomp": "0x10090710", "name": "TglImpl::RendererImpl::SetTextureDefaultShadeCount", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2270,11 +0x10090710,11 @@", [{"orig": [["0x100a2270", "mov eax, dword ptr [ecx + 4]"], ["0x100a2273", "mov ecx, dword ptr [esp + 4]"]], "recomp": [["0x10090710", "mov ecx, dword ptr [ecx + 4]"], ["0x10090713", "mov eax, dword ptr [esp + 4]"], ["0x10090717", "push eax"]]}, {"both": [["0x100a2277", "push ecx", "0x10090718"]]}, {"orig": [["0x100a2278", "push eax"], ["0x100a2279", "mov eax, dword ptr [eax]"]], "recomp": [["0x10090719", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a227b", "call dword ptr [eax + 0x74]", "0x1009071b"], ["0x100a227e", "test eax, eax", "0x1009071e"], ["0x100a2280", "mov eax, 1", "0x10090720"], ["0x100a2285", "jge 0x2", "0x10090725"], ["0x100a2287", "xor eax, eax", "0x10090727"], ["0x100a2289", "ret 4", "0x10090729"]]}]]]}, {"address": "0x100a2290", "recomp": "0x10090730", "name": "TglImpl::RendererImpl::SetTextureDefaultColorCount", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2290,11 +0x10090730,11 @@", [{"orig": [["0x100a2290", "mov eax, dword ptr [ecx + 4]"], ["0x100a2293", "mov ecx, dword ptr [esp + 4]"]], "recomp": [["0x10090730", "mov ecx, dword ptr [ecx + 4]"], ["0x10090733", "mov eax, dword ptr [esp + 4]"], ["0x10090737", "push eax"]]}, {"both": [["0x100a2297", "push ecx", "0x10090738"]]}, {"orig": [["0x100a2298", "push eax"], ["0x100a2299", "mov eax, dword ptr [eax]"]], "recomp": [["0x10090739", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a229b", "call dword ptr [eax + 0x70]", "0x1009073b"], ["0x100a229e", "test eax, eax", "0x1009073e"], ["0x100a22a0", "mov eax, 1", "0x10090740"], ["0x100a22a5", "jge 0x2", "0x10090745"], ["0x100a22a7", "xor eax, eax", "0x10090747"], ["0x100a22a9", "ret 4", "0x10090749"]]}]]]}, {"address": "0x100a22b0", "recomp": "0x10090750", "name": "TglImpl::RendererImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a22c0", "recomp": "0x1008f4a0", "name": "TglImpl::DeviceImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a22d7,22 +0x1008f4b7,22 @@", [{"both": [["0x100a22d7", "mov dword ptr fs:[0], esp", "0x1008f4b7"], ["0x100a22de", "sub esp, 4", "0x1008f4be"], ["0x100a22e1", "mov dword ptr [ebp - 4], 0", "0x1008f4c1"], ["0x100a22e8", "mov eax, dword ptr [ecx + 4]", "0x1008f4c8"], ["0x100a22eb", "mov dword ptr [ebp - 0x10], ecx", "0x1008f4cb"], ["0x100a22ee", "test eax, eax", "0x1008f4ce"], ["0x100a22f0", "je 0x10", "0x1008f4d0"], ["0x100a22f2", "push eax", "0x1008f4d2"], ["0x100a22f3", "mov eax, dword ptr [eax]", "0x1008f4d3"], ["0x100a22f5", "call dword ptr [eax + 8]", "0x1008f4d5"]]}, {"orig": [["0x100a22f8", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a22fb", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x1008f4d8", "mov eax, dword ptr [ebp - 0x10]"], ["0x1008f4db", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a2302", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008f4e2"], ["0x100a2309", "call <OFFSET3>", "0x1008f4e9"], ["0x100a230e", "test byte ptr [ebp + 8], 1", "0x1008f4ee"], ["0x100a2312", "je 0xc", "0x1008f4f2"], ["0x100a2314", "mov eax, dword ptr [ebp - 0x10]", "0x1008f4f4"], ["0x100a2317", "push eax", "0x1008f4f7"], ["0x100a2318", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008f4f8"], ["0x100a231d", "add esp, 4", "0x1008f4fd"], ["0x100a2320", "mov eax, dword ptr [ebp - 0x10]", "0x1008f500"], ["0x100a2323", "mov ecx, dword ptr [ebp - 0xc]", "0x1008f503"]]}]]]}, {"address": "0x100a2350", "recomp": "0x1008f530", "name": "Tgl::Device::~Device", "matching": 1.0, "diff": []}, {"address": "0x100a23a0", "recomp": "0x1008f820", "name": "TglImpl::ViewImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a23b7,22 +0x1008f837,22 @@", [{"both": [["0x100a23b7", "mov dword ptr fs:[0], esp", "0x1008f837"], ["0x100a23be", "sub esp, 4", "0x1008f83e"], ["0x100a23c1", "mov dword ptr [ebp - 4], 0", "0x1008f841"], ["0x100a23c8", "mov eax, dword ptr [ecx + 4]", "0x1008f848"], ["0x100a23cb", "mov dword ptr [ebp - 0x10], ecx", "0x1008f84b"], ["0x100a23ce", "test eax, eax", "0x1008f84e"], ["0x100a23d0", "je 0x10", "0x1008f850"], ["0x100a23d2", "push eax", "0x1008f852"], ["0x100a23d3", "mov eax, dword ptr [eax]", "0x1008f853"], ["0x100a23d5", "call dword ptr [eax + 8]", "0x1008f855"]]}, {"orig": [["0x100a23d8", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a23db", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x1008f858", "mov eax, dword ptr [ebp - 0x10]"], ["0x1008f85b", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a23e2", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008f862"], ["0x100a23e9", "call <OFFSET3>", "0x1008f869"], ["0x100a23ee", "test byte ptr [ebp + 8], 1", "0x1008f86e"], ["0x100a23f2", "je 0xc", "0x1008f872"], ["0x100a23f4", "mov eax, dword ptr [ebp - 0x10]", "0x1008f874"], ["0x100a23f7", "push eax", "0x1008f877"], ["0x100a23f8", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008f878"], ["0x100a23fd", "add esp, 4", "0x1008f87d"], ["0x100a2400", "mov eax, dword ptr [ebp - 0x10]", "0x1008f880"], ["0x100a2403", "mov ecx, dword ptr [ebp - 0xc]", "0x1008f883"]]}]]]}, {"address": "0x100a2430", "recomp": "0x1008f8b0", "name": "Tgl::View::~View", "matching": 1.0, "diff": []}, {"address": "0x100a2480", "recomp": "0x1008fa80", "name": "TglImpl::GroupImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2497,22 +0x1008fa97,22 @@", [{"both": [["0x100a2497", "mov dword ptr fs:[0], esp", "0x1008fa97"], ["0x100a249e", "sub esp, 4", "0x1008fa9e"], ["0x100a24a1", "mov dword ptr [ebp - 4], 0", "0x1008faa1"], ["0x100a24a8", "mov eax, dword ptr [ecx + 4]", "0x1008faa8"], ["0x100a24ab", "mov dword ptr [ebp - 0x10], ecx", "0x1008faab"], ["0x100a24ae", "test eax, eax", "0x1008faae"], ["0x100a24b0", "je 0x10", "0x1008fab0"], ["0x100a24b2", "push eax", "0x1008fab2"], ["0x100a24b3", "mov eax, dword ptr [eax]", "0x1008fab3"], ["0x100a24b5", "call dword ptr [eax + 8]", "0x1008fab5"]]}, {"orig": [["0x100a24b8", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a24bb", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x1008fab8", "mov eax, dword ptr [ebp - 0x10]"], ["0x1008fabb", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a24c2", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008fac2"], ["0x100a24c9", "call <OFFSET3>", "0x1008fac9"], ["0x100a24ce", "test byte ptr [ebp + 8], 1", "0x1008face"], ["0x100a24d2", "je 0xc", "0x1008fad2"], ["0x100a24d4", "mov eax, dword ptr [ebp - 0x10]", "0x1008fad4"], ["0x100a24d7", "push eax", "0x1008fad7"], ["0x100a24d8", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008fad8"], ["0x100a24dd", "add esp, 4", "0x1008fadd"], ["0x100a24e0", "mov eax, dword ptr [ebp - 0x10]", "0x1008fae0"], ["0x100a24e3", "mov ecx, dword ptr [ebp - 0xc]", "0x1008fae3"]]}]]]}, {"address": "0x100a2510", "recomp": "0x1008fb10", "name": "Tgl::Group::~Group", "matching": 1.0, "diff": []}, {"address": "0x100a2560", "recomp": "0x1008fc90", "name": "TglImpl::CameraImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2577,22 +0x1008fca7,22 @@", [{"both": [["0x100a2577", "mov dword ptr fs:[0], esp", "0x1008fca7"], ["0x100a257e", "sub esp, 4", "0x1008fcae"], ["0x100a2581", "mov dword ptr [ebp - 4], 0", "0x1008fcb1"], ["0x100a2588", "mov eax, dword ptr [ecx + 4]", "0x1008fcb8"], ["0x100a258b", "mov dword ptr [ebp - 0x10], ecx", "0x1008fcbb"], ["0x100a258e", "test eax, eax", "0x1008fcbe"], ["0x100a2590", "je 0x10", "0x1008fcc0"], ["0x100a2592", "push eax", "0x1008fcc2"], ["0x100a2593", "mov eax, dword ptr [eax]", "0x1008fcc3"], ["0x100a2595", "call dword ptr [eax + 8]", "0x1008fcc5"]]}, {"orig": [["0x100a2598", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a259b", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x1008fcc8", "mov eax, dword ptr [ebp - 0x10]"], ["0x1008fccb", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a25a2", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008fcd2"], ["0x100a25a9", "call <OFFSET3>", "0x1008fcd9"], ["0x100a25ae", "test byte ptr [ebp + 8], 1", "0x1008fcde"], ["0x100a25b2", "je 0xc", "0x1008fce2"], ["0x100a25b4", "mov eax, dword ptr [ebp - 0x10]", "0x1008fce4"], ["0x100a25b7", "push eax", "0x1008fce7"], ["0x100a25b8", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008fce8"], ["0x100a25bd", "add esp, 4", "0x1008fced"], ["0x100a25c0", "mov eax, dword ptr [ebp - 0x10]", "0x1008fcf0"], ["0x100a25c3", "mov ecx, dword ptr [ebp - 0xc]", "0x1008fcf3"]]}]]]}, {"address": "0x100a25f0", "recomp": "0x1008fd20", "name": "Tgl::Camera::~Camera", "matching": 1.0, "diff": []}, {"address": "0x100a2640", "recomp": "0x1008ff70", "name": "TglImpl::LightImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2657,22 +0x1008ff87,22 @@", [{"both": [["0x100a2657", "mov dword ptr fs:[0], esp", "0x1008ff87"], ["0x100a265e", "sub esp, 4", "0x1008ff8e"], ["0x100a2661", "mov dword ptr [ebp - 4], 0", "0x1008ff91"], ["0x100a2668", "mov eax, dword ptr [ecx + 4]", "0x1008ff98"], ["0x100a266b", "mov dword ptr [ebp - 0x10], ecx", "0x1008ff9b"], ["0x100a266e", "test eax, eax", "0x1008ff9e"], ["0x100a2670", "je 0x10", "0x1008ffa0"], ["0x100a2672", "push eax", "0x1008ffa2"], ["0x100a2673", "mov eax, dword ptr [eax]", "0x1008ffa3"], ["0x100a2675", "call dword ptr [eax + 8]", "0x1008ffa5"]]}, {"orig": [["0x100a2678", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a267b", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x1008ffa8", "mov eax, dword ptr [ebp - 0x10]"], ["0x1008ffab", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a2682", "mov dword ptr [ebp - 4], 0xffffffff", "0x1008ffb2"], ["0x100a2689", "call <OFFSET3>", "0x1008ffb9"], ["0x100a268e", "test byte ptr [ebp + 8], 1", "0x1008ffbe"], ["0x100a2692", "je 0xc", "0x1008ffc2"], ["0x100a2694", "mov eax, dword ptr [ebp - 0x10]", "0x1008ffc4"], ["0x100a2697", "push eax", "0x1008ffc7"], ["0x100a2698", "call ??3@YAXPAX@Z (FUNCTION)", "0x1008ffc8"], ["0x100a269d", "add esp, 4", "0x1008ffcd"], ["0x100a26a0", "mov eax, dword ptr [ebp - 0x10]", "0x1008ffd0"], ["0x100a26a3", "mov ecx, dword ptr [ebp - 0xc]", "0x1008ffd3"]]}]]]}, {"address": "0x100a26d0", "recomp": "0x10090000", "name": "Tgl::Light::~Light", "matching": 1.0, "diff": []}, {"address": "0x100a2720", "recomp": "0x10090180", "name": "TglImpl::MeshBuilderImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2737,22 +0x10090197,22 @@", [{"both": [["0x100a2737", "mov dword ptr fs:[0], esp", "0x10090197"], ["0x100a273e", "sub esp, 4", "0x1009019e"], ["0x100a2741", "mov dword ptr [ebp - 4], 0", "0x100901a1"], ["0x100a2748", "mov eax, dword ptr [ecx + 4]", "0x100901a8"], ["0x100a274b", "mov dword ptr [ebp - 0x10], ecx", "0x100901ab"], ["0x100a274e", "test eax, eax", "0x100901ae"], ["0x100a2750", "je 0x10", "0x100901b0"], ["0x100a2752", "push eax", "0x100901b2"], ["0x100a2753", "mov eax, dword ptr [eax]", "0x100901b3"], ["0x100a2755", "call dword ptr [eax + 8]", "0x100901b5"]]}, {"orig": [["0x100a2758", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a275b", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x100901b8", "mov eax, dword ptr [ebp - 0x10]"], ["0x100901bb", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a2762", "mov dword ptr [ebp - 4], 0xffffffff", "0x100901c2"], ["0x100a2769", "call <OFFSET3>", "0x100901c9"], ["0x100a276e", "test byte ptr [ebp + 8], 1", "0x100901ce"], ["0x100a2772", "je 0xc", "0x100901d2"], ["0x100a2774", "mov eax, dword ptr [ebp - 0x10]", "0x100901d4"], ["0x100a2777", "push eax", "0x100901d7"], ["0x100a2778", "call ??3@YAXPAX@Z (FUNCTION)", "0x100901d8"], ["0x100a277d", "add esp, 4", "0x100901dd"], ["0x100a2780", "mov eax, dword ptr [ebp - 0x10]", "0x100901e0"], ["0x100a2783", "mov ecx, dword ptr [ebp - 0xc]", "0x100901e3"]]}]]]}, {"address": "0x100a27b0", "recomp": "0x10090210", "name": "Tgl::MeshBuilder::~MeshBuilder", "matching": 1.0, "diff": []}, {"address": "0x100a2800", "recomp": "0x10090450", "name": "TglImpl::TextureImpl::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2817,22 +0x10090467,22 @@", [{"both": [["0x100a2817", "mov dword ptr fs:[0], esp", "0x10090467"], ["0x100a281e", "sub esp, 4", "0x1009046e"], ["0x100a2821", "mov dword ptr [ebp - 4], 0", "0x10090471"], ["0x100a2828", "mov eax, dword ptr [ecx + 4]", "0x10090478"], ["0x100a282b", "mov dword ptr [ebp - 0x10], ecx", "0x1009047b"], ["0x100a282e", "test eax, eax", "0x1009047e"], ["0x100a2830", "je 0x10", "0x10090480"], ["0x100a2832", "push eax", "0x10090482"], ["0x100a2833", "mov eax, dword ptr [eax]", "0x10090483"], ["0x100a2835", "call dword ptr [eax + 8]", "0x10090485"]]}, {"orig": [["0x100a2838", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a283b", "mov dword ptr [ecx + 4], 0"]], "recomp": [["0x10090488", "mov eax, dword ptr [ebp - 0x10]"], ["0x1009048b", "mov dword ptr [eax + 4], 0"]]}, {"both": [["0x100a2842", "mov dword ptr [ebp - 4], 0xffffffff", "0x10090492"], ["0x100a2849", "call <OFFSET3>", "0x10090499"], ["0x100a284e", "test byte ptr [ebp + 8], 1", "0x1009049e"], ["0x100a2852", "je 0xc", "0x100904a2"], ["0x100a2854", "mov eax, dword ptr [ebp - 0x10]", "0x100904a4"], ["0x100a2857", "push eax", "0x100904a7"], ["0x100a2858", "call ??3@YAXPAX@Z (FUNCTION)", "0x100904a8"], ["0x100a285d", "add esp, 4", "0x100904ad"], ["0x100a2860", "mov eax, dword ptr [ebp - 0x10]", "0x100904b0"], ["0x100a2863", "mov ecx, dword ptr [ebp - 0xc]", "0x100904b3"]]}]]]}, {"address": "0x100a2890", "recomp": "0x100904e0", "name": "Tgl::Texture::~Texture", "matching": 1.0, "diff": []}, {"address": "0x100a28e0", "recomp": "0x1008f580", "name": "Tgl::Device::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2950", "recomp": "0x1008f900", "name": "Tgl::View::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a29c0", "recomp": "0x1008fb60", "name": "Tgl::Group::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2a30", "recomp": "0x1008fd70", "name": "Tgl::Camera::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2aa0", "recomp": "0x10090050", "name": "Tgl::Light::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2b10", "recomp": "0x10090260", "name": "Tgl::MeshBuilder::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2b80", "recomp": "0x10090530", "name": "Tgl::Texture::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a2bf0", "recomp": "0x10090db0", "name": "TglImpl::DeviceImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a2c00", "recomp": "0x10090dc0", "name": "TglImpl::DeviceImpl::GetWidth", "matching": 1.0, "diff": []}, {"address": "0x100a2c10", "recomp": "0x10090dd0", "name": "TglImpl::DeviceImpl::GetHeight", "matching": 1.0, "diff": []}, {"address": "0x100a2c20", "recomp": "0x10090de0", "name": "TglImpl::DeviceImpl::SetColorModel", "matching": 1.0, "diff": []}, {"address": "0x100a2c30", "recomp": "0x10090df0", "name": "TglImpl::DeviceImpl::SetShadingModel", "matching": 0.7096774193548387, "diff": [["@@ -,29 +,29 @@", [{"orig": [["0x100a2c30", "mov ecx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100a2c33", "mov eax, dword ptr [esp + 4]", "0x10090df0"], ["0x100a2c37", "cmp eax, 4", "0x10090df4"], ["0x100a2c3a", "ja 0x7", "0x10090df7"], ["0x100a2c3c", "jmp dword ptr [eax*4 + <OFFSET1>]", "0x10090df9"]]}, {"orig": [["0x100a2c43", "mov eax, 0x88"]], "recomp": [["0x10090e00", "mov edx, 0x88"]]}, {"both": [["0x100a2c48", "jmp 0x21", "0x10090e05"]]}, {"orig": [["0x100a2c4a", "mov eax, 0x40"]], "recomp": [["0x10090e07", "mov edx, 0x40"]]}, {"both": [["0x100a2c4f", "jmp 0x1a", "0x10090e0c"]]}, {"orig": [["0x100a2c51", "mov eax, 0x80"]], "recomp": [["0x10090e0e", "mov edx, 0x80"]]}, {"both": [["0x100a2c56", "jmp 0x13", "0x10090e13"]]}, {"orig": [["0x100a2c58", "mov eax, 0x88"]], "recomp": [["0x10090e15", "mov edx, 0x88"]]}, {"both": [["0x100a2c5d", "jmp 0xc", "0x10090e1a"]]}, {"orig": [["0x100a2c5f", "mov eax, 0x89"]], "recomp": [["0x10090e1c", "mov edx, 0x89"]]}, {"both": [["0x100a2c64", "jmp 0x5", "0x10090e21"]]}, {"orig": [["0x100a2c66", "mov eax, 0x8a"]], "recomp": [["0x10090e23", "mov edx, 0x8a"], ["0x10090e28", "mov eax, dword ptr [ecx + 4]"], ["0x10090e2b", "push edx"]]}, {"both": [["0x100a2c6b", "push eax", "0x10090e2c"]]}, {"orig": [["0x100a2c6c", "push ecx"], ["0x100a2c6d", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10090e2d", "mov eax, dword ptr [eax]"]]}, {"both": [["0x100a2c6f", "call dword ptr [eax + 0x54]", "0x10090e2f"], ["0x100a2c72", "test eax, eax", "0x10090e32"], ["0x100a2c74", "mov eax, 1", "0x10090e34"], ["0x100a2c79", "jge 0x2", "0x10090e39"], ["0x100a2c7b", "xor eax, eax", "0x10090e3b"], ["0x100a2c7d", "ret 4", "0x10090e3d"], ["", "Jump table:", ""], ["0x100a2c80", "Jump_dest_0", "0x10090e40"], ["0x100a2c84", "Jump_dest_1", "0x10090e44"], ["0x100a2c88", "Jump_dest_2", "0x10090e48"]]}]]]}, {"address": "0x100a2ca0", "recomp": "0x10090e60", "name": "TglImpl::DeviceImpl::SetShadeCount", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2ca0,11 +0x10090e60,11 @@", [{"orig": [["0x100a2ca0", "mov eax, dword ptr [ecx + 4]"], ["0x100a2ca3", "mov ecx, dword ptr [esp + 4]"]], "recomp": [["0x10090e60", "mov ecx, dword ptr [ecx + 4]"], ["0x10090e63", "mov eax, dword ptr [esp + 4]"], ["0x10090e67", "push eax"]]}, {"both": [["0x100a2ca7", "push ecx", "0x10090e68"]]}, {"orig": [["0x100a2ca8", "push eax"], ["0x100a2ca9", "mov eax, dword ptr [eax]"]], "recomp": [["0x10090e69", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a2cab", "call dword ptr [eax + 0x50]", "0x10090e6b"], ["0x100a2cae", "test eax, eax", "0x10090e6e"], ["0x100a2cb0", "mov eax, 1", "0x10090e70"], ["0x100a2cb5", "jge 0x2", "0x10090e75"], ["0x100a2cb7", "xor eax, eax", "0x10090e77"], ["0x100a2cb9", "ret 4", "0x10090e79"]]}]]]}, {"address": "0x100a2cc0", "recomp": "0x10090e80", "name": "TglImpl::DeviceImpl::SetDither", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2cc0,11 +0x10090e80,11 @@", [{"orig": [["0x100a2cc0", "mov eax, dword ptr [ecx + 4]"], ["0x100a2cc3", "mov ecx, dword ptr [esp + 4]"]], "recomp": [["0x10090e80", "mov ecx, dword ptr [ecx + 4]"], ["0x10090e83", "mov eax, dword ptr [esp + 4]"], ["0x10090e87", "push eax"]]}, {"both": [["0x100a2cc7", "push ecx", "0x10090e88"]]}, {"orig": [["0x100a2cc8", "push eax"], ["0x100a2cc9", "mov eax, dword ptr [eax]"]], "recomp": [["0x10090e89", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a2ccb", "call dword ptr [eax + 0x4c]", "0x10090e8b"], ["0x100a2cce", "test eax, eax", "0x10090e8e"], ["0x100a2cd0", "mov eax, 1", "0x10090e90"], ["0x100a2cd5", "jge 0x2", "0x10090e95"], ["0x100a2cd7", "xor eax, eax", "0x10090e97"], ["0x100a2cd9", "ret 4", "0x10090e99"]]}]]]}, {"address": "0x100a2ce0", "recomp": "0x10090ea0", "name": "TglImpl::DeviceImpl::HandleActivate", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2ce0,14 +0x10090ea0,14 @@", [{"both": [["0x100a2ce0", "sub esp, 4", "0x10090ea0"], ["0x100a2ce3", "mov eax, dword ptr [ecx + 4]", "0x10090ea3"]]}, {"orig": [["0x100a2ce6", "lea ecx, [esp]"], ["0x100a2cea", "push ecx"]], "recomp": [["0x10090ea6", "lea edx, [esp]"], ["0x10090eaa", "push edx"]]}, {"both": [["0x100a2ceb", "push IID_IDirect3DRMWinDevice (DATA)", "0x10090eab"], ["0x100a2cf0", "push eax", "0x10090eb0"], ["0x100a2cf1", "mov eax, dword ptr [eax]", "0x10090eb1"], ["0x100a2cf3", "call dword ptr [eax]", "0x10090eb3"], ["0x100a2cf5", "test eax, eax", "0x10090eb5"], ["0x100a2cf7", "jl 0x19", "0x10090eb7"], ["0x100a2cf9", "mov eax, dword ptr [esp + 8]", "0x10090eb9"], ["0x100a2cfd", "mov ecx, dword ptr [esp]", "0x10090ebd"], ["0x100a2d01", "push eax", "0x10090ec1"], ["0x100a2d02", "push ecx", "0x10090ec2"]]}]]]}, {"address": "0x100a2d20", "recomp": "0x10090ee0", "name": "TglImpl::DeviceImpl::HandlePaint", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2d20,14 +0x10090ee0,14 @@", [{"both": [["0x100a2d20", "sub esp, 4", "0x10090ee0"], ["0x100a2d23", "mov eax, dword ptr [ecx + 4]", "0x10090ee3"]]}, {"orig": [["0x100a2d26", "lea ecx, [esp]"], ["0x100a2d2a", "push ecx"]], "recomp": [["0x10090ee6", "lea edx, [esp]"], ["0x10090eea", "push edx"]]}, {"both": [["0x100a2d2b", "push IID_IDirect3DRMWinDevice (DATA)", "0x10090eeb"], ["0x100a2d30", "push eax", "0x10090ef0"], ["0x100a2d31", "mov eax, dword ptr [eax]", "0x10090ef1"], ["0x100a2d33", "call dword ptr [eax]", "0x10090ef3"], ["0x100a2d35", "test eax, eax", "0x10090ef5"], ["0x100a2d37", "jl 0x19", "0x10090ef7"], ["0x100a2d39", "mov eax, dword ptr [esp + 8]", "0x10090ef9"], ["0x100a2d3d", "mov ecx, dword ptr [esp]", "0x10090efd"], ["0x100a2d41", "push eax", "0x10090f01"], ["0x100a2d42", "push ecx", "0x10090f02"]]}]]]}, {"address": "0x100a2d60", "recomp": "0x10090f20", "name": "TglImpl::DeviceImpl::Update", "matching": 1.0, "diff": []}, {"address": "0x100a2d80", "recomp": "0x10090950", "name": "TglImpl::ViewImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a2d90", "recomp": "0x10090960", "name": "TglImpl::ViewImpl::Add", "matching": 1.0, "diff": []}, {"address": "0x100a2dc0", "recomp": "0x10090990", "name": "TglImpl::ViewImpl::Remove", "matching": 1.0, "diff": []}, {"address": "0x100a2df0", "recomp": "0x100909c0", "name": "TglImpl::ViewImpl::SetCamera", "matching": 0.5625, "diff": [["@@ -0x100a2df0,47 +0x100909c0,49 @@", [{"both": [["0x100a2df0", "mov eax, dword ptr [esp + 4]", "0x100909c0"], ["0x100a2df4", "sub esp, 8", "0x100909c4"], ["0x100a2df7", "push ebx", "0x100909c7"], ["0x100a2df8", "push esi", "0x100909c8"], ["0x100a2df9", "push edi", "0x100909c9"]]}, {"orig": [["0x100a2dfa", "mov ebx, dword ptr [ecx + 4]"]], "recomp": [["0x100909ca", "mov esi, ecx"]]}, {"both": [["0x100a2dfd", "push ebp", "0x100909cc"], ["0x100a2dfe", "mov edi, dword ptr [eax + 4]", "0x100909cd"]]}, {"orig": [["0x100a2e01", "push ebx"]], "recomp": [["0x100909d0", "mov eax, dword ptr [esi + 4]"], ["0x100909d3", "push eax"], ["0x100909d4", "mov ebx, dword ptr [eax]"], ["0x100909d6", "call dword ptr [ebx + 0x1c]"], ["0x100909d9", "mov ecx, dword ptr [eax + 4]"], ["0x100909dc", "mov ebp, dword ptr [eax + 8]"], ["0x100909df", "mov ebx, eax"], ["0x100909e1", "test ebp, ebp"]]}, {"both": [["0x100a2e02", "mov eax, dword ptr [ebx]", "0x100909e3"]]}, {"orig": [["0x100a2e04", "call dword ptr [eax + 0x1c]"], ["0x100a2e07", "mov ecx, dword ptr [eax + 4]"], ["0x100a2e0a", "mov esi, dword ptr [eax + 8]"], ["0x100a2e0d", "mov ebp, eax"], ["0x100a2e0f", "test esi, esi"]], "recomp": [["0x100909e5", "mov dword ptr [esp + 0x14], eax"], ["0x100909e9", "je 0x24"]]}, {"both": [["0x100a2e11", "mov eax, dword ptr [ebp]", "0x100909eb"]]}, {"orig": [["0x100a2e14", "mov dword ptr [esp + 0x14], eax"], ["0x100a2e18", "je 0x22"], ["0x100a2e1a", "mov eax, dword ptr [esi]"]], "recomp": []}, {"both": [["0x100a2e1c", "push ecx", "0x100909ee"]]}, {"orig": [["0x100a2e1d", "push esi"]], "recomp": [["0x100909ef", "push ebp"]]}, {"both": [["0x100a2e1e", "mov edx, dword ptr [eax + 0x98]", "0x100909f0"], ["0x100a2e24", "mov dword ptr [esp + 0x18], edx", "0x100909f6"], ["0x100a2e28", "call dword ptr [esp + 0x18]", "0x100909fa"], ["0x100a2e2c", "mov ecx, dword ptr [esp + 0x14]", "0x100909fe"], ["0x100a2e30", "push ecx", "0x10090a02"]]}, {"orig": [["0x100a2e31", "push esi"]], "recomp": [["0x10090a03", "push ebp"]]}, {"both": [["0x100a2e32", "call dword ptr [esp + 0x18]", "0x10090a04"]]}, {"orig": [["0x100a2e36", "push esi"], ["0x100a2e37", "mov esi, dword ptr [esi]"], ["0x100a2e39", "call dword ptr [esi + 8]"]], "recomp": [["0x10090a08", "push ebp"], ["0x10090a09", "mov ebp, dword ptr [ebp]"], ["0x10090a0c", "call dword ptr [ebp + 8]"]]}, {"both": [["0x100a2e3c", "push edi", "0x10090a0f"]]}, {"orig": [["0x100a2e3d", "mov dword ptr [ebp + 4], edi"], ["0x100a2e40", "mov dword ptr [ebp + 8], 0"], ["0x100a2e47", "push ebx"], ["0x100a2e48", "mov eax, dword ptr [ebx]"], ["0x100a2e4a", "call dword ptr [eax + 0x48]"]], "recomp": [["0x10090a10", "mov dword ptr [ebx + 4], edi"], ["0x10090a13", "mov dword ptr [ebx + 8], 0"], ["0x10090a1a", "mov eax, dword ptr [esi + 4]"], ["0x10090a1d", "push eax"], ["0x10090a1e", "mov ebx, dword ptr [eax]"], ["0x10090a20", "call dword ptr [ebx + 0x48]"]]}, {"both": [["0x100a2e4d", "test eax, eax", "0x10090a23"], ["0x100a2e4f", "mov eax, 1", "0x10090a25"], ["0x100a2e54", "jge 0x2", "0x10090a2a"], ["0x100a2e56", "xor eax, eax", "0x10090a2c"], ["0x100a2e58", "pop ebp", "0x10090a2e"], ["0x100a2e59", "pop edi", "0x10090a2f"], ["0x100a2e5a", "pop esi", "0x10090a30"], ["0x100a2e5b", "pop ebx", "0x10090a31"], ["0x100a2e5c", "add esp, 8", "0x10090a32"], ["0x100a2e5f", "ret 4", "0x10090a35"]]}]]]}, {"address": "0x100a2e70", "recomp": "0x10090a40", "name": "TglImpl::ViewImpl::SetProjection", "matching": 0.7, "diff": [["@@ -0x100a2e70,20 +0x10090a40,20 @@", [{"orig": [["0x100a2e70", "mov ecx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100a2e73", "mov eax, dword ptr [esp + 4]", "0x10090a40"], ["0x100a2e77", "test eax, eax", "0x10090a44"], ["0x100a2e79", "je 0x9", "0x10090a46"], ["0x100a2e7b", "cmp eax, 1", "0x10090a48"], ["0x100a2e7e", "je 0x8", "0x10090a4b"]]}, {"orig": [["0x100a2e80", "xor eax, eax"]], "recomp": [["0x10090a4d", "xor edx, edx"]]}, {"both": [["0x100a2e82", "jmp 0x9", "0x10090a4f"]]}, {"orig": [["0x100a2e84", "xor eax, eax"]], "recomp": [["0x10090a51", "xor edx, edx"]]}, {"both": [["0x100a2e86", "jmp 0x5", "0x10090a53"]]}, {"orig": [["0x100a2e88", "mov eax, 1"]], "recomp": [["0x10090a55", "mov edx, 1"], ["0x10090a5a", "mov eax, dword ptr [ecx + 4]"], ["0x10090a5d", "push edx"]]}, {"both": [["0x100a2e8d", "push eax", "0x10090a5e"]]}, {"orig": [["0x100a2e8e", "push ecx"], ["0x100a2e8f", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10090a5f", "mov eax, dword ptr [eax]"]]}, {"both": [["0x100a2e91", "call dword ptr [eax + 0x4c]", "0x10090a61"], ["0x100a2e94", "test eax, eax", "0x10090a64"], ["0x100a2e96", "mov eax, 1", "0x10090a66"], ["0x100a2e9b", "jge 0x2", "0x10090a6b"], ["0x100a2e9d", "xor eax, eax", "0x10090a6d"], ["0x100a2e9f", "ret 4", "0x10090a6f"]]}]]]}, {"address": "0x100a2eb0", "recomp": "0x10090a80", "name": "TglImpl::ViewImpl::SetFrustrum", "matching": 0.6666666666666666, "diff": [["@@ -0x100a2eb0,45 +0x10090a80,48 @@", [{"both": [["0x100a2eb0", "fld dword ptr [esp + 0xc]", "0x10090a80"], ["0x100a2eb4", "fmul dword ptr [0.5 (FLOAT)]", "0x10090a84"], ["0x100a2eba", "fmul qword ptr [0.005555555555555556 (FLOAT)]", "0x10090a8a"], ["0x100a2ec0", "fmul qword ptr [3.141592653589793 (FLOAT)]", "0x10090a90"], ["0x100a2ec6", "fptan ", "0x10090a96"], ["0x100a2ec8", "sub esp, 4", "0x10090a98"], ["0x100a2ecb", "push esi", "0x10090a9b"]]}, {"orig": [["0x100a2ecc", "push edi"], ["0x100a2ecd", "mov edi, dword ptr [ecx + 4]"], ["0x100a2ed0", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x10090a9c", "mov esi, ecx"], ["0x10090a9e", "mov eax, dword ptr [esi + 4]"], ["0x10090aa1", "mov ecx, dword ptr [esp + 0xc]"], ["0x10090aa5", "push ecx"]]}, {"both": [["0x100a2ed4", "push eax", "0x10090aa6"], ["0x100a2ed5", "fstp st(0)", "0x10090aa7"], ["0x100a2ed7", "fmul dword ptr [esp + 0x14]", "0x10090aa9"], ["0x100a2edb", "fstp dword ptr [esp + 0xc]", "0x10090aad"]]}, {"orig": [["0x100a2edf", "mov esi, dword ptr [edi]"], ["0x100a2ee1", "push edi"], ["0x100a2ee2", "call dword ptr [esi + 0x38]"]], "recomp": [["0x10090ab1", "mov eax, dword ptr [eax]"], ["0x10090ab3", "call dword ptr [eax + 0x38]"]]}, {"both": [["0x100a2ee5", "test eax, eax", "0x10090ab6"], ["0x100a2ee7", "mov eax, 1", "0x10090ab8"], ["0x100a2eec", "jge 0x2", "0x10090abd"], ["0x100a2eee", "xor eax, eax", "0x10090abf"], ["0x100a2ef0", "cmp eax, 1", "0x10090ac1"]]}, {"orig": [["0x100a2ef3", "jne 0x2d"], ["0x100a2ef5", "mov eax, dword ptr [esp + 0x14]"]], "recomp": [["0x10090ac4", "jne 0x37"], ["0x10090ac6", "mov eax, dword ptr [esi + 4]"], ["0x10090ac9", "mov ecx, dword ptr [esp + 0x10]"], ["0x10090acd", "push ecx"]]}, {"both": [["0x100a2ef9", "push eax", "0x10090ace"]]}, {"orig": [["0x100a2efa", "push edi"], ["0x100a2efb", "call dword ptr [esi + 0x3c]"]], "recomp": [["0x10090acf", "mov eax, dword ptr [eax]"], ["0x10090ad1", "call dword ptr [eax + 0x3c]"]]}, {"both": [["0x100a2efe", "test eax, eax", "0x10090ad4"], ["0x100a2f00", "mov eax, 1", "0x10090ad6"], ["0x100a2f05", "jge 0x2", "0x10090adb"], ["0x100a2f07", "xor eax, eax", "0x10090add"], ["0x100a2f09", "cmp eax, 1", "0x10090adf"]]}, {"orig": [["0x100a2f0c", "jne 0x14"], ["0x100a2f0e", "mov eax, dword ptr [esp + 8]"]], "recomp": [["0x10090ae2", "jne 0x19"], ["0x10090ae4", "mov eax, dword ptr [esi + 4]"], ["0x10090ae7", "mov ecx, dword ptr [esp + 4]"], ["0x10090aeb", "mov esi, dword ptr [eax]"], ["0x10090aed", "push ecx"]]}, {"both": [["0x100a2f12", "push eax", "0x10090aee"]]}, {"orig": [["0x100a2f13", "push edi"]], "recomp": []}, {"both": [["0x100a2f14", "call dword ptr [esi + 0x40]", "0x10090aef"], ["0x100a2f17", "test eax, eax", "0x10090af2"], ["0x100a2f19", "mov eax, 1", "0x10090af4"], ["0x100a2f1e", "jge 0x2", "0x10090af9"], ["0x100a2f20", "xor eax, eax", "0x10090afb"]]}, {"orig": [["0x100a2f22", "pop edi"]], "recomp": []}, {"both": [["0x100a2f23", "pop esi", "0x10090afd"], ["0x100a2f24", "add esp, 4", "0x10090afe"], ["0x100a2f27", "ret 0xc", "0x10090b01"]]}]]]}, {"address": "0x100a2f30", "recomp": "0x10090b10", "name": "TglImpl::ViewImpl::SetBackgroundColor", "matching": 1.0, "diff": []}, {"address": "0x100a2f80", "recomp": "0x10090b60", "name": "TglImpl::ViewImpl::GetBackgroundColor", "matching": 1.0, "diff": []}, {"address": "0x100a2fb0", "recomp": "0x10090b90", "name": "TglImpl::ViewImpl::Clear", "matching": 1.0, "diff": []}, {"address": "0x100a2fd0", "recomp": "0x10090bb0", "name": "TglImpl::ViewImpl::Render", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a2fd0,72 +0x10090bb0,72 @@", [{"both": [["0x100a2fd0", "mov eax, dword ptr [esp + 4]", "0x10090bb0"], ["0x100a2fd4", "sub esp, 0xc", "0x10090bb4"], ["0x100a2fd7", "push ebx", "0x10090bb7"], ["0x100a2fd8", "push esi", "0x10090bb8"], ["0x100a2fd9", "push edi", "0x10090bb9"]]}, {"orig": [["0x100a2fda", "mov esi, dword ptr [ecx + 4]"]], "recomp": [["0x10090bba", "mov esi, dword ptr [eax + 4]"]]}, {"both": [["0x100a2fdd", "push ebp", "0x10090bbd"]]}, {"orig": [["0x100a2fde", "mov edi, dword ptr [eax + 4]"], ["0x100a2fe1", "push esi"], ["0x100a2fe2", "mov eax, dword ptr [esi]"]], "recomp": [["0x10090bbe", "mov edi, dword ptr [ecx + 4]"], ["0x10090bc1", "push edi"], ["0x10090bc2", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100a2fe4", "call dword ptr [eax + 0x1c]", "0x10090bc4"], ["0x100a2fe7", "mov ebp, dword ptr [eax + 8]", "0x10090bc7"], ["0x100a2fea", "mov ebx, eax", "0x10090bca"]]}, {"orig": [["0x100a2fec", "cmp edi, ebp"]], "recomp": [["0x10090bcc", "cmp esi, ebp"]]}, {"both": [["0x100a2fee", "je 0x6d", "0x10090bce"], ["0x100a2ff0", "mov eax, dword ptr [ebx]", "0x10090bd0"], ["0x100a2ff2", "mov ecx, dword ptr [ebx + 4]", "0x10090bd2"], ["0x100a2ff5", "mov dword ptr [esp + 0x10], eax", "0x10090bd5"], ["0x100a2ff9", "test ebp, ebp", "0x10090bd9"], ["0x100a2ffb", "je 0x24", "0x10090bdb"], ["0x100a2ffd", "mov eax, dword ptr [ebp]", "0x10090bdd"], ["0x100a3000", "push ecx", "0x10090be0"], ["0x100a3001", "push ebp", "0x10090be1"], ["0x100a3002", "mov edx, dword ptr [eax + 0x98]", "0x10090be2"], ["0x100a3008", "mov dword ptr [esp + 0x1c], edx", "0x10090be8"], ["0x100a300c", "call dword ptr [esp + 0x1c]", "0x10090bec"], ["0x100a3010", "mov ecx, dword ptr [esp + 0x10]", "0x10090bf0"], ["0x100a3014", "push ecx", "0x10090bf4"], ["0x100a3015", "push ebp", "0x10090bf5"], ["0x100a3016", "call dword ptr [esp + 0x1c]", "0x10090bf6"], ["0x100a301a", "push ebp", "0x10090bfa"], ["0x100a301b", "mov ebp, dword ptr [ebp]", "0x10090bfb"], ["0x100a301e", "call dword ptr [ebp + 8]", "0x10090bfe"]]}, {"orig": [["0x100a3021", "mov dword ptr [ebx + 8], edi"], ["0x100a3024", "test edi, edi"]], "recomp": [["0x10090c01", "mov dword ptr [ebx + 8], esi"], ["0x10090c04", "test esi, esi"]]}, {"both": [["0x100a3026", "mov eax, dword ptr [ebx + 0x14]", "0x10090c06"], ["0x100a3029", "mov ecx, dword ptr [ebx + 0x10]", "0x10090c09"], ["0x100a302c", "mov edx, dword ptr [ebx + 0xc]", "0x10090c0c"], ["0x100a302f", "mov ebp, dword ptr [ebx]", "0x10090c0f"], ["0x100a3031", "mov ebx, dword ptr [ebx + 4]", "0x10090c11"], ["0x100a3034", "je 0x27", "0x10090c14"], ["0x100a3036", "push eax", "0x10090c16"], ["0x100a3037", "push ecx", "0x10090c17"], ["0x100a3038", "push edx", "0x10090c18"]]}, {"orig": [["0x100a3039", "mov eax, dword ptr [edi]"], ["0x100a303b", "push edi"]], "recomp": [["0x10090c19", "mov eax, dword ptr [esi]"], ["0x10090c1b", "push esi"]]}, {"both": [["0x100a303c", "call dword ptr [eax + 0xc4]", "0x10090c1c"]]}, {"orig": [["0x100a3042", "mov ecx, dword ptr [edi]"]], "recomp": [["0x10090c22", "mov ecx, dword ptr [esi]"]]}, {"both": [["0x100a3044", "push ebx", "0x10090c24"]]}, {"orig": [["0x100a3045", "push edi"]], "recomp": [["0x10090c25", "push esi"]]}, {"both": [["0x100a3046", "mov edx, dword ptr [ecx + 0x2c]", "0x10090c26"], ["0x100a3049", "mov dword ptr [esp + 0x18], edx", "0x10090c29"], ["0x100a304d", "call dword ptr [esp + 0x18]", "0x10090c2d"], ["0x100a3051", "push ebp", "0x10090c31"]]}, {"orig": [], "recomp": [["0x10090c32", "push esi"], ["0x10090c33", "call dword ptr [esp + 0x18]"], ["0x10090c37", "push esi"], ["0x10090c38", "mov ebx, dword ptr [esi]"], ["0x10090c3a", "call dword ptr [ebx + 4]"], ["0x10090c3d", "push esi"], ["0x10090c3e", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100a3052", "push edi", "0x10090c40"]]}, {"orig": [["0x100a3053", "call dword ptr [esp + 0x18]"], ["0x100a3057", "push edi"], ["0x100a3058", "mov ebx, dword ptr [edi]"], ["0x100a305a", "call dword ptr [ebx + 4]"], ["0x100a305d", "push edi"], ["0x100a305e", "mov eax, dword ptr [esi]"], ["0x100a3060", "push esi"]], "recomp": []}, {"both": [["0x100a3061", "call dword ptr [eax + 0x34]", "0x10090c41"], ["0x100a3064", "test eax, eax", "0x10090c44"], ["0x100a3066", "mov eax, 1", "0x10090c46"], ["0x100a306b", "jge 0x2", "0x10090c4b"], ["0x100a306d", "xor eax, eax", "0x10090c4d"], ["0x100a306f", "pop ebp", "0x10090c4f"], ["0x100a3070", "pop edi", "0x10090c50"], ["0x100a3071", "pop esi", "0x10090c51"], ["0x100a3072", "pop ebx", "0x10090c52"], ["0x100a3073", "add esp, 0xc", "0x10090c53"]]}]]]}, {"address": "0x100a3080", "recomp": "0x10090c60", "name": "TglImpl::ViewImpl::ForceUpdate", "matching": 1.0, "diff": []}, {"address": "0x100a30c0", "recomp": "0x10090ca0", "name": "TglImpl::ViewImpl::Pick", "matching": 1.0, "diff": []}, {"address": "0x100a30f0", "recomp": "0x10090cd0", "name": "TglImpl::ViewImpl::TransformWorldToScreen", "matching": 0.7272727272727273, "diff": [["@@ -0x100a30f0,25 +0x10090cd0,25 @@", [{"orig": [], "recomp": [["0x10090cd0", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x100a30f0", "sub esp, 0x1c", "0x10090cd4"]]}, {"orig": [["0x100a30f3", "mov edx, dword ptr [ecx + 4]"], ["0x100a30f6", "mov ecx, dword ptr [esp + 0x20]"], ["0x100a30fa", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10090cd7", "mov ecx, dword ptr [ecx + 4]"], ["0x10090cda", "mov eax, dword ptr [edx]"]]}, {"both": [["0x100a30fc", "mov dword ptr [esp], eax", "0x10090cdc"]]}, {"orig": [["0x100a3100", "mov eax, dword ptr [ecx + 4]"], ["0x100a3103", "mov ecx, dword ptr [ecx + 8]"]], "recomp": [["0x10090ce0", "mov eax, dword ptr [edx + 4]"], ["0x10090ce3", "mov edx, dword ptr [edx + 8]"]]}, {"both": [["0x100a3106", "mov dword ptr [esp + 4], eax", "0x10090ce6"], ["0x100a310a", "lea eax, [esp]", "0x10090cea"]]}, {"orig": [["0x100a310e", "mov dword ptr [esp + 8], ecx"], ["0x100a3112", "lea ecx, [esp + 0xc]"]], "recomp": [["0x10090cee", "mov dword ptr [esp + 8], edx"], ["0x10090cf2", "lea edx, [esp + 0xc]"]]}, {"both": [["0x100a3116", "push eax", "0x10090cf6"]]}, {"orig": [], "recomp": [["0x10090cf7", "push edx"], ["0x10090cf8", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a3117", "push ecx", "0x10090cfa"]]}, {"orig": [["0x100a3118", "mov eax, dword ptr [edx]"], ["0x100a311a", "push edx"]], "recomp": []}, {"both": [["0x100a311b", "call dword ptr [eax + 0x50]", "0x10090cfb"], ["0x100a311e", "test eax, eax", "0x10090cfe"], ["0x100a3120", "mov eax, 1", "0x10090d00"], ["0x100a3125", "jge 0x2", "0x10090d05"], ["0x100a3127", "xor eax, eax", "0x10090d07"], ["0x100a3129", "cmp eax, 1", "0x10090d09"], ["0x100a312c", "jne 0x1f", "0x10090d0c"], ["0x100a312e", "mov edx, dword ptr [esp + 0x24]", "0x10090d0e"], ["0x100a3132", "mov ecx, dword ptr [esp + 0xc]", "0x10090d12"], ["0x100a3136", "mov dword ptr [edx], ecx", "0x10090d16"]]}]]]}, {"address": "0x100a3160", "recomp": "0x10090d40", "name": "TglImpl::ViewImpl::TransformScreenToWorld", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a3160,27 +0x10090d40,27 @@", [{"both": [["0x100a3160", "mov edx, dword ptr [esp + 4]", "0x10090d40"], ["0x100a3164", "sub esp, 0x1c", "0x10090d44"]]}, {"orig": [["0x100a3167", "mov ecx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100a316a", "mov eax, dword ptr [edx]", "0x10090d47"], ["0x100a316c", "mov dword ptr [esp + 0xc], eax", "0x10090d49"], ["0x100a3170", "mov eax, dword ptr [edx + 4]", "0x10090d4d"]]}, {"orig": [], "recomp": [["0x10090d50", "mov ecx, dword ptr [ecx + 4]"]]}, {"both": [["0x100a3173", "mov dword ptr [esp + 0x10], eax", "0x10090d53"], ["0x100a3177", "mov eax, dword ptr [edx + 8]", "0x10090d57"], ["0x100a317a", "mov edx, dword ptr [edx + 0xc]", "0x10090d5a"], ["0x100a317d", "mov dword ptr [esp + 0x14], eax", "0x10090d5d"]]}, {"orig": [], "recomp": [["0x10090d61", "mov dword ptr [esp + 0x18], edx"]]}, {"both": [["0x100a3181", "lea eax, [esp + 0xc]", "0x10090d65"]]}, {"orig": [["0x100a3185", "mov dword ptr [esp + 0x18], edx"]], "recomp": []}, {"both": [["0x100a3189", "lea edx, [esp]", "0x10090d69"], ["0x100a318d", "push eax", "0x10090d6d"], ["0x100a318e", "push edx", "0x10090d6e"]]}, {"orig": [], "recomp": [["0x10090d6f", "push ecx"]]}, {"both": [["0x100a318f", "mov eax, dword ptr [ecx]", "0x10090d70"]]}, {"orig": [["0x100a3191", "push ecx"]], "recomp": []}, {"both": [["0x100a3192", "call dword ptr [eax + 0x54]", "0x10090d72"], ["0x100a3195", "test eax, eax", "0x10090d75"], ["0x100a3197", "mov eax, 1", "0x10090d77"], ["0x100a319c", "jge 0x2", "0x10090d7c"], ["0x100a319e", "xor eax, eax", "0x10090d7e"], ["0x100a31a0", "cmp eax, 1", "0x10090d80"], ["0x100a31a3", "jne 0x18", "0x10090d83"], ["0x100a31a5", "mov edx, dword ptr [esp + 0x24]", "0x10090d85"], ["0x100a31a9", "mov ecx, dword ptr [esp]", "0x10090d89"], ["0x100a31ad", "mov dword ptr [edx], ecx", "0x10090d8d"]]}]]]}, {"address": "0x100a31d0", "recomp": "0x10090f40", "name": "TglImpl::GroupImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a31e0", "recomp": "0x10090f50", "name": "TglImpl::GroupImpl::SetTransformation", "matching": 0.45161290322580644, "diff": [["@@ -0x100a31e0,31 +0x10090f50,31 @@", [{"both": [["0x100a31e0", "sub esp, 0x40", "0x10090f50"]]}, {"orig": [["0x100a31e3", "mov edx, dword ptr [ecx + 4]"], ["0x100a31e6", "mov ecx, dword ptr [esp + 0x44]"]], "recomp": [["0x10090f53", "lea edx, [esp]"]]}, {"both": [["0x100a31ea", "push esi", "0x10090f57"]]}, {"orig": [["0x100a31eb", "lea esi, [esp + 4]"], ["0x100a31ef", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10090f58", "mov esi, dword ptr [esp + 0x48]"], ["0x10090f5c", "mov eax, dword ptr [esi]"], ["0x10090f5e", "add edx, 0x10"]]}, {"both": [["0x100a31f1", "add esi, 0x10", "0x10090f61"]]}, {"orig": [["0x100a31f4", "add ecx, 0x10"], ["0x100a31f7", "mov dword ptr [esi - 0x10], eax"], ["0x100a31fa", "mov eax, dword ptr [ecx - 0xc]"], ["0x100a31fd", "mov dword ptr [esi - 0xc], eax"], ["0x100a3200", "mov eax, dword ptr [ecx - 8]"], ["0x100a3203", "mov dword ptr [esi - 8], eax"], ["0x100a3206", "mov eax, dword ptr [ecx - 4]"], ["0x100a3209", "mov dword ptr [esi - 4], eax"]], "recomp": [["0x10090f64", "mov dword ptr [edx - 0x10], eax"], ["0x10090f67", "mov eax, dword ptr [esi - 0xc]"], ["0x10090f6a", "mov dword ptr [edx - 0xc], eax"], ["0x10090f6d", "mov eax, dword ptr [esi - 8]"], ["0x10090f70", "mov dword ptr [edx - 8], eax"], ["0x10090f73", "mov eax, dword ptr [esi - 4]"], ["0x10090f76", "mov dword ptr [edx - 4], eax"]]}, {"both": [["0x100a320c", "lea eax, [esp + 0x44]", "0x10090f79"]]}, {"orig": [["0x100a3210", "cmp esi, eax"]], "recomp": [["0x10090f7d", "cmp edx, eax"]]}, {"both": [["0x100a3212", "jb -0x25", "0x10090f7f"]]}, {"orig": [["0x100a3214", "lea eax, [esp + 4]"], ["0x100a3218", "mov esi, dword ptr [edx]"]], "recomp": [["0x10090f81", "mov eax, dword ptr [ecx + 4]"], ["0x10090f84", "lea ecx, [esp + 4]"], ["0x10090f88", "push ecx"], ["0x10090f89", "push 0"]]}, {"both": [["0x100a321a", "push eax", "0x10090f8b"]]}, {"orig": [["0x100a321b", "push 0"], ["0x100a321d", "push edx"]], "recomp": [["0x10090f8c", "mov esi, dword ptr [eax]"]]}, {"both": [["0x100a321e", "call dword ptr [esi + 0x38]", "0x10090f8e"], ["0x100a3221", "test eax, eax", "0x10090f91"], ["0x100a3223", "mov eax, 1", "0x10090f93"], ["0x100a3228", "jge 0x2", "0x10090f98"], ["0x100a322a", "xor eax, eax", "0x10090f9a"], ["0x100a322c", "pop esi", "0x10090f9c"], ["0x100a322d", "add esp, 0x40", "0x10090f9d"], ["0x100a3230", "ret 4", "0x10090fa0"]]}]]]}, {"address": "0x100a3240", "recomp": "0x10090fb0", "name": "TglImpl::GroupImpl::SetColor", "matching": 0.7435897435897436, "diff": [["@@ -0x100a3240,38 +0x10090fb0,40 @@", [{"both": [["0x100a3240", "cmp dword ptr [esp + 0x10], 0", "0x10090fb0"], ["0x100a3245", "push esi", "0x10090fb5"]]}, {"orig": [["0x100a3246", "mov esi, dword ptr [ecx + 4]"], ["0x100a3249", "jle 0x32"]], "recomp": [["0x10090fb6", "mov esi, ecx"], ["0x10090fb8", "jle 0x35"]]}, {"both": [["0x100a324b", "mov eax, dword ptr [esp + 0x14]", "0x10090fba"], ["0x100a324f", "mov ecx, dword ptr [esp + 0x10]", "0x10090fbe"], ["0x100a3253", "mov edx, dword ptr [esp + 0xc]", "0x10090fc2"], ["0x100a3257", "push eax", "0x10090fc6"], ["0x100a3258", "mov eax, dword ptr [esp + 0xc]", "0x10090fc7"], ["0x100a325c", "push ecx", "0x10090fcb"], ["0x100a325d", "push edx", "0x10090fcc"], ["0x100a325e", "push eax", "0x10090fcd"], ["0x100a325f", "call _D3DRMCreateColorRGBA@16 (FUNCTION)", "0x10090fce"]]}, {"orig": [], "recomp": [["0x10090fd3", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x100a3264", "push eax", "0x10090fd6"]]}, {"orig": [["0x100a3265", "push esi"], ["0x100a3266", "mov esi, dword ptr [esi]"]], "recomp": [["0x10090fd7", "push ecx"], ["0x10090fd8", "mov esi, dword ptr [ecx]"]]}, {"both": [["0x100a3268", "call dword ptr [esi + 0xe0]", "0x10090fda"], ["0x100a326e", "test eax, eax", "0x10090fe0"], ["0x100a3270", "mov eax, 1", "0x10090fe2"]]}, {"orig": [["0x100a3275", "jge 0x29"]], "recomp": [["0x10090fe7", "jge 0x2c"]]}, {"both": [["0x100a3277", "pop esi", "0x10090fe9"], ["0x100a3278", "xor eax, eax", "0x10090fea"], ["0x100a327a", "ret 0x10", "0x10090fec"]]}, {"orig": [], "recomp": [["0x10090fef", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x100a327d", "mov eax, dword ptr [esp + 0x10]", "0x10090ff2"]]}, {"orig": [["0x100a3281", "mov ecx, dword ptr [esp + 0xc]"], ["0x100a3285", "mov edx, dword ptr [esp + 8]"]], "recomp": [["0x10090ff6", "mov edx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100a3289", "push eax", "0x10090ffa"]]}, {"orig": [["0x100a328a", "push ecx"], ["0x100a328b", "mov eax, dword ptr [esi]"]], "recomp": [["0x10090ffb", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x100a328d", "push edx", "0x10090fff"], ["0x100a328e", "push esi", "0x10091000"]]}, {"orig": [], "recomp": [["0x10091001", "mov eax, dword ptr [ecx]"], ["0x10091003", "push ecx"]]}, {"both": [["0x100a328f", "call dword ptr [eax + 0xe4]", "0x10091004"], ["0x100a3295", "test eax, eax", "0x1009100a"], ["0x100a3297", "mov eax, 1", "0x1009100c"], ["0x100a329c", "jge 0x2", "0x10091011"], ["0x100a329e", "xor eax, eax", "0x10091013"], ["0x100a32a0", "pop esi", "0x10091015"], ["0x100a32a1", "ret 0x10", "0x10091016"]]}]]]}, {"address": "0x100a32b0", "recomp": "0x10091020", "name": "TglImpl::GroupImpl::SetTexture", "matching": 1.0, "diff": []}, {"address": "0x100a32e0", "recomp": "0x10091050", "name": "TglImpl::GroupImpl::GetTexture", "matching": 0.7536231884057971, "diff": [["@@ -0x100a32e0,18 +0x10091050,18 @@", [{"both": [["0x100a32e0", "mov eax, dword ptr fs:[0]", "0x10091050"], ["0x100a32e6", "push ebp", "0x10091056"], ["0x100a32e7", "mov ebp, esp", "0x10091057"], ["0x100a32e9", "push -1", "0x10091059"], ["0x100a32eb", "push <OFFSET1>", "0x1009105b"], ["0x100a32f0", "push eax", "0x10091060"], ["0x100a32f1", "mov dword ptr fs:[0], esp", "0x10091061"]]}, {"orig": [["0x100a32f8", "sub esp, 4"]], "recomp": [["0x10091068", "sub esp, 8"]]}, {"both": [["0x100a32fb", "push ebx", "0x1009106b"], ["0x100a32fc", "push esi", "0x1009106c"], ["0x100a32fd", "push edi", "0x1009106d"], ["0x100a32fe", "mov ebx, ecx", "0x1009106e"], ["0x100a3300", "push 8", "0x10091070"], ["0x100a3302", "call ??2@YAPAXI@Z (FUNCTION)", "0x10091072"], ["0x100a3307", "mov dword ptr [ebp - 0x10], eax", "0x10091077"], ["0x100a330a", "add esp, 4", "0x1009107a"], ["0x100a330d", "mov edi, eax", "0x1009107d"], ["0x100a330f", "xor eax, eax", "0x1009107f"]]}]], ["@@ -0x100a3331,43 +0x100910a1,41 @@", [{"both": [["0x100a3331", "mov dword ptr [edi + 4], eax", "0x100910a1"], ["0x100a3334", "mov dword ptr [edi], TglImpl::TextureImpl::`vftable' (VTABLE)", "0x100910a4"], ["0x100a333a", "jmp 0x12", "0x100910aa"], ["0x100a333c", "mov ecx, dword ptr [ebp - 0x10]", "0x100910ac"], ["0x100a333f", "jmp Tgl::Object::~Object (FUNCTION)", "0x100910af"], ["0x100a3344", "mov ecx, dword ptr [ebp - 0x10]", "0x100910b4"], ["0x100a3347", "jmp Tgl::Texture::~Texture (FUNCTION)", "0x100910b7"], ["0x100a334c", "xor esi, esi", "0x100910bc"], ["0x100a334e", "mov dword ptr [ebp - 4], 0xffffffff", "0x100910be"], ["0x100a3355", "mov eax, dword ptr [ebx + 4]", "0x100910c5"]]}, {"orig": [["0x100a3358", "lea ecx, [ebp - 0x10]"]], "recomp": [["0x100910c8", "lea ecx, [ebp - 0x14]"]]}, {"both": [["0x100a335b", "mov ebx, dword ptr [eax]", "0x100910cb"], ["0x100a335d", "push ecx", "0x100910cd"], ["0x100a335e", "push eax", "0x100910ce"], ["0x100a335f", "call dword ptr [ebx + 0x70]", "0x100910cf"], ["0x100a3362", "test eax, eax", "0x100910d2"], ["0x100a3364", "mov eax, 1", "0x100910d4"], ["0x100a3369", "jge 0x2", "0x100910d9"], ["0x100a336b", "xor eax, eax", "0x100910db"]]}, {"orig": [["0x100a336d", "cmp eax, 1"], ["0x100a3370", "jne 0x1c"], ["0x100a3372", "lea eax, [esi + 4]"], ["0x100a3375", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a3378", "push eax"], ["0x100a3379", "push IID_IDirect3DRMTexture2 (DATA)"], ["0x100a337e", "push ecx"], ["0x100a337f", "mov eax, dword ptr [ecx]"], ["0x100a3381", "call dword ptr [eax]"]], "recomp": []}, {"both": [["0x100a3383", "test eax, eax", "0x100910dd"]]}, {"orig": [["0x100a3385", "mov eax, 1"], ["0x100a338a", "jge 0x2"], ["0x100a338c", "xor eax, eax"], ["0x100a338e", "mov ecx, dword ptr [ebp + 8]"], ["0x100a3391", "pop edi"], ["0x100a3392", "mov dword ptr [ecx], esi"]], "recomp": [["0x100910df", "je 0x6"], ["0x100910e1", "mov eax, dword ptr [ebp - 0x14]"], ["0x100910e4", "mov dword ptr [esi + 4], eax"], ["0x100910e7", "mov eax, dword ptr [ebp + 8]"]]}, {"both": [["0x100a3394", "mov ecx, dword ptr [ebp - 0xc]", "0x100910ea"], ["0x100a3397", "mov dword ptr fs:[0], ecx", "0x100910ed"]]}, {"orig": [], "recomp": [["0x100910f4", "pop edi"], ["0x100910f5", "mov dword ptr [eax], esi"], ["0x100910f7", "mov eax, 1"]]}, {"both": [["0x100a339e", "pop esi", "0x100910fc"], ["0x100a339f", "pop ebx", "0x100910fd"], ["0x100a33a0", "mov esp, ebp", "0x100910fe"], ["0x100a33a2", "pop ebp", "0x10091100"], ["0x100a33a3", "ret 4", "0x10091101"]]}, {"orig": [["0x100a33a6", "mov eax, <OFFSET7>"]], "recomp": [["0x10091104", "mov eax, <OFFSET6>"], ["0x10091109", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x1009110e", "mov eax, dword ptr [ebp - 0x10]"], ["0x10091111", "push eax"], ["0x10091112", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x10091117", "add esp, 4"], ["0x1009111a", "ret "]]}]]]}, {"address": "0x100a33c0", "recomp": "0x10091120", "name": "TglImpl::GroupImpl::SetMaterialMode", "matching": 0.5, "diff": [["@@ -0x100a33c0,26 +0x10091120,26 @@", [{"both": [["0x100a33c0", "mov eax, dword ptr [esp + 4]", "0x10091120"], ["0x100a33c4", "sub esp, 4", "0x10091124"]]}, {"orig": [["0x100a33c7", "mov ecx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100a33ca", "test eax, eax", "0x10091127"]]}, {"orig": [["0x100a33cc", "je 0x29"]], "recomp": [["0x10091129", "je 0x2c"]]}, {"both": [["0x100a33ce", "cmp eax, 1", "0x1009112b"]]}, {"orig": [["0x100a33d1", "je 0x2b"]], "recomp": [["0x1009112e", "je 0x2e"]]}, {"both": [["0x100a33d3", "cmp eax, 2", "0x10091130"]]}, {"orig": [["0x100a33d6", "je 0x2d"], ["0x100a33d8", "mov eax, dword ptr [esp]"]], "recomp": [["0x10091133", "je 0x30"], ["0x10091135", "mov edx, dword ptr [esp]"], ["0x10091139", "mov eax, dword ptr [ecx + 4]"], ["0x1009113c", "push edx"]]}, {"both": [["0x100a33dc", "push eax", "0x1009113d"]]}, {"orig": [["0x100a33dd", "push ecx"], ["0x100a33de", "mov eax, dword ptr [ecx]"]], "recomp": [["0x1009113e", "mov eax, dword ptr [eax]"]]}, {"both": [["0x100a33e0", "call dword ptr [eax + 0xec]", "0x10091140"], ["0x100a33e6", "test eax, eax", "0x10091146"], ["0x100a33e8", "mov eax, 1", "0x10091148"], ["0x100a33ed", "jge 0x2", "0x1009114d"], ["0x100a33ef", "xor eax, eax", "0x1009114f"], ["0x100a33f1", "add esp, 4", "0x10091151"], ["0x100a33f4", "ret 4", "0x10091154"]]}, {"orig": [["0x100a33f7", "mov eax, 1"], ["0x100a33fc", "jmp -0x22"], ["0x100a33fe", "mov eax, 2"], ["0x100a3403", "jmp -0x29"], ["0x100a3405", "xor eax, eax"], ["0x100a3407", "jmp -0x2d"]], "recomp": [["0x10091157", "mov edx, 1"], ["0x1009115c", "jmp -0x25"], ["0x1009115e", "mov edx, 2"], ["0x10091163", "jmp -0x2c"], ["0x10091165", "xor edx, edx"], ["0x10091167", "jmp -0x30"]]}]]]}, {"address": "0x100a3410", "recomp": "0x10091170", "name": "TglImpl::GroupImpl::Add", "matching": 1.0, "diff": []}, {"address": "0x100a3430", "recomp": "0x10091190", "name": "TglImpl::GroupImpl::Add", "matching": 1.0, "diff": []}, {"address": "0x100a3450", "recomp": "0x100911b0", "name": "TglImpl::GroupImpl::Remove", "matching": 1.0, "diff": []}, {"address": "0x100a3480", "recomp": "0x100911e0", "name": "TglImpl::GroupImpl::Remove", "matching": 1.0, "diff": []}, {"address": "0x100a34b0", "recomp": "0x10091210", "name": "TglImpl::GroupImpl::RemoveAll", "matching": 0.8548387096774194, "diff": [["@@ -0x100a34b0,52 +0x10091210,52 @@", [{"both": [["0x100a34b0", "sub esp, 8", "0x10091210"], ["0x100a34b3", "lea eax, [esp]", "0x10091213"], ["0x100a34b7", "push ebx", "0x10091217"], ["0x100a34b8", "push esi", "0x10091218"]]}, {"orig": [], "recomp": [["0x10091219", "mov ebx, dword ptr [ecx + 4]"]]}, {"both": [["0x100a34b9", "push edi", "0x1009121c"], ["0x100a34ba", "push ebp", "0x1009121d"]]}, {"orig": [["0x100a34bb", "mov edi, dword ptr [ecx + 4]"]], "recomp": [["0x1009121e", "mov edi, dword ptr [ebx]"]]}, {"both": [["0x100a34be", "push eax", "0x10091220"]]}, {"orig": [], "recomp": [["0x10091221", "push ebx"]]}, {"both": [["0x100a34bf", "mov esi, 1", "0x10091222"]]}, {"orig": [["0x100a34c4", "mov ebx, dword ptr [edi]"], ["0x100a34c6", "push edi"], ["0x100a34c7", "call dword ptr [ebx + 0x80]"]], "recomp": [["0x10091227", "call dword ptr [edi + 0x80]"]]}, {"both": [["0x100a34cd", "test eax, eax", "0x1009122d"], ["0x100a34cf", "jge 0x2", "0x1009122f"], ["0x100a34d1", "xor esi, esi", "0x10091231"], ["0x100a34d3", "cmp esi, 1", "0x10091233"], ["0x100a34d6", "jne 0x5c", "0x10091236"], ["0x100a34d8", "xor ebp, ebp", "0x10091238"], ["0x100a34da", "mov eax, dword ptr [esp + 0x10]", "0x1009123a"], ["0x100a34de", "push eax", "0x1009123e"], ["0x100a34df", "mov eax, dword ptr [eax]", "0x1009123f"], ["0x100a34e1", "call dword ptr [eax + 0xc]", "0x10091241"], ["0x100a34e4", "test eax, eax", "0x10091244"], ["0x100a34e6", "jle 0x42", "0x10091246"]]}, {"orig": [["0x100a34e8", "mov ebx, dword ptr [ebx + 0xa4]"]], "recomp": [["0x10091248", "mov edi, dword ptr [edi + 0xa4]"]]}, {"both": [["0x100a34ee", "lea eax, [esp + 0x14]", "0x1009124e"], ["0x100a34f2", "mov ecx, dword ptr [esp + 0x10]", "0x10091252"], ["0x100a34f6", "push eax", "0x10091256"], ["0x100a34f7", "mov esi, 1", "0x10091257"], ["0x100a34fc", "push ebp", "0x1009125c"], ["0x100a34fd", "mov eax, dword ptr [ecx]", "0x1009125d"], ["0x100a34ff", "push ecx", "0x1009125f"], ["0x100a3500", "call dword ptr [eax + 0x10]", "0x10091260"]]}, {"orig": [["0x100a3503", "mov ecx, dword ptr [esp + 0x14]"], ["0x100a3507", "push ecx"], ["0x100a3508", "push edi"], ["0x100a3509", "call ebx"]], "recomp": []}, {"both": [["0x100a350b", "test eax, eax", "0x10091263"], ["0x100a350d", "jge 0x2", "0x10091265"], ["0x100a350f", "xor esi, esi", "0x10091267"], ["0x100a3511", "mov eax, dword ptr [esp + 0x14]", "0x10091269"], ["0x100a3515", "inc ebp", "0x1009126d"]]}, {"orig": [], "recomp": [["0x1009126e", "push eax"], ["0x1009126f", "push ebx"], ["0x10091270", "call edi"], ["0x10091272", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x100a3516", "push eax", "0x10091276"], ["0x100a3517", "mov eax, dword ptr [eax]", "0x10091277"], ["0x100a3519", "call dword ptr [eax + 8]", "0x10091279"], ["0x100a351c", "mov ecx, dword ptr [esp + 0x10]", "0x1009127c"], ["0x100a3520", "push ecx", "0x10091280"], ["0x100a3521", "mov eax, dword ptr [ecx]", "0x10091281"], ["0x100a3523", "call dword ptr [eax + 0xc]", "0x10091283"], ["0x100a3526", "cmp eax, ebp", "0x10091286"], ["0x100a3528", "jg -0x3c", "0x10091288"], ["0x100a352a", "mov eax, dword ptr [esp + 0x10]", "0x1009128a"]]}]]]}, {"address": "0x100a3540", "recomp": "0x100912a0", "name": "TglImpl::GroupImpl::Bounds", "matching": 0.6524822695035462, "diff": [["@@ -0x100a3540,26 +0x100912a0,26 @@", [{"both": [["0x100a3540", "sub esp, 0x3c", "0x100912a0"], ["0x100a3543", "mov ecx, dword ptr [ecx + 4]", "0x100912a3"], ["0x100a3546", "mov eax, 0x47ad9c00", "0x100912a6"], ["0x100a354b", "push esi", "0x100912ab"]]}, {"orig": [["0x100a354c", "mov dword ptr [esp + 0x18], eax"]], "recomp": [["0x100912ac", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100a3550", "push edi", "0x100912b0"], ["0x100a3551", "lea edx, [esp + 8]", "0x100912b1"], ["0x100a3555", "mov dword ptr [esp + 0x18], eax", "0x100912b5"]]}, {"orig": [["0x100a3559", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x100912b9", "mov dword ptr [esp + 0x1c], eax"]]}, {"both": [["0x100a355d", "push edx", "0x100912bd"], ["0x100a355e", "mov eax, 0xc7ad9c00", "0x100912be"], ["0x100a3563", "push ecx", "0x100912c3"], ["0x100a3564", "mov edi, 1", "0x100912c4"]]}, {"orig": [], "recomp": [["0x100912c9", "mov dword ptr [esp + 0x28], eax"], ["0x100912cd", "mov dword ptr [esp + 0x2c], eax"]]}, {"both": [["0x100a3569", "mov dword ptr [esp + 0x30], eax", "0x100912d1"]]}, {"orig": [["0x100a356d", "mov dword ptr [esp + 0x2c], eax"], ["0x100a3571", "mov dword ptr [esp + 0x28], eax"]], "recomp": []}, {"both": [["0x100a3575", "mov esi, dword ptr [ecx]", "0x100912d5"], ["0x100a3577", "call dword ptr [esi + 0x80]", "0x100912d7"], ["0x100a357d", "test eax, eax", "0x100912dd"], ["0x100a357f", "jge 0x2", "0x100912df"], ["0x100a3581", "xor edi, edi", "0x100912e1"], ["0x100a3583", "cmp edi, 1", "0x100912e3"], ["0x100a3586", "jne 0x120", "0x100912e6"], ["0x100a358c", "xor esi, esi", "0x100912ec"], ["0x100a358e", "mov eax, dword ptr [esp + 8]", "0x100912ee"], ["0x100a3592", "push eax", "0x100912f2"]]}]], ["@@ -0x100a35a4,109 +0x10091304,111 @@", [{"both": [["0x100a35a4", "mov ecx, dword ptr [esp + 8]", "0x10091304"], ["0x100a35a8", "push eax", "0x10091308"], ["0x100a35a9", "mov edi, 1", "0x10091309"], ["0x100a35ae", "push esi", "0x1009130e"], ["0x100a35af", "mov eax, dword ptr [ecx]", "0x1009130f"], ["0x100a35b1", "push ecx", "0x10091311"], ["0x100a35b2", "call dword ptr [eax + 0x10]", "0x10091312"], ["0x100a35b5", "lea ecx, [esp + 0xc]", "0x10091315"], ["0x100a35b9", "mov edx, dword ptr [esp + 0x10]", "0x10091319"], ["0x100a35bd", "push ecx", "0x1009131d"]]}, {"orig": [["0x100a35be", "push <OFFSET1>"]], "recomp": [["0x1009131e", "push IID_IDirect3DRMMeshBuilder (DATA)"]]}, {"both": [["0x100a35c3", "push edx", "0x10091323"], ["0x100a35c4", "mov eax, dword ptr [edx]", "0x10091324"], ["0x100a35c6", "call dword ptr [eax]", "0x10091326"], ["0x100a35c8", "test eax, eax", "0x10091328"], ["0x100a35ca", "jge 0x2", "0x1009132a"], ["0x100a35cc", "xor edi, edi", "0x1009132c"], ["0x100a35ce", "cmp edi, 1", "0x1009132e"], ["0x100a35d1", "jne 0xae", "0x10091331"], ["0x100a35d7", "lea eax, [esp + 0x2c]", "0x10091337"], ["0x100a35db", "mov ecx, dword ptr [esp + 0xc]", "0x1009133b"], ["0x100a35df", "push eax", "0x1009133f"], ["0x100a35e0", "mov edi, 1", "0x10091340"], ["0x100a35e5", "push ecx", "0x10091345"], ["0x100a35e6", "mov eax, dword ptr [ecx]", "0x10091346"], ["0x100a35e8", "call dword ptr [eax + 0x34]", "0x10091348"], ["0x100a35eb", "test eax, eax", "0x1009134b"], ["0x100a35ed", "jge 0x2", "0x1009134d"], ["0x100a35ef", "xor edi, edi", "0x1009134f"]]}, {"orig": [["0x100a35f1", "fld dword ptr [esp + 0x2c]"], ["0x100a35f5", "fcomp dword ptr [esp + 0x14]"]], "recomp": [["0x10091351", "fld dword ptr [esp + 0x24]"], ["0x10091355", "fcomp dword ptr [esp + 0x3c]"]]}, {"both": [["0x100a35f9", "fnstsw ax", "0x10091359"], ["0x100a35fb", "test ah, 1", "0x1009135b"], ["0x100a35fe", "je 0x8", "0x1009135e"]]}, {"orig": [["0x100a3600", "mov eax, dword ptr [esp + 0x2c]"], ["0x100a3604", "mov dword ptr [esp + 0x14], eax"], ["0x100a3608", "fld dword ptr [esp + 0x30]"], ["0x100a360c", "fcomp dword ptr [esp + 0x18]"]], "recomp": [["0x10091360", "mov eax, dword ptr [esp + 0x3c]"], ["0x10091364", "mov dword ptr [esp + 0x24], eax"], ["0x10091368", "fld dword ptr [esp + 0x28]"], ["0x1009136c", "fcomp dword ptr [esp + 0x40]"]]}, {"both": [["0x100a3610", "fnstsw ax", "0x10091370"], ["0x100a3612", "test ah, 1", "0x10091372"], ["0x100a3615", "je 0x8", "0x10091375"]]}, {"orig": [], "recomp": [["0x10091377", "mov eax, dword ptr [esp + 0x40]"], ["0x1009137b", "mov dword ptr [esp + 0x28], eax"], ["0x1009137f", "fld dword ptr [esp + 0x14]"], ["0x10091383", "fcomp dword ptr [esp + 0x2c]"], ["0x10091387", "fnstsw ax"], ["0x10091389", "test ah, 0x41"], ["0x1009138c", "jne 0x8"], ["0x1009138e", "mov eax, dword ptr [esp + 0x2c]"], ["0x10091392", "mov dword ptr [esp + 0x14], eax"], ["0x10091396", "fld dword ptr [esp + 0x18]"], ["0x1009139a", "fcomp dword ptr [esp + 0x30]"], ["0x1009139e", "fnstsw ax"], ["0x100913a0", "test ah, 0x41"], ["0x100913a3", "jne 0x8"]]}, {"both": [["0x100a3617", "mov eax, dword ptr [esp + 0x30]", "0x100913a5"], ["0x100a361b", "mov dword ptr [esp + 0x18], eax", "0x100913a9"]]}, {"orig": [["0x100a361f", "fld dword ptr [esp + 0x34]"], ["0x100a3623", "fcomp dword ptr [esp + 0x1c]"]], "recomp": [["0x100913ad", "fld dword ptr [esp + 0x1c]"], ["0x100913b1", "fcomp dword ptr [esp + 0x34]"], ["0x100913b5", "fnstsw ax"], ["0x100913b7", "test ah, 0x41"], ["0x100913ba", "jne 0x8"], ["0x100913bc", "mov eax, dword ptr [esp + 0x34]"], ["0x100913c0", "mov dword ptr [esp + 0x1c], eax"], ["0x100913c4", "fld dword ptr [esp + 0x20]"], ["0x100913c8", "fcomp dword ptr [esp + 0x38]"]]}, {"both": [["0x100a3627", "fnstsw ax", "0x100913cc"], ["0x100a3629", "test ah, 1", "0x100913ce"], ["0x100a362c", "je 0x8", "0x100913d1"]]}, {"orig": [["0x100a362e", "mov eax, dword ptr [esp + 0x34]"], ["0x100a3632", "mov dword ptr [esp + 0x1c], eax"], ["0x100a3636", "fld dword ptr [esp + 0x38]"], ["0x100a363a", "fcomp dword ptr [esp + 0x20]"], ["0x100a363e", "fnstsw ax"], ["0x100a3640", "test ah, 0x41"], ["0x100a3643", "jne 0x8"]], "recomp": []}, {"both": [["0x100a3645", "mov eax, dword ptr [esp + 0x38]", "0x100913d3"], ["0x100a3649", "mov dword ptr [esp + 0x20], eax", "0x100913d7"]]}, {"orig": [["0x100a364d", "fld dword ptr [esp + 0x3c]"], ["0x100a3651", "fcomp dword ptr [esp + 0x24]"], ["0x100a3655", "fnstsw ax"], ["0x100a3657", "test ah, 0x41"], ["0x100a365a", "jne 0x8"], ["0x100a365c", "mov eax, dword ptr [esp + 0x3c]"], ["0x100a3660", "mov dword ptr [esp + 0x24], eax"], ["0x100a3664", "fld dword ptr [esp + 0x40]"], ["0x100a3668", "fcomp dword ptr [esp + 0x28]"], ["0x100a366c", "fnstsw ax"], ["0x100a366e", "test ah, 0x41"], ["0x100a3671", "jne 0x8"], ["0x100a3673", "mov eax, dword ptr [esp + 0x40]"], ["0x100a3677", "mov dword ptr [esp + 0x28], eax"]], "recomp": []}, {"both": [["0x100a367b", "mov eax, dword ptr [esp + 0xc]", "0x100913db"], ["0x100a367f", "push eax", "0x100913df"], ["0x100a3680", "mov eax, dword ptr [eax]", "0x100913e0"], ["0x100a3682", "call dword ptr [eax + 8]", "0x100913e2"], ["0x100a3685", "mov eax, dword ptr [esp + 0x10]", "0x100913e5"], ["0x100a3689", "inc esi", "0x100913e9"], ["0x100a368a", "push eax", "0x100913ea"], ["0x100a368b", "mov eax, dword ptr [eax]", "0x100913eb"], ["0x100a368d", "call dword ptr [eax + 8]", "0x100913ed"], ["0x100a3690", "mov ecx, dword ptr [esp + 8]", "0x100913f0"], ["0x100a3694", "push ecx", "0x100913f4"], ["0x100a3695", "mov eax, dword ptr [ecx]", "0x100913f5"], ["0x100a3697", "call dword ptr [eax + 0xc]", "0x100913f7"], ["0x100a369a", "cmp eax, esi", "0x100913fa"], ["0x100a369c", "jg -0x102", "0x100913fc"], ["0x100a36a2", "mov eax, dword ptr [esp + 8]", "0x10091402"], ["0x100a36a6", "push eax", "0x10091406"], ["0x100a36a7", "mov esi, dword ptr [eax]", "0x10091407"], ["0x100a36a9", "call dword ptr [esi + 8]", "0x10091409"]]}, {"orig": [["0x100a36ac", "mov ecx, dword ptr [esp + 0x48]"], ["0x100a36b0", "mov eax, dword ptr [esp + 0x14]"], ["0x100a36b4", "mov edx, dword ptr [esp + 0x18]"], ["0x100a36b8", "mov esi, dword ptr [esp + 0x1c]"], ["0x100a36bc", "mov dword ptr [ecx], eax"], ["0x100a36be", "mov dword ptr [ecx + 4], edx"], ["0x100a36c1", "mov eax, dword ptr [esp + 0x20]"], ["0x100a36c5", "mov edx, dword ptr [esp + 0x24]"], ["0x100a36c9", "mov dword ptr [ecx + 8], esi"], ["0x100a36cc", "mov ecx, dword ptr [esp + 0x4c]"], ["0x100a36d0", "mov esi, dword ptr [esp + 0x28]"], ["0x100a36d4", "mov dword ptr [ecx], eax"]], "recomp": [["0x1009140c", "mov esi, dword ptr [esp + 0x18]"], ["0x10091410", "lea ecx, [esp + 0x14]"], ["0x10091414", "mov edx, dword ptr [esp + 0x48]"], ["0x10091418", "mov eax, dword ptr [ecx]"], ["0x1009141a", "mov ecx, dword ptr [ecx + 8]"], ["0x1009141d", "mov dword ptr [edx], eax"], ["0x1009141f", "mov dword ptr [edx + 4], esi"], ["0x10091422", "mov dword ptr [edx + 8], ecx"], ["0x10091425", "mov esi, dword ptr [esp + 0x24]"], ["0x10091429", "lea ecx, [esp + 0x20]"], ["0x1009142d", "mov edx, dword ptr [esp + 0x4c]"], ["0x10091431", "mov eax, dword ptr [ecx]"], ["0x10091433", "mov ecx, dword ptr [ecx + 8]"], ["0x10091436", "mov dword ptr [edx], eax"]]}, {"both": [["0x100a36d6", "mov eax, edi", "0x10091438"]]}, {"orig": [["0x100a36d8", "mov dword ptr [ecx + 4], edx"]], "recomp": []}, {"both": [["0x100a36db", "pop edi", "0x1009143a"]]}, {"orig": [["0x100a36dc", "mov dword ptr [ecx + 8], esi"]], "recomp": [["0x1009143b", "mov dword ptr [edx + 4], esi"]]}, {"both": [["0x100a36df", "pop esi", "0x1009143e"]]}, {"orig": [], "recomp": [["0x1009143f", "mov dword ptr [edx + 8], ecx"]]}, {"both": [["0x100a36e0", "add esp, 0x3c", "0x10091442"], ["0x100a36e3", "ret 8", "0x10091445"]]}]]]}, {"address": "0x100a36f0", "recomp": "0x10091450", "name": "TglImpl::CameraImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a3700", "recomp": "0x10091460", "name": "TglImpl::CameraImpl::SetTransformation", "matching": 0.3541666666666667, "diff": [["@@ -0x100a3700,47 +0x10091460,49 @@", [{"orig": [["0x100a3700", "mov edx, dword ptr [esp + 4]"]], "recomp": []}, {"both": [["0x100a3704", "sub esp, 0x4c", "0x10091460"]]}, {"orig": [["0x100a3707", "push ebx"]], "recomp": [["0x10091463", "lea edx, [esp + 0xc]"]]}, {"both": [["0x100a3708", "push esi", "0x10091467"], ["0x100a3709", "push edi", "0x10091468"]]}, {"orig": [["0x100a370a", "mov esi, dword ptr [ecx + 4]"], ["0x100a370d", "lea ecx, [esp + 0x18]"], ["0x100a3711", "mov eax, dword ptr [edx]"], ["0x100a3713", "mov ebx, dword ptr [edx + 4]"], ["0x100a3716", "mov edi, dword ptr [edx + 8]"], ["0x100a3719", "mov dword ptr [ecx], eax"], ["0x100a371b", "mov eax, dword ptr [edx + 0xc]"], ["0x100a371e", "mov dword ptr [ecx + 4], ebx"], ["0x100a3721", "mov dword ptr [ecx + 8], edi"]], "recomp": [["0x10091469", "mov esi, ecx"], ["0x1009146b", "mov ecx, dword ptr [esp + 0x58]"], ["0x1009146f", "mov eax, dword ptr [ecx]"], ["0x10091471", "mov edi, dword ptr [ecx + 4]"], ["0x10091474", "mov dword ptr [edx], eax"], ["0x10091476", "add edx, 0x10"], ["0x10091479", "mov eax, dword ptr [ecx + 8]"]]}, {"both": [["0x100a3724", "add ecx, 0x10", "0x1009147c"]]}, {"orig": [["0x100a3727", "add edx, 0x10"], ["0x100a372a", "mov dword ptr [ecx - 4], eax"], ["0x100a372d", "lea eax, [esp + 0x58]"], ["0x100a3731", "cmp ecx, eax"]], "recomp": [["0x1009147f", "mov dword ptr [edx - 0xc], edi"], ["0x10091482", "mov edi, dword ptr [ecx - 4]"], ["0x10091485", "mov dword ptr [edx - 8], eax"], ["0x10091488", "lea eax, [esp + 0x54]"], ["0x1009148c", "mov dword ptr [edx - 4], edi"], ["0x1009148f", "cmp edx, eax"]]}, {"both": [["0x100a3733", "jb -0x24", "0x10091491"]]}, {"orig": [["0x100a3735", "mov ebx, dword ptr [esi]"], ["0x100a3737", "lea eax, [esp + 0xc]"]], "recomp": [["0x10091493", "mov eax, dword ptr [esi + 4]"], ["0x10091496", "lea ecx, [esp + 8]"], ["0x1009149a", "push ecx"], ["0x1009149b", "push 0"]]}, {"both": [["0x100a373b", "push eax", "0x1009149d"]]}, {"orig": [], "recomp": [["0x1009149e", "mov edi, dword ptr [eax]"], ["0x100914a0", "call dword ptr [edi + 0x60]"], ["0x100914a3", "mov eax, dword ptr [esi + 4]"], ["0x100914a6", "lea ecx, [esp + 0x14]"], ["0x100914aa", "push ecx"]]}, {"both": [["0x100a373c", "push 0", "0x100914ab"]]}, {"orig": [["0x100a373e", "mov edi, dword ptr [ebx + 0x60]"], ["0x100a3741", "push esi"], ["0x100a3742", "call edi"], ["0x100a3744", "lea eax, [esp + 0x18]"]], "recomp": []}, {"both": [["0x100a3748", "push eax", "0x100914ad"]]}, {"orig": [], "recomp": [["0x100914ae", "mov edi, dword ptr [eax]"], ["0x100914b0", "call dword ptr [edi + 0x38]"], ["0x100914b3", "mov edi, eax"], ["0x100914b5", "lea ecx, [esp + 8]"], ["0x100914b9", "mov eax, dword ptr [esi + 4]"], ["0x100914bc", "push ecx"], ["0x100914bd", "mov esi, dword ptr [eax]"]]}, {"both": [["0x100a3749", "push 0", "0x100914bf"]]}, {"orig": [["0x100a374b", "push esi"], ["0x100a374c", "call dword ptr [ebx + 0x38]"], ["0x100a374f", "mov ebx, eax"], ["0x100a3751", "lea eax, [esp + 0xc]"]], "recomp": []}, {"both": [["0x100a3755", "push eax", "0x100914c1"]]}, {"orig": [["0x100a3756", "push 0"], ["0x100a3758", "push esi"], ["0x100a3759", "call edi"]], "recomp": [["0x100914c2", "call dword ptr [esi + 0x60]"]]}, {"both": [["0x100a375b", "mov eax, 1", "0x100914c5"]]}, {"orig": [["0x100a3760", "test ebx, ebx"]], "recomp": [["0x100914ca", "test edi, edi"]]}, {"both": [["0x100a3762", "jge 0x2", "0x100914cc"], ["0x100a3764", "xor eax, eax", "0x100914ce"], ["0x100a3766", "pop edi", "0x100914d0"], ["0x100a3767", "pop esi", "0x100914d1"]]}, {"orig": [["0x100a3768", "pop ebx"]], "recomp": []}, {"both": [["0x100a3769", "add esp, 0x4c", "0x100914d2"], ["0x100a376c", "ret 4", "0x100914d5"]]}]]]}, {"address": "0x100a3770", "recomp": "0x100914e0", "name": "TglImpl::LightImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a3780", "recomp": "0x100914f0", "name": "TglImpl::LightImpl::SetTransformation", "matching": 0.45161290322580644, "diff": [["@@ -0x100a3780,31 +0x100914f0,31 @@", [{"both": [["0x100a3780", "sub esp, 0x40", "0x100914f0"]]}, {"orig": [["0x100a3783", "mov edx, dword ptr [ecx + 4]"], ["0x100a3786", "mov ecx, dword ptr [esp + 0x44]"]], "recomp": [["0x100914f3", "lea edx, [esp]"]]}, {"both": [["0x100a378a", "push esi", "0x100914f7"]]}, {"orig": [["0x100a378b", "lea esi, [esp + 4]"], ["0x100a378f", "mov eax, dword ptr [ecx]"]], "recomp": [["0x100914f8", "mov esi, dword ptr [esp + 0x48]"], ["0x100914fc", "mov eax, dword ptr [esi]"], ["0x100914fe", "add edx, 0x10"]]}, {"both": [["0x100a3791", "add esi, 0x10", "0x10091501"]]}, {"orig": [["0x100a3794", "add ecx, 0x10"], ["0x100a3797", "mov dword ptr [esi - 0x10], eax"], ["0x100a379a", "mov eax, dword ptr [ecx - 0xc]"], ["0x100a379d", "mov dword ptr [esi - 0xc], eax"], ["0x100a37a0", "mov eax, dword ptr [ecx - 8]"], ["0x100a37a3", "mov dword ptr [esi - 8], eax"], ["0x100a37a6", "mov eax, dword ptr [ecx - 4]"], ["0x100a37a9", "mov dword ptr [esi - 4], eax"]], "recomp": [["0x10091504", "mov dword ptr [edx - 0x10], eax"], ["0x10091507", "mov eax, dword ptr [esi - 0xc]"], ["0x1009150a", "mov dword ptr [edx - 0xc], eax"], ["0x1009150d", "mov eax, dword ptr [esi - 8]"], ["0x10091510", "mov dword ptr [edx - 8], eax"], ["0x10091513", "mov eax, dword ptr [esi - 4]"], ["0x10091516", "mov dword ptr [edx - 4], eax"]]}, {"both": [["0x100a37ac", "lea eax, [esp + 0x44]", "0x10091519"]]}, {"orig": [["0x100a37b0", "cmp esi, eax"]], "recomp": [["0x1009151d", "cmp edx, eax"]]}, {"both": [["0x100a37b2", "jb -0x25", "0x1009151f"]]}, {"orig": [["0x100a37b4", "lea eax, [esp + 4]"], ["0x100a37b8", "mov esi, dword ptr [edx]"]], "recomp": [["0x10091521", "mov eax, dword ptr [ecx + 4]"], ["0x10091524", "lea ecx, [esp + 4]"], ["0x10091528", "push ecx"], ["0x10091529", "push 0"]]}, {"both": [["0x100a37ba", "push eax", "0x1009152b"]]}, {"orig": [["0x100a37bb", "push 0"], ["0x100a37bd", "push edx"]], "recomp": [["0x1009152c", "mov esi, dword ptr [eax]"]]}, {"both": [["0x100a37be", "call dword ptr [esi + 0x38]", "0x1009152e"], ["0x100a37c1", "test eax, eax", "0x10091531"], ["0x100a37c3", "mov eax, 1", "0x10091533"], ["0x100a37c8", "jge 0x2", "0x10091538"], ["0x100a37ca", "xor eax, eax", "0x1009153a"], ["0x100a37cc", "pop esi", "0x1009153c"], ["0x100a37cd", "add esp, 0x40", "0x1009153d"], ["0x100a37d0", "ret 4", "0x10091540"]]}]]]}, {"address": "0x100a37e0", "recomp": "0x10091550", "name": "TglImpl::LightImpl::SetColor", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a37e0,14 +0x10091550,14 @@", [{"both": [["0x100a37e0", "sub esp, 8", "0x10091550"], ["0x100a37e3", "mov eax, dword ptr [ecx + 4]", "0x10091553"]]}, {"orig": [["0x100a37e6", "lea ecx, [esp]"], ["0x100a37ea", "push ecx"]], "recomp": [["0x10091556", "lea edx, [esp]"], ["0x1009155a", "push edx"]]}, {"both": [["0x100a37eb", "push eax", "0x1009155b"], ["0x100a37ec", "mov eax, dword ptr [eax]", "0x1009155c"], ["0x100a37ee", "call dword ptr [eax + 0x54]", "0x1009155e"], ["0x100a37f1", "lea ecx, [esp + 4]", "0x10091561"], ["0x100a37f5", "mov edx, dword ptr [esp]", "0x10091565"], ["0x100a37f9", "push ecx", "0x10091569"], ["0x100a37fa", "push 0", "0x1009156a"], ["0x100a37fc", "push edx", "0x1009156c"], ["0x100a37fd", "mov eax, dword ptr [edx]", "0x1009156d"], ["0x100a37ff", "call dword ptr [eax + 0x10]", "0x1009156f"]]}]]]}, {"address": "0x100a3830", "recomp": "0x100915a0", "name": "TglImpl::MeshBuilderImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a3840", "recomp": "0x100915b0", "name": "TglImpl::MeshBuilderImpl::CreateMesh", "matching": 0.6681318681318681, "diff": [["@@ -0x100a3840,170 +0x100915b0,171 @@", [{"both": [["0x100a3840", "mov eax, dword ptr fs:[0]", "0x100915b0"], ["0x100a3846", "push ebp", "0x100915b6"], ["0x100a3847", "mov ebp, esp", "0x100915b7"], ["0x100a3849", "push -1", "0x100915b9"], ["0x100a384b", "push <OFFSET1>", "0x100915bb"], ["0x100a3850", "push eax", "0x100915c0"], ["0x100a3851", "mov dword ptr fs:[0], esp", "0x100915c1"]]}, {"orig": [["0x100a3858", "sub esp, 0x24"]], "recomp": [["0x100915c8", "sub esp, 0x20"]]}, {"both": [["0x100a385b", "push ebx", "0x100915cb"], ["0x100a385c", "push esi", "0x100915cc"], ["0x100a385d", "push edi", "0x100915cd"], ["0x100a385e", "push 8", "0x100915ce"], ["0x100a3860", "mov edi, ecx", "0x100915d0"], ["0x100a3862", "call ??2@YAPAXI@Z (FUNCTION)", "0x100915d2"]]}, {"orig": [["0x100a3867", "mov dword ptr [ebp - 0x18], eax"]], "recomp": [["0x100915d7", "mov dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100a386a", "add esp, 4", "0x100915da"], ["0x100a386d", "mov esi, eax", "0x100915dd"], ["0x100a386f", "xor eax, eax", "0x100915df"], ["0x100a3871", "mov dword ptr [ebp - 4], eax", "0x100915e1"], ["0x100a3874", "test esi, esi", "0x100915e4"], ["0x100a3876", "je 0x35", "0x100915e6"], ["0x100a3878", "mov byte ptr [ebp - 4], 1", "0x100915e8"], ["0x100a387c", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)", "0x100915ec"], ["0x100a3882", "mov dword ptr [ebp - 0x10], esi", "0x100915f2"], ["0x100a3885", "mov byte ptr [ebp - 4], 2", "0x100915f5"], ["0x100a3889", "mov dword ptr [esi], Tgl::Mesh::`vftable' (VTABLE)", "0x100915f9"], ["0x100a388f", "mov byte ptr [ebp - 4], al", "0x100915ff"], ["0x100a3892", "mov dword ptr [esi + 4], eax", "0x10091602"], ["0x100a3895", "mov dword ptr [esi], TglImpl::MeshImpl::`vftable' (VTABLE)", "0x10091605"], ["0x100a389b", "jmp 0x17", "0x1009160b"]]}, {"orig": [["0x100a389d", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": [["0x1009160d", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a38a0", "jmp Tgl::Object::~Object (FUNCTION)", "0x10091610"]]}, {"orig": [["0x100a38a5", "mov ecx, dword ptr [ebp - 0x18]"]], "recomp": [["0x10091615", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a38a8", "jmp Tgl::Mesh::~Mesh (FUNCTION)", "0x10091618"], ["0x100a38ad", "mov dword ptr [ebp - 0x10], 0", "0x1009161d"], ["0x100a38b4", "mov dword ptr [ebp - 4], 0xffffffff", "0x10091624"], ["0x100a38bb", "mov eax, dword ptr [ebp - 0x10]", "0x1009162b"], ["0x100a38be", "mov ecx, dword ptr [edi + 4]", "0x1009162e"]]}, {"orig": [["0x100a38c1", "mov dword ptr [ebp - 0x28], eax"], ["0x100a38c4", "mov dword ptr [ebp - 0x20], ecx"]], "recomp": [["0x10091631", "mov dword ptr [ebp - 0x24], eax"], ["0x10091634", "mov dword ptr [ebp - 0x1c], ecx"]]}, {"both": [["0x100a38c7", "mov eax, dword ptr [ebp + 8]", "0x10091637"]]}, {"orig": [["0x100a38ca", "mov dword ptr [ebp - 0x2c], 0"]], "recomp": [["0x1009163a", "mov dword ptr [ebp - 0x28], 0"]]}, {"both": [["0x100a38d1", "lea esi, [eax + eax*2]", "0x10091641"]]}, {"orig": [["0x100a38d4", "mov dword ptr [ebp - 0x24], 0"]], "recomp": [["0x10091644", "mov dword ptr [ebp - 0x20], 0"]]}, {"both": [["0x100a38db", "lea eax, [esi*4]", "0x1009164b"], ["0x100a38e2", "push eax", "0x10091652"], ["0x100a38e3", "call ??2@YAPAXI@Z (FUNCTION)", "0x10091653"], ["0x100a38e8", "add esp, 4", "0x10091658"]]}, {"orig": [["0x100a38eb", "mov dword ptr [ebp - 0x1c], eax"]], "recomp": [["0x1009165b", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100a38ee", "mov eax, dword ptr [ebp + 0xc]", "0x1009165e"], ["0x100a38f1", "shl eax, 2", "0x10091661"], ["0x100a38f4", "lea ebx, [eax + eax*8]", "0x10091664"], ["0x100a38f7", "push ebx", "0x10091667"], ["0x100a38f8", "call ??2@YAPAXI@Z (FUNCTION)", "0x10091668"], ["0x100a38fd", "add esp, 4", "0x1009166d"], ["0x100a3900", "mov edi, eax", "0x10091670"], ["0x100a3902", "mov ecx, ebx", "0x10091672"]]}, {"orig": [["0x100a3904", "mov dword ptr [ebp - 0x18], eax"]], "recomp": [["0x10091674", "mov dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100a3907", "shr ecx, 2", "0x10091677"], ["0x100a390a", "xor eax, eax", "0x1009167a"], ["0x100a390c", "rep stosd dword ptr es:[edi], eax", "0x1009167c"], ["0x100a390e", "mov ecx, ebx", "0x1009167e"], ["0x100a3910", "push 8", "0x10091680"], ["0x100a3912", "and ecx, 3", "0x10091682"], ["0x100a3915", "rep stosb byte ptr es:[edi], al", "0x10091685"], ["0x100a3917", "call ??2@YAPAXI@Z (FUNCTION)", "0x10091687"], ["0x100a391c", "add esp, 4", "0x1009168c"], ["0x100a391f", "mov ecx, dword ptr [ebp - 0x10]", "0x1009168f"]]}, {"orig": [["0x100a3922", "mov edx, dword ptr [ebp - 0x20]"]], "recomp": [["0x10091692", "mov edx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100a3925", "test esi, esi", "0x10091695"], ["0x100a3927", "mov dword ptr [ecx + 4], eax", "0x10091697"], ["0x100a392a", "mov dword ptr [eax], edx", "0x1009169a"], ["0x100a392c", "jle 0xa1", "0x1009169c"]]}, {"orig": [["0x100a3932", "mov edx, dword ptr [ebp - 0x1c]"], ["0x100a3935", "mov ecx, dword ptr [ebp - 0x18]"], ["0x100a3938", "mov ebx, dword ptr [ebp + 0x20]"], ["0x100a393b", "mov edi, dword ptr [ebp + 0x1c]"], ["0x100a393e", "add edi, 2"], ["0x100a3941", "mov dword ptr [ebp - 0x30], esi"], ["0x100a3944", "test byte ptr [edi + 1], 0x80"]], "recomp": [["0x100916a2", "mov ebx, dword ptr [ebp - 0x18]"], ["0x100916a5", "mov edi, dword ptr [ebp - 0x14]"], ["0x100916a8", "mov edx, dword ptr [ebp + 0x20]"], ["0x100916ab", "mov ecx, dword ptr [ebp + 0x1c]"], ["0x100916ae", "add ecx, 2"], ["0x100916b1", "mov dword ptr [ebp - 0x2c], esi"], ["0x100916b4", "test byte ptr [ecx + 1], 0x80"]]}, {"both": [["0x100a3948", "je 0x6f", "0x100916b8"], ["0x100a394a", "xor eax, eax", "0x100916ba"]]}, {"orig": [["0x100a394c", "mov esi, dword ptr [ebp + 0x10]"], ["0x100a394f", "mov ax, word ptr [edi - 2]"], ["0x100a3953", "lea eax, [eax + eax*2]"], ["0x100a3956", "lea eax, [esi + eax*4]"]], "recomp": [["0x100916bc", "mov ax, word ptr [ecx - 2]"], ["0x100916c0", "lea esi, [eax + eax*2]"], ["0x100916c3", "mov eax, dword ptr [ebp + 0x10]"], ["0x100916c6", "lea eax, [eax + esi*4]"]]}, {"both": [["0x100a3959", "mov esi, dword ptr [eax]", "0x100916c9"]]}, {"orig": [["0x100a395b", "mov dword ptr [ecx], esi"]], "recomp": [["0x100916cb", "mov dword ptr [edi], esi"]]}, {"both": [["0x100a395d", "mov esi, dword ptr [eax + 4]", "0x100916cd"]]}, {"orig": [["0x100a3960", "mov dword ptr [ecx + 4], esi"], ["0x100a3963", "mov esi, dword ptr [eax + 8]"]], "recomp": [["0x100916d0", "mov dword ptr [edi + 4], esi"], ["0x100916d3", "mov eax, dword ptr [eax + 8]"], ["0x100916d6", "mov dword ptr [edi + 8], eax"]]}, {"both": [["0x100a3966", "xor eax, eax", "0x100916d9"]]}, {"orig": [["0x100a3968", "mov dword ptr [ecx + 8], esi"], ["0x100a396b", "mov ax, word ptr [edi]"], ["0x100a396e", "mov esi, dword ptr [ebp + 0x14]"]], "recomp": [["0x100916db", "mov ax, word ptr [ecx]"]]}, {"both": [["0x100a3971", "and eax, 0x7fff", "0x100916de"]]}, {"orig": [["0x100a3976", "lea eax, [eax + eax*2]"]], "recomp": [["0x100916e3", "lea esi, [eax + eax*2]"], ["0x100916e6", "mov eax, dword ptr [ebp + 0x14]"]]}, {"both": [["0x100a3979", "cmp dword ptr [ebp + 0x20], 0", "0x100916e9"]]}, {"orig": [["0x100a397d", "lea eax, [esi + eax*4]"]], "recomp": [["0x100916ed", "lea eax, [eax + esi*4]"]]}, {"both": [["0x100a3980", "mov esi, dword ptr [eax]", "0x100916f0"]]}, {"orig": [["0x100a3982", "mov dword ptr [ecx + 0xc], esi"]], "recomp": [["0x100916f2", "mov dword ptr [edi + 0xc], esi"]]}, {"both": [["0x100a3985", "mov esi, dword ptr [eax + 4]", "0x100916f5"]]}, {"orig": [["0x100a3988", "mov dword ptr [ecx + 0x10], esi"], ["0x100a398b", "mov esi, dword ptr [eax + 8]"], ["0x100a398e", "mov dword ptr [ecx + 0x14], esi"]], "recomp": [["0x100916f8", "mov dword ptr [edi + 0x10], esi"], ["0x100916fb", "mov eax, dword ptr [eax + 8]"], ["0x100916fe", "mov dword ptr [edi + 0x14], eax"]]}, {"both": [["0x100a3991", "je 0x19", "0x10091701"], ["0x100a3993", "cmp dword ptr [ebp + 0x18], 0", "0x10091703"], ["0x100a3997", "je 0x13", "0x10091707"]]}, {"orig": [["0x100a3999", "mov esi, dword ptr [ebx]"], ["0x100a399b", "mov eax, dword ptr [ebp + 0x18]"], ["0x100a399e", "lea esi, [eax + esi*8]"], ["0x100a39a1", "mov eax, dword ptr [esi]"], ["0x100a39a3", "mov dword ptr [ecx + 0x18], eax"], ["0x100a39a6", "mov eax, dword ptr [esi + 4]"], ["0x100a39a9", "mov dword ptr [ecx + 0x1c], eax"], ["0x100a39ac", "mov eax, dword ptr [ebp - 0x2c]"], ["0x100a39af", "add ecx, 0x24"], ["0x100a39b2", "mov dword ptr [edx], eax"], ["0x100a39b4", "inc dword ptr [ebp - 0x2c]"]], "recomp": [["0x10091709", "mov eax, dword ptr [edx]"], ["0x1009170b", "mov esi, dword ptr [ebp + 0x18]"], ["0x1009170e", "lea eax, [esi + eax*8]"], ["0x10091711", "mov esi, dword ptr [eax]"], ["0x10091713", "mov dword ptr [edi + 0x18], esi"], ["0x10091716", "mov eax, dword ptr [eax + 4]"], ["0x10091719", "mov dword ptr [edi + 0x1c], eax"], ["0x1009171c", "mov eax, dword ptr [ebp - 0x28]"], ["0x1009171f", "add edi, 0x24"], ["0x10091722", "mov dword ptr [ebx], eax"], ["0x10091724", "inc dword ptr [ebp - 0x28]"]]}, {"both": [["0x100a39b7", "jmp 0x8", "0x10091727"], ["0x100a39b9", "xor eax, eax", "0x10091729"]]}, {"orig": [["0x100a39bb", "mov ax, word ptr [edi - 2]"], ["0x100a39bf", "mov dword ptr [edx], eax"]], "recomp": [["0x1009172b", "mov ax, word ptr [ecx - 2]"], ["0x1009172f", "mov dword ptr [ebx], eax"], ["0x10091731", "add ebx, 4"]]}, {"both": [["0x100a39c1", "add edx, 4", "0x10091734"]]}, {"orig": [["0x100a39c4", "add ebx, 4"], ["0x100a39c7", "add edi, 4"], ["0x100a39ca", "dec dword ptr [ebp - 0x30]"]], "recomp": [["0x10091737", "add ecx, 4"], ["0x1009173a", "dec dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100a39cd", "jne -0x8f", "0x1009173d"]]}, {"orig": [["0x100a39d3", "mov ecx, dword ptr [ebp - 0x20]"], ["0x100a39d6", "mov ebx, dword ptr [ebp + 0xc]"], ["0x100a39d9", "lea eax, [ebp - 0x24]"]], "recomp": [["0x10091743", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x10091746", "lea eax, [ebp - 0x20]"], ["0x10091749", "push eax"]]}, {"both": [["0x100a39dc", "mov edx, dword ptr [ebp + 8]", "0x1009174a"], ["0x100a39df", "mov esi, dword ptr [ecx]", "0x1009174d"]]}, {"orig": [["0x100a39e1", "push eax"], ["0x100a39e2", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x100a39e5", "mov eax, dword ptr [ebp - 0x20]"]], "recomp": [["0x1009174f", "mov eax, dword ptr [ebp + 0xc]"], ["0x10091752", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a39e8", "push ecx", "0x10091755"], ["0x100a39e9", "push 3", "0x10091756"], ["0x100a39eb", "push edx", "0x10091758"]]}, {"orig": [], "recomp": [["0x10091759", "mov ecx, dword ptr [ebp - 0x1c]"], ["0x1009175c", "push eax"]]}, {"both": [["0x100a39ec", "mov edi, 1", "0x1009175d"]]}, {"orig": [["0x100a39f1", "push ebx"], ["0x100a39f2", "push eax"]], "recomp": [["0x10091762", "push ecx"]]}, {"both": [["0x100a39f3", "call dword ptr [esi + 0x38]", "0x10091763"], ["0x100a39f6", "test eax, eax", "0x10091766"], ["0x100a39f8", "jge 0x2", "0x10091768"], ["0x100a39fa", "xor edi, edi", "0x1009176a"], ["0x100a39fc", "cmp edi, 1", "0x1009176c"]]}, {"orig": [["0x100a39ff", "jne 0x2e"], ["0x100a3a01", "mov edx, dword ptr [ebp - 0x24]"]], "recomp": [["0x1009176f", "jne 0x31"], ["0x10091771", "mov eax, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100a3a04", "mov ecx, dword ptr [ebp - 0x10]", "0x10091774"]]}, {"orig": [["0x100a3a07", "mov eax, dword ptr [ecx + 4]"], ["0x100a3a0a", "mov dword ptr [eax + 4], edx"], ["0x100a3a0d", "mov edx, dword ptr [ebp - 0x18]"], ["0x100a3a10", "push edx"], ["0x100a3a11", "mov ecx, dword ptr [ebp - 0x24]"], ["0x100a3a14", "push ebx"], ["0x100a3a15", "mov eax, dword ptr [ebp - 0x20]"]], "recomp": [["0x10091777", "mov edx, dword ptr [ecx + 4]"], ["0x1009177a", "mov ecx, dword ptr [ebp + 0xc]"], ["0x1009177d", "mov dword ptr [edx + 4], eax"], ["0x10091780", "mov eax, dword ptr [ebp - 0x14]"], ["0x10091783", "push eax"], ["0x10091784", "mov edx, dword ptr [ebp - 0x20]"], ["0x10091787", "push ecx"], ["0x10091788", "mov eax, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100a3a18", "push 0", "0x1009178b"], ["0x100a3a1a", "mov edi, 1", "0x1009178d"]]}, {"orig": [["0x100a3a1f", "push ecx"]], "recomp": [["0x10091792", "push edx"]]}, {"both": [["0x100a3a20", "push eax", "0x10091793"], ["0x100a3a21", "call dword ptr [esi + 0x3c]", "0x10091794"], ["0x100a3a24", "test eax, eax", "0x10091797"], ["0x100a3a26", "jge 0x2", "0x10091799"], ["0x100a3a28", "xor edi, edi", "0x1009179b"], ["0x100a3a2a", "cmp edi, 1", "0x1009179d"], ["0x100a3a2d", "je 0x1f", "0x100917a0"], ["0x100a3a2f", "mov ecx, dword ptr [ebp - 0x10]", "0x100917a2"], ["0x100a3a32", "mov eax, dword ptr [ecx + 4]", "0x100917a5"], ["0x100a3a35", "test eax, eax", "0x100917a8"]]}]], ["@@ -0x100a3a56,47 +0x100917c9,47 @@", [{"both": [["0x100a3a56", "mov ecx, dword ptr [eax]", "0x100917c9"], ["0x100a3a58", "mov edx, dword ptr [eax + 4]", "0x100917cb"], ["0x100a3a5b", "push edx", "0x100917ce"], ["0x100a3a5c", "mov edi, 1", "0x100917cf"], ["0x100a3a61", "push ecx", "0x100917d4"], ["0x100a3a62", "mov eax, dword ptr [ecx]", "0x100917d5"], ["0x100a3a64", "call dword ptr [eax + 0x48]", "0x100917d7"], ["0x100a3a67", "test eax, eax", "0x100917da"], ["0x100a3a69", "jge 0x2", "0x100917dc"], ["0x100a3a6b", "xor edi, edi", "0x100917de"]]}, {"orig": [["0x100a3a6d", "cmp dword ptr [ebp - 0x1c], 0"]], "recomp": [["0x100917e0", "cmp dword ptr [ebp - 0x18], 0"]]}, {"both": [["0x100a3a71", "je 0xc", "0x100917e4"]]}, {"orig": [["0x100a3a73", "mov eax, dword ptr [ebp - 0x1c]"]], "recomp": [["0x100917e6", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a3a76", "push eax", "0x100917e9"], ["0x100a3a77", "call ??3@YAXPAX@Z (FUNCTION)", "0x100917ea"], ["0x100a3a7c", "add esp, 4", "0x100917ef"]]}, {"orig": [["0x100a3a7f", "cmp dword ptr [ebp - 0x18], 0"]], "recomp": [["0x100917f2", "cmp dword ptr [ebp - 0x14], 0"]]}, {"both": [["0x100a3a83", "je 0xc", "0x100917f6"]]}, {"orig": [["0x100a3a85", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x100917f8", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a3a88", "push eax", "0x100917fb"], ["0x100a3a89", "call ??3@YAXPAX@Z (FUNCTION)", "0x100917fc"], ["0x100a3a8e", "add esp, 4", "0x10091801"], ["0x100a3a91", "test edi, edi", "0x10091804"], ["0x100a3a93", "jne 0x16", "0x10091806"], ["0x100a3a95", "cmp dword ptr [ebp - 0x10], 0", "0x10091808"], ["0x100a3a99", "je 0x9", "0x1009180c"], ["0x100a3a9b", "push 1", "0x1009180e"], ["0x100a3a9d", "mov ecx, dword ptr [ebp - 0x10]", "0x10091810"], ["0x100a3aa0", "mov eax, dword ptr [ecx]", "0x10091813"], ["0x100a3aa2", "call dword ptr [eax]", "0x10091815"]]}, {"orig": [["0x100a3aa4", "mov dword ptr [ebp - 0x28], 0"], ["0x100a3aab", "mov eax, dword ptr [ebp - 0x28]"]], "recomp": [["0x10091817", "mov dword ptr [ebp - 0x24], 0"], ["0x1009181e", "mov eax, dword ptr [ebp - 0x24]"]]}, {"both": [["0x100a3aae", "mov ecx, dword ptr [ebp - 0xc]", "0x10091821"], ["0x100a3ab1", "mov dword ptr fs:[0], ecx", "0x10091824"], ["0x100a3ab8", "pop edi", "0x1009182b"], ["0x100a3ab9", "pop esi", "0x1009182c"], ["0x100a3aba", "pop ebx", "0x1009182d"], ["0x100a3abb", "mov esp, ebp", "0x1009182e"], ["0x100a3abd", "pop ebp", "0x10091830"], ["0x100a3abe", "ret 0x20", "0x10091831"], ["0x100a3ac1", "mov eax, <OFFSET7>", "0x10091834"], ["0x100a3ac6", "jmp ___CxxFrameHandler (FUNCTION)", "0x10091839"]]}, {"orig": [["0x100a3acb", "mov eax, dword ptr [ebp - 0x18]"]], "recomp": [["0x1009183e", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a3ace", "push eax", "0x10091841"], ["0x100a3acf", "call ??3@YAXPAX@Z (FUNCTION)", "0x10091842"], ["0x100a3ad4", "add esp, 4", "0x10091847"], ["0x100a3ad7", "ret ", "0x1009184a"]]}]]]}, {"address": "0x100a3ae0", "recomp": "0x100919a0", "name": "TglImpl::MeshBuilderImpl::GetBoundingBox", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a3ae0,14 +0x100919a0,14 @@", [{"both": [["0x100a3ae0", "sub esp, 0x18", "0x100919a0"], ["0x100a3ae3", "mov eax, dword ptr [ecx + 4]", "0x100919a3"]]}, {"orig": [["0x100a3ae6", "lea ecx, [esp]"], ["0x100a3aea", "push ecx"]], "recomp": [["0x100919a6", "lea edx, [esp]"], ["0x100919aa", "push edx"]]}, {"both": [["0x100a3aeb", "push eax", "0x100919ab"], ["0x100a3aec", "mov eax, dword ptr [eax]", "0x100919ac"], ["0x100a3aee", "call dword ptr [eax + 0x34]", "0x100919ae"], ["0x100a3af1", "test eax, eax", "0x100919b1"], ["0x100a3af3", "mov eax, 1", "0x100919b3"], ["0x100a3af8", "jge 0x2", "0x100919b8"], ["0x100a3afa", "xor eax, eax", "0x100919ba"], ["0x100a3afc", "cmp eax, 1", "0x100919bc"], ["0x100a3aff", "jne 0x30", "0x100919bf"], ["0x100a3b01", "mov edx, dword ptr [esp + 0x1c]", "0x100919c1"]]}]]]}, {"address": "0x100a3b40", "recomp": "0x10091a00", "name": "TglImpl::MeshBuilderImpl::Clone", "matching": 0.782608695652174, "diff": [["@@ -0x100a3b51,58 +0x10091a11,58 @@", [{"both": [["0x100a3b51", "mov dword ptr fs:[0], esp", "0x10091a11"], ["0x100a3b58", "sub esp, 4", "0x10091a18"], ["0x100a3b5b", "push ebx", "0x10091a1b"], ["0x100a3b5c", "push esi", "0x10091a1c"], ["0x100a3b5d", "push edi", "0x10091a1d"], ["0x100a3b5e", "mov ebx, ecx", "0x10091a1e"], ["0x100a3b60", "push 8", "0x10091a20"], ["0x100a3b62", "call ??2@YAPAXI@Z (FUNCTION)", "0x10091a22"], ["0x100a3b67", "mov dword ptr [ebp - 0x10], eax", "0x10091a27"], ["0x100a3b6a", "add esp, 4", "0x10091a2a"]]}, {"orig": [["0x100a3b6d", "mov edi, eax"]], "recomp": [["0x10091a2d", "mov esi, eax"]]}, {"both": [["0x100a3b6f", "xor eax, eax", "0x10091a2f"], ["0x100a3b71", "mov dword ptr [ebp - 4], eax", "0x10091a31"]]}, {"orig": [["0x100a3b74", "test edi, edi"]], "recomp": [["0x10091a34", "test esi, esi"]]}, {"both": [["0x100a3b76", "je 0x34", "0x10091a36"], ["0x100a3b78", "mov byte ptr [ebp - 4], 1", "0x10091a38"]]}, {"orig": [["0x100a3b7c", "mov esi, edi"], ["0x100a3b7e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x10091a3c", "mov edi, esi"], ["0x10091a3e", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a3b84", "mov byte ptr [ebp - 4], 2", "0x10091a44"]]}, {"orig": [["0x100a3b88", "mov dword ptr [edi], Tgl::MeshBuilder::`vftable' (VTABLE)"]], "recomp": [["0x10091a48", "mov dword ptr [esi], Tgl::MeshBuilder::`vftable' (VTABLE)"]]}, {"both": [["0x100a3b8e", "mov byte ptr [ebp - 4], al", "0x10091a4e"]]}, {"orig": [["0x100a3b91", "mov dword ptr [edi + 4], eax"], ["0x100a3b94", "mov dword ptr [edi], TglImpl::MeshBuilderImpl::`vftable' (VTABLE)"]], "recomp": [["0x10091a51", "mov dword ptr [esi + 4], eax"], ["0x10091a54", "mov dword ptr [esi], TglImpl::MeshBuilderImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a3b9a", "jmp 0x12", "0x10091a5a"], ["0x100a3b9c", "mov ecx, dword ptr [ebp - 0x10]", "0x10091a5c"], ["0x100a3b9f", "jmp Tgl::Object::~Object (FUNCTION)", "0x10091a5f"], ["0x100a3ba4", "mov ecx, dword ptr [ebp - 0x10]", "0x10091a64"], ["0x100a3ba7", "jmp Tgl::MeshBuilder::~MeshBuilder (FUNCTION)", "0x10091a67"]]}, {"orig": [["0x100a3bac", "xor esi, esi"]], "recomp": [["0x10091a6c", "xor edi, edi"]]}, {"both": [["0x100a3bae", "mov dword ptr [ebp - 4], 0xffffffff", "0x10091a6e"], ["0x100a3bb5", "mov eax, dword ptr [ebx + 4]", "0x10091a75"]]}, {"orig": [["0x100a3bb8", "lea ecx, [esi + 4]"]], "recomp": [["0x10091a78", "lea ecx, [edi + 4]"]]}, {"both": [["0x100a3bbb", "push ecx", "0x10091a7b"]]}, {"orig": [["0x100a3bbc", "push <OFFSET6>"]], "recomp": [["0x10091a7c", "push IID_IDirect3DRMMesh (DATA)"]]}, {"both": [["0x100a3bc1", "push 0", "0x10091a81"], ["0x100a3bc3", "mov ebx, dword ptr [eax]", "0x10091a83"], ["0x100a3bc5", "push eax", "0x10091a85"], ["0x100a3bc6", "call dword ptr [ebx + 0xc]", "0x10091a86"], ["0x100a3bc9", "test eax, eax", "0x10091a89"], ["0x100a3bcb", "jge 0xe", "0x10091a8b"]]}, {"orig": [["0x100a3bcd", "test esi, esi"]], "recomp": [["0x10091a8d", "test edi, edi"]]}, {"both": [["0x100a3bcf", "je 0x8", "0x10091a8f"], ["0x100a3bd1", "push 1", "0x10091a91"]]}, {"orig": [["0x100a3bd3", "mov eax, dword ptr [esi]"], ["0x100a3bd5", "mov ecx, esi"]], "recomp": [["0x10091a93", "mov eax, dword ptr [edi]"], ["0x10091a95", "mov ecx, edi"]]}, {"both": [["0x100a3bd7", "call dword ptr [eax]", "0x10091a97"]]}, {"orig": [["0x100a3bd9", "xor esi, esi"], ["0x100a3bdb", "mov eax, esi"]], "recomp": [["0x10091a99", "xor edi, edi"], ["0x10091a9b", "mov eax, edi"]]}, {"both": [["0x100a3bdd", "mov ecx, dword ptr [ebp - 0xc]", "0x10091a9d"], ["0x100a3be0", "mov dword ptr fs:[0], ecx", "0x10091aa0"], ["0x100a3be7", "pop edi", "0x10091aa7"], ["0x100a3be8", "pop esi", "0x10091aa8"], ["0x100a3be9", "pop ebx", "0x10091aa9"], ["0x100a3bea", "mov esp, ebp", "0x10091aaa"], ["0x100a3bec", "pop ebp", "0x10091aac"], ["0x100a3bed", "ret ", "0x10091aad"], ["0x100a3bee", "mov eax, <OFFSET7>", "0x10091aae"], ["0x100a3bf3", "jmp ___CxxFrameHandler (FUNCTION)", "0x10091ab3"]]}]]]}, {"address": "0x100a3c10", "recomp": "0x10091df0", "name": "TglImpl::TextureImpl::SetTexels", "matching": 0.45161290322580644, "diff": [["@@ -0x100a3c10,31 +0x10091df0,31 @@", [{"both": [["0x100a3c10", "push esi", "0x10091df0"]]}, {"orig": [["0x100a3c11", "push edi"], ["0x100a3c12", "mov edi, dword ptr [ecx + 4]"], ["0x100a3c15", "push edi"], ["0x100a3c16", "mov esi, dword ptr [edi]"], ["0x100a3c18", "call dword ptr [esi + 0x1c]"], ["0x100a3c1b", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100a3c1f", "mov edx, dword ptr [esp + 0x18]"]], "recomp": [["0x10091df1", "mov eax, dword ptr [ecx + 4]"], ["0x10091df4", "mov esi, ecx"], ["0x10091df6", "push eax"], ["0x10091df7", "mov eax, dword ptr [eax]"], ["0x10091df9", "call dword ptr [eax + 0x1c]"], ["0x10091dfc", "mov ecx, dword ptr [esp + 0x14]"], ["0x10091e00", "push 1"], ["0x10091e02", "mov edx, dword ptr [esp + 0x14]"], ["0x10091e06", "push ecx"], ["0x10091e07", "mov ecx, dword ptr [esp + 0x14]"], ["0x10091e0b", "push edx"], ["0x10091e0c", "mov edx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100a3c23", "push ecx", "0x10091e10"], ["0x100a3c24", "push edx", "0x10091e11"]]}, {"orig": [["0x100a3c25", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100a3c29", "mov edx, dword ptr [esp + 0x18]"], ["0x100a3c2d", "push ecx"], ["0x100a3c2e", "push edx"], ["0x100a3c2f", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100a3c33", "push ecx"]], "recomp": []}, {"both": [["0x100a3c34", "mov ecx, eax", "0x10091e12"], ["0x100a3c36", "call TglImpl::TglD3DRMIMAGE::CreateBuffer (FUNCTION)", "0x10091e14"], ["0x100a3c3b", "cmp eax, 1", "0x10091e19"]]}, {"orig": [["0x100a3c3e", "jne 0x13"]], "recomp": [["0x10091e1c", "jne 0x18"], ["0x10091e1e", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100a3c40", "push 0", "0x10091e21"]]}, {"orig": [], "recomp": [["0x10091e23", "mov esi, dword ptr [eax]"]]}, {"both": [["0x100a3c42", "push 1", "0x10091e25"]]}, {"orig": [["0x100a3c44", "push edi"]], "recomp": [["0x10091e27", "push eax"]]}, {"both": [["0x100a3c45", "call dword ptr [esi + 0x38]", "0x10091e28"], ["0x100a3c48", "test eax, eax", "0x10091e2b"], ["0x100a3c4a", "mov eax, 1", "0x10091e2d"], ["0x100a3c4f", "jge 0x2", "0x10091e32"], ["0x100a3c51", "xor eax, eax", "0x10091e34"]]}, {"orig": [["0x100a3c53", "pop edi"]], "recomp": []}, {"both": [["0x100a3c54", "pop esi", "0x10091e36"]]}, {"orig": [["0x100a3c55", "ret 0x14"]], "recomp": [["0x10091e37", "ret 0x10"]]}]]]}, {"address": "0x100a3c60", "recomp": "0x10091e40", "name": "TglImpl::TextureImpl::FillRowsOfTexture", "matching": 1.0, "diff": []}, {"address": "0x100a3c90", "recomp": "0x10091e70", "name": "TglImpl::TextureImpl::Changed", "matching": 1.0, "diff": []}, {"address": "0x100a3cc0", "recomp": "0x10091ea0", "name": "TglImpl::TextureImpl::GetBufferAndPalette", "matching": 0.5684210526315789, "diff": [["@@ -0x100a3cc9,40 +0x10091ea9,43 @@", [{"both": [["0x100a3cc9", "call dword ptr [ebx + 0x1c]", "0x10091ea9"], ["0x100a3ccc", "mov ebx, dword ptr [eax]", "0x10091eac"], ["0x100a3cce", "mov ecx, dword ptr [esp + 0x10]", "0x10091eae"], ["0x100a3cd2", "mov dword ptr [ecx], ebx", "0x10091eb2"], ["0x100a3cd4", "mov ebx, dword ptr [esp + 0x14]", "0x10091eb4"], ["0x100a3cd8", "mov edx, dword ptr [eax + 4]", "0x10091eb8"], ["0x100a3cdb", "mov ecx, dword ptr [esp + 0x18]", "0x10091ebb"], ["0x100a3cdf", "mov dword ptr [ebx], edx", "0x10091ebf"], ["0x100a3ce1", "mov ebx, dword ptr [esp + 0x1c]", "0x10091ec1"], ["0x100a3ce5", "mov esi, dword ptr [eax + 0x10]", "0x10091ec5"]]}, {"orig": [["0x100a3ce8", "mov edi, dword ptr [esp + 0x20]"]], "recomp": []}, {"both": [["0x100a3cec", "mov dword ptr [ecx], esi", "0x10091ec8"]]}, {"orig": [["0x100a3cee", "xor ecx, ecx"]], "recomp": [["0x10091eca", "mov ecx, dword ptr [esp + 0x20]"]]}, {"both": [["0x100a3cf0", "mov edx, dword ptr [eax + 0x1c]", "0x10091ece"], ["0x100a3cf3", "mov dword ptr [ebx], edx", "0x10091ed1"], ["0x100a3cf5", "xor edx, edx", "0x10091ed3"], ["0x100a3cf7", "mov esi, dword ptr [eax + 0x34]", "0x10091ed5"]]}, {"orig": [["0x100a3cfa", "mov dword ptr [edi], esi"], ["0x100a3cfc", "test esi, esi"], ["0x100a3cfe", "jle 0x2c"], ["0x100a3d00", "mov esi, dword ptr [esp + 0x24]"], ["0x100a3d04", "mov ebx, dword ptr [eax + 0x38]"], ["0x100a3d07", "add esi, 3"], ["0x100a3d0a", "mov bl, byte ptr [ebx + edx]"], ["0x100a3d0d", "mov byte ptr [esi - 3], bl"], ["0x100a3d10", "mov ebx, dword ptr [eax + 0x38]"]], "recomp": [["0x10091ed8", "mov dword ptr [ecx], esi"], ["0x10091eda", "xor esi, esi"], ["0x10091edc", "cmp dword ptr [eax + 0x34], edx"], ["0x10091edf", "jle 0x35"], ["0x10091ee1", "mov ecx, dword ptr [esp + 0x24]"], ["0x10091ee5", "mov edi, dword ptr [eax + 0x38]"]]}, {"both": [["0x100a3d13", "add edx, 4", "0x10091ee8"]]}, {"orig": [["0x100a3d16", "inc ecx"], ["0x100a3d17", "mov bl, byte ptr [ebx + edx - 3]"], ["0x100a3d1b", "mov byte ptr [esi - 2], bl"], ["0x100a3d1e", "mov ebx, dword ptr [eax + 0x38]"], ["0x100a3d21", "mov bl, byte ptr [ebx + edx - 2]"], ["0x100a3d25", "mov byte ptr [esi - 1], bl"], ["0x100a3d28", "cmp dword ptr [edi], ecx"], ["0x100a3d2a", "jg -0x28"]], "recomp": [["0x10091eeb", "mov bl, byte ptr [edi + edx - 4]"], ["0x10091eef", "mov edi, dword ptr [ecx]"], ["0x10091ef1", "add ecx, 4"], ["0x10091ef4", "inc esi"], ["0x10091ef5", "mov byte ptr [edi], bl"], ["0x10091ef7", "mov edi, dword ptr [eax + 0x38]"], ["0x10091efa", "mov bl, byte ptr [edi + edx - 3]"], ["0x10091efe", "mov edi, dword ptr [ecx - 4]"], ["0x10091f01", "mov byte ptr [edi + 1], bl"], ["0x10091f04", "mov edi, dword ptr [eax + 0x38]"], ["0x10091f07", "mov bl, byte ptr [edi + edx - 2]"], ["0x10091f0b", "mov edi, dword ptr [ecx - 4]"], ["0x10091f0e", "mov byte ptr [edi + 2], bl"], ["0x10091f11", "cmp dword ptr [eax + 0x34], esi"], ["0x10091f14", "jg -0x31"]]}, {"both": [["0x100a3d2c", "mov eax, 1", "0x10091f16"], ["0x100a3d31", "pop edi", "0x10091f1b"], ["0x100a3d32", "pop esi", "0x10091f1c"], ["0x100a3d33", "pop ebx", "0x10091f1d"], ["0x100a3d34", "ret 0x18", "0x10091f1e"]]}]]]}, {"address": "0x100a3d40", "recomp": "0x10091f30", "name": "TglImpl::TextureImpl::SetPalette", "matching": 0.5365853658536586, "diff": [["@@ -0x100a3d40,20 +0x10091f30,21 @@", [{"both": [["0x100a3d40", "push esi", "0x10091f30"]]}, {"orig": [["0x100a3d41", "push edi"], ["0x100a3d42", "mov edi, dword ptr [ecx + 4]"], ["0x100a3d45", "push edi"], ["0x100a3d46", "mov esi, dword ptr [edi]"], ["0x100a3d48", "call dword ptr [esi + 0x1c]"], ["0x100a3d4b", "mov ecx, dword ptr [esp + 0x10]"], ["0x100a3d4f", "mov edx, dword ptr [esp + 0xc]"]], "recomp": [["0x10091f31", "mov eax, dword ptr [ecx + 4]"], ["0x10091f34", "mov esi, ecx"], ["0x10091f36", "push eax"], ["0x10091f37", "mov eax, dword ptr [eax]"], ["0x10091f39", "call dword ptr [eax + 0x1c]"], ["0x10091f3c", "mov ecx, dword ptr [esp + 0xc]"], ["0x10091f40", "mov edx, dword ptr [esp + 8]"]]}, {"both": [["0x100a3d53", "push ecx", "0x10091f44"], ["0x100a3d54", "push edx", "0x10091f45"], ["0x100a3d55", "mov ecx, eax", "0x10091f46"], ["0x100a3d57", "call TglImpl::TglD3DRMIMAGE::InitializePalette (FUNCTION)", "0x10091f48"]]}, {"orig": [], "recomp": [["0x10091f4d", "mov eax, dword ptr [esi + 4]"]]}, {"both": [["0x100a3d5c", "push 1", "0x10091f50"]]}, {"orig": [], "recomp": [["0x10091f52", "mov esi, dword ptr [eax]"]]}, {"both": [["0x100a3d5e", "push 0", "0x10091f54"]]}, {"orig": [["0x100a3d60", "push edi"]], "recomp": [["0x10091f56", "push eax"]]}, {"both": [["0x100a3d61", "call dword ptr [esi + 0x38]", "0x10091f57"], ["0x100a3d64", "mov eax, 1", "0x10091f5a"]]}, {"orig": [["0x100a3d69", "pop edi"]], "recomp": []}, {"both": [["0x100a3d6a", "pop esi", "0x10091f5f"], ["0x100a3d6b", "ret 8", "0x10091f60"]]}]]]}, {"address": "0x100a3d70", "recomp": "0x10091f70", "name": "TglImpl::TextureImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a3d80", "recomp": "0x10091850", "name": "TglImpl::MeshImpl::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a3e10", "recomp": "0x100918e0", "name": "Tgl::Mesh::~Mesh", "matching": 1.0, "diff": []}, {"address": "0x100a3e60", "recomp": "0x10091930", "name": "Tgl::Mesh::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a3ed0", "recomp": "0x10091f80", "name": "TglImpl::MeshImpl::ImplementationDataPtr", "matching": 1.0, "diff": []}, {"address": "0x100a3ee0", "recomp": "0x10091f90", "name": "TglImpl::MeshImpl::SetColor", "matching": 0.6, "diff": [["@@ -0x100a3ee0,44 +0x10091f90,46 @@", [{"both": [["0x100a3ee0", "cmp dword ptr [esp + 0x10], 0", "0x10091f90"], ["0x100a3ee5", "push esi", "0x10091f95"]]}, {"orig": [["0x100a3ee6", "mov esi, dword ptr [ecx + 4]"], ["0x100a3ee9", "jle 0x35"]], "recomp": [["0x10091f96", "mov esi, ecx"], ["0x10091f98", "jle 0x38"]]}, {"both": [["0x100a3eeb", "mov eax, dword ptr [esp + 0x14]", "0x10091f9a"], ["0x100a3eef", "mov ecx, dword ptr [esp + 0x10]", "0x10091f9e"], ["0x100a3ef3", "mov edx, dword ptr [esp + 0xc]", "0x10091fa2"], ["0x100a3ef7", "push eax", "0x10091fa6"], ["0x100a3ef8", "mov eax, dword ptr [esp + 0xc]", "0x10091fa7"], ["0x100a3efc", "push ecx", "0x10091fab"], ["0x100a3efd", "push edx", "0x10091fac"], ["0x100a3efe", "push eax", "0x10091fad"], ["0x100a3eff", "call _D3DRMCreateColorRGBA@16 (FUNCTION)", "0x10091fae"]]}, {"orig": [["0x100a3f04", "mov ecx, dword ptr [esi]"]], "recomp": [["0x10091fb3", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x100a3f06", "push eax", "0x10091fb6"]]}, {"orig": [["0x100a3f07", "mov edx, dword ptr [esi + 4]"], ["0x100a3f0a", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10091fb7", "mov edx, dword ptr [ecx]"], ["0x10091fb9", "mov eax, dword ptr [ecx + 4]"], ["0x10091fbc", "mov esi, dword ptr [edx]"], ["0x10091fbe", "push eax"]]}, {"both": [["0x100a3f0c", "push edx", "0x10091fbf"]]}, {"orig": [["0x100a3f0d", "push ecx"], ["0x100a3f0e", "call dword ptr [eax + 0x40]"]], "recomp": [["0x10091fc0", "call dword ptr [esi + 0x40]"]]}, {"both": [["0x100a3f11", "test eax, eax", "0x10091fc3"], ["0x100a3f13", "mov eax, 1", "0x10091fc5"]]}, {"orig": [["0x100a3f18", "jge 0x2c"]], "recomp": [["0x10091fca", "jge 0x2f"]]}, {"both": [["0x100a3f1a", "pop esi", "0x10091fcc"], ["0x100a3f1b", "xor eax, eax", "0x10091fcd"], ["0x100a3f1d", "ret 0x10", "0x10091fcf"]]}, {"orig": [["0x100a3f20", "mov ecx, dword ptr [esi]"]], "recomp": [["0x10091fd2", "mov ecx, dword ptr [esi + 4]"]]}, {"both": [["0x100a3f22", "mov eax, dword ptr [esp + 0x10]", "0x10091fd5"]]}, {"orig": [["0x100a3f26", "mov edx, dword ptr [esp + 0xc]"]], "recomp": [["0x10091fd9", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x100a3f2a", "push eax", "0x10091fdd"]]}, {"orig": [["0x100a3f2b", "mov eax, dword ptr [esp + 0xc]"]], "recomp": [["0x10091fde", "mov edx, dword ptr [ecx]"], ["0x10091fe0", "push esi"], ["0x10091fe1", "mov eax, dword ptr [esp + 0x10]"], ["0x10091fe5", "mov ecx, dword ptr [ecx + 4]"], ["0x10091fe8", "push eax"], ["0x10091fe9", "mov esi, dword ptr [edx]"], ["0x10091feb", "push ecx"]]}, {"both": [["0x100a3f2f", "push edx", "0x10091fec"]]}, {"orig": [["0x100a3f30", "push eax"], ["0x100a3f31", "mov esi, dword ptr [esi + 4]"], ["0x100a3f34", "push esi"], ["0x100a3f35", "mov eax, dword ptr [ecx]"], ["0x100a3f37", "push ecx"], ["0x100a3f38", "call dword ptr [eax + 0x44]"]], "recomp": [["0x10091fed", "call dword ptr [esi + 0x44]"]]}, {"both": [["0x100a3f3b", "test eax, eax", "0x10091ff0"], ["0x100a3f3d", "mov eax, 1", "0x10091ff2"], ["0x100a3f42", "jge 0x2", "0x10091ff7"], ["0x100a3f44", "xor eax, eax", "0x10091ff9"], ["0x100a3f46", "pop esi", "0x10091ffb"], ["0x100a3f47", "ret 0x10", "0x10091ffc"]]}]]]}, {"address": "0x100a3f50", "recomp": "0x10092000", "name": "TglImpl::MeshImpl::SetTexture", "matching": 1.0, "diff": []}, {"address": "0x100a3f80", "recomp": "0x10092030", "name": "TglImpl::MeshImpl::SetTextureMappingMode", "matching": 0.6923076923076923, "diff": [["@@ -0x100a3f80,26 +0x10092030,26 @@", [{"orig": [["0x100a3f80", "mov ecx, dword ptr [ecx + 4]"]], "recomp": [["0x10092030", "mov eax, dword ptr [ecx + 4]"]]}, {"both": [["0x100a3f83", "cmp dword ptr [esp + 4], 1", "0x10092033"]]}, {"orig": [["0x100a3f88", "mov eax, dword ptr [ecx]"]], "recomp": [["0x10092038", "mov ecx, dword ptr [eax]"]]}, {"both": [["0x100a3f8a", "jne 0x1a", "0x1009203a"], ["0x100a3f8c", "push 4", "0x1009203c"]]}, {"orig": [["0x100a3f8e", "mov ecx, dword ptr [ecx + 4]"]], "recomp": [["0x1009203e", "mov edx, dword ptr [eax + 4]"], ["0x10092041", "push edx"], ["0x10092042", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a3f91", "push ecx", "0x10092044"]]}, {"orig": [["0x100a3f92", "push eax"], ["0x100a3f93", "mov eax, dword ptr [eax]"]], "recomp": []}, {"both": [["0x100a3f95", "call dword ptr [eax + 0x48]", "0x10092045"], ["0x100a3f98", "test eax, eax", "0x10092048"], ["0x100a3f9a", "mov eax, 1", "0x1009204a"], ["0x100a3f9f", "jge 0x1c", "0x1009204f"], ["0x100a3fa1", "xor eax, eax", "0x10092051"], ["0x100a3fa3", "ret 4", "0x10092053"], ["0x100a3fa6", "push 0", "0x10092056"]]}, {"orig": [["0x100a3fa8", "mov ecx, dword ptr [ecx + 4]"]], "recomp": [["0x10092058", "mov edx, dword ptr [eax + 4]"], ["0x1009205b", "push edx"], ["0x1009205c", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a3fab", "push ecx", "0x1009205e"]]}, {"orig": [["0x100a3fac", "push eax"], ["0x100a3fad", "mov eax, dword ptr [eax]"]], "recomp": []}, {"both": [["0x100a3faf", "call dword ptr [eax + 0x48]", "0x1009205f"], ["0x100a3fb2", "test eax, eax", "0x10092062"], ["0x100a3fb4", "mov eax, 1", "0x10092064"], ["0x100a3fb9", "jge 0x2", "0x10092069"], ["0x100a3fbb", "xor eax, eax", "0x1009206b"], ["0x100a3fbd", "ret 4", "0x1009206d"]]}]]]}, {"address": "0x100a3fc0", "recomp": "0x10092070", "name": "TglImpl::MeshImpl::SetShadingModel", "matching": 0.4657534246575342, "diff": [["@@ -,36 +,37 @@", [{"orig": [["0x100a3fc0", "mov ecx, dword ptr [ecx + 4]"]], "recomp": []}, {"both": [["0x100a3fc3", "mov eax, dword ptr [esp + 4]", "0x10092070"]]}, {"orig": [], "recomp": [["0x10092074", "sub esp, 4"]]}, {"both": [["0x100a3fc7", "cmp eax, 4", "0x10092077"]]}, {"orig": [["0x100a3fca", "ja 0x7"]], "recomp": [["0x1009207a", "ja 0x2a"]]}, {"both": [["0x100a3fcc", "jmp dword ptr [eax*4 + <OFFSET1>]", "0x1009207c"]]}, {"orig": [["0x100a3fd3", "mov eax, 0x88"], ["0x100a3fd8", "jmp 0x21"], ["0x100a3fda", "mov eax, 0x40"], ["0x100a3fdf", "jmp 0x1a"], ["0x100a3fe1", "mov eax, 0x80"], ["0x100a3fe6", "jmp 0x13"], ["0x100a3fe8", "mov eax, 0x88"], ["0x100a3fed", "jmp 0xc"], ["0x100a3fef", "mov eax, 0x89"], ["0x100a3ff4", "jmp 0x5"], ["0x100a3ff6", "mov eax, 0x8a"], ["0x100a3ffb", "mov edx, dword ptr [ecx]"], ["0x100a3ffd", "push eax"]], "recomp": [["0x10092083", "mov edx, 0x40"], ["0x10092088", "jmp 0x20"], ["0x1009208a", "mov edx, 0x80"], ["0x1009208f", "jmp 0x19"], ["0x10092091", "mov edx, 0x88"], ["0x10092096", "jmp 0x12"], ["0x10092098", "mov edx, 0x89"], ["0x1009209d", "jmp 0xb"], ["0x1009209f", "mov edx, 0x8a"], ["0x100920a4", "jmp 0x4"], ["0x100920a6", "mov edx, dword ptr [esp]"]]}, {"both": [["0x100a3ffe", "mov eax, dword ptr [ecx + 4]", "0x100920aa"]]}, {"orig": [["0x100a4001", "push eax"]], "recomp": []}, {"both": [["0x100a4002", "push edx", "0x100920ad"]]}, {"orig": [["0x100a4003", "mov eax, dword ptr [edx]"]], "recomp": [["0x100920ae", "mov ecx, dword ptr [eax]"], ["0x100920b0", "mov edx, dword ptr [eax + 4]"], ["0x100920b3", "mov eax, dword ptr [ecx]"], ["0x100920b5", "push edx"], ["0x100920b6", "push ecx"]]}, {"both": [["0x100a4005", "call dword ptr [eax + 0x4c]", "0x100920b7"], ["0x100a4008", "test eax, eax", "0x100920ba"], ["0x100a400a", "mov eax, 1", "0x100920bc"], ["0x100a400f", "jge 0x2", "0x100920c1"], ["0x100a4011", "xor eax, eax", "0x100920c3"]]}, {"orig": [], "recomp": [["0x100920c5", "add esp, 4"]]}, {"both": [["0x100a4013", "ret 4", "0x100920c8"]]}, {"orig": [["0x100a4016", "mov edi, edi"]], "recomp": [["0x100920cb", "nop "]]}, {"both": [["", "Jump table:", ""], ["0x100a4018", "Jump_dest_0", "0x100920cc"], ["0x100a401c", "Jump_dest_1", "0x100920d0"], ["0x100a4020", "Jump_dest_2", "0x100920d4"], ["0x100a4024", "Jump_dest_3", "0x100920d8"], ["0x100a4028", "Jump_dest_4", "0x100920dc"]]}, {"orig": [["0x100a402c", "Jump_dest_5"]], "recomp": []}]]]}, {"address": "0x100a4030", "recomp": "0x100920e0", "name": "TglImpl::MeshImpl::DeepClone", "matching": 0.46924829157175396, "diff": [["@@ -0x100a4030,215 +0x100920e0,224 @@", [{"both": [["0x100a4030", "mov eax, dword ptr fs:[0]", "0x100920e0"], ["0x100a4036", "push ebp", "0x100920e6"], ["0x100a4037", "mov ebp, esp", "0x100920e7"], ["0x100a4039", "push -1", "0x100920e9"], ["0x100a403b", "push <OFFSET1>", "0x100920eb"], ["0x100a4040", "push eax", "0x100920f0"], ["0x100a4041", "mov dword ptr fs:[0], esp", "0x100920f1"]]}, {"orig": [["0x100a4048", "sub esp, 0x2c"]], "recomp": [["0x100920f8", "sub esp, 0x30"]]}, {"both": [["0x100a404b", "push ebx", "0x100920fb"], ["0x100a404c", "push esi", "0x100920fc"], ["0x100a404d", "push edi", "0x100920fd"]]}, {"orig": [["0x100a404e", "mov esi, ecx"]], "recomp": [["0x100920fe", "mov ebx, ecx"]]}, {"both": [["0x100a4050", "push 8", "0x10092100"], ["0x100a4052", "call ??2@YAPAXI@Z (FUNCTION)", "0x10092102"]]}, {"orig": [["0x100a4057", "mov dword ptr [ebp - 0x10], eax"]], "recomp": [["0x10092107", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100a405a", "add esp, 4", "0x1009210a"], ["0x100a405d", "mov edi, eax", "0x1009210d"], ["0x100a405f", "xor eax, eax", "0x1009210f"], ["0x100a4061", "mov dword ptr [ebp - 4], eax", "0x10092111"], ["0x100a4064", "test edi, edi", "0x10092114"], ["0x100a4066", "je 0x34", "0x10092116"], ["0x100a4068", "mov byte ptr [ebp - 4], 1", "0x10092118"]]}, {"orig": [["0x100a406c", "mov ebx, edi"]], "recomp": [["0x1009211c", "mov esi, edi"]]}, {"both": [["0x100a406e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)", "0x1009211e"], ["0x100a4074", "mov byte ptr [ebp - 4], 2", "0x10092124"], ["0x100a4078", "mov dword ptr [edi], Tgl::Mesh::`vftable' (VTABLE)", "0x10092128"], ["0x100a407e", "mov byte ptr [ebp - 4], al", "0x1009212e"], ["0x100a4081", "mov dword ptr [edi + 4], eax", "0x10092131"], ["0x100a4084", "mov dword ptr [edi], TglImpl::MeshImpl::`vftable' (VTABLE)", "0x10092134"], ["0x100a408a", "jmp 0x12", "0x1009213a"]]}, {"orig": [["0x100a408c", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x1009213c", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a408f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1009213f"]]}, {"orig": [["0x100a4094", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10092144", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a4097", "jmp Tgl::Mesh::~Mesh (FUNCTION)", "0x10092147"]]}, {"orig": [["0x100a409c", "xor ebx, ebx"], ["0x100a409e", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x1009214c", "xor esi, esi"], ["0x1009214e", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x100a40a1", "push 8", "0x10092155"]]}, {"orig": [["0x100a40a3", "mov dword ptr [ebp - 4], 0xffffffff"], ["0x100a40aa", "mov edi, dword ptr [eax + 4]"], ["0x100a40ad", "mov esi, dword ptr [esi + 4]"]], "recomp": []}, {"both": [["0x100a40b0", "call ??2@YAPAXI@Z (FUNCTION)", "0x10092157"], ["0x100a40b5", "add esp, 4", "0x1009215c"]]}, {"orig": [["0x100a40b8", "lea edx, [ebp - 0x24]"], ["0x100a40bb", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1009215f", "lea edx, [ebp - 0x2c]"], ["0x10092162", "mov dword ptr [esi + 4], eax"], ["0x10092165", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x100a40be", "push 0", "0x10092168"], ["0x100a40c0", "push edx", "0x1009216a"]]}, {"orig": [["0x100a40c1", "mov dword ptr [eax], edi"], ["0x100a40c3", "mov ecx, dword ptr [esi]"], ["0x100a40c5", "lea eax, [ebp - 0x38]"]], "recomp": [["0x1009216b", "mov ecx, dword ptr [eax]"], ["0x1009216d", "lea edx, [ebp - 0x28]"], ["0x10092170", "push edx"], ["0x10092171", "mov eax, dword ptr [eax + 4]"], ["0x10092174", "lea edx, [ebp - 0x24]"], ["0x10092177", "push edx"], ["0x10092178", "lea edx, [ebp - 0x14]"], ["0x1009217b", "push edx"]]}, {"both": [["0x100a40c8", "push eax", "0x1009217c"]]}, {"orig": [["0x100a40c9", "lea edx, [ebp - 0x20]"], ["0x100a40cc", "push edx"], ["0x100a40cd", "lea eax, [ebp - 0x14]"], ["0x100a40d0", "push eax"], ["0x100a40d1", "mov edx, dword ptr [esi + 4]"], ["0x100a40d4", "push edx"]], "recomp": [["0x1009217d", "push ecx"]]}, {"both": [["0x100a40d5", "mov eax, dword ptr [ecx]", "0x1009217e"]]}, {"orig": [["0x100a40d7", "push ecx"]], "recomp": []}, {"both": [["0x100a40d8", "call dword ptr [eax + 0x5c]", "0x10092180"]]}, {"orig": [["0x100a40db", "mov eax, dword ptr [ebp - 0x24]"]], "recomp": [["0x10092183", "mov eax, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100a40de", "shl eax, 2", "0x10092186"], ["0x100a40e1", "push eax", "0x10092189"], ["0x100a40e2", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009218a"], ["0x100a40e7", "add esp, 4", "0x1009218f"]]}, {"orig": [["0x100a40ea", "mov ecx, dword ptr [esi]"], ["0x100a40ec", "lea edx, [ebp - 0x24]"], ["0x100a40ef", "mov dword ptr [ebp - 0x1c], eax"]], "recomp": [["0x10092192", "mov edx, dword ptr [ebx + 4]"], ["0x10092195", "mov dword ptr [ebp - 0x20], eax"], ["0x10092198", "mov ecx, dword ptr [edx]"]]}, {"both": [["0x100a40f2", "push eax", "0x1009219a"]]}, {"orig": [["0x100a40f3", "push edx"], ["0x100a40f4", "lea eax, [ebp - 0x38]"], ["0x100a40f7", "lea edx, [ebp - 0x20]"]], "recomp": [["0x1009219b", "lea eax, [ebp - 0x2c]"]]}, {"both": [["0x100a40fa", "push eax", "0x1009219e"]]}, {"orig": [["0x100a40fb", "push edx"]], "recomp": [["0x1009219f", "lea eax, [ebp - 0x28]"], ["0x100921a2", "push eax"], ["0x100921a3", "mov edx, dword ptr [edx + 4]"], ["0x100921a6", "lea eax, [ebp - 0x24]"], ["0x100921a9", "push eax"]]}, {"both": [["0x100a40fc", "lea eax, [ebp - 0x14]", "0x100921aa"]]}, {"orig": [["0x100a40ff", "mov edx, dword ptr [esi + 4]"]], "recomp": []}, {"both": [["0x100a4102", "push eax", "0x100921ad"], ["0x100a4103", "push edx", "0x100921ae"], ["0x100a4104", "push ecx", "0x100921af"], ["0x100a4105", "mov eax, dword ptr [ecx]", "0x100921b0"], ["0x100a4107", "call dword ptr [eax + 0x5c]", "0x100921b2"], ["0x100a410a", "mov eax, dword ptr [ebp - 0x14]", "0x100921b5"], ["0x100a410d", "shl eax, 2", "0x100921b8"], ["0x100a4110", "lea ecx, [eax + eax*8]", "0x100921bb"], ["0x100a4113", "push ecx", "0x100921be"], ["0x100a4114", "call ??2@YAPAXI@Z (FUNCTION)", "0x100921bf"], ["0x100a4119", "add esp, 4", "0x100921c4"]]}, {"orig": [["0x100a411c", "mov ecx, dword ptr [esi]"], ["0x100a411e", "mov edx, dword ptr [ebp - 0x14]"], ["0x100a4121", "mov dword ptr [ebp - 0x18], eax"]], "recomp": [["0x100921c7", "mov edx, dword ptr [ebx + 4]"], ["0x100921ca", "mov dword ptr [ebp - 0x1c], eax"], ["0x100921cd", "mov ecx, dword ptr [edx]"]]}, {"both": [["0x100a4124", "push eax", "0x100921cf"]]}, {"orig": [], "recomp": [["0x100921d0", "mov edx, dword ptr [edx + 4]"], ["0x100921d3", "mov eax, dword ptr [ebp - 0x14]"], ["0x100921d6", "push eax"], ["0x100921d7", "push 0"]]}, {"both": [["0x100a4125", "push edx", "0x100921d9"]]}, {"orig": [["0x100a4126", "push 0"], ["0x100a4128", "mov eax, dword ptr [esi + 4]"], ["0x100a412b", "push eax"]], "recomp": [["0x100921da", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a412c", "push ecx", "0x100921dc"]]}, {"orig": [["0x100a412d", "mov eax, dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100a412f", "call dword ptr [eax + 0x60]", "0x100921dd"]]}, {"orig": [["0x100a4132", "mov ecx, dword ptr [esi]"], ["0x100a4134", "lea edx, [ebp - 0x34]"]], "recomp": [["0x100921e0", "mov eax, dword ptr [ebx + 4]"], ["0x100921e3", "lea edx, [ebp - 0x3c]"]]}, {"both": [["0x100a4137", "push edx", "0x100921e6"]]}, {"orig": [["0x100a4138", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x100921e7", "mov ecx, dword ptr [eax]"], ["0x100921e9", "mov eax, dword ptr [eax + 4]"]]}, {"both": [["0x100a413b", "push eax", "0x100921ec"], ["0x100a413c", "push ecx", "0x100921ed"], ["0x100a413d", "mov eax, dword ptr [ecx]", "0x100921ee"], ["0x100a413f", "call dword ptr [eax + 0x74]", "0x100921f0"]]}, {"orig": [["0x100a4142", "mov eax, dword ptr [esi]"], ["0x100a4144", "mov ecx, dword ptr [esi + 4]"], ["0x100a4147", "push ecx"], ["0x100a4148", "push eax"], ["0x100a4149", "mov eax, dword ptr [eax]"], ["0x100a414b", "call dword ptr [eax + 0x68]"], ["0x100a414e", "mov ecx, dword ptr [esi + 4]"], ["0x100a4151", "mov dword ptr [ebp - 0x30], eax"], ["0x100a4154", "mov eax, dword ptr [esi]"], ["0x100a4156", "push ecx"], ["0x100a4157", "push eax"], ["0x100a4158", "mov eax, dword ptr [eax]"], ["0x100a415a", "call dword ptr [eax + 0x6c]"], ["0x100a415d", "mov ecx, dword ptr [esi]"], ["0x100a415f", "mov edx, dword ptr [esi + 4]"], ["0x100a4162", "push edx"], ["0x100a4163", "mov dword ptr [ebp - 0x2c], eax"], ["0x100a4166", "push ecx"]], "recomp": [["0x100921f3", "mov eax, dword ptr [ebx + 4]"], ["0x100921f6", "mov ecx, dword ptr [eax]"], ["0x100921f8", "mov edx, dword ptr [eax + 4]"]]}, {"both": [["0x100a4167", "mov eax, dword ptr [ecx]", "0x100921fb"]]}, {"orig": [["0x100a4169", "call dword ptr [eax + 0x64]"], ["0x100a416c", "lea ecx, [ebp - 0x10]"], ["0x100a416f", "mov dword ptr [ebp - 0x28], eax"], ["0x100a4172", "mov esi, dword ptr [edi]"], ["0x100a4174", "push ecx"], ["0x100a4175", "mov eax, dword ptr [ebp - 0x1c]"], ["0x100a4178", "mov edx, dword ptr [ebp - 0x20]"], ["0x100a417b", "push eax"], ["0x100a417c", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100a417f", "push 3"]], "recomp": []}, {"both": [["0x100a4181", "push edx", "0x100921fd"], ["0x100a4182", "push ecx", "0x100921fe"]]}, {"orig": [], "recomp": [["0x100921ff", "call dword ptr [eax + 0x68]"], ["0x10092202", "mov dword ptr [ebp - 0x38], eax"], ["0x10092205", "mov eax, dword ptr [ebx + 4]"], ["0x10092208", "mov ecx, dword ptr [eax]"], ["0x1009220a", "mov edx, dword ptr [eax + 4]"], ["0x1009220d", "mov eax, dword ptr [ecx]"], ["0x1009220f", "push edx"], ["0x10092210", "push ecx"], ["0x10092211", "call dword ptr [eax + 0x6c]"], ["0x10092214", "mov dword ptr [ebp - 0x34], eax"], ["0x10092217", "mov eax, dword ptr [ebx + 4]"], ["0x1009221a", "mov ecx, dword ptr [eax]"], ["0x1009221c", "mov edx, dword ptr [eax + 4]"], ["0x1009221f", "mov eax, dword ptr [ecx]"], ["0x10092221", "push edx"], ["0x10092222", "push ecx"], ["0x10092223", "call dword ptr [eax + 0x64]"], ["0x10092226", "mov ebx, dword ptr [ebp + 8]"], ["0x10092229", "mov edx, dword ptr [ebp - 0x20]"], ["0x1009222c", "mov edi, dword ptr [ebp - 0x28]"], ["0x1009222f", "mov dword ptr [ebp - 0x30], eax"], ["0x10092232", "mov ecx, dword ptr [ebx + 4]"], ["0x10092235", "lea eax, [ebp - 0x10]"], ["0x10092238", "push eax"], ["0x10092239", "push edx"]]}, {"both": [["0x100a4183", "push edi", "0x1009223a"]]}, {"orig": [["0x100a4184", "call dword ptr [esi + 0x38]"], ["0x100a4187", "mov edx, dword ptr [ebp - 0x10]"], ["0x100a418a", "mov ecx, dword ptr [ebx + 4]"], ["0x100a418d", "mov eax, dword ptr [ebp - 0x18]"], ["0x100a4190", "mov dword ptr [ecx + 4], edx"]], "recomp": [["0x1009223b", "mov eax, dword ptr [ebp - 0x24]"]]}, {"both": [["0x100a4193", "push eax", "0x1009223e"], ["0x100a4194", "mov edx, dword ptr [ebp - 0x14]", "0x1009223f"], ["0x100a4197", "push edx", "0x10092242"]]}, {"orig": [], "recomp": [["0x10092243", "mov edi, dword ptr [ecx]"], ["0x10092245", "push ecx"], ["0x10092246", "call dword ptr [edi + 0x38]"]]}, {"both": [["0x100a4198", "mov ecx, dword ptr [ebp - 0x10]", "0x10092249"]]}, {"orig": [], "recomp": [["0x1009224c", "mov eax, dword ptr [esi + 4]"], ["0x1009224f", "mov edx, dword ptr [ebp - 0x1c]"], ["0x10092252", "mov dword ptr [eax + 4], ecx"], ["0x10092255", "mov ecx, dword ptr [ebx + 4]"], ["0x10092258", "push edx"], ["0x10092259", "mov eax, dword ptr [ebp - 0x14]"], ["0x1009225c", "mov edi, dword ptr [ebp - 0x10]"], ["0x1009225f", "push eax"]]}, {"both": [["0x100a419b", "push 0", "0x10092260"]]}, {"orig": [], "recomp": [["0x10092262", "push edi"]]}, {"both": [["0x100a419d", "push ecx", "0x10092263"]]}, {"orig": [], "recomp": [["0x10092264", "mov eax, dword ptr [ecx]"], ["0x10092266", "call dword ptr [eax + 0x3c]"], ["0x10092269", "mov ecx, dword ptr [ebx + 4]"], ["0x1009226c", "mov eax, dword ptr [ebp - 0x3c]"], ["0x1009226f", "push eax"], ["0x10092270", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100a419e", "push edi", "0x10092273"]]}, {"orig": [["0x100a419f", "call dword ptr [esi + 0x3c]"], ["0x100a41a2", "mov ecx, dword ptr [ebp - 0x34]"], ["0x100a41a5", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10092274", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a41a8", "push ecx", "0x10092276"]]}, {"orig": [["0x100a41a9", "push edx"]], "recomp": [["0x10092277", "call dword ptr [eax + 0x54]"], ["0x1009227a", "mov ecx, dword ptr [ebx + 4]"], ["0x1009227d", "mov eax, dword ptr [ebp - 0x38]"], ["0x10092280", "push eax"], ["0x10092281", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100a41aa", "push edi", "0x10092284"]]}, {"orig": [["0x100a41ab", "call dword ptr [esi + 0x54]"], ["0x100a41ae", "mov ecx, dword ptr [ebp - 0x30]"]], "recomp": [["0x10092285", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a41b1", "push ecx", "0x10092287"]]}, {"orig": [["0x100a41b2", "mov edx, dword ptr [ebp - 0x10]"], ["0x100a41b5", "push edx"]], "recomp": [["0x10092288", "call dword ptr [eax + 0x48]"], ["0x1009228b", "mov ecx, dword ptr [ebx + 4]"], ["0x1009228e", "mov eax, dword ptr [ebp - 0x34]"], ["0x10092291", "push eax"], ["0x10092292", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100a41b6", "push edi", "0x10092295"]]}, {"orig": [["0x100a41b7", "call dword ptr [esi + 0x48]"], ["0x100a41ba", "mov ecx, dword ptr [ebp - 0x2c]"], ["0x100a41bd", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x10092296", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a41c0", "push ecx", "0x10092298"]]}, {"orig": [["0x100a41c1", "push edx"]], "recomp": [["0x10092299", "call dword ptr [eax + 0x4c]"], ["0x1009229c", "mov ecx, dword ptr [ebx + 4]"], ["0x1009229f", "mov eax, dword ptr [ebp - 0x30]"], ["0x100922a2", "push eax"], ["0x100922a3", "mov edi, dword ptr [ebp - 0x10]"]]}, {"both": [["0x100a41c2", "push edi", "0x100922a6"]]}, {"orig": [["0x100a41c3", "call dword ptr [esi + 0x4c]"], ["0x100a41c6", "mov ecx, dword ptr [ebp - 0x28]"], ["0x100a41c9", "mov edx, dword ptr [ebp - 0x10]"]], "recomp": [["0x100922a7", "mov ebx, dword ptr [ecx]"]]}, {"both": [["0x100a41cc", "push ecx", "0x100922a9"]]}, {"orig": [["0x100a41cd", "push edx"], ["0x100a41ce", "push edi"], ["0x100a41cf", "call dword ptr [esi + 0x40]"], ["0x100a41d2", "mov esi, 1"], ["0x100a41d7", "test eax, eax"], ["0x100a41d9", "jge 0x2"], ["0x100a41db", "xor esi, esi"], ["0x100a41dd", "cmp dword ptr [ebp - 0x1c], 0"], ["0x100a41e1", "je 0xc"]], "recomp": [["0x100922aa", "call dword ptr [ebx + 0x40]"], ["0x100922ad", "mov edi, eax"], ["0x100922af", "mov eax, dword ptr [ebp - 0x20]"], ["0x100922b2", "push eax"], ["0x100922b3", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100922b8", "add esp, 4"]]}, {"both": [["0x100a41e3", "mov eax, dword ptr [ebp - 0x1c]", "0x100922bb"], ["0x100a41e6", "push eax", "0x100922be"], ["0x100a41e7", "call ??3@YAXPAX@Z (FUNCTION)", "0x100922bf"], ["0x100a41ec", "add esp, 4", "0x100922c4"]]}, {"orig": [["0x100a41ef", "cmp dword ptr [ebp - 0x18], 0"], ["0x100a41f3", "je 0xc"], ["0x100a41f5", "mov eax, dword ptr [ebp - 0x18]"], ["0x100a41f8", "push eax"], ["0x100a41f9", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100a41fe", "add esp, 4"]], "recomp": [["0x100922c7", "test edi, edi"], ["0x100922c9", "jge 0xe"]]}, {"both": [["0x100a4201", "test esi, esi", "0x100922cb"]]}, {"orig": [["0x100a4203", "jne 0xe"], ["0x100a4205", "test ebx, ebx"]], "recomp": []}, {"both": [["0x100a4207", "je 0x8", "0x100922cd"], ["0x100a4209", "push 1", "0x100922cf"]]}, {"orig": [["0x100a420b", "mov eax, dword ptr [ebx]"], ["0x100a420d", "mov ecx, ebx"]], "recomp": [["0x100922d1", "mov eax, dword ptr [esi]"], ["0x100922d3", "mov ecx, esi"]]}, {"both": [["0x100a420f", "call dword ptr [eax]", "0x100922d5"]]}, {"orig": [["0x100a4211", "xor ebx, ebx"], ["0x100a4213", "mov eax, ebx"]], "recomp": [["0x100922d7", "xor esi, esi"], ["0x100922d9", "mov eax, esi"]]}, {"both": [["0x100a4215", "mov ecx, dword ptr [ebp - 0xc]", "0x100922db"], ["0x100a4218", "mov dword ptr fs:[0], ecx", "0x100922de"], ["0x100a421f", "pop edi", "0x100922e5"], ["0x100a4220", "pop esi", "0x100922e6"], ["0x100a4221", "pop ebx", "0x100922e7"], ["0x100a4222", "mov esp, ebp", "0x100922e8"], ["0x100a4224", "pop ebp", "0x100922ea"], ["0x100a4225", "ret 4", "0x100922eb"], ["0x100a4228", "mov eax, <OFFSET7>", "0x100922ee"], ["0x100a422d", "jmp ___CxxFrameHandler (FUNCTION)", "0x100922f3"]]}, {"orig": [["0x100a4232", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": [["0x100922f8", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a4235", "push eax", "0x100922fb"], ["0x100a4236", "call ??3@YAXPAX@Z (FUNCTION)", "0x100922fc"], ["0x100a423b", "add esp, 4", "0x10092301"], ["0x100a423e", "ret ", "0x10092304"]]}]]]}, {"address": "0x100a4240", "recomp": "0x10092310", "name": "TglImpl::MeshImpl::ShallowClone", "matching": 0.5277777777777778, "diff": [["@@ -0x100a4251,66 +0x10092321,66 @@", [{"both": [["0x100a4251", "mov dword ptr fs:[0], esp", "0x10092321"], ["0x100a4258", "sub esp, 4", "0x10092328"], ["0x100a425b", "push ebx", "0x1009232b"], ["0x100a425c", "push esi", "0x1009232c"], ["0x100a425d", "push edi", "0x1009232d"], ["0x100a425e", "mov ebx, ecx", "0x1009232e"], ["0x100a4260", "push 8", "0x10092330"], ["0x100a4262", "call ??2@YAPAXI@Z (FUNCTION)", "0x10092332"], ["0x100a4267", "mov dword ptr [ebp - 0x10], eax", "0x10092337"], ["0x100a426a", "add esp, 4", "0x1009233a"]]}, {"orig": [["0x100a426d", "mov esi, eax"]], "recomp": [["0x1009233d", "mov edi, eax"]]}, {"both": [["0x100a426f", "xor eax, eax", "0x1009233f"], ["0x100a4271", "mov dword ptr [ebp - 4], eax", "0x10092341"]]}, {"orig": [["0x100a4274", "test esi, esi"]], "recomp": [["0x10092344", "test edi, edi"]]}, {"both": [["0x100a4276", "je 0x34", "0x10092346"], ["0x100a4278", "mov byte ptr [ebp - 4], 1", "0x10092348"]]}, {"orig": [["0x100a427c", "mov edi, esi"], ["0x100a427e", "mov dword ptr [esi], Tgl::Object::`vftable' (VTABLE)"]], "recomp": [["0x1009234c", "mov esi, edi"], ["0x1009234e", "mov dword ptr [edi], Tgl::Object::`vftable' (VTABLE)"]]}, {"both": [["0x100a4284", "mov byte ptr [ebp - 4], 2", "0x10092354"]]}, {"orig": [["0x100a4288", "mov dword ptr [esi], Tgl::Mesh::`vftable' (VTABLE)"]], "recomp": [["0x10092358", "mov dword ptr [edi], Tgl::Mesh::`vftable' (VTABLE)"]]}, {"both": [["0x100a428e", "mov byte ptr [ebp - 4], al", "0x1009235e"]]}, {"orig": [["0x100a4291", "mov dword ptr [esi + 4], eax"], ["0x100a4294", "mov dword ptr [esi], TglImpl::MeshImpl::`vftable' (VTABLE)"]], "recomp": [["0x10092361", "mov dword ptr [edi + 4], eax"], ["0x10092364", "mov dword ptr [edi], TglImpl::MeshImpl::`vftable' (VTABLE)"]]}, {"both": [["0x100a429a", "jmp 0x12", "0x1009236a"], ["0x100a429c", "mov ecx, dword ptr [ebp - 0x10]", "0x1009236c"], ["0x100a429f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1009236f"], ["0x100a42a4", "mov ecx, dword ptr [ebp - 0x10]", "0x10092374"], ["0x100a42a7", "jmp Tgl::Mesh::~Mesh (FUNCTION)", "0x10092377"]]}, {"orig": [["0x100a42ac", "xor edi, edi"], ["0x100a42ae", "mov eax, dword ptr [ebp + 8]"]], "recomp": [["0x1009237c", "xor esi, esi"], ["0x1009237e", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x100a42b1", "push 8", "0x10092385"]]}, {"orig": [["0x100a42b3", "mov dword ptr [ebp - 4], 0xffffffff"], ["0x100a42ba", "mov ecx, dword ptr [eax + 4]"], ["0x100a42bd", "mov esi, dword ptr [ebx + 4]"], ["0x100a42c0", "xor ebx, ebx"], ["0x100a42c2", "mov dword ptr [ebp - 0x10], ecx"]], "recomp": []}, {"both": [["0x100a42c5", "call ??2@YAPAXI@Z (FUNCTION)", "0x10092387"], ["0x100a42ca", "add esp, 4", "0x1009238c"]]}, {"orig": [["0x100a42cd", "mov ecx, eax"], ["0x100a42cf", "mov dword ptr [edi + 4], eax"], ["0x100a42d2", "cmp ecx, ebx"], ["0x100a42d4", "je 0x13"], ["0x100a42d6", "mov eax, dword ptr [ebp - 0x10]"], ["0x100a42d9", "mov ebx, 1"], ["0x100a42de", "mov dword ptr [ecx], eax"], ["0x100a42e0", "mov ecx, dword ptr [edi + 4]"], ["0x100a42e3", "mov edx, dword ptr [esi + 4]"], ["0x100a42e6", "mov dword ptr [ecx + 4], edx"], ["0x100a42e9", "test ebx, ebx"], ["0x100a42eb", "jne 0xe"], ["0x100a42ed", "test edi, edi"], ["0x100a42ef", "je 0x8"], ["0x100a42f1", "push 1"], ["0x100a42f3", "mov eax, dword ptr [edi]"], ["0x100a42f5", "mov ecx, edi"], ["0x100a42f7", "call dword ptr [eax]"], ["0x100a42f9", "xor edi, edi"], ["0x100a42fb", "mov eax, edi"]], "recomp": [["0x1009238f", "mov dword ptr [esi + 4], eax"], ["0x10092392", "test eax, eax"], ["0x10092394", "je 0x26"], ["0x10092396", "mov ecx, dword ptr [ebx + 4]"], ["0x10092399", "mov ebx, dword ptr [ebp + 8]"], ["0x1009239c", "mov edx, dword ptr [ecx + 4]"], ["0x1009239f", "mov dword ptr [eax + 4], edx"], ["0x100923a2", "mov ecx, dword ptr [ebx + 4]"], ["0x100923a5", "mov dword ptr [eax], ecx"], ["0x100923a7", "mov eax, esi"]]}, {"both": [["0x100a42fd", "mov ecx, dword ptr [ebp - 0xc]", "0x100923a9"], ["0x100a4300", "mov dword ptr fs:[0], ecx", "0x100923ac"], ["0x100a4307", "pop edi", "0x100923b3"], ["0x100a4308", "pop esi", "0x100923b4"], ["0x100a4309", "pop ebx", "0x100923b5"], ["0x100a430a", "mov esp, ebp", "0x100923b6"], ["0x100a430c", "pop ebp", "0x100923b8"], ["0x100a430d", "ret 4", "0x100923b9"]]}, {"orig": [], "recomp": [["0x100923bc", "test esi, esi"], ["0x100923be", "je 0x8"], ["0x100923c0", "push 1"], ["0x100923c2", "mov eax, dword ptr [esi]"], ["0x100923c4", "mov ecx, esi"], ["0x100923c6", "call dword ptr [eax]"], ["0x100923c8", "xor esi, esi"], ["0x100923ca", "jmp -0x25"], ["0x100923cc", "mov eax, <OFFSET6>"], ["0x100923d1", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x100923d6", "mov eax, dword ptr [ebp - 0x10]"], ["0x100923d9", "push eax"], ["0x100923da", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100923df", "add esp, 4"], ["0x100923e2", "ret "]]}]]]}, {"address": "0x100a4330", "recomp": "0x100923f0", "name": "TglImpl::MeshImpl::GetTexture", "matching": 0.7638888888888888, "diff": [["@@ -0x100a4330,18 +0x100923f0,18 @@", [{"both": [["0x100a4330", "mov eax, dword ptr fs:[0]", "0x100923f0"], ["0x100a4336", "push ebp", "0x100923f6"], ["0x100a4337", "mov ebp, esp", "0x100923f7"], ["0x100a4339", "push -1", "0x100923f9"], ["0x100a433b", "push <OFFSET1>", "0x100923fb"], ["0x100a4340", "push eax", "0x10092400"], ["0x100a4341", "mov dword ptr fs:[0], esp", "0x10092401"]]}, {"orig": [["0x100a4348", "sub esp, 4"]], "recomp": [["0x10092408", "sub esp, 8"]]}, {"both": [["0x100a434b", "push ebx", "0x1009240b"], ["0x100a434c", "push esi", "0x1009240c"], ["0x100a434d", "push edi", "0x1009240d"], ["0x100a434e", "mov ebx, ecx", "0x1009240e"], ["0x100a4350", "push 8", "0x10092410"], ["0x100a4352", "call ??2@YAPAXI@Z (FUNCTION)", "0x10092412"], ["0x100a4357", "mov dword ptr [ebp - 0x10], eax", "0x10092417"], ["0x100a435a", "add esp, 4", "0x1009241a"], ["0x100a435d", "mov edi, eax", "0x1009241d"], ["0x100a435f", "xor eax, eax", "0x1009241f"]]}]], ["@@ -0x100a4381,46 +0x10092441,44 @@", [{"both": [["0x100a4381", "mov dword ptr [edi + 4], eax", "0x10092441"], ["0x100a4384", "mov dword ptr [edi], TglImpl::TextureImpl::`vftable' (VTABLE)", "0x10092444"], ["0x100a438a", "jmp 0x12", "0x1009244a"], ["0x100a438c", "mov ecx, dword ptr [ebp - 0x10]", "0x1009244c"], ["0x100a438f", "jmp Tgl::Object::~Object (FUNCTION)", "0x1009244f"], ["0x100a4394", "mov ecx, dword ptr [ebp - 0x10]", "0x10092454"], ["0x100a4397", "jmp Tgl::Texture::~Texture (FUNCTION)", "0x10092457"], ["0x100a439c", "xor esi, esi", "0x1009245c"], ["0x100a439e", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009245e"], ["0x100a43a5", "mov eax, dword ptr [ebx + 4]", "0x10092465"]]}, {"orig": [["0x100a43a8", "lea ecx, [ebp - 0x10]"]], "recomp": [["0x10092468", "lea ecx, [ebp - 0x14]"]]}, {"both": [["0x100a43ab", "push ecx", "0x1009246b"], ["0x100a43ac", "mov edx, dword ptr [eax]", "0x1009246c"], ["0x100a43ae", "mov eax, dword ptr [eax + 4]", "0x1009246e"], ["0x100a43b1", "mov ebx, dword ptr [edx]", "0x10092471"], ["0x100a43b3", "push eax", "0x10092473"], ["0x100a43b4", "push edx", "0x10092474"], ["0x100a43b5", "call dword ptr [ebx + 0x74]", "0x10092475"], ["0x100a43b8", "test eax, eax", "0x10092478"], ["0x100a43ba", "mov eax, 1", "0x1009247a"], ["0x100a43bf", "jge 0x2", "0x1009247f"], ["0x100a43c1", "xor eax, eax", "0x10092481"]]}, {"orig": [["0x100a43c3", "cmp eax, 1"], ["0x100a43c6", "jne 0x1c"], ["0x100a43c8", "lea eax, [esi + 4]"], ["0x100a43cb", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100a43ce", "push eax"], ["0x100a43cf", "push IID_IDirect3DRMTexture2 (DATA)"], ["0x100a43d4", "push ecx"], ["0x100a43d5", "mov eax, dword ptr [ecx]"], ["0x100a43d7", "call dword ptr [eax]"]], "recomp": []}, {"both": [["0x100a43d9", "test eax, eax", "0x10092483"]]}, {"orig": [["0x100a43db", "mov eax, 1"], ["0x100a43e0", "jge 0x2"], ["0x100a43e2", "xor eax, eax"], ["0x100a43e4", "mov ecx, dword ptr [ebp + 8]"], ["0x100a43e7", "pop edi"], ["0x100a43e8", "mov dword ptr [ecx], esi"]], "recomp": [["0x10092485", "je 0x6"], ["0x10092487", "mov eax, dword ptr [ebp - 0x14]"], ["0x1009248a", "mov dword ptr [esi + 4], eax"], ["0x1009248d", "mov eax, dword ptr [ebp + 8]"]]}, {"both": [["0x100a43ea", "mov ecx, dword ptr [ebp - 0xc]", "0x10092490"], ["0x100a43ed", "mov dword ptr fs:[0], ecx", "0x10092493"]]}, {"orig": [], "recomp": [["0x1009249a", "pop edi"], ["0x1009249b", "mov dword ptr [eax], esi"], ["0x1009249d", "mov eax, 1"]]}, {"both": [["0x100a43f4", "pop esi", "0x100924a2"], ["0x100a43f5", "pop ebx", "0x100924a3"], ["0x100a43f6", "mov esp, ebp", "0x100924a4"], ["0x100a43f8", "pop ebp", "0x100924a6"], ["0x100a43f9", "ret 4", "0x100924a7"]]}, {"orig": [["0x100a43fc", "mov eax, <OFFSET7>"]], "recomp": [["0x100924aa", "mov eax, <OFFSET6>"], ["0x100924af", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x100924b4", "mov eax, dword ptr [ebp - 0x10]"], ["0x100924b7", "push eax"], ["0x100924b8", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100924bd", "add esp, 4"], ["0x100924c0", "ret "]]}]]]}, {"address": "0x100a4420", "recomp": "0x100924d0", "name": "OrientableROI::OrientableROI", "matching": 0.9432624113475178, "diff": [["@@ -0x100a44a0,31 +0x10092550,29 @@", [{"both": [["0x100a44a0", "push eax", "0x10092550"], ["0x100a44a1", "mov ecx, ebx", "0x10092551"], ["0x100a44a3", "call Vector2::Vector2 (FUNCTION)", "0x10092553"], ["0x100a44a8", "lea eax, [esi + 0x9c]", "0x10092558"], ["0x100a44ae", "mov dword ptr [ebx], Mx3DPointFloat::`vftable' (VTABLE)", "0x1009255e"], ["0x100a44b4", "lea ebx, [esi + 0x94]", "0x10092564"], ["0x100a44ba", "push eax", "0x1009256a"], ["0x100a44bb", "mov ecx, ebx", "0x1009256b"], ["0x100a44bd", "call Vector2::Vector2 (FUNCTION)", "0x1009256d"], ["0x100a44c2", "lea eax, [esi + 0xb0]", "0x10092572"]]}, {"orig": [], "recomp": [["0x10092578", "lea ecx, [esi + 0xc8]"]]}, {"both": [["0x100a44c8", "mov dword ptr [ebx], Mx3DPointFloat::`vftable' (VTABLE)", "0x1009257e"]]}, {"orig": [["0x100a44ce", "lea ebx, [esi + 0xa8]"], ["0x100a44d4", "push eax"], ["0x100a44d5", "mov ecx, ebx"], ["0x100a44d7", "call Vector3::Vector3 (FUNCTION)"], ["0x100a44dc", "lea eax, [esi + 0xc8]"]], "recomp": [["0x10092584", "mov dword ptr [esi + 0xac], eax"]]}, {"both": [["0x100a44e2", "mov edx, dword ptr [esi + 0x5c]", "0x1009258a"]]}, {"orig": [], "recomp": [["0x1009258d", "mov dword ptr [esi + 0xc4], ecx"]]}, {"both": [["0x100a44e5", "mov ecx, 0x4959038d", "0x10092593"]]}, {"orig": [["0x100a44ea", "mov dword ptr [ebx], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x100a44f0", "mov dword ptr [esi + 0xc4], eax"]], "recomp": []}, {"both": [["0x100a44f6", "mov dword ptr [esi], OrientableROI::`vftable' (VTABLE)", "0x10092598"]]}, {"orig": [], "recomp": [["0x1009259e", "mov dword ptr [esi + 0xa8], Vector2::`vftable' (VTABLE)"], ["0x100925a8", "mov dword ptr [esi + 0xa8], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a44fc", "mov dword ptr [esi + 0xc0], Vector2::`vftable' (VTABLE)", "0x100925b2"], ["0x100a4506", "mov dword ptr [esi + 0xc0], Mx3DPointFloat::`vftable' (VTABLE)", "0x100925bc"], ["0x100a4510", "mov dword ptr [edx], ecx", "0x100925c6"], ["0x100a4512", "mov edx, dword ptr [esi + 0x5c]", "0x100925c8"], ["0x100a4515", "mov dword ptr [edx + 4], ecx", "0x100925cb"], ["0x100a4518", "mov edx, dword ptr [esi + 0x5c]", "0x100925ce"], ["0x100a451b", "mov dword ptr [edx + 8], ecx", "0x100925d1"], ["0x100a451e", "mov ecx, 0xc959038d", "0x100925d4"], ["0x100a4523", "mov eax, dword ptr [esi + 0x70]", "0x100925d9"], ["0x100a4526", "mov dword ptr [eax], ecx", "0x100925dc"]]}]], ["@@ -0x100a45c2,29 +0x10092678,29 @@", [{"both": [["0x100a45c2", "mov dword ptr [eax + 0x2c], edi", "0x10092678"], ["0x100a45c5", "mov eax, dword ptr [esi + 0x14]", "0x1009267b"], ["0x100a45c8", "mov dword ptr [eax + 0x28], ecx", "0x1009267e"], ["0x100a45cb", "mov eax, dword ptr [esi + 0x14]", "0x10092681"], ["0x100a45ce", "mov dword ptr [eax + 0x30], edi", "0x10092684"], ["0x100a45d1", "mov eax, dword ptr [esi + 0x14]", "0x10092687"], ["0x100a45d4", "mov dword ptr [eax + 0x34], edi", "0x1009268a"], ["0x100a45d7", "mov eax, dword ptr [esi + 0x14]", "0x1009268d"], ["0x100a45da", "mov dword ptr [eax + 0x38], edi", "0x10092690"], ["0x100a45dd", "mov eax, dword ptr [esi + 0x14]", "0x10092693"]]}, {"orig": [["0x100a45e0", "mov dword ptr [ebp - 4], 0xffffffff"]], "recomp": []}, {"both": [["0x100a45e7", "mov dword ptr [eax + 0x3c], edi", "0x10092696"], ["0x100a45ea", "mov eax, dword ptr [esi + 0x14]", "0x10092699"]]}, {"orig": [], "recomp": [["0x1009269c", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x100a45ed", "mov dword ptr [eax + 0x3c], ecx", "0x100926a3"], ["0x100a45f0", "mov eax, esi", "0x100926a6"], ["0x100a45f2", "mov ecx, dword ptr [ebp - 0xc]", "0x100926a8"], ["0x100a45f5", "mov dword ptr [esi + 0xd4], edi", "0x100926ab"], ["0x100a45fb", "or dword ptr [esi + 0xd8], 3", "0x100926b1"], ["0x100a4602", "mov dword ptr fs:[0], ecx", "0x100926b8"], ["0x100a4609", "pop edi", "0x100926bf"], ["0x100a460a", "pop esi", "0x100926c0"], ["0x100a460b", "pop ebx", "0x100926c1"], ["0x100a460c", "mov esp, ebp", "0x100926c2"], ["0x100a460e", "pop ebp", "0x100926c4"], ["0x100a460f", "ret ", "0x100926c5"]]}, {"orig": [["0x100a4610", "mov eax, <OFFSET10>"]], "recomp": [["0x100926c6", "mov eax, <OFFSET9>"]]}, {"both": [["0x100a4615", "jmp ___CxxFrameHandler (FUNCTION)", "0x100926cb"], ["0x100a461a", "mov ecx, dword ptr [ebp - 0x10]", "0x100926d0"], ["0x100a461d", "jmp ROI::~ROI (FUNCTION)", "0x100926d3"]]}]]]}, {"address": "0x100a4630", "recomp": "0x10092720", "name": "OrientableROI::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a46a0", "recomp": "0x10092790", "name": "OrientableROI::WrappedSetLocalTransform", "matching": 1.0, "diff": []}, {"address": "0x100a46b0", "recomp": "0x100927a0", "name": "OrientableROI::UpdateTransformationRelativeToParent", "matching": 0.6237161531279178, "diff": [["@@ -0x100a46b0,101 +0x100927a0,100 @@", [{"both": [["0x100a46b0", "sub esp, 0x228", "0x100927a0"], ["0x100a46b6", "lea eax, [esp + 0x1e8]", "0x100927a6"], ["0x100a46bd", "push ebx", "0x100927ad"], ["0x100a46be", "push esi", "0x100927ae"]]}, {"orig": [["0x100a46bf", "xor edx, edx"], ["0x100a46c1", "mov dword ptr [esp + 0x1ec], eax"]], "recomp": [["0x100927af", "xor ebx, ebx"], ["0x100927b1", "mov esi, dword ptr [esp + 0x234]"]]}, {"both": [["0x100a46c8", "push edi", "0x100927b8"]]}, {"orig": [["0x100a46c9", "mov edi, dword ptr [esp + 0x238]"]], "recomp": [["0x100927b9", "mov dword ptr [esp + 0x1f0], eax"]]}, {"both": [["0x100a46d0", "push ebp", "0x100927c0"], ["0x100a46d1", "mov dword ptr [esp + 0x1f0], MxMatrix::`vftable' (VTABLE)", "0x100927c1"]]}, {"orig": [["0x100a46dc", "mov dword ptr [esp + 0xb0], edx"], ["0x100a46e3", "xor ebx, ebx"], ["0x100a46e5", "mov esi, dword ptr [esp + 0xb0]"]], "recomp": [["0x100927cc", "mov dword ptr [esp + 0xb0], ebx"], ["0x100927d3", "xor edi, edi"], ["0x100927d5", "mov edx, dword ptr [esp + 0xb0]"]]}, {"both": [["0x100a46ec", "jmp 0x4", "0x100927dc"]]}, {"orig": [["0x100a46ee", "fstp qword ptr [esp + esi + 0x10]"], ["0x100a46f2", "cmp ebx, 4"]], "recomp": [["0x100927de", "fstp qword ptr [esp + edx + 0x10]"], ["0x100927e2", "cmp edi, 4"]]}, {"both": [["0x100a46f5", "jge 0x21", "0x100927e5"]]}, {"orig": [["0x100a46f7", "lea eax, [edx + ebx]"], ["0x100a46fa", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x100927e7", "lea eax, [ebx + edi]"], ["0x100927ea", "mov ebp, dword ptr [esi + 4]"]]}, {"both": [["0x100a46fd", "shl eax, 2", "0x100927ed"]]}, {"orig": [["0x100a4700", "add esi, 8"], ["0x100a4703", "inc ebx"]], "recomp": [["0x100927f0", "add edx, 8"], ["0x100927f3", "inc edi"]]}, {"both": [["0x100a4704", "fld dword ptr [ebp + eax]", "0x100927f4"], ["0x100a4708", "mov ebp, dword ptr [ecx + 0x14]", "0x100927f8"]]}, {"orig": [["0x100a470b", "fstp qword ptr [esp + esi + 0x130]"]], "recomp": [["0x100927fb", "fstp qword ptr [esp + edx + 0x130]"]]}, {"both": [["0x100a4712", "fld dword ptr [ebp + eax]", "0x10092802"], ["0x100a4716", "jmp -0x2a", "0x10092806"], ["0x100a4718", "add dword ptr [esp + 0xb0], 0x20", "0x10092808"]]}, {"orig": [["0x100a4720", "add edx, 4"]], "recomp": [["0x10092810", "add ebx, 4"]]}, {"both": [["0x100a4723", "cmp dword ptr [esp + 0xb0], 0x80", "0x10092813"], ["0x100a472e", "jl -0x4d", "0x1009281e"], ["0x100a4730", "fld qword ptr [esp + 0x80]", "0x10092820"], ["0x100a4737", "fmul qword ptr [esp + 0x58]", "0x10092827"]]}, {"orig": [["0x100a473b", "fld qword ptr [esp + 0x78]"], ["0x100a473f", "fmul qword ptr [esp + 0x60]"]], "recomp": [["0x1009282b", "fld qword ptr [esp + 0x60]"], ["0x1009282f", "fmul qword ptr [esp + 0x78]"]]}, {"both": [["0x100a4743", "fsubp st(1)", "0x10092833"], ["0x100a4745", "fld qword ptr [esp + 0x58]", "0x10092835"], ["0x100a4749", "fmul qword ptr [esp + 0x90]", "0x10092839"], ["0x100a4750", "fld qword ptr [esp + 0x70]", "0x10092840"], ["0x100a4754", "fmul qword ptr [esp + 0x78]", "0x10092844"], ["0x100a4758", "fsubp st(1)", "0x10092848"]]}, {"orig": [["0x100a475a", "fld qword ptr [esp + 0x90]"], ["0x100a4761", "fmul qword ptr [esp + 0x60]"]], "recomp": [["0x1009284a", "fld qword ptr [esp + 0x60]"], ["0x1009284e", "fmul qword ptr [esp + 0x90]"]]}, {"both": [["0x100a4765", "fld qword ptr [esp + 0x80]", "0x10092855"], ["0x100a476c", "fmul qword ptr [esp + 0x70]", "0x1009285c"], ["0x100a4770", "fsubp st(1)", "0x10092860"], ["0x100a4772", "fld qword ptr [esp + 0x50]", "0x10092862"], ["0x100a4776", "fmul st(3)", "0x10092866"], ["0x100a4778", "fld qword ptr [esp + 0x40]", "0x10092868"], ["0x100a477c", "fmul st(3)", "0x1009286c"], ["0x100a477e", "fsubp st(1)", "0x1009286e"], ["0x100a4780", "fld qword ptr [esp + 0x38]", "0x10092870"], ["0x100a4784", "fmul st(2)", "0x10092874"], ["0x100a4786", "faddp st(1)", "0x10092876"]]}, {"orig": [["0x100a4788", "fld qword ptr [esp + 0x88]"], ["0x100a478f", "fmul qword ptr [esp + 0x60]"]], "recomp": [["0x10092878", "fld qword ptr [esp + 0x58]"], ["0x1009287c", "fmul qword ptr [esp + 0x88]"], ["0x10092883", "fld qword ptr [esp + 0x78]"], ["0x10092887", "fmul qword ptr [esp + 0x68]"], ["0x1009288b", "fsubp st(1)"], ["0x1009288d", "fld qword ptr [esp + 0x60]"], ["0x10092891", "fmul qword ptr [esp + 0x88]"]]}, {"both": [["0x100a4793", "fld qword ptr [esp + 0x80]", "0x10092898"], ["0x100a479a", "fmul qword ptr [esp + 0x68]", "0x1009289f"], ["0x100a479e", "fsubp st(1)", "0x100928a3"]]}, {"orig": [["0x100a47a0", "fld qword ptr [esp + 0x88]"], ["0x100a47a7", "fmul qword ptr [esp + 0x58]"], ["0x100a47ab", "fld qword ptr [esp + 0x78]"], ["0x100a47af", "fmul qword ptr [esp + 0x68]"]], "recomp": [["0x100928a5", "fstp qword ptr [esp + 0x130]"], ["0x100928ac", "fld qword ptr [esp + 0x48]"], ["0x100928b0", "fmul st(5)"], ["0x100928b2", "fld qword ptr [esp + 0x40]"], ["0x100928b6", "fmul st(2)"]]}, {"both": [["0x100a47b3", "fsubp st(1)", "0x100928b8"]]}, {"orig": [["0x100a47b5", "fstp qword ptr [esp + 0x130]"]], "recomp": []}, {"both": [["0x100a47bc", "fld qword ptr [esp + 0x38]", "0x100928ba"]]}, {"orig": [["0x100a47c0", "fmul st(1)"], ["0x100a47c2", "fld qword ptr [esp + 0x40]"]], "recomp": []}, {"both": [["0x100a47c6", "fmul qword ptr [esp + 0x130]", "0x100928be"]]}, {"orig": [["0x100a47cd", "fsubp st(1)"], ["0x100a47cf", "fld qword ptr [esp + 0x48]"], ["0x100a47d3", "fmul st(6)"]], "recomp": []}, {"both": [["0x100a47d5", "faddp st(1)", "0x100928c5"], ["0x100a47d7", "fstp qword ptr [esp + 0x1d0]", "0x100928c7"], ["0x100a47de", "fld qword ptr [esp + 0x68]", "0x100928ce"], ["0x100a47e2", "fmul qword ptr [esp + 0x90]", "0x100928d2"], ["0x100a47e9", "fld qword ptr [esp + 0x70]", "0x100928d9"], ["0x100a47ed", "fmul qword ptr [esp + 0x88]", "0x100928dd"], ["0x100a47f4", "fsubp st(1)", "0x100928e4"]]}, {"orig": [["0x100a47f6", "fstp qword ptr [esp + 0xa0]"], ["0x100a47fd", "fld qword ptr [esp + 0x50]"], ["0x100a4801", "fmul qword ptr [esp + 0x130]"]], "recomp": [["0x100928e6", "fst qword ptr [esp + 0xa0]"], ["0x100928ed", "fmul qword ptr [esp + 0x38]"]]}, {"both": [["0x100a4808", "fld qword ptr [esp + 0x48]", "0x100928f1"], ["0x100a480c", "fmul st(5)", "0x100928f5"], ["0x100a480e", "fsubp st(1)", "0x100928f7"]]}, {"orig": [["0x100a4810", "fld qword ptr [esp + 0x38]"], ["0x100a4814", "fmul qword ptr [esp + 0xa0]"]], "recomp": [["0x100928f9", "fld qword ptr [esp + 0x50]"], ["0x100928fd", "fmul st(2)"]]}, {"both": [["0x100a481b", "faddp st(1)", "0x100928ff"], ["0x100a481d", "fstp qword ptr [esp + 0x98]", "0x10092901"], ["0x100a4824", "fld qword ptr [esp + 0x50]", "0x10092908"]]}, {"orig": [["0x100a4828", "fmul st(1)"]], "recomp": [["0x1009290c", "fmul qword ptr [esp + 0x130]"]]}, {"both": [["0x100a482a", "fld qword ptr [esp + 0x48]", "0x10092913"], ["0x100a482e", "fmul st(4)", "0x10092917"], ["0x100a4830", "fsubp st(1)", "0x10092919"], ["0x100a4832", "fld qword ptr [esp + 0x40]", "0x1009291b"], ["0x100a4836", "fmul qword ptr [esp + 0xa0]", "0x1009291f"], ["0x100a483d", "faddp st(1)", "0x10092926"], ["0x100a483f", "fstp qword ptr [esp + 0xb0]", "0x10092928"], ["0x100a4846", "fld qword ptr [esp + 0x28]", "0x1009292f"], ["0x100a484a", "fmul st(2)", "0x10092933"], ["0x100a484c", "fld qword ptr [esp + 0x30]", "0x10092935"]]}]], ["@@ -0x100a485d,21 +0x10092946,21 @@", [{"both": [["0x100a485d", "fmul qword ptr [esp + 0x98]", "0x10092946"], ["0x100a4864", "fsubp st(1)", "0x1009294d"], ["0x100a4866", "fld qword ptr [esp + 0x18]", "0x1009294f"], ["0x100a486a", "fmul qword ptr [esp + 0xb0]", "0x10092953"], ["0x100a4871", "faddp st(1)", "0x1009295a"], ["0x100a4873", "fdivr qword ptr [1.0 (FLOAT)]", "0x1009295c"], ["0x100a4879", "fst qword ptr [esp + 0x10]", "0x10092962"], ["0x100a487d", "fmul qword ptr [esp + 0xb0]", "0x10092966"], ["0x100a4884", "fstp qword ptr [esp + 0xb0]", "0x1009296d"], ["0x100a488b", "fld qword ptr [esp + 0x30]", "0x10092974"]]}, {"orig": [["0x100a488f", "fmul st(1)"]], "recomp": [["0x10092978", "fmul qword ptr [esp + 0x130]"]]}, {"both": [["0x100a4891", "fld qword ptr [esp + 0x28]", "0x1009297f"], ["0x100a4895", "fmul st(4)", "0x10092983"], ["0x100a4897", "fsubp st(1)", "0x10092985"], ["0x100a4899", "fld qword ptr [esp + 0x20]", "0x10092987"], ["0x100a489d", "fmul qword ptr [esp + 0xa0]", "0x1009298b"], ["0x100a48a4", "faddp st(1)", "0x10092992"], ["0x100a48a6", "fchs ", "0x10092994"], ["0x100a48a8", "fmul qword ptr [esp + 0x10]", "0x10092996"], ["0x100a48ac", "fstp qword ptr [esp + 0xb8]", "0x1009299a"], ["0x100a48b3", "fld qword ptr [esp + 0x40]", "0x100929a1"]]}]], ["@@ -0x100a4910,82 +0x100929fe,82 @@", [{"both": [["0x100a4910", "fld qword ptr [esp + 0x30]", "0x100929fe"], ["0x100a4914", "fmul qword ptr [esp + 0x1d8]", "0x10092a02"], ["0x100a491b", "fld qword ptr [esp + 0x28]", "0x10092a09"], ["0x100a491f", "fmul qword ptr [esp + 0x1c0]", "0x10092a0d"], ["0x100a4926", "fsubp st(1)", "0x10092a14"], ["0x100a4928", "fld qword ptr [esp + 0x20]", "0x10092a16"], ["0x100a492c", "fmul qword ptr [esp + 0xa8]", "0x10092a1a"], ["0x100a4933", "faddp st(1)", "0x10092a21"], ["0x100a4935", "fmul qword ptr [esp + 0x10]", "0x10092a23"], ["0x100a4939", "fstp qword ptr [esp + 0xc0]", "0x10092a27"]]}, {"orig": [], "recomp": [["0x10092a2e", "fld qword ptr [esp + 0x40]"], ["0x10092a32", "fmul qword ptr [esp + 0x68]"], ["0x10092a36", "fld qword ptr [esp + 0x60]"], ["0x10092a3a", "fmul qword ptr [esp + 0x48]"], ["0x10092a3e", "fsubp st(1)"], ["0x10092a40", "fstp qword ptr [esp + 0x1e8]"], ["0x10092a47", "fld qword ptr [esp + 0x70]"], ["0x10092a4b", "fmul qword ptr [esp + 0x40]"], ["0x10092a4f", "fld qword ptr [esp + 0x60]"], ["0x10092a53", "fmul qword ptr [esp + 0x50]"], ["0x10092a57", "fsubp st(1)"], ["0x10092a59", "fstp qword ptr [esp + 0x1c8]"]]}, {"both": [["0x100a4940", "fld qword ptr [esp + 0x70]", "0x10092a60"], ["0x100a4944", "fmul qword ptr [esp + 0x48]", "0x10092a64"], ["0x100a4948", "fld qword ptr [esp + 0x50]", "0x10092a68"], ["0x100a494c", "fmul qword ptr [esp + 0x68]", "0x10092a6c"], ["0x100a4950", "fsubp st(1)", "0x10092a70"], ["0x100a4952", "fstp qword ptr [esp + 0x1b8]", "0x10092a72"]]}, {"orig": [["0x100a4959", "fld qword ptr [esp + 0x70]"], ["0x100a495d", "fmul qword ptr [esp + 0x40]"], ["0x100a4961", "fld qword ptr [esp + 0x50]"], ["0x100a4965", "fmul qword ptr [esp + 0x60]"], ["0x100a4969", "fsubp st(1)"], ["0x100a496b", "fstp qword ptr [esp + 0x1c8]"], ["0x100a4972", "fld qword ptr [esp + 0x40]"], ["0x100a4976", "fmul qword ptr [esp + 0x68]"], ["0x100a497a", "fld qword ptr [esp + 0x48]"], ["0x100a497e", "fmul qword ptr [esp + 0x60]"], ["0x100a4982", "fsubp st(1)"], ["0x100a4984", "fstp qword ptr [esp + 0x1e8]"], ["0x100a498b", "fld qword ptr [esp + 0x20]"], ["0x100a498f", "fmul qword ptr [esp + 0x1b8]"]], "recomp": [["0x10092a79", "fld qword ptr [esp + 0x30]"], ["0x10092a7d", "fmul qword ptr [esp + 0x1e8]"]]}, {"both": [["0x100a4996", "fld qword ptr [esp + 0x28]", "0x10092a84"], ["0x100a499a", "fmul qword ptr [esp + 0x1c8]", "0x10092a88"], ["0x100a49a1", "fsubp st(1)", "0x10092a8f"]]}, {"orig": [["0x100a49a3", "fld qword ptr [esp + 0x30]"], ["0x100a49a7", "fmul qword ptr [esp + 0x1e8]"]], "recomp": [["0x10092a91", "fld qword ptr [esp + 0x20]"], ["0x10092a95", "fmul qword ptr [esp + 0x1b8]"]]}, {"both": [["0x100a49ae", "faddp st(1)", "0x10092a9c"], ["0x100a49b0", "fchs ", "0x10092a9e"], ["0x100a49b2", "fmul qword ptr [esp + 0x10]", "0x10092aa0"], ["0x100a49b6", "fstp qword ptr [esp + 0xc8]", "0x10092aa4"], ["0x100a49bd", "fld qword ptr [esp + 0x98]", "0x10092aab"], ["0x100a49c4", "fchs ", "0x10092ab2"], ["0x100a49c6", "fmul qword ptr [esp + 0x10]", "0x10092ab4"], ["0x100a49ca", "fstp qword ptr [esp + 0xd0]", "0x10092ab8"], ["0x100a49d1", "fld qword ptr [esp + 0x30]", "0x10092abf"]]}, {"orig": [["0x100a49d5", "fmul qword ptr [esp + 0x130]"]], "recomp": [["0x10092ac3", "fmul st(1)"]]}, {"both": [["0x100a49dc", "fld qword ptr [esp + 0x28]", "0x10092ac5"], ["0x100a49e0", "fmul st(5)", "0x10092ac9"], ["0x100a49e2", "fsubp st(1)", "0x10092acb"], ["0x100a49e4", "fld qword ptr [esp + 0x18]", "0x10092acd"], ["0x100a49e8", "fmul qword ptr [esp + 0xa0]", "0x10092ad1"], ["0x100a49ef", "faddp st(1)", "0x10092ad8"], ["0x100a49f1", "fmul qword ptr [esp + 0x10]", "0x10092ada"], ["0x100a49f5", "fstp qword ptr [esp + 0xd8]", "0x10092ade"], ["0x100a49fc", "fld qword ptr [esp + 0x38]", "0x10092ae5"]]}, {"orig": [], "recomp": [["0x10092ae9", "fmul qword ptr [esp + 0x88]"], ["0x10092af0", "fld qword ptr [esp + 0x78]"], ["0x10092af4", "fmul qword ptr [esp + 0x48]"], ["0x10092af8", "fsubp st(1)"], ["0x10092afa", "fstp qword ptr [esp + 0xa0]"], ["0x10092b01", "fld qword ptr [esp + 0x38]"]]}, {"both": [["0x100a4a00", "fmul qword ptr [esp + 0x90]", "0x10092b05"], ["0x100a4a07", "fld qword ptr [esp + 0x50]", "0x10092b0c"], ["0x100a4a0b", "fmul qword ptr [esp + 0x78]", "0x10092b10"], ["0x100a4a0f", "fsubp st(1)", "0x10092b14"], ["0x100a4a11", "fstp qword ptr [esp + 0x98]", "0x10092b16"]]}, {"orig": [["0x100a4a18", "fld qword ptr [esp + 0x88]"], ["0x100a4a1f", "fmul qword ptr [esp + 0x38]"], ["0x100a4a23", "fld qword ptr [esp + 0x78]"], ["0x100a4a27", "fmul qword ptr [esp + 0x48]"], ["0x100a4a2b", "fsubp st(1)"], ["0x100a4a2d", "fstp qword ptr [esp + 0xa0]"], ["0x100a4a34", "fld qword ptr [esp + 0x18]"], ["0x100a4a38", "fmul qword ptr [esp + 0xa8]"]], "recomp": [["0x10092b1d", "fld qword ptr [esp + 0x30]"], ["0x10092b21", "fmul qword ptr [esp + 0xa0]"]]}, {"both": [["0x100a4a3f", "fld qword ptr [esp + 0x28]", "0x10092b28"], ["0x100a4a43", "fmul qword ptr [esp + 0x98]", "0x10092b2c"], ["0x100a4a4a", "fsubp st(1)", "0x10092b33"]]}, {"orig": [["0x100a4a4c", "fld qword ptr [esp + 0x30]"], ["0x100a4a50", "fmul qword ptr [esp + 0xa0]"]], "recomp": [["0x10092b35", "fld qword ptr [esp + 0x18]"], ["0x10092b39", "fmul qword ptr [esp + 0xa8]"]]}, {"both": [["0x100a4a57", "faddp st(1)", "0x10092b40"], ["0x100a4a59", "fchs ", "0x10092b42"], ["0x100a4a5b", "fmul qword ptr [esp + 0x10]", "0x10092b44"], ["0x100a4a5f", "fstp qword ptr [esp + 0xe0]", "0x10092b48"], ["0x100a4a66", "fld qword ptr [esp + 0x68]", "0x10092b4f"], ["0x100a4a6a", "fmul qword ptr [esp + 0x38]", "0x10092b53"], ["0x100a4a6e", "fld qword ptr [esp + 0x58]", "0x10092b57"], ["0x100a4a72", "fmul qword ptr [esp + 0x48]", "0x10092b5b"], ["0x100a4a76", "fsubp st(1)", "0x10092b5f"], ["0x100a4a78", "fstp qword ptr [esp + 0x1e0]", "0x10092b61"]]}]], ["@@ -0x100a4ae7,32 +0x10092bd0,32 @@", [{"both": [["0x100a4ae7", "fmul st(3)", "0x10092bd0"], ["0x100a4ae9", "faddp st(1)", "0x10092bd2"], ["0x100a4aeb", "fchs ", "0x10092bd4"], ["0x100a4aed", "fmul qword ptr [esp + 0x10]", "0x10092bd6"], ["0x100a4af1", "fstp qword ptr [esp + 0xf8]", "0x10092bda"], ["0x100a4af8", "fld qword ptr [esp + 0x80]", "0x10092be1"], ["0x100a4aff", "fmul qword ptr [esp + 0x38]", "0x10092be8"], ["0x100a4b03", "fld qword ptr [esp + 0x40]", "0x10092bec"], ["0x100a4b07", "fmul qword ptr [esp + 0x78]", "0x10092bf0"], ["0x100a4b0b", "fsubp st(1)", "0x10092bf4"]]}, {"orig": [["0x100a4b0d", "fld qword ptr [esp + 0x18]"], ["0x100a4b11", "fmul qword ptr [esp + 0x1c0]"]], "recomp": [["0x10092bf6", "fld qword ptr [esp + 0x30]"], ["0x10092bfa", "fmul st(1)"]]}, {"both": [["0x100a4b18", "fld qword ptr [esp + 0x20]", "0x10092bfc"], ["0x100a4b1c", "fmul qword ptr [esp + 0x98]", "0x10092c00"], ["0x100a4b23", "fsubp st(1)", "0x10092c07"]]}, {"orig": [["0x100a4b25", "fld qword ptr [esp + 0x30]"], ["0x100a4b29", "fmul st(2)"]], "recomp": [["0x10092c09", "fld qword ptr [esp + 0x18]"], ["0x10092c0d", "fmul qword ptr [esp + 0x1c0]"]]}, {"both": [["0x100a4b2b", "faddp st(1)", "0x10092c14"], ["0x100a4b2d", "fmul qword ptr [esp + 0x10]", "0x10092c16"], ["0x100a4b31", "fstp qword ptr [esp + 0x100]", "0x10092c1a"]]}, {"orig": [["0x100a4b38", "fld qword ptr [esp + 0x38]"], ["0x100a4b3c", "fmul qword ptr [esp + 0x60]"]], "recomp": [["0x10092c21", "fld qword ptr [esp + 0x60]"], ["0x10092c25", "fmul qword ptr [esp + 0x38]"]]}, {"both": [["0x100a4b40", "fld qword ptr [esp + 0x40]", "0x10092c29"], ["0x100a4b44", "fmul qword ptr [esp + 0x58]", "0x10092c2d"], ["0x100a4b48", "fsubp st(1)", "0x10092c31"], ["0x100a4b4a", "fst qword ptr [esp + 0x98]", "0x10092c33"], ["0x100a4b51", "fmul qword ptr [esp + 0x30]", "0x10092c3a"], ["0x100a4b55", "fld qword ptr [esp + 0x20]", "0x10092c3e"], ["0x100a4b59", "fmul qword ptr [esp + 0xa8]", "0x10092c42"], ["0x100a4b60", "fsubp st(1)", "0x10092c49"], ["0x100a4b62", "fld qword ptr [esp + 0x18]", "0x10092c4b"], ["0x100a4b66", "fmul qword ptr [esp + 0x1c8]", "0x10092c4f"]]}]], ["@@ -0x100a4b6f,24 +0x10092c58,24 @@", [{"both": [["0x100a4b6f", "fchs ", "0x10092c58"], ["0x100a4b71", "fmul qword ptr [esp + 0x10]", "0x10092c5a"], ["0x100a4b75", "fstp qword ptr [esp + 0x108]", "0x10092c5e"], ["0x100a4b7c", "fld qword ptr [esp + 0x1d0]", "0x10092c65"], ["0x100a4b83", "fchs ", "0x10092c6c"], ["0x100a4b85", "fmul qword ptr [esp + 0x10]", "0x10092c6e"], ["0x100a4b89", "fstp qword ptr [esp + 0x110]", "0x10092c72"], ["0x100a4b90", "fxch st(4)", "0x10092c79"], ["0x100a4b92", "fmul qword ptr [esp + 0x28]", "0x10092c7b"], ["0x100a4b96", "fld qword ptr [esp + 0x20]", "0x10092c7f"]]}, {"orig": [], "recomp": [["0x10092c83", "fmulp st(2)"], ["0x10092c85", "fsubrp st(1)"], ["0x10092c87", "fld qword ptr [esp + 0x18]"]]}, {"both": [["0x100a4b9a", "fmul qword ptr [esp + 0x130]", "0x10092c8b"]]}, {"orig": [["0x100a4ba1", "fsubp st(1)"], ["0x100a4ba3", "fld qword ptr [esp + 0x18]"], ["0x100a4ba7", "fmulp st(2)"]], "recomp": []}, {"both": [["0x100a4ba9", "faddp st(1)", "0x10092c92"], ["0x100a4bab", "fmul qword ptr [esp + 0x10]", "0x10092c94"], ["0x100a4baf", "fstp qword ptr [esp + 0x118]", "0x10092c98"], ["0x100a4bb6", "fxch st(2)", "0x10092c9f"], ["0x100a4bb8", "fmul qword ptr [esp + 0x28]", "0x10092ca1"], ["0x100a4bbc", "fld qword ptr [esp + 0x20]", "0x10092ca5"], ["0x100a4bc0", "fmul qword ptr [esp + 0xa0]", "0x10092ca9"], ["0x100a4bc7", "fsubp st(1)", "0x10092cb0"], ["0x100a4bc9", "fld qword ptr [esp + 0x18]", "0x10092cb2"], ["0x100a4bcd", "fmul qword ptr [esp + 0x1d8]", "0x10092cb6"]]}]], ["@@ -0x100a4be3,213 +0x10092ccc,213 @@", [{"both": [["0x100a4be3", "fld qword ptr [esp + 0x28]", "0x10092ccc"], ["0x100a4be7", "fmul qword ptr [esp + 0x98]", "0x10092cd0"], ["0x100a4bee", "fld qword ptr [esp + 0x20]", "0x10092cd7"], ["0x100a4bf2", "fmul qword ptr [esp + 0x1e0]", "0x10092cdb"], ["0x100a4bf9", "fsubp st(1)", "0x10092ce2"], ["0x100a4bfb", "fld qword ptr [esp + 0x18]", "0x10092ce4"], ["0x100a4bff", "fmul qword ptr [esp + 0x1e8]", "0x10092ce8"], ["0x100a4c06", "faddp st(1)", "0x10092cef"], ["0x100a4c08", "fmul qword ptr [esp + 0x10]", "0x10092cf1"], ["0x100a4c0c", "fstp qword ptr [esp + 0x128]", "0x10092cf5"]]}, {"orig": [["0x100a4c13", "fld qword ptr [esp + 0xc8]"], ["0x100a4c1a", "fmul qword ptr [esp + 0x198]"], ["0x100a4c21", "fld qword ptr [esp + 0xb8]"], ["0x100a4c28", "fmul qword ptr [esp + 0x158]"]], "recomp": [["0x10092cfc", "fld qword ptr [esp + 0x198]"], ["0x10092d03", "fmul qword ptr [esp + 0xc8]"], ["0x10092d0a", "fld qword ptr [esp + 0x158]"], ["0x10092d11", "fmul qword ptr [esp + 0xb8]"]]}, {"both": [["0x100a4c2f", "faddp st(1)", "0x10092d18"]]}, {"orig": [["0x100a4c31", "fld qword ptr [esp + 0xc0]"], ["0x100a4c38", "fmul qword ptr [esp + 0x178]"]], "recomp": [["0x10092d1a", "fld qword ptr [esp + 0x178]"], ["0x10092d21", "fmul qword ptr [esp + 0xc0]"]]}, {"both": [["0x100a4c3f", "faddp st(1)", "0x10092d28"]]}, {"orig": [["0x100a4c41", "fld qword ptr [esp + 0xb0]"], ["0x100a4c48", "fmul qword ptr [esp + 0x138]"]], "recomp": [["0x10092d2a", "fld qword ptr [esp + 0x138]"], ["0x10092d31", "fmul qword ptr [esp + 0xb0]"]]}, {"both": [["0x100a4c4f", "faddp st(1)", "0x10092d38"], ["0x100a4c51", "fstp qword ptr [esp + 0x18]", "0x10092d3a"]]}, {"orig": [["0x100a4c55", "fld qword ptr [esp + 0xc0]"], ["0x100a4c5c", "fmul qword ptr [esp + 0x180]"], ["0x100a4c63", "fld qword ptr [esp + 0xb8]"], ["0x100a4c6a", "fmul qword ptr [esp + 0x160]"]], "recomp": [["0x10092d3e", "fld qword ptr [esp + 0x1a0]"], ["0x10092d45", "fmul qword ptr [esp + 0xc8]"], ["0x10092d4c", "fld qword ptr [esp + 0x160]"], ["0x10092d53", "fmul qword ptr [esp + 0xb8]"]]}, {"both": [["0x100a4c71", "faddp st(1)", "0x10092d5a"]]}, {"orig": [["0x100a4c73", "fld qword ptr [esp + 0xc8]"], ["0x100a4c7a", "fmul qword ptr [esp + 0x1a0]"]], "recomp": [["0x10092d5c", "fld qword ptr [esp + 0x180]"], ["0x10092d63", "fmul qword ptr [esp + 0xc0]"]]}, {"both": [["0x100a4c81", "faddp st(1)", "0x10092d6a"]]}, {"orig": [["0x100a4c83", "fld qword ptr [esp + 0xb0]"], ["0x100a4c8a", "fmul qword ptr [esp + 0x140]"]], "recomp": [["0x10092d6c", "fld qword ptr [esp + 0x140]"], ["0x10092d73", "fmul qword ptr [esp + 0xb0]"]]}, {"both": [["0x100a4c91", "faddp st(1)", "0x10092d7a"], ["0x100a4c93", "fstp qword ptr [esp + 0x20]", "0x10092d7c"]]}, {"orig": [["0x100a4c97", "fld qword ptr [esp + 0xc8]"], ["0x100a4c9e", "fmul qword ptr [esp + 0x1a8]"], ["0x100a4ca5", "fld qword ptr [esp + 0xb8]"], ["0x100a4cac", "fmul qword ptr [esp + 0x168]"]], "recomp": [["0x10092d80", "fld qword ptr [esp + 0x1a8]"], ["0x10092d87", "fmul qword ptr [esp + 0xc8]"], ["0x10092d8e", "fld qword ptr [esp + 0x168]"], ["0x10092d95", "fmul qword ptr [esp + 0xb8]"]]}, {"both": [["0x100a4cb3", "faddp st(1)", "0x10092d9c"]]}, {"orig": [["0x100a4cb5", "fld qword ptr [esp + 0xc0]"], ["0x100a4cbc", "fmul qword ptr [esp + 0x188]"]], "recomp": [["0x10092d9e", "fld qword ptr [esp + 0x188]"], ["0x10092da5", "fmul qword ptr [esp + 0xc0]"]]}, {"both": [["0x100a4cc3", "faddp st(1)", "0x10092dac"]]}, {"orig": [["0x100a4cc5", "fld qword ptr [esp + 0xb0]"], ["0x100a4ccc", "fmul qword ptr [esp + 0x148]"]], "recomp": [["0x10092dae", "fld qword ptr [esp + 0x148]"], ["0x10092db5", "fmul qword ptr [esp + 0xb0]"]]}, {"both": [["0x100a4cd3", "faddp st(1)", "0x10092dbc"], ["0x100a4cd5", "fstp qword ptr [esp + 0x28]", "0x10092dbe"]]}, {"orig": [["0x100a4cd9", "fld qword ptr [esp + 0xc0]"], ["0x100a4ce0", "fmul qword ptr [esp + 0x190]"], ["0x100a4ce7", "fld qword ptr [esp + 0xb8]"], ["0x100a4cee", "fmul qword ptr [esp + 0x170]"]], "recomp": [["0x10092dc2", "fld qword ptr [esp + 0x1b0]"], ["0x10092dc9", "fmul qword ptr [esp + 0xc8]"], ["0x10092dd0", "fld qword ptr [esp + 0x170]"], ["0x10092dd7", "fmul qword ptr [esp + 0xb8]"]]}, {"both": [["0x100a4cf5", "faddp st(1)", "0x10092dde"]]}, {"orig": [["0x100a4cf7", "fld qword ptr [esp + 0xc8]"], ["0x100a4cfe", "fmul qword ptr [esp + 0x1b0]"]], "recomp": [["0x10092de0", "fld qword ptr [esp + 0x190]"], ["0x10092de7", "fmul qword ptr [esp + 0xc0]"]]}, {"both": [["0x100a4d05", "faddp st(1)", "0x10092dee"]]}, {"orig": [["0x100a4d07", "fld qword ptr [esp + 0xb0]"], ["0x100a4d0e", "fmul qword ptr [esp + 0x150]"]], "recomp": [["0x10092df0", "fld qword ptr [esp + 0x150]"], ["0x10092df7", "fmul qword ptr [esp + 0xb0]"]]}, {"both": [["0x100a4d15", "faddp st(1)", "0x10092dfe"], ["0x100a4d17", "fstp qword ptr [esp + 0x30]", "0x10092e00"]]}, {"orig": [["0x100a4d1b", "fld qword ptr [esp + 0xd8]"], ["0x100a4d22", "fmul qword ptr [esp + 0x158]"], ["0x100a4d29", "fld qword ptr [esp + 0xe8]"], ["0x100a4d30", "fmul qword ptr [esp + 0x198]"]], "recomp": [["0x10092e04", "fld qword ptr [esp + 0x178]"], ["0x10092e0b", "fmul qword ptr [esp + 0xe0]"], ["0x10092e12", "fld qword ptr [esp + 0x198]"], ["0x10092e19", "fmul qword ptr [esp + 0xe8]"]]}, {"both": [["0x100a4d37", "faddp st(1)", "0x10092e20"]]}, {"orig": [["0x100a4d39", "fld qword ptr [esp + 0xe0]"], ["0x100a4d40", "fmul qword ptr [esp + 0x178]"]], "recomp": [["0x10092e22", "fld qword ptr [esp + 0x158]"], ["0x10092e29", "fmul qword ptr [esp + 0xd8]"]]}, {"both": [["0x100a4d47", "faddp st(1)", "0x10092e30"]]}, {"orig": [["0x100a4d49", "fld qword ptr [esp + 0xd0]"], ["0x100a4d50", "fmul qword ptr [esp + 0x138]"]], "recomp": [["0x10092e32", "fld qword ptr [esp + 0x138]"], ["0x10092e39", "fmul qword ptr [esp + 0xd0]"]]}, {"both": [["0x100a4d57", "faddp st(1)", "0x10092e40"], ["0x100a4d59", "fstp qword ptr [esp + 0x38]", "0x10092e42"]]}, {"orig": [["0x100a4d5d", "fld qword ptr [esp + 0xe0]"], ["0x100a4d64", "fmul qword ptr [esp + 0x180]"], ["0x100a4d6b", "fld qword ptr [esp + 0xd8]"], ["0x100a4d72", "fmul qword ptr [esp + 0x160]"]], "recomp": [["0x10092e46", "fld qword ptr [esp + 0x1a0]"], ["0x10092e4d", "fmul qword ptr [esp + 0xe8]"], ["0x10092e54", "fld qword ptr [esp + 0x160]"], ["0x10092e5b", "fmul qword ptr [esp + 0xd8]"]]}, {"both": [["0x100a4d79", "faddp st(1)", "0x10092e62"]]}, {"orig": [["0x100a4d7b", "fld qword ptr [esp + 0xd0]"], ["0x100a4d82", "fmul qword ptr [esp + 0x140]"]], "recomp": [["0x10092e64", "fld qword ptr [esp + 0x180]"], ["0x10092e6b", "fmul qword ptr [esp + 0xe0]"]]}, {"both": [["0x100a4d89", "faddp st(1)", "0x10092e72"]]}, {"orig": [["0x100a4d8b", "fld qword ptr [esp + 0xe8]"], ["0x100a4d92", "fmul qword ptr [esp + 0x1a0]"]], "recomp": [["0x10092e74", "fld qword ptr [esp + 0x140]"], ["0x10092e7b", "fmul qword ptr [esp + 0xd0]"]]}, {"both": [["0x100a4d99", "faddp st(1)", "0x10092e82"], ["0x100a4d9b", "fstp qword ptr [esp + 0x40]", "0x10092e84"]]}, {"orig": [["0x100a4d9f", "fld qword ptr [esp + 0xd8]"], ["0x100a4da6", "fmul qword ptr [esp + 0x168]"], ["0x100a4dad", "fld qword ptr [esp + 0xe8]"], ["0x100a4db4", "fmul qword ptr [esp + 0x1a8]"]], "recomp": [["0x10092e88", "fld qword ptr [esp + 0x188]"], ["0x10092e8f", "fmul qword ptr [esp + 0xe0]"], ["0x10092e96", "fld qword ptr [esp + 0x1a8]"], ["0x10092e9d", "fmul qword ptr [esp + 0xe8]"]]}, {"both": [["0x100a4dbb", "faddp st(1)", "0x10092ea4"]]}, {"orig": [["0x100a4dbd", "fld qword ptr [esp + 0xe0]"], ["0x100a4dc4", "fmul qword ptr [esp + 0x188]"]], "recomp": [["0x10092ea6", "fld qword ptr [esp + 0x168]"], ["0x10092ead", "fmul qword ptr [esp + 0xd8]"]]}, {"both": [["0x100a4dcb", "faddp st(1)", "0x10092eb4"]]}, {"orig": [["0x100a4dcd", "fld qword ptr [esp + 0xd0]"], ["0x100a4dd4", "fmul qword ptr [esp + 0x148]"]], "recomp": [["0x10092eb6", "fld qword ptr [esp + 0x148]"], ["0x10092ebd", "fmul qword ptr [esp + 0xd0]"]]}, {"both": [["0x100a4ddb", "faddp st(1)", "0x10092ec4"], ["0x100a4ddd", "fstp qword ptr [esp + 0x48]", "0x10092ec6"]]}, {"orig": [["0x100a4de1", "fld qword ptr [esp + 0xd8]"], ["0x100a4de8", "fmul qword ptr [esp + 0x170]"], ["0x100a4def", "fld qword ptr [esp + 0xe0]"], ["0x100a4df6", "fmul qword ptr [esp + 0x190]"]], "recomp": [["0x10092eca", "fld qword ptr [esp + 0x170]"], ["0x10092ed1", "fmul qword ptr [esp + 0xd8]"], ["0x10092ed8", "fld qword ptr [esp + 0x190]"], ["0x10092edf", "fmul qword ptr [esp + 0xe0]"]]}, {"both": [["0x100a4dfd", "faddp st(1)", "0x10092ee6"]]}, {"orig": [["0x100a4dff", "fld qword ptr [esp + 0xd0]"], ["0x100a4e06", "fmul qword ptr [esp + 0x150]"]], "recomp": [["0x10092ee8", "fld qword ptr [esp + 0x150]"], ["0x10092eef", "fmul qword ptr [esp + 0xd0]"]]}, {"both": [["0x100a4e0d", "faddp st(1)", "0x10092ef6"]]}, {"orig": [["0x100a4e0f", "fld qword ptr [esp + 0xe8]"], ["0x100a4e16", "fmul qword ptr [esp + 0x1b0]"]], "recomp": [["0x10092ef8", "fld qword ptr [esp + 0x1b0]"], ["0x10092eff", "fmul qword ptr [esp + 0xe8]"]]}, {"both": [["0x100a4e1d", "faddp st(1)", "0x10092f06"], ["0x100a4e1f", "fstp qword ptr [esp + 0x50]", "0x10092f08"]]}, {"orig": [["0x100a4e23", "fld qword ptr [esp + 0xf8]"], ["0x100a4e2a", "fmul qword ptr [esp + 0x158]"], ["0x100a4e31", "fld qword ptr [esp + 0x100]"], ["0x100a4e38", "fmul qword ptr [esp + 0x178]"]], "recomp": [["0x10092f0c", "fld qword ptr [esp + 0x178]"], ["0x10092f13", "fmul qword ptr [esp + 0x100]"], ["0x10092f1a", "fld qword ptr [esp + 0x198]"], ["0x10092f21", "fmul qword ptr [esp + 0x108]"]]}, {"both": [["0x100a4e3f", "faddp st(1)", "0x10092f28"]]}, {"orig": [["0x100a4e41", "fld qword ptr [esp + 0x108]"], ["0x100a4e48", "fmul qword ptr [esp + 0x198]"]], "recomp": [["0x10092f2a", "fld qword ptr [esp + 0x158]"], ["0x10092f31", "fmul qword ptr [esp + 0xf8]"]]}, {"both": [["0x100a4e4f", "faddp st(1)", "0x10092f38"]]}, {"orig": [["0x100a4e51", "fld qword ptr [esp + 0xf0]"], ["0x100a4e58", "fmul qword ptr [esp + 0x138]"]], "recomp": [["0x10092f3a", "fld qword ptr [esp + 0x138]"], ["0x10092f41", "fmul qword ptr [esp + 0xf0]"]]}, {"both": [["0x100a4e5f", "faddp st(1)", "0x10092f48"], ["0x100a4e61", "fstp qword ptr [esp + 0x58]", "0x10092f4a"]]}, {"orig": [["0x100a4e65", "fld qword ptr [esp + 0xf0]"], ["0x100a4e6c", "fmul qword ptr [esp + 0x140]"], ["0x100a4e73", "fld qword ptr [esp + 0xf8]"], ["0x100a4e7a", "fmul qword ptr [esp + 0x160]"]], "recomp": [["0x10092f4e", "fld qword ptr [esp + 0x160]"], ["0x10092f55", "fmul qword ptr [esp + 0xf8]"], ["0x10092f5c", "fld qword ptr [esp + 0x1a0]"], ["0x10092f63", "fmul qword ptr [esp + 0x108]"]]}, {"both": [["0x100a4e81", "faddp st(1)", "0x10092f6a"]]}, {"orig": [["0x100a4e83", "fld qword ptr [esp + 0x100]"], ["0x100a4e8a", "fmul qword ptr [esp + 0x180]"]], "recomp": [["0x10092f6c", "fld qword ptr [esp + 0x180]"], ["0x10092f73", "fmul qword ptr [esp + 0x100]"]]}, {"both": [["0x100a4e91", "faddp st(1)", "0x10092f7a"]]}, {"orig": [["0x100a4e93", "fld qword ptr [esp + 0x108]"], ["0x100a4e9a", "fmul qword ptr [esp + 0x1a0]"]], "recomp": [["0x10092f7c", "fld qword ptr [esp + 0x140]"], ["0x10092f83", "fmul qword ptr [esp + 0xf0]"]]}, {"both": [["0x100a4ea1", "faddp st(1)", "0x10092f8a"], ["0x100a4ea3", "fstp qword ptr [esp + 0x60]", "0x10092f8c"]]}, {"orig": [["0x100a4ea7", "fld qword ptr [esp + 0xf8]"], ["0x100a4eae", "fmul qword ptr [esp + 0x168]"], ["0x100a4eb5", "fld qword ptr [esp + 0x100]"], ["0x100a4ebc", "fmul qword ptr [esp + 0x188]"]], "recomp": [["0x10092f90", "fld qword ptr [esp + 0x188]"], ["0x10092f97", "fmul qword ptr [esp + 0x100]"], ["0x10092f9e", "fld qword ptr [esp + 0x1a8]"], ["0x10092fa5", "fmul qword ptr [esp + 0x108]"]]}, {"both": [["0x100a4ec3", "faddp st(1)", "0x10092fac"]]}, {"orig": [["0x100a4ec5", "fld qword ptr [esp + 0xf0]"], ["0x100a4ecc", "fmul qword ptr [esp + 0x148]"]], "recomp": [["0x10092fae", "fld qword ptr [esp + 0x168]"], ["0x10092fb5", "fmul qword ptr [esp + 0xf8]"]]}, {"both": [["0x100a4ed3", "faddp st(1)", "0x10092fbc"]]}, {"orig": [["0x100a4ed5", "fld qword ptr [esp + 0x108]"], ["0x100a4edc", "fmul qword ptr [esp + 0x1a8]"]], "recomp": [["0x10092fbe", "fld qword ptr [esp + 0x148]"], ["0x10092fc5", "fmul qword ptr [esp + 0xf0]"]]}, {"both": [["0x100a4ee3", "faddp st(1)", "0x10092fcc"], ["0x100a4ee5", "fstp qword ptr [esp + 0x68]", "0x10092fce"]]}, {"orig": [["0x100a4ee9", "fld qword ptr [esp + 0xf0]"], ["0x100a4ef0", "fmul qword ptr [esp + 0x150]"], ["0x100a4ef7", "fld qword ptr [esp + 0xf8]"], ["0x100a4efe", "fmul qword ptr [esp + 0x170]"]], "recomp": [["0x10092fd2", "fld qword ptr [esp + 0x170]"], ["0x10092fd9", "fmul qword ptr [esp + 0xf8]"], ["0x10092fe0", "fld qword ptr [esp + 0x190]"], ["0x10092fe7", "fmul qword ptr [esp + 0x100]"]]}, {"both": [["0x100a4f05", "faddp st(1)", "0x10092fee"]]}, {"orig": [["0x100a4f07", "fld qword ptr [esp + 0x100]"], ["0x100a4f0e", "fmul qword ptr [esp + 0x190]"]], "recomp": [["0x10092ff0", "fld qword ptr [esp + 0x150]"], ["0x10092ff7", "fmul qword ptr [esp + 0xf0]"]]}, {"both": [["0x100a4f15", "faddp st(1)", "0x10092ffe"]]}, {"orig": [["0x100a4f17", "fld qword ptr [esp + 0x108]"], ["0x100a4f1e", "fmul qword ptr [esp + 0x1b0]"]], "recomp": [["0x10093000", "fld qword ptr [esp + 0x1b0]"], ["0x10093007", "fmul qword ptr [esp + 0x108]"]]}, {"both": [["0x100a4f25", "faddp st(1)", "0x1009300e"], ["0x100a4f27", "fstp qword ptr [esp + 0x70]", "0x10093010"]]}, {"orig": [["0x100a4f2b", "fld qword ptr [esp + 0x118]"], ["0x100a4f32", "fmul qword ptr [esp + 0x158]"], ["0x100a4f39", "fld qword ptr [esp + 0x120]"], ["0x100a4f40", "fmul qword ptr [esp + 0x178]"]], "recomp": [["0x10093014", "fld qword ptr [esp + 0x178]"], ["0x1009301b", "fmul qword ptr [esp + 0x120]"], ["0x10093022", "fld qword ptr [esp + 0x198]"], ["0x10093029", "fmul qword ptr [esp + 0x128]"]]}, {"both": [["0x100a4f47", "faddp st(1)", "0x10093030"]]}, {"orig": [["0x100a4f49", "fld qword ptr [esp + 0x128]"], ["0x100a4f50", "fmul qword ptr [esp + 0x198]"]], "recomp": [["0x10093032", "fld qword ptr [esp + 0x158]"], ["0x10093039", "fmul qword ptr [esp + 0x118]"]]}, {"both": [["0x100a4f57", "faddp st(1)", "0x10093040"]]}, {"orig": [["0x100a4f59", "fld qword ptr [esp + 0x110]"], ["0x100a4f60", "fmul qword ptr [esp + 0x138]"]], "recomp": [["0x10093042", "fld qword ptr [esp + 0x138]"], ["0x10093049", "fmul qword ptr [esp + 0x110]"]]}, {"both": [["0x100a4f67", "faddp st(1)", "0x10093050"], ["0x100a4f69", "fstp qword ptr [esp + 0x78]", "0x10093052"]]}, {"orig": [["0x100a4f6d", "fld qword ptr [esp + 0x110]"], ["0x100a4f74", "fmul qword ptr [esp + 0x140]"], ["0x100a4f7b", "fld qword ptr [esp + 0x118]"], ["0x100a4f82", "fmul qword ptr [esp + 0x160]"]], "recomp": [["0x10093056", "fld qword ptr [esp + 0x160]"], ["0x1009305d", "fmul qword ptr [esp + 0x118]"], ["0x10093064", "fld qword ptr [esp + 0x180]"], ["0x1009306b", "fmul qword ptr [esp + 0x120]"]]}, {"both": [["0x100a4f89", "faddp st(1)", "0x10093072"]]}, {"orig": [["0x100a4f8b", "fld qword ptr [esp + 0x120]"], ["0x100a4f92", "fmul qword ptr [esp + 0x180]"]], "recomp": [["0x10093074", "fld qword ptr [esp + 0x140]"], ["0x1009307b", "fmul qword ptr [esp + 0x110]"]]}, {"both": [["0x100a4f99", "faddp st(1)", "0x10093082"]]}, {"orig": [["0x100a4f9b", "fld qword ptr [esp + 0x128]"], ["0x100a4fa2", "fmul qword ptr [esp + 0x1a0]"]], "recomp": [["0x10093084", "fld qword ptr [esp + 0x1a0]"], ["0x1009308b", "fmul qword ptr [esp + 0x128]"]]}, {"both": [["0x100a4fa9", "faddp st(1)", "0x10093092"], ["0x100a4fab", "fstp qword ptr [esp + 0x80]", "0x10093094"]]}, {"orig": [["0x100a4fb2", "fld qword ptr [esp + 0x118]"], ["0x100a4fb9", "fmul qword ptr [esp + 0x168]"], ["0x100a4fc0", "fld qword ptr [esp + 0x120]"], ["0x100a4fc7", "fmul qword ptr [esp + 0x188]"]], "recomp": [["0x1009309b", "fld qword ptr [esp + 0x148]"], ["0x100930a2", "fmul qword ptr [esp + 0x110]"], ["0x100930a9", "fld qword ptr [esp + 0x1a8]"], ["0x100930b0", "fmul qword ptr [esp + 0x128]"]]}, {"both": [["0x100a4fce", "faddp st(1)", "0x100930b7"]]}, {"orig": [["0x100a4fd0", "fld qword ptr [esp + 0x110]"], ["0x100a4fd7", "fmul qword ptr [esp + 0x148]"]], "recomp": [["0x100930b9", "fld qword ptr [esp + 0x188]"], ["0x100930c0", "fmul qword ptr [esp + 0x120]"]]}, {"both": [["0x100a4fde", "faddp st(1)", "0x100930c7"]]}, {"orig": [["0x100a4fe0", "fld qword ptr [esp + 0x128]"], ["0x100a4fe7", "fmul qword ptr [esp + 0x1a8]"]], "recomp": [["0x100930c9", "fld qword ptr [esp + 0x168]"], ["0x100930d0", "fmul qword ptr [esp + 0x118]"]]}, {"both": [["0x100a4fee", "faddp st(1)", "0x100930d7"], ["0x100a4ff0", "fstp qword ptr [esp + 0x88]", "0x100930d9"]]}, {"orig": [["0x100a4ff7", "fld qword ptr [esp + 0x110]"], ["0x100a4ffe", "fmul qword ptr [esp + 0x150]"], ["0x100a5005", "fld qword ptr [esp + 0x118]"], ["0x100a500c", "fmul qword ptr [esp + 0x170]"]], "recomp": [["0x100930e0", "fld qword ptr [esp + 0x190]"], ["0x100930e7", "fmul qword ptr [esp + 0x120]"], ["0x100930ee", "fld qword ptr [esp + 0x150]"], ["0x100930f5", "fmul qword ptr [esp + 0x110]"]]}, {"both": [["0x100a5013", "faddp st(1)", "0x100930fc"]]}, {"orig": [["0x100a5015", "fld qword ptr [esp + 0x120]"], ["0x100a501c", "fmul qword ptr [esp + 0x190]"]], "recomp": [["0x100930fe", "fld qword ptr [esp + 0x170]"], ["0x10093105", "fmul qword ptr [esp + 0x118]"]]}, {"both": [["0x100a5023", "xor esi, esi", "0x1009310c"], ["0x100a5025", "lea edi, [esp + 0x18]", "0x1009310e"], ["0x100a5029", "mov eax, 4", "0x10093112"], ["0x100a502e", "faddp st(1)", "0x10093117"]]}, {"orig": [["0x100a5030", "fld qword ptr [esp + 0x128]"], ["0x100a5037", "fmul qword ptr [esp + 0x1b0]"]], "recomp": [["0x10093119", "fld qword ptr [esp + 0x1b0]"], ["0x10093120", "fmul qword ptr [esp + 0x128]"]]}, {"both": [["0x100a503e", "faddp st(1)", "0x10093127"], ["0x100a5040", "fstp qword ptr [esp + 0x90]", "0x10093129"], ["0x100a5047", "fstp st(0)", "0x10093130"], ["0x100a5049", "fstp st(0)", "0x10093132"], ["0x100a504b", "mov edx, 4", "0x10093134"], ["0x100a5050", "fld qword ptr [edi]", "0x10093139"], ["0x100a5052", "mov ebx, dword ptr [esp + 0x1f4]", "0x1009313b"], ["0x100a5059", "add edi, 8", "0x10093142"], ["0x100a505c", "add esi, 4", "0x10093145"], ["0x100a505f", "dec edx", "0x10093148"]]}]], ["@@ -0x100a5066,10 +0x1009314f,12 @@", [{"both": [["0x100a5066", "dec eax", "0x1009314f"], ["0x100a5067", "jne -0x1e", "0x10093150"], ["0x100a5069", "lea eax, [esp + 0x1f0]", "0x10093152"], ["0x100a5070", "mov ebx, dword ptr [ecx]", "0x10093159"], ["0x100a5072", "push eax", "0x1009315b"], ["0x100a5073", "call dword ptr [ebx + 0x28]", "0x1009315c"], ["0x100a5076", "pop ebp", "0x1009315f"], ["0x100a5077", "pop edi", "0x10093160"], ["0x100a5078", "pop esi", "0x10093161"], ["0x100a5079", "pop ebx", "0x10093162"]]}, {"orig": [], "recomp": [["0x10093163", "add esp, 0x228"], ["0x10093169", "ret 4"]]}]]]}, {"address": "0x100a5090", "recomp": "0x10093170", "name": "OrientableROI::WrappedVTable0x24", "matching": 1.0, "diff": []}, {"address": "0x100a50a0", "recomp": "0x10093180", "name": "OrientableROI::GetLocalTransform", "matching": 0.5637931034482758, "diff": [["@@ -0x100a50a0,580 +0x10093180,580 @@", [{"both": [["0x100a50a0", "sub esp, 0x1a8", "0x10093180"]]}, {"orig": [["0x100a50a6", "lea eax, [esp + 0xa0]"]], "recomp": [["0x10093186", "lea eax, [esp + 0x98]"]]}, {"both": [["0x100a50ad", "push ebx", "0x1009318d"]]}, {"orig": [["0x100a50ae", "mov dword ptr [esp + 0xa0], eax"]], "recomp": [["0x1009318e", "mov dword ptr [esp + 0x98], eax"]]}, {"both": [["0x100a50b5", "push esi", "0x10093195"], ["0x100a50b6", "push edi", "0x10093196"], ["0x100a50b7", "mov eax, dword ptr [ecx + 0xd4]", "0x10093197"]]}, {"orig": [["0x100a50bd", "mov dword ptr [esp + 0xa4], MxMatrix::`vftable' (VTABLE)"]], "recomp": [["0x1009319d", "mov dword ptr [esp + 0x9c], MxMatrix::`vftable' (VTABLE)"]]}, {"both": [["0x100a50c8", "test eax, eax", "0x100931a8"]]}, {"orig": [["0x100a50ca", "je 0x7fc"], ["0x100a50d0", "lea edi, [esp + 0x24]"]], "recomp": [["0x100931aa", "je 0x7fb"], ["0x100931b0", "lea edi, [esp + 0x1c]"]]}, {"both": [["0x100a50d4", "mov eax, dword ptr [eax + 0x14]", "0x100931b4"], ["0x100a50d7", "mov edx, 4", "0x100931b7"], ["0x100a50dc", "mov esi, 4", "0x100931bc"], ["0x100a50e1", "jmp 0x3", "0x100931c1"], ["0x100a50e3", "fstp qword ptr [edi - 8]", "0x100931c3"], ["0x100a50e6", "fld dword ptr [eax]", "0x100931c6"], ["0x100a50e8", "add eax, 4", "0x100931c8"], ["0x100a50eb", "add edi, 8", "0x100931cb"], ["0x100a50ee", "dec esi", "0x100931ce"], ["0x100a50ef", "jne -0xe", "0x100931cf"], ["0x100a50f1", "fstp qword ptr [edi - 8]", "0x100931d1"], ["0x100a50f4", "dec edx", "0x100931d4"], ["0x100a50f5", "jne -0x1b", "0x100931d5"]]}, {"orig": [["0x100a50f7", "fld qword ptr [esp + 0x8c]"], ["0x100a50fe", "fmul qword ptr [esp + 0x64]"]], "recomp": [["0x100931d7", "fld qword ptr [esp + 0x84]"], ["0x100931de", "fmul qword ptr [esp + 0x5c]"], ["0x100931e2", "fld qword ptr [esp + 0x64]"], ["0x100931e6", "fmul qword ptr [esp + 0x7c]"], ["0x100931ea", "fsubp st(1)"], ["0x100931ec", "fld qword ptr [esp + 0x5c]"], ["0x100931f0", "fmul qword ptr [esp + 0x94]"], ["0x100931f7", "fld qword ptr [esp + 0x74]"], ["0x100931fb", "fmul qword ptr [esp + 0x7c]"], ["0x100931ff", "fsubp st(1)"], ["0x10093201", "fld qword ptr [esp + 0x64]"], ["0x10093205", "fmul qword ptr [esp + 0x94]"], ["0x1009320c", "fld qword ptr [esp + 0x84]"], ["0x10093213", "fmul qword ptr [esp + 0x74]"], ["0x10093217", "fsubp st(1)"], ["0x10093219", "fld qword ptr [esp + 0x54]"], ["0x1009321d", "fmul st(3)"], ["0x1009321f", "fld qword ptr [esp + 0x44]"], ["0x10093223", "fmul st(3)"], ["0x10093225", "fsubp st(1)"], ["0x10093227", "fld qword ptr [esp + 0x3c]"], ["0x1009322b", "fmul st(2)"], ["0x1009322d", "faddp st(1)"], ["0x1009322f", "fld qword ptr [esp + 0x5c]"], ["0x10093233", "fmul qword ptr [esp + 0x8c]"], ["0x1009323a", "fld qword ptr [esp + 0x7c]"], ["0x1009323e", "fmul qword ptr [esp + 0x6c]"], ["0x10093242", "fsubp st(1)"], ["0x10093244", "fld qword ptr [esp + 0x64]"], ["0x10093248", "fmul qword ptr [esp + 0x8c]"]]}, {"both": [["0x100a5102", "fld qword ptr [esp + 0x84]", "0x1009324f"], ["0x100a5109", "fmul qword ptr [esp + 0x6c]", "0x10093256"], ["0x100a510d", "fsubp st(1)", "0x1009325a"]]}, {"orig": [["0x100a510f", "fld qword ptr [esp + 0x64]"], ["0x100a5113", "fmul qword ptr [esp + 0x9c]"], ["0x100a511a", "fld qword ptr [esp + 0x7c]"], ["0x100a511e", "fmul qword ptr [esp + 0x84]"]], "recomp": [["0x1009325c", "fstp qword ptr [esp + 0xf4]"], ["0x10093263", "fld qword ptr [esp + 0x4c]"], ["0x10093267", "fmul st(5)"], ["0x10093269", "fld qword ptr [esp + 0x44]"], ["0x1009326d", "fmul st(2)"]]}, {"both": [["0x100a5125", "fsubp st(1)", "0x1009326f"]]}, {"orig": [["0x100a5127", "fld qword ptr [esp + 0x9c]"], ["0x100a512e", "fmul qword ptr [esp + 0x6c]"], ["0x100a5132", "fld qword ptr [esp + 0x8c]"], ["0x100a5139", "fmul qword ptr [esp + 0x7c]"]], "recomp": [["0x10093271", "fld qword ptr [esp + 0x3c]"], ["0x10093275", "fmul qword ptr [esp + 0xf4]"], ["0x1009327c", "faddp st(1)"], ["0x1009327e", "fstp qword ptr [esp + 0x114]"], ["0x10093285", "fld qword ptr [esp + 0x6c]"], ["0x10093289", "fmul qword ptr [esp + 0x94]"], ["0x10093290", "fld qword ptr [esp + 0x74]"], ["0x10093294", "fmul qword ptr [esp + 0x8c]"]]}, {"both": [["0x100a513d", "fsubp st(1)", "0x1009329b"]]}, {"orig": [["0x100a513f", "fld qword ptr [esp + 0x5c]"], ["0x100a5143", "fmul st(3)"]], "recomp": [["0x1009329d", "fst qword ptr [esp + 0xe4]"], ["0x100932a4", "fmul qword ptr [esp + 0x3c]"]]}, {"both": [["0x100a5145", "fld qword ptr [esp + 0x4c]", "0x100932a8"]]}, {"orig": [["0x100a5149", "fmul st(3)"]], "recomp": [["0x100932ac", "fmul st(5)"], ["0x100932ae", "fsubp st(1)"], ["0x100932b0", "fld qword ptr [esp + 0x54]"], ["0x100932b4", "fmul st(2)"], ["0x100932b6", "faddp st(1)"], ["0x100932b8", "fstp qword ptr [esp + 0x14]"], ["0x100932bc", "fld qword ptr [esp + 0x54]"], ["0x100932c0", "fmul qword ptr [esp + 0xf4]"], ["0x100932c7", "fld qword ptr [esp + 0x4c]"], ["0x100932cb", "fmul st(4)"]]}, {"both": [["0x100a514b", "fsubp st(1)", "0x100932cd"], ["0x100a514d", "fld qword ptr [esp + 0x44]", "0x100932cf"]]}, {"orig": [["0x100a5151", "fmul st(2)"], ["0x100a5153", "faddp st(1)"], ["0x100a5155", "fld qword ptr [esp + 0x94]"], ["0x100a515c", "fmul qword ptr [esp + 0x6c]"], ["0x100a5160", "fld qword ptr [esp + 0x8c]"], ["0x100a5167", "fmul qword ptr [esp + 0x74]"], ["0x100a516b", "fsubp st(1)"], ["0x100a516d", "fld qword ptr [esp + 0x94]"], ["0x100a5174", "fmul qword ptr [esp + 0x64]"], ["0x100a5178", "fld qword ptr [esp + 0x84]"], ["0x100a517f", "fmul qword ptr [esp + 0x74]"], ["0x100a5183", "fsubp st(1)"], ["0x100a5185", "fstp qword ptr [esp + 0xf4]"], ["0x100a518c", "fld qword ptr [esp + 0x44]"], ["0x100a5190", "fmul st(1)"], ["0x100a5192", "fld qword ptr [esp + 0x4c]"], ["0x100a5196", "fmul qword ptr [esp + 0xf4]"], ["0x100a519d", "fsubp st(1)"], ["0x100a519f", "fld qword ptr [esp + 0x54]"], ["0x100a51a3", "fmul st(6)"], ["0x100a51a5", "faddp st(1)"], ["0x100a51a7", "fstp qword ptr [esp + 0x114]"], ["0x100a51ae", "fld qword ptr [esp + 0x74]"], ["0x100a51b2", "fmul qword ptr [esp + 0x9c]"], ["0x100a51b9", "fld qword ptr [esp + 0x7c]"], ["0x100a51bd", "fmul qword ptr [esp + 0x94]"], ["0x100a51c4", "fsubp st(1)"], ["0x100a51c6", "fstp qword ptr [esp + 0x1c]"], ["0x100a51ca", "fld qword ptr [esp + 0x5c]"], ["0x100a51ce", "fmul qword ptr [esp + 0xf4]"], ["0x100a51d5", "fld qword ptr [esp + 0x54]"], ["0x100a51d9", "fmul st(5)"], ["0x100a51db", "fsubp st(1)"], ["0x100a51dd", "fld qword ptr [esp + 0x44]"], ["0x100a51e1", "fmul qword ptr [esp + 0x1c]"], ["0x100a51e5", "faddp st(1)"], ["0x100a51e7", "fstp qword ptr [esp + 0x14]"], ["0x100a51eb", "fld qword ptr [esp + 0x5c]"], ["0x100a51ef", "fmul st(1)"], ["0x100a51f1", "fld qword ptr [esp + 0x54]"], ["0x100a51f5", "fmul st(4)"], ["0x100a51f7", "fsubp st(1)"], ["0x100a51f9", "fld qword ptr [esp + 0x4c]"], ["0x100a51fd", "fmul qword ptr [esp + 0x1c]"]], "recomp": [["0x100932d3", "fmul qword ptr [esp + 0xe4]"]]}, {"both": [["0x100a5201", "faddp st(1)", "0x100932da"], ["0x100a5203", "fstp qword ptr [esp + 0x134]", "0x100932dc"]]}, {"orig": [], "recomp": [["0x100932e3", "fld qword ptr [esp + 0x2c]"], ["0x100932e7", "fmul st(2)"]]}, {"both": [["0x100a520a", "fld qword ptr [esp + 0x34]", "0x100932e9"]]}, {"orig": [["0x100a520e", "fmul st(2)"], ["0x100a5210", "fld qword ptr [esp + 0x3c]"]], "recomp": []}, {"both": [["0x100a5214", "fmul qword ptr [esp + 0x114]", "0x100932ed"], ["0x100a521b", "fsubp st(1)", "0x100932f4"]]}, {"orig": [["0x100a521d", "fld qword ptr [esp + 0x2c]"]], "recomp": [["0x100932f6", "fld qword ptr [esp + 0x24]"]]}, {"both": [["0x100a5221", "fmul qword ptr [esp + 0x14]", "0x100932fa"], ["0x100a5225", "fsubp st(1)", "0x100932fe"]]}, {"orig": [["0x100a5227", "fld qword ptr [esp + 0x24]"]], "recomp": [["0x10093300", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a522b", "fmul qword ptr [esp + 0x134]", "0x10093304"], ["0x100a5232", "faddp st(1)", "0x1009330b"], ["0x100a5234", "fdivr qword ptr [1.0 (FLOAT)]", "0x1009330d"], ["0x100a523a", "fst qword ptr [esp + 0xc]", "0x10093313"], ["0x100a523e", "fmul qword ptr [esp + 0x134]", "0x10093317"], ["0x100a5245", "fstp qword ptr [esp + 0x134]", "0x1009331e"]]}, {"orig": [["0x100a524c", "fld qword ptr [esp + 0x3c]"], ["0x100a5250", "fmul st(1)"]], "recomp": []}, {"both": [["0x100a5252", "fld qword ptr [esp + 0x34]", "0x10093325"]]}, {"orig": [], "recomp": [["0x10093329", "fmul qword ptr [esp + 0xf4]"], ["0x10093330", "fld qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a5256", "fmul st(4)", "0x10093334"], ["0x100a5258", "fsubp st(1)", "0x10093336"]]}, {"orig": [["0x100a525a", "fld qword ptr [esp + 0x2c]"], ["0x100a525e", "fmul qword ptr [esp + 0x1c]"]], "recomp": [["0x10093338", "fld qword ptr [esp + 0x24]"], ["0x1009333c", "fmul qword ptr [esp + 0xe4]"]]}, {"both": [["0x100a5262", "faddp st(1)", "0x10093343"], ["0x100a5264", "fchs ", "0x10093345"], ["0x100a5266", "fmul qword ptr [esp + 0xc]", "0x10093347"], ["0x100a526a", "fstp qword ptr [esp + 0x13c]", "0x1009334b"]]}, {"orig": [], "recomp": [["0x10093352", "fld qword ptr [esp + 0x44]"], ["0x10093356", "fmul qword ptr [esp + 0x8c]"], ["0x1009335d", "fld qword ptr [esp + 0x84]"], ["0x10093364", "fmul qword ptr [esp + 0x4c]"], ["0x10093368", "fsubp st(1)"], ["0x1009336a", "fstp qword ptr [esp + 0x11c]"], ["0x10093371", "fld qword ptr [esp + 0x44]"], ["0x10093375", "fmul qword ptr [esp + 0x94]"], ["0x1009337c", "fld qword ptr [esp + 0x84]"], ["0x10093383", "fmul qword ptr [esp + 0x54]"], ["0x10093387", "fsubp st(1)"], ["0x10093389", "fstp qword ptr [esp + 0x104]"]]}, {"both": [["0x100a5271", "fld qword ptr [esp + 0x4c]", "0x10093390"], ["0x100a5275", "fmul qword ptr [esp + 0x94]", "0x10093394"]]}, {"orig": [["0x100a527c", "fld qword ptr [esp + 0x8c]"], ["0x100a5283", "fmul qword ptr [esp + 0x54]"], ["0x100a5287", "fsubp st(1)"], ["0x100a5289", "fstp qword ptr [esp + 0x11c]"], ["0x100a5290", "fld qword ptr [esp + 0x4c]"], ["0x100a5294", "fmul qword ptr [esp + 0x9c]"], ["0x100a529b", "fld qword ptr [esp + 0x8c]"], ["0x100a52a2", "fmul qword ptr [esp + 0x5c]"], ["0x100a52a6", "fsubp st(1)"], ["0x100a52a8", "fstp qword ptr [esp + 0x104]"]], "recomp": []}, {"both": [["0x100a52af", "fld qword ptr [esp + 0x54]", "0x1009339b"]]}, {"orig": [["0x100a52b3", "fmul qword ptr [esp + 0x9c]"], ["0x100a52ba", "fld qword ptr [esp + 0x5c]"], ["0x100a52be", "fmul qword ptr [esp + 0x94]"]], "recomp": [["0x1009339f", "fmul qword ptr [esp + 0x8c]"]]}, {"both": [["0x100a52c5", "fsubp st(1)", "0x100933a6"], ["0x100a52c7", "fstp qword ptr [esp + 0xec]", "0x100933a8"]]}, {"orig": [["0x100a52ce", "fld qword ptr [esp + 0x3c]"]], "recomp": [["0x100933af", "fld qword ptr [esp + 0x34]"]]}, {"both": [["0x100a52d2", "fmul qword ptr [esp + 0x11c]", "0x100933b3"]]}, {"orig": [["0x100a52d9", "fld qword ptr [esp + 0x34]"]], "recomp": [["0x100933ba", "fld qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a52dd", "fmul qword ptr [esp + 0x104]", "0x100933be"], ["0x100a52e4", "fsubp st(1)", "0x100933c5"]]}, {"orig": [["0x100a52e6", "fld qword ptr [esp + 0x2c]"]], "recomp": [["0x100933c7", "fld qword ptr [esp + 0x24]"]]}, {"both": [["0x100a52ea", "fmul qword ptr [esp + 0xec]", "0x100933cb"], ["0x100a52f1", "faddp st(1)", "0x100933d2"], ["0x100a52f3", "fmul qword ptr [esp + 0xc]", "0x100933d4"], ["0x100a52f7", "fstp qword ptr [esp + 0x144]", "0x100933d8"]]}, {"orig": [["0x100a52fe", "fld qword ptr [esp + 0x7c]"]], "recomp": [["0x100933df", "fld qword ptr [esp + 0x44]"], ["0x100933e3", "fmul qword ptr [esp + 0x6c]"], ["0x100933e7", "fld qword ptr [esp + 0x64]"], ["0x100933eb", "fmul qword ptr [esp + 0x4c]"], ["0x100933ef", "fsubp st(1)"], ["0x100933f1", "fstp qword ptr [esp + 0x12c]"], ["0x100933f8", "fld qword ptr [esp + 0x74]"], ["0x100933fc", "fmul qword ptr [esp + 0x44]"], ["0x10093400", "fld qword ptr [esp + 0x64]"]]}, {"both": [["0x100a5302", "fmul qword ptr [esp + 0x54]", "0x10093404"]]}, {"orig": [["0x100a5306", "fld qword ptr [esp + 0x5c]"], ["0x100a530a", "fmul qword ptr [esp + 0x74]"], ["0x100a530e", "fsubp st(1)"], ["0x100a5310", "fstp qword ptr [esp + 0xfc]"], ["0x100a5317", "fld qword ptr [esp + 0x7c]"], ["0x100a531b", "fmul qword ptr [esp + 0x4c]"], ["0x100a531f", "fld qword ptr [esp + 0x5c]"], ["0x100a5323", "fmul qword ptr [esp + 0x6c]"]], "recomp": []}, {"both": [["0x100a5327", "fsubp st(1)", "0x10093408"], ["0x100a5329", "fstp qword ptr [esp + 0x10c]", "0x1009340a"]]}, {"orig": [["0x100a5330", "fld qword ptr [esp + 0x4c]"], ["0x100a5334", "fmul qword ptr [esp + 0x74]"]], "recomp": [["0x10093411", "fld qword ptr [esp + 0x74]"], ["0x10093415", "fmul qword ptr [esp + 0x4c]"]]}, {"both": [["0x100a5338", "fld qword ptr [esp + 0x54]", "0x10093419"], ["0x100a533c", "fmul qword ptr [esp + 0x6c]", "0x1009341d"], ["0x100a5340", "fsubp st(1)", "0x10093421"]]}, {"orig": [["0x100a5342", "fstp qword ptr [esp + 0x12c]"]], "recomp": [["0x10093423", "fstp qword ptr [esp + 0xfc]"], ["0x1009342a", "fld qword ptr [esp + 0x34]"], ["0x1009342e", "fmul qword ptr [esp + 0x12c]"]]}, {"both": [["0x100a5349", "fld qword ptr [esp + 0x2c]", "0x10093435"]]}, {"orig": [["0x100a534d", "fmul qword ptr [esp + 0xfc]"], ["0x100a5354", "fld qword ptr [esp + 0x34]"]], "recomp": []}, {"both": [["0x100a5358", "fmul qword ptr [esp + 0x10c]", "0x10093439"], ["0x100a535f", "fsubp st(1)", "0x10093440"]]}, {"orig": [["0x100a5361", "fld qword ptr [esp + 0x3c]"], ["0x100a5365", "fmul qword ptr [esp + 0x12c]"]], "recomp": [["0x10093442", "fld qword ptr [esp + 0x24]"], ["0x10093446", "fmul qword ptr [esp + 0xfc]"]]}, {"both": [["0x100a536c", "faddp st(1)", "0x1009344d"], ["0x100a536e", "fchs ", "0x1009344f"], ["0x100a5370", "fmul qword ptr [esp + 0xc]", "0x10093451"], ["0x100a5374", "fstp qword ptr [esp + 0x14c]", "0x10093455"], ["0x100a537b", "fld qword ptr [esp + 0x14]", "0x1009345c"], ["0x100a537f", "fchs ", "0x10093460"], ["0x100a5381", "fmul qword ptr [esp + 0xc]", "0x10093462"], ["0x100a5385", "fstp qword ptr [esp + 0x154]", "0x10093466"]]}, {"orig": [["0x100a538c", "fld qword ptr [esp + 0x3c]"], ["0x100a5390", "fmul qword ptr [esp + 0xf4]"]], "recomp": []}, {"both": [["0x100a5397", "fld qword ptr [esp + 0x34]", "0x1009346d"]]}, {"orig": [], "recomp": [["0x10093471", "fmul st(1)"], ["0x10093473", "fld qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a539b", "fmul st(5)", "0x10093477"], ["0x100a539d", "fsubp st(1)", "0x10093479"]]}, {"orig": [["0x100a539f", "fld qword ptr [esp + 0x24]"], ["0x100a53a3", "fmul qword ptr [esp + 0x1c]"]], "recomp": [["0x1009347b", "fld qword ptr [esp + 0x1c]"], ["0x1009347f", "fmul qword ptr [esp + 0xe4]"]]}, {"both": [["0x100a53a7", "faddp st(1)", "0x10093486"], ["0x100a53a9", "fmul qword ptr [esp + 0xc]", "0x10093488"], ["0x100a53ad", "fstp qword ptr [esp + 0x15c]", "0x1009348c"]]}, {"orig": [["0x100a53b4", "fld qword ptr [esp + 0x44]"], ["0x100a53b8", "fmul qword ptr [esp + 0x9c]"], ["0x100a53bf", "fld qword ptr [esp + 0x5c]"], ["0x100a53c3", "fmul qword ptr [esp + 0x84]"]], "recomp": [["0x10093493", "fld qword ptr [esp + 0x3c]"], ["0x10093497", "fmul qword ptr [esp + 0x8c]"], ["0x1009349e", "fld qword ptr [esp + 0x7c]"], ["0x100934a2", "fmul qword ptr [esp + 0x4c]"], ["0x100934a6", "fsubp st(1)"], ["0x100934a8", "fstp qword ptr [esp + 0xe4]"], ["0x100934af", "fld qword ptr [esp + 0x3c]"], ["0x100934b3", "fmul qword ptr [esp + 0x94]"], ["0x100934ba", "fld qword ptr [esp + 0x54]"], ["0x100934be", "fmul qword ptr [esp + 0x7c]"]]}, {"both": [["0x100a53ca", "fsubp st(1)", "0x100934c2"], ["0x100a53cc", "fstp qword ptr [esp + 0x14]", "0x100934c4"]]}, {"orig": [["0x100a53d0", "fld qword ptr [esp + 0x94]"], ["0x100a53d7", "fmul qword ptr [esp + 0x44]"], ["0x100a53db", "fld qword ptr [esp + 0x84]"], ["0x100a53e2", "fmul qword ptr [esp + 0x54]"], ["0x100a53e6", "fsubp st(1)"], ["0x100a53e8", "fstp qword ptr [esp + 0x1c]"], ["0x100a53ec", "fld qword ptr [esp + 0x24]"], ["0x100a53f0", "fmul qword ptr [esp + 0xec]"]], "recomp": []}, {"both": [["0x100a53f7", "fld qword ptr [esp + 0x34]", "0x100934c8"]]}, {"orig": [], "recomp": [["0x100934cc", "fmul qword ptr [esp + 0xe4]"], ["0x100934d3", "fld qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a53fb", "fmul qword ptr [esp + 0x14]", "0x100934d7"], ["0x100a53ff", "fsubp st(1)", "0x100934db"]]}, {"orig": [["0x100a5401", "fld qword ptr [esp + 0x3c]"], ["0x100a5405", "fmul qword ptr [esp + 0x1c]"]], "recomp": [["0x100934dd", "fld qword ptr [esp + 0x1c]"], ["0x100934e1", "fmul qword ptr [esp + 0xec]"]]}, {"both": [["0x100a5409", "faddp st(1)", "0x100934e8"], ["0x100a540b", "fchs ", "0x100934ea"], ["0x100a540d", "fmul qword ptr [esp + 0xc]", "0x100934ec"], ["0x100a5411", "fstp qword ptr [esp + 0x164]", "0x100934f0"]]}, {"orig": [["0x100a5418", "fld qword ptr [esp + 0x74]"], ["0x100a541c", "fmul qword ptr [esp + 0x44]"], ["0x100a5420", "fld qword ptr [esp + 0x64]"], ["0x100a5424", "fmul qword ptr [esp + 0x54]"]], "recomp": [["0x100934f7", "fld qword ptr [esp + 0x6c]"], ["0x100934fb", "fmul qword ptr [esp + 0x3c]"], ["0x100934ff", "fld qword ptr [esp + 0x5c]"], ["0x10093503", "fmul qword ptr [esp + 0x4c]"]]}, {"both": [["0x100a5428", "fsubp st(1)", "0x10093507"], ["0x100a542a", "fstp qword ptr [esp + 0x124]", "0x10093509"]]}, {"orig": [["0x100a5431", "fld qword ptr [esp + 0x7c]"], ["0x100a5435", "fmul qword ptr [esp + 0x44]"], ["0x100a5439", "fld qword ptr [esp + 0x5c]"], ["0x100a543d", "fmul qword ptr [esp + 0x64]"]], "recomp": [["0x10093510", "fld qword ptr [esp + 0x74]"], ["0x10093514", "fmul qword ptr [esp + 0x3c]"], ["0x10093518", "fld qword ptr [esp + 0x54]"], ["0x1009351c", "fmul qword ptr [esp + 0x5c]"]]}, {"both": [["0x100a5441", "fsubp st(1)", "0x10093520"], ["0x100a5443", "fstp qword ptr [esp + 0xec]", "0x10093522"]]}, {"orig": [["0x100a544a", "fld qword ptr [esp + 0x3c]"]], "recomp": [["0x10093529", "fld qword ptr [esp + 0x34]"]]}, {"both": [["0x100a544e", "fmul qword ptr [esp + 0x124]", "0x1009352d"]]}, {"orig": [["0x100a5455", "fld qword ptr [esp + 0x34]"]], "recomp": [["0x10093534", "fld qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a5459", "fmul qword ptr [esp + 0xec]", "0x10093538"], ["0x100a5460", "fsubp st(1)", "0x1009353f"]]}, {"orig": [["0x100a5462", "fld qword ptr [esp + 0x24]"]], "recomp": [["0x10093541", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a5466", "fmul qword ptr [esp + 0xfc]", "0x10093545"], ["0x100a546d", "faddp st(1)", "0x1009354c"], ["0x100a546f", "fmul qword ptr [esp + 0xc]", "0x1009354e"], ["0x100a5473", "fstp qword ptr [esp + 0x16c]", "0x10093552"], ["0x100a547a", "fxch st(1)", "0x10093559"], ["0x100a547c", "fmul qword ptr [esp + 0xc]", "0x1009355b"], ["0x100a5480", "fstp qword ptr [esp + 0x174]", "0x1009355f"]]}, {"orig": [["0x100a5487", "fld qword ptr [esp + 0x3c]"]], "recomp": [["0x10093566", "fld qword ptr [esp + 0x34]"]]}, {"both": [["0x100a548b", "fmul st(4)", "0x1009356a"]]}, {"orig": [["0x100a548d", "fld qword ptr [esp + 0x2c]"]], "recomp": [["0x1009356c", "fld qword ptr [esp + 0x24]"]]}, {"both": [["0x100a5491", "fmul st(4)", "0x10093570"], ["0x100a5493", "fsubp st(1)", "0x10093572"]]}, {"orig": [["0x100a5495", "fld qword ptr [esp + 0x24]"]], "recomp": [["0x10093574", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a5499", "fmul st(3)", "0x10093578"], ["0x100a549b", "faddp st(1)", "0x1009357a"], ["0x100a549d", "fchs ", "0x1009357c"], ["0x100a549f", "fmul qword ptr [esp + 0xc]", "0x1009357e"], ["0x100a54a3", "fstp qword ptr [esp + 0x17c]", "0x10093582"]]}, {"orig": [["0x100a54aa", "fld qword ptr [esp + 0x8c]"], ["0x100a54b1", "fmul qword ptr [esp + 0x44]"], ["0x100a54b5", "fld qword ptr [esp + 0x4c]"], ["0x100a54b9", "fmul qword ptr [esp + 0x84]"]], "recomp": [["0x10093589", "fld qword ptr [esp + 0x84]"], ["0x10093590", "fmul qword ptr [esp + 0x3c]"], ["0x10093594", "fld qword ptr [esp + 0x44]"], ["0x10093598", "fmul qword ptr [esp + 0x7c]"]]}, {"both": [["0x100a54c0", "fsubp st(1)", "0x1009359c"]]}, {"orig": [], "recomp": [["0x1009359e", "fld qword ptr [esp + 0x34]"], ["0x100935a2", "fmul st(1)"]]}, {"both": [["0x100a54c2", "fld qword ptr [esp + 0x24]", "0x100935a4"]]}, {"orig": [["0x100a54c6", "fmul qword ptr [esp + 0x104]"], ["0x100a54cd", "fld qword ptr [esp + 0x2c]"]], "recomp": []}, {"both": [["0x100a54d1", "fmul qword ptr [esp + 0x14]", "0x100935a8"], ["0x100a54d5", "fsubp st(1)", "0x100935ac"]]}, {"orig": [["0x100a54d7", "fld qword ptr [esp + 0x3c]"], ["0x100a54db", "fmul st(2)"]], "recomp": [["0x100935ae", "fld qword ptr [esp + 0x1c]"], ["0x100935b2", "fmul qword ptr [esp + 0x104]"]]}, {"both": [["0x100a54dd", "faddp st(1)", "0x100935b9"], ["0x100a54df", "fmul qword ptr [esp + 0xc]", "0x100935bb"], ["0x100a54e3", "fstp qword ptr [esp + 0x184]", "0x100935bf"]]}, {"orig": [], "recomp": [["0x100935c6", "fld qword ptr [esp + 0x64]"], ["0x100935ca", "fmul qword ptr [esp + 0x3c]"]]}, {"both": [["0x100a54ea", "fld qword ptr [esp + 0x44]", "0x100935ce"]]}, {"orig": [["0x100a54ee", "fmul qword ptr [esp + 0x6c]"], ["0x100a54f2", "fld qword ptr [esp + 0x4c]"], ["0x100a54f6", "fmul qword ptr [esp + 0x64]"]], "recomp": [["0x100935d2", "fmul qword ptr [esp + 0x5c]"]]}, {"both": [["0x100a54fa", "fsubp st(1)", "0x100935d6"], ["0x100a54fc", "fst qword ptr [esp + 0x14]", "0x100935d8"]]}, {"orig": [["0x100a5500", "fmul qword ptr [esp + 0x3c]"], ["0x100a5504", "fld qword ptr [esp + 0x2c]"]], "recomp": [["0x100935dc", "fmul qword ptr [esp + 0x34]"], ["0x100935e0", "fld qword ptr [esp + 0x24]"]]}, {"both": [["0x100a5508", "fmul qword ptr [esp + 0xec]", "0x100935e4"], ["0x100a550f", "fsubp st(1)", "0x100935eb"]]}, {"orig": [["0x100a5511", "fld qword ptr [esp + 0x24]"]], "recomp": [["0x100935ed", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a5515", "fmul qword ptr [esp + 0x10c]", "0x100935f1"], ["0x100a551c", "faddp st(1)", "0x100935f8"], ["0x100a551e", "fchs ", "0x100935fa"], ["0x100a5520", "fmul qword ptr [esp + 0xc]", "0x100935fc"], ["0x100a5524", "fstp qword ptr [esp + 0x18c]", "0x10093600"], ["0x100a552b", "fld qword ptr [esp + 0x114]", "0x10093607"], ["0x100a5532", "fchs ", "0x1009360e"], ["0x100a5534", "fmul qword ptr [esp + 0xc]", "0x10093610"], ["0x100a5538", "fstp qword ptr [esp + 0x194]", "0x10093614"], ["0x100a553f", "fxch st(4)", "0x1009361b"]]}, {"orig": [["0x100a5541", "fmul qword ptr [esp + 0x34]"], ["0x100a5545", "fld qword ptr [esp + 0x2c]"], ["0x100a5549", "fmul qword ptr [esp + 0xf4]"], ["0x100a5550", "fsubp st(1)"]], "recomp": [["0x1009361d", "fmul qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a5552", "fld qword ptr [esp + 0x24]", "0x10093621"], ["0x100a5556", "fmulp st(2)", "0x10093625"]]}, {"orig": [], "recomp": [["0x10093627", "fsubrp st(1)"], ["0x10093629", "fld qword ptr [esp + 0x1c]"], ["0x1009362d", "fmul qword ptr [esp + 0xf4]"]]}, {"both": [["0x100a5558", "faddp st(1)", "0x10093634"], ["0x100a555a", "fmul qword ptr [esp + 0xc]", "0x10093636"], ["0x100a555e", "fstp qword ptr [esp + 0x19c]", "0x1009363a"], ["0x100a5565", "fxch st(2)", "0x10093641"]]}, {"orig": [["0x100a5567", "fmul qword ptr [esp + 0x34]"], ["0x100a556b", "fld qword ptr [esp + 0x2c]"], ["0x100a556f", "fmul qword ptr [esp + 0x1c]"]], "recomp": [["0x10093643", "fmul qword ptr [esp + 0x2c]"], ["0x10093647", "fld qword ptr [esp + 0x24]"], ["0x1009364b", "fmul qword ptr [esp + 0xe4]"]]}, {"both": [["0x100a5573", "fsubp st(1)", "0x10093652"]]}, {"orig": [["0x100a5575", "fld qword ptr [esp + 0x24]"]], "recomp": [["0x10093654", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a5579", "fmul qword ptr [esp + 0x11c]", "0x10093658"], ["0x100a5580", "faddp st(1)", "0x1009365f"], ["0x100a5582", "fchs ", "0x10093661"], ["0x100a5584", "fmul qword ptr [esp + 0xc]", "0x10093663"], ["0x100a5588", "fstp qword ptr [esp + 0x1a4]", "0x10093667"]]}, {"orig": [["0x100a558f", "fld qword ptr [esp + 0x34]"]], "recomp": [["0x1009366e", "fld qword ptr [esp + 0x2c]"]]}, {"both": [["0x100a5593", "fmul qword ptr [esp + 0x14]", "0x10093672"]]}, {"orig": [["0x100a5597", "fld qword ptr [esp + 0x2c]"]], "recomp": [["0x10093676", "fld qword ptr [esp + 0x24]"]]}, {"both": [["0x100a559b", "fmul qword ptr [esp + 0x124]", "0x1009367a"], ["0x100a55a2", "xor esi, esi", "0x10093681"], ["0x100a55a4", "lea edi, [esp + 0x134]", "0x10093683"], ["0x100a55ab", "mov eax, 4", "0x1009368a"], ["0x100a55b0", "fsubp st(1)", "0x1009368f"]]}, {"orig": [["0x100a55b2", "fld qword ptr [esp + 0x24]"]], "recomp": [["0x10093691", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a55b6", "fmul qword ptr [esp + 0x12c]", "0x10093695"], ["0x100a55bd", "faddp st(1)", "0x1009369c"], ["0x100a55bf", "fmul qword ptr [esp + 0xc]", "0x1009369e"], ["0x100a55c3", "fstp qword ptr [esp + 0x1ac]", "0x100936a2"], ["0x100a55ca", "fstp st(0)", "0x100936a9"], ["0x100a55cc", "fstp st(0)", "0x100936ab"], ["0x100a55ce", "mov edx, 4", "0x100936ad"], ["0x100a55d3", "fld qword ptr [edi]", "0x100936b2"]]}, {"orig": [["0x100a55d5", "mov ebx, dword ptr [esp + 0xa8]"]], "recomp": [["0x100936b4", "mov ebx, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100a55dc", "add edi, 8", "0x100936bb"], ["0x100a55df", "add esi, 4", "0x100936be"], ["0x100a55e2", "dec edx", "0x100936c1"], ["0x100a55e3", "fstp dword ptr [ebx + esi - 4]", "0x100936c2"], ["0x100a55e7", "jne -0x16", "0x100936c6"], ["0x100a55e9", "dec eax", "0x100936c8"], ["0x100a55ea", "jne -0x1e", "0x100936c9"], ["0x100a55ec", "mov edx, dword ptr [esp + 0x1b8]", "0x100936cb"], ["0x100a55f3", "mov esi, dword ptr [ecx + 0x14]", "0x100936d2"]]}, {"orig": [["0x100a55f6", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x100936d5", "mov eax, dword ptr [esp + 0xa0]"], ["0x100936dc", "fld dword ptr [esi + 4]"], ["0x100936df", "fmul dword ptr [eax + 0x10]"]]}, {"both": [["0x100a55fd", "fld dword ptr [esi + 8]", "0x100936e2"], ["0x100a5600", "fmul dword ptr [eax + 0x20]", "0x100936e5"]]}, {"orig": [["0x100a5603", "fld dword ptr [esi + 4]"], ["0x100a5606", "fmul dword ptr [eax + 0x10]"]], "recomp": []}, {"both": [["0x100a5609", "faddp st(1)", "0x100936e8"]]}, {"orig": [["0x100a560b", "fld dword ptr [esi + 0xc]"], ["0x100a560e", "fmul dword ptr [eax + 0x30]"]], "recomp": [["0x100936ea", "fld dword ptr [eax + 0x30]"], ["0x100936ed", "fmul dword ptr [esi + 0xc]"]]}, {"both": [["0x100a5611", "mov ebx, dword ptr [edx + 4]", "0x100936f0"], ["0x100a5614", "faddp st(1)", "0x100936f3"]]}, {"orig": [["0x100a5616", "fld dword ptr [esi]"], ["0x100a5618", "fmul dword ptr [eax]"]], "recomp": [["0x100936f5", "fld dword ptr [eax]"], ["0x100936f7", "fmul dword ptr [esi]"]]}, {"both": [["0x100a561a", "faddp st(1)", "0x100936f9"], ["0x100a561c", "fstp dword ptr [ebx]", "0x100936fb"], ["0x100a561e", "mov esi, dword ptr [ecx + 0x14]", "0x100936fd"]]}, {"orig": [["0x100a5621", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a5628", "fld dword ptr [esi + 4]"], ["0x100a562b", "fmul dword ptr [eax + 0x14]"]], "recomp": [["0x10093700", "mov eax, dword ptr [esp + 0xa0]"], ["0x10093707", "fld dword ptr [eax + 0x14]"], ["0x1009370a", "fmul dword ptr [esi + 4]"]]}, {"both": [["0x100a562e", "fld dword ptr [eax + 0x24]", "0x1009370d"], ["0x100a5631", "fmul dword ptr [esi + 8]", "0x10093710"], ["0x100a5634", "faddp st(1)", "0x10093713"]]}, {"orig": [["0x100a5636", "fld dword ptr [esi + 0xc]"], ["0x100a5639", "fmul dword ptr [eax + 0x34]"]], "recomp": [["0x10093715", "fld dword ptr [eax + 0x34]"], ["0x10093718", "fmul dword ptr [esi + 0xc]"]]}, {"both": [["0x100a563c", "mov ebx, dword ptr [edx + 4]", "0x1009371b"], ["0x100a563f", "faddp st(1)", "0x1009371e"], ["0x100a5641", "fld dword ptr [eax + 4]", "0x10093720"], ["0x100a5644", "fmul dword ptr [esi]", "0x10093723"], ["0x100a5646", "faddp st(1)", "0x10093725"], ["0x100a5648", "fstp dword ptr [ebx + 4]", "0x10093727"], ["0x100a564b", "mov esi, dword ptr [ecx + 0x14]", "0x1009372a"]]}, {"orig": [["0x100a564e", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a5655", "fld dword ptr [esi + 4]"], ["0x100a5658", "fmul dword ptr [eax + 0x18]"]], "recomp": [["0x1009372d", "mov eax, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100a565b", "fld dword ptr [eax + 0x28]", "0x10093734"], ["0x100a565e", "fmul dword ptr [esi + 8]", "0x10093737"]]}, {"orig": [], "recomp": [["0x1009373a", "fld dword ptr [eax + 0x18]"], ["0x1009373d", "fmul dword ptr [esi + 4]"]]}, {"both": [["0x100a5661", "faddp st(1)", "0x10093740"], ["0x100a5663", "fld dword ptr [eax + 0x38]", "0x10093742"], ["0x100a5666", "fmul dword ptr [esi + 0xc]", "0x10093745"], ["0x100a5669", "mov ebx, dword ptr [edx + 4]", "0x10093748"], ["0x100a566c", "faddp st(1)", "0x1009374b"], ["0x100a566e", "fld dword ptr [eax + 8]", "0x1009374d"], ["0x100a5671", "fmul dword ptr [esi]", "0x10093750"], ["0x100a5673", "faddp st(1)", "0x10093752"], ["0x100a5675", "fstp dword ptr [ebx + 8]", "0x10093754"], ["0x100a5678", "mov esi, dword ptr [ecx + 0x14]", "0x10093757"]]}, {"orig": [["0x100a567b", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x1009375a", "mov eax, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100a5682", "fld dword ptr [esi + 4]", "0x10093761"], ["0x100a5685", "fmul dword ptr [eax + 0x1c]", "0x10093764"]]}, {"orig": [["0x100a5688", "fld dword ptr [esi + 8]"], ["0x100a568b", "fmul dword ptr [eax + 0x2c]"]], "recomp": [["0x10093767", "fld dword ptr [eax + 0x2c]"], ["0x1009376a", "fmul dword ptr [esi + 8]"]]}, {"both": [["0x100a568e", "faddp st(1)", "0x1009376d"], ["0x100a5690", "fld dword ptr [eax + 0x3c]", "0x1009376f"], ["0x100a5693", "fmul dword ptr [esi + 0xc]", "0x10093772"], ["0x100a5696", "mov ebx, dword ptr [edx + 4]", "0x10093775"], ["0x100a5699", "faddp st(1)", "0x10093778"], ["0x100a569b", "fld dword ptr [eax + 0xc]", "0x1009377a"], ["0x100a569e", "fmul dword ptr [esi]", "0x1009377d"], ["0x100a56a0", "faddp st(1)", "0x1009377f"], ["0x100a56a2", "fstp dword ptr [ebx + 0xc]", "0x10093781"], ["0x100a56a5", "mov esi, dword ptr [ecx + 0x14]", "0x10093784"]]}, {"orig": [], "recomp": [["0x10093787", "fld dword ptr [esi + 0x14]"], ["0x1009378a", "mov eax, dword ptr [esp + 0xa0]"], ["0x10093791", "fmul dword ptr [eax + 0x10]"]]}, {"both": [["0x100a56a8", "fld dword ptr [esi + 0x18]", "0x10093794"]]}, {"orig": [["0x100a56ab", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": []}, {"both": [["0x100a56b2", "fmul dword ptr [eax + 0x20]", "0x10093797"]]}, {"orig": [["0x100a56b5", "fld dword ptr [esi + 0x1c]"], ["0x100a56b8", "fmul dword ptr [eax + 0x30]"]], "recomp": []}, {"both": [["0x100a56bb", "faddp st(1)", "0x1009379a"]]}, {"orig": [["0x100a56bd", "fld dword ptr [esi + 0x14]"], ["0x100a56c0", "fmul dword ptr [eax + 0x10]"]], "recomp": [["0x1009379c", "fld dword ptr [eax + 0x30]"], ["0x1009379f", "fmul dword ptr [esi + 0x1c]"]]}, {"both": [["0x100a56c3", "mov ebx, dword ptr [edx + 4]", "0x100937a2"], ["0x100a56c6", "faddp st(1)", "0x100937a5"], ["0x100a56c8", "fld dword ptr [esi + 0x10]", "0x100937a7"], ["0x100a56cb", "fmul dword ptr [eax]", "0x100937aa"], ["0x100a56cd", "faddp st(1)", "0x100937ac"], ["0x100a56cf", "fstp dword ptr [ebx + 0x10]", "0x100937ae"], ["0x100a56d2", "mov esi, dword ptr [ecx + 0x14]", "0x100937b1"]]}, {"orig": [["0x100a56d5", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a56dc", "fld dword ptr [esi + 0x14]"], ["0x100a56df", "fmul dword ptr [eax + 0x14]"]], "recomp": [["0x100937b4", "mov eax, dword ptr [esp + 0xa0]"], ["0x100937bb", "fld dword ptr [eax + 0x14]"], ["0x100937be", "fmul dword ptr [esi + 0x14]"]]}, {"both": [["0x100a56e2", "fld dword ptr [eax + 0x24]", "0x100937c1"], ["0x100a56e5", "fmul dword ptr [esi + 0x18]", "0x100937c4"], ["0x100a56e8", "faddp st(1)", "0x100937c7"]]}, {"orig": [], "recomp": [["0x100937c9", "fld dword ptr [eax + 4]"], ["0x100937cc", "fmul dword ptr [esi + 0x10]"], ["0x100937cf", "mov ebx, dword ptr [edx + 4]"], ["0x100937d2", "faddp st(1)"]]}, {"both": [["0x100a56ea", "fld dword ptr [esi + 0x1c]", "0x100937d4"], ["0x100a56ed", "fmul dword ptr [eax + 0x34]", "0x100937d7"]]}, {"orig": [["0x100a56f0", "mov ebx, dword ptr [edx + 4]"], ["0x100a56f3", "faddp st(1)"], ["0x100a56f5", "fld dword ptr [esi + 0x10]"], ["0x100a56f8", "fmul dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x100a56fb", "faddp st(1)", "0x100937da"], ["0x100a56fd", "fstp dword ptr [ebx + 0x14]", "0x100937dc"], ["0x100a5700", "mov esi, dword ptr [ecx + 0x14]", "0x100937df"]]}, {"orig": [["0x100a5703", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a570a", "fld dword ptr [eax + 8]"], ["0x100a570d", "fmul dword ptr [esi + 0x10]"], ["0x100a5710", "fld dword ptr [esi + 0x14]"], ["0x100a5713", "fmul dword ptr [eax + 0x18]"], ["0x100a5716", "faddp st(1)"], ["0x100a5718", "fld dword ptr [esi + 0x18]"], ["0x100a571b", "fmul dword ptr [eax + 0x28]"], ["0x100a571e", "mov ebx, dword ptr [edx + 4]"], ["0x100a5721", "faddp st(1)"]], "recomp": [["0x100937e2", "mov eax, dword ptr [esp + 0xa0]"], ["0x100937e9", "fld dword ptr [eax + 0x28]"], ["0x100937ec", "fmul dword ptr [esi + 0x18]"]]}, {"both": [["0x100a5723", "fld dword ptr [eax + 0x38]", "0x100937ef"], ["0x100a5726", "fmul dword ptr [esi + 0x1c]", "0x100937f2"], ["0x100a5729", "faddp st(1)", "0x100937f5"]]}, {"orig": [], "recomp": [["0x100937f7", "fld dword ptr [eax + 0x18]"], ["0x100937fa", "fmul dword ptr [esi + 0x14]"], ["0x100937fd", "mov ebx, dword ptr [edx + 4]"], ["0x10093800", "faddp st(1)"], ["0x10093802", "fld dword ptr [eax + 8]"], ["0x10093805", "fmul dword ptr [esi + 0x10]"], ["0x10093808", "faddp st(1)"]]}, {"both": [["0x100a572b", "fstp dword ptr [ebx + 0x18]", "0x1009380a"], ["0x100a572e", "mov esi, dword ptr [ecx + 0x14]", "0x1009380d"]]}, {"orig": [["0x100a5731", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x10093810", "mov eax, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100a5738", "fld dword ptr [esi + 0x14]", "0x10093817"], ["0x100a573b", "fmul dword ptr [eax + 0x1c]", "0x1009381a"]]}, {"orig": [["0x100a573e", "fld dword ptr [esi + 0x18]"], ["0x100a5741", "fmul dword ptr [eax + 0x2c]"]], "recomp": [["0x1009381d", "fld dword ptr [eax + 0x2c]"], ["0x10093820", "fmul dword ptr [esi + 0x18]"]]}, {"both": [["0x100a5744", "faddp st(1)", "0x10093823"], ["0x100a5746", "fld dword ptr [eax + 0x3c]", "0x10093825"], ["0x100a5749", "fmul dword ptr [esi + 0x1c]", "0x10093828"], ["0x100a574c", "mov ebx, dword ptr [edx + 4]", "0x1009382b"], ["0x100a574f", "faddp st(1)", "0x1009382e"], ["0x100a5751", "fld dword ptr [eax + 0xc]", "0x10093830"], ["0x100a5754", "fmul dword ptr [esi + 0x10]", "0x10093833"], ["0x100a5757", "faddp st(1)", "0x10093836"], ["0x100a5759", "fstp dword ptr [ebx + 0x1c]", "0x10093838"], ["0x100a575c", "mov esi, dword ptr [ecx + 0x14]", "0x1009383b"]]}, {"orig": [["0x100a575f", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a5766", "fld dword ptr [esi + 0x2c]"], ["0x100a5769", "fmul dword ptr [eax + 0x30]"]], "recomp": [["0x1009383e", "mov eax, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100a576c", "fld dword ptr [esi + 0x24]", "0x10093845"], ["0x100a576f", "fmul dword ptr [eax + 0x10]", "0x10093848"]]}, {"orig": [["0x100a5772", "faddp st(1)"]], "recomp": []}, {"both": [["0x100a5774", "fld dword ptr [esi + 0x28]", "0x1009384b"], ["0x100a5777", "fmul dword ptr [eax + 0x20]", "0x1009384e"]]}, {"orig": [], "recomp": [["0x10093851", "faddp st(1)"], ["0x10093853", "fld dword ptr [eax + 0x30]"], ["0x10093856", "fmul dword ptr [esi + 0x2c]"]]}, {"both": [["0x100a577a", "mov ebx, dword ptr [edx + 4]", "0x10093859"], ["0x100a577d", "faddp st(1)", "0x1009385c"], ["0x100a577f", "fld dword ptr [esi + 0x20]", "0x1009385e"], ["0x100a5782", "fmul dword ptr [eax]", "0x10093861"], ["0x100a5784", "faddp st(1)", "0x10093863"], ["0x100a5786", "fstp dword ptr [ebx + 0x20]", "0x10093865"], ["0x100a5789", "mov esi, dword ptr [ecx + 0x14]", "0x10093868"]]}, {"orig": [["0x100a578c", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x1009386b", "mov eax, dword ptr [esp + 0xa0]"], ["0x10093872", "fld dword ptr [eax + 0x14]"], ["0x10093875", "fmul dword ptr [esi + 0x24]"]]}, {"both": [["0x100a5793", "fld dword ptr [eax + 0x24]", "0x10093878"], ["0x100a5796", "fmul dword ptr [esi + 0x28]", "0x1009387b"]]}, {"orig": [["0x100a5799", "fld dword ptr [esi + 0x24]"], ["0x100a579c", "fmul dword ptr [eax + 0x14]"]], "recomp": [["0x1009387e", "faddp st(1)"], ["0x10093880", "fld dword ptr [eax + 4]"], ["0x10093883", "fmul dword ptr [esi + 0x20]"], ["0x10093886", "mov ebx, dword ptr [edx + 4]"]]}, {"both": [["0x100a579f", "faddp st(1)", "0x10093889"], ["0x100a57a1", "fld dword ptr [esi + 0x2c]", "0x1009388b"], ["0x100a57a4", "fmul dword ptr [eax + 0x34]", "0x1009388e"]]}, {"orig": [["0x100a57a7", "mov ebx, dword ptr [edx + 4]"], ["0x100a57aa", "faddp st(1)"], ["0x100a57ac", "fld dword ptr [esi + 0x20]"], ["0x100a57af", "fmul dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x100a57b2", "faddp st(1)", "0x10093891"], ["0x100a57b4", "fstp dword ptr [ebx + 0x24]", "0x10093893"], ["0x100a57b7", "mov esi, dword ptr [ecx + 0x14]", "0x10093896"]]}, {"orig": [["0x100a57ba", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a57c1", "fld dword ptr [esi + 0x24]"], ["0x100a57c4", "fmul dword ptr [eax + 0x18]"]], "recomp": [["0x10093899", "mov eax, dword ptr [esp + 0xa0]"], ["0x100938a0", "fld dword ptr [eax + 0x38]"], ["0x100938a3", "fmul dword ptr [esi + 0x2c]"], ["0x100938a6", "fld dword ptr [eax + 0x18]"], ["0x100938a9", "fmul dword ptr [esi + 0x24]"], ["0x100938ac", "faddp st(1)"], ["0x100938ae", "fld dword ptr [eax + 0x28]"], ["0x100938b1", "fmul dword ptr [esi + 0x28]"], ["0x100938b4", "mov ebx, dword ptr [edx + 4]"], ["0x100938b7", "faddp st(1)"]]}, {"both": [["0x100a57c7", "fld dword ptr [eax + 8]", "0x100938b9"], ["0x100a57ca", "fmul dword ptr [esi + 0x20]", "0x100938bc"], ["0x100a57cd", "faddp st(1)", "0x100938bf"]]}, {"orig": [["0x100a57cf", "fld dword ptr [esi + 0x28]"], ["0x100a57d2", "fmul dword ptr [eax + 0x28]"], ["0x100a57d5", "mov ebx, dword ptr [edx + 4]"], ["0x100a57d8", "faddp st(1)"], ["0x100a57da", "fld dword ptr [eax + 0x38]"], ["0x100a57dd", "fmul dword ptr [esi + 0x2c]"], ["0x100a57e0", "faddp st(1)"]], "recomp": []}, {"both": [["0x100a57e2", "fstp dword ptr [ebx + 0x28]", "0x100938c1"], ["0x100a57e5", "mov esi, dword ptr [ecx + 0x14]", "0x100938c4"]]}, {"orig": [["0x100a57e8", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x100938c7", "mov eax, dword ptr [esp + 0xa0]"], ["0x100938ce", "fld dword ptr [eax + 0x2c]"], ["0x100938d1", "fmul dword ptr [esi + 0x28]"]]}, {"both": [["0x100a57ef", "fld dword ptr [esi + 0x24]", "0x100938d4"], ["0x100a57f2", "fmul dword ptr [eax + 0x1c]", "0x100938d7"]]}, {"orig": [["0x100a57f5", "fld dword ptr [esi + 0x28]"], ["0x100a57f8", "fmul dword ptr [eax + 0x2c]"]], "recomp": []}, {"both": [["0x100a57fb", "faddp st(1)", "0x100938da"]]}, {"orig": [["0x100a57fd", "fld dword ptr [esi + 0x2c]"], ["0x100a5800", "fmul dword ptr [eax + 0x3c]"]], "recomp": [["0x100938dc", "fld dword ptr [eax + 0x3c]"], ["0x100938df", "fmul dword ptr [esi + 0x2c]"]]}, {"both": [["0x100a5803", "mov ebx, dword ptr [edx + 4]", "0x100938e2"], ["0x100a5806", "faddp st(1)", "0x100938e5"], ["0x100a5808", "fld dword ptr [eax + 0xc]", "0x100938e7"], ["0x100a580b", "fmul dword ptr [esi + 0x20]", "0x100938ea"], ["0x100a580e", "faddp st(1)", "0x100938ed"], ["0x100a5810", "fstp dword ptr [ebx + 0x2c]", "0x100938ef"], ["0x100a5813", "mov esi, dword ptr [ecx + 0x14]", "0x100938f2"]]}, {"orig": [["0x100a5816", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a581d", "fld dword ptr [esi + 0x3c]"], ["0x100a5820", "fmul dword ptr [eax + 0x30]"], ["0x100a5823", "fld dword ptr [esi + 0x34]"], ["0x100a5826", "fmul dword ptr [eax + 0x10]"]], "recomp": [["0x100938f5", "mov eax, dword ptr [esp + 0xa0]"], ["0x100938fc", "fld dword ptr [eax + 0x30]"], ["0x100938ff", "fmul dword ptr [esi + 0x3c]"], ["0x10093902", "fld dword ptr [eax + 0x10]"], ["0x10093905", "fmul dword ptr [esi + 0x34]"]]}, {"both": [["0x100a5829", "faddp st(1)", "0x10093908"], ["0x100a582b", "fld dword ptr [eax + 0x20]", "0x1009390a"], ["0x100a582e", "fmul dword ptr [esi + 0x38]", "0x1009390d"], ["0x100a5831", "mov ebx, dword ptr [edx + 4]", "0x10093910"], ["0x100a5834", "faddp st(1)", "0x10093913"], ["0x100a5836", "fld dword ptr [esi + 0x30]", "0x10093915"], ["0x100a5839", "fmul dword ptr [eax]", "0x10093918"], ["0x100a583b", "faddp st(1)", "0x1009391a"], ["0x100a583d", "fstp dword ptr [ebx + 0x30]", "0x1009391c"], ["0x100a5840", "mov esi, dword ptr [ecx + 0x14]", "0x1009391f"]]}, {"orig": [["0x100a5843", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a584a", "fld dword ptr [eax + 0x24]"], ["0x100a584d", "fmul dword ptr [esi + 0x38]"]], "recomp": [["0x10093922", "mov eax, dword ptr [esp + 0xa0]"], ["0x10093929", "fld dword ptr [eax + 4]"], ["0x1009392c", "fmul dword ptr [esi + 0x30]"]]}, {"both": [["0x100a5850", "fld dword ptr [eax + 0x14]", "0x1009392f"], ["0x100a5853", "fmul dword ptr [esi + 0x34]", "0x10093932"], ["0x100a5856", "faddp st(1)", "0x10093935"]]}, {"orig": [], "recomp": [["0x10093937", "fld dword ptr [eax + 0x24]"], ["0x1009393a", "fmul dword ptr [esi + 0x38]"], ["0x1009393d", "mov ebx, dword ptr [edx + 4]"], ["0x10093940", "faddp st(1)"]]}, {"both": [["0x100a5858", "fld dword ptr [esi + 0x3c]", "0x10093942"], ["0x100a585b", "fmul dword ptr [eax + 0x34]", "0x10093945"]]}, {"orig": [["0x100a585e", "mov ebx, dword ptr [edx + 4]"], ["0x100a5861", "faddp st(1)"], ["0x100a5863", "fld dword ptr [esi + 0x30]"], ["0x100a5866", "fmul dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x100a5869", "faddp st(1)", "0x10093948"], ["0x100a586b", "fstp dword ptr [ebx + 0x34]", "0x1009394a"], ["0x100a586e", "mov esi, dword ptr [ecx + 0x14]", "0x1009394d"]]}, {"orig": [["0x100a5871", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x10093950", "mov eax, dword ptr [esp + 0xa0]"], ["0x10093957", "fld dword ptr [eax + 0x38]"], ["0x1009395a", "fmul dword ptr [esi + 0x3c]"]]}, {"both": [["0x100a5878", "fld dword ptr [eax + 8]", "0x1009395d"], ["0x100a587b", "fmul dword ptr [esi + 0x30]", "0x10093960"]]}, {"orig": [], "recomp": [["0x10093963", "faddp st(1)"]]}, {"both": [["0x100a587e", "fld dword ptr [eax + 0x18]", "0x10093965"], ["0x100a5881", "fmul dword ptr [esi + 0x34]", "0x10093968"]]}, {"orig": [["0x100a5884", "faddp st(1)"], ["0x100a5886", "fld dword ptr [eax + 0x38]"], ["0x100a5889", "fmul dword ptr [esi + 0x3c]"]], "recomp": []}, {"both": [["0x100a588c", "mov ebx, dword ptr [edx + 4]", "0x1009396b"], ["0x100a588f", "faddp st(1)", "0x1009396e"], ["0x100a5891", "fld dword ptr [eax + 0x28]", "0x10093970"], ["0x100a5894", "fmul dword ptr [esi + 0x38]", "0x10093973"], ["0x100a5897", "faddp st(1)", "0x10093976"], ["0x100a5899", "fstp dword ptr [ebx + 0x38]", "0x10093978"], ["0x100a589c", "mov ecx, dword ptr [ecx + 0x14]", "0x1009397b"]]}, {"orig": [["0x100a589f", "mov eax, dword ptr [esp + 0xa8]"], ["0x100a58a6", "fld dword ptr [ecx + 0x3c]"], ["0x100a58a9", "fmul dword ptr [eax + 0x3c]"]], "recomp": [["0x1009397e", "mov eax, dword ptr [esp + 0xa0]"], ["0x10093985", "fld dword ptr [eax + 0x2c]"], ["0x10093988", "fmul dword ptr [ecx + 0x38]"], ["0x1009398b", "fld dword ptr [eax + 0x3c]"], ["0x1009398e", "fmul dword ptr [ecx + 0x3c]"], ["0x10093991", "faddp st(1)"]]}, {"both": [["0x100a58ac", "fld dword ptr [eax + 0xc]", "0x10093993"], ["0x100a58af", "fmul dword ptr [ecx + 0x30]", "0x10093996"]]}, {"orig": [["0x100a58b2", "faddp st(1)"], ["0x100a58b4", "fld dword ptr [eax + 0x1c]"], ["0x100a58b7", "fmul dword ptr [ecx + 0x34]"]], "recomp": []}, {"both": [["0x100a58ba", "mov ebx, dword ptr [edx + 4]", "0x10093999"], ["0x100a58bd", "faddp st(1)", "0x1009399c"]]}, {"orig": [["0x100a58bf", "fld dword ptr [eax + 0x2c]"], ["0x100a58c2", "fmul dword ptr [ecx + 0x38]"]], "recomp": [["0x1009399e", "fld dword ptr [ecx + 0x34]"], ["0x100939a1", "fmul dword ptr [eax + 0x1c]"]]}, {"both": [["0x100a58c5", "faddp st(1)", "0x100939a4"], ["0x100a58c7", "fstp dword ptr [ebx + 0x3c]", "0x100939a6"], ["0x100a58ca", "jmp 0x12", "0x100939a9"], ["0x100a58cc", "add ecx, 0x10", "0x100939ab"], ["0x100a58cf", "mov edx, dword ptr [esp + 0x1b8]", "0x100939ae"], ["0x100a58d6", "push ecx", "0x100939b5"], ["0x100a58d7", "mov eax, dword ptr [edx]", "0x100939b6"], ["0x100a58d9", "mov ecx, edx", "0x100939b8"], ["0x100a58db", "call dword ptr [eax + 0x28]", "0x100939ba"], ["0x100a58de", "pop edi", "0x100939bd"], ["0x100a58df", "pop esi", "0x100939be"], ["0x100a58e0", "pop ebx", "0x100939bf"], ["0x100a58e1", "add esp, 0x1a8", "0x100939c0"]]}, {"orig": [], "recomp": [["0x100939c6", "ret 4"]]}]]]}, {"address": "0x100a58f0", "recomp": "0x100939d0", "name": "OrientableROI::FUN_100a58f0", "matching": 1.0, "diff": []}, {"address": "0x100a5910", "recomp": "0x100939f0", "name": "OrientableROI::VTable0x1c", "matching": 1.0, "diff": []}, {"address": "0x100a5930", "recomp": "0x10093a10", "name": "OrientableROI::SetLocalTransform", "matching": 1.0, "diff": []}, {"address": "0x100a5960", "recomp": "0x10093a40", "name": "OrientableROI::VTable0x24", "matching": 1.0, "diff": []}, {"address": "0x100a59b0", "recomp": "0x10093a90", "name": "OrientableROI::UpdateWorldData", "matching": 1.0, "diff": []}, {"address": "0x100a5a30", "recomp": "0x10093b10", "name": "OrientableROI::FUN_100a5a30", "matching": 1.0, "diff": []}, {"address": "0x100a5a50", "recomp": "0x10093b30", "name": "OrientableROI::UpdateWorldVelocity", "matching": 1.0, "diff": []}, {"address": "0x100a5a60", "recomp": "0x10093b40", "name": "CalcWorldBoundingVolumes", "matching": 1.0, "diff": []}, {"address": "0x100a5b40", "recomp": "0x10093c50", "name": "CalcLocalTransform", "matching": 0.9570552147239264, "diff": [["@@ -0x100a5b61,24 +0x10093c71,24 @@", [{"both": [["0x100a5b61", "fld dword ptr [eax]", "0x10093c71"], ["0x100a5b63", "fdiv st(1)", "0x10093c73"], ["0x100a5b65", "mov ecx, dword ptr [esp + 0x34]", "0x10093c75"], ["0x100a5b69", "fstp dword ptr [esp + 0x1c]", "0x10093c79"], ["0x100a5b6d", "fld dword ptr [eax + 4]", "0x10093c7d"], ["0x100a5b70", "fdiv st(1)", "0x10093c80"], ["0x100a5b72", "fstp dword ptr [esp + 0x20]", "0x10093c82"], ["0x100a5b76", "fdivr dword ptr [eax + 8]", "0x10093c86"], ["0x100a5b79", "mov eax, dword ptr [ecx + 4]", "0x10093c89"], ["0x100a5b7c", "fstp dword ptr [esp + 0x24]", "0x10093c8c"]]}, {"orig": [], "recomp": [["0x10093c90", "fld dword ptr [eax + 4]"], ["0x10093c93", "fmul dword ptr [eax + 4]"]]}, {"both": [["0x100a5b80", "fld dword ptr [eax + 8]", "0x10093c96"], ["0x100a5b83", "fmul dword ptr [eax + 8]", "0x10093c99"]]}, {"orig": [["0x100a5b86", "fld dword ptr [eax + 4]"], ["0x100a5b89", "fmul dword ptr [eax + 4]"]], "recomp": []}, {"both": [["0x100a5b8c", "faddp st(1)", "0x10093c9c"], ["0x100a5b8e", "fld dword ptr [eax]", "0x10093c9e"], ["0x100a5b90", "fmul dword ptr [eax]", "0x10093ca0"], ["0x100a5b92", "faddp st(1)", "0x10093ca2"], ["0x100a5b94", "fsqrt ", "0x10093ca4"], ["0x100a5b96", "fld dword ptr [eax]", "0x10093ca6"], ["0x100a5b98", "fdiv st(1)", "0x10093ca8"], ["0x100a5b9a", "fstp dword ptr [esp + 4]", "0x10093caa"], ["0x100a5b9e", "fld dword ptr [eax + 4]", "0x10093cae"], ["0x100a5ba1", "fdiv st(1)", "0x10093cb1"]]}]], ["@@ -0x100a5bcc,24 +0x10093cdc,25 @@", [{"both": [["0x100a5bcc", "fld dword ptr [esp + 0x1c]", "0x10093cdc"], ["0x100a5bd0", "fmul dword ptr [esp + 0xc]", "0x10093ce0"], ["0x100a5bd4", "fsubp st(1)", "0x10093ce4"], ["0x100a5bd6", "fchs ", "0x10093ce6"], ["0x100a5bd8", "fstp dword ptr [esp + 0x14]", "0x10093ce8"], ["0x100a5bdc", "fld dword ptr [esp + 0x20]", "0x10093cec"], ["0x100a5be0", "fmul dword ptr [esp + 4]", "0x10093cf0"], ["0x100a5be4", "fld dword ptr [esp + 0x1c]", "0x10093cf4"], ["0x100a5be8", "fmul dword ptr [esp + 8]", "0x10093cf8"], ["0x100a5bec", "fsubp st(1)", "0x10093cfc"]]}, {"orig": [["0x100a5bee", "fst dword ptr [esp + 0x18]"], ["0x100a5bf2", "fmul dword ptr [esp + 0x18]"]], "recomp": [["0x10093cfe", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x100a5bf6", "fld dword ptr [esp + 0x14]", "0x10093d02"], ["0x100a5bfa", "fmul dword ptr [esp + 0x14]", "0x10093d06"]]}, {"orig": [], "recomp": [["0x10093d0a", "fld dword ptr [esp + 0x18]"], ["0x10093d0e", "fmul dword ptr [esp + 0x18]"]]}, {"both": [["0x100a5bfe", "faddp st(1)", "0x10093d12"], ["0x100a5c00", "fld dword ptr [esp + 0x10]", "0x10093d14"], ["0x100a5c04", "fmul dword ptr [esp + 0x10]", "0x10093d18"], ["0x100a5c08", "faddp st(1)", "0x10093d1c"], ["0x100a5c0a", "fsqrt ", "0x10093d1e"], ["0x100a5c0c", "fld dword ptr [esp + 0x10]", "0x10093d20"], ["0x100a5c10", "fdiv st(1)", "0x10093d24"], ["0x100a5c12", "fstp dword ptr [esp + 0x10]", "0x10093d26"], ["0x100a5c16", "fld dword ptr [esp + 0x14]", "0x10093d2a"], ["0x100a5c1a", "fdiv st(1)", "0x10093d2e"]]}]], ["@@ -0x100a5c42,24 +0x10093d56,25 @@", [{"both": [["0x100a5c42", "fld dword ptr [esp + 0x24]", "0x10093d56"], ["0x100a5c46", "fmul dword ptr [esp + 0x10]", "0x10093d5a"], ["0x100a5c4a", "fsubp st(1)", "0x10093d5e"], ["0x100a5c4c", "fchs ", "0x10093d60"], ["0x100a5c4e", "fstp dword ptr [esp + 8]", "0x10093d62"], ["0x100a5c52", "fld dword ptr [esp + 0x1c]", "0x10093d66"], ["0x100a5c56", "fmul dword ptr [esp + 0x14]", "0x10093d6a"], ["0x100a5c5a", "fld dword ptr [esp + 0x20]", "0x10093d6e"], ["0x100a5c5e", "fmul dword ptr [esp + 0x10]", "0x10093d72"], ["0x100a5c62", "fsubp st(1)", "0x10093d76"]]}, {"orig": [["0x100a5c64", "fst dword ptr [esp + 0xc]"], ["0x100a5c68", "fmul dword ptr [esp + 0xc]"]], "recomp": [["0x10093d78", "fstp dword ptr [esp + 0xc]"]]}, {"both": [["0x100a5c6c", "fld dword ptr [esp + 8]", "0x10093d7c"], ["0x100a5c70", "fmul dword ptr [esp + 8]", "0x10093d80"]]}, {"orig": [], "recomp": [["0x10093d84", "fld dword ptr [esp + 0xc]"], ["0x10093d88", "fmul dword ptr [esp + 0xc]"]]}, {"both": [["0x100a5c74", "faddp st(1)", "0x10093d8c"], ["0x100a5c76", "fld dword ptr [esp + 4]", "0x10093d8e"], ["0x100a5c7a", "fmul dword ptr [esp + 4]", "0x10093d92"], ["0x100a5c7e", "faddp st(1)", "0x10093d96"], ["0x100a5c80", "fsqrt ", "0x10093d98"], ["0x100a5c82", "fld dword ptr [esp + 4]", "0x10093d9a"], ["0x100a5c86", "fdiv st(1)", "0x10093d9e"], ["0x100a5c88", "fstp dword ptr [esp + 4]", "0x10093da0"], ["0x100a5c8c", "fld dword ptr [esp + 8]", "0x10093da4"], ["0x100a5c90", "fdiv st(1)", "0x10093da8"]]}]]]}, {"address": "0x100a5d50", "recomp": "0x100926e0", "name": "ROI::~ROI", "matching": 1.0, "diff": []}, {"address": "0x100a5d60", "recomp": "0x100926f0", "name": "ROI::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a5d80", "recomp": "0x10093c20", "name": "OrientableROI::GetWorldVelocity", "matching": 1.0, "diff": []}, {"address": "0x100a5d90", "recomp": "0x10093c30", "name": "OrientableROI::GetWorldBoundingBox", "matching": 1.0, "diff": []}, {"address": "0x100a5da0", "recomp": "0x10093c40", "name": "OrientableROI::GetWorldBoundingSphere", "matching": 1.0, "diff": []}, {"address": "0x100a5db0", "recomp": "0x10092710", "name": "OrientableROI::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x100a5dc0", "recomp": "0x10093e60", "name": "RealtimeView::RealtimeView", "matching": 1.0, "diff": []}, {"address": "0x100a5dd0", "recomp": "0x10093e70", "name": "RealtimeView::~RealtimeView", "matching": 1.0, "diff": []}, {"address": "0x100a5de0", "recomp": "0x10093e80", "name": "RealtimeView::SetUserMaxLOD", "matching": 1.0, "diff": []}, {"address": "0x100a5df0", "recomp": "0x10093e90", "name": "RealtimeView::SetPartsThreshold", "matching": 1.0, "diff": []}, {"address": "0x100a5e00", "recomp": "0x10093ea0", "name": "RealtimeView::GetUserMaxLOD", "matching": 1.0, "diff": []}, {"address": "0x100a5e10", "recomp": "0x10093eb0", "name": "RealtimeView::GetPartsThreshold", "matching": 1.0, "diff": []}, {"address": "0x100a5e20", "recomp": "0x10093ec0", "name": "RealtimeView::UpdateMaxLOD", "matching": 1.0, "diff": []}, {"address": "0x100a5e40", "recomp": "0x100cf8f0", "name": "ViewLOD::~ViewLOD", "matching": 1.0, "diff": []}, {"address": "0x100a5eb0", "recomp": "0x10093ee0", "name": "ViewManager::ViewManager", "matching": 1.0, "diff": []}, {"address": "0x100a6000", "recomp": "0x10094070", "name": "ViewManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a6020", "recomp": "0x10094090", "name": "List<ROI *>::~List<ROI *>", "matching": 1.0, "diff": []}, {"address": "0x100a6070", "recomp": "0x100940e0", "name": "Vector<ROI const *>::~Vector<ROI const *>", "matching": 1.0, "diff": []}, {"address": "0x100a60c0", "recomp": "0x10094130", "name": "ViewManager::~ViewManager", "matching": 1.0, "diff": []}, {"address": "0x100a6150", "recomp": "0x100941c0", "name": "ViewManager::IsBoundingBoxInFrustum", "matching": 0.828125, "diff": [["@@ -0x100a6178,47 +0x100941e8,47 @@", [{"both": [["0x100a6178", "add esi, 4", "0x100941e8"], ["0x100a617b", "mov eax, dword ptr [esp + eax*4 + 8]", "0x100941eb"], ["0x100a617f", "mov eax, dword ptr [eax + 4]", "0x100941ef"], ["0x100a6182", "mov eax, dword ptr [eax + edi - 4]", "0x100941f2"], ["0x100a6186", "mov dword ptr [esp + esi + 0xc], eax", "0x100941f6"], ["0x100a618a", "jmp -0x22", "0x100941fa"], ["0x100a618c", "add edx, 0xc", "0x100941fc"], ["0x100a618f", "cmp edx, 0x60", "0x100941ff"], ["0x100a6192", "jl -0x2e", "0x10094202"], ["0x100a6194", "fld dword ptr [0.0 (FLOAT)]", "0x10094204"]]}, {"orig": [], "recomp": [["0x1009420a", "xor edi, edi"], ["0x1009420c", "add ecx, 0x154"]]}, {"both": [["0x100a619a", "xor edx, edx", "0x10094212"]]}, {"orig": [["0x100a619c", "add ecx, 0x158"], ["0x100a61a2", "xor edi, edi"], ["0x100a61a4", "lea esi, [esp + 0x18]"], ["0x100a61a8", "fld dword ptr [esi - 8]"], ["0x100a61ab", "fmul dword ptr [ecx - 8]"]], "recomp": [["0x10094214", "lea esi, [esp + 0x14]"], ["0x10094218", "fld dword ptr [esi + 4]"], ["0x1009421b", "fmul dword ptr [ecx + 4]"]]}, {"both": [["0x100a61ae", "fld dword ptr [esi - 4]", "0x1009421e"], ["0x100a61b1", "fmul dword ptr [ecx - 4]", "0x10094221"], ["0x100a61b4", "faddp st(1)", "0x10094224"], ["0x100a61b6", "fld dword ptr [ecx]", "0x10094226"], ["0x100a61b8", "fmul dword ptr [esi]", "0x10094228"], ["0x100a61ba", "faddp st(1)", "0x1009422a"]]}, {"orig": [["0x100a61bc", "fadd dword ptr [ecx + 4]"]], "recomp": [["0x1009422c", "fadd dword ptr [ecx + 8]"]]}, {"both": [["0x100a61bf", "fcomp st(1)", "0x1009422f"], ["0x100a61c1", "fnstsw ax", "0x10094231"], ["0x100a61c3", "test ah, 1", "0x10094233"], ["0x100a61c6", "je 0xc", "0x10094236"], ["0x100a61c8", "add esi, 0xc", "0x10094238"]]}, {"orig": [["0x100a61cb", "inc edi"], ["0x100a61cc", "lea eax, [esp + 0x78]"]], "recomp": [["0x1009423b", "inc edx"], ["0x1009423c", "lea eax, [esp + 0x74]"]]}, {"both": [["0x100a61d0", "cmp esi, eax", "0x10094240"], ["0x100a61d2", "jb -0x2c", "0x10094242"]]}, {"orig": [["0x100a61d4", "cmp edi, 8"]], "recomp": [["0x10094244", "cmp edx, 8"]]}, {"both": [["0x100a61d7", "je 0x18", "0x10094247"], ["0x100a61d9", "add ecx, 0x10", "0x10094249"]]}, {"orig": [["0x100a61dc", "inc edx"], ["0x100a61dd", "cmp edx, 6"]], "recomp": [["0x1009424c", "inc edi"], ["0x1009424d", "cmp edi, 6"]]}, {"both": [["0x100a61e0", "jl -0x40", "0x10094250"], ["0x100a61e2", "fstp st(0)", "0x10094252"], ["0x100a61e4", "mov eax, 1", "0x10094254"], ["0x100a61e9", "pop edi", "0x10094259"], ["0x100a61ea", "pop esi", "0x1009425a"], ["0x100a61eb", "add esp, 0x68", "0x1009425b"], ["0x100a61ee", "ret 4", "0x1009425e"], ["0x100a61f1", "fstp st(0)", "0x10094261"], ["0x100a61f3", "xor eax, eax", "0x10094263"], ["0x100a61f5", "pop edi", "0x10094265"]]}]]]}, {"address": "0x100a6410", "recomp": "0x10094270", "name": "ViewManager::Remove", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a6475,21 +0x100942d5,21 @@", [{"both": [["0x100a6475", "jl 0x8", "0x100942d5"], ["0x100a6477", "push edi", "0x100942d7"], ["0x100a6478", "mov ecx, esi", "0x100942d8"], ["0x100a647a", "call ViewManager::RemoveROIDetailFromScene (FUNCTION)", "0x100942da"], ["0x100a647f", "mov edi, dword ptr [edi + 4]", "0x100942df"], ["0x100a6482", "test edi, edi", "0x100942e2"], ["0x100a6484", "je 0x35", "0x100942e4"], ["0x100a6486", "mov eax, dword ptr [edi + 4]", "0x100942e6"], ["0x100a6489", "mov ecx, dword ptr [eax]", "0x100942e9"], ["0x100a648b", "mov dword ptr [esp + 0xc], ecx", "0x100942eb"]]}, {"orig": [["0x100a648f", "cmp ecx, eax"]], "recomp": [["0x100942ef", "cmp eax, ecx"]]}, {"both": [["0x100a6491", "je 0x28", "0x100942f1"], ["0x100a6493", "xor ebx, ebx", "0x100942f3"], ["0x100a6495", "mov eax, dword ptr [esp + 0xc]", "0x100942f5"], ["0x100a6499", "mov eax, dword ptr [eax + 8]", "0x100942f9"], ["0x100a649c", "cmp dword ptr [eax + 0xe0], ebx", "0x100942fc"], ["0x100a64a2", "jl 0x8", "0x10094302"], ["0x100a64a4", "push eax", "0x10094304"], ["0x100a64a5", "mov ecx, esi", "0x10094305"], ["0x100a64a7", "call ViewManager::RemoveROIDetailFromScene (FUNCTION)", "0x10094307"], ["0x100a64ac", "mov eax, dword ptr [esp + 0xc]", "0x1009430c"]]}]]]}, {"address": "0x100a64d0", "recomp": "0x10094330", "name": "ViewManager::RemoveAll", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a6585,16 +0x100943e5,16 @@", [{"both": [["0x100a6585", "mov eax, dword ptr [eax]", "0x100943e5"], ["0x100a6587", "mov dword ptr [ecx], eax", "0x100943e7"], ["0x100a6589", "mov ecx, dword ptr [edx]", "0x100943e9"], ["0x100a658b", "mov eax, dword ptr [esp + 8]", "0x100943eb"], ["0x100a658f", "push eax", "0x100943ef"], ["0x100a6590", "mov edx, dword ptr [eax]", "0x100943f0"], ["0x100a6592", "mov dword ptr [edx + 4], ecx", "0x100943f2"], ["0x100a6595", "call ??3@YAXPAX@Z (FUNCTION)", "0x100943f5"], ["0x100a659a", "add esp, 4", "0x100943fa"], ["0x100a659d", "dec dword ptr [esi + 0x10]", "0x100943fd"]]}, {"orig": [["0x100a65a0", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x10094400", "cmp edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x100a65a4", "jne -0x2e", "0x10094404"], ["0x100a65a6", "pop edi", "0x10094406"], ["0x100a65a7", "pop esi", "0x10094407"], ["0x100a65a8", "add esp, 0xc", "0x10094408"], ["0x100a65ab", "ret 4", "0x1009440b"]]}]]]}, {"address": "0x100a65b0", "recomp": "0x10094410", "name": "ViewManager::UpdateROIDetailBasedOnLOD", "matching": 0.6559139784946236, "diff": [["@@ -0x100a65b0,84 +0x10094410,84 @@", [{"both": [["0x100a65b0", "sub esp, 8", "0x10094410"]]}, {"orig": [["0x100a65b3", "mov dword ptr [esp + 4], ecx"]], "recomp": [["0x10094413", "mov dword ptr [esp], ecx"]]}, {"both": [["0x100a65b7", "push ebx", "0x10094417"], ["0x100a65b8", "push esi", "0x10094418"], ["0x100a65b9", "push edi", "0x10094419"], ["0x100a65ba", "mov esi, dword ptr [esp + 0x18]", "0x1009441a"], ["0x100a65be", "push ebp", "0x1009441e"], ["0x100a65bf", "mov edi, dword ptr [esp + 0x20]", "0x1009441f"], ["0x100a65c3", "mov eax, dword ptr [esi + 8]", "0x10094423"], ["0x100a65c6", "test eax, eax", "0x10094426"], ["0x100a65c8", "jne 0x6", "0x10094428"], ["0x100a65ca", "test edi, edi", "0x1009442a"], ["0x100a65cc", "jl 0x14", "0x1009442c"], ["0x100a65ce", "jmp 0x5", "0x1009442e"], ["0x100a65d0", "cmp dword ptr [eax + 0xc], edi", "0x10094430"], ["0x100a65d3", "jg 0xd", "0x10094433"], ["0x100a65d5", "mov edi, 0xffffffff", "0x10094435"], ["0x100a65da", "test eax, eax", "0x1009443a"], ["0x100a65dc", "je 0x4", "0x1009443c"], ["0x100a65de", "mov edi, dword ptr [eax + 0xc]", "0x1009443e"], ["0x100a65e1", "dec edi", "0x10094441"]]}, {"orig": [["0x100a65e2", "mov ebp, dword ptr [esi + 0xe0]"], ["0x100a65e8", "cmp ebp, edi"], ["0x100a65ea", "je 0xa1"]], "recomp": [["0x10094442", "mov ebx, dword ptr [esi + 0xe0]"], ["0x10094448", "cmp ebx, edi"], ["0x1009444a", "je 0xa3"]]}, {"both": [["0x100a65f0", "mov eax, dword ptr [esi]", "0x10094450"], ["0x100a65f2", "mov ecx, dword ptr [eax + 0x34]", "0x10094452"]]}, {"orig": [["0x100a65f5", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x10094455", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x100a65f9", "mov ecx, esi", "0x10094459"]]}, {"orig": [["0x100a65fb", "call dword ptr [esp + 0x10]"], ["0x100a65ff", "mov ebx, eax"], ["0x100a6601", "test ebp, ebp"]], "recomp": [["0x1009445b", "call dword ptr [esp + 0x14]"], ["0x1009445f", "mov ebp, eax"], ["0x10094461", "test ebx, ebx"]]}, {"both": [["0x100a6603", "mov eax, dword ptr [esi + 8]", "0x10094463"], ["0x100a6606", "mov ecx, dword ptr [eax + 4]", "0x10094466"], ["0x100a6609", "jge 0x28", "0x10094469"]]}, {"orig": [["0x100a660b", "mov ebp, dword ptr [ecx + edi*4]"], ["0x100a660e", "test byte ptr [ebp + 8], 0x10"], ["0x100a6612", "je 0x73"], ["0x100a6614", "mov eax, dword ptr [esp + 0x14]"], ["0x100a6618", "push ebx"]], "recomp": [["0x1009446b", "mov ebx, dword ptr [ecx + edi*4]"], ["0x1009446e", "test byte ptr [ebx + 8], 0x10"], ["0x10094472", "je 0x75"], ["0x10094474", "mov eax, dword ptr [esp + 0x10]"], ["0x10094478", "push ebp"]]}, {"both": [["0x100a6619", "mov ecx, dword ptr [eax + 4]", "0x10094479"], ["0x100a661c", "mov eax, dword ptr [ecx]", "0x1009447c"]]}, {"orig": [["0x100a661e", "call dword ptr [eax + 0x20]"]], "recomp": [["0x1009447e", "call dword ptr [eax + 0x1c]"]]}, {"both": [["0x100a6621", "mov ecx, esi", "0x10094481"]]}, {"orig": [["0x100a6623", "call dword ptr [esp + 0x10]"], ["0x100a6627", "mov eax, dword ptr [eax + 4]"]], "recomp": [["0x10094483", "call dword ptr [esp + 0x14]"], ["0x10094487", "mov ecx, dword ptr [eax + 4]"]]}, {"both": [["0x100a662a", "push esi", "0x1009448a"]]}, {"orig": [["0x100a662b", "push eax"], ["0x100a662c", "mov eax, dword ptr [eax]"]], "recomp": [["0x1009448b", "push ecx"], ["0x1009448c", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100a662e", "call dword ptr [eax + 0x18]", "0x1009448e"]]}, {"orig": [["0x100a6631", "jmp 0x1f"], ["0x100a6633", "mov eax, dword ptr [ecx + ebp*4]"]], "recomp": [["0x10094491", "jmp 0x20"], ["0x10094493", "mov eax, dword ptr [ecx + ebx*4]"]]}, {"both": [["0x100a6636", "test eax, eax", "0x10094496"]]}, {"orig": [["0x100a6638", "je 0xf"]], "recomp": [["0x10094498", "je 0x10"]]}, {"both": [["0x100a663a", "mov eax, dword ptr [eax + 4]", "0x1009449a"], ["0x100a663d", "test eax, eax", "0x1009449d"]]}, {"orig": [["0x100a663f", "je 0x8"]], "recomp": [["0x1009449f", "je 0x9"]]}, {"both": [["0x100a6641", "push eax", "0x100944a1"]]}, {"orig": [["0x100a6642", "mov ecx, ebx"], ["0x100a6644", "mov eax, dword ptr [ebx]"]], "recomp": [["0x100944a2", "mov ecx, ebp"], ["0x100944a4", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x100a6646", "call dword ptr [eax + 0x24]", "0x100944a7"], ["0x100a6649", "mov eax, dword ptr [esi + 8]", "0x100944aa"], ["0x100a664c", "mov ecx, dword ptr [eax + 4]", "0x100944ad"]]}, {"orig": [["0x100a664f", "mov ebp, dword ptr [ecx + edi*4]"], ["0x100a6652", "test byte ptr [ebp + 8], 0x10"], ["0x100a6656", "je 0x2f"], ["0x100a6658", "mov eax, dword ptr [ebp + 4]"]], "recomp": [["0x100944b0", "mov ebx, dword ptr [ecx + edi*4]"], ["0x100944b3", "test byte ptr [ebx + 8], 0x10"], ["0x100944b7", "je 0x30"], ["0x100944b9", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x100a665b", "test eax, eax", "0x100944bc"]]}, {"orig": [["0x100a665d", "je 0x28"]], "recomp": [["0x100944be", "je 0x29"]]}, {"both": [["0x100a665f", "push eax", "0x100944c0"]]}, {"orig": [["0x100a6660", "mov ecx, ebx"], ["0x100a6662", "mov eax, dword ptr [ebx]"]], "recomp": [["0x100944c1", "mov ecx, ebp"], ["0x100944c3", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x100a6664", "call dword ptr [eax + 0x1c]", "0x100944c6"], ["0x100a6667", "mov ecx, esi", "0x100944c9"]]}, {"orig": [["0x100a6669", "call dword ptr [esp + 0x10]"]], "recomp": [["0x100944cb", "call dword ptr [esp + 0x14]"]]}, {"both": [["0x100a666d", "mov eax, dword ptr [eax + 4]", "0x100944cf"], ["0x100a6670", "push esi", "0x100944d2"], ["0x100a6671", "push eax", "0x100944d3"], ["0x100a6672", "mov ebx, dword ptr [eax]", "0x100944d4"], ["0x100a6674", "call dword ptr [ebx + 0x18]", "0x100944d6"], ["0x100a6677", "pop ebp", "0x100944d9"], ["0x100a6678", "mov dword ptr [esi + 0xe0], edi", "0x100944da"], ["0x100a667e", "pop edi", "0x100944e0"], ["0x100a667f", "pop esi", "0x100944e1"], ["0x100a6680", "pop ebx", "0x100944e2"]]}]]]}, {"address": "0x100a66a0", "recomp": "0x10094500", "name": "ViewManager::RemoveROIDetailFromScene", "matching": 1.0, "diff": []}, {"address": "0x100a66f0", "recomp": "0x100947c0", "name": "ViewManager::ManageVisibilityAndDetailRecursively", "matching": 0.8847184986595175, "diff": [["@@ -0x100a66fb,42 +0x100947cb,42 @@", [{"both": [["0x100a66fb", "mov edi, ecx", "0x100947cb"], ["0x100a66fd", "mov ebp, dword ptr [esp + 0x20]", "0x100947cd"], ["0x100a6701", "cmp byte ptr [ebp + 0xc], 0", "0x100947d1"], ["0x100a6705", "jne 0xc", "0x100947d5"], ["0x100a6707", "cmp esi, -2", "0x100947d7"], ["0x100a670a", "je 0x7", "0x100947da"], ["0x100a670c", "mov esi, 0xfffffffe", "0x100947dc"], ["0x100a6711", "jmp -0x12", "0x100947e1"], ["0x100a6713", "mov ebx, dword ptr [ebp + 4]", "0x100947e3"], ["0x100a6716", "cmp esi, -1", "0x100947e6"]]}, {"orig": [["0x100a6719", "jne 0x140"]], "recomp": [["0x100947e9", "jne 0x134"]]}, {"both": [["0x100a671f", "mov eax, dword ptr [ebp]", "0x100947ef"], ["0x100a6722", "mov ecx, dword ptr [eax + 0x10]", "0x100947f2"], ["0x100a6725", "mov dword ptr [esp + 0x10], ecx", "0x100947f5"], ["0x100a6729", "mov ecx, ebp", "0x100947f9"], ["0x100a672b", "call dword ptr [esp + 0x10]", "0x100947fb"], ["0x100a672f", "cmp dword ptr [eax + 0x14], 0x3a83126f", "0x100947ff"]]}, {"orig": [["0x100a6736", "jle 0x123"]], "recomp": [["0x10094806", "jle 0x117"]]}, {"both": [["0x100a673c", "mov ecx, ebp", "0x1009480c"], ["0x100a673e", "call dword ptr [esp + 0x10]", "0x1009480e"], ["0x100a6742", "push eax", "0x10094812"], ["0x100a6743", "mov ecx, edi", "0x10094813"], ["0x100a6745", "call ViewManager::ProjectedSize (FUNCTION)", "0x10094815"], ["0x100a674a", "fstp dword ptr [esp + 0x18]", "0x1009481a"], ["0x100a674e", "fld dword ptr [edi + 0x1b8]", "0x1009481e"], ["0x100a6754", "fmul dword ptr [g_unk0x1010105c (DATA)]", "0x10094824"], ["0x100a675a", "fcomp dword ptr [esp + 0x18]", "0x1009482a"], ["0x100a675e", "fnstsw ax", "0x1009482e"], ["0x100a6760", "test ah, 0x41", "0x10094830"], ["0x100a6763", "jne 0x14", "0x10094833"], ["0x100a6765", "cmp dword ptr [ebp + 0xe0], -2", "0x10094835"]]}, {"orig": [["0x100a676c", "je 0x1a5"]], "recomp": [["0x1009483c", "je 0x199"]]}, {"both": [["0x100a6772", "mov esi, 0xfffffffe", "0x10094842"], ["0x100a6777", "jmp -0x78", "0x10094847"], ["0x100a6779", "fld dword ptr [edi + 0x1b8]", "0x10094849"], ["0x100a677f", "fmul dword ptr [g_userMaxLodPower (DATA)]", "0x1009484f"], ["0x100a6785", "mov eax, dword ptr [ebp + 8]", "0x10094855"], ["0x100a6788", "test eax, eax", "0x10094858"], ["0x100a678a", "je 0x1b", "0x1009485a"], ["0x100a678c", "fstp dword ptr [esp + 0x10]", "0x1009485c"], ["0x100a6790", "cmp dword ptr [eax + 0xc], 0", "0x10094860"], ["0x100a6794", "jbe 0x15", "0x10094864"]]}]], ["@@ -0x100a67cf,68 +0x1009489f,64 @@", [{"both": [["0x100a67cf", "cmp dword ptr [eax + 0xc], edx", "0x1009489f"], ["0x100a67d2", "ja 0x29", "0x100948a2"], ["0x100a67d4", "mov eax, dword ptr [esp + 0x14]", "0x100948a4"], ["0x100a67d8", "mov esi, dword ptr [eax]", "0x100948a8"], ["0x100a67da", "mov dword ptr [esp + 0x14], esi", "0x100948aa"], ["0x100a67de", "cmp ecx, esi", "0x100948ae"], ["0x100a67e0", "jne -0x21", "0x100948b0"], ["0x100a67e2", "xor eax, eax", "0x100948b2"], ["0x100a67e4", "test eax, eax", "0x100948b4"], ["0x100a67e6", "je 0x37", "0x100948b6"]]}, {"orig": [["0x100a67e8", "fld dword ptr [g_minLODThreshold (DATA)]"], ["0x100a67ee", "fcomp dword ptr [esp + 0x18]"]], "recomp": [["0x100948b8", "fld dword ptr [esp + 0x18]"], ["0x100948bc", "fcomp dword ptr [g_minLODThreshold (DATA)]"]]}, {"both": [["0x100a67f2", "fnstsw ax", "0x100948c2"]]}, {"orig": [["0x100a67f4", "test ah, 0x41"], ["0x100a67f7", "jne 0x1f"]], "recomp": [["0x100948c4", "test ah, 1"], ["0x100948c7", "je 0x1f"]]}, {"both": [["0x100a67f9", "xor esi, esi", "0x100948c9"]]}, {"orig": [["0x100a67fb", "jmp 0x62"]], "recomp": [["0x100948cb", "jmp 0x56"]]}, {"both": [["0x100a67fd", "mov eax, dword ptr [esp + 0x14]", "0x100948cd"], ["0x100a6801", "mov ecx, dword ptr [eax + 8]", "0x100948d1"], ["0x100a6804", "mov edx, dword ptr [ecx + 8]", "0x100948d4"], ["0x100a6807", "mov eax, dword ptr [edx + 4]", "0x100948d7"], ["0x100a680a", "mov ecx, dword ptr [eax]", "0x100948da"], ["0x100a680c", "mov eax, dword ptr [ecx + 8]", "0x100948dc"], ["0x100a680f", "and al, 8", "0x100948df"], ["0x100a6811", "cmp al, 1", "0x100948e1"], ["0x100a6813", "sbb eax, eax", "0x100948e3"], ["0x100a6815", "inc eax", "0x100948e5"], ["0x100a6816", "jmp -0x34", "0x100948e6"], ["0x100a6818", "mov esi, 1", "0x100948e8"], ["0x100a681d", "jmp 0x2", "0x100948ed"], ["0x100a681f", "xor esi, esi", "0x100948ef"], ["0x100a6821", "mov eax, dword ptr [esp + 0x10]", "0x100948f1"], ["0x100a6825", "cmp esi, dword ptr [g_maxLODLevels (DATA)]", "0x100948f5"], ["0x100a682b", "mov dword ptr [esp + 0x10], eax", "0x100948fb"]]}, {"orig": [["0x100a682f", "jge 0x2e"], ["0x100a6831", "fld dword ptr [esp + 0x18]"], ["0x100a6835", "jmp 0x4"], ["0x100a6837", "fstp dword ptr [esp + 0x10]"], ["0x100a683b", "fcom dword ptr [esp + 0x10]"]], "recomp": [["0x100948ff", "jge 0x22"], ["0x10094901", "fld dword ptr [esp + 0x10]"], ["0x10094905", "fcom dword ptr [esp + 0x18]"]]}, {"both": [["0x100a683f", "fnstsw ax", "0x10094909"], ["0x100a6841", "test ah, 0x41", "0x1009490b"]]}, {"orig": [["0x100a6844", "jne 0x17"], ["0x100a6846", "fld dword ptr [g_LODScaleFactor (DATA)]"], ["0x100a684c", "fmul dword ptr [esp + 0x10]"]], "recomp": [["0x1009490e", "je 0xf"], ["0x10094910", "fmul dword ptr [g_LODScaleFactor (DATA)]"]]}, {"both": [["0x100a6850", "inc esi", "0x10094916"], ["0x100a6851", "cmp esi, dword ptr [g_maxLODLevels (DATA)]", "0x10094917"]]}, {"orig": [["0x100a6857", "jl -0x22"]], "recomp": [["0x1009491d", "jl -0x1a"]]}, {"both": [["0x100a6859", "fstp dword ptr [esp + 0x10]", "0x1009491f"]]}, {"orig": [["0x100a685d", "fstp st(0)"]], "recomp": []}, {"both": [["0x100a685f", "cmp esi, -2", "0x10094923"], ["0x100a6862", "je 0x68", "0x10094926"], ["0x100a6864", "test ebx, ebx", "0x10094928"], ["0x100a6866", "je 0x44", "0x1009492a"], ["0x100a6868", "mov dword ptr [ebp + 0xe0], 0xffffffff", "0x1009492c"], ["0x100a6872", "mov eax, dword ptr [ebx + 4]", "0x10094936"], ["0x100a6875", "mov ecx, dword ptr [eax]", "0x10094939"], ["0x100a6877", "mov dword ptr [esp + 0x10], ecx", "0x1009493b"]]}, {"orig": [["0x100a687b", "cmp ecx, eax"]], "recomp": [["0x1009493f", "cmp eax, ecx"]]}, {"both": [["0x100a687d", "je 0x94", "0x10094941"], ["0x100a6883", "mov eax, dword ptr [esp + 0x10]", "0x10094947"], ["0x100a6887", "push esi", "0x1009494b"], ["0x100a6888", "mov ecx, dword ptr [eax + 8]", "0x1009494c"], ["0x100a688b", "push ecx", "0x1009494f"], ["0x100a688c", "mov ecx, edi", "0x10094950"], ["0x100a688e", "call ViewManager::ManageVisibilityAndDetailRecursively (FUNCTION)", "0x10094952"], ["0x100a6893", "mov ecx, dword ptr [esp + 0x10]", "0x10094957"], ["0x100a6897", "mov edx, dword ptr [ecx]", "0x1009495b"], ["0x100a6899", "mov dword ptr [esp + 0x10], edx", "0x1009495d"]]}]], ["@@ -0x100a68d3,22 +0x10094997,29 @@", [{"both": [["0x100a68d3", "jl 0x12", "0x10094997"], ["0x100a68d5", "push ebp", "0x10094999"], ["0x100a68d6", "mov ecx, edi", "0x1009499a"], ["0x100a68d8", "call ViewManager::RemoveROIDetailFromScene (FUNCTION)", "0x1009499c"], ["0x100a68dd", "mov dword ptr [ebp + 0xe0], 0xfffffffe", "0x100949a1"], ["0x100a68e7", "test ebx, ebx", "0x100949ab"], ["0x100a68e9", "je 0x2c", "0x100949ad"], ["0x100a68eb", "mov eax, dword ptr [ebx + 4]", "0x100949af"], ["0x100a68ee", "mov ecx, dword ptr [eax]", "0x100949b2"], ["0x100a68f0", "mov dword ptr [esp + 0x10], ecx", "0x100949b4"]]}, {"orig": [["0x100a68f4", "cmp eax, ecx"]], "recomp": [["0x100949b8", "cmp ecx, eax"]]}, {"both": [["0x100a68f6", "je 0x1f", "0x100949ba"], ["0x100a68f8", "mov eax, dword ptr [esp + 0x10]", "0x100949bc"], ["0x100a68fc", "push esi", "0x100949c0"], ["0x100a68fd", "mov ecx, dword ptr [eax + 8]", "0x100949c1"], ["0x100a6900", "push ecx", "0x100949c4"], ["0x100a6901", "mov ecx, edi", "0x100949c5"], ["0x100a6903", "call ViewManager::ManageVisibilityAndDetailRecursively (FUNCTION)", "0x100949c7"], ["0x100a6908", "mov ecx, dword ptr [esp + 0x10]", "0x100949cc"], ["0x100a690c", "mov edx, dword ptr [ecx]", "0x100949d0"], ["0x100a690e", "mov dword ptr [esp + 0x10], edx", "0x100949d2"], ["0x100a6912", "cmp dword ptr [ebx + 4], edx", "0x100949d6"]]}, {"orig": [], "recomp": [["0x100949d9", "jne -0x1f"], ["0x100949db", "pop ebp"], ["0x100949dc", "pop edi"], ["0x100949dd", "pop esi"], ["0x100949de", "pop ebx"], ["0x100949df", "add esp, 0xc"], ["0x100949e2", "ret 8"]]}]]]}, {"address": "0x100a6930", "recomp": "0x10094550", "name": "ViewManager::Update", "matching": 0.9487179487179487, "diff": [["@@ -0x100a697e,49 +0x1009459e,49 @@", [{"both": [["0x100a697e", "mov edi, dword ptr [__imp__QueryPerformanceCounter@4 (POINTER)]", "0x1009459e"], ["0x100a6984", "mov dword ptr [ebp - 4], 0", "0x100945a4"], ["0x100a698b", "push eax", "0x100945ab"], ["0x100a698c", "call edi", "0x100945ac"], ["0x100a698e", "mov ecx, dword ptr [ebp + 8]", "0x100945ae"], ["0x100a6991", "mov eax, dword ptr [esi + 0x30]", "0x100945b1"], ["0x100a6994", "or eax, 1", "0x100945b4"], ["0x100a6997", "mov dword ptr [esi + 0x28], ecx", "0x100945b7"], ["0x100a699a", "mov dword ptr [esi + 0x30], eax", "0x100945ba"], ["0x100a699d", "test al, 4", "0x100945bd"]]}, {"orig": [["0x100a699f", "je 0x134"]], "recomp": [["0x100945bf", "je 0x136"]]}, {"both": [["0x100a69a5", "and eax, 0xfffffffb", "0x100945c5"], ["0x100a69a8", "test dword ptr [esi + 0x38], 0x7fffffff", "0x100945c8"], ["0x100a69af", "mov dword ptr [esi + 0x30], eax", "0x100945cf"]]}, {"orig": [["0x100a69b2", "je 0x12c"]], "recomp": [["0x100945d2", "je 0x12e"]]}, {"both": [["0x100a69b8", "test dword ptr [esi + 0x88], 0x7fffffff", "0x100945d8"]]}, {"orig": [["0x100a69c2", "je 0x11c"]], "recomp": [["0x100945e2", "je 0x11e"], ["0x100945e8", "fld dword ptr [esi + 0x3c]"], ["0x100945eb", "fmul dword ptr [esi + 0x3c]"], ["0x100945ee", "fmul dword ptr [4.0 (FLOAT)]"], ["0x100945f4", "fstp dword ptr [esi + 0x2c]"]]}, {"both": [["0x100a69c8", "fld dword ptr [esi + 0x3c]", "0x100945f7"], ["0x100a69cb", "fmul dword ptr [0.5 (FLOAT)]", "0x100945fa"], ["0x100a69d1", "fptan ", "0x10094600"]]}, {"orig": [], "recomp": [["0x10094602", "mov eax, dword ptr [esi + 0x88]"]]}, {"both": [["0x100a69d3", "fstp st(0)", "0x10094608"]]}, {"orig": [["0x100a69d5", "fld st(0)"], ["0x100a69d7", "fmul st(1)"], ["0x100a69d9", "fmul dword ptr [4.0 (FLOAT)]"], ["0x100a69df", "fstp dword ptr [esi + 0x2c]"]], "recomp": []}, {"both": [["0x100a69e2", "fmul dword ptr [esi + 0x88]", "0x1009460a"], ["0x100a69e8", "fld dword ptr [esi + 0x34]", "0x10094610"], ["0x100a69eb", "fdiv dword ptr [esi + 0x38]", "0x10094613"]]}, {"orig": [["0x100a69ee", "mov eax, dword ptr [esi + 0x88]"]], "recomp": []}, {"both": [["0x100a69f4", "mov dword ptr [ebp - 0x10], eax", "0x10094616"], ["0x100a69f7", "fmul st(1)", "0x10094619"], ["0x100a69f9", "fld dword ptr [esi + 0x8c]", "0x1009461b"], ["0x100a69ff", "fadd dword ptr [esi + 0x88]", "0x10094621"], ["0x100a6a05", "fld dword ptr [esi + 0x88]", "0x10094627"], ["0x100a6a0b", "fdivr st(1)", "0x1009462d"], ["0x100a6a0d", "lea ecx, [esi + 0x90]", "0x1009462f"], ["0x100a6a13", "add ecx, 4", "0x10094635"]]}, {"orig": [["0x100a6a16", "fld st(0)"], ["0x100a6a18", "fmul st(4)"]], "recomp": [["0x10094638", "fld st(3)"], ["0x1009463a", "fmul st(1)"]]}, {"both": [["0x100a6a1a", "fxch st(1)", "0x1009463c"], ["0x100a6a1c", "fmul st(3)", "0x1009463e"], ["0x100a6a1e", "add ecx, 4", "0x10094640"], ["0x100a6a21", "add ecx, 4", "0x10094643"], ["0x100a6a24", "fld st(3)", "0x10094646"], ["0x100a6a26", "fstp dword ptr [ecx - 0xc]", "0x10094648"], ["0x100a6a29", "add ecx, 4", "0x1009464b"], ["0x100a6a2c", "fld st(4)", "0x1009464e"], ["0x100a6a2e", "fstp dword ptr [ecx - 0xc]", "0x10094650"], ["0x100a6a31", "mov eax, dword ptr [ebp - 0x10]", "0x10094653"]]}]]]}, {"address": "0x100a6b90", "recomp": "0x100949f0", "name": "ViewManager::UpdateViewTransformations", "matching": 0.6268656716417911, "diff": [["@@ -0x100a6b90,134 +0x100949f0,134 @@", [{"orig": [["0x100a6b90", "sub esp, 0x4c"]], "recomp": [["0x100949f0", "sub esp, 0x50"]]}, {"both": [["0x100a6b93", "push ebx", "0x100949f3"], ["0x100a6b94", "push esi", "0x100949f4"], ["0x100a6b95", "lea eax, [ecx + 0xf0]", "0x100949f5"], ["0x100a6b9b", "push edi", "0x100949fb"], ["0x100a6b9c", "push ebp", "0x100949fc"], ["0x100a6b9d", "mov esi, ecx", "0x100949fd"], ["0x100a6b9f", "and dword ptr [ecx + 0x30], 0xfffffffd", "0x100949ff"]]}, {"orig": [["0x100a6ba3", "mov dword ptr [esp + 0x1c], eax"], ["0x100a6ba7", "mov dword ptr [esp + 0x40], 8"]], "recomp": [["0x10094a03", "mov dword ptr [esp + 0x18], eax"], ["0x10094a07", "mov dword ptr [esp + 0x44], 8"]]}, {"both": [["0x100a6baf", "xor edx, edx", "0x10094a0f"]]}, {"orig": [["0x100a6bb1", "mov ecx, dword ptr [esp + 0x1c]"]], "recomp": [["0x10094a11", "mov ecx, dword ptr [esp + 0x18]"]]}, {"both": [["0x100a6bb5", "cmp edx, 0xc", "0x10094a15"], ["0x100a6bb8", "jge 0x3a", "0x10094a18"], ["0x100a6bba", "mov eax, dword ptr [esi + 0x44]", "0x10094a1a"]]}, {"orig": [["0x100a6bbd", "xor edi, edi"]], "recomp": []}, {"both": [["0x100a6bbf", "mov ebx, dword ptr [eax + edx + 0x30]", "0x10094a1d"]]}, {"orig": [], "recomp": [["0x10094a21", "mov eax, edx"]]}, {"both": [["0x100a6bc3", "mov dword ptr [ecx], ebx", "0x10094a23"]]}, {"orig": [["0x100a6bc5", "mov ebx, edx"], ["0x100a6bc7", "mov eax, dword ptr [esp + 0x1c]"], ["0x100a6bcb", "sub eax, 0x60"]], "recomp": [["0x10094a25", "xor ebx, ebx"], ["0x10094a27", "mov edi, dword ptr [esp + 0x18]"], ["0x10094a2b", "sub edi, 0x60"]]}, {"both": [["0x100a6bce", "jmp 0x2", "0x10094a2e"], ["0x100a6bd0", "fstp dword ptr [ecx]", "0x10094a30"]]}, {"orig": [["0x100a6bd2", "cmp edi, 3"]], "recomp": [["0x10094a32", "cmp ebx, 3"]]}, {"both": [["0x100a6bd5", "jge 0x15", "0x10094a35"], ["0x100a6bd7", "mov ebp, dword ptr [esi + 0x44]", "0x10094a37"]]}, {"orig": [["0x100a6bda", "add ebx, 0x10"], ["0x100a6bdd", "add eax, 4"], ["0x100a6be0", "inc edi"], ["0x100a6be1", "fld dword ptr [ebp + ebx - 0x10]"], ["0x100a6be5", "fmul dword ptr [eax - 4]"]], "recomp": [["0x10094a3a", "add edi, 4"], ["0x10094a3d", "add eax, 0x10"], ["0x10094a40", "inc ebx"], ["0x10094a41", "fld dword ptr [ebp + eax - 0x10]"], ["0x10094a45", "fmul dword ptr [edi - 4]"]]}, {"both": [["0x100a6be8", "fadd dword ptr [ecx]", "0x10094a48"], ["0x100a6bea", "jmp -0x1c", "0x10094a4a"], ["0x100a6bec", "add edx, 4", "0x10094a4c"], ["0x100a6bef", "add ecx, 4", "0x10094a4f"], ["0x100a6bf2", "jmp -0x3f", "0x10094a52"]]}, {"orig": [["0x100a6bf4", "add dword ptr [esp + 0x1c], 0xc"], ["0x100a6bf9", "dec dword ptr [esp + 0x40]"]], "recomp": [["0x10094a54", "add dword ptr [esp + 0x18], 0xc"], ["0x10094a59", "dec dword ptr [esp + 0x44]"]]}, {"both": [["0x100a6bfd", "jne -0x50", "0x10094a5d"], ["0x100a6bff", "lea ebx, [esi + 0x150]", "0x10094a5f"], ["0x100a6c05", "mov edi, g_planePointIndexMap[0] (DATA)", "0x10094a65"], ["0x100a6c0a", "mov ebp, Vector3::`vftable' (VTABLE)", "0x10094a6a"], ["0x100a6c0f", "mov eax, dword ptr [edi]", "0x10094a6f"]]}, {"orig": [["0x100a6c11", "mov dword ptr [esp + 0x38], ebp"], ["0x100a6c15", "mov dword ptr [esp + 0x30], ebp"], ["0x100a6c19", "mov dword ptr [esp + 0x54], ebp"]], "recomp": [["0x10094a71", "mov dword ptr [esp + 0x34], ebp"], ["0x10094a75", "mov dword ptr [esp + 0x2c], ebp"], ["0x10094a79", "mov dword ptr [esp + 0x58], ebp"]]}, {"both": [["0x100a6c1d", "lea ecx, [eax + eax*2]", "0x10094a7d"], ["0x100a6c20", "mov dword ptr [esp + 0x14], ebx", "0x10094a80"], ["0x100a6c24", "mov dword ptr [esp + 0x10], ebp", "0x10094a84"], ["0x100a6c28", "lea eax, [esi + ecx*4]", "0x10094a88"], ["0x100a6c2b", "add eax, 0xf0", "0x10094a8b"], ["0x100a6c30", "mov ecx, dword ptr [edi + 4]", "0x10094a90"]]}, {"orig": [["0x100a6c33", "mov dword ptr [esp + 0x3c], eax"]], "recomp": [["0x10094a93", "mov dword ptr [esp + 0x38], eax"]]}, {"both": [["0x100a6c37", "lea edx, [ecx + ecx*2]", "0x10094a97"], ["0x100a6c3a", "mov ecx, dword ptr [edi + 8]", "0x10094a9a"], ["0x100a6c3d", "lea eax, [esi + edx*4]", "0x10094a9d"], ["0x100a6c40", "add eax, 0xf0", "0x10094aa0"], ["0x100a6c45", "lea edx, [ecx + ecx*2]", "0x10094aa5"]]}, {"orig": [], "recomp": [["0x10094aa8", "lea ecx, [esp + 0x4c]"], ["0x10094aac", "mov dword ptr [esp + 0x30], eax"], ["0x10094ab0", "lea eax, [esi + edx*4]"], ["0x10094ab3", "lea edx, [esp + 0x20]"], ["0x10094ab7", "add eax, 0xf0"], ["0x10094abc", "mov dword ptr [esp + 0x5c], eax"], ["0x10094ac0", "lea eax, [esp + 0x58]"], ["0x10094ac4", "mov dword ptr [esp + 0x48], ecx"], ["0x10094ac8", "push eax"], ["0x10094ac9", "mov dword ptr [esp + 0x48], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a6c48", "lea ecx, [esp + 0x48]", "0x10094ad1"]]}, {"orig": [["0x100a6c4c", "mov dword ptr [esp + 0x34], eax"], ["0x100a6c50", "lea eax, [esi + edx*4]"], ["0x100a6c53", "lea edx, [esp + 0x24]"], ["0x100a6c57", "add eax, 0xf0"], ["0x100a6c5c", "mov dword ptr [esp + 0x58], eax"], ["0x100a6c60", "lea eax, [esp + 0x54]"], ["0x100a6c64", "mov dword ptr [esp + 0x44], ecx"], ["0x100a6c68", "push eax"], ["0x100a6c69", "mov dword ptr [esp + 0x44], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x100a6c71", "lea ecx, [esp + 0x44]"], ["0x100a6c75", "mov dword ptr [esp + 0x24], edx"], ["0x100a6c79", "mov dword ptr [esp + 0x20], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x10094ad5", "mov dword ptr [esp + 0x20], edx"], ["0x10094ad9", "mov dword ptr [esp + 0x1c], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a6c81", "call dword ptr [->Mx3DPointFloat::operator= (FUNCTION)]", "0x10094ae1"]]}, {"orig": [["0x100a6c87", "lea ecx, [esp + 0x30]"], ["0x100a6c8b", "mov eax, dword ptr [esp + 0x40]"]], "recomp": [["0x10094ae7", "lea ecx, [esp + 0x2c]"], ["0x10094aeb", "mov eax, dword ptr [esp + 0x44]"]]}, {"both": [["0x100a6c8f", "push ecx", "0x10094aef"]]}, {"orig": [["0x100a6c90", "lea ecx, [esp + 0x44]"]], "recomp": [["0x10094af0", "lea ecx, [esp + 0x48]"]]}, {"both": [["0x100a6c94", "call dword ptr [eax + 0x54]", "0x10094af4"]]}, {"orig": [["0x100a6c97", "lea ecx, [esp + 0x38]"], ["0x100a6c9b", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": [["0x10094af7", "lea ecx, [esp + 0x34]"], ["0x10094afb", "mov eax, dword ptr [esp + 0x18]"]]}, {"both": [["0x100a6c9f", "push ecx", "0x10094aff"]]}, {"orig": [["0x100a6ca0", "lea ecx, [esp + 0x20]"]], "recomp": [["0x10094b00", "lea ecx, [esp + 0x1c]"]]}, {"both": [["0x100a6ca4", "call dword ptr [eax + 0x88]", "0x10094b04"]]}, {"orig": [["0x100a6caa", "lea ecx, [esp + 0x30]"], ["0x100a6cae", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": [["0x10094b0a", "lea ecx, [esp + 0x2c]"], ["0x10094b0e", "mov eax, dword ptr [esp + 0x18]"]]}, {"both": [["0x100a6cb2", "push ecx", "0x10094b12"]]}, {"orig": [["0x100a6cb3", "lea ecx, [esp + 0x20]"]], "recomp": [["0x10094b13", "lea ecx, [esp + 0x1c]"]]}, {"both": [["0x100a6cb7", "call dword ptr [eax + 0x54]", "0x10094b17"]]}, {"orig": [["0x100a6cba", "mov ecx, dword ptr [esp + 0x20]"], ["0x100a6cbe", "mov edx, dword ptr [esp + 0x44]"]], "recomp": [["0x10094b1a", "mov ecx, dword ptr [esp + 0x1c]"], ["0x10094b1e", "mov edx, dword ptr [esp + 0x48]"]]}, {"both": [["0x100a6cc2", "mov eax, dword ptr [esp + 0x10]", "0x10094b22"], ["0x100a6cc6", "push ecx", "0x10094b26"], ["0x100a6cc7", "lea ecx, [esp + 0x14]", "0x10094b27"], ["0x100a6ccb", "push edx", "0x10094b2b"], ["0x100a6ccc", "call dword ptr [eax + 0x74]", "0x10094b2c"], ["0x100a6ccf", "lea ecx, [esp + 0x10]", "0x10094b2f"], ["0x100a6cd3", "mov eax, dword ptr [esp + 0x10]", "0x10094b33"], ["0x100a6cd7", "call dword ptr [eax + 0x40]", "0x10094b37"], ["0x100a6cda", "fcom dword ptr [0.0 (FLOAT)]", "0x10094b3a"]]}, {"orig": [["0x100a6ce0", "fstp dword ptr [esp + 0x18]"]], "recomp": [["0x10094b40", "fstp dword ptr [esp + 0x3c]"]]}, {"both": [["0x100a6ce4", "fnstsw ax", "0x10094b44"], ["0x100a6ce6", "test ah, 0x41", "0x10094b46"], ["0x100a6ce9", "jne 0x27", "0x10094b49"]]}, {"orig": [["0x100a6ceb", "fld dword ptr [esp + 0x18]"]], "recomp": [["0x10094b4b", "fld dword ptr [esp + 0x3c]"]]}, {"both": [["0x100a6cef", "fsqrt ", "0x10094b4f"], ["0x100a6cf1", "fcom dword ptr [0.0 (FLOAT)]", "0x10094b51"]]}, {"orig": [["0x100a6cf7", "fstp dword ptr [esp + 0x18]"]], "recomp": [["0x10094b57", "fstp dword ptr [esp + 0x40]"]]}, {"both": [["0x100a6cfb", "fnstsw ax", "0x10094b5b"], ["0x100a6cfd", "test ah, 0x41", "0x10094b5d"], ["0x100a6d00", "jne 0x10", "0x10094b60"]]}, {"orig": [["0x100a6d02", "lea eax, [esp + 0x18]"]], "recomp": [["0x10094b62", "lea eax, [esp + 0x40]"]]}, {"both": [["0x100a6d06", "lea ecx, [esp + 0x10]", "0x10094b66"], ["0x100a6d0a", "push eax", "0x10094b6a"], ["0x100a6d0b", "mov eax, dword ptr [esp + 0x14]", "0x10094b6b"], ["0x100a6d0f", "call dword ptr [eax + 0x14]", "0x10094b6f"]]}, {"orig": [["0x100a6d12", "mov eax, dword ptr [esp + 0x3c]"]], "recomp": [["0x10094b72", "mov eax, dword ptr [esp + 0x38]"]]}, {"both": [["0x100a6d16", "mov ecx, dword ptr [esp + 0x14]", "0x10094b76"], ["0x100a6d1a", "push eax", "0x10094b7a"], ["0x100a6d1b", "add ebx, 0x10", "0x10094b7b"], ["0x100a6d1e", "mov eax, dword ptr [esp + 0x14]", "0x10094b7e"], ["0x100a6d22", "push ecx", "0x10094b82"], ["0x100a6d23", "lea ecx, [esp + 0x18]", "0x10094b83"], ["0x100a6d27", "add edi, 0xc", "0x10094b87"], ["0x100a6d2a", "call dword ptr [eax + 0x18]", "0x10094b8a"], ["0x100a6d2d", "fchs ", "0x10094b8d"], ["0x100a6d2f", "fstp dword ptr [ebx - 4]", "0x10094b8f"]]}, {"orig": [["0x100a6d32", "cmp edi, 0x100dbd20"]], "recomp": [["0x10094b92", "cmp edi, g_LODScaleFactor (DATA)"]]}, {"both": [["0x100a6d38", "jb -0x12f", "0x10094b98"], ["0x100a6d3e", "or dword ptr [esi + 0x30], 8", "0x10094b9e"], ["0x100a6d42", "pop ebp", "0x10094ba2"], ["0x100a6d43", "pop edi", "0x10094ba3"], ["0x100a6d44", "pop esi", "0x10094ba4"], ["0x100a6d45", "pop ebx", "0x10094ba5"]]}, {"orig": [["0x100a6d46", "add esp, 0x4c"]], "recomp": [["0x10094ba6", "add esp, 0x50"]]}, {"both": [["0x100a6d49", "ret ", "0x10094ba9"]]}]]]}, {"address": "0x100a6d50", "recomp": "0x10094bb0", "name": "ViewManager::SetResolution", "matching": 1.0, "diff": []}, {"address": "0x100a6d70", "recomp": "0x10094bd0", "name": "ViewManager::SetFrustrum", "matching": 1.0, "diff": []}, {"address": "0x100a6da0", "recomp": "0x10094c00", "name": "ViewManager::SetPOVSource", "matching": 1.0, "diff": []}, {"address": "0x100a6dc0", "recomp": "0x10094c20", "name": "ViewManager::ProjectedSize", "matching": 0.6938775510204082, "diff": [["@@ -0x100a6dc0,24 +0x10094c20,25 @@", [{"orig": [["0x100a6dc0", "mov eax, dword ptr [esp + 4]"], ["0x100a6dc4", "fld dword ptr [eax + 0x14]"], ["0x100a6dc7", "mov edx, dword ptr [eax + 4]"]], "recomp": [["0x10094c20", "push esi"]]}, {"both": [["0x100a6dca", "mov eax, dword ptr [ecx + 0x44]", "0x10094c21"]]}, {"orig": [], "recomp": [["0x10094c24", "mov esi, dword ptr [esp + 8]"], ["0x10094c28", "mov edx, dword ptr [esi + 4]"], ["0x10094c2b", "fld dword ptr [edx + 8]"], ["0x10094c2e", "fsub dword ptr [eax + 0x38]"]]}, {"both": [["0x100a6dcd", "fld dword ptr [edx + 4]", "0x10094c31"], ["0x100a6dd0", "fsub dword ptr [eax + 0x34]", "0x10094c34"]]}, {"orig": [["0x100a6dd3", "fld dword ptr [edx + 8]"], ["0x100a6dd6", "fsub dword ptr [eax + 0x38]"]], "recomp": []}, {"both": [["0x100a6dd9", "fld dword ptr [edx]", "0x10094c37"], ["0x100a6ddb", "fsub dword ptr [eax + 0x30]", "0x10094c39"], ["0x100a6dde", "fxch st(2)", "0x10094c3c"], ["0x100a6de0", "fmul st(0), st(0)", "0x10094c3e"], ["0x100a6de2", "fxch st(1)", "0x10094c40"], ["0x100a6de4", "fmul st(0), st(0)", "0x10094c42"], ["0x100a6de6", "faddp st(1)", "0x10094c44"], ["0x100a6de8", "fxch st(1)", "0x10094c46"], ["0x100a6dea", "fmul st(0), st(0)", "0x10094c48"], ["0x100a6dec", "faddp st(1)", "0x10094c4a"], ["0x100a6dee", "fmul dword ptr [ecx + 0x2c]", "0x10094c4c"]]}, {"orig": [["0x100a6df1", "fxch st(1)"], ["0x100a6df3", "fmul st(0), st(0)"]], "recomp": [["0x10094c4f", "fld dword ptr [esi + 0x14]"], ["0x10094c52", "fmul dword ptr [esi + 0x14]"], ["0x10094c55", "pop esi"]]}, {"both": [["0x100a6df5", "fmul qword ptr [3.14159265359 (FLOAT)]", "0x10094c56"], ["0x100a6dfb", "fdivrp st(1)", "0x10094c5c"], ["0x100a6dfd", "ret 4", "0x10094c5e"]]}]]]}, {"address": "0x100a6e00", "recomp": "0x10094c70", "name": "ViewManager::Pick", "matching": 1.0, "diff": []}, {"address": "0x100a6f00", "recomp": "0x10098290", "name": "LODObject::~LODObject", "matching": 1.0, "diff": []}, {"address": "0x100a6f10", "recomp": "0x100982a0", "name": "LODObject::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a6f30", "recomp": "0x100982c0", "name": "ViewLOD::AveragePolyArea", "matching": 1.0, "diff": []}, {"address": "0x100a6f50", "recomp": "0x100982e0", "name": "ViewLOD::NVerts", "matching": 1.0, "diff": []}, {"address": "0x100a6f60", "recomp": "0x100982f0", "name": "ViewLOD::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a6f80", "recomp": "0x10094030", "name": "vector<ROI const *,allocator<ROI const *> >::~vector<ROI const *,allocator<ROI const *> >", "matching": 0.6666666666666666, "diff": [["@@ -0x100a6f80,18 +0x10094030,18 @@", [{"both": [["0x100a6f80", "push esi", "0x10094030"]]}, {"orig": [], "recomp": [["0x10094031", "mov edx, dword ptr [ecx + 4]"]]}, {"both": [["0x100a6f81", "mov eax, dword ptr [ecx + 8]", "0x10094034"], ["0x100a6f84", "mov esi, ecx", "0x10094037"]]}, {"orig": [["0x100a6f86", "mov ecx, dword ptr [ecx + 4]"]], "recomp": [["0x10094039", "cmp edx, eax"], ["0x1009403b", "mov ecx, edx"], ["0x1009403d", "je 0x7"], ["0x1009403f", "add ecx, 4"]]}, {"both": [["0x100a6f89", "cmp ecx, eax", "0x10094042"]]}, {"orig": [["0x100a6f8b", "mov edx, ecx"], ["0x100a6f8d", "je 0x7"], ["0x100a6f8f", "add edx, 4"], ["0x100a6f92", "cmp edx, eax"]], "recomp": []}, {"both": [["0x100a6f94", "jne -0x7", "0x10094044"]]}, {"orig": [["0x100a6f96", "push ecx"]], "recomp": [["0x10094046", "push edx"]]}, {"both": [["0x100a6f97", "call ??3@YAXPAX@Z (FUNCTION)", "0x10094047"], ["0x100a6f9c", "mov dword ptr [esi + 4], 0", "0x1009404c"], ["0x100a6fa3", "mov dword ptr [esi + 8], 0", "0x10094053"], ["0x100a6faa", "add esp, 4", "0x1009405a"], ["0x100a6fad", "mov dword ptr [esi + 0xc], 0", "0x1009405d"], ["0x100a6fb4", "pop esi", "0x10094064"], ["0x100a6fb5", "ret ", "0x10094065"]]}]]]}, {"address": "0x100a6fc0", "recomp": "0x100947b0", "name": "MxStopWatch::~MxStopWatch", "matching": 1.0, "diff": []}, {"address": "0x100a6fd0", "recomp": "0x10094d70", "name": "ViewLODListManager::ViewLODListManager", "matching": 1.0, "diff": []}, {"address": "0x100a70c0", "recomp": "0x10095460", "name": "ViewLODListManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a70e0", "recomp": "0x10095480", "name": "Map<char const *,ViewLODList *,ROINameComparator>::~Map<char const *,ViewLODList *,ROINameComparator>", "matching": 1.0, "diff": []}, {"address": "0x100a7130", "recomp": "0x100954d0", "name": "ViewLODListManager::~ViewLODListManager", "matching": 0.9285714285714286, "diff": [["@@ -0x100a7148,21 +0x100954e8,21 @@", [{"both": [["0x100a7148", "mov dword ptr [ecx], ViewLODListManager::`vftable' (VTABLE)", "0x100954e8"], ["0x100a714e", "sub esp, 0x14", "0x100954ee"], ["0x100a7151", "mov dword ptr [ebp - 0x10], ecx", "0x100954f1"], ["0x100a7154", "mov dword ptr [ebp - 4], 0", "0x100954f4"], ["0x100a715b", "push ebx", "0x100954fb"], ["0x100a715c", "mov ecx, dword ptr [ecx + 8]", "0x100954fc"], ["0x100a715f", "push esi", "0x100954ff"], ["0x100a7160", "push edi", "0x10095500"], ["0x100a7161", "mov edx, dword ptr [ecx]", "0x10095501"], ["0x100a7163", "mov esi, edx", "0x10095503"]]}, {"orig": [["0x100a7165", "cmp ecx, edx"]], "recomp": [["0x10095505", "cmp edx, ecx"]]}, {"both": [["0x100a7167", "je 0x7e", "0x10095507"], ["0x100a7169", "lea edi, [esi + 0xc]", "0x10095509"], ["0x100a716c", "mov ebx, dword ptr [esi + 0x10]", "0x1009550c"], ["0x100a716f", "cmp dword ptr [ebx + 0xc], 0", "0x1009550f"], ["0x100a7173", "jbe 0x1d", "0x10095513"], ["0x100a7175", "mov eax, dword ptr [ebx + 0xc]", "0x10095515"], ["0x100a7178", "dec eax", "0x10095518"], ["0x100a7179", "mov dword ptr [ebx + 0xc], eax", "0x10095519"], ["0x100a717c", "mov ecx, dword ptr [ebx + 4]", "0x1009551c"], ["0x100a717f", "mov ecx, dword ptr [ecx + eax*4]", "0x1009551f"]]}]], ["@@ -0x100a7194,58 +0x10095534,58 @@", [{"both": [["0x100a7194", "je 0x8", "0x10095534"], ["0x100a7196", "push 1", "0x10095536"], ["0x100a7198", "mov eax, dword ptr [ebx]", "0x10095538"], ["0x100a719a", "mov ecx, ebx", "0x1009553a"], ["0x100a719c", "call dword ptr [eax]", "0x1009553c"], ["0x100a719e", "mov eax, dword ptr [edi]", "0x1009553e"], ["0x100a71a0", "push eax", "0x10095540"], ["0x100a71a1", "call ??3@YAXPAX@Z (FUNCTION)", "0x10095541"], ["0x100a71a6", "add esp, 4", "0x10095546"], ["0x100a71a9", "mov ecx, dword ptr [esi + 8]", "0x10095549"]]}, {"orig": [["0x100a71ac", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], ecx"]], "recomp": [["0x1009554c", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a71b2", "je 0x12", "0x10095552"], ["0x100a71b4", "mov eax, dword ptr [ecx]", "0x10095554"]]}, {"orig": [["0x100a71b6", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095556", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a71bc", "je 0x4", "0x1009555c"], ["0x100a71be", "mov ecx, eax", "0x1009555e"], ["0x100a71c0", "jmp -0xe", "0x10095560"], ["0x100a71c2", "mov esi, ecx", "0x10095562"], ["0x100a71c4", "jmp 0x19", "0x10095564"], ["0x100a71c6", "mov eax, dword ptr [esi + 4]", "0x10095566"], ["0x100a71c9", "cmp dword ptr [eax + 8], esi", "0x10095569"], ["0x100a71cc", "jne 0xa", "0x1009556c"], ["0x100a71ce", "mov esi, eax", "0x1009556e"], ["0x100a71d0", "mov eax, dword ptr [eax + 4]", "0x10095570"], ["0x100a71d3", "cmp dword ptr [eax + 8], esi", "0x10095573"], ["0x100a71d6", "je -0xa", "0x10095576"], ["0x100a71d8", "cmp dword ptr [esi + 8], eax", "0x10095578"], ["0x100a71db", "je 0x2", "0x1009557b"], ["0x100a71dd", "mov esi, eax", "0x1009557d"], ["0x100a71df", "mov eax, dword ptr [ebp - 0x10]", "0x1009557f"], ["0x100a71e2", "cmp dword ptr [eax + 8], esi", "0x10095582"], ["0x100a71e5", "jne -0x7e", "0x10095585"], ["0x100a71e7", "mov eax, dword ptr [ebp - 0x10]", "0x10095587"]]}, {"orig": [], "recomp": [["0x1009558a", "cmp dword ptr [eax + 0x10], 0"]]}, {"both": [["0x100a71ea", "mov ecx, dword ptr [eax + 8]", "0x1009558e"]]}, {"orig": [["0x100a71ed", "mov dword ptr [ebp - 0x14], ecx"]], "recomp": [["0x10095591", "mov dword ptr [ebp - 0x18], ecx"]]}, {"both": [["0x100a71f0", "mov edx, dword ptr [ecx]", "0x10095594"], ["0x100a71f2", "mov dword ptr [ebp - 0x1c], edx", "0x10095596"]]}, {"orig": [["0x100a71f5", "mov dword ptr [ebp - 0x18], edx"], ["0x100a71f8", "cmp dword ptr [eax + 0x10], 0"]], "recomp": [["0x10095599", "mov dword ptr [ebp - 0x14], edx"]]}, {"both": [["0x100a71fc", "je 0x5c", "0x1009559c"], ["0x100a71fe", "mov eax, dword ptr [ebp - 0x1c]", "0x1009559e"], ["0x100a7201", "cmp dword ptr [ecx], eax", "0x100955a1"], ["0x100a7203", "jne 0x55", "0x100955a3"], ["0x100a7205", "cmp ecx, ecx", "0x100955a5"], ["0x100a7207", "jne 0x51", "0x100955a7"], ["0x100a7209", "mov edi, dword ptr [ecx + 4]", "0x100955a9"], ["0x100a720c", "mov esi, edi", "0x100955ac"]]}, {"orig": [["0x100a720e", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], esi"]], "recomp": [["0x100955ae", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7214", "je 0x1e", "0x100955b4"], ["0x100a7216", "mov eax, dword ptr [esi + 8]", "0x100955b6"], ["0x100a7219", "mov ecx, dword ptr [ebp - 0x10]", "0x100955b9"], ["0x100a721c", "push eax", "0x100955bc"], ["0x100a721d", "add ecx, 4", "0x100955bd"], ["0x100a7220", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Erase (FUNCTION)", "0x100955c0"], ["0x100a7225", "mov esi, dword ptr [esi]", "0x100955c5"], ["0x100a7227", "push edi", "0x100955c7"], ["0x100a7228", "mov edi, esi", "0x100955c8"], ["0x100a722a", "call ??3@YAXPAX@Z (FUNCTION)", "0x100955ca"]]}]], ["@@ -0x100a723a,27 +0x100955da,27 @@", [{"both": [["0x100a723a", "mov eax, dword ptr [ebp - 0x10]", "0x100955da"], ["0x100a723d", "mov edx, dword ptr [eax + 8]", "0x100955dd"], ["0x100a7240", "mov dword ptr [edx + 4], ecx", "0x100955e0"], ["0x100a7243", "mov ecx, dword ptr [ebp - 0x10]", "0x100955e3"], ["0x100a7246", "mov dword ptr [eax + 0x10], 0", "0x100955e6"], ["0x100a724d", "mov eax, dword ptr [eax + 8]", "0x100955ed"], ["0x100a7250", "mov dword ptr [eax], eax", "0x100955f0"], ["0x100a7252", "mov eax, dword ptr [ecx + 8]", "0x100955f2"], ["0x100a7255", "mov dword ptr [eax + 8], eax", "0x100955f5"], ["0x100a7258", "jmp 0x33", "0x100955f8"]]}, {"orig": [["0x100a725a", "mov eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x100955fa", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100a725d", "cmp dword ptr [ebp - 0x1c], eax", "0x100955fd"], ["0x100a7260", "je 0x2b", "0x10095600"], ["0x100a7262", "mov esi, dword ptr [ebp - 0x10]", "0x10095602"], ["0x100a7265", "add esi, 4", "0x10095605"]]}, {"orig": [["0x100a7268", "mov eax, dword ptr [ebp - 0x18]"], ["0x100a726b", "lea ecx, [ebp - 0x18]"]], "recomp": [["0x10095608", "mov eax, dword ptr [ebp - 0x14]"], ["0x1009560b", "lea ecx, [ebp - 0x14]"]]}, {"both": [["0x100a726e", "mov dword ptr [ebp - 0x1c], eax", "0x1009560e"], ["0x100a7271", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::iterator::_Inc (FUNCTION)", "0x10095611"], ["0x100a7276", "mov eax, dword ptr [ebp - 0x1c]", "0x10095616"], ["0x100a7279", "lea ecx, [ebp - 0x20]", "0x10095619"], ["0x100a727c", "push eax", "0x1009561c"], ["0x100a727d", "push ecx", "0x1009561d"], ["0x100a727e", "mov ecx, esi", "0x1009561e"], ["0x100a7280", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::erase (FUNCTION)", "0x10095620"], ["0x100a7285", "mov ecx, dword ptr [ebp - 0x18]", "0x10095625"], ["0x100a7288", "cmp dword ptr [ebp - 0x14], ecx", "0x10095628"]]}]]]}, {"address": "0x100a72c0", "recomp": "0x10095660", "name": "ViewLODListManager::Create", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a7461,21 +0x10095801,21 @@", [{"both": [["0x100a7461", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x10095801"], ["0x100a7463", "mov ecx, eax", "0x10095803"], ["0x100a7465", "and ecx, 3", "0x10095805"], ["0x100a7468", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x10095808"], ["0x100a746a", "mov ecx, dword ptr [ebp - 0x10]", "0x1009580a"], ["0x100a746d", "mov edi, dword ptr [ebx + 8]", "0x1009580d"], ["0x100a7470", "mov eax, 1", "0x10095810"], ["0x100a7475", "mov dword ptr [ebp - 0x20], ecx", "0x10095815"], ["0x100a7478", "mov dword ptr [ebp - 0x1c], 0", "0x10095818"], ["0x100a747f", "mov esi, dword ptr [edi + 4]", "0x1009581f"]]}, {"orig": [["0x100a7482", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]], "recomp": [["0x10095822", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], esi"]]}, {"both": [["0x100a7488", "je 0x49", "0x10095828"], ["0x100a748a", "mov edi, esi", "0x1009582a"], ["0x100a748c", "mov eax, dword ptr [ebp - 0x20]", "0x1009582c"], ["0x100a748f", "mov edx, dword ptr [esi + 0xc]", "0x1009582f"], ["0x100a7492", "mov cl, byte ptr [eax]", "0x10095832"], ["0x100a7494", "cmp cl, byte ptr [edx]", "0x10095834"], ["0x100a7496", "jne 0x1a", "0x10095836"], ["0x100a7498", "or cl, cl", "0x10095838"], ["0x100a749a", "je 0x12", "0x1009583a"], ["0x100a749c", "mov cl, byte ptr [eax + 1]", "0x1009583c"]]}]], ["@@ -0x100a74b4,21 +0x10095854,21 @@", [{"both": [["0x100a74b4", "sbb eax, -1", "0x10095854"], ["0x100a74b7", "test eax, eax", "0x10095857"], ["0x100a74b9", "setg cl", "0x10095859"], ["0x100a74bc", "xor eax, eax", "0x1009585c"], ["0x100a74be", "mov al, cl", "0x1009585e"], ["0x100a74c0", "test eax, eax", "0x10095860"], ["0x100a74c2", "jne 0x5", "0x10095862"], ["0x100a74c4", "mov esi, dword ptr [esi + 8]", "0x10095864"], ["0x100a74c7", "jmp 0x2", "0x10095867"], ["0x100a74c9", "mov esi, dword ptr [esi]", "0x10095869"]]}, {"orig": [["0x100a74cb", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]], "recomp": [["0x1009586b", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], esi"]]}, {"both": [["0x100a74d1", "jne -0x49", "0x10095871"], ["0x100a74d3", "cmp dword ptr [ebx + 0xc], 0", "0x10095873"], ["0x100a74d7", "je 0x1c", "0x10095877"], ["0x100a74d9", "lea eax, [ebp - 0x20]", "0x10095879"], ["0x100a74dc", "lea ecx, [ebp - 0x34]", "0x1009587c"], ["0x100a74df", "push eax", "0x1009587f"], ["0x100a74e0", "push edi", "0x10095880"], ["0x100a74e1", "push esi", "0x10095881"], ["0x100a74e2", "push ecx", "0x10095882"], ["0x100a74e3", "lea ecx, [ebx + 4]", "0x10095883"]]}]]]}, {"address": "0x100a75b0", "recomp": "0x10095d60", "name": "ViewLODListManager::Lookup", "matching": 0.974025974025974, "diff": [["@@ -0x100a75b0,16 +0x10095d60,16 @@", [{"both": [["0x100a75b0", "sub esp, 8", "0x10095d60"], ["0x100a75b3", "mov edx, dword ptr [ecx + 8]", "0x10095d63"], ["0x100a75b6", "push ebx", "0x10095d66"], ["0x100a75b7", "mov eax, dword ptr [edx + 4]", "0x10095d67"], ["0x100a75ba", "push esi", "0x10095d6a"]]}, {"orig": [["0x100a75bb", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095d6b", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a75c1", "push edi", "0x10095d71"], ["0x100a75c2", "push ebp", "0x10095d72"], ["0x100a75c3", "mov ebp, dword ptr [esp + 0x1c]", "0x10095d73"], ["0x100a75c7", "je 0x40", "0x10095d77"], ["0x100a75c9", "mov esi, dword ptr [eax + 0xc]", "0x10095d79"], ["0x100a75cc", "mov edi, dword ptr [ebp]", "0x10095d7c"], ["0x100a75cf", "mov bl, byte ptr [esi]", "0x10095d7f"], ["0x100a75d1", "cmp bl, byte ptr [edi]", "0x10095d81"], ["0x100a75d3", "jne 0x1a", "0x10095d83"], ["0x100a75d5", "or bl, bl", "0x10095d85"]]}]], ["@@ -0x100a75eb,21 +0x10095d9b,21 @@", [{"both": [["0x100a75eb", "xor esi, esi", "0x10095d9b"], ["0x100a75ed", "jmp 0x5", "0x10095d9d"], ["0x100a75ef", "sbb esi, esi", "0x10095d9f"], ["0x100a75f1", "sbb esi, -1", "0x10095da1"], ["0x100a75f4", "test esi, esi", "0x10095da4"], ["0x100a75f6", "jg 0x6", "0x10095da6"], ["0x100a75f8", "mov edx, eax", "0x10095da8"], ["0x100a75fa", "mov eax, dword ptr [eax]", "0x10095daa"], ["0x100a75fc", "jmp 0x3", "0x10095dac"], ["0x100a75fe", "mov eax, dword ptr [eax + 8]", "0x10095dae"]]}, {"orig": [["0x100a7601", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095db1", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7607", "jne -0x40", "0x10095db7"], ["0x100a7609", "mov dword ptr [esp + 0x10], edx", "0x10095db9"], ["0x100a760d", "cmp dword ptr [ecx + 8], edx", "0x10095dbd"], ["0x100a7610", "je 0x33", "0x10095dc0"], ["0x100a7612", "mov esi, dword ptr [ebp]", "0x10095dc2"], ["0x100a7615", "mov eax, dword ptr [edx + 0xc]", "0x10095dc5"], ["0x100a7618", "mov dl, byte ptr [esi]", "0x10095dc8"], ["0x100a761a", "cmp dl, byte ptr [eax]", "0x10095dca"], ["0x100a761c", "jne 0x1a", "0x10095dcc"], ["0x100a761e", "or dl, dl", "0x10095dce"]]}]]]}, {"address": "0x100a7680", "recomp": "0x10095e30", "name": "ViewLODListManager::Destroy", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a7680,32 +0x10095e30,32 @@", [{"both": [["0x100a7680", "sub esp, 8", "0x10095e30"], ["0x100a7683", "xor al, al", "0x10095e33"], ["0x100a7685", "push ebx", "0x10095e35"], ["0x100a7686", "push esi", "0x10095e36"], ["0x100a7687", "mov edx, dword ptr [ecx + 8]", "0x10095e37"], ["0x100a768a", "push edi", "0x10095e3a"], ["0x100a768b", "push ebp", "0x10095e3b"], ["0x100a768c", "mov esi, ecx", "0x10095e3c"], ["0x100a768e", "mov ecx, dword ptr [edx]", "0x10095e3e"], ["0x100a7690", "mov edi, ecx", "0x10095e40"]]}, {"orig": [["0x100a7692", "cmp ecx, edx"]], "recomp": [["0x10095e42", "cmp edx, ecx"]]}, {"both": [["0x100a7694", "je 0x99", "0x10095e44"], ["0x100a769a", "mov ecx, dword ptr [esp + 0x1c]", "0x10095e4a"], ["0x100a769e", "lea ebx, [edi + 0xc]", "0x10095e4e"], ["0x100a76a1", "mov ebp, dword ptr [edi + 0x10]", "0x10095e51"], ["0x100a76a4", "cmp ecx, ebp", "0x10095e54"], ["0x100a76a6", "je 0x40", "0x10095e56"], ["0x100a76a8", "mov ebx, dword ptr [edi + 8]", "0x10095e58"]]}, {"orig": [["0x100a76ab", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], ebx"]], "recomp": [["0x10095e5b", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a76b1", "je 0xe", "0x10095e61"], ["0x100a76b3", "mov edi, dword ptr [ebx]", "0x10095e63"]]}, {"orig": [["0x100a76b5", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edi"]], "recomp": [["0x10095e65", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a76bb", "je 0x1b", "0x10095e6b"], ["0x100a76bd", "mov ebx, edi", "0x10095e6d"], ["0x100a76bf", "jmp -0xe", "0x10095e6f"], ["0x100a76c1", "mov ebx, dword ptr [edi + 4]", "0x10095e71"], ["0x100a76c4", "cmp dword ptr [ebx + 8], edi", "0x10095e74"], ["0x100a76c7", "jne 0xa", "0x10095e77"], ["0x100a76c9", "mov edi, ebx", "0x10095e79"], ["0x100a76cb", "mov ebx, dword ptr [ebx + 4]", "0x10095e7b"], ["0x100a76ce", "cmp dword ptr [ebx + 8], edi", "0x10095e7e"], ["0x100a76d1", "je -0xa", "0x10095e81"]]}]]]}, {"address": "0x100a7740", "recomp": "0x10095ef0", "name": "LODList<ViewLOD>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a77b0", "recomp": "0x10095950", "name": "LODListBase::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a77e0", "recomp": "0x10095980", "name": "LODListBase::~LODListBase", "matching": 1.0, "diff": []}, {"address": "0x100a7800", "recomp": "0x100959a0", "name": "_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::iterator::_Dec", "matching": 0.8181818181818182, "diff": [["@@ -0x100a7801,30 +0x100959a1,30 @@", [{"both": [["0x100a7801", "mov esi, dword ptr [ecx]", "0x100959a1"], ["0x100a7803", "cmp dword ptr [esi + 0x14], 0", "0x100959a3"], ["0x100a7807", "jne 0xf", "0x100959a7"], ["0x100a7809", "mov eax, dword ptr [esi + 4]", "0x100959a9"], ["0x100a780c", "cmp dword ptr [eax + 4], esi", "0x100959ac"], ["0x100a780f", "jne 0x7", "0x100959af"], ["0x100a7811", "mov eax, dword ptr [esi + 8]", "0x100959b1"], ["0x100a7814", "pop esi", "0x100959b4"], ["0x100a7815", "mov dword ptr [ecx], eax", "0x100959b5"], ["0x100a7817", "ret ", "0x100959b7"]]}, {"orig": [["0x100a7818", "mov eax, dword ptr [esi]"], ["0x100a781a", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x100959b8", "mov edx, dword ptr [esi]"], ["0x100959ba", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7820", "je 0x13", "0x100959c0"]]}, {"orig": [["0x100a7822", "mov edx, dword ptr [eax + 8]"], ["0x100a7825", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edx"]], "recomp": [["0x100959c2", "mov eax, dword ptr [edx + 8]"], ["0x100959c5", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a782b", "je 0x4", "0x100959cb"]]}, {"orig": [["0x100a782d", "mov eax, edx"]], "recomp": [["0x100959cd", "mov edx, eax"]]}, {"both": [["0x100a782f", "jmp -0xf", "0x100959cf"], ["0x100a7831", "pop esi", "0x100959d1"]]}, {"orig": [["0x100a7832", "mov dword ptr [ecx], eax"]], "recomp": [["0x100959d2", "mov dword ptr [ecx], edx"]]}, {"both": [["0x100a7834", "ret ", "0x100959d4"], ["0x100a7835", "mov edx, dword ptr [esi + 4]", "0x100959d5"], ["0x100a7838", "cmp dword ptr [edx], esi", "0x100959d8"], ["0x100a783a", "jne 0xb", "0x100959da"], ["0x100a783c", "mov dword ptr [ecx], edx", "0x100959dc"], ["0x100a783e", "mov eax, edx", "0x100959de"], ["0x100a7840", "mov edx, dword ptr [edx + 4]", "0x100959e0"], ["0x100a7843", "cmp dword ptr [edx], eax", "0x100959e3"], ["0x100a7845", "je -0xb", "0x100959e5"], ["0x100a7847", "pop esi", "0x100959e7"]]}]]]}, {"address": "0x100a7850", "recomp": "0x10094f30", "name": "_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a7850,16 +0x10094f30,16 @@", [{"both": [["0x100a7850", "mov eax, dword ptr [ecx]", "0x10094f30"], ["0x100a7852", "mov edx, dword ptr [eax + 8]", "0x10094f32"]]}, {"orig": [["0x100a7855", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edx"]], "recomp": [["0x10094f35", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a785b", "je 0x11", "0x10094f3b"], ["0x100a785d", "mov eax, dword ptr [edx]", "0x10094f3d"]]}, {"orig": [["0x100a785f", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10094f3f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7865", "je 0x4", "0x10094f45"], ["0x100a7867", "mov edx, eax", "0x10094f47"], ["0x100a7869", "jmp -0xe", "0x10094f49"], ["0x100a786b", "mov dword ptr [ecx], edx", "0x10094f4b"], ["0x100a786d", "ret ", "0x10094f4d"], ["0x100a786e", "mov edx, dword ptr [eax + 4]", "0x10094f4e"], ["0x100a7871", "cmp dword ptr [edx + 8], eax", "0x10094f51"], ["0x100a7874", "jne 0xc", "0x10094f54"], ["0x100a7876", "mov dword ptr [ecx], edx", "0x10094f56"], ["0x100a7878", "mov eax, edx", "0x10094f58"]]}]]]}, {"address": "0x100a7890", "recomp": "0x10094e60", "name": "_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::~_Tree<char const *,pair<char const * const,ViewLODList *>,map<char c", "matching": 0.9090909090909091, "diff": [["@@ -0x100a7890,54 +0x10094e60,54 @@", [{"both": [["0x100a7890", "sub esp, 0x10", "0x10094e60"], ["0x100a7893", "push ebx", "0x10094e63"], ["0x100a7894", "push esi", "0x10094e64"], ["0x100a7895", "push edi", "0x10094e65"], ["0x100a7896", "mov esi, ecx", "0x10094e66"], ["0x100a7898", "cmp dword ptr [ecx + 0xc], 0", "0x10094e68"], ["0x100a789c", "mov ecx, dword ptr [esi + 4]", "0x10094e6c"]]}, {"orig": [["0x100a789f", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x10094e6f", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x100a78a3", "mov eax, dword ptr [ecx]", "0x10094e73"], ["0x100a78a5", "mov dword ptr [esp + 0xc], eax", "0x10094e75"]]}, {"orig": [["0x100a78a9", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x10094e79", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100a78ad", "je 0x4e", "0x10094e7d"], ["0x100a78af", "cmp dword ptr [ecx], eax", "0x10094e7f"], ["0x100a78b1", "jne 0x4a", "0x10094e81"], ["0x100a78b3", "cmp ecx, ecx", "0x10094e83"], ["0x100a78b5", "jne 0x46", "0x10094e85"], ["0x100a78b7", "mov ebx, dword ptr [ecx + 4]", "0x10094e87"], ["0x100a78ba", "mov edi, ebx", "0x10094e8a"]]}, {"orig": [["0x100a78bc", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edi"]], "recomp": [["0x10094e8c", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a78c2", "je 0x1a", "0x10094e92"], ["0x100a78c4", "mov eax, dword ptr [edi + 8]", "0x10094e94"], ["0x100a78c7", "mov ecx, esi", "0x10094e97"], ["0x100a78c9", "push eax", "0x10094e99"], ["0x100a78ca", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Erase (FUNCTION)", "0x10094e9a"], ["0x100a78cf", "mov edi, dword ptr [edi]", "0x10094e9f"], ["0x100a78d1", "push ebx", "0x10094ea1"], ["0x100a78d2", "mov ebx, edi", "0x10094ea2"], ["0x100a78d4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10094ea4"], ["0x100a78d9", "add esp, 4", "0x10094ea9"], ["0x100a78dc", "jmp -0x22", "0x10094eac"], ["0x100a78de", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]", "0x10094eae"], ["0x100a78e3", "mov ecx, dword ptr [esi + 4]", "0x10094eb3"], ["0x100a78e6", "mov dword ptr [ecx + 4], eax", "0x10094eb6"], ["0x100a78e9", "mov eax, dword ptr [esi + 4]", "0x10094eb9"], ["0x100a78ec", "mov dword ptr [esi + 0xc], 0", "0x10094ebc"], ["0x100a78f3", "mov dword ptr [eax], eax", "0x10094ec3"], ["0x100a78f5", "mov eax, dword ptr [esi + 4]", "0x10094ec5"], ["0x100a78f8", "mov dword ptr [eax + 8], eax", "0x10094ec8"], ["0x100a78fb", "jmp 0x36", "0x10094ecb"]]}, {"orig": [["0x100a78fd", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x10094ecd", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x100a7901", "cmp dword ptr [esp + 0xc], eax", "0x10094ed1"], ["0x100a7905", "je 0x2c", "0x10094ed5"]]}, {"orig": [["0x100a7907", "mov eax, dword ptr [esp + 0x14]"], ["0x100a790b", "lea ecx, [esp + 0x14]"]], "recomp": [["0x10094ed7", "mov eax, dword ptr [esp + 0x10]"], ["0x10094edb", "lea ecx, [esp + 0x10]"]]}, {"both": [["0x100a790f", "mov dword ptr [esp + 0x18], eax", "0x10094edf"], ["0x100a7913", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::iterator::_Inc (FUNCTION)", "0x10094ee3"], ["0x100a7918", "mov eax, dword ptr [esp + 0x18]", "0x10094ee8"], ["0x100a791c", "lea ecx, [esp + 0xc]", "0x10094eec"], ["0x100a7920", "push eax", "0x10094ef0"], ["0x100a7921", "push ecx", "0x10094ef1"], ["0x100a7922", "mov ecx, esi", "0x10094ef2"], ["0x100a7924", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::erase (FUNCTION)", "0x10094ef4"], ["0x100a7929", "mov ecx, dword ptr [esp + 0x10]", "0x10094ef9"], ["0x100a792d", "cmp dword ptr [esp + 0x14], ecx", "0x10094efd"]]}]]]}, {"address": "0x100a7960", "recomp": "0x10094f70", "name": "_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::erase", "matching": 0.7125506072874493, "diff": [["@@ -0x100a7960,63 +0x10094f70,63 @@", [{"both": [["0x100a7960", "mov eax, dword ptr [esp + 8]", "0x10094f70"], ["0x100a7964", "sub esp, 4", "0x10094f74"], ["0x100a7967", "mov dword ptr [esp], eax", "0x10094f77"], ["0x100a796b", "push ebx", "0x10094f7b"], ["0x100a796c", "push esi", "0x10094f7c"], ["0x100a796d", "push edi", "0x10094f7d"], ["0x100a796e", "push ebp", "0x10094f7e"], ["0x100a796f", "mov esi, ecx", "0x10094f7f"], ["0x100a7971", "mov ecx, dword ptr [eax + 8]", "0x10094f81"]]}, {"orig": [["0x100a7974", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], ecx"]], "recomp": [["0x10094f84", "cmp ecx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a797a", "je 0x14", "0x10094f8a"], ["0x100a797c", "mov eax, dword ptr [ecx]", "0x10094f8c"]]}, {"orig": [["0x100a797e", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10094f8e", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7984", "je 0x4", "0x10094f94"], ["0x100a7986", "mov ecx, eax", "0x10094f96"], ["0x100a7988", "jmp -0xe", "0x10094f98"], ["0x100a798a", "mov dword ptr [esp + 0x1c], ecx", "0x10094f9a"], ["0x100a798e", "jmp 0x29", "0x10094f9e"], ["0x100a7990", "mov ecx, dword ptr [esp + 0x1c]", "0x10094fa0"], ["0x100a7994", "mov eax, dword ptr [ecx + 4]", "0x10094fa4"], ["0x100a7997", "cmp dword ptr [eax + 8], ecx", "0x10094fa7"], ["0x100a799a", "jne 0x10", "0x10094faa"], ["0x100a799c", "mov dword ptr [esp + 0x1c], eax", "0x10094fac"], ["0x100a79a0", "mov eax, dword ptr [eax + 4]", "0x10094fb0"], ["0x100a79a3", "mov ecx, dword ptr [esp + 0x1c]", "0x10094fb3"], ["0x100a79a7", "cmp dword ptr [eax + 8], ecx", "0x10094fb7"], ["0x100a79aa", "je -0x10", "0x10094fba"], ["0x100a79ac", "mov ecx, dword ptr [esp + 0x1c]", "0x10094fbc"], ["0x100a79b0", "cmp dword ptr [ecx + 8], eax", "0x10094fc0"], ["0x100a79b3", "je 0x4", "0x10094fc3"], ["0x100a79b5", "mov dword ptr [esp + 0x1c], eax", "0x10094fc5"], ["0x100a79b9", "mov ecx, dword ptr [esp + 0x10]", "0x10094fc9"], ["0x100a79bd", "mov ebx, dword ptr [ecx]", "0x10094fcd"]]}, {"orig": [["0x100a79bf", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], ebx"]], "recomp": [["0x10094fcf", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a79c5", "je 0x26", "0x10094fd5"], ["0x100a79c7", "lea edi, [ecx + 8]", "0x10094fd7"], ["0x100a79ca", "mov edx, dword ptr [edi]", "0x10094fda"]]}, {"orig": [["0x100a79cc", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edx"]], "recomp": [["0x10094fdc", "cmp edx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a79d2", "je 0x15", "0x10094fe2"], ["0x100a79d4", "mov eax, dword ptr [edx]", "0x10094fe4"]]}, {"orig": [["0x100a79d6", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10094fe6", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a79dc", "je 0x4", "0x10094fec"], ["0x100a79de", "mov edx, eax", "0x10094fee"], ["0x100a79e0", "jmp -0xe", "0x10094ff0"], ["0x100a79e2", "mov ecx, edx", "0x10094ff2"], ["0x100a79e4", "mov edx, dword ptr [edx + 8]", "0x10094ff4"], ["0x100a79e7", "jmp 0xe", "0x10094ff7"], ["0x100a79e9", "mov edx, ebx", "0x10094ff9"], ["0x100a79eb", "jmp 0xa", "0x10094ffb"], ["0x100a79ed", "mov edi, dword ptr [esp + 0x10]", "0x10094ffd"], ["0x100a79f1", "mov edx, dword ptr [edi + 8]", "0x10095001"], ["0x100a79f4", "add edi, 8", "0x10095004"]]}, {"orig": [["0x100a79f7", "cmp ecx, dword ptr [esp + 0x10]"]], "recomp": [["0x10095007", "cmp dword ptr [esp + 0x10], ecx"]]}, {"both": [["0x100a79fb", "jne 0x8f", "0x1009500b"], ["0x100a7a01", "mov eax, dword ptr [ecx + 4]", "0x10095011"], ["0x100a7a04", "mov ebx, dword ptr [esp + 0x10]", "0x10095014"], ["0x100a7a08", "mov dword ptr [edx + 4], eax", "0x10095018"], ["0x100a7a0b", "mov eax, dword ptr [esi + 4]", "0x1009501b"], ["0x100a7a0e", "add eax, 4", "0x1009501e"], ["0x100a7a11", "cmp dword ptr [eax], ebx", "0x10095021"], ["0x100a7a13", "je 0xc", "0x10095023"], ["0x100a7a15", "mov eax, dword ptr [ebx + 4]", "0x10095025"], ["0x100a7a18", "cmp dword ptr [eax], ebx", "0x10095028"]]}]], ["@@ -0x100a7a1c,51 +0x1009502c,51 @@", [{"both": [["0x100a7a1c", "mov dword ptr [eax + 8], edx", "0x1009502c"], ["0x100a7a1f", "jmp 0x2", "0x1009502f"], ["0x100a7a21", "mov dword ptr [eax], edx", "0x10095031"], ["0x100a7a23", "mov ebx, dword ptr [esi + 4]", "0x10095033"], ["0x100a7a26", "mov eax, dword ptr [esp + 0x10]", "0x10095036"], ["0x100a7a2a", "cmp dword ptr [ebx], eax", "0x1009503a"], ["0x100a7a2c", "jne 0x26", "0x1009503c"], ["0x100a7a2e", "mov eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]", "0x1009503e"], ["0x100a7a33", "cmp dword ptr [edi], eax", "0x10095043"], ["0x100a7a35", "je 0x14", "0x10095045"]]}, {"orig": [["0x100a7a37", "mov eax, edx"], ["0x100a7a39", "mov edi, dword ptr [eax]"], ["0x100a7a3b", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edi"]], "recomp": [["0x10095047", "mov edi, edx"], ["0x10095049", "mov eax, dword ptr [edi]"], ["0x1009504b", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7a41", "je 0x4", "0x10095051"]]}, {"orig": [["0x100a7a43", "mov eax, edi"]], "recomp": [["0x10095053", "mov edi, eax"]]}, {"both": [["0x100a7a45", "jmp -0xe", "0x10095055"]]}, {"orig": [["0x100a7a47", "mov dword ptr [ebx], eax"]], "recomp": [["0x10095057", "mov dword ptr [ebx], edi"]]}, {"both": [["0x100a7a49", "jmp 0x9", "0x10095059"], ["0x100a7a4b", "mov eax, dword ptr [esp + 0x10]", "0x1009505b"], ["0x100a7a4f", "mov ebp, dword ptr [eax + 4]", "0x1009505f"], ["0x100a7a52", "mov dword ptr [ebx], ebp", "0x10095062"], ["0x100a7a54", "mov edi, dword ptr [esi + 4]", "0x10095064"], ["0x100a7a57", "mov eax, dword ptr [esp + 0x10]", "0x10095067"], ["0x100a7a5b", "add edi, 8", "0x1009506b"], ["0x100a7a5e", "cmp dword ptr [edi], eax", "0x1009506e"]]}, {"orig": [["0x100a7a60", "jne 0x88"]], "recomp": [["0x10095070", "jne 0x8a"]]}, {"both": [["0x100a7a66", "mov ebx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]", "0x10095076"], ["0x100a7a6c", "cmp dword ptr [eax], ebx", "0x1009507c"], ["0x100a7a6e", "je 0x15", "0x1009507e"], ["0x100a7a70", "mov eax, edx", "0x10095080"], ["0x100a7a72", "mov ebx, dword ptr [eax + 8]", "0x10095082"]]}, {"orig": [["0x100a7a75", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], ebx"]], "recomp": [["0x10095085", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7a7b", "je 0x4", "0x1009508b"], ["0x100a7a7d", "mov eax, ebx", "0x1009508d"], ["0x100a7a7f", "jmp -0xf", "0x1009508f"], ["0x100a7a81", "mov dword ptr [edi], eax", "0x10095091"]]}, {"orig": [["0x100a7a83", "jmp 0x69"]], "recomp": [["0x10095093", "jmp 0x6b"]]}, {"both": [["0x100a7a85", "mov eax, dword ptr [esp + 0x10]", "0x10095095"], ["0x100a7a89", "mov ebx, dword ptr [eax + 4]", "0x10095099"], ["0x100a7a8c", "mov dword ptr [edi], ebx", "0x1009509c"]]}, {"orig": [["0x100a7a8e", "jmp 0x5e"]], "recomp": [["0x1009509e", "jmp 0x60"]]}, {"both": [["0x100a7a90", "mov eax, dword ptr [esp + 0x10]", "0x100950a0"], ["0x100a7a94", "mov dword ptr [ebx + 4], ecx", "0x100950a4"], ["0x100a7a97", "mov ebx, dword ptr [eax]", "0x100950a7"], ["0x100a7a99", "mov dword ptr [ecx], ebx", "0x100950a9"], ["0x100a7a9b", "cmp dword ptr [edi], ecx", "0x100950ab"], ["0x100a7a9d", "jne 0x5", "0x100950ad"], ["0x100a7a9f", "mov dword ptr [edx + 4], ecx", "0x100950af"], ["0x100a7aa2", "jmp 0x15", "0x100950b2"], ["0x100a7aa4", "mov eax, dword ptr [ecx + 4]", "0x100950b4"], ["0x100a7aa7", "mov dword ptr [edx + 4], eax", "0x100950b7"]]}]], ["@@ -0x100a7ac3,128 +0x100950d3,128 @@", [{"both": [["0x100a7ac3", "cmp dword ptr [eax], edi", "0x100950d3"], ["0x100a7ac5", "je 0xc", "0x100950d5"], ["0x100a7ac7", "mov eax, dword ptr [edi + 4]", "0x100950d7"], ["0x100a7aca", "cmp dword ptr [eax], edi", "0x100950da"], ["0x100a7acc", "je 0x5", "0x100950dc"], ["0x100a7ace", "mov dword ptr [eax + 8], ecx", "0x100950de"], ["0x100a7ad1", "jmp 0x2", "0x100950e1"], ["0x100a7ad3", "mov dword ptr [eax], ecx", "0x100950e3"], ["0x100a7ad5", "mov eax, dword ptr [esp + 0x10]", "0x100950e5"], ["0x100a7ad9", "mov ebx, dword ptr [eax + 4]", "0x100950e9"]]}, {"orig": [["0x100a7adc", "lea edi, [eax + 0x14]"]], "recomp": [["0x100950ec", "add eax, 0x14"]]}, {"both": [["0x100a7adf", "mov dword ptr [ecx + 4], ebx", "0x100950ef"]]}, {"orig": [["0x100a7ae2", "mov ebx, dword ptr [edi]"], ["0x100a7ae4", "mov ebp, dword ptr [ecx + 0x14]"]], "recomp": [["0x100950f2", "mov edi, dword ptr [ecx + 0x14]"], ["0x100950f5", "mov ebx, dword ptr [eax]"]]}, {"both": [["0x100a7ae7", "mov dword ptr [ecx + 0x14], ebx", "0x100950f7"]]}, {"orig": [["0x100a7aea", "mov ecx, eax"], ["0x100a7aec", "mov dword ptr [edi], ebp"]], "recomp": [["0x100950fa", "mov ecx, dword ptr [esp + 0x10]"], ["0x100950fe", "mov dword ptr [eax], edi"]]}, {"both": [["0x100a7aee", "cmp dword ptr [ecx + 0x14], 1", "0x10095100"]]}, {"orig": [["0x100a7af2", "jne 0x294"]], "recomp": [["0x10095104", "jne 0x29e"]]}, {"both": [["0x100a7af8", "mov eax, dword ptr [esi + 4]", "0x1009510a"], ["0x100a7afb", "cmp dword ptr [eax + 4], edx", "0x1009510d"]]}, {"orig": [["0x100a7afe", "je 0x281"]], "recomp": [["0x10095110", "je 0x28b"]]}, {"both": [["0x100a7b04", "cmp dword ptr [edx + 0x14], 1", "0x10095116"]]}, {"orig": [["0x100a7b08", "jne 0x277"]], "recomp": [["0x1009511a", "jne 0x281"]]}, {"both": [["0x100a7b0e", "lea ebx, [edx + 4]", "0x10095120"], ["0x100a7b11", "mov eax, dword ptr [ebx]", "0x10095123"], ["0x100a7b13", "mov edi, dword ptr [eax]", "0x10095125"], ["0x100a7b15", "cmp edx, edi", "0x10095127"]]}, {"orig": [["0x100a7b17", "jne 0x73"]], "recomp": [["0x10095129", "jne 0x76"]]}, {"both": [["0x100a7b19", "mov edi, dword ptr [eax + 8]", "0x1009512b"]]}, {"orig": [["0x100a7b1c", "cmp dword ptr [edi + 0x14], 0"], ["0x100a7b20", "jne 0x4f"], ["0x100a7b22", "mov dword ptr [edi + 0x14], 1"], ["0x100a7b29", "mov eax, dword ptr [ebx]"], ["0x100a7b2b", "mov dword ptr [eax + 0x14], 0"], ["0x100a7b32", "mov ebp, dword ptr [ebx]"], ["0x100a7b34", "mov eax, dword ptr [ebp + 8]"], ["0x100a7b37", "mov edi, dword ptr [eax]"], ["0x100a7b39", "mov dword ptr [ebp + 8], edi"], ["0x100a7b3c", "mov edi, dword ptr [eax]"], ["0x100a7b3e", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], edi"], ["0x100a7b44", "je 0x3"], ["0x100a7b46", "mov dword ptr [edi + 4], ebp"], ["0x100a7b49", "mov edi, dword ptr [ebp + 4]"], ["0x100a7b4c", "mov dword ptr [eax + 4], edi"], ["0x100a7b4f", "mov edi, dword ptr [esi + 4]"], ["0x100a7b52", "add edi, 4"], ["0x100a7b55", "cmp dword ptr [edi], ebp"], ["0x100a7b57", "je 0xc"], ["0x100a7b59", "mov edi, dword ptr [ebp + 4]"], ["0x100a7b5c", "cmp dword ptr [edi], ebp"], ["0x100a7b5e", "je 0x5"], ["0x100a7b60", "mov dword ptr [edi + 8], eax"], ["0x100a7b63", "jmp 0x2"], ["0x100a7b65", "mov dword ptr [edi], eax"], ["0x100a7b67", "mov dword ptr [eax], ebp"], ["0x100a7b69", "mov dword ptr [ebp + 4], eax"], ["0x100a7b6c", "mov eax, dword ptr [ebx]"], ["0x100a7b6e", "mov edi, dword ptr [eax + 8]"], ["0x100a7b71", "mov eax, dword ptr [edi]"], ["0x100a7b73", "cmp dword ptr [eax + 0x14], 1"], ["0x100a7b77", "jne 0x9a"], ["0x100a7b7d", "mov eax, dword ptr [edi + 8]"], ["0x100a7b80", "cmp dword ptr [eax + 0x14], 1"], ["0x100a7b84", "jne 0x8d"], ["0x100a7b8a", "jmp 0x71"]], "recomp": []}, {"both": [["0x100a7b8c", "cmp dword ptr [edi + 0x14], 0", "0x1009512e"], ["0x100a7b90", "jne 0x52", "0x10095132"], ["0x100a7b92", "mov dword ptr [edi + 0x14], 1", "0x10095134"], ["0x100a7b99", "mov eax, dword ptr [ebx]", "0x1009513b"], ["0x100a7b9b", "mov dword ptr [eax + 0x14], 0", "0x1009513d"]]}, {"orig": [["0x100a7ba2", "mov ebp, dword ptr [ebx]"], ["0x100a7ba4", "mov edi, dword ptr [ebp]"], ["0x100a7ba7", "mov eax, dword ptr [edi + 8]"], ["0x100a7baa", "mov dword ptr [ebp], eax"], ["0x100a7bad", "mov eax, dword ptr [edi + 8]"], ["0x100a7bb0", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095144", "mov edi, dword ptr [ebx]"], ["0x10095146", "mov ebp, dword ptr [edi + 8]"], ["0x10095149", "mov eax, dword ptr [ebp]"], ["0x1009514c", "mov dword ptr [edi + 8], eax"], ["0x1009514f", "mov eax, dword ptr [ebp]"], ["0x10095152", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7bb6", "je 0x3", "0x10095158"]]}, {"orig": [["0x100a7bb8", "mov dword ptr [eax + 4], ebp"], ["0x100a7bbb", "mov eax, dword ptr [ebp + 4]"], ["0x100a7bbe", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1009515a", "mov dword ptr [eax + 4], edi"], ["0x1009515d", "mov eax, dword ptr [edi + 4]"], ["0x10095160", "mov dword ptr [ebp + 4], eax"]]}, {"both": [["0x100a7bc1", "mov eax, dword ptr [esi + 4]", "0x10095163"], ["0x100a7bc4", "add eax, 4", "0x10095166"]]}, {"orig": [["0x100a7bc7", "cmp dword ptr [eax], ebp"]], "recomp": [["0x10095169", "cmp dword ptr [eax], edi"], ["0x1009516b", "je 0xc"], ["0x1009516d", "mov eax, dword ptr [edi + 4]"], ["0x10095170", "cmp dword ptr [eax], edi"], ["0x10095172", "je 0x5"], ["0x10095174", "mov dword ptr [eax + 8], ebp"], ["0x10095177", "jmp 0x2"], ["0x10095179", "mov dword ptr [eax], ebp"], ["0x1009517b", "mov dword ptr [ebp], edi"], ["0x1009517e", "mov dword ptr [edi + 4], ebp"], ["0x10095181", "mov eax, dword ptr [ebx]"], ["0x10095183", "mov edi, dword ptr [eax + 8]"], ["0x10095186", "mov eax, dword ptr [edi]"], ["0x10095188", "cmp dword ptr [eax + 0x14], 1"], ["0x1009518c", "jne 0x98"], ["0x10095192", "mov eax, dword ptr [edi + 8]"], ["0x10095195", "cmp dword ptr [eax + 0x14], 1"], ["0x10095199", "jne 0x8b"], ["0x1009519f", "jmp 0x6f"], ["0x100951a1", "cmp dword ptr [edi + 0x14], 0"], ["0x100951a5", "jne 0x50"], ["0x100951a7", "mov dword ptr [edi + 0x14], 1"], ["0x100951ae", "mov eax, dword ptr [ebx]"], ["0x100951b0", "mov dword ptr [eax + 0x14], 0"], ["0x100951b7", "mov eax, dword ptr [ebx]"], ["0x100951b9", "mov ebp, dword ptr [eax]"], ["0x100951bb", "mov edi, dword ptr [ebp + 8]"], ["0x100951be", "mov dword ptr [eax], edi"], ["0x100951c0", "mov edi, dword ptr [ebp + 8]"], ["0x100951c3", "cmp edi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"], ["0x100951c9", "je 0x3"], ["0x100951cb", "mov dword ptr [edi + 4], eax"], ["0x100951ce", "mov edi, dword ptr [eax + 4]"], ["0x100951d1", "mov dword ptr [ebp + 4], edi"], ["0x100951d4", "mov edi, dword ptr [esi + 4]"], ["0x100951d7", "add edi, 4"], ["0x100951da", "cmp dword ptr [edi], eax"]]}, {"both": [["0x100a7bc9", "je 0xd", "0x100951dc"]]}, {"orig": [["0x100a7bcb", "mov eax, dword ptr [ebp + 4]"], ["0x100a7bce", "add eax, 8"], ["0x100a7bd1", "cmp dword ptr [eax], ebp"]], "recomp": [["0x100951de", "mov edi, dword ptr [eax + 4]"], ["0x100951e1", "add edi, 8"], ["0x100951e4", "cmp dword ptr [edi], eax"]]}, {"both": [["0x100a7bd3", "je 0x3", "0x100951e6"]]}, {"orig": [["0x100a7bd5", "mov eax, dword ptr [ebp + 4]"], ["0x100a7bd8", "mov dword ptr [eax], edi"], ["0x100a7bda", "mov dword ptr [edi + 8], ebp"], ["0x100a7bdd", "mov dword ptr [ebp + 4], edi"]], "recomp": [["0x100951e8", "mov edi, dword ptr [eax + 4]"], ["0x100951eb", "mov dword ptr [edi], ebp"], ["0x100951ed", "mov dword ptr [ebp + 8], eax"], ["0x100951f0", "mov dword ptr [eax + 4], ebp"]]}, {"both": [["0x100a7be0", "mov eax, dword ptr [ebx]", "0x100951f3"], ["0x100a7be2", "mov edi, dword ptr [eax]", "0x100951f5"], ["0x100a7be4", "mov eax, dword ptr [edi + 8]", "0x100951f7"], ["0x100a7be7", "cmp dword ptr [eax + 0x14], 1", "0x100951fa"]]}, {"orig": [["0x100a7beb", "jne 0xe6"]], "recomp": [["0x100951fe", "jne 0xef"]]}, {"both": [["0x100a7bf1", "mov eax, dword ptr [edi]", "0x10095204"], ["0x100a7bf3", "cmp dword ptr [eax + 0x14], 1", "0x10095206"]]}, {"orig": [["0x100a7bf7", "jne 0xda"]], "recomp": [["0x1009520a", "jne 0xe3"]]}, {"both": [["0x100a7bfd", "mov dword ptr [edi + 0x14], 0", "0x10095210"], ["0x100a7c04", "mov edx, dword ptr [ebx]", "0x10095217"], ["0x100a7c06", "mov eax, dword ptr [esi + 4]", "0x10095219"], ["0x100a7c09", "cmp dword ptr [eax + 4], edx", "0x1009521c"]]}, {"orig": [["0x100a7c0c", "jne -0x10e"], ["0x100a7c12", "jmp 0x16e"]], "recomp": [["0x1009521f", "jne -0x10f"], ["0x10095225", "jmp 0x177"]]}, {"both": [["0x100a7c17", "mov eax, dword ptr [edi + 8]", "0x1009522a"], ["0x100a7c1a", "cmp dword ptr [eax + 0x14], 1", "0x1009522d"], ["0x100a7c1e", "jne 0x52", "0x10095231"], ["0x100a7c20", "mov eax, dword ptr [edi]", "0x10095233"], ["0x100a7c22", "mov dword ptr [eax + 0x14], 1", "0x10095235"], ["0x100a7c29", "mov dword ptr [edi + 0x14], 0", "0x1009523c"], ["0x100a7c30", "mov ebx, dword ptr [edi]", "0x10095243"], ["0x100a7c32", "mov ebp, dword ptr [ebx + 8]", "0x10095245"], ["0x100a7c35", "mov dword ptr [edi], ebp", "0x10095248"], ["0x100a7c37", "mov eax, dword ptr [ebx + 8]", "0x1009524a"]]}, {"orig": [["0x100a7c3a", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x1009524d", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7c40", "je 0x3", "0x10095253"], ["0x100a7c42", "mov dword ptr [eax + 4], edi", "0x10095255"], ["0x100a7c45", "mov eax, dword ptr [edi + 4]", "0x10095258"], ["0x100a7c48", "mov dword ptr [ebx + 4], eax", "0x1009525b"], ["0x100a7c4b", "mov eax, dword ptr [esi + 4]", "0x1009525e"], ["0x100a7c4e", "add eax, 4", "0x10095261"], ["0x100a7c51", "cmp dword ptr [eax], edi", "0x10095264"], ["0x100a7c53", "je 0xf", "0x10095266"], ["0x100a7c55", "mov ebp, dword ptr [edi + 4]", "0x10095268"], ["0x100a7c58", "lea eax, [ebp + 8]", "0x1009526b"]]}]], ["@@ -0x100a7c7b,52 +0x1009528e,55 @@", [{"both": [["0x100a7c7b", "mov ebx, 1", "0x1009528e"], ["0x100a7c80", "mov eax, dword ptr [edx + 4]", "0x10095293"], ["0x100a7c83", "mov dword ptr [eax + 0x14], ebx", "0x10095296"], ["0x100a7c86", "mov ebp, dword ptr [edi + 8]", "0x10095299"], ["0x100a7c89", "mov dword ptr [ebp + 0x14], ebx", "0x1009529c"], ["0x100a7c8c", "mov ebx, dword ptr [edx + 4]", "0x1009529f"], ["0x100a7c8f", "mov edi, dword ptr [ebx + 8]", "0x100952a2"], ["0x100a7c92", "mov eax, dword ptr [edi]", "0x100952a5"], ["0x100a7c94", "mov dword ptr [ebx + 8], eax", "0x100952a7"], ["0x100a7c97", "mov eax, dword ptr [edi]", "0x100952aa"]]}, {"orig": [["0x100a7c99", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x100952ac", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7c9f", "je 0x3", "0x100952b2"], ["0x100a7ca1", "mov dword ptr [eax + 4], ebx", "0x100952b4"], ["0x100a7ca4", "mov eax, dword ptr [ebx + 4]", "0x100952b7"], ["0x100a7ca7", "mov dword ptr [edi + 4], eax", "0x100952ba"], ["0x100a7caa", "mov eax, dword ptr [esi + 4]", "0x100952bd"], ["0x100a7cad", "add eax, 4", "0x100952c0"], ["0x100a7cb0", "cmp dword ptr [eax], ebx", "0x100952c3"]]}, {"orig": [["0x100a7cb2", "je 0x1a"]], "recomp": [["0x100952c5", "je 0x20"]]}, {"both": [["0x100a7cb4", "mov eax, dword ptr [ebx + 4]", "0x100952c7"], ["0x100a7cb7", "cmp dword ptr [eax], ebx", "0x100952ca"]]}, {"orig": [["0x100a7cb9", "je 0xa"]], "recomp": [["0x100952cc", "je 0xd"]]}, {"both": [["0x100a7cbb", "mov dword ptr [eax + 8], edi", "0x100952ce"], ["0x100a7cbe", "mov dword ptr [edi], ebx", "0x100952d1"]]}, {"orig": [["0x100a7cc0", "jmp 0xbd"]], "recomp": [["0x100952d3", "mov dword ptr [ebx + 4], edi"], ["0x100952d6", "jmp 0xc6"]]}, {"both": [["0x100a7cc5", "mov dword ptr [eax], edi", "0x100952db"], ["0x100a7cc7", "mov dword ptr [edi], ebx", "0x100952dd"]]}, {"orig": [["0x100a7cc9", "jmp 0xb4"]], "recomp": [["0x100952df", "mov dword ptr [ebx + 4], edi"], ["0x100952e2", "jmp 0xba"]]}, {"both": [["0x100a7cce", "mov dword ptr [eax], edi", "0x100952e7"], ["0x100a7cd0", "mov dword ptr [edi], ebx", "0x100952e9"]]}, {"orig": [["0x100a7cd2", "jmp 0xab"]], "recomp": [["0x100952eb", "mov dword ptr [ebx + 4], edi"], ["0x100952ee", "jmp 0xae"]]}, {"both": [["0x100a7cd7", "mov eax, dword ptr [edi]", "0x100952f3"], ["0x100a7cd9", "cmp dword ptr [eax + 0x14], 1", "0x100952f5"], ["0x100a7cdd", "jne 0x4e", "0x100952f9"], ["0x100a7cdf", "mov eax, dword ptr [edi + 8]", "0x100952fb"], ["0x100a7ce2", "mov dword ptr [eax + 0x14], 1", "0x100952fe"], ["0x100a7ce9", "mov dword ptr [edi + 0x14], 0", "0x10095305"], ["0x100a7cf0", "mov ebx, dword ptr [edi + 8]", "0x1009530c"], ["0x100a7cf3", "mov ebp, dword ptr [ebx]", "0x1009530f"], ["0x100a7cf5", "mov dword ptr [edi + 8], ebp", "0x10095311"], ["0x100a7cf8", "mov eax, dword ptr [ebx]", "0x10095314"]]}, {"orig": [["0x100a7cfa", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095316", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7d00", "je 0x3", "0x1009531c"], ["0x100a7d02", "mov dword ptr [eax + 4], edi", "0x1009531e"], ["0x100a7d05", "mov eax, dword ptr [edi + 4]", "0x10095321"], ["0x100a7d08", "mov dword ptr [ebx + 4], eax", "0x10095324"], ["0x100a7d0b", "mov eax, dword ptr [esi + 4]", "0x10095327"], ["0x100a7d0e", "add eax, 4", "0x1009532a"], ["0x100a7d11", "cmp dword ptr [eax], edi", "0x1009532d"], ["0x100a7d13", "je 0xc", "0x1009532f"], ["0x100a7d15", "mov eax, dword ptr [edi + 4]", "0x10095331"], ["0x100a7d18", "cmp dword ptr [eax], edi", "0x10095334"]]}]], ["@@ -0x100a7d28,43 +0x10095344,43 @@", [{"both": [["0x100a7d28", "mov eax, dword ptr [edx + 4]", "0x10095344"], ["0x100a7d2b", "mov edi, dword ptr [eax]", "0x10095347"], ["0x100a7d2d", "mov eax, dword ptr [edx + 4]", "0x10095349"], ["0x100a7d30", "mov ebx, dword ptr [eax + 0x14]", "0x1009534c"], ["0x100a7d33", "mov dword ptr [edi + 0x14], ebx", "0x1009534f"], ["0x100a7d36", "mov ebx, 1", "0x10095352"], ["0x100a7d3b", "mov eax, dword ptr [edx + 4]", "0x10095357"], ["0x100a7d3e", "mov dword ptr [eax + 0x14], ebx", "0x1009535a"], ["0x100a7d41", "mov ebp, dword ptr [edi]", "0x1009535d"], ["0x100a7d43", "mov dword ptr [ebp + 0x14], ebx", "0x1009535f"]]}, {"orig": [["0x100a7d46", "mov ebx, dword ptr [edx + 4]"], ["0x100a7d49", "mov edi, dword ptr [ebx]"], ["0x100a7d4b", "mov eax, dword ptr [edi + 8]"], ["0x100a7d4e", "mov dword ptr [ebx], eax"], ["0x100a7d50", "mov eax, dword ptr [edi + 8]"], ["0x100a7d53", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095362", "mov edi, dword ptr [edx + 4]"], ["0x10095365", "mov ebx, dword ptr [edi]"], ["0x10095367", "mov eax, dword ptr [ebx + 8]"], ["0x1009536a", "mov dword ptr [edi], eax"], ["0x1009536c", "mov eax, dword ptr [ebx + 8]"], ["0x1009536f", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7d59", "je 0x3", "0x10095375"]]}, {"orig": [["0x100a7d5b", "mov dword ptr [eax + 4], ebx"], ["0x100a7d5e", "mov eax, dword ptr [ebx + 4]"], ["0x100a7d61", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x10095377", "mov dword ptr [eax + 4], edi"], ["0x1009537a", "mov eax, dword ptr [edi + 4]"], ["0x1009537d", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x100a7d64", "mov eax, dword ptr [esi + 4]", "0x10095380"], ["0x100a7d67", "add eax, 4", "0x10095383"]]}, {"orig": [["0x100a7d6a", "cmp dword ptr [eax], ebx"]], "recomp": [["0x10095386", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100a7d6c", "je 0xf", "0x10095388"]]}, {"orig": [["0x100a7d6e", "mov ebp, dword ptr [ebx + 4]"]], "recomp": [["0x1009538a", "mov ebp, dword ptr [edi + 4]"]]}, {"both": [["0x100a7d71", "lea eax, [ebp + 8]", "0x1009538d"]]}, {"orig": [["0x100a7d74", "cmp dword ptr [eax], ebx"]], "recomp": [["0x10095390", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100a7d76", "je 0x5", "0x10095392"]]}, {"orig": [["0x100a7d78", "mov dword ptr [ebp], edi"]], "recomp": [["0x10095394", "mov dword ptr [ebp], ebx"]]}, {"both": [["0x100a7d7b", "jmp 0x2", "0x10095397"]]}, {"orig": [["0x100a7d7d", "mov dword ptr [eax], edi"], ["0x100a7d7f", "mov dword ptr [edi + 8], ebx"], ["0x100a7d82", "mov dword ptr [ebx + 4], edi"]], "recomp": [["0x10095399", "mov dword ptr [eax], ebx"], ["0x1009539b", "mov dword ptr [ebx + 8], edi"], ["0x1009539e", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x100a7d85", "mov dword ptr [edx + 0x14], 1", "0x100953a1"], ["0x100a7d8c", "push ecx", "0x100953a8"], ["0x100a7d8d", "call ??3@YAXPAX@Z (FUNCTION)", "0x100953a9"], ["0x100a7d92", "mov ecx, dword ptr [esp + 0x20]", "0x100953ae"], ["0x100a7d96", "mov eax, dword ptr [esp + 0x1c]", "0x100953b2"], ["0x100a7d9a", "add esp, 4", "0x100953b6"], ["0x100a7d9d", "dec dword ptr [esi + 0xc]", "0x100953b9"], ["0x100a7da0", "mov dword ptr [eax], ecx", "0x100953bc"], ["0x100a7da2", "pop ebp", "0x100953be"], ["0x100a7da3", "pop edi", "0x100953bf"]]}]]]}, {"address": "0x100a7db0", "recomp": "0x100953d0", "name": "_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Erase", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a7db0,23 +0x100953d0,23 @@", [{"both": [["0x100a7db0", "push ebx", "0x100953d0"], ["0x100a7db1", "push esi", "0x100953d1"], ["0x100a7db2", "mov esi, dword ptr [esp + 0xc]", "0x100953d2"], ["0x100a7db6", "push edi", "0x100953d6"], ["0x100a7db7", "mov edi, ecx", "0x100953d7"], ["0x100a7db9", "mov ebx, esi", "0x100953d9"]]}, {"orig": [["0x100a7dbb", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], esi"]], "recomp": [["0x100953db", "cmp esi, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7dc1", "je 0x20", "0x100953e1"], ["0x100a7dc3", "mov eax, dword ptr [ebx + 8]", "0x100953e3"], ["0x100a7dc6", "mov ecx, edi", "0x100953e6"], ["0x100a7dc8", "push eax", "0x100953e8"], ["0x100a7dc9", "call _Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Erase (FUNCTION)", "0x100953e9"], ["0x100a7dce", "mov ebx, dword ptr [ebx]", "0x100953ee"], ["0x100a7dd0", "push esi", "0x100953f0"], ["0x100a7dd1", "mov esi, ebx", "0x100953f1"], ["0x100a7dd3", "call ??3@YAXPAX@Z (FUNCTION)", "0x100953f3"], ["0x100a7dd8", "add esp, 4", "0x100953f8"]]}, {"orig": [["0x100a7ddb", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], ebx"]], "recomp": [["0x100953fb", "cmp ebx, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7de1", "jne -0x20", "0x10095401"], ["0x100a7de3", "pop edi", "0x10095403"], ["0x100a7de4", "pop esi", "0x10095404"], ["0x100a7de5", "pop ebx", "0x10095405"], ["0x100a7de6", "ret 4", "0x10095406"]]}]]]}, {"address": "0x100a7df0", "recomp": "0x100959f0", "name": "_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Insert", "matching": 0.8540772532188842, "diff": [["@@ -0x100a7e29,21 +0x10095a29,21 @@", [{"both": [["0x100a7e29", "mov ebx, dword ptr [esp + 0x24]", "0x10095a29"], ["0x100a7e2d", "je 0xa", "0x10095a2d"], ["0x100a7e2f", "mov edx, dword ptr [ebx]", "0x10095a2f"], ["0x100a7e31", "mov edi, dword ptr [ebx + 4]", "0x10095a31"], ["0x100a7e34", "mov dword ptr [eax], edx", "0x10095a34"], ["0x100a7e36", "mov dword ptr [eax + 4], edi", "0x10095a36"], ["0x100a7e39", "inc dword ptr [esi + 0xc]", "0x10095a39"], ["0x100a7e3c", "cmp dword ptr [esi + 4], ecx", "0x10095a3c"], ["0x100a7e3f", "je 0x4f", "0x10095a3f"], ["0x100a7e41", "mov eax, dword ptr [esp + 0x1c]", "0x10095a41"]]}, {"orig": [["0x100a7e45", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095a45", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7e4b", "jne 0x43", "0x10095a4b"], ["0x100a7e4d", "mov eax, dword ptr [ebx]", "0x10095a4d"], ["0x100a7e4f", "mov edi, dword ptr [ecx + 0xc]", "0x10095a4f"], ["0x100a7e52", "mov dl, byte ptr [eax]", "0x10095a52"], ["0x100a7e54", "cmp dl, byte ptr [edi]", "0x10095a54"], ["0x100a7e56", "jne 0x1a", "0x10095a56"], ["0x100a7e58", "or dl, dl", "0x10095a58"], ["0x100a7e5a", "je 0x12", "0x10095a5a"], ["0x100a7e5c", "mov dl, byte ptr [eax + 1]", "0x10095a5c"], ["0x100a7e5f", "cmp dl, byte ptr [edi + 1]", "0x10095a5f"]]}]], ["@@ -0x100a7e7f,57 +0x10095a7f,57 @@", [{"both": [["0x100a7e7f", "mov dword ptr [ecx + 8], edx", "0x10095a7f"], ["0x100a7e82", "mov eax, dword ptr [esi + 4]", "0x10095a82"], ["0x100a7e85", "add eax, 8", "0x10095a85"], ["0x100a7e88", "cmp dword ptr [eax], ecx", "0x10095a88"], ["0x100a7e8a", "jne 0x26", "0x10095a8a"], ["0x100a7e8c", "mov dword ptr [eax], edx", "0x10095a8c"], ["0x100a7e8e", "jmp 0x22", "0x10095a8e"], ["0x100a7e90", "mov edx, dword ptr [esp + 0x10]", "0x10095a90"], ["0x100a7e94", "mov dword ptr [ecx], edx", "0x10095a94"], ["0x100a7e96", "mov eax, dword ptr [esi + 4]", "0x10095a96"]]}, {"orig": [["0x100a7e99", "cmp ecx, eax"]], "recomp": [["0x10095a99", "cmp eax, ecx"]]}, {"both": [["0x100a7e9b", "je 0x8", "0x10095a9b"], ["0x100a7e9d", "cmp dword ptr [eax], ecx", "0x10095a9d"], ["0x100a7e9f", "jne 0x11", "0x10095a9f"], ["0x100a7ea1", "mov dword ptr [eax], edx", "0x10095aa1"], ["0x100a7ea3", "jmp 0xd", "0x10095aa3"], ["0x100a7ea5", "mov edx, dword ptr [esp + 0x10]", "0x10095aa5"], ["0x100a7ea9", "mov dword ptr [eax + 4], edx", "0x10095aa9"], ["0x100a7eac", "mov eax, dword ptr [esi + 4]", "0x10095aac"], ["0x100a7eaf", "mov dword ptr [eax + 8], edx", "0x10095aaf"], ["0x100a7eb2", "mov ecx, dword ptr [esp + 0x10]", "0x10095ab2"], ["0x100a7eb6", "mov eax, dword ptr [esi + 4]", "0x10095ab6"], ["0x100a7eb9", "cmp dword ptr [eax + 4], ecx", "0x10095ab9"]]}, {"orig": [["0x100a7ebc", "je 0x1b6"]], "recomp": [["0x10095abc", "je 0x1b3"]]}, {"both": [["0x100a7ec2", "lea edx, [ecx + 4]", "0x10095ac2"], ["0x100a7ec5", "mov eax, dword ptr [edx]", "0x10095ac5"], ["0x100a7ec7", "lea ebx, [eax + 0x14]", "0x10095ac7"], ["0x100a7eca", "cmp dword ptr [ebx], 0", "0x10095aca"]]}, {"orig": [["0x100a7ecd", "jne 0x1a5"]], "recomp": [["0x10095acd", "jne 0x1a2"]]}, {"both": [["0x100a7ed3", "lea edi, [eax + 4]", "0x10095ad3"], ["0x100a7ed6", "mov ebp, dword ptr [edi]", "0x10095ad6"], ["0x100a7ed8", "mov ebp, dword ptr [ebp]", "0x10095ad8"], ["0x100a7edb", "cmp ebp, eax", "0x10095adb"]]}, {"orig": [["0x100a7edd", "jne 0xbe"]], "recomp": [["0x10095add", "jne 0xbb"]]}, {"both": [["0x100a7ee3", "mov ebp, dword ptr [edi]", "0x10095ae3"], ["0x100a7ee5", "mov ebp, dword ptr [ebp + 8]", "0x10095ae5"], ["0x100a7ee8", "cmp dword ptr [ebp + 0x14], 0", "0x10095ae8"]]}, {"orig": [["0x100a7eec", "je 0x15c"]], "recomp": [["0x10095aec", "je 0x159"]]}, {"both": [["0x100a7ef2", "lea ebx, [eax + 8]", "0x10095af2"], ["0x100a7ef5", "mov edx, dword ptr [ebx]", "0x10095af5"], ["0x100a7ef7", "cmp ecx, edx", "0x10095af7"], ["0x100a7ef9", "jne 0x33", "0x10095af9"], ["0x100a7efb", "mov ecx, eax", "0x10095afb"], ["0x100a7efd", "mov eax, dword ptr [edx]", "0x10095afd"], ["0x100a7eff", "mov dword ptr [ebx], eax", "0x10095aff"], ["0x100a7f01", "mov eax, dword ptr [edx]", "0x10095b01"]]}, {"orig": [["0x100a7f03", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095b03", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7f09", "je 0x3", "0x10095b09"], ["0x100a7f0b", "mov dword ptr [eax + 4], ecx", "0x10095b0b"], ["0x100a7f0e", "mov eax, dword ptr [edi]", "0x10095b0e"], ["0x100a7f10", "mov dword ptr [edx + 4], eax", "0x10095b10"], ["0x100a7f13", "mov eax, dword ptr [esi + 4]", "0x10095b13"], ["0x100a7f16", "add eax, 4", "0x10095b16"], ["0x100a7f19", "cmp dword ptr [eax], ecx", "0x10095b19"], ["0x100a7f1b", "je 0xb", "0x10095b1b"], ["0x100a7f1d", "mov eax, dword ptr [edi]", "0x10095b1d"], ["0x100a7f1f", "cmp dword ptr [eax], ecx", "0x10095b1f"]]}]], ["@@ -0x100a7f26,60 +0x10095b26,59 @@", [{"both": [["0x100a7f26", "jmp 0x2", "0x10095b26"], ["0x100a7f28", "mov dword ptr [eax], edx", "0x10095b28"], ["0x100a7f2a", "mov dword ptr [edx], ecx", "0x10095b2a"], ["0x100a7f2c", "mov dword ptr [edi], edx", "0x10095b2c"], ["0x100a7f2e", "mov eax, dword ptr [ecx + 4]", "0x10095b2e"], ["0x100a7f31", "mov dword ptr [eax + 0x14], 1", "0x10095b31"], ["0x100a7f38", "mov eax, dword ptr [ecx + 4]", "0x10095b38"], ["0x100a7f3b", "mov edx, dword ptr [eax + 4]", "0x10095b3b"], ["0x100a7f3e", "mov dword ptr [edx + 0x14], 0", "0x10095b3e"], ["0x100a7f45", "mov eax, dword ptr [ecx + 4]", "0x10095b45"]]}, {"orig": [["0x100a7f48", "mov edx, dword ptr [eax + 4]"], ["0x100a7f4b", "mov edi, dword ptr [edx]"], ["0x100a7f4d", "mov eax, dword ptr [edi + 8]"], ["0x100a7f50", "mov dword ptr [edx], eax"], ["0x100a7f52", "mov eax, dword ptr [edi + 8]"], ["0x100a7f55", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095b48", "mov edi, dword ptr [eax + 4]"], ["0x10095b4b", "mov edx, dword ptr [edi]"], ["0x10095b4d", "mov eax, dword ptr [edx + 8]"], ["0x10095b50", "mov dword ptr [edi], eax"], ["0x10095b52", "mov eax, dword ptr [edx + 8]"], ["0x10095b55", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7f5b", "je 0x3", "0x10095b5b"]]}, {"orig": [["0x100a7f5d", "mov dword ptr [eax + 4], edx"], ["0x100a7f60", "mov eax, dword ptr [edx + 4]"], ["0x100a7f63", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x10095b5d", "mov dword ptr [eax + 4], edi"], ["0x10095b60", "mov eax, dword ptr [edi + 4]"], ["0x10095b63", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x100a7f66", "mov eax, dword ptr [esi + 4]", "0x10095b66"], ["0x100a7f69", "add eax, 4", "0x10095b69"]]}, {"orig": [["0x100a7f6c", "cmp dword ptr [eax], edx"]], "recomp": [["0x10095b6c", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100a7f6e", "je 0x24", "0x10095b6e"]]}, {"orig": [["0x100a7f70", "mov ebx, dword ptr [edx + 4]"]], "recomp": [["0x10095b70", "mov ebx, dword ptr [edi + 4]"]]}, {"both": [["0x100a7f73", "lea eax, [ebx + 8]", "0x10095b73"]]}, {"orig": [["0x100a7f76", "cmp dword ptr [eax], edx"]], "recomp": [["0x10095b76", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100a7f78", "je 0xd", "0x10095b78"]]}, {"orig": [["0x100a7f7a", "mov dword ptr [ebx], edi"], ["0x100a7f7c", "mov dword ptr [edi + 8], edx"], ["0x100a7f7f", "mov dword ptr [edx + 4], edi"], ["0x100a7f82", "jmp 0xe5"], ["0x100a7f87", "mov dword ptr [eax], edi"], ["0x100a7f89", "mov dword ptr [edi + 8], edx"], ["0x100a7f8c", "mov dword ptr [edx + 4], edi"], ["0x100a7f8f", "jmp 0xd8"], ["0x100a7f94", "mov dword ptr [eax], edi"], ["0x100a7f96", "mov dword ptr [edi + 8], edx"], ["0x100a7f99", "mov dword ptr [edx + 4], edi"], ["0x100a7f9c", "jmp 0xcb"]], "recomp": [["0x10095b7a", "mov dword ptr [ebx], edx"], ["0x10095b7c", "mov dword ptr [edx + 8], edi"], ["0x10095b7f", "mov dword ptr [edi + 4], edx"], ["0x10095b82", "jmp 0xe2"], ["0x10095b87", "mov dword ptr [eax], edx"], ["0x10095b89", "mov dword ptr [edx + 8], edi"], ["0x10095b8c", "mov dword ptr [edi + 4], edx"], ["0x10095b8f", "jmp 0xd5"], ["0x10095b94", "mov dword ptr [eax], edx"], ["0x10095b96", "mov dword ptr [edx + 8], edi"], ["0x10095b99", "jmp 0xa8"]]}, {"both": [["0x100a7fa1", "cmp dword ptr [ebp + 0x14], 0", "0x10095b9e"], ["0x100a7fa5", "je 0xa3", "0x10095ba2"], ["0x100a7fab", "mov edx, dword ptr [eax]", "0x10095ba8"], ["0x100a7fad", "cmp ecx, edx", "0x10095baa"], ["0x100a7faf", "jne 0x38", "0x10095bac"], ["0x100a7fb1", "mov ecx, eax", "0x10095bae"], ["0x100a7fb3", "mov eax, dword ptr [edx + 8]", "0x10095bb0"], ["0x100a7fb6", "mov dword ptr [ecx], eax", "0x10095bb3"], ["0x100a7fb8", "mov eax, dword ptr [edx + 8]", "0x10095bb5"]]}, {"orig": [["0x100a7fbb", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095bb8", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a7fc1", "je 0x3", "0x10095bbe"], ["0x100a7fc3", "mov dword ptr [eax + 4], ecx", "0x10095bc0"], ["0x100a7fc6", "mov eax, dword ptr [edi]", "0x10095bc3"], ["0x100a7fc8", "mov dword ptr [edx + 4], eax", "0x10095bc5"], ["0x100a7fcb", "mov eax, dword ptr [esi + 4]", "0x10095bc8"], ["0x100a7fce", "add eax, 4", "0x10095bcb"], ["0x100a7fd1", "cmp dword ptr [eax], ecx", "0x10095bce"], ["0x100a7fd3", "je 0xd", "0x10095bd0"], ["0x100a7fd5", "mov ebx, dword ptr [edi]", "0x10095bd2"], ["0x100a7fd7", "lea eax, [ebx + 8]", "0x10095bd4"]]}]], ["@@ -0x100a7fec,21 +0x10095be9,21 @@", [{"both": [["0x100a7fec", "mov dword ptr [eax + 0x14], 1", "0x10095be9"], ["0x100a7ff3", "mov eax, dword ptr [ecx + 4]", "0x10095bf0"], ["0x100a7ff6", "mov edx, dword ptr [eax + 4]", "0x10095bf3"], ["0x100a7ff9", "mov dword ptr [edx + 0x14], 0", "0x10095bf6"], ["0x100a8000", "mov eax, dword ptr [ecx + 4]", "0x10095bfd"], ["0x100a8003", "mov edi, dword ptr [eax + 4]", "0x10095c00"], ["0x100a8006", "mov edx, dword ptr [edi + 8]", "0x10095c03"], ["0x100a8009", "mov eax, dword ptr [edx]", "0x10095c06"], ["0x100a800b", "mov dword ptr [edi + 8], eax", "0x10095c08"], ["0x100a800e", "mov eax, dword ptr [edx]", "0x10095c0b"]]}, {"orig": [["0x100a8010", "cmp dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)], eax"]], "recomp": [["0x10095c0d", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,ViewLODList *>,map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::_Kfn,ROINameComparator,allocator<ViewLODList *> >::_Nil (DATA)]"]]}, {"both": [["0x100a8016", "je 0x3", "0x10095c13"], ["0x100a8018", "mov dword ptr [eax + 4], edi", "0x10095c15"], ["0x100a801b", "mov eax, dword ptr [edi + 4]", "0x10095c18"], ["0x100a801e", "mov dword ptr [edx + 4], eax", "0x10095c1b"], ["0x100a8021", "mov eax, dword ptr [esi + 4]", "0x10095c1e"], ["0x100a8024", "add eax, 4", "0x10095c21"], ["0x100a8027", "cmp dword ptr [eax], edi", "0x10095c24"], ["0x100a8029", "je 0x1a", "0x10095c26"], ["0x100a802b", "mov eax, dword ptr [edi + 4]", "0x10095c28"], ["0x100a802e", "cmp dword ptr [eax], edi", "0x10095c2b"]]}]], ["@@ -0x100a804c,22 +0x10095c49,23 @@", [{"both": [["0x100a804c", "jmp 0x1e", "0x10095c49"], ["0x100a804e", "mov dword ptr [ebx], 1", "0x10095c4b"], ["0x100a8054", "mov dword ptr [ebp + 0x14], 1", "0x10095c51"], ["0x100a805b", "mov eax, dword ptr [edx]", "0x10095c58"], ["0x100a805d", "mov ecx, dword ptr [eax + 4]", "0x10095c5a"], ["0x100a8060", "mov dword ptr [ecx + 0x14], 0", "0x10095c5d"], ["0x100a8067", "mov eax, dword ptr [edx]", "0x10095c64"], ["0x100a8069", "mov ecx, dword ptr [eax + 4]", "0x10095c66"], ["0x100a806c", "mov eax, dword ptr [esi + 4]", "0x10095c69"], ["0x100a806f", "cmp dword ptr [eax + 4], ecx", "0x10095c6c"]]}, {"orig": [["0x100a8072", "jne -0x1b6"]], "recomp": [["0x10095c6f", "jne -0x1b3"]]}, {"both": [["0x100a8078", "mov eax, dword ptr [esi + 4]", "0x10095c75"], ["0x100a807b", "mov edx, dword ptr [esp + 0x10]", "0x10095c78"], ["0x100a807f", "mov ecx, dword ptr [eax + 4]", "0x10095c7c"], ["0x100a8082", "mov eax, dword ptr [esp + 0x18]", "0x10095c7f"], ["0x100a8086", "pop ebp", "0x10095c83"], ["0x100a8087", "pop edi", "0x10095c84"], ["0x100a8088", "mov dword ptr [ecx + 0x14], 1", "0x10095c85"], ["0x100a808f", "pop esi", "0x10095c8c"], ["0x100a8090", "mov dword ptr [eax], edx", "0x10095c8d"], ["0x100a8092", "pop ebx", "0x10095c8f"], ["0x100a8093", "add esp, 4", "0x10095c90"]]}, {"orig": [], "recomp": [["0x10095c93", "ret 0x10"]]}]]]}, {"address": "0x100a80a0", "recomp": "0x10095410", "name": "map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >::~map<char const *,ViewLODList *,ROINameComparator,allocator<ViewLODList *> >", "matching": 1.0, "diff": []}, {"address": "0x100a80f0", "recomp": "0x10095ca0", "name": "ViewLODList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a8160", "recomp": "0x10095d10", "name": "LODList<ViewLOD>::~LODList<ViewLOD>", "matching": 1.0, "diff": []}, {"address": "0x100a81b0", "recomp": "0x10096310", "name": "LegoROI::FUN_100a81b0", "matching": 1.0, "diff": []}, {"address": "0x100a81c0", "recomp": "0x10096320", "name": "LegoROI::configureLegoROI", "matching": 1.0, "diff": []}, {"address": "0x100a81d0", "recomp": "0x10096330", "name": "LegoROI::LegoROI", "matching": 1.0, "diff": []}, {"address": "0x100a82b0", "recomp": "0x10096590", "name": "LegoROI::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a82d0", "recomp": "0x100965b0", "name": "LegoROI::LegoROI", "matching": 1.0, "diff": []}, {"address": "0x100a83c0", "recomp": "0x100966a0", "name": "LegoROI::~LegoROI", "matching": 0.9538461538461539, "diff": [["@@ -0x100a83cb,26 +0x100966ab,25 @@", [{"both": [["0x100a83cb", "push <OFFSET1>", "0x100966ab"], ["0x100a83d0", "mov dword ptr [ecx], LegoROI::`vftable' (VTABLE)", "0x100966b0"], ["0x100a83d6", "push eax", "0x100966b6"], ["0x100a83d7", "mov dword ptr fs:[0], esp", "0x100966b7"], ["0x100a83de", "sub esp, 0xc", "0x100966be"], ["0x100a83e1", "mov dword ptr [ebp - 4], 0", "0x100966c1"], ["0x100a83e8", "push esi", "0x100966c8"], ["0x100a83e9", "mov eax, dword ptr [ecx + 4]", "0x100966c9"], ["0x100a83ec", "mov dword ptr [ebp - 0x10], ecx", "0x100966cc"], ["0x100a83ef", "test eax, eax", "0x100966cf"]]}, {"orig": [["0x100a83f1", "je 0x55"]], "recomp": [["0x100966d1", "je 0x51"]]}, {"both": [["0x100a83f3", "mov ecx, dword ptr [eax + 4]", "0x100966d3"], ["0x100a83f6", "mov eax, dword ptr [ecx]", "0x100966d6"], ["0x100a83f8", "mov esi, eax", "0x100966d8"]]}, {"orig": [["0x100a83fa", "mov dword ptr [ebp - 0x14], eax"], ["0x100a83fd", "cmp ecx, dword ptr [ebp - 0x14]"]], "recomp": [["0x100966da", "cmp ecx, eax"]]}, {"both": [["0x100a8400", "je 0x1a", "0x100966dc"], ["0x100a8402", "mov ecx, dword ptr [esi + 8]", "0x100966de"], ["0x100a8405", "test ecx, ecx", "0x100966e1"], ["0x100a8407", "je 0x6", "0x100966e3"], ["0x100a8409", "push 1", "0x100966e5"], ["0x100a840b", "mov eax, dword ptr [ecx]", "0x100966e7"], ["0x100a840d", "call dword ptr [eax]", "0x100966e9"], ["0x100a840f", "mov esi, dword ptr [esi]", "0x100966eb"], ["0x100a8411", "mov eax, dword ptr [ebp - 0x10]", "0x100966ed"], ["0x100a8414", "mov ecx, dword ptr [eax + 4]", "0x100966f0"]]}]], ["@@ -0x100a846d,10 +0x10096749,11 @@", [{"both": [["0x100a846d", "pop esi", "0x10096749"], ["0x100a846e", "mov dword ptr fs:[0], eax", "0x1009674a"], ["0x100a8474", "mov esp, ebp", "0x10096750"], ["0x100a8476", "pop ebp", "0x10096752"], ["0x100a8477", "ret ", "0x10096753"], ["0x100a8478", "mov ecx, dword ptr [ebp - 0x14]", "0x10096754"], ["0x100a847b", "jmp list<ROI *,allocator<ROI *> >::~list<ROI *,allocator<ROI *> > (FUNCTION)", "0x10096757"], ["0x100a8480", "mov eax, <OFFSET6>", "0x1009675c"], ["0x100a8485", "jmp ___CxxFrameHandler (FUNCTION)", "0x10096761"], ["0x100a848a", "mov ecx, dword ptr [ebp - 0x10]", "0x10096766"]]}, {"orig": [], "recomp": [["0x10096769", "jmp ViewROI::~ViewROI (FUNCTION)"]]}]]]}, {"address": "0x100a84a0", "recomp": "0x10096770", "name": "LegoROI::Read", "matching": 0.8933631618195377, "diff": [["@@ -0x100a84f2,68 +0x100967c2,68 @@", [{"both": [["0x100a84f2", "mov dword ptr [ecx + 0xd4], eax", "0x100967c2"], ["0x100a84f8", "mov eax, dword ptr [edx]", "0x100967c8"], ["0x100a84fa", "lea edx, [ebp - 0x28]", "0x100967ca"], ["0x100a84fd", "mov dword ptr [ebp - 0x30], eax", "0x100967cd"], ["0x100a8500", "mov ecx, dword ptr [eax + 4]", "0x100967d0"], ["0x100a8503", "push edx", "0x100967d3"], ["0x100a8504", "mov dword ptr [ebp - 0x20], ecx", "0x100967d4"], ["0x100a8507", "mov ecx, dword ptr [ebp + 0x18]", "0x100967d7"], ["0x100a850a", "call dword ptr [ebp - 0x20]", "0x100967da"], ["0x100a850d", "test eax, eax", "0x100967dd"]]}, {"orig": [["0x100a850f", "jne 0x768"]], "recomp": [["0x100967df", "jne 0x76b"]]}, {"both": [["0x100a8515", "mov eax, dword ptr [ebp - 0x28]", "0x100967e5"], ["0x100a8518", "inc eax", "0x100967e8"], ["0x100a8519", "push eax", "0x100967e9"], ["0x100a851a", "call ??2@YAPAXI@Z (FUNCTION)", "0x100967ea"], ["0x100a851f", "add esp, 4", "0x100967ef"], ["0x100a8522", "mov ecx, dword ptr [ebp - 0x10]", "0x100967f2"]]}, {"orig": [], "recomp": [["0x100967f5", "mov dword ptr [ecx + 0xe4], eax"], ["0x100967fb", "mov ecx, dword ptr [ebp + 0x18]"]]}, {"both": [["0x100a8525", "mov edx, dword ptr [ebp - 0x28]", "0x100967fe"], ["0x100a8528", "push edx", "0x10096801"]]}, {"orig": [["0x100a8529", "mov dword ptr [ecx + 0xe4], eax"]], "recomp": []}, {"both": [["0x100a852f", "push eax", "0x10096802"]]}, {"orig": [["0x100a8530", "mov ecx, dword ptr [ebp + 0x18]"]], "recomp": []}, {"both": [["0x100a8533", "call dword ptr [ebp - 0x20]", "0x10096803"], ["0x100a8536", "test eax, eax", "0x10096806"]]}, {"orig": [["0x100a8538", "jne 0x73f"]], "recomp": [["0x10096808", "jne 0x742"]]}, {"both": [["0x100a853e", "mov ecx, dword ptr [ebp - 0x10]", "0x1009680e"], ["0x100a8541", "mov edx, dword ptr [ebp - 0x28]", "0x10096811"], ["0x100a8544", "mov eax, dword ptr [ecx + 0xe4]", "0x10096814"], ["0x100a854a", "mov byte ptr [eax + edx], 0", "0x1009681a"], ["0x100a854e", "mov eax, dword ptr [ecx + 0xe4]", "0x1009681e"], ["0x100a8554", "push eax", "0x10096824"], ["0x100a8555", "call _strlwr (FUNCTION)", "0x10096825"], ["0x100a855a", "add esp, 4", "0x1009682a"], ["0x100a855d", "mov ecx, dword ptr [ebp + 0x18]", "0x1009682d"], ["0x100a8560", "push ecx", "0x10096830"], ["0x100a8561", "lea ecx, [ebp - 0x50]", "0x10096831"], ["0x100a8564", "call LegoSphere::Read (FUNCTION)", "0x10096834"], ["0x100a8569", "test eax, eax", "0x10096839"]]}, {"orig": [["0x100a856b", "jne 0x70c"]], "recomp": [["0x1009683b", "jne 0x70f"]]}, {"both": [["0x100a8571", "mov ecx, dword ptr [ebp - 0x10]", "0x10096841"], ["0x100a8574", "mov eax, dword ptr [ebp - 0x50]", "0x10096844"], ["0x100a8577", "mov edx, dword ptr [ecx + 0xec]", "0x10096847"], ["0x100a857d", "mov dword ptr [edx], eax", "0x1009684d"], ["0x100a857f", "mov edx, dword ptr [ecx + 0xec]", "0x1009684f"], ["0x100a8585", "mov eax, dword ptr [ebp - 0x4c]", "0x10096855"], ["0x100a8588", "mov dword ptr [edx + 4], eax", "0x10096858"], ["0x100a858b", "mov edx, dword ptr [ecx + 0xec]", "0x1009685b"], ["0x100a8591", "mov eax, dword ptr [ebp - 0x48]", "0x10096861"], ["0x100a8594", "mov dword ptr [edx + 8], eax", "0x10096864"], ["0x100a8597", "mov eax, dword ptr [ebp + 0x18]", "0x10096867"], ["0x100a859a", "fld dword ptr [ebp - 0x44]", "0x1009686a"], ["0x100a859d", "push eax", "0x1009686d"], ["0x100a859e", "fst dword ptr [ecx + 0xfc]", "0x1009686e"], ["0x100a85a4", "fstp dword ptr [ecx + 0xbc]", "0x10096874"], ["0x100a85aa", "lea ecx, [ebp - 0x68]", "0x1009687a"], ["0x100a85ad", "call LegoBox::Read (FUNCTION)", "0x1009687d"], ["0x100a85b2", "test eax, eax", "0x10096882"]]}, {"orig": [["0x100a85b4", "jne 0x6c3"]], "recomp": [["0x10096884", "jne 0x6c6"]]}, {"both": [["0x100a85ba", "mov ecx, dword ptr [ebp - 0x10]", "0x1009688a"], ["0x100a85bd", "mov edx, dword ptr [ebp - 0x68]", "0x1009688d"], ["0x100a85c0", "mov eax, dword ptr [ecx + 0x84]", "0x10096890"], ["0x100a85c6", "mov dword ptr [eax], edx", "0x10096896"], ["0x100a85c8", "mov eax, dword ptr [ecx + 0x84]", "0x10096898"], ["0x100a85ce", "mov edx, dword ptr [ebp - 0x64]", "0x1009689e"], ["0x100a85d1", "mov dword ptr [eax + 4], edx", "0x100968a1"], ["0x100a85d4", "mov eax, dword ptr [ecx + 0x84]", "0x100968a4"], ["0x100a85da", "mov edx, dword ptr [ebp - 0x60]", "0x100968aa"], ["0x100a85dd", "mov dword ptr [eax + 8], edx", "0x100968ad"]]}]], ["@@ -0x100a85f4,40 +0x100968c4,41 @@", [{"both": [["0x100a85f4", "push 4", "0x100968c4"], ["0x100a85f6", "mov dword ptr [ebx + 4], eax", "0x100968c6"], ["0x100a85f9", "mov ebx, dword ptr [ecx + 0x98]", "0x100968c9"], ["0x100a85ff", "mov eax, dword ptr [ebp - 0x54]", "0x100968cf"], ["0x100a8602", "lea ecx, [ebp - 0x28]", "0x100968d2"], ["0x100a8605", "push ecx", "0x100968d5"], ["0x100a8606", "mov dword ptr [ebx + 8], eax", "0x100968d6"], ["0x100a8609", "mov ecx, dword ptr [ebp + 0x18]", "0x100968d9"], ["0x100a860c", "call dword ptr [ebp - 0x20]", "0x100968dc"], ["0x100a860f", "test eax, eax", "0x100968df"]]}, {"orig": [["0x100a8611", "jne 0x666"]], "recomp": [["0x100968e1", "jne 0x669"]]}, {"both": [["0x100a8617", "cmp dword ptr [ebp - 0x28], 0", "0x100968e7"]]}, {"orig": [["0x100a861b", "je 0x38"]], "recomp": [["0x100968eb", "je 0x3b"]]}, {"both": [["0x100a861d", "mov eax, dword ptr [ebp - 0x28]", "0x100968ed"], ["0x100a8620", "inc eax", "0x100968f0"], ["0x100a8621", "push eax", "0x100968f1"], ["0x100a8622", "call ??2@YAPAXI@Z (FUNCTION)", "0x100968f2"], ["0x100a8627", "add esp, 4", "0x100968f7"]]}, {"orig": [], "recomp": [["0x100968fa", "mov dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100a862a", "mov ecx, dword ptr [ebp - 0x28]", "0x100968fd"]]}, {"orig": [["0x100a862d", "mov dword ptr [ebp - 0x14], eax"]], "recomp": []}, {"both": [["0x100a8630", "push ecx", "0x10096900"], ["0x100a8631", "push eax", "0x10096901"], ["0x100a8632", "mov ecx, dword ptr [ebp + 0x18]", "0x10096902"], ["0x100a8635", "call dword ptr [ebp - 0x20]", "0x10096905"], ["0x100a8638", "test eax, eax", "0x10096908"]]}, {"orig": [["0x100a863a", "jne 0x63d"]], "recomp": [["0x1009690a", "jne 0x640"]]}, {"both": [["0x100a8640", "mov ecx, dword ptr [ebp - 0x28]", "0x10096910"], ["0x100a8643", "mov eax, dword ptr [ebp - 0x14]", "0x10096913"]]}, {"orig": [], "recomp": [["0x10096916", "mov byte ptr [ecx + eax], 0"], ["0x1009691a", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100a8646", "push eax", "0x1009691d"]]}, {"orig": [["0x100a8647", "mov byte ptr [ecx + eax], 0"]], "recomp": []}, {"both": [["0x100a864b", "call _strlwr (FUNCTION)", "0x1009691e"], ["0x100a8650", "add esp, 4", "0x10096923"], ["0x100a8653", "jmp 0x7", "0x10096926"], ["0x100a8655", "mov dword ptr [ebp - 0x14], 0", "0x10096928"], ["0x100a865c", "mov esi, dword ptr [ebp - 0x10]", "0x1009692f"], ["0x100a865f", "push 1", "0x10096932"], ["0x100a8661", "add esi, 0x100", "0x10096934"], ["0x100a8667", "mov ecx, dword ptr [ebp + 0x18]", "0x1009693a"], ["0x100a866a", "push esi", "0x1009693d"], ["0x100a866b", "call dword ptr [ebp - 0x20]", "0x1009693e"]]}]], ["@@ -0x100a872e,26 +0x10096a01,26 @@", [{"both": [["0x100a872e", "push 4", "0x10096a01"], ["0x100a8730", "lea edx, [ebp - 0x40]", "0x10096a03"], ["0x100a8733", "mov eax, dword ptr [ecx + 0xe4]", "0x10096a06"], ["0x100a8739", "push edx", "0x10096a0c"], ["0x100a873a", "mov ecx, dword ptr [ebp + 0x18]", "0x10096a0d"], ["0x100a873d", "mov dword ptr [ebp - 0x1c], eax", "0x10096a10"], ["0x100a8740", "call dword ptr [ebp - 0x20]", "0x10096a13"], ["0x100a8743", "test eax, eax", "0x10096a16"], ["0x100a8745", "jne 0x532", "0x10096a18"], ["0x100a874b", "mov eax, dword ptr [g_roiConfig (DATA)]", "0x10096a1e"]]}, {"orig": [["0x100a8750", "cmp eax, dword ptr [ebp - 0x24]"], ["0x100a8753", "jae 0xd"]], "recomp": [["0x10096a23", "cmp dword ptr [ebp - 0x24], eax"], ["0x10096a26", "jbe 0xd"]]}, {"both": [["0x100a8755", "mov ecx, dword ptr [ebp - 0x24]", "0x10096a28"], ["0x100a8758", "sub ecx, eax", "0x10096a2b"]]}, {"orig": [], "recomp": [["0x10096a2d", "mov dword ptr [ebp - 0x2c], ecx"]]}, {"both": [["0x100a875a", "mov dword ptr [ebp - 0x24], eax", "0x10096a30"]]}, {"orig": [["0x100a875d", "mov dword ptr [ebp - 0x2c], ecx"]], "recomp": []}, {"both": [["0x100a8760", "jmp 0x7", "0x10096a33"], ["0x100a8762", "mov dword ptr [ebp - 0x2c], 0", "0x10096a35"], ["0x100a8769", "cmp dword ptr [g_roiConfig (DATA)], 2", "0x10096a3c"], ["0x100a8770", "jg 0x3e", "0x10096a43"], ["0x100a8772", "xor edi, edi", "0x10096a45"], ["0x100a8774", "cmp dword ptr [g_unk0x10101380[0] (DATA)], edi", "0x10096a47"], ["0x100a877a", "je 0x73", "0x10096a4d"], ["0x100a877c", "mov esi, g_unk0x10101380[0] (DATA)", "0x10096a4f"], ["0x100a8781", "push 4", "0x10096a54"], ["0x100a8783", "mov eax, dword ptr [esi]", "0x10096a56"]]}]], ["@@ -0x100a8795,40 +0x10096a68,40 @@", [{"both": [["0x100a8795", "add esp, 0xc", "0x10096a68"], ["0x100a8798", "test eax, eax", "0x10096a6b"], ["0x100a879a", "je 0xb", "0x10096a6d"], ["0x100a879c", "add esi, 4", "0x10096a6f"], ["0x100a879f", "inc edi", "0x10096a72"], ["0x100a87a0", "cmp dword ptr [esi], 0", "0x10096a73"], ["0x100a87a3", "jne -0x24", "0x10096a76"], ["0x100a87a5", "jmp 0x48", "0x10096a78"], ["0x100a87a7", "mov eax, dword ptr [edi*4 + g_unk0x10101380[0] (DATA)]", "0x10096a7a"], ["0x100a87ae", "jmp 0x3c", "0x10096a81"]]}, {"orig": [["0x100a87b0", "xor edi, edi"], ["0x100a87b2", "cmp dword ptr [g_unk0x10101370[0] (DATA)], edi"]], "recomp": [["0x10096a83", "xor esi, esi"], ["0x10096a85", "cmp dword ptr [g_unk0x10101370[0] (DATA)], esi"]]}, {"both": [["0x100a87b8", "je 0x35", "0x10096a8b"]]}, {"orig": [["0x100a87ba", "mov esi, g_unk0x10101370[0] (DATA)"]], "recomp": [["0x10096a8d", "mov edi, g_unk0x10101370[0] (DATA)"]]}, {"both": [["0x100a87bf", "push 4", "0x10096a92"]]}, {"orig": [["0x100a87c1", "mov eax, dword ptr [esi]"]], "recomp": [["0x10096a94", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100a87c3", "push eax", "0x10096a96"], ["0x100a87c4", "mov ecx, dword ptr [ebp - 0x10]", "0x10096a97"], ["0x100a87c7", "mov edx, dword ptr [ecx + 0xe4]", "0x10096a9a"], ["0x100a87cd", "push edx", "0x10096aa0"], ["0x100a87ce", "call _strnicmp (FUNCTION)", "0x10096aa1"], ["0x100a87d3", "add esp, 0xc", "0x10096aa6"], ["0x100a87d6", "test eax, eax", "0x10096aa9"], ["0x100a87d8", "je 0xb", "0x10096aab"]]}, {"orig": [["0x100a87da", "add esi, 4"], ["0x100a87dd", "inc edi"], ["0x100a87de", "cmp dword ptr [esi], 0"]], "recomp": [["0x10096aad", "add edi, 4"], ["0x10096ab0", "inc esi"], ["0x10096ab1", "cmp dword ptr [edi], 0"]]}, {"both": [["0x100a87e1", "jne -0x24", "0x10096ab4"], ["0x100a87e3", "jmp 0xa", "0x10096ab6"]]}, {"orig": [["0x100a87e5", "mov eax, dword ptr [edi*4 + g_unk0x10101370[0] (DATA)]"]], "recomp": [["0x10096ab8", "mov eax, dword ptr [esi*4 + g_unk0x10101370[0] (DATA)]"]]}, {"both": [["0x100a87ec", "mov dword ptr [ebp - 0x1c], eax", "0x10096abf"], ["0x100a87ef", "lea eax, [ebp - 0x1c]", "0x10096ac2"], ["0x100a87f2", "mov ecx, dword ptr [ebp + 0x10]", "0x10096ac5"], ["0x100a87f5", "push eax", "0x10096ac8"], ["0x100a87f6", "call ViewLODListManager::Lookup (FUNCTION)", "0x10096ac9"], ["0x100a87fb", "mov edi, eax", "0x10096ace"], ["0x100a87fd", "test edi, edi", "0x10096ad0"], ["0x100a87ff", "je 0x1a3", "0x10096ad2"], ["0x100a8805", "xor esi, esi", "0x10096ad8"], ["0x100a8807", "cmp dword ptr [g_unk0x10101390[0] (DATA)], esi", "0x10096ada"]]}]], ["@@ -0x100a8848,74 +0x10096b1b,74 @@", [{"both": [["0x100a8848", "mov dword ptr [edi + 0xc], eax", "0x10096b1b"], ["0x100a884b", "mov ecx, dword ptr [edi + 4]", "0x10096b1e"], ["0x100a884e", "mov ecx, dword ptr [ecx + eax*4]", "0x10096b21"], ["0x100a8851", "test ecx, ecx", "0x10096b24"], ["0x100a8853", "je 0x6", "0x10096b26"], ["0x100a8855", "push 1", "0x10096b28"], ["0x100a8857", "mov eax, dword ptr [ecx]", "0x10096b2a"], ["0x100a8859", "call dword ptr [eax]", "0x10096b2c"], ["0x100a885b", "cmp dword ptr [edi + 0xc], 0", "0x10096b2e"], ["0x100a885f", "jne -0x1d", "0x10096b32"]]}, {"orig": [["0x100a8861", "xor ebx, ebx"], ["0x100a8863", "cmp dword ptr [ebp - 0x24], ebx"]], "recomp": [["0x10096b34", "xor esi, esi"], ["0x10096b36", "cmp dword ptr [ebp - 0x24], esi"]]}, {"both": [["0x100a8866", "jbe 0x74", "0x10096b39"], ["0x100a8868", "push 0x20", "0x10096b3b"]]}, {"orig": [["0x100a886a", "mov esi, 0"]], "recomp": [["0x10096b3d", "mov ebx, 0"]]}, {"both": [["0x100a886f", "call ??2@YAPAXI@Z (FUNCTION)", "0x10096b42"], ["0x100a8874", "add esp, 4", "0x10096b47"], ["0x100a8877", "mov dword ptr [ebp - 0x18], eax", "0x10096b4a"], ["0x100a887a", "mov dword ptr [ebp - 4], 0", "0x10096b4d"], ["0x100a8881", "cmp dword ptr [ebp - 0x18], 0", "0x10096b54"], ["0x100a8885", "je 0xe", "0x10096b58"], ["0x100a8887", "mov eax, dword ptr [ebp + 0xc]", "0x10096b5a"], ["0x100a888a", "mov ecx, dword ptr [ebp - 0x18]", "0x10096b5d"], ["0x100a888d", "push eax", "0x10096b60"], ["0x100a888e", "call LegoLOD::LegoLOD (FUNCTION)", "0x10096b61"]]}, {"orig": [["0x100a8893", "mov esi, eax"]], "recomp": [["0x10096b66", "mov ebx, eax"]]}, {"both": [["0x100a8895", "mov eax, dword ptr [ebp + 0x18]", "0x10096b68"]]}, {"orig": [], "recomp": [["0x10096b6b", "mov ecx, dword ptr [ebp + 0x14]"], ["0x10096b6e", "push eax"]]}, {"both": [["0x100a8898", "mov edx, dword ptr [ebp + 0xc]", "0x10096b6f"], ["0x100a889b", "mov dword ptr [ebp - 4], 0xffffffff", "0x10096b72"]]}, {"orig": [["0x100a88a2", "push eax"], ["0x100a88a3", "mov ecx, dword ptr [ebp + 0x14]"]], "recomp": []}, {"both": [["0x100a88a6", "push ecx", "0x10096b79"], ["0x100a88a7", "push edx", "0x10096b7a"]]}, {"orig": [["0x100a88a8", "mov ecx, esi"]], "recomp": [["0x10096b7b", "mov ecx, ebx"]]}, {"both": [["0x100a88aa", "call LegoLOD::Read (FUNCTION)", "0x10096b7d"], ["0x100a88af", "test eax, eax", "0x10096b82"], ["0x100a88b1", "jne 0x3c6", "0x10096b84"]]}, {"orig": [["0x100a88b7", "test ebx, ebx"]], "recomp": [["0x10096b8a", "test esi, esi"]]}, {"both": [["0x100a88b9", "jne 0xf", "0x10096b8c"], ["0x100a88bb", "cmp dword ptr [ebp - 0x2c], 0", "0x10096b8e"], ["0x100a88bf", "je 0x9", "0x10096b92"]]}, {"orig": [["0x100a88c1", "test byte ptr [esi + 8], 8"]], "recomp": [["0x10096b94", "test byte ptr [ebx + 8], 8"]]}, {"both": [["0x100a88c5", "je 0x3", "0x10096b98"], ["0x100a88c7", "inc dword ptr [ebp - 0x24]", "0x10096b9a"], ["0x100a88ca", "mov eax, dword ptr [edi + 0xc]", "0x10096b9d"], ["0x100a88cd", "mov ecx, dword ptr [edi + 4]", "0x10096ba0"]]}, {"orig": [["0x100a88d0", "inc ebx"], ["0x100a88d1", "mov dword ptr [ecx + eax*4], esi"]], "recomp": [["0x10096ba3", "inc esi"], ["0x10096ba4", "mov dword ptr [ecx + eax*4], ebx"]]}, {"both": [["0x100a88d4", "inc dword ptr [edi + 0xc]", "0x10096ba7"]]}, {"orig": [["0x100a88d7", "cmp ebx, dword ptr [ebp - 0x24]"], ["0x100a88da", "jb -0x74"]], "recomp": [["0x10096baa", "cmp dword ptr [ebp - 0x24], esi"], ["0x10096bad", "ja -0x74"]]}, {"both": [["0x100a88dc", "mov eax, dword ptr [ebp - 0x40]", "0x10096baf"], ["0x100a88df", "mov ecx, dword ptr [ebp + 0x18]", "0x10096bb2"], ["0x100a88e2", "push eax", "0x10096bb5"], ["0x100a88e3", "mov ebx, dword ptr [ebp - 0x30]", "0x10096bb6"], ["0x100a88e6", "call dword ptr [ebx + 0x10]", "0x10096bb9"], ["0x100a88e9", "mov ecx, dword ptr [ebp - 0x10]", "0x10096bbc"]]}, {"orig": [["0x100a88ec", "mov eax, dword ptr [ecx + 8]"], ["0x100a88ef", "test eax, eax"]], "recomp": [["0x10096bbf", "mov ecx, dword ptr [ecx + 8]"], ["0x10096bc2", "test ecx, ecx"]]}, {"both": [["0x100a88f1", "je 0xe", "0x10096bc4"]]}, {"orig": [["0x100a88f3", "dec dword ptr [eax + 0x10]"]], "recomp": [["0x10096bc6", "dec dword ptr [ecx + 0x10]"]]}, {"both": [["0x100a88f6", "jne 0x9", "0x10096bc9"]]}, {"orig": [["0x100a88f8", "push eax"], ["0x100a88f9", "mov ecx, dword ptr [eax + 0x14]"]], "recomp": [["0x10096bcb", "push ecx"], ["0x10096bcc", "mov ecx, dword ptr [ecx + 0x14]"]]}, {"both": [["0x100a88fc", "call ViewLODListManager::Destroy (FUNCTION)", "0x10096bcf"], ["0x100a8901", "mov ecx, dword ptr [ebp - 0x10]", "0x10096bd4"], ["0x100a8904", "test edi, edi", "0x10096bd7"], ["0x100a8906", "mov dword ptr [ecx + 8], edi", "0x10096bd9"], ["0x100a8909", "je 0x19", "0x10096bdc"], ["0x100a890b", "inc dword ptr [edi + 0x10]", "0x10096bde"], ["0x100a890e", "test edi, edi", "0x10096be1"], ["0x100a8910", "je 0x12", "0x10096be3"], ["0x100a8912", "mov eax, dword ptr [edi + 0x10]", "0x10096be5"], ["0x100a8915", "dec eax", "0x10096be8"]]}]], ["@@ -0x100a892e,23 +0x10096c01,23 @@", [{"both": [["0x100a892e", "push 2", "0x10096c01"], ["0x100a8930", "mov eax, dword ptr [ebp - 0x14]", "0x10096c03"], ["0x100a8933", "push 't_' (STRING)", "0x10096c06"], ["0x100a8938", "push eax", "0x10096c0b"], ["0x100a8939", "call _strnicmp (FUNCTION)", "0x10096c0c"], ["0x100a893e", "add esp, 0xc", "0x10096c11"], ["0x100a8941", "test eax, eax", "0x10096c14"], ["0x100a8943", "jne 0x1af", "0x10096c16"], ["0x100a8949", "mov edi, dword ptr [ebp - 0x14]", "0x10096c1c"], ["0x100a894c", "mov ecx, dword ptr [ebp + 0x14]", "0x10096c1f"]]}, {"orig": [], "recomp": [["0x10096c22", "mov dword ptr [ebp - 0x14], 0"]]}, {"both": [["0x100a894f", "add edi, 2", "0x10096c29"], ["0x100a8952", "mov edx, dword ptr [ecx + 0xc]", "0x10096c2c"]]}, {"orig": [["0x100a8955", "mov dword ptr [ebp - 0x14], 0"]], "recomp": []}, {"both": [["0x100a895c", "mov eax, dword ptr [edx + 4]", "0x10096c2f"], ["0x100a895f", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax", "0x10096c32"], ["0x100a8965", "je 0x10e", "0x10096c38"], ["0x100a896b", "mov ecx, dword ptr [eax + 0xc]", "0x10096c3e"], ["0x100a896e", "mov esi, edi", "0x10096c41"], ["0x100a8970", "mov bl, byte ptr [ecx]", "0x10096c43"], ["0x100a8972", "cmp bl, byte ptr [esi]", "0x10096c45"], ["0x100a8974", "jne 0xe1", "0x10096c47"], ["0x100a897a", "or bl, bl", "0x10096c4d"], ["0x100a897c", "je 0x16", "0x10096c4f"]]}]], ["@@ -0x100a898d,90 +0x10096c60,90 @@", [{"both": [["0x100a898d", "add esi, 2", "0x10096c60"], ["0x100a8990", "or bl, bl", "0x10096c63"], ["0x100a8992", "jne -0x24", "0x10096c65"], ["0x100a8994", "xor ecx, ecx", "0x10096c67"], ["0x100a8996", "jmp 0xc5", "0x10096c69"], ["0x100a899b", "mov eax, dword ptr [ebp - 0x18]", "0x10096c6e"], ["0x100a899e", "push eax", "0x10096c71"], ["0x100a899f", "call ??3@YAXPAX@Z (FUNCTION)", "0x10096c72"], ["0x100a89a4", "add esp, 4", "0x10096c77"], ["0x100a89a7", "ret ", "0x10096c7a"]]}, {"orig": [["0x100a89a8", "xor esi, esi"], ["0x100a89aa", "cmp dword ptr [ebp - 0x24], esi"]], "recomp": [["0x10096c7b", "xor ebx, ebx"], ["0x10096c7d", "cmp dword ptr [ebp - 0x24], ebx"]]}, {"both": [["0x100a89ad", "jbe -0xd7", "0x10096c80"], ["0x100a89b3", "push 0x20", "0x10096c86"]]}, {"orig": [["0x100a89b5", "mov ebx, 0"]], "recomp": [["0x10096c88", "mov esi, 0"]]}, {"both": [["0x100a89ba", "call ??2@YAPAXI@Z (FUNCTION)", "0x10096c8d"], ["0x100a89bf", "add esp, 4", "0x10096c92"], ["0x100a89c2", "mov dword ptr [ebp - 0x18], eax", "0x10096c95"], ["0x100a89c5", "mov dword ptr [ebp - 4], 1", "0x10096c98"], ["0x100a89cc", "cmp dword ptr [ebp - 0x18], 0", "0x10096c9f"], ["0x100a89d0", "je 0xe", "0x10096ca3"], ["0x100a89d2", "mov eax, dword ptr [ebp + 0xc]", "0x10096ca5"], ["0x100a89d5", "mov ecx, dword ptr [ebp - 0x18]", "0x10096ca8"], ["0x100a89d8", "push eax", "0x10096cab"], ["0x100a89d9", "call LegoLOD::LegoLOD (FUNCTION)", "0x10096cac"]]}, {"orig": [["0x100a89de", "mov ebx, eax"]], "recomp": [["0x10096cb1", "mov esi, eax"]]}, {"both": [["0x100a89e0", "mov eax, dword ptr [ebp + 0x18]", "0x10096cb3"]]}, {"orig": [], "recomp": [["0x10096cb6", "mov ecx, dword ptr [ebp + 0x14]"], ["0x10096cb9", "push eax"]]}, {"both": [["0x100a89e3", "mov edx, dword ptr [ebp + 0xc]", "0x10096cba"], ["0x100a89e6", "mov dword ptr [ebp - 4], 0xffffffff", "0x10096cbd"]]}, {"orig": [["0x100a89ed", "push eax"], ["0x100a89ee", "mov ecx, dword ptr [ebp + 0x14]"]], "recomp": []}, {"both": [["0x100a89f1", "push ecx", "0x10096cc4"], ["0x100a89f2", "push edx", "0x10096cc5"]]}, {"orig": [["0x100a89f3", "mov ecx, ebx"]], "recomp": [["0x10096cc6", "mov ecx, esi"]]}, {"both": [["0x100a89f5", "call LegoLOD::Read (FUNCTION)", "0x10096cc8"], ["0x100a89fa", "test eax, eax", "0x10096ccd"], ["0x100a89fc", "jne 0x27b", "0x10096ccf"]]}, {"orig": [["0x100a8a02", "test esi, esi"]], "recomp": [["0x10096cd5", "test ebx, ebx"]]}, {"both": [["0x100a8a04", "jne 0x2d", "0x10096cd7"], ["0x100a8a06", "cmp dword ptr [ebp - 0x2c], 0", "0x10096cd9"], ["0x100a8a0a", "je 0x9", "0x10096cdd"]]}, {"orig": [["0x100a8a0c", "test byte ptr [ebx + 8], 8"]], "recomp": [["0x10096cdf", "test byte ptr [esi + 8], 8"]]}, {"both": [["0x100a8a10", "je 0x3", "0x10096ce3"], ["0x100a8a12", "inc dword ptr [ebp - 0x24]", "0x10096ce5"]]}, {"orig": [["0x100a8a15", "test esi, esi"]], "recomp": [["0x10096ce8", "test ebx, ebx"]]}, {"both": [["0x100a8a17", "jne 0x1a", "0x10096cea"], ["0x100a8a19", "mov eax, dword ptr [ebp - 0x24]", "0x10096cec"], ["0x100a8a1c", "lea ecx, [ebp - 0x1c]", "0x10096cef"], ["0x100a8a1f", "push eax", "0x10096cf2"], ["0x100a8a20", "push ecx", "0x10096cf3"], ["0x100a8a21", "mov ecx, dword ptr [ebp + 0x10]", "0x10096cf4"], ["0x100a8a24", "call ViewLODListManager::Create (FUNCTION)", "0x10096cf7"], ["0x100a8a29", "mov edi, eax", "0x10096cfc"], ["0x100a8a2b", "test edi, edi", "0x10096cfe"], ["0x100a8a2d", "je 0x24a", "0x10096d00"], ["0x100a8a33", "mov eax, dword ptr [edi + 0xc]", "0x10096d06"], ["0x100a8a36", "mov ecx, dword ptr [edi + 4]", "0x10096d09"]]}, {"orig": [["0x100a8a39", "inc esi"], ["0x100a8a3a", "mov dword ptr [ecx + eax*4], ebx"]], "recomp": [["0x10096d0c", "inc ebx"], ["0x10096d0d", "mov dword ptr [ecx + eax*4], esi"]]}, {"both": [["0x100a8a3d", "inc dword ptr [edi + 0xc]", "0x10096d10"]]}, {"orig": [["0x100a8a40", "cmp dword ptr [ebp - 0x24], esi"]], "recomp": [["0x10096d13", "cmp dword ptr [ebp - 0x24], ebx"]]}, {"both": [["0x100a8a43", "ja -0x96", "0x10096d16"], ["0x100a8a49", "jmp -0x172", "0x10096d1c"], ["0x100a8a4e", "mov eax, dword ptr [ebp - 0x18]", "0x10096d21"], ["0x100a8a51", "push eax", "0x10096d24"], ["0x100a8a52", "call ??3@YAXPAX@Z (FUNCTION)", "0x10096d25"], ["0x100a8a57", "add esp, 4", "0x10096d2a"], ["0x100a8a5a", "ret ", "0x10096d2d"], ["0x100a8a5b", "sbb ecx, ecx", "0x10096d2e"], ["0x100a8a5d", "sbb ecx, -1", "0x10096d30"], ["0x100a8a60", "test ecx, ecx", "0x10096d33"], ["0x100a8a62", "jg 0x6", "0x10096d35"], ["0x100a8a64", "mov edx, eax", "0x10096d37"], ["0x100a8a66", "mov eax, dword ptr [eax]", "0x10096d39"], ["0x100a8a68", "jmp 0x3", "0x10096d3b"], ["0x100a8a6a", "mov eax, dword ptr [eax + 8]", "0x10096d3d"], ["0x100a8a6d", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax", "0x10096d40"], ["0x100a8a73", "jne -0x10e", "0x10096d46"]]}, {"orig": [], "recomp": [["0x10096d4c", "mov eax, dword ptr [ebp + 0x14]"]]}, {"both": [["0x100a8a79", "mov dword ptr [ebp - 0x2c], edx", "0x10096d4f"]]}, {"orig": [["0x100a8a7c", "mov eax, dword ptr [ebp + 0x14]"]], "recomp": []}, {"both": [["0x100a8a7f", "cmp dword ptr [eax + 0xc], edx", "0x10096d52"], ["0x100a8a82", "je 0x2f", "0x10096d55"], ["0x100a8a84", "mov eax, dword ptr [edx + 0xc]", "0x10096d57"], ["0x100a8a87", "mov cl, byte ptr [edi]", "0x10096d5a"], ["0x100a8a89", "cmp cl, byte ptr [eax]", "0x10096d5c"], ["0x100a8a8b", "jne 0x1a", "0x10096d5e"], ["0x100a8a8d", "or cl, cl", "0x10096d60"], ["0x100a8a8f", "je 0x12", "0x10096d62"], ["0x100a8a91", "mov cl, byte ptr [edi + 1]", "0x10096d64"], ["0x100a8a94", "cmp cl, byte ptr [eax + 1]", "0x10096d67"]]}]], ["@@ -0x100a8adf,32 +0x10096db2,32 @@", [{"both": [["0x100a8adf", "push eax", "0x10096db2"], ["0x100a8ae0", "call LegoROI::FUN_100a9210 (FUNCTION)", "0x10096db3"], ["0x100a8ae5", "push 0", "0x10096db8"], ["0x100a8ae7", "push 0x3f800000", "0x10096dba"], ["0x100a8aec", "push 0x3f800000", "0x10096dbf"], ["0x100a8af1", "push 0x3f800000", "0x10096dc4"], ["0x100a8af6", "jmp 0x3f", "0x10096dc9"], ["0x100a8af8", "mov eax, 0x3f800000", "0x10096dcb"], ["0x100a8afd", "xor ecx, ecx", "0x10096dd0"], ["0x100a8aff", "mov dword ptr [ebp - 0x1c], eax", "0x10096dd2"]]}, {"orig": [], "recomp": [["0x10096dd5", "mov dword ptr [ebp - 0x18], ecx"], ["0x10096dd8", "lea edx, [ebp - 0x18]"], ["0x10096ddb", "mov dword ptr [ebp - 0x2c], eax"], ["0x10096dde", "lea eax, [ebp - 0x2c]"]]}, {"both": [["0x100a8b02", "mov dword ptr [ebp - 0x30], ecx", "0x10096de1"]]}, {"orig": [["0x100a8b05", "lea edx, [ebp - 0x18]"], ["0x100a8b08", "mov dword ptr [ebp - 0x18], ecx"]], "recomp": []}, {"both": [["0x100a8b0b", "lea ecx, [ebp - 0x30]", "0x10096de4"]]}, {"orig": [["0x100a8b0e", "mov dword ptr [ebp - 0x2c], eax"]], "recomp": []}, {"both": [["0x100a8b11", "push ecx", "0x10096de7"]]}, {"orig": [["0x100a8b12", "lea eax, [ebp - 0x2c]"]], "recomp": []}, {"both": [["0x100a8b15", "push eax", "0x10096de8"]]}, {"orig": [], "recomp": [["0x10096de9", "push edx"]]}, {"both": [["0x100a8b16", "lea ecx, [ebp - 0x1c]", "0x10096dea"]]}, {"orig": [["0x100a8b19", "push edx"]], "recomp": [["0x10096ded", "push ecx"]]}, {"both": [["0x100a8b1a", "mov eax, dword ptr [ebp - 0x14]", "0x10096dee"]]}, {"orig": [["0x100a8b1d", "push ecx"]], "recomp": []}, {"both": [["0x100a8b1e", "push eax", "0x10096df1"], ["0x100a8b1f", "call LegoROI::FUN_100a9bf0 (FUNCTION)", "0x10096df2"], ["0x100a8b24", "add esp, 0x14", "0x10096df7"], ["0x100a8b27", "mov ecx, dword ptr [ebp - 0x30]", "0x10096dfa"], ["0x100a8b2a", "mov edx, dword ptr [ebp - 0x2c]", "0x10096dfd"], ["0x100a8b2d", "mov eax, dword ptr [ebp - 0x18]", "0x10096e00"], ["0x100a8b30", "push ecx", "0x10096e03"], ["0x100a8b31", "push edx", "0x10096e04"], ["0x100a8b32", "push eax", "0x10096e05"], ["0x100a8b33", "mov ecx, dword ptr [ebp - 0x1c]", "0x10096e06"]]}]], ["@@ -0x100a8be4,64 +0x10096eb7,64 @@", [{"both": [["0x100a8be4", "call LegoROI::LegoROI (FUNCTION)", "0x10096eb7"], ["0x100a8be9", "mov esi, eax", "0x10096ebc"], ["0x100a8beb", "jmp 0xf", "0x10096ebe"], ["0x100a8bed", "mov eax, dword ptr [ebp - 0x14]", "0x10096ec0"], ["0x100a8bf0", "push eax", "0x10096ec3"], ["0x100a8bf1", "call ??3@YAXPAX@Z (FUNCTION)", "0x10096ec4"], ["0x100a8bf6", "add esp, 4", "0x10096ec9"], ["0x100a8bf9", "ret ", "0x10096ecc"], ["0x100a8bfa", "xor esi, esi", "0x10096ecd"], ["0x100a8bfc", "mov eax, dword ptr [ebp + 0x18]", "0x10096ecf"]]}, {"orig": [], "recomp": [["0x10096ed2", "mov ecx, dword ptr [ebp + 0x14]"], ["0x10096ed5", "push eax"]]}, {"both": [["0x100a8bff", "mov edx, dword ptr [ebp + 0x10]", "0x10096ed6"]]}, {"orig": [["0x100a8c02", "mov dword ptr [ebp - 4], 0xffffffff"], ["0x100a8c09", "push eax"], ["0x100a8c0a", "mov ecx, dword ptr [ebp + 0x14]"]], "recomp": []}, {"both": [["0x100a8c0d", "push ecx", "0x10096ed9"], ["0x100a8c0e", "mov eax, dword ptr [ebp + 0xc]", "0x10096eda"], ["0x100a8c11", "push edx", "0x10096edd"], ["0x100a8c12", "mov ecx, dword ptr [ebp - 0x10]", "0x10096ede"]]}, {"orig": [], "recomp": [["0x10096ee1", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x100a8c15", "push eax", "0x10096ee8"], ["0x100a8c16", "push ecx", "0x10096ee9"], ["0x100a8c17", "mov ecx, esi", "0x10096eea"], ["0x100a8c19", "call LegoROI::Read (FUNCTION)", "0x10096eec"], ["0x100a8c1e", "test eax, eax", "0x10096ef1"], ["0x100a8c20", "jne 0x5b", "0x10096ef3"], ["0x100a8c22", "mov ecx, dword ptr [ebp - 0x10]", "0x10096ef5"], ["0x100a8c25", "push 0xc", "0x10096ef8"], ["0x100a8c27", "mov dword ptr [ebp - 0x18], esi", "0x10096efa"], ["0x100a8c2a", "mov esi, dword ptr [ecx + 4]", "0x10096efd"], ["0x100a8c2d", "mov eax, dword ptr [esi + 4]", "0x10096f00"], ["0x100a8c30", "mov dword ptr [ebp - 0x14], eax", "0x10096f03"]]}, {"orig": [["0x100a8c33", "lea ebx, [eax + 4]"], ["0x100a8c36", "mov edi, dword ptr [ebx]"]], "recomp": [["0x10096f06", "lea edi, [eax + 4]"], ["0x10096f09", "mov ebx, dword ptr [edi]"]]}, {"both": [["0x100a8c38", "call ??2@YAPAXI@Z (FUNCTION)", "0x10096f0b"], ["0x100a8c3d", "add esp, 4", "0x10096f10"]]}, {"orig": [["0x100a8c40", "test edi, edi"]], "recomp": [["0x10096f13", "test ebx, ebx"]]}, {"both": [["0x100a8c42", "je 0xa", "0x10096f15"], ["0x100a8c44", "mov ecx, dword ptr [ebp - 0x14]", "0x10096f17"], ["0x100a8c47", "mov dword ptr [eax], ecx", "0x10096f1a"]]}, {"orig": [["0x100a8c49", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x10096f1c", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x100a8c4c", "jmp 0x5", "0x10096f1f"], ["0x100a8c4e", "mov dword ptr [eax], eax", "0x10096f21"], ["0x100a8c50", "mov dword ptr [eax + 4], eax", "0x10096f23"]]}, {"orig": [["0x100a8c53", "mov dword ptr [ebx], eax"]], "recomp": [["0x10096f26", "mov dword ptr [edi], eax"]]}, {"both": [["0x100a8c55", "mov ecx, dword ptr [eax + 4]", "0x10096f28"], ["0x100a8c58", "mov dword ptr [ecx], eax", "0x10096f2b"], ["0x100a8c5a", "add eax, 8", "0x10096f2d"], ["0x100a8c5d", "je 0x5", "0x10096f30"], ["0x100a8c5f", "mov ecx, dword ptr [ebp - 0x18]", "0x10096f32"], ["0x100a8c62", "mov dword ptr [eax], ecx", "0x10096f35"], ["0x100a8c64", "inc dword ptr [esi + 8]", "0x10096f37"], ["0x100a8c67", "inc dword ptr [ebp - 0x20]", "0x10096f3a"], ["0x100a8c6a", "mov eax, dword ptr [ebp - 0x20]", "0x10096f3d"]]}, {"orig": [["0x100a8c6d", "cmp dword ptr [ebp - 0x38], eax"], ["0x100a8c70", "ja -0xb5"]], "recomp": [["0x10096f40", "cmp eax, dword ptr [ebp - 0x38]"], ["0x10096f43", "jb -0xb5"]]}, {"both": [["0x100a8c76", "mov dword ptr [ebp - 0x3c], 0", "0x10096f49"], ["0x100a8c7d", "mov eax, dword ptr [ebp - 0x3c]", "0x10096f50"], ["0x100a8c80", "mov ecx, dword ptr [ebp - 0xc]", "0x10096f53"], ["0x100a8c83", "mov dword ptr fs:[0], ecx", "0x10096f56"], ["0x100a8c8a", "pop edi", "0x10096f5d"], ["0x100a8c8b", "pop esi", "0x10096f5e"], ["0x100a8c8c", "pop ebx", "0x10096f5f"], ["0x100a8c8d", "mov esp, ebp", "0x10096f60"], ["0x100a8c8f", "pop ebp", "0x10096f62"], ["0x100a8c90", "ret 0x14", "0x10096f63"]]}]]]}, {"address": "0x100a8cb0", "recomp": "0x10096f80", "name": "LegoROI::FUN_100a8cb0", "matching": 1.0, "diff": []}, {"address": "0x100a8ce0", "recomp": "0x10096fb0", "name": "LegoROI::FindChildROI", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a8d15,21 +0x10096fe5,21 @@", [{"both": [["0x100a8d15", "pop ebx", "0x10096fe5"], ["0x100a8d16", "add esp, 0xc", "0x10096fe6"], ["0x100a8d19", "ret 8", "0x10096fe9"], ["0x100a8d1c", "mov esi, dword ptr [esp + 0x20]", "0x10096fec"], ["0x100a8d20", "mov edi, dword ptr [edi + 4]", "0x10096ff0"], ["0x100a8d23", "test edi, edi", "0x10096ff3"], ["0x100a8d25", "je 0x57", "0x10096ff5"], ["0x100a8d27", "mov ecx, dword ptr [edi + 4]", "0x10096ff7"], ["0x100a8d2a", "mov eax, dword ptr [ecx]", "0x10096ffa"], ["0x100a8d2c", "mov ebp, eax", "0x10096ffc"]]}, {"orig": [["0x100a8d2e", "cmp eax, ecx"]], "recomp": [["0x10096ffe", "cmp ecx, eax"]]}, {"both": [["0x100a8d30", "je 0x28", "0x10097000"], ["0x100a8d32", "mov ebx, dword ptr [ebp + 8]", "0x10097002"], ["0x100a8d35", "mov eax, dword ptr [ebx + 0xe4]", "0x10097005"], ["0x100a8d3b", "test eax, eax", "0x1009700b"], ["0x100a8d3d", "je 0x13", "0x1009700d"], ["0x100a8d3f", "cmp byte ptr [eax], 0", "0x1009700f"], ["0x100a8d42", "je 0xe", "0x10097012"], ["0x100a8d44", "push esi", "0x10097014"], ["0x100a8d45", "push eax", "0x10097015"], ["0x100a8d46", "call __strcmpi (FUNCTION)", "0x10097016"]]}]]]}, {"address": "0x100a8da0", "recomp": "0x10097070", "name": "LegoROI::FUN_100a8da0", "matching": 0.6707317073170732, "diff": [["@@ -0x100a8da0,82 +0x10097070,82 @@", [{"both": [["0x100a8da0", "sub esp, 0x54", "0x10097070"], ["0x100a8da3", "lea eax, [esp + 0x14]", "0x10097073"], ["0x100a8da7", "push ebx", "0x10097077"]]}, {"orig": [["0x100a8da8", "mov dword ptr [esp + 8], ecx"]], "recomp": [["0x10097078", "mov ebx, dword ptr [esp + 0x5c]"]]}, {"both": [["0x100a8dac", "push esi", "0x1009707c"]]}, {"orig": [["0x100a8dad", "mov dword ptr [esp + 0x18], eax"]], "recomp": [["0x1009707d", "mov dword ptr [esp + 0xc], ecx"]]}, {"both": [["0x100a8db1", "push edi", "0x10097081"]]}, {"orig": [["0x100a8db2", "mov edi, dword ptr [esp + 0x64]"]], "recomp": []}, {"both": [["0x100a8db6", "push ebp", "0x10097082"]]}, {"orig": [], "recomp": [["0x10097083", "mov edx, dword ptr [ebx + 4]"], ["0x10097086", "mov dword ptr [esp + 0x20], eax"], ["0x1009708a", "mov dword ptr [esp + 0x10], edx"]]}, {"both": [["0x100a8db7", "mov dword ptr [esp + 0x1c], MxMatrix::`vftable' (VTABLE)", "0x1009708e"]]}, {"orig": [["0x100a8dbf", "mov edx, dword ptr [edi + 4]"]], "recomp": [["0x10097096", "mov edi, dword ptr [edx + 4]"]]}, {"both": [["0x100a8dc2", "mov eax, dword ptr [esp + 0x74]", "0x10097099"]]}, {"orig": [["0x100a8dc6", "mov dword ptr [esp + 0x10], edx"]], "recomp": []}, {"both": [["0x100a8dca", "push eax", "0x1009709d"]]}, {"orig": [["0x100a8dcb", "mov esi, dword ptr [edx + 4]"], ["0x100a8dce", "push esi"]], "recomp": [["0x1009709e", "push edi"]]}, {"both": [["0x100a8dcf", "call LegoROI::FindChildROI (FUNCTION)", "0x1009709f"]]}, {"orig": [["0x100a8dd4", "mov ebx, eax"], ["0x100a8dd6", "test ebx, ebx"]], "recomp": [["0x100970a4", "mov esi, eax"], ["0x100970a6", "test esi, esi"]]}, {"both": [["0x100a8dd8", "jne 0x11", "0x100970a8"], ["0x100a8dda", "mov eax, dword ptr [esp + 0x14]", "0x100970aa"], ["0x100a8dde", "mov ecx, dword ptr [esp + 0x14]", "0x100970ae"], ["0x100a8de2", "push eax", "0x100970b2"]]}, {"orig": [["0x100a8de3", "push esi"]], "recomp": [["0x100970b3", "push edi"]]}, {"both": [["0x100a8de4", "call LegoROI::FindChildROI (FUNCTION)", "0x100970b4"]]}, {"orig": [["0x100a8de9", "mov ebx, eax"]], "recomp": [["0x100970b9", "mov esi, eax"]]}, {"both": [["0x100a8deb", "xor ebp, ebp", "0x100970bb"]]}, {"orig": [["0x100a8ded", "test ebx, ebx"]], "recomp": [["0x100970bd", "test esi, esi"]]}, {"both": [["0x100a8def", "je 0x74", "0x100970bf"], ["0x100a8df1", "lea eax, [esp + 0x1c]", "0x100970c1"], ["0x100a8df5", "mov ecx, dword ptr [esp + 0x70]", "0x100970c5"], ["0x100a8df9", "mov edx, dword ptr [esp + 0x10]", "0x100970c9"], ["0x100a8dfd", "push eax", "0x100970cd"], ["0x100a8dfe", "push ecx", "0x100970ce"], ["0x100a8dff", "push edx", "0x100970cf"], ["0x100a8e00", "call LegoROI::FUN_100a8cb0 (FUNCTION)", "0x100970d0"], ["0x100a8e05", "mov ecx, dword ptr [esp + 0x78]", "0x100970d5"], ["0x100a8e09", "lea edx, [esp + 0x28]", "0x100970d9"], ["0x100a8e0d", "add esp, 0xc", "0x100970dd"]]}, {"orig": [["0x100a8e10", "mov esi, dword ptr [ebx + 0x10]"]], "recomp": [["0x100970e0", "mov edi, dword ptr [esi + 0x10]"]]}, {"both": [["0x100a8e13", "push ecx", "0x100970e3"], ["0x100a8e14", "push edx", "0x100970e4"]]}, {"orig": [["0x100a8e15", "lea ecx, [ebx + 0x10]"], ["0x100a8e18", "call dword ptr [esi + 0x38]"], ["0x100a8e1b", "mov eax, dword ptr [ebx]"], ["0x100a8e1d", "mov ecx, ebx"]], "recomp": [["0x100970e5", "lea ecx, [esi + 0x10]"], ["0x100970e8", "call dword ptr [edi + 0x38]"], ["0x100970eb", "mov eax, dword ptr [esi]"], ["0x100970ed", "mov ecx, esi"]]}, {"both": [["0x100a8e1f", "call dword ptr [eax + 0x1c]", "0x100970ef"], ["0x100a8e22", "fild dword ptr [esp + 0x70]", "0x100970f2"], ["0x100a8e26", "mov ecx, dword ptr [esp + 0x10]", "0x100970f6"], ["0x100a8e2a", "sub esp, 4", "0x100970fa"], ["0x100a8e2d", "fstp dword ptr [esp]", "0x100970fd"], ["0x100a8e30", "call LegoAnimNodeData::FUN_100a0990 (FUNCTION)", "0x10097100"]]}, {"orig": [["0x100a8e35", "mov byte ptr [ebx + 0xc], al"], ["0x100a8e38", "cmp dword ptr [edi + 8], ebp"]], "recomp": [["0x10097105", "mov byte ptr [esi + 0xc], al"], ["0x10097108", "cmp dword ptr [ebx + 8], ebp"]]}, {"both": [["0x100a8e3b", "jbe 0x36", "0x1009710b"]]}, {"orig": [["0x100a8e3d", "xor esi, esi"]], "recomp": [["0x1009710d", "xor edi, edi"]]}, {"both": [["0x100a8e3f", "mov eax, dword ptr [esp + 0x70]", "0x1009710f"]]}, {"orig": [["0x100a8e43", "push ebx"]], "recomp": [["0x10097113", "push esi"]]}, {"both": [["0x100a8e44", "push eax", "0x10097114"]]}, {"orig": [["0x100a8e45", "lea ecx, [ebx + 0x10]"]], "recomp": [["0x10097115", "lea ecx, [esi + 0x10]"]]}, {"both": [["0x100a8e48", "push ecx", "0x10097118"]]}, {"orig": [["0x100a8e49", "mov edx, dword ptr [edi + 0xc]"]], "recomp": [["0x10097119", "mov edx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100a8e4c", "mov ecx, dword ptr [esp + 0x20]", "0x1009711c"]]}, {"orig": [["0x100a8e50", "add esi, 4"]], "recomp": [["0x10097120", "add edi, 4"]]}, {"both": [["0x100a8e53", "inc ebp", "0x10097123"]]}, {"orig": [["0x100a8e54", "mov eax, dword ptr [edx + esi - 4]"]], "recomp": [["0x10097124", "mov eax, dword ptr [edx + edi - 4]"]]}, {"both": [["0x100a8e58", "push eax", "0x10097128"], ["0x100a8e59", "call LegoROI::FUN_100a8da0 (FUNCTION)", "0x10097129"]]}, {"orig": [["0x100a8e5e", "cmp dword ptr [edi + 8], ebp"]], "recomp": [["0x1009712e", "cmp dword ptr [ebx + 8], ebp"]]}, {"both": [["0x100a8e61", "ja -0x24", "0x10097131"], ["0x100a8e63", "jmp 0xe", "0x10097133"]]}, {"orig": [["0x100a8e65", "push esi"]], "recomp": [["0x10097135", "push edi"]]}, {"both": [["0x100a8e66", "push '%s ROI Not found\\n' (STRING)", "0x10097136"], ["0x100a8e6b", "call LegoROI::FUN_100a81b0 (FUNCTION)", "0x1009713b"], ["0x100a8e70", "add esp, 8", "0x10097140"], ["0x100a8e73", "xor eax, eax", "0x10097143"], ["0x100a8e75", "pop ebp", "0x10097145"], ["0x100a8e76", "pop edi", "0x10097146"], ["0x100a8e77", "pop esi", "0x10097147"], ["0x100a8e78", "pop ebx", "0x10097148"], ["0x100a8e79", "add esp, 0x54", "0x10097149"], ["0x100a8e7c", "ret 0x10", "0x1009714c"]]}]]]}, {"address": "0x100a8e80", "recomp": "0x10097150", "name": "LegoROI::FUN_100a8e80", "matching": 1.0, "diff": []}, {"address": "0x100a8fd0", "recomp": "0x100972a0", "name": "LegoROI::FUN_100a8fd0", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a9077,36 +0x10097347,36 @@", [{"both": [["0x100a9077", "add esp, 0x90", "0x10097347"], ["0x100a907d", "ret ", "0x1009734d"], ["0x100a907e", "lea eax, [esp + 0x18]", "0x1009734e"], ["0x100a9082", "mov ecx, dword ptr [esp + 0xa8]", "0x10097352"], ["0x100a9089", "mov dword ptr [esp + 0x14], eax", "0x10097359"], ["0x100a908d", "mov edx, dword ptr [ecx + 4]", "0x1009735d"], ["0x100a9090", "mov eax, dword ptr [esp + 0x5c]", "0x10097360"], ["0x100a9094", "push edx", "0x10097364"], ["0x100a9095", "lea ecx, [esp + 0x14]", "0x10097365"], ["0x100a9099", "push eax", "0x10097369"]]}, {"orig": [], "recomp": [["0x1009736a", "xor ebx, ebx"]]}, {"both": [["0x100a909a", "xor ebp, ebp", "0x1009736c"]]}, {"orig": [["0x100a909c", "xor ebx, ebx"]], "recomp": []}, {"both": [["0x100a909e", "mov dword ptr [esp + 0x18], MxMatrix::`vftable' (VTABLE)", "0x1009736e"], ["0x100a90a6", "call dword ptr [->Matrix4::Product (FUNCTION)]", "0x10097376"]]}, {"orig": [["0x100a90ac", "cmp dword ptr [esi + 8], ebp"]], "recomp": [["0x1009737c", "cmp dword ptr [esi + 8], ebx"]]}, {"both": [["0x100a90af", "jbe 0x26", "0x1009737f"], ["0x100a90b1", "mov eax, dword ptr [esp + 0xac]", "0x10097381"], ["0x100a90b8", "push edi", "0x10097388"], ["0x100a90b9", "lea ecx, [esp + 0x14]", "0x10097389"], ["0x100a90bd", "push eax", "0x1009738d"], ["0x100a90be", "push ecx", "0x1009738e"], ["0x100a90bf", "mov edx, dword ptr [esi + 0xc]", "0x1009738f"]]}, {"orig": [["0x100a90c2", "mov eax, dword ptr [edx + ebp]"], ["0x100a90c5", "add ebp, 4"], ["0x100a90c8", "inc ebx"]], "recomp": [["0x10097392", "mov eax, dword ptr [edx + ebx]"], ["0x10097395", "add ebx, 4"], ["0x10097398", "inc ebp"]]}, {"both": [["0x100a90c9", "push eax", "0x10097399"], ["0x100a90ca", "call LegoROI::FUN_100a8fd0 (FUNCTION)", "0x1009739a"], ["0x100a90cf", "add esp, 0x10", "0x1009739f"]]}, {"orig": [["0x100a90d2", "cmp dword ptr [esi + 8], ebx"]], "recomp": [["0x100973a2", "cmp dword ptr [esi + 8], ebp"]]}, {"both": [["0x100a90d5", "ja -0x26", "0x100973a5"], ["0x100a90d7", "pop ebp", "0x100973a7"], ["0x100a90d8", "pop edi", "0x100973a8"], ["0x100a90d9", "pop esi", "0x100973a9"], ["0x100a90da", "pop ebx", "0x100973aa"], ["0x100a90db", "add esp, 0x90", "0x100973ab"], ["0x100a90e1", "ret ", "0x100973b1"]]}]]]}, {"address": "0x100a90f0", "recomp": "0x100973c0", "name": "LegoROI::SetFrame", "matching": 1.0, "diff": []}, {"address": "0x100a9170", "recomp": "0x10097440", "name": "LegoROI::FUN_100a9170", "matching": 0.7538461538461538, "diff": [["@@ -0x100a9170,65 +0x10097440,65 @@", [{"both": [["0x100a9170", "sub esp, 8", "0x10097440"], ["0x100a9173", "push ebx", "0x10097443"], ["0x100a9174", "push esi", "0x10097444"]]}, {"orig": [], "recomp": [["0x10097445", "push edi"], ["0x10097446", "xor esi, esi"]]}, {"both": [["0x100a9175", "mov eax, dword ptr [ecx + 8]", "0x10097448"]]}, {"orig": [["0x100a9178", "push edi"]], "recomp": []}, {"both": [["0x100a9179", "push ebp", "0x1009744b"]]}, {"orig": [["0x100a917a", "mov esi, ecx"], ["0x100a917c", "xor edi, edi"], ["0x100a917e", "mov ebx, 0"]], "recomp": [["0x1009744c", "mov edi, ecx"], ["0x1009744e", "mov ebp, 0"]]}, {"both": [["0x100a9183", "test eax, eax", "0x10097453"], ["0x100a9185", "je 0x3", "0x10097455"]]}, {"orig": [["0x100a9187", "mov ebx, dword ptr [eax + 0xc]"], ["0x100a918a", "xor ebp, ebp"], ["0x100a918c", "test ebx, ebx"]], "recomp": [["0x10097457", "mov ebp, dword ptr [eax + 0xc]"], ["0x1009745a", "xor ebx, ebx"], ["0x1009745c", "test ebp, ebp"]]}, {"both": [["0x100a918e", "je 0x30", "0x1009745e"]]}, {"orig": [["0x100a9190", "mov eax, dword ptr [esi + 8]"]], "recomp": [["0x10097460", "mov eax, dword ptr [edi + 8]"]]}, {"both": [["0x100a9193", "mov edx, dword ptr [esp + 0x28]", "0x10097463"], ["0x100a9197", "push edx", "0x10097467"], ["0x100a9198", "mov ecx, dword ptr [eax + 4]", "0x10097468"], ["0x100a919b", "mov eax, dword ptr [esp + 0x28]", "0x1009746b"], ["0x100a919f", "mov edx, dword ptr [esp + 0x24]", "0x1009746f"], ["0x100a91a3", "push eax", "0x10097473"]]}, {"orig": [["0x100a91a4", "mov ecx, dword ptr [ecx + ebp*4]"]], "recomp": [["0x10097474", "mov ecx, dword ptr [ecx + ebx*4]"]]}, {"both": [["0x100a91a7", "mov eax, dword ptr [esp + 0x24]", "0x10097477"], ["0x100a91ab", "push edx", "0x1009747b"], ["0x100a91ac", "push eax", "0x1009747c"], ["0x100a91ad", "call LegoLOD::FUN_100aacb0 (FUNCTION)", "0x1009747d"], ["0x100a91b2", "test eax, eax", "0x10097482"], ["0x100a91b4", "je 0x5", "0x10097484"]]}, {"orig": [["0x100a91b6", "mov edi, 0xffffffff"], ["0x100a91bb", "inc ebp"], ["0x100a91bc", "cmp ebp, ebx"]], "recomp": [["0x10097486", "mov esi, 0xffffffff"], ["0x1009748b", "inc ebx"], ["0x1009748c", "cmp ebx, ebp"]]}, {"both": [["0x100a91be", "jb -0x30", "0x1009748e"]]}, {"orig": [["0x100a91c0", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x10097490", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x100a91c3", "test eax, eax", "0x10097493"], ["0x100a91c5", "je 0x3a", "0x10097495"], ["0x100a91c7", "mov ecx, dword ptr [eax + 4]", "0x10097497"], ["0x100a91ca", "mov eax, dword ptr [ecx]", "0x1009749a"], ["0x100a91cc", "mov ebx, eax", "0x1009749c"], ["0x100a91ce", "cmp eax, ecx", "0x1009749e"], ["0x100a91d0", "je 0x2f", "0x100974a0"], ["0x100a91d2", "mov eax, dword ptr [esp + 0x28]", "0x100974a2"], ["0x100a91d6", "mov ecx, dword ptr [esp + 0x24]", "0x100974a6"], ["0x100a91da", "mov edx, dword ptr [esp + 0x20]", "0x100974aa"], ["0x100a91de", "push eax", "0x100974ae"], ["0x100a91df", "mov eax, dword ptr [esp + 0x20]", "0x100974af"], ["0x100a91e3", "push ecx", "0x100974b3"], ["0x100a91e4", "push edx", "0x100974b4"], ["0x100a91e5", "mov ecx, dword ptr [ebx + 8]", "0x100974b5"], ["0x100a91e8", "push eax", "0x100974b8"], ["0x100a91e9", "call LegoROI::FUN_100a9170 (FUNCTION)", "0x100974b9"], ["0x100a91ee", "test eax, eax", "0x100974be"], ["0x100a91f0", "je 0x5", "0x100974c0"]]}, {"orig": [["0x100a91f2", "mov edi, 0xffffffff"]], "recomp": [["0x100974c2", "mov esi, 0xffffffff"]]}, {"both": [["0x100a91f7", "mov ebx, dword ptr [ebx]", "0x100974c7"]]}, {"orig": [["0x100a91f9", "mov eax, dword ptr [esi + 4]"]], "recomp": [["0x100974c9", "mov eax, dword ptr [edi + 4]"]]}, {"both": [["0x100a91fc", "cmp dword ptr [eax + 4], ebx", "0x100974cc"], ["0x100a91ff", "jne -0x2f", "0x100974cf"]]}, {"orig": [["0x100a9201", "mov eax, edi"]], "recomp": [["0x100974d1", "mov eax, esi"]]}, {"both": [["0x100a9203", "pop ebp", "0x100974d3"], ["0x100a9204", "pop edi", "0x100974d4"], ["0x100a9205", "pop esi", "0x100974d5"], ["0x100a9206", "pop ebx", "0x100974d6"], ["0x100a9207", "add esp, 8", "0x100974d7"], ["0x100a920a", "ret 0x10", "0x100974da"]]}]]]}, {"address": "0x100a9210", "recomp": "0x100974e0", "name": "LegoROI::FUN_100a9210", "matching": 1.0, "effective": true, "diff": [["@@ -0x100a9239,29 +0x10097509,29 @@", [{"both": [["0x100a9239", "je 0x1f", "0x10097509"], ["0x100a923b", "mov eax, dword ptr [esi + 8]", "0x1009750b"], ["0x100a923e", "push ebx", "0x1009750e"], ["0x100a923f", "mov edx, dword ptr [eax + 4]", "0x1009750f"], ["0x100a9242", "mov ecx, dword ptr [edx + ebp*4]", "0x10097512"], ["0x100a9245", "call LegoLOD::FUN_100aad00 (FUNCTION)", "0x10097515"], ["0x100a924a", "test eax, eax", "0x1009751a"], ["0x100a924c", "je 0x5", "0x1009751c"], ["0x100a924e", "mov edi, 0xffffffff", "0x1009751e"], ["0x100a9253", "inc ebp", "0x10097523"]]}, {"orig": [["0x100a9254", "cmp ebp, dword ptr [esp + 0x10]"], ["0x100a9258", "jb -0x1f"]], "recomp": [["0x10097524", "cmp dword ptr [esp + 0x10], ebp"], ["0x10097528", "ja -0x1f"]]}, {"both": [["0x100a925a", "mov eax, dword ptr [esi + 4]", "0x1009752a"], ["0x100a925d", "test eax, eax", "0x1009752d"], ["0x100a925f", "je 0x28", "0x1009752f"], ["0x100a9261", "mov ecx, dword ptr [eax + 4]", "0x10097531"], ["0x100a9264", "mov eax, dword ptr [ecx]", "0x10097534"], ["0x100a9266", "mov ebp, eax", "0x10097536"]]}, {"orig": [["0x100a9268", "cmp ecx, eax"]], "recomp": [["0x10097538", "cmp eax, ecx"]]}, {"both": [["0x100a926a", "je 0x1d", "0x1009753a"], ["0x100a926c", "push ebx", "0x1009753c"], ["0x100a926d", "mov ecx, dword ptr [ebp + 8]", "0x1009753d"], ["0x100a9270", "call LegoROI::FUN_100a9210 (FUNCTION)", "0x10097540"], ["0x100a9275", "test eax, eax", "0x10097545"], ["0x100a9277", "je 0x5", "0x10097547"], ["0x100a9279", "mov edi, 0xffffffff", "0x10097549"], ["0x100a927e", "mov ebp, dword ptr [ebp]", "0x1009754e"], ["0x100a9281", "mov eax, dword ptr [esi + 4]", "0x10097551"], ["0x100a9284", "cmp dword ptr [eax + 4], ebp", "0x10097554"]]}]]]}, {"address": "0x100a92a0", "recomp": "0x10097570", "name": "LegoROI::GetTexture", "matching": 1.0, "diff": []}, {"address": "0x100a9330", "recomp": "0x10097600", "name": "LegoROI::FUN_100a9330", "matching": 1.0, "diff": []}, {"address": "0x100a9350", "recomp": "0x10097620", "name": "LegoROI::FUN_100a9350", "matching": 1.0, "diff": []}, {"address": "0x100a93b0", "recomp": "0x10097680", "name": "LegoROI::FUN_100a93b0", "matching": 1.0, "diff": []}, {"address": "0x100a9410", "recomp": "0x100976e0", "name": "LegoROI::FUN_100a9410", "matching": 0.3350050150451354, "diff": [["@@ -0x100a9410,521 +0x100976e0,476 @@", [{"orig": [["0x100a9410", "push ebp"], ["0x100a9411", "mov ebp, esp"], ["0x100a9413", "sub esp, 0x174"], ["0x100a9419", "cmp byte ptr [ebp + 0x1c], 0"]], "recomp": [["0x100976e0", "sub esp, 0x154"], ["0x100976e6", "cmp byte ptr [esp + 0x16c], 0"]]}, {"both": [["0x100a941d", "push ebx", "0x100976ee"], ["0x100a941e", "push esi", "0x100976ef"], ["0x100a941f", "push edi", "0x100976f0"], ["0x100a9420", "mov esi, ecx", "0x100976f1"]]}, {"orig": [["0x100a9422", "je 0x45e"], ["0x100a9428", "lea eax, [ebp - 0x8c]"], ["0x100a942e", "mov edx, dword ptr [ebp + 0xc]"], ["0x100a9431", "mov dword ptr [ebp - 0x94], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x100976f3", "push ebp"], ["0x100976f4", "je 0x4d5"], ["0x100976fa", "lea eax, [esp + 0xb4]"], ["0x10097701", "mov edx, dword ptr [esp + 0x16c]"], ["0x10097708", "mov dword ptr [esp + 0xac], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a943b", "mov ecx, dword ptr [edx + 4]", "0x10097713"]]}, {"orig": [["0x100a943e", "mov dword ptr [ebp - 0x90], eax"]], "recomp": [["0x10097716", "mov dword ptr [esp + 0xb0], eax"]]}, {"both": [["0x100a9444", "mov edx, eax", "0x1009771d"], ["0x100a9446", "mov eax, dword ptr [ecx]", "0x1009771f"], ["0x100a9448", "mov dword ptr [edx], eax", "0x10097721"]]}, {"orig": [["0x100a944a", "lea eax, [ebp + 0x10]"]], "recomp": [["0x10097723", "lea eax, [esp + 0x170]"]]}, {"both": [["0x100a944d", "mov ebx, dword ptr [ecx + 4]", "0x1009772a"], ["0x100a9450", "push eax", "0x1009772d"], ["0x100a9451", "mov dword ptr [edx + 4], ebx", "0x1009772e"], ["0x100a9454", "mov ecx, dword ptr [ecx + 8]", "0x10097731"], ["0x100a9457", "mov dword ptr [edx + 8], ecx", "0x10097734"]]}, {"orig": [["0x100a945a", "lea ecx, [ebp - 0x94]"], ["0x100a9460", "mov ebx, dword ptr [ebp - 0x94]"]], "recomp": [["0x10097737", "lea ecx, [esp + 0xb0]"], ["0x1009773e", "mov ebx, dword ptr [esp + 0xb0]"]]}, {"both": [["0x100a9466", "call dword ptr [ebx + 0x5c]", "0x10097745"]]}, {"orig": [["0x100a9469", "mov ecx, dword ptr [ebp + 8]"], ["0x100a946c", "mov ebx, dword ptr [ebp - 0x94]"], ["0x100a9472", "push ecx"], ["0x100a9473", "lea ecx, [ebp - 0x94]"]], "recomp": [["0x10097748", "mov edi, dword ptr [esp + 0x168]"], ["0x1009774f", "lea ecx, [esp + 0xac]"], ["0x10097756", "mov ebx, dword ptr [esp + 0xac]"], ["0x1009775d", "push edi"]]}, {"both": [["0x100a9479", "call dword ptr [ebx + 0x48]", "0x1009775e"]]}, {"orig": [["0x100a947c", "lea ecx, [ebp - 0xd4]"], ["0x100a9482", "lea eax, [ebp - 0xbc]"], ["0x100a9488", "lea edx, [ebp - 0xa4]"], ["0x100a948e", "mov dword ptr [ebp - 0xd8], ecx"]], "recomp": [["0x10097761", "lea eax, [esp + 0x24]"]]}, {"both": [["0x100a9494", "mov ecx, Mx4DPointFloat::`vftable' (VTABLE)", "0x10097765"]]}, {"orig": [["0x100a9499", "lea ebx, [ebp - 0x64]"], ["0x100a949c", "mov dword ptr [ebp - 0xdc], ecx"], ["0x100a94a2", "mov dword ptr [ebp - 0xc0], eax"], ["0x100a94a8", "mov dword ptr [ebp - 0xc4], ecx"], ["0x100a94ae", "mov dword ptr [ebp - 0xa8], edx"], ["0x100a94b4", "mov edi, 5"], ["0x100a94b9", "mov dword ptr [ebp - 0xac], ecx"], ["0x100a94bf", "mov dword ptr [ebp - 0x68], ebx"], ["0x100a94c2", "mov dword ptr [ebp - 0x6c], ecx"], ["0x100a94c5", "lea ebx, [ebp - 0x174]"], ["0x100a94cb", "mov ecx, ebx"], ["0x100a94cd", "add ebx, 0x18"]], "recomp": [["0x1009776a", "lea edx, [esp + 0x90]"], ["0x10097771", "mov dword ptr [esp + 0x20], eax"], ["0x10097775", "lea eax, [esp + 0x64]"], ["0x10097779", "lea ebx, [esp + 0x4c]"], ["0x1009777d", "mov dword ptr [esp + 0x1c], ecx"], ["0x10097781", "lea ebp, [esp + 0xd4]"], ["0x10097788", "mov dword ptr [esp + 0x8c], edx"], ["0x1009778f", "mov dword ptr [esp + 0x88], ecx"], ["0x10097796", "mov dword ptr [esp + 0x60], eax"], ["0x1009779a", "mov dword ptr [esp + 0x5c], ecx"], ["0x1009779e", "mov dword ptr [esp + 0x48], ebx"], ["0x100977a2", "mov ebx, 5"], ["0x100977a7", "mov dword ptr [esp + 0x44], ecx"], ["0x100977ab", "mov ecx, ebp"], ["0x100977ad", "add ebp, 0x18"]]}, {"both": [["0x100a94d0", "call Mx4DPointFloat::Mx4DPointFloat (FUNCTION)", "0x100977b0"]]}, {"orig": [["0x100a94d5", "dec edi"]], "recomp": [["0x100977b5", "dec ebx"]]}, {"both": [["0x100a94d6", "jns -0xd", "0x100977b6"]]}, {"orig": [["0x100a94d8", "mov eax, dword ptr [ebp - 0xd8]"]], "recomp": [["0x100977b8", "mov eax, dword ptr [esp + 0x20]"]]}, {"both": [["0x100a94de", "mov ecx, Vector3::`vftable' (VTABLE)", "0x100977bc"]]}, {"orig": [["0x100a94e3", "mov edx, dword ptr [ebp - 0xc0]"], ["0x100a94e9", "mov dword ptr [ebp - 0x28], eax"], ["0x100a94ec", "mov eax, dword ptr [ebp - 0xa8]"], ["0x100a94f2", "mov dword ptr [ebp - 0x2c], ecx"], ["0x100a94f5", "mov dword ptr [ebp - 0x20], edx"], ["0x100a94f8", "mov dword ptr [ebp - 0x24], ecx"], ["0x100a94fb", "mov edx, dword ptr [ebp + 8]"], ["0x100a94fe", "mov dword ptr [ebp - 0x14], eax"], ["0x100a9501", "mov dword ptr [ebp - 0x80], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x100a9508", "mov dword ptr [ebp - 0x18], ecx"], ["0x100a950b", "lea ecx, [ebp - 0x78]"], ["0x100a950e", "mov dword ptr [ebp - 0x7c], ecx"], ["0x100a9511", "mov ecx, dword ptr [edx + 4]"], ["0x100a9514", "lea edx, [ebp - 0x78]"]], "recomp": [["0x100977c1", "mov dword ptr [esp + 0x38], eax"], ["0x100977c5", "mov dword ptr [esp + 0x34], ecx"], ["0x100977c9", "mov edx, dword ptr [esp + 0x8c]"], ["0x100977d0", "mov dword ptr [esp + 0x3c], ecx"], ["0x100977d4", "mov dword ptr [esp + 0x40], edx"], ["0x100977d8", "mov dword ptr [esp + 0x10], ecx"], ["0x100977dc", "mov eax, dword ptr [esp + 0x60]"], ["0x100977e0", "lea ecx, [esp + 0xc8]"], ["0x100977e7", "lea edx, [esp + 0xc8]"], ["0x100977ee", "mov dword ptr [esp + 0x14], eax"], ["0x100977f2", "mov dword ptr [esp + 0xc4], ecx"], ["0x100977f9", "mov ecx, dword ptr [edi + 4]"], ["0x100977fc", "mov dword ptr [esp + 0xc0], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a9517", "mov eax, dword ptr [ecx]", "0x10097807"], ["0x100a9519", "mov dword ptr [edx], eax", "0x10097809"], ["0x100a951b", "mov ebx, dword ptr [ecx + 4]", "0x1009780b"], ["0x100a951e", "mov dword ptr [edx + 4], ebx", "0x1009780e"], ["0x100a9521", "mov ecx, dword ptr [ecx + 8]", "0x10097811"], ["0x100a9524", "mov dword ptr [edx + 8], ecx", "0x10097814"]]}, {"orig": [["0x100a9527", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x10097817", "lea ecx, [esp + 0x34]"]]}, {"both": [["0x100a952a", "mov eax, dword ptr [esi + 0x84]", "0x1009781b"]]}, {"orig": [["0x100a9530", "mov ebx, dword ptr [ebp - 0x2c]"]], "recomp": [["0x10097821", "mov ebx, dword ptr [esp + 0x34]"]]}, {"both": [["0x100a9533", "push eax", "0x10097825"], ["0x100a9534", "call dword ptr [ebx + 0x20]", "0x10097826"], ["0x100a9537", "mov ecx, dword ptr [esi + 0x98]", "0x10097829"]]}, {"orig": [["0x100a953d", "mov eax, dword ptr [ebp - 0x24]"]], "recomp": [["0x1009782f", "mov eax, dword ptr [esp + 0x3c]"]]}, {"both": [["0x100a9540", "push ecx", "0x10097833"]]}, {"orig": [["0x100a9541", "lea ecx, [ebp - 0x24]"]], "recomp": [["0x10097834", "lea ecx, [esp + 0x40]"]]}, {"both": [["0x100a9544", "call dword ptr [eax + 0x20]", "0x10097838"]]}, {"orig": [["0x100a9547", "mov edi, dword ptr [ebp - 0xa8]"]], "recomp": [["0x1009783b", "mov edi, dword ptr [esp + 0x60]"]]}, {"both": [["0x100a954d", "mov eax, 0x3f800000", "0x1009783f"]]}, {"orig": [["0x100a9552", "mov ecx, dword ptr [ebp - 0xd8]"], ["0x100a9558", "mov edx, dword ptr [ebp - 0xc0]"]], "recomp": [["0x10097844", "mov ecx, dword ptr [esp + 0x20]"], ["0x10097848", "mov edx, dword ptr [esp + 0x8c]"]]}, {"both": [["0x100a955e", "mov dword ptr [edi + 0xc], eax", "0x1009784f"], ["0x100a9561", "mov dword ptr [edx + 0xc], eax", "0x10097852"], ["0x100a9564", "mov dword ptr [ecx + 0xc], eax", "0x10097855"]]}, {"orig": [["0x100a9567", "mov ecx, dword ptr [ebp - 0x28]"]], "recomp": [["0x10097858", "mov ecx, dword ptr [esp + 0x38]"], ["0x1009785c", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x100a956a", "push ecx", "0x10097860"]]}, {"orig": [["0x100a956b", "mov ebx, dword ptr [ebp - 0x18]"], ["0x100a956e", "lea ecx, [ebp - 0x18]"]], "recomp": [["0x10097861", "lea ecx, [esp + 0x14]"]]}, {"both": [["0x100a9571", "call dword ptr [ebx + 0x20]", "0x10097865"]]}, {"orig": [["0x100a9574", "lea ecx, [ebp - 0x24]"], ["0x100a9577", "mov ebx, dword ptr [ebp - 0x18]"]], "recomp": [["0x10097868", "lea ecx, [esp + 0x3c]"], ["0x1009786c", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x100a957a", "push ecx", "0x10097870"]]}, {"orig": [["0x100a957b", "lea ecx, [ebp - 0x18]"]], "recomp": [["0x10097871", "lea ecx, [esp + 0x14]"]]}, {"both": [["0x100a957e", "call dword ptr [ebx + 0x48]", "0x10097875"]]}, {"orig": [["0x100a9581", "mov dword ptr [ebp - 4], 0x3f000000"], ["0x100a9588", "lea ecx, [ebp - 4]"], ["0x100a958b", "mov ebx, dword ptr [ebp - 0x18]"]], "recomp": [["0x10097878", "lea ecx, [esp + 0xd4]"], ["0x1009787f", "mov ebx, dword ptr [esp + 0x10]"], ["0x10097883", "mov dword ptr [esp + 0xd4], 0x3f000000"]]}, {"both": [["0x100a958e", "push ecx", "0x1009788e"]]}, {"orig": [["0x100a958f", "lea ecx, [ebp - 0x18]"]], "recomp": [["0x1009788f", "lea ecx, [esp + 0x14]"]]}, {"both": [["0x100a9592", "call dword ptr [ebx + 0x5c]", "0x10097893"]]}, {"orig": [["0x100a9595", "mov ecx, dword ptr [ebp - 0xd8]"], ["0x100a959b", "mov eax, dword ptr [ebp - 0x6c]"]], "recomp": [["0x10097896", "mov ecx, dword ptr [esp + 0x20]"], ["0x1009789a", "mov eax, dword ptr [esp + 0x44]"]]}, {"both": [["0x100a959e", "push ecx", "0x1009789e"]]}, {"orig": [["0x100a959f", "lea ecx, [ebp - 0x6c]"]], "recomp": [["0x1009789f", "lea ecx, [esp + 0x48]"]]}, {"both": [["0x100a95a2", "call dword ptr [eax + 0x20]", "0x100978a3"]]}, {"orig": [["0x100a95a5", "lea edx, [ebp - 0xd4]"], ["0x100a95ab", "lea ecx, [ebp - 0x64]"], ["0x100a95ae", "mov eax, dword ptr [edx]"], ["0x100a95b0", "mov ebx, dword ptr [edx + 4]"], ["0x100a95b3", "mov edi, dword ptr [edx + 8]"], ["0x100a95b6", "mov dword ptr [ecx], eax"], ["0x100a95b8", "mov eax, dword ptr [edx + 0xc]"], ["0x100a95bb", "mov dword ptr [ecx + 4], ebx"], ["0x100a95be", "mov dword ptr [ecx + 8], edi"]], "recomp": [["0x100978a6", "lea ecx, [esp + 0x24]"], ["0x100978aa", "lea edx, [esp + 0x4c]"], ["0x100978ae", "mov eax, dword ptr [ecx]"], ["0x100978b0", "mov dword ptr [edx], eax"]]}, {"both": [["0x100a95c1", "lea edi, [esi + 0x10]", "0x100978b2"]]}, {"orig": [["0x100a95c4", "mov dword ptr [ecx + 0xc], eax"]], "recomp": [["0x100978b5", "mov ebx, dword ptr [ecx + 4]"], ["0x100978b8", "mov dword ptr [edx + 4], ebx"], ["0x100978bb", "mov ebp, dword ptr [ecx + 8]"], ["0x100978be", "mov dword ptr [edx + 8], ebp"], ["0x100978c1", "mov eax, dword ptr [ecx + 0xc]"], ["0x100978c4", "mov ecx, edi"], ["0x100978c6", "mov dword ptr [edx + 0xc], eax"]]}, {"both": [["0x100a95c7", "mov eax, dword ptr [edi]", "0x100978c9"]]}, {"orig": [["0x100a95c9", "mov ecx, edi"]], "recomp": []}, {"both": [["0x100a95cb", "mov ebx, dword ptr [eax + 0x14]", "0x100978cb"], ["0x100a95ce", "call ebx", "0x100978ce"]]}, {"orig": [], "recomp": [["0x100978d0", "mov ecx, dword ptr [esp + 0x48]"]]}, {"both": [["0x100a95d0", "push eax", "0x100978d4"]]}, {"orig": [["0x100a95d1", "mov ecx, dword ptr [ebp - 0x68]"]], "recomp": [["0x100978d5", "mov eax, dword ptr [esp + 0x20]"]]}, {"both": [["0x100a95d4", "push ecx", "0x100978d9"]]}, {"orig": [["0x100a95d5", "mov eax, dword ptr [ebp - 0xdc]"], ["0x100a95db", "lea ecx, [ebp - 0xdc]"]], "recomp": [["0x100978da", "lea ecx, [esp + 0x24]"]]}, {"both": [["0x100a95e1", "call dword ptr [eax + 0x8c]", "0x100978de"]]}, {"orig": [["0x100a95e7", "lea ecx, [ebp - 0xc4]"]], "recomp": [["0x100978e4", "lea ecx, [esp + 0x88]"]]}, {"both": [["0x100a95ed", "push ecx", "0x100978eb"]]}, {"orig": [["0x100a95ee", "lea ecx, [ebp - 0x6c]"]], "recomp": [["0x100978ec", "lea ecx, [esp + 0x48]"]]}, {"both": [["0x100a95f1", "call Vector3::operator= (FUNCTION)", "0x100978f0"]]}, {"orig": [["0x100a95f6", "lea eax, [ebp - 0xbc]"], ["0x100a95fc", "lea ecx, [ebp - 0x64]"], ["0x100a95ff", "mov edx, dword ptr [eax]"], ["0x100a9601", "mov dword ptr [ecx], edx"], ["0x100a9603", "mov edx, dword ptr [eax + 4]"], ["0x100a9606", "mov dword ptr [ecx + 4], edx"], ["0x100a9609", "mov edx, dword ptr [eax + 8]"], ["0x100a960c", "mov eax, dword ptr [eax + 0xc]"], ["0x100a960f", "mov dword ptr [ecx + 8], edx"], ["0x100a9612", "mov dword ptr [ecx + 0xc], eax"]], "recomp": [["0x100978f5", "lea edx, [esp + 0x90]"], ["0x100978fc", "lea ecx, [esp + 0x4c]"], ["0x10097900", "mov eax, dword ptr [edx]"], ["0x10097902", "mov dword ptr [ecx], eax"], ["0x10097904", "mov ebp, dword ptr [edx + 4]"], ["0x10097907", "mov dword ptr [ecx + 4], ebp"], ["0x1009790a", "mov eax, dword ptr [edx + 8]"], ["0x1009790d", "mov dword ptr [ecx + 8], eax"], ["0x10097910", "mov edx, dword ptr [edx + 0xc]"], ["0x10097913", "mov dword ptr [ecx + 0xc], edx"], ["0x10097916", "mov ecx, edi"], ["0x10097918", "call ebx"], ["0x1009791a", "lea ecx, [esp + 0x88]"], ["0x10097921", "push eax"], ["0x10097922", "mov eax, dword ptr [esp + 0x4c]"], ["0x10097926", "mov ebp, dword ptr [esp + 0x8c]"], ["0x1009792d", "push eax"], ["0x1009792e", "call dword ptr [ebp + 0x8c]"], ["0x10097934", "lea ecx, [esp + 0x5c]"], ["0x10097938", "push ecx"], ["0x10097939", "lea ecx, [esp + 0x48]"], ["0x1009793d", "call Vector4::operator= (FUNCTION)"], ["0x10097942", "lea edx, [esp + 0x64]"], ["0x10097946", "lea ecx, [esp + 0x4c]"], ["0x1009794a", "mov eax, dword ptr [edx]"], ["0x1009794c", "mov dword ptr [ecx], eax"], ["0x1009794e", "mov ebp, dword ptr [edx + 4]"], ["0x10097951", "mov dword ptr [ecx + 4], ebp"], ["0x10097954", "mov eax, dword ptr [edx + 8]"], ["0x10097957", "mov dword ptr [ecx + 8], eax"], ["0x1009795a", "mov edx, dword ptr [edx + 0xc]"], ["0x1009795d", "mov dword ptr [ecx + 0xc], edx"]]}, {"both": [["0x100a9615", "mov ecx, edi", "0x10097960"], ["0x100a9617", "call ebx", "0x10097962"], ["0x100a9619", "push eax", "0x10097964"]]}, {"orig": [["0x100a961a", "lea ecx, [ebp - 0xc4]"], ["0x100a9620", "mov eax, dword ptr [ebp - 0x68]"]], "recomp": [["0x10097965", "mov eax, dword ptr [esp + 0x4c]"]]}, {"both": [["0x100a9623", "push eax", "0x10097969"]]}, {"orig": [["0x100a9624", "mov eax, dword ptr [ebp - 0xc4]"], ["0x100a962a", "call dword ptr [eax + 0x8c]"], ["0x100a9630", "lea ecx, [ebp - 0xac]"], ["0x100a9636", "push ecx"], ["0x100a9637", "lea ecx, [ebp - 0x6c]"], ["0x100a963a", "call <OFFSET6>"], ["0x100a963f", "lea eax, [ebp - 0xa4]"], ["0x100a9645", "lea ecx, [ebp - 0x64]"], ["0x100a9648", "mov edx, dword ptr [eax]"], ["0x100a964a", "mov dword ptr [ecx], edx"], ["0x100a964c", "mov edx, dword ptr [eax + 4]"], ["0x100a964f", "mov dword ptr [ecx + 4], edx"], ["0x100a9652", "mov edx, dword ptr [eax + 8]"], ["0x100a9655", "mov eax, dword ptr [eax + 0xc]"], ["0x100a9658", "mov dword ptr [ecx + 8], edx"], ["0x100a965b", "mov dword ptr [ecx + 0xc], eax"], ["0x100a965e", "mov ecx, edi"], ["0x100a9660", "call ebx"], ["0x100a9662", "push eax"], ["0x100a9663", "mov eax, dword ptr [ebp - 0x68]"], ["0x100a9666", "push eax"], ["0x100a9667", "lea ecx, [ebp - 0xac]"], ["0x100a966d", "mov ebx, dword ptr [ebp - 0xac]"]], "recomp": [["0x1009796a", "lea ecx, [esp + 0x64]"], ["0x1009796e", "mov ebx, dword ptr [esp + 0x64]"]]}, {"both": [["0x100a9673", "call dword ptr [ebx + 0x8c]", "0x10097972"], ["0x100a9679", "mov eax, dword ptr [esi + 0x14]", "0x10097978"]]}, {"orig": [["0x100a967c", "mov edi, dword ptr [ebp + 0x18]"]], "recomp": [["0x1009797b", "mov ebx, dword ptr [esp + 0x178]"]]}, {"both": [["0x100a967f", "add eax, 0x30", "0x10097982"]]}, {"orig": [["0x100a9682", "mov ecx, edi"]], "recomp": [["0x10097985", "mov ecx, ebx"]]}, {"both": [["0x100a9684", "push eax", "0x10097987"]]}, {"orig": [["0x100a9685", "mov ebx, dword ptr [edi]"], ["0x100a9687", "lea edi, [ebp - 0x170]"], ["0x100a968d", "call dword ptr [ebx + 0x20]"], ["0x100a9690", "xor ebx, ebx"], ["0x100a9692", "lea eax, [ebp - 0xe0]"], ["0x100a9698", "cmp edi, eax"], ["0x100a969a", "jae 0x96"]], "recomp": [["0x10097988", "mov ebp, dword ptr [ebx]"], ["0x1009798a", "xor edi, edi"], ["0x1009798c", "call dword ptr [ebp + 0x20]"], ["0x1009798f", "lea ebx, [esp + 0xd8]"], ["0x10097996", "lea eax, [esp + 0x168]"], ["0x1009799d", "cmp ebx, eax"], ["0x1009799f", "jae 0xa9"]]}, {"both": [["0x100a96a0", "mov ecx, 3", "0x100979a5"]]}, {"orig": [["0x100a96a5", "mov eax, ebx"]], "recomp": [["0x100979aa", "mov eax, edi"]]}, {"both": [["0x100a96a7", "cdq ", "0x100979ac"], ["0x100a96a8", "idiv ecx", "0x100979ad"], ["0x100a96aa", "shl edx, 4", "0x100979af"]]}, {"orig": [["0x100a96ad", "lea eax, [ebp - 0x10]"]], "recomp": [["0x100979b2", "lea eax, [esp + 0x74]"]]}, {"both": [["0x100a96b0", "add edx, dword ptr [esi + 0x14]", "0x100979b6"], ["0x100a96b3", "push eax", "0x100979b9"]]}, {"orig": [["0x100a96b4", "lea ecx, [edi - 4]"], ["0x100a96b7", "mov dword ptr [ebp - 0xc], edx"], ["0x100a96ba", "mov edx, dword ptr [edi - 4]"], ["0x100a96bd", "mov dword ptr [ebp - 0x10], Vector4::`vftable' (VTABLE)"], ["0x100a96c4", "call dword ptr [edx + 0x98]"], ["0x100a96ca", "lea ecx, [ebp - 0x140]"], ["0x100a96d0", "mov eax, dword ptr [edi]"]], "recomp": [["0x100979ba", "lea ecx, [ebx - 4]"], ["0x100979bd", "mov dword ptr [esp + 0x7c], edx"], ["0x100979c1", "mov dword ptr [esp + 0x78], Vector4::`vftable' (VTABLE)"], ["0x100979c9", "mov ebp, dword ptr [ebx - 4]"], ["0x100979cc", "call dword ptr [ebp + 0x98]"], ["0x100979d2", "lea eax, [esp + 0x108]"], ["0x100979d9", "mov ebp, dword ptr [ebx]"], ["0x100979db", "push ebp"], ["0x100979dc", "cmp ebx, eax"], ["0x100979de", "jbe 0xf"], ["0x100979e0", "mov eax, dword ptr [esp + 0x3c]"], ["0x100979e4", "lea ecx, [esp + 0x38]"]]}, {"both": [["0x100a96d2", "push eax", "0x100979e8"]]}, {"orig": [["0x100a96d3", "cmp edi, ecx"], ["0x100a96d5", "jbe 0xc"], ["0x100a96d7", "mov ecx, dword ptr [ebp - 0x28]"], ["0x100a96da", "mov eax, dword ptr [ebp - 0x2c]"], ["0x100a96dd", "push ecx"], ["0x100a96de", "lea ecx, [ebp - 0x2c]"], ["0x100a96e1", "jmp 0xa"], ["0x100a96e3", "mov ecx, dword ptr [ebp - 0x20]"], ["0x100a96e6", "mov eax, dword ptr [ebp - 0x24]"], ["0x100a96e9", "push ecx"], ["0x100a96ea", "lea ecx, [ebp - 0x24]"]], "recomp": [["0x100979e9", "mov eax, dword ptr [esp + 0x3c]"], ["0x100979ed", "jmp 0xd"], ["0x100979ef", "mov eax, dword ptr [esp + 0x44]"], ["0x100979f3", "lea ecx, [esp + 0x40]"], ["0x100979f7", "push eax"], ["0x100979f8", "mov eax, dword ptr [esp + 0x44]"]]}, {"both": [["0x100a96ed", "call dword ptr [eax + 0x18]", "0x100979fc"], ["0x100a96f0", "fchs ", "0x100979ff"]]}, {"orig": [["0x100a96f2", "mov ecx, dword ptr [edi]"], ["0x100a96f4", "mov eax, dword ptr [edi]"]], "recomp": [["0x10097a01", "fstp dword ptr [ebp + 0xc]"], ["0x10097a04", "mov ebp, dword ptr [ebx]"], ["0x10097a06", "mov eax, dword ptr [esp + 0x14]"], ["0x10097a0a", "lea ecx, [esp + 0x10]"], ["0x10097a0e", "push ebp"]]}, {"both": [["0x100a96f6", "push eax", "0x10097a0f"]]}, {"orig": [["0x100a96f7", "fstp dword ptr [ecx + 0xc]"], ["0x100a96fa", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100a96fd", "mov eax, dword ptr [ebp - 0x18]"], ["0x100a9700", "push ecx"], ["0x100a9701", "lea ecx, [ebp - 0x18]"]], "recomp": [["0x10097a10", "mov eax, dword ptr [esp + 0x18]"]]}, {"both": [["0x100a9704", "call dword ptr [eax + 0x18]", "0x10097a14"]]}, {"orig": [["0x100a9707", "mov ecx, dword ptr [edi]"], ["0x100a9709", "fadd dword ptr [ecx + 0xc]"]], "recomp": [["0x10097a17", "fadd dword ptr [ebp + 0xc]"]]}, {"both": [["0x100a970c", "fcomp dword ptr [0.0 (FLOAT)]", "0x10097a1a"], ["0x100a9712", "fnstsw ax", "0x10097a20"], ["0x100a9714", "test ah, 1", "0x10097a22"]]}, {"orig": [["0x100a9717", "je 0x14"], ["0x100a9719", "lea eax, [ebp - 4]"], ["0x100a971c", "mov edx, dword ptr [edi - 4]"]], "recomp": [["0x10097a25", "je 0x1e"], ["0x10097a27", "lea eax, [esp + 0xa0]"], ["0x10097a2e", "lea ebp, [ebx - 4]"]]}, {"both": [["0x100a971f", "push eax", "0x10097a31"]]}, {"orig": [["0x100a9720", "lea ecx, [edi - 4]"], ["0x100a9723", "mov dword ptr [ebp - 4], 0xbf800000"]], "recomp": [["0x10097a32", "mov ecx, ebp"], ["0x10097a34", "mov edx, dword ptr [ebx - 4]"], ["0x10097a37", "mov dword ptr [esp + 0xa4], 0xbf800000"]]}, {"both": [["0x100a972a", "call dword ptr [edx + 0x5c]", "0x10097a42"]]}, {"orig": [["0x100a972d", "add edi, 0x18"], ["0x100a9730", "inc ebx"], ["0x100a9731", "jmp -0xa4"]], "recomp": [["0x10097a45", "add ebx, 0x18"], ["0x10097a48", "inc edi"], ["0x10097a49", "jmp -0xb8"], ["0x10097a4e", "mov eax, dword ptr [esp + 0x16c]"]]}, {"both": [["0x100a9736", "xor esi, esi", "0x10097a55"]]}, {"orig": [["0x100a9738", "lea eax, [ebp - 0x170]"], ["0x100a973e", "mov ecx, dword ptr [ebp + 0xc]"], ["0x100a9741", "mov dword ptr [ebp - 4], eax"], ["0x100a9744", "mov edx, dword ptr [ecx]"], ["0x100a9746", "mov eax, dword ptr [edx + 0x38]"], ["0x100a9749", "mov dword ptr [ebp - 0xc], eax"], ["0x100a974c", "mov eax, dword ptr [ebp - 4]"], ["0x100a974f", "mov ecx, dword ptr [ebp + 0xc]"], ["0x100a9752", "sub eax, 4"]], "recomp": [["0x10097a57", "lea edi, [esp + 0xd8]"], ["0x10097a5e", "mov ecx, dword ptr [eax]"], ["0x10097a60", "mov edx, dword ptr [ecx + 0x38]"], ["0x10097a63", "mov dword ptr [esp + 0xa8], edx"], ["0x10097a6a", "lea eax, [edi - 4]"], ["0x10097a6d", "mov ecx, dword ptr [esp + 0x16c]"]]}, {"both": [["0x100a9755", "push eax", "0x10097a74"], ["0x100a9756", "push ecx", "0x10097a75"]]}, {"orig": [["0x100a9757", "call dword ptr [ebp - 0xc]"], ["0x100a975a", "fst dword ptr [ebp - 8]"]], "recomp": [["0x10097a76", "call dword ptr [esp + 0xb0]"], ["0x10097a7d", "fst dword ptr [esp + 0x18]"]]}, {"both": [["0x100a975d", "fcom qword ptr [0.01 (FLOAT)]", "0x10097a81"]]}, {"orig": [["0x100a9763", "fstp qword ptr [ebp - 0xe4]"]], "recomp": [["0x10097a87", "fstp qword ptr [esp + 0xa0]"]]}, {"both": [["0x100a9769", "fnstsw ax", "0x10097a8e"], ["0x100a976b", "test ah, 1", "0x10097a90"]]}, {"orig": [["0x100a976e", "je 0x17"], ["0x100a9770", "fld qword ptr [ebp - 0xe4]"]], "recomp": [["0x10097a93", "je 0x18"], ["0x10097a95", "fld qword ptr [esp + 0xa0]"]]}, {"both": [["0x100a9776", "fcomp qword ptr [-0.01 (FLOAT)]", "0x10097a9c"], ["0x100a977c", "fnstsw ax", "0x10097aa2"], ["0x100a977e", "test ah, 1", "0x10097aa4"]]}, {"orig": [["0x100a9781", "je 0xd2"], ["0x100a9787", "mov eax, dword ptr [ebp - 4]"], ["0x100a978a", "mov ecx, dword ptr [ebp - 0x7c]"], ["0x100a978d", "mov edi, dword ptr [eax]"], ["0x100a978f", "mov eax, dword ptr [ebp - 0x80]"], ["0x100a9792", "push edi"], ["0x100a9793", "push ecx"], ["0x100a9794", "lea ecx, [ebp - 0x80]"], ["0x100a9797", "call dword ptr [eax + 0x18]"], ["0x100a979a", "fadd dword ptr [edi + 0xc]"], ["0x100a979d", "fdiv dword ptr [ebp - 8]"]], "recomp": [["0x10097aa7", "je 0xf9"], ["0x10097aad", "mov ebx, dword ptr [edi]"], ["0x10097aaf", "mov eax, dword ptr [esp + 0xc4]"], ["0x10097ab6", "lea ecx, [esp + 0xc0]"], ["0x10097abd", "push ebx"], ["0x10097abe", "mov ebp, dword ptr [esp + 0xc4]"], ["0x10097ac5", "push eax"], ["0x10097ac6", "call dword ptr [ebp + 0x18]"], ["0x10097ac9", "fadd dword ptr [ebx + 0xc]"], ["0x10097acc", "fdiv dword ptr [esp + 0x18]"]]}, {"both": [["0x100a97a0", "fchs ", "0x10097ad0"], ["0x100a97a2", "fcom dword ptr [0.0 (FLOAT)]", "0x10097ad2"]]}, {"orig": [["0x100a97a8", "fstp dword ptr [ebp - 8]"]], "recomp": [["0x10097ad8", "fstp dword ptr [esp + 0x18]"]]}, {"both": [["0x100a97ab", "fnstsw ax", "0x10097adc"], ["0x100a97ad", "test ah, 1", "0x10097ade"]]}, {"orig": [["0x100a97b0", "jne 0xa3"], ["0x100a97b6", "fld dword ptr [ebp - 8]"], ["0x100a97b9", "fcomp dword ptr [ebp + 0x10]"]], "recomp": [["0x10097ae1", "jne 0xbf"], ["0x10097ae7", "fld dword ptr [esp + 0x170]"], ["0x10097aee", "fcomp dword ptr [esp + 0x18]"]]}, {"both": [["0x100a97bc", "fnstsw ax", "0x10097af2"]]}, {"orig": [["0x100a97be", "test ah, 0x41"], ["0x100a97c1", "je 0x92"], ["0x100a97c7", "lea eax, [ebp - 0x4c]"], ["0x100a97ca", "mov edx, dword ptr [ebp + 0xc]"], ["0x100a97cd", "mov dword ptr [ebp - 0x54], Mx3DPointFloat::`vftable' (VTABLE)"]], "recomp": [["0x10097af4", "test ah, 1"], ["0x10097af7", "jne 0xa9"], ["0x10097afd", "lea eax, [esp + 0x7c]"], ["0x10097b01", "mov edx, dword ptr [esp + 0x16c]"], ["0x10097b08", "mov dword ptr [esp + 0x78], eax"]]}, {"both": [["0x100a97d4", "mov ecx, dword ptr [edx + 4]", "0x10097b0c"]]}, {"orig": [["0x100a97d7", "mov dword ptr [ebp - 0x50], eax"]], "recomp": [["0x10097b0f", "mov dword ptr [esp + 0x74], Mx3DPointFloat::`vftable' (VTABLE)"]]}, {"both": [["0x100a97da", "mov edx, eax", "0x10097b17"], ["0x100a97dc", "mov eax, dword ptr [ecx]", "0x10097b19"], ["0x100a97de", "mov dword ptr [edx], eax", "0x10097b1b"]]}, {"orig": [["0x100a97e0", "lea eax, [ebp - 8]"]], "recomp": [["0x10097b1d", "lea eax, [esp + 0x18]"]]}, {"both": [["0x100a97e3", "mov ebx, dword ptr [ecx + 4]", "0x10097b21"], ["0x100a97e6", "push eax", "0x10097b24"], ["0x100a97e7", "mov dword ptr [edx + 4], ebx", "0x10097b25"], ["0x100a97ea", "mov ecx, dword ptr [ecx + 8]", "0x10097b28"], ["0x100a97ed", "mov dword ptr [edx + 8], ecx", "0x10097b2b"]]}, {"orig": [["0x100a97f0", "lea ecx, [ebp - 0x54]"], ["0x100a97f3", "mov ebx, dword ptr [ebp - 0x54]"], ["0x100a97f6", "xor edi, edi"]], "recomp": [["0x10097b2e", "lea ecx, [esp + 0x78]"], ["0x10097b32", "mov ebx, dword ptr [esp + 0x78]"]]}, {"both": [["0x100a97f8", "call dword ptr [ebx + 0x5c]", "0x10097b36"]]}, {"orig": [["0x100a97fb", "lea ecx, [ebp - 0x80]"], ["0x100a97fe", "mov ebx, dword ptr [ebp - 0x54]"]], "recomp": [["0x10097b39", "lea ecx, [esp + 0xc0]"], ["0x10097b40", "mov ebx, dword ptr [esp + 0x74]"]]}, {"both": [["0x100a9801", "push ecx", "0x10097b44"]]}, {"orig": [["0x100a9802", "lea ecx, [ebp - 0x54]"]], "recomp": [["0x10097b45", "lea ecx, [esp + 0x78]"]]}, {"both": [["0x100a9805", "call dword ptr [ebx + 0x48]", "0x10097b49"]]}, {"orig": [["0x100a9808", "lea ebx, [ebp - 0x170]"], ["0x100a980e", "cmp esi, edi"], ["0x100a9810", "je 0x34"]], "recomp": [["0x10097b4c", "xor ebx, ebx"], ["0x10097b4e", "lea ebp, [esp + 0xd8]"], ["0x10097b55", "cmp esi, ebx"], ["0x10097b57", "je 0x39"]]}, {"both": [["0x100a9812", "mov eax, esi", "0x10097b59"]]}, {"orig": [["0x100a9814", "sub eax, edi"]], "recomp": [["0x10097b5b", "sub eax, ebx"]]}, {"both": [["0x100a9816", "cmp eax, 3", "0x10097b5d"]]}, {"orig": [["0x100a9819", "je 0x2b"], ["0x100a981b", "mov eax, edi"]], "recomp": [["0x10097b60", "je 0x30"], ["0x10097b62", "mov eax, ebx"]]}, {"both": [["0x100a981d", "sub eax, esi", "0x10097b64"], ["0x100a981f", "cmp eax, 3", "0x10097b66"]]}, {"orig": [["0x100a9822", "je 0x22"], ["0x100a9824", "mov eax, dword ptr [ebx]"], ["0x100a9826", "mov ecx, dword ptr [ebp - 0x50]"]], "recomp": [["0x10097b69", "je 0x27"], ["0x10097b6b", "mov eax, dword ptr [ebp]"], ["0x10097b6e", "mov ecx, dword ptr [esp + 0x78]"]]}, {"both": [["0x100a9829", "push eax", "0x10097b72"], ["0x100a982a", "push ecx", "0x10097b73"]]}, {"orig": [["0x100a982b", "lea ecx, [ebp - 0x54]"], ["0x100a982e", "mov eax, dword ptr [ebp - 0x54]"]], "recomp": [["0x10097b74", "lea ecx, [esp + 0x7c]"], ["0x10097b78", "mov eax, dword ptr [esp + 0x7c]"]]}, {"both": [["0x100a9831", "call dword ptr [eax + 0x18]", "0x10097b7c"]]}, {"orig": [["0x100a9834", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x10097b7f", "mov ecx, dword ptr [ebp]"]]}, {"both": [["0x100a9836", "fadd dword ptr [ecx + 0xc]", "0x10097b82"], ["0x100a9839", "fcomp dword ptr [0.0 (FLOAT)]", "0x10097b85"], ["0x100a983f", "fnstsw ax", "0x10097b8b"], ["0x100a9841", "test ah, 1", "0x10097b8d"]]}, {"orig": [["0x100a9844", "jne 0xe"], ["0x100a9846", "add ebx, 0x18"], ["0x100a9849", "inc edi"], ["0x100a984a", "lea eax, [ebp - 0xe0]"], ["0x100a9850", "cmp ebx, eax"], ["0x100a9852", "jb -0x46"], ["0x100a9854", "cmp edi, 6"], ["0x100a9857", "je 0x1f"]], "recomp": [["0x10097b90", "jne 0xf"], ["0x10097b92", "add ebp, 0x18"], ["0x10097b95", "inc ebx"], ["0x10097b96", "lea eax, [esp + 0x168]"], ["0x10097b9d", "cmp ebp, eax"], ["0x10097b9f", "jb -0x4c"], ["0x10097ba1", "cmp ebx, 6"], ["0x10097ba4", "je 0x22"], ["0x10097ba6", "add edi, 0x18"]]}, {"both": [["0x100a9859", "inc esi", "0x10097ba9"]]}, {"orig": [["0x100a985a", "lea eax, [ebp - 0xe0]"], ["0x100a9860", "add dword ptr [ebp - 4], 0x18"], ["0x100a9864", "cmp dword ptr [ebp - 4], eax"], ["0x100a9867", "jb -0x121"]], "recomp": [["0x10097baa", "lea eax, [esp + 0x168]"], ["0x10097bb1", "cmp edi, eax"], ["0x10097bb3", "jb -0x14f"]]}, {"both": [["0x100a986d", "xor eax, eax", "0x10097bb9"]]}, {"orig": [], "recomp": [["0x10097bbb", "pop ebp"]]}, {"both": [["0x100a986f", "pop edi", "0x10097bbc"], ["0x100a9870", "pop esi", "0x10097bbd"], ["0x100a9871", "pop ebx", "0x10097bbe"]]}, {"orig": [["0x100a9872", "mov esp, ebp"], ["0x100a9874", "pop ebp"]], "recomp": [["0x10097bbf", "add esp, 0x154"]]}, {"both": [["0x100a9875", "ret 0x18", "0x10097bc5"], ["0x100a9878", "mov eax, 1", "0x10097bc8"]]}, {"orig": [["0x100a987d", "pop edi"], ["0x100a987e", "pop esi"], ["0x100a987f", "pop ebx"], ["0x100a9880", "mov esp, ebp"], ["0x100a9882", "pop ebp"], ["0x100a9883", "ret 0x18"], ["0x100a9886", "lea eax, [ebp - 0x38]"], ["0x100a9889", "mov edx, dword ptr [ebp + 8]"], ["0x100a988c", "mov dword ptr [ebp - 0x40], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x100a9893", "mov ecx, dword ptr [edx + 4]"], ["0x100a9896", "mov dword ptr [ebp - 0x3c], eax"]], "recomp": [["0x10097bcd", "jmp -0x14"], ["0x10097bcf", "lea eax, [esp + 0xdc]"], ["0x10097bd6", "mov edi, dword ptr [esp + 0x168]"]]}, {"both": [["0x100a9899", "mov edx, eax", "0x10097bdd"]]}, {"orig": [], "recomp": [["0x10097bdf", "mov dword ptr [esp + 0xd8], eax"], ["0x10097be6", "mov dword ptr [esp + 0xd4], Mx3DPointFloat::`vftable' (VTABLE)"], ["0x10097bf1", "mov ecx, dword ptr [edi + 4]"]]}, {"both": [["0x100a989b", "mov eax, dword ptr [ecx]", "0x10097bf4"], ["0x100a989d", "mov dword ptr [edx], eax", "0x10097bf6"], ["0x100a989f", "mov ebx, dword ptr [ecx + 4]", "0x10097bf8"], ["0x100a98a2", "mov dword ptr [edx + 4], ebx", "0x10097bfb"], ["0x100a98a5", "mov ecx, dword ptr [ecx + 8]", "0x10097bfe"], ["0x100a98a8", "mov dword ptr [edx + 8], ecx", "0x10097c01"], ["0x100a98ab", "mov ecx, esi", "0x10097c04"], ["0x100a98ad", "mov eax, dword ptr [esi]", "0x10097c06"]]}, {"orig": [["0x100a98af", "mov edi, dword ptr [eax + 0x10]"], ["0x100a98b2", "call edi"], ["0x100a98b4", "mov ebx, dword ptr [ebp - 0x40]"]], "recomp": [["0x10097c08", "mov ebx, dword ptr [eax + 0x10]"], ["0x10097c0b", "call ebx"], ["0x10097c0d", "mov ebp, dword ptr [esp + 0xd4]"], ["0x10097c14", "lea ecx, [esp + 0xd4]"]]}, {"both": [["0x100a98b7", "push eax", "0x10097c1b"]]}, {"orig": [["0x100a98b8", "lea ecx, [ebp - 0x40]"], ["0x100a98bb", "call dword ptr [ebx + 0x54]"]], "recomp": [["0x10097c1c", "call dword ptr [ebp + 0x54]"]]}, {"both": [["0x100a98be", "mov ecx, esi", "0x10097c1f"]]}, {"orig": [["0x100a98c0", "call edi"]], "recomp": [["0x10097c21", "call ebx"]]}, {"both": [["0x100a98c2", "mov eax, dword ptr [eax + 0x14]", "0x10097c23"]]}, {"orig": [["0x100a98c5", "mov ecx, dword ptr [ebp + 0xc]"]], "recomp": [["0x10097c26", "mov ecx, dword ptr [esp + 0x16c]"], ["0x10097c2d", "mov dword ptr [esp + 0x1c], eax"]]}, {"both": [["0x100a98c8", "push ecx", "0x10097c31"]]}, {"orig": [["0x100a98c9", "mov dword ptr [ebp - 0xc], eax"]], "recomp": []}, {"both": [["0x100a98cc", "mov edx, dword ptr [ecx]", "0x10097c32"], ["0x100a98ce", "push ecx", "0x10097c34"], ["0x100a98cf", "mov esi, dword ptr [edx + 0x38]", "0x10097c35"], ["0x100a98d2", "call esi", "0x10097c38"]]}, {"orig": [["0x100a98d4", "fstp dword ptr [ebp - 4]"], ["0x100a98d7", "lea ecx, [ebp - 0x40]"], ["0x100a98da", "mov edx, dword ptr [ebp + 0xc]"]], "recomp": [["0x10097c3a", "fstp dword ptr [esp + 0x44]"], ["0x10097c3e", "lea ecx, [esp + 0xd4]"], ["0x10097c45", "mov edx, dword ptr [esp + 0x16c]"]]}, {"both": [["0x100a98dd", "push ecx", "0x10097c4c"], ["0x100a98de", "push edx", "0x10097c4d"]]}, {"orig": [["0x100a98df", "mov ecx, edx"]], "recomp": [["0x10097c4e", "mov ecx, dword ptr [esp + 0x174]"]]}, {"both": [["0x100a98e1", "call esi", "0x10097c55"], ["0x100a98e3", "fmul dword ptr [2.0 (FLOAT)]", "0x10097c57"]]}, {"orig": [["0x100a98e9", "fstp dword ptr [ebp - 8]"], ["0x100a98ec", "mov ecx, dword ptr [ebp - 0x3c]"], ["0x100a98ef", "mov ebx, dword ptr [ebp - 0x40]"]], "recomp": [["0x10097c5d", "fstp dword ptr [esp + 0x5c]"], ["0x10097c61", "mov ecx, dword ptr [esp + 0xd8]"], ["0x10097c68", "mov eax, dword ptr [esp + 0xd4]"]]}, {"both": [["0x100a98f2", "push ecx", "0x10097c6f"], ["0x100a98f3", "push ecx", "0x10097c70"]]}, {"orig": [["0x100a98f4", "lea ecx, [ebp - 0x40]"], ["0x100a98f7", "call dword ptr [ebx + 0x18]"], ["0x100a98fa", "fld dword ptr [ebp - 0xc]"], ["0x100a98fd", "fmul dword ptr [ebp - 0xc]"]], "recomp": [["0x10097c71", "lea ecx, [esp + 0xdc]"], ["0x10097c78", "call dword ptr [eax + 0x18]"], ["0x10097c7b", "fld dword ptr [esp + 0x1c]"], ["0x10097c7f", "fmul dword ptr [esp + 0x1c]"]]}, {"both": [["0x100a9900", "fsubp st(1)", "0x10097c83"]]}, {"orig": [["0x100a9902", "fstp dword ptr [ebp - 0xc]"], ["0x100a9905", "fld dword ptr [ebp - 4]"]], "recomp": [["0x10097c85", "fstp dword ptr [esp + 0x88]"], ["0x10097c8c", "fld dword ptr [esp + 0x44]"]]}, {"both": [["0x100a9908", "fcom qword ptr [0.001 (FLOAT)]", "0x10097c90"]]}, {"orig": [["0x100a990e", "fstp qword ptr [ebp - 0x18]"]], "recomp": [["0x10097c96", "fstp qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a9911", "fnstsw ax", "0x10097c9a"], ["0x100a9913", "test ah, 1", "0x10097c9c"]]}, {"orig": [["0x100a9916", "je 0x1b"], ["0x100a9918", "fld qword ptr [ebp - 0x18]"]], "recomp": [["0x10097c9f", "je 0x15"], ["0x10097ca1", "fld qword ptr [esp + 0x1c]"]]}, {"both": [["0x100a991b", "fcomp qword ptr [-0.001 (FLOAT)]", "0x10097ca5"], ["0x100a9921", "fnstsw ax", "0x10097cab"], ["0x100a9923", "test ah, 0x41", "0x10097cad"]]}, {"orig": [["0x100a9926", "jne 0xb"], ["0x100a9928", "xor eax, eax"], ["0x100a992a", "pop edi"], ["0x100a992b", "pop esi"], ["0x100a992c", "pop ebx"], ["0x100a992d", "mov esp, ebp"], ["0x100a992f", "pop ebp"], ["0x100a9930", "ret 0x18"], ["0x100a9933", "fld dword ptr [ebp - 0xc]"], ["0x100a9936", "fmul dword ptr [ebp - 4]"], ["0x100a9939", "fmul dword ptr [-4.0 (FLOAT)]"], ["0x100a993f", "fld dword ptr [ebp - 8]"], ["0x100a9942", "fmul dword ptr [ebp - 8]"], ["0x100a9945", "faddp st(1)"]], "recomp": [["0x10097cb0", "je -0xfd"], ["0x10097cb6", "fld dword ptr [esp + 0x44]"], ["0x10097cba", "fmul dword ptr [esp + 0x88]"], ["0x10097cc1", "fmul dword ptr [4.0 (FLOAT)]"], ["0x10097cc7", "fld dword ptr [esp + 0x5c]"], ["0x10097ccb", "fmul dword ptr [esp + 0x5c]"], ["0x10097ccf", "fsubrp st(1)"]]}, {"both": [["0x100a9947", "fcom qword ptr [-0.001 (FLOAT)]", "0x10097cd1"]]}, {"orig": [["0x100a994d", "fstp dword ptr [ebp - 0xc]"]], "recomp": [["0x10097cd7", "fstp dword ptr [esp + 0x1c]"]]}, {"both": [["0x100a9950", "fnstsw ax", "0x10097cdb"], ["0x100a9952", "test ah, 1", "0x10097cdd"]]}, {"orig": [["0x100a9955", "je 0xb"], ["0x100a9957", "xor eax, eax"], ["0x100a9959", "pop edi"], ["0x100a995a", "pop esi"], ["0x100a995b", "pop ebx"], ["0x100a995c", "mov esp, ebp"], ["0x100a995e", "pop ebp"], ["0x100a995f", "ret 0x18"], ["0x100a9962", "fld dword ptr [ebp - 4]"]], "recomp": [["0x10097ce0", "jne -0x12d"], ["0x10097ce6", "fld dword ptr [esp + 0x44]"]]}, {"both": [["0x100a9965", "fmul dword ptr [2.0 (FLOAT)]", "0x10097cea"]]}, {"orig": [["0x100a996b", "fstp dword ptr [ebp - 4]"], ["0x100a996e", "fld dword ptr [ebp - 8]"]], "recomp": [["0x10097cf0", "fstp dword ptr [esp + 0x44]"], ["0x10097cf4", "fld dword ptr [esp + 0x5c]"]]}, {"both": [["0x100a9971", "fchs ", "0x10097cf8"]]}, {"orig": [["0x100a9973", "fstp dword ptr [ebp - 8]"], ["0x100a9976", "cmp dword ptr [ebp - 0xc], 0"], ["0x100a997a", "jg 0xb"], ["0x100a997c", "fld dword ptr [ebp - 8]"], ["0x100a997f", "fdiv dword ptr [ebp - 4]"], ["0x100a9982", "fstp dword ptr [ebp - 0x1c]"], ["0x100a9985", "jmp 0x3d"], ["0x100a9987", "fld dword ptr [ebp - 0xc]"]], "recomp": [["0x10097cfa", "fstp dword ptr [esp + 0x5c]"], ["0x10097cfe", "cmp dword ptr [esp + 0x1c], 0"], ["0x10097d03", "jg 0xe"], ["0x10097d05", "fld dword ptr [esp + 0x5c]"], ["0x10097d09", "fdiv dword ptr [esp + 0x44]"], ["0x10097d0d", "fstp dword ptr [esp + 0x1c]"], ["0x10097d11", "jmp 0x5b"], ["0x10097d13", "fld dword ptr [esp + 0x1c]"]]}, {"both": [["0x100a998a", "fsqrt ", "0x10097d17"]]}, {"orig": [["0x100a998c", "fld dword ptr [ebp - 8]"]], "recomp": [["0x10097d19", "fld dword ptr [esp + 0x5c]"]]}, {"both": [["0x100a998f", "fadd st(1)", "0x10097d1d"]]}, {"orig": [["0x100a9991", "fdiv dword ptr [ebp - 4]"], ["0x100a9994", "fstp dword ptr [ebp - 0xc]"], ["0x100a9997", "fsubr dword ptr [ebp - 8]"], ["0x100a999a", "cmp dword ptr [ebp - 0xc], 0"], ["0x100a999e", "fdiv dword ptr [ebp - 4]"], ["0x100a99a1", "jle 0x12"], ["0x100a99a3", "fst dword ptr [ebp - 4]"], ["0x100a99a6", "fcomp dword ptr [ebp - 0xc]"]], "recomp": [["0x10097d1f", "fdiv dword ptr [esp + 0x44]"], ["0x10097d23", "fstp dword ptr [esp + 0x1c]"], ["0x10097d27", "fsubr dword ptr [esp + 0x5c]"], ["0x10097d2b", "fdiv dword ptr [esp + 0x44]"], ["0x10097d2f", "fstp dword ptr [esp + 0x88]"], ["0x10097d36", "cmp dword ptr [esp + 0x1c], 0"], ["0x10097d3b", "jle 0x18"], ["0x10097d3d", "fld dword ptr [esp + 0x88]"], ["0x10097d44", "fcomp dword ptr [esp + 0x1c]"]]}, {"both": [["0x100a99a9", "fnstsw ax", "0x10097d48"], ["0x100a99ab", "test ah, 0x41", "0x10097d4a"]]}, {"orig": [["0x100a99ae", "jne 0x8"], ["0x100a99b0", "mov eax, dword ptr [ebp - 0xc]"], ["0x100a99b3", "jmp 0xc"], ["0x100a99b5", "fstp dword ptr [ebp - 4]"], ["0x100a99b8", "cmp dword ptr [ebp - 4], 0"], ["0x100a99bc", "jle 0x58"], ["0x100a99be", "mov eax, dword ptr [ebp - 4]"], ["0x100a99c1", "mov dword ptr [ebp - 0x1c], eax"], ["0x100a99c4", "cmp dword ptr [ebp - 0x1c], 0x80000000"], ["0x100a99cb", "ja 0x3e"], ["0x100a99cd", "fld dword ptr [ebp - 0x1c]"], ["0x100a99d0", "fcomp dword ptr [ebp + 0x10]"]], "recomp": [["0x10097d4d", "jne 0x6"], ["0x10097d4f", "mov eax, dword ptr [esp + 0x1c]"], ["0x10097d53", "jmp 0x15"], ["0x10097d55", "cmp dword ptr [esp + 0x88], 0"], ["0x10097d5d", "jle -0x1aa"], ["0x10097d63", "mov eax, dword ptr [esp + 0x88]"], ["0x10097d6a", "mov dword ptr [esp + 0x1c], eax"], ["0x10097d6e", "cmp dword ptr [esp + 0x1c], 0x80000000"], ["0x10097d76", "ja -0x1c3"], ["0x10097d7c", "fld dword ptr [esp + 0x170]"], ["0x10097d83", "fcomp dword ptr [esp + 0x1c]"]]}, {"both": [["0x100a99d3", "fnstsw ax", "0x10097d87"]]}, {"orig": [["0x100a99d5", "test ah, 0x41"], ["0x100a99d8", "je 0x31"], ["0x100a99da", "mov edi, dword ptr [ebp + 0x18]"], ["0x100a99dd", "mov eax, dword ptr [ebp + 0xc]"], ["0x100a99e0", "mov esi, dword ptr [edi]"]], "recomp": [["0x10097d89", "test ah, 1"], ["0x10097d8c", "jne -0x1d9"], ["0x10097d92", "mov ebx, dword ptr [esp + 0x178]"], ["0x10097d99", "mov eax, dword ptr [esp + 0x16c]"], ["0x10097da0", "mov esi, dword ptr [ebx]"]]}, {"both": [["0x100a99e2", "mov ecx, dword ptr [eax + 4]", "0x10097da2"], ["0x100a99e5", "push ecx", "0x10097da5"]]}, {"orig": [["0x100a99e6", "mov ecx, edi"]], "recomp": [["0x10097da6", "mov ecx, ebx"]]}, {"both": [["0x100a99e8", "call dword ptr [esi + 0x20]", "0x10097da8"]]}, {"orig": [["0x100a99eb", "lea ecx, [ebp - 0x1c]"]], "recomp": [["0x10097dab", "lea ecx, [esp + 0x1c]"]]}, {"both": [["0x100a99ee", "push ecx", "0x10097daf"]]}, {"orig": [["0x100a99ef", "mov ecx, edi"]], "recomp": [["0x10097db0", "mov ecx, ebx"]]}, {"both": [["0x100a99f1", "call dword ptr [esi + 0x5c]", "0x10097db2"]]}, {"orig": [["0x100a99f4", "mov ecx, dword ptr [ebp + 8]"], ["0x100a99f7", "push ecx"], ["0x100a99f8", "mov ecx, edi"]], "recomp": [["0x10097db5", "push edi"], ["0x10097db6", "mov ecx, ebx"]]}, {"both": [["0x100a99fa", "call dword ptr [esi + 0x48]", "0x10097db8"], ["0x100a99fd", "mov eax, 1", "0x10097dbb"]]}, {"orig": [["0x100a9a02", "pop edi"], ["0x100a9a03", "pop esi"], ["0x100a9a04", "pop ebx"], ["0x100a9a05", "mov esp, ebp"], ["0x100a9a07", "pop ebp"], ["0x100a9a08", "ret 0x18"], ["0x100a9a0b", "xor eax, eax"], ["0x100a9a0d", "pop edi"], ["0x100a9a0e", "pop esi"], ["0x100a9a0f", "pop ebx"], ["0x100a9a10", "mov esp, ebp"], ["0x100a9a12", "pop ebp"], ["0x100a9a13", "ret 0x18"], ["0x100a9a16", "xor eax, eax"], ["0x100a9a18", "pop edi"], ["0x100a9a19", "pop esi"], ["0x100a9a1a", "pop ebx"], ["0x100a9a1b", "mov esp, ebp"], ["0x100a9a1d", "pop ebp"], ["0x100a9a1e", "ret 0x18"]], "recomp": [["0x10097dc0", "jmp -0x20a"]]}]]]}, {"address": "0x100a9a50", "recomp": "0x10097dd0", "name": "TimeROI::TimeROI", "matching": 1.0, "diff": []}, {"address": "0x100a9ad0", "recomp": "0x10097e50", "name": "TimeROI::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100a9b40", "recomp": "0x10097ec0", "name": "TimeROI::FUN_100a9b40", "matching": 1.0, "diff": []}, {"address": "0x100a9bf0", "recomp": "0x10097f70", "name": "LegoROI::FUN_100a9bf0", "matching": 1.0, "diff": []}, {"address": "0x100a9c50", "recomp": "0x10097fd0", "name": "LegoROI::ColorAliasLookup", "matching": 0.8367346938775511, "diff": [["@@ -0x100a9c50,38 +0x10097fd0,38 @@", [{"both": [["0x100a9c50", "sub esp, 4", "0x10097fd0"], ["0x100a9c53", "push ebx", "0x10097fd3"], ["0x100a9c54", "push esi", "0x10097fd4"], ["0x100a9c55", "push edi", "0x10097fd5"]]}, {"orig": [["0x100a9c56", "mov ebx, g_roiColorAliases[0].m_name (DATA)"], ["0x100a9c5b", "xor edi, edi"]], "recomp": [["0x10097fd6", "xor ebx, ebx"], ["0x10097fd8", "mov edi, g_roiColorAliases[0].m_name (DATA)"]]}, {"both": [["0x100a9c5d", "mov esi, dword ptr [esp + 0x14]", "0x10097fdd"], ["0x100a9c61", "push esi", "0x10097fe1"]]}, {"orig": [["0x100a9c62", "mov eax, dword ptr [ebx]"]], "recomp": [["0x10097fe2", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100a9c64", "push eax", "0x10097fe4"], ["0x100a9c65", "call __strcmpi (FUNCTION)", "0x10097fe5"], ["0x100a9c6a", "add esp, 8", "0x10097fea"], ["0x100a9c6d", "test eax, eax", "0x10097fed"], ["0x100a9c6f", "je 0x15", "0x10097fef"]]}, {"orig": [["0x100a9c71", "add ebx, 0x14"], ["0x100a9c74", "inc edi"], ["0x100a9c75", "cmp ebx, g_roiConfig (DATA)"]], "recomp": [["0x10097ff1", "add edi, 0x14"], ["0x10097ff4", "inc ebx"], ["0x10097ff5", "cmp edi, g_roiConfig (DATA)"]]}, {"both": [["0x100a9c7b", "jb -0x1c", "0x10097ffb"], ["0x100a9c7d", "xor al, al", "0x10097ffd"], ["0x100a9c7f", "pop edi", "0x10097fff"], ["0x100a9c80", "pop esi", "0x10098000"], ["0x100a9c81", "pop ebx", "0x10098001"], ["0x100a9c82", "add esp, 4", "0x10098002"], ["0x100a9c85", "ret ", "0x10098005"]]}, {"orig": [["0x100a9c86", "shl edi, 2"]], "recomp": [["0x10098006", "shl ebx, 2"]]}, {"both": [["0x100a9c89", "mov edx, dword ptr [esp + 0x18]", "0x10098009"], ["0x100a9c8d", "mov eax, dword ptr [esp + 0x1c]", "0x1009800d"]]}, {"orig": [["0x100a9c91", "lea ecx, [edi + edi*4]"]], "recomp": [["0x10098011", "lea ecx, [ebx + ebx*4]"]]}, {"both": [["0x100a9c94", "fild dword ptr [ecx + g_roiColorAliases[0].m_red (UNK)]", "0x10098014"], ["0x100a9c9a", "fmul qword ptr [0.00392156862745098 (FLOAT)]", "0x1009801a"], ["0x100a9ca0", "mov ebx, dword ptr [esp + 0x20]", "0x10098020"], ["0x100a9ca4", "fstp dword ptr [edx]", "0x10098024"], ["0x100a9ca6", "fild dword ptr [ecx + g_roiColorAliases[0].m_green (UNK)]", "0x10098026"], ["0x100a9cac", "fmul qword ptr [0.00392156862745098 (FLOAT)]", "0x1009802c"], ["0x100a9cb2", "fstp dword ptr [eax]", "0x10098032"], ["0x100a9cb4", "fild dword ptr [ecx + g_roiColorAliases[0].m_blue (UNK)]", "0x10098034"], ["0x100a9cba", "fmul qword ptr [0.00392156862745098 (FLOAT)]", "0x1009803a"], ["0x100a9cc0", "fstp dword ptr [ebx]", "0x10098040"]]}]]]}, {"address": "0x100a9cf0", "recomp": "0x10098070", "name": "LegoROI::FUN_100a9cf0", "matching": 1.0, "diff": []}, {"address": "0x100a9d30", "recomp": "0x100980b0", "name": "LegoROI::FUN_100a9d30", "matching": 1.0, "diff": []}, {"address": "0x100a9d40", "recomp": "0x100980c0", "name": "LegoROI::SetName", "matching": 1.0, "diff": []}, {"address": "0x100a9dd0", "recomp": "0x10098150", "name": "LegoROI::FUN_100a9dd0", "matching": 1.0, "diff": []}, {"address": "0x100a9e10", "recomp": "0x10098190", "name": "LegoROI::SetDisplayBB", "matching": 1.0, "diff": []}, {"address": "0x100a9e20", "recomp": "0x10096410", "name": "ViewROI::~ViewROI", "matching": 1.0, "diff": []}, {"address": "0x100a9eb0", "recomp": "0x10095f60", "name": "ViewROI::IntrinsicImportance", "matching": 1.0, "diff": []}, {"address": "0x100a9ec0", "recomp": "0x10095f70", "name": "ViewROI::GetGeometry", "matching": 1.0, "diff": []}, {"address": "0x100a9ed0", "recomp": "0x10095f80", "name": "ViewROI::GetGeometry", "matching": 1.0, "diff": []}, {"address": "0x100a9ee0", "recomp": "0x10095f90", "name": "ViewROI::UpdateWorldData", "matching": 1.0, "diff": []}, {"address": "0x100a9fc0", "recomp": "0x10096070", "name": "ViewROI::VTable0x24", "matching": 1.0, "diff": []}, {"address": "0x100aa0a0", "recomp": "0x10096150", "name": "ViewROI::SetLocalTransform", "matching": 1.0, "diff": []}, {"address": "0x100aa180", "recomp": "0x10096230", "name": "ViewROI::VTable0x1c", "matching": 1.0, "diff": []}, {"address": "0x100aa250", "recomp": "0x100964a0", "name": "ViewROI::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100aa2f0", "recomp": "0x10096540", "name": "OrientableROI::~OrientableROI", "matching": 1.0, "diff": []}, {"address": "0x100aa340", "recomp": "0x100981a0", "name": "LegoROI::IntrinsicImportance", "matching": 1.0, "diff": []}, {"address": "0x100aa350", "recomp": "0x100981b0", "name": "LegoROI::UpdateWorldBoundingVolumes", "matching": 1.0, "diff": []}, {"address": "0x100aa380", "recomp": "0x100981e0", "name": "LegoLOD::LegoLOD", "matching": 1.0, "diff": []}, {"address": "0x100aa430", "recomp": "0x10098330", "name": "LegoLOD::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100aa450", "recomp": "0x10098350", "name": "LegoLOD::~LegoLOD", "matching": 1.0, "diff": []}, {"address": "0x100aa500", "recomp": "0x10096300", "name": "ViewROI::SetUnk101013d8", "matching": 1.0, "diff": []}, {"address": "0x100aa510", "recomp": "0x10098400", "name": "LegoLOD::Read", "matching": 0.660245183887916, "diff": [["@@ -0x100aa510,421 +0x10098400,421 @@", [{"both": [["0x100aa510", "mov eax, dword ptr fs:[0]", "0x10098400"], ["0x100aa516", "push ebp", "0x10098406"], ["0x100aa517", "mov ebp, esp", "0x10098407"], ["0x100aa519", "push -1", "0x10098409"], ["0x100aa51b", "push <OFFSET1>", "0x1009840b"], ["0x100aa520", "push eax", "0x10098410"], ["0x100aa521", "mov dword ptr fs:[0], esp", "0x10098411"]]}, {"orig": [["0x100aa528", "sub esp, 0x174"]], "recomp": [["0x10098418", "sub esp, 0x178"]]}, {"both": [["0x100aa52e", "push ebx", "0x1009841e"], ["0x100aa52f", "push esi", "0x1009841f"], ["0x100aa530", "push edi", "0x10098420"], ["0x100aa531", "mov ebx, ecx", "0x10098421"], ["0x100aa533", "xor esi, esi", "0x10098423"]]}, {"orig": [["0x100aa535", "mov dword ptr [ebp - 0x3c], esi"], ["0x100aa538", "mov dword ptr [ebp - 0x38], esi"], ["0x100aa53b", "mov dword ptr [ebp - 0x40], esi"], ["0x100aa53e", "mov dword ptr [ebp - 0x48], esi"]], "recomp": [["0x10098425", "mov dword ptr [ebp - 0x30], esi"], ["0x10098428", "mov dword ptr [ebp - 0x2c], esi"]]}, {"both": [["0x100aa541", "mov eax, dword ptr [ebp + 0x10]", "0x1009842b"]]}, {"orig": [], "recomp": [["0x1009842e", "mov dword ptr [ebp - 0x34], esi"]]}, {"both": [["0x100aa544", "lea edi, [ebx + 8]", "0x10098431"]]}, {"orig": [], "recomp": [["0x10098434", "mov dword ptr [ebp - 0x44], esi"]]}, {"both": [["0x100aa547", "push 4", "0x10098437"]]}, {"orig": [["0x100aa549", "mov dword ptr [ebp - 0x34], esi"]], "recomp": [["0x10098439", "mov dword ptr [ebp - 0x28], esi"]]}, {"both": [["0x100aa54c", "push edi", "0x1009843c"]]}, {"orig": [["0x100aa54d", "mov dword ptr [ebp - 0x30], esi"]], "recomp": [["0x1009843d", "mov dword ptr [ebp - 0x24], esi"]]}, {"both": [["0x100aa550", "mov ecx, dword ptr [eax]", "0x10098440"], ["0x100aa552", "mov edx, dword ptr [ecx + 4]", "0x10098442"], ["0x100aa555", "mov ecx, eax", "0x10098445"]]}, {"orig": [["0x100aa557", "mov dword ptr [ebp - 0x24], edx"]], "recomp": [["0x10098447", "mov dword ptr [ebp - 0x1c], edx"]]}, {"both": [["0x100aa55a", "call edx", "0x1009844a"], ["0x100aa55c", "test eax, eax", "0x1009844c"]]}, {"orig": [["0x100aa55e", "jne 0x1fe"]], "recomp": [["0x1009844e", "jne 0x204"]]}, {"both": [["0x100aa564", "test byte ptr [edi], 4", "0x10098454"]]}, {"orig": [["0x100aa567", "jne 0x614"]], "recomp": [["0x10098457", "jne 0x621"]]}, {"both": [["0x100aa56d", "mov ecx, dword ptr [ebp + 8]", "0x1009845d"], ["0x100aa570", "mov eax, dword ptr [ecx]", "0x10098460"], ["0x100aa572", "call dword ptr [eax + 0x20]", "0x10098462"], ["0x100aa575", "push 4", "0x10098465"], ["0x100aa577", "lea ecx, [ebx + 0x10]", "0x10098467"], ["0x100aa57a", "push ecx", "0x1009846a"], ["0x100aa57b", "mov dword ptr [ebx + 4], eax", "0x1009846b"], ["0x100aa57e", "mov ecx, dword ptr [ebp + 0x10]", "0x1009846e"]]}, {"orig": [["0x100aa581", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x10098471", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa584", "test eax, eax", "0x10098474"]]}, {"orig": [["0x100aa586", "jne 0x1d6"]], "recomp": [["0x10098476", "jne 0x1dc"]]}, {"both": [["0x100aa58c", "mov eax, dword ptr [ebx + 0x10]", "0x1009847c"], ["0x100aa58f", "test eax, eax", "0x1009847f"], ["0x100aa591", "jne 0x8", "0x10098481"], ["0x100aa593", "and dword ptr [edi], 0xffffffef", "0x10098483"]]}, {"orig": [["0x100aa596", "jmp 0x5e6"]], "recomp": [["0x10098486", "jmp 0x5f3"]]}, {"both": [["0x100aa59b", "shl eax, 3", "0x1009848b"], ["0x100aa59e", "or dword ptr [edi], 0x10", "0x1009848e"], ["0x100aa5a1", "push eax", "0x10098491"], ["0x100aa5a2", "call ??2@YAPAXI@Z (FUNCTION)", "0x10098492"], ["0x100aa5a7", "add esp, 4", "0x10098497"]]}, {"orig": [], "recomp": [["0x1009849a", "mov ecx, dword ptr [ebx + 0x10]"], ["0x1009849d", "shl ecx, 3"]]}, {"both": [["0x100aa5aa", "mov edi, eax", "0x100984a0"]]}, {"orig": [], "recomp": [["0x100984a2", "shr ecx, 2"]]}, {"both": [["0x100aa5ac", "mov dword ptr [ebx + 0xc], eax", "0x100984a5"], ["0x100aa5af", "xor eax, eax", "0x100984a8"]]}, {"orig": [["0x100aa5b1", "mov ecx, dword ptr [ebx + 0x10]"], ["0x100aa5b4", "shl ecx, 3"], ["0x100aa5b7", "shr ecx, 2"]], "recomp": []}, {"both": [["0x100aa5ba", "rep stosd dword ptr es:[edi], eax", "0x100984aa"], ["0x100aa5bc", "mov eax, dword ptr [ebx + 0x10]", "0x100984ac"], ["0x100aa5bf", "push 4", "0x100984af"], ["0x100aa5c1", "dec eax", "0x100984b1"]]}, {"orig": [["0x100aa5c2", "lea ecx, [ebp - 0x70]"]], "recomp": [["0x100984b2", "lea ecx, [ebp - 0x74]"]]}, {"both": [["0x100aa5c5", "push ecx", "0x100984b5"]]}, {"orig": [["0x100aa5c6", "mov dword ptr [ebp - 0x6c], eax"], ["0x100aa5c9", "mov dword ptr [ebp - 0x4c], 0"]], "recomp": [["0x100984b6", "mov dword ptr [ebp - 0x70], eax"], ["0x100984b9", "mov dword ptr [ebp - 0x48], 0"]]}, {"both": [["0x100aa5d0", "mov ecx, dword ptr [ebp + 0x10]", "0x100984c0"]]}, {"orig": [["0x100aa5d3", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x100984c3", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa5d6", "test eax, eax", "0x100984c6"]]}, {"orig": [["0x100aa5d8", "jne 0x184"], ["0x100aa5de", "mov ax, word ptr [ebp - 0x6e]"]], "recomp": [["0x100984c8", "jne 0x18a"], ["0x100984ce", "mov ax, word ptr [ebp - 0x72]"]]}, {"both": [["0x100aa5e2", "xor edi, edi", "0x100984d2"]]}, {"orig": [["0x100aa5e4", "mov di, word ptr [ebp - 0x70]"]], "recomp": [["0x100984d4", "mov di, word ptr [ebp - 0x74]"]]}, {"both": [["0x100aa5e8", "push 4", "0x100984d8"], ["0x100aa5ea", "shr ax, 1", "0x100984da"], ["0x100aa5ee", "and edi, 0x7fff", "0x100984de"], ["0x100aa5f4", "movzx ecx, ax", "0x100984e4"]]}, {"orig": [["0x100aa5f7", "lea edx, [ebp - 0x48]"], ["0x100aa5fa", "mov dword ptr [ebp - 0x2c], ecx"]], "recomp": [["0x100984e7", "lea edx, [ebp - 0x44]"], ["0x100984ea", "mov dword ptr [ebp - 0x40], ecx"]]}, {"both": [["0x100aa5fd", "push edx", "0x100984ed"], ["0x100aa5fe", "mov ecx, dword ptr [ebp + 0x10]", "0x100984ee"]]}, {"orig": [["0x100aa601", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x100984f1", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa604", "test eax, eax", "0x100984f4"]]}, {"orig": [["0x100aa606", "jne 0x156"]], "recomp": [["0x100984f6", "jne 0x15c"]]}, {"both": [["0x100aa60c", "test edi, edi", "0x100984fc"], ["0x100aa60e", "jle 0x26", "0x100984fe"], ["0x100aa610", "lea eax, [edi + edi*2]", "0x10098500"], ["0x100aa613", "lea edi, [eax*4]", "0x10098503"], ["0x100aa61a", "push edi", "0x1009850a"], ["0x100aa61b", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009850b"], ["0x100aa620", "add esp, 4", "0x10098510"], ["0x100aa623", "mov ecx, dword ptr [ebp + 0x10]", "0x10098513"]]}, {"orig": [["0x100aa626", "mov dword ptr [ebp - 0x38], eax"]], "recomp": [["0x10098516", "mov dword ptr [ebp - 0x2c], eax"]]}, {"both": [["0x100aa629", "push edi", "0x10098519"], ["0x100aa62a", "push eax", "0x1009851a"]]}, {"orig": [["0x100aa62b", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x1009851b", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa62e", "test eax, eax", "0x1009851e"]]}, {"orig": [["0x100aa630", "jne 0x12c"], ["0x100aa636", "cmp dword ptr [ebp - 0x2c], 0"]], "recomp": [["0x10098520", "jne 0x132"], ["0x10098526", "cmp dword ptr [ebp - 0x40], 0"]]}, {"both": [["0x100aa63a", "jle 0x29", "0x1009852a"]]}, {"orig": [["0x100aa63c", "mov eax, dword ptr [ebp - 0x2c]"]], "recomp": [["0x1009852c", "mov eax, dword ptr [ebp - 0x40]"]]}, {"both": [["0x100aa63f", "lea ecx, [eax + eax*2]", "0x1009852f"], ["0x100aa642", "lea edi, [ecx*4]", "0x10098532"], ["0x100aa649", "push edi", "0x10098539"], ["0x100aa64a", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009853a"], ["0x100aa64f", "add esp, 4", "0x1009853f"], ["0x100aa652", "mov ecx, dword ptr [ebp + 0x10]", "0x10098542"]]}, {"orig": [["0x100aa655", "mov dword ptr [ebp - 0x3c], eax"]], "recomp": [["0x10098545", "mov dword ptr [ebp - 0x30], eax"]]}, {"both": [["0x100aa658", "push edi", "0x10098548"], ["0x100aa659", "push eax", "0x10098549"]]}, {"orig": [["0x100aa65a", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x1009854a", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa65d", "test eax, eax", "0x1009854d"]]}, {"orig": [["0x100aa65f", "jne 0xfd"], ["0x100aa665", "cmp dword ptr [ebp - 0x48], 0"]], "recomp": [["0x1009854f", "jne 0x103"], ["0x10098555", "cmp dword ptr [ebp - 0x44], 0"]]}, {"both": [["0x100aa669", "jle 0x2b", "0x10098559"]]}, {"orig": [["0x100aa66b", "mov eax, dword ptr [ebp - 0x48]"]], "recomp": [["0x1009855b", "mov eax, dword ptr [ebp - 0x44]"]]}, {"both": [["0x100aa66e", "shl eax, 3", "0x1009855e"], ["0x100aa671", "push eax", "0x10098561"], ["0x100aa672", "call ??2@YAPAXI@Z (FUNCTION)", "0x10098562"], ["0x100aa677", "add esp, 4", "0x10098567"]]}, {"orig": [["0x100aa67a", "mov dword ptr [ebp - 0x40], eax"], ["0x100aa67d", "mov eax, dword ptr [ebp - 0x48]"], ["0x100aa680", "mov ecx, dword ptr [ebp - 0x40]"]], "recomp": [["0x1009856a", "mov dword ptr [ebp - 0x34], eax"], ["0x1009856d", "mov eax, dword ptr [ebp - 0x44]"], ["0x10098570", "mov ecx, dword ptr [ebp - 0x34]"]]}, {"both": [["0x100aa683", "shl eax, 3", "0x10098573"], ["0x100aa686", "push eax", "0x10098576"], ["0x100aa687", "push ecx", "0x10098577"], ["0x100aa688", "mov ecx, dword ptr [ebp + 0x10]", "0x10098578"]]}, {"orig": [["0x100aa68b", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x1009857b", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa68e", "test eax, eax", "0x1009857e"]]}, {"orig": [["0x100aa690", "jne 0xcc"], ["0x100aa696", "mov dword ptr [ebp - 0x60], 0"]], "recomp": [["0x10098580", "jne 0xd2"], ["0x10098586", "mov dword ptr [ebp - 0x5c], 0"]]}, {"both": [["0x100aa69d", "cmp dword ptr [ebx + 0x10], 0", "0x1009858d"]]}, {"orig": [["0x100aa6a1", "jbe 0x49e"]], "recomp": [["0x10098591", "jbe 0x4ab"]]}, {"both": [["0x100aa6a7", "push 2", "0x10098597"]]}, {"orig": [["0x100aa6a9", "lea eax, [ebp - 0x2a]"]], "recomp": [["0x10098599", "lea eax, [ebp - 0x38]"]]}, {"both": [["0x100aa6ac", "push eax", "0x1009859c"], ["0x100aa6ad", "mov ecx, dword ptr [ebp + 0x10]", "0x1009859d"]]}, {"orig": [["0x100aa6b0", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x100985a0", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa6b3", "test eax, eax", "0x100985a3"]]}, {"orig": [["0x100aa6b5", "jne 0xa7"], ["0x100aa6bb", "mov eax, dword ptr [ebp - 0x2a]"]], "recomp": [["0x100985a5", "jne 0xad"], ["0x100985ab", "mov eax, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100aa6be", "push 2", "0x100985ae"], ["0x100aa6c0", "and eax, 0xffff", "0x100985b0"]]}, {"orig": [["0x100aa6c5", "lea ecx, [ebp - 0xe]"]], "recomp": [["0x100985b5", "lea ecx, [ebp - 0x6c]"]]}, {"both": [["0x100aa6c8", "push ecx", "0x100985b8"], ["0x100aa6c9", "add dword ptr [ebx + 0x18], eax", "0x100985b9"], ["0x100aa6cc", "mov ecx, dword ptr [ebp + 0x10]", "0x100985bc"]]}, {"orig": [["0x100aa6cf", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x100985bf", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa6d2", "test eax, eax", "0x100985c2"]]}, {"orig": [["0x100aa6d4", "jne 0x88"], ["0x100aa6da", "mov eax, dword ptr [ebp - 0x2a]"]], "recomp": [["0x100985c4", "jne 0x8e"], ["0x100985ca", "mov eax, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100aa6dd", "and eax, 0xffff", "0x100985cd"], ["0x100aa6e2", "lea eax, [eax + eax*2]", "0x100985d2"], ["0x100aa6e5", "shl eax, 2", "0x100985d5"], ["0x100aa6e8", "push eax", "0x100985d8"], ["0x100aa6e9", "call ??2@YAPAXI@Z (FUNCTION)", "0x100985d9"], ["0x100aa6ee", "add esp, 4", "0x100985de"]]}, {"orig": [["0x100aa6f1", "mov dword ptr [ebp - 0x34], eax"], ["0x100aa6f4", "mov eax, dword ptr [ebp - 0x2a]"], ["0x100aa6f7", "mov ecx, dword ptr [ebp - 0x34]"]], "recomp": [["0x100985e1", "mov dword ptr [ebp - 0x28], eax"], ["0x100985e4", "mov eax, dword ptr [ebp - 0x38]"], ["0x100985e7", "mov ecx, dword ptr [ebp - 0x28]"]]}, {"both": [["0x100aa6fa", "and eax, 0xffff", "0x100985ea"], ["0x100aa6ff", "lea eax, [eax + eax*2]", "0x100985ef"], ["0x100aa702", "shl eax, 2", "0x100985f2"], ["0x100aa705", "push eax", "0x100985f5"], ["0x100aa706", "push ecx", "0x100985f6"], ["0x100aa707", "mov ecx, dword ptr [ebp + 0x10]", "0x100985f7"]]}, {"orig": [["0x100aa70a", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x100985fa", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa70d", "test eax, eax", "0x100985fd"]]}, {"orig": [["0x100aa70f", "jne 0x51"]], "recomp": [["0x100985ff", "jne 0x57"]]}, {"both": [["0x100aa711", "push 4", "0x10098601"]]}, {"orig": [["0x100aa713", "lea eax, [ebp - 0x80]"]], "recomp": [["0x10098603", "lea eax, [ebp - 0x84]"]]}, {"both": [["0x100aa716", "push eax", "0x10098609"], ["0x100aa717", "mov ecx, dword ptr [ebp + 0x10]", "0x1009860a"]]}, {"orig": [["0x100aa71a", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x1009860d", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa71d", "test eax, eax", "0x10098610"]]}, {"orig": [["0x100aa71f", "jne 0x41"], ["0x100aa721", "cmp dword ptr [ebp - 0x80], 0"]], "recomp": [["0x10098612", "jne 0x44"], ["0x10098614", "cmp dword ptr [ebp - 0x84], 0"]]}, {"both": [["0x100aa725", "jbe 0xa7", "0x1009861b"]]}, {"orig": [["0x100aa72b", "mov eax, dword ptr [ebp - 0x2a]"]], "recomp": [["0x10098621", "mov eax, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100aa72e", "and eax, 0xffff", "0x10098624"], ["0x100aa733", "lea eax, [eax + eax*2]", "0x10098629"], ["0x100aa736", "shl eax, 2", "0x1009862c"], ["0x100aa739", "push eax", "0x1009862f"], ["0x100aa73a", "call ??2@YAPAXI@Z (FUNCTION)", "0x10098630"], ["0x100aa73f", "add esp, 4", "0x10098635"]]}, {"orig": [["0x100aa742", "mov dword ptr [ebp - 0x30], eax"], ["0x100aa745", "mov eax, dword ptr [ebp - 0x2a]"], ["0x100aa748", "mov ecx, dword ptr [ebp - 0x30]"]], "recomp": [["0x10098638", "mov dword ptr [ebp - 0x24], eax"], ["0x1009863b", "mov eax, dword ptr [ebp - 0x38]"], ["0x1009863e", "mov ecx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x100aa74b", "and eax, 0xffff", "0x10098641"], ["0x100aa750", "lea eax, [eax + eax*2]", "0x10098646"], ["0x100aa753", "shl eax, 2", "0x10098649"], ["0x100aa756", "push eax", "0x1009864c"], ["0x100aa757", "push ecx", "0x1009864d"], ["0x100aa758", "mov ecx, dword ptr [ebp + 0x10]", "0x1009864e"]]}, {"orig": [["0x100aa75b", "call dword ptr [ebp - 0x24]"]], "recomp": [["0x10098651", "call dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100aa75e", "test eax, eax", "0x10098654"], ["0x100aa760", "je 0x77", "0x10098656"]]}, {"orig": [["0x100aa762", "cmp dword ptr [ebp - 0x3c], 0"]], "recomp": [["0x10098658", "cmp dword ptr [ebp - 0x30], 0"]]}, {"both": [["0x100aa766", "je 0xc", "0x1009865c"]]}, {"orig": [["0x100aa768", "mov eax, dword ptr [ebp - 0x3c]"]], "recomp": [["0x1009865e", "mov eax, dword ptr [ebp - 0x30]"]]}, {"both": [["0x100aa76b", "push eax", "0x10098661"], ["0x100aa76c", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098662"], ["0x100aa771", "add esp, 4", "0x10098667"]]}, {"orig": [["0x100aa774", "cmp dword ptr [ebp - 0x38], 0"]], "recomp": [["0x1009866a", "cmp dword ptr [ebp - 0x2c], 0"]]}, {"both": [["0x100aa778", "je 0xc", "0x1009866e"]]}, {"orig": [["0x100aa77a", "mov eax, dword ptr [ebp - 0x38]"]], "recomp": [["0x10098670", "mov eax, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100aa77d", "push eax", "0x10098673"], ["0x100aa77e", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098674"], ["0x100aa783", "add esp, 4", "0x10098679"]]}, {"orig": [["0x100aa786", "cmp dword ptr [ebp - 0x40], 0"]], "recomp": [["0x1009867c", "cmp dword ptr [ebp - 0x34], 0"]]}, {"both": [["0x100aa78a", "je 0xc", "0x10098680"]]}, {"orig": [["0x100aa78c", "mov eax, dword ptr [ebp - 0x40]"]], "recomp": [["0x10098682", "mov eax, dword ptr [ebp - 0x34]"]]}, {"both": [["0x100aa78f", "push eax", "0x10098685"], ["0x100aa790", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098686"], ["0x100aa795", "add esp, 4", "0x1009868b"], ["0x100aa798", "test esi, esi", "0x1009868e"], ["0x100aa79a", "je 0x8", "0x10098690"], ["0x100aa79c", "push 1", "0x10098692"], ["0x100aa79e", "mov eax, dword ptr [esi]", "0x10098694"], ["0x100aa7a0", "mov ecx, esi", "0x10098696"], ["0x100aa7a2", "call dword ptr [eax]", "0x10098698"]]}, {"orig": [["0x100aa7a4", "cmp dword ptr [ebp - 0x34], 0"]], "recomp": [["0x1009869a", "cmp dword ptr [ebp - 0x28], 0"]]}, {"both": [["0x100aa7a8", "je 0xc", "0x1009869e"]]}, {"orig": [["0x100aa7aa", "mov eax, dword ptr [ebp - 0x34]"]], "recomp": [["0x100986a0", "mov eax, dword ptr [ebp - 0x28]"]]}, {"both": [["0x100aa7ad", "push eax", "0x100986a3"], ["0x100aa7ae", "call ??3@YAXPAX@Z (FUNCTION)", "0x100986a4"], ["0x100aa7b3", "add esp, 4", "0x100986a9"]]}, {"orig": [["0x100aa7b6", "cmp dword ptr [ebp - 0x30], 0"]], "recomp": [["0x100986ac", "cmp dword ptr [ebp - 0x24], 0"]]}, {"both": [["0x100aa7ba", "je 0xc", "0x100986b0"]]}, {"orig": [["0x100aa7bc", "mov eax, dword ptr [ebp - 0x30]"]], "recomp": [["0x100986b2", "mov eax, dword ptr [ebp - 0x24]"]]}, {"both": [["0x100aa7bf", "push eax", "0x100986b5"], ["0x100aa7c0", "call ??3@YAXPAX@Z (FUNCTION)", "0x100986b6"], ["0x100aa7c5", "add esp, 4", "0x100986bb"], ["0x100aa7c8", "mov eax, 0xffffffff", "0x100986be"]]}, {"orig": [["0x100aa7cd", "jmp 0x3b1"], ["0x100aa7d2", "mov dword ptr [ebp - 0x30], 0"]], "recomp": [["0x100986c3", "jmp 0x3b8"], ["0x100986c8", "mov dword ptr [ebp - 0x24], 0"]]}, {"both": [["0x100aa7d9", "push 0x24", "0x100986cf"], ["0x100aa7db", "call ??2@YAPAXI@Z (FUNCTION)", "0x100986d1"]]}, {"orig": [["0x100aa7e0", "mov dword ptr [ebp - 0x28], eax"]], "recomp": [["0x100986d6", "mov dword ptr [ebp - 0x20], eax"]]}, {"both": [["0x100aa7e3", "add esp, 4", "0x100986d9"], ["0x100aa7e6", "mov edi, eax", "0x100986dc"], ["0x100aa7e8", "mov esi, 0", "0x100986de"], ["0x100aa7ed", "mov dword ptr [ebp - 4], 0", "0x100986e3"], ["0x100aa7f4", "test edi, edi", "0x100986ea"], ["0x100aa7f6", "je 0x9", "0x100986ec"], ["0x100aa7f8", "mov ecx, edi", "0x100986ee"], ["0x100aa7fa", "call LegoMesh::LegoMesh (FUNCTION)", "0x100986f0"], ["0x100aa7ff", "mov esi, eax", "0x100986f5"]]}, {"orig": [["0x100aa801", "mov dword ptr [ebp - 4], 0xffffffff"]], "recomp": []}, {"both": [["0x100aa808", "mov eax, dword ptr [ebp + 0x10]", "0x100986f7"], ["0x100aa80b", "mov ecx, esi", "0x100986fa"]]}, {"orig": [], "recomp": [["0x100986fc", "mov dword ptr [ebp - 4], 0xffffffff"]]}, {"both": [["0x100aa80d", "push eax", "0x10098703"], ["0x100aa80e", "call LegoMesh::Read (FUNCTION)", "0x10098704"], ["0x100aa813", "test eax, eax", "0x10098709"], ["0x100aa815", "jne -0xb9", "0x1009870b"], ["0x100aa81b", "xor eax, eax", "0x10098711"], ["0x100aa81d", "mov al, byte ptr [esi + 0xc]", "0x10098713"], ["0x100aa820", "test eax, eax", "0x10098716"]]}, {"orig": [["0x100aa822", "je 0xc"]], "recomp": [["0x10098718", "je 0xe"]]}, {"both": [["0x100aa824", "cmp eax, 2", "0x1009871a"]]}, {"orig": [["0x100aa827", "je 0xe"], ["0x100aa829", "mov edi, 3"], ["0x100aa82e", "jmp 0x9"], ["0x100aa830", "mov edi, 2"], ["0x100aa835", "jmp 0x2"], ["0x100aa837", "xor edi, edi"], ["0x100aa839", "mov eax, dword ptr [ebp - 0xe]"]], "recomp": [["0x1009871d", "je 0x12"], ["0x1009871f", "mov dword ptr [ebp - 0x18], 3"], ["0x10098726", "jmp 0x10"], ["0x10098728", "mov dword ptr [ebp - 0x18], 2"], ["0x1009872f", "jmp 0x7"], ["0x10098731", "mov dword ptr [ebp - 0x18], 0"], ["0x10098738", "mov eax, dword ptr [ebp - 0x6c]"]]}, {"both": [["0x100aa83c", "and eax, 0xffff", "0x1009873b"], ["0x100aa841", "add dword ptr [ebx + 0x14], eax", "0x10098740"]]}, {"orig": [["0x100aa844", "mov ecx, dword ptr [esi + 0x18]"], ["0x100aa847", "mov edx, dword ptr [esi + 0x1c]"], ["0x100aa84a", "push ecx"], ["0x100aa84b", "mov dword ptr [ebp - 0x20], ecx"], ["0x100aa84e", "mov dword ptr [ebp - 0x44], edx"]], "recomp": [["0x10098743", "mov edi, dword ptr [esi + 0x18]"], ["0x10098746", "mov ecx, dword ptr [esi + 0x1c]"], ["0x10098749", "push edi"], ["0x1009874a", "mov dword ptr [ebp - 0x3c], ecx"]]}, {"both": [["0x100aa851", "call LegoLOD::FUN_100aae20 (FUNCTION)", "0x1009874d"], ["0x100aa856", "add esp, 4", "0x10098752"], ["0x100aa859", "test al, al", "0x10098755"], ["0x100aa85b", "jne 0x1b", "0x10098757"]]}, {"orig": [["0x100aa85d", "mov eax, dword ptr [ebp - 0x44]"]], "recomp": [["0x10098759", "mov eax, dword ptr [ebp - 0x3c]"]]}, {"both": [["0x100aa860", "push eax", "0x1009875c"], ["0x100aa861", "call LegoLOD::FUN_100aae20 (FUNCTION)", "0x1009875d"], ["0x100aa866", "add esp, 4", "0x10098762"], ["0x100aa869", "test al, al", "0x10098765"], ["0x100aa86b", "jne 0xb", "0x10098767"]]}, {"orig": [["0x100aa86d", "mov ecx, dword ptr [ebp - 0x4c]"], ["0x100aa870", "mov dword ptr [ebp - 0x28], ecx"], ["0x100aa873", "inc dword ptr [ebp - 0x4c]"]], "recomp": [["0x10098769", "mov ecx, dword ptr [ebp - 0x48]"], ["0x1009876c", "mov dword ptr [ebp - 0x20], ecx"], ["0x1009876f", "inc dword ptr [ebp - 0x48]"]]}, {"both": [["0x100aa876", "jmp 0x9", "0x10098772"]]}, {"orig": [["0x100aa878", "mov ecx, dword ptr [ebp - 0x6c]"], ["0x100aa87b", "mov dword ptr [ebp - 0x28], ecx"], ["0x100aa87e", "dec dword ptr [ebp - 0x6c]"]], "recomp": [["0x10098774", "mov ecx, dword ptr [ebp - 0x70]"], ["0x10098777", "mov dword ptr [ebp - 0x20], ecx"], ["0x1009877a", "dec dword ptr [ebp - 0x70]"]]}, {"both": [["0x100aa881", "mov ecx, dword ptr [ebx + 4]", "0x1009877d"]]}, {"orig": [["0x100aa884", "push edi"]], "recomp": [["0x10098780", "mov eax, dword ptr [ebp - 0x18]"], ["0x10098783", "push eax"], ["0x10098784", "mov edx, dword ptr [ebp - 0x24]"], ["0x10098787", "push edx"], ["0x10098788", "mov eax, dword ptr [ebp - 0x28]"], ["0x1009878b", "push eax"], ["0x1009878c", "mov edx, dword ptr [ebp - 0x34]"], ["0x1009878f", "push edx"]]}, {"both": [["0x100aa885", "mov eax, dword ptr [ebp - 0x30]", "0x10098790"]]}, {"orig": [["0x100aa888", "mov edx, dword ptr [ebp - 0x34]"]], "recomp": []}, {"both": [["0x100aa88b", "push eax", "0x10098793"]]}, {"orig": [], "recomp": [["0x10098794", "mov edx, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100aa88c", "push edx", "0x10098797"]]}, {"orig": [["0x100aa88d", "mov eax, dword ptr [ebp - 0x40]"], ["0x100aa890", "mov edx, dword ptr [ebp - 0x3c]"], ["0x100aa893", "push eax"], ["0x100aa894", "push edx"], ["0x100aa895", "mov eax, dword ptr [ebp - 0x38]"], ["0x100aa898", "push eax"], ["0x100aa899", "mov eax, dword ptr [ebp - 0xe]"]], "recomp": [["0x10098798", "mov eax, dword ptr [ebp - 0x6c]"]]}, {"both": [["0x100aa89c", "and eax, 0xffff", "0x1009879b"], ["0x100aa8a1", "push eax", "0x100987a0"]]}, {"orig": [["0x100aa8a2", "mov eax, dword ptr [ebp - 0x2a]"]], "recomp": [["0x100987a1", "mov eax, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100aa8a5", "and eax, 0xffff", "0x100987a4"], ["0x100aa8aa", "push eax", "0x100987a9"], ["0x100aa8ab", "mov eax, dword ptr [ecx]", "0x100987aa"], ["0x100aa8ad", "call dword ptr [eax + 8]", "0x100987ac"], ["0x100aa8b0", "mov edx, dword ptr [ebx + 0xc]", "0x100987af"]]}, {"orig": [["0x100aa8b3", "mov ecx, dword ptr [ebp - 0x28]"]], "recomp": [["0x100987b2", "mov ecx, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100aa8b6", "mov dword ptr [edx + ecx*8], eax", "0x100987b5"], ["0x100aa8b9", "mov edx, dword ptr [ebx + 0xc]", "0x100987b8"], ["0x100aa8bc", "mov ecx, dword ptr [edx + ecx*8]", "0x100987bb"], ["0x100aa8bf", "test ecx, ecx", "0x100987be"]]}, {"orig": [["0x100aa8c1", "je -0x165"], ["0x100aa8c7", "push edi"]], "recomp": [["0x100987c0", "je -0x16e"], ["0x100987c6", "mov eax, dword ptr [ebp - 0x18]"], ["0x100987c9", "push eax"]]}, {"both": [["0x100aa8c8", "mov eax, dword ptr [ecx]", "0x100987ca"], ["0x100aa8ca", "call dword ptr [eax + 0x18]", "0x100987cc"]]}, {"orig": [["0x100aa8cd", "cmp dword ptr [ebp - 0x20], 0"]], "recomp": [["0x100987cf", "test edi, edi"]]}, {"both": [["0x100aa8d1", "jne 0xd2", "0x100987d1"]]}, {"orig": [["0x100aa8d7", "mov dword ptr [ebp - 0x54], 0"], ["0x100aa8de", "mov dword ptr [ebp - 0x5c], 0"]], "recomp": [["0x100987d7", "mov dword ptr [ebp - 0x50], 0"], ["0x100987de", "mov dword ptr [ebp - 0x58], 0"]]}, {"both": [["0x100aa8e5", "mov eax, 0x3f800000", "0x100987e5"]]}, {"orig": [["0x100aa8ea", "mov dword ptr [ebp - 0x50], eax"], ["0x100aa8ed", "mov dword ptr [ebp - 0x58], eax"]], "recomp": [["0x100987ea", "mov dword ptr [ebp - 0x4c], eax"], ["0x100987ed", "mov dword ptr [ebp - 0x54], eax"]]}, {"both": [["0x100aa8f0", "cmp byte ptr [esi + 0x21], 0", "0x100987f0"], ["0x100aa8f4", "je 0x1e", "0x100987f4"]]}, {"orig": [["0x100aa8f6", "lea eax, [ebp - 0x5c]"], ["0x100aa8f9", "lea ecx, [ebp - 0x58]"]], "recomp": [["0x100987f6", "lea eax, [ebp - 0x58]"], ["0x100987f9", "lea ecx, [ebp - 0x54]"]]}, {"both": [["0x100aa8fc", "push eax", "0x100987fc"]]}, {"orig": [["0x100aa8fd", "lea edx, [ebp - 0x54]"]], "recomp": [["0x100987fd", "lea edx, [ebp - 0x50]"]]}, {"both": [["0x100aa900", "push ecx", "0x10098800"]]}, {"orig": [["0x100aa901", "lea eax, [ebp - 0x50]"]], "recomp": [["0x10098801", "lea eax, [ebp - 0x4c]"]]}, {"both": [["0x100aa904", "push edx", "0x10098804"]]}, {"orig": [["0x100aa905", "mov ecx, dword ptr [ebp - 0x44]"]], "recomp": [["0x10098805", "mov ecx, dword ptr [ebp - 0x3c]"]]}, {"both": [["0x100aa908", "push eax", "0x10098808"], ["0x100aa909", "push ecx", "0x10098809"], ["0x100aa90a", "call LegoROI::FUN_100a9bf0 (FUNCTION)", "0x1009880a"], ["0x100aa90f", "add esp, 0x14", "0x1009880f"], ["0x100aa912", "jmp 0x72", "0x10098812"], ["0x100aa914", "lea ecx, [esi + 4]", "0x10098814"]]}, {"orig": [["0x100aa917", "lea edx, [ebp - 0x1c]"]], "recomp": [["0x10098817", "lea edx, [ebp - 0x14]"]]}, {"both": [["0x100aa91a", "mov ax, word ptr [ecx]", "0x1009881a"], ["0x100aa91d", "mov word ptr [edx], ax", "0x1009881d"], ["0x100aa920", "mov al, byte ptr [ecx + 2]", "0x10098820"], ["0x100aa923", "mov byte ptr [edx + 2], al", "0x10098823"], ["0x100aa926", "xor eax, eax", "0x10098826"]]}, {"orig": [["0x100aa928", "mov al, byte ptr [ebp - 0x1c]"], ["0x100aa92b", "lea edx, [ebp - 0x18]"], ["0x100aa92e", "mov dword ptr [ebp - 0x20], eax"], ["0x100aa931", "fild dword ptr [ebp - 0x20]"]], "recomp": [["0x10098828", "mov al, byte ptr [ebp - 0x14]"], ["0x1009882b", "lea edx, [ebp - 0x10]"], ["0x1009882e", "mov dword ptr [ebp - 0x18], eax"], ["0x10098831", "fild dword ptr [ebp - 0x18]"]]}, {"both": [["0x100aa934", "fmul qword ptr [0.00392156862745098 (FLOAT)]", "0x10098834"]]}, {"orig": [["0x100aa93a", "fstp dword ptr [ebp - 0x50]"]], "recomp": [["0x1009883a", "fstp dword ptr [ebp - 0x4c]"]]}, {"both": [["0x100aa93d", "mov ax, word ptr [ecx]", "0x1009883d"], ["0x100aa940", "mov word ptr [edx], ax", "0x10098840"], ["0x100aa943", "mov al, byte ptr [ecx + 2]", "0x10098843"], ["0x100aa946", "mov byte ptr [edx + 2], al", "0x10098846"], ["0x100aa949", "xor eax, eax", "0x10098849"]]}, {"orig": [["0x100aa94b", "mov al, byte ptr [ebp - 0x17]"], ["0x100aa94e", "lea edx, [ebp - 0x14]"], ["0x100aa951", "mov dword ptr [ebp - 0x20], eax"], ["0x100aa954", "fild dword ptr [ebp - 0x20]"]], "recomp": [["0x1009884b", "mov al, byte ptr [ebp - 0xf]"], ["0x1009884e", "lea edx, [ebp - 0x3f]"], ["0x10098851", "mov dword ptr [ebp - 0x18], eax"], ["0x10098854", "fild dword ptr [ebp - 0x18]"]]}, {"both": [["0x100aa957", "fmul qword ptr [0.00392156862745098 (FLOAT)]", "0x10098857"]]}, {"orig": [["0x100aa95d", "fstp dword ptr [ebp - 0x54]"]], "recomp": [["0x1009885d", "fstp dword ptr [ebp - 0x50]"]]}, {"both": [["0x100aa960", "mov ax, word ptr [ecx]", "0x10098860"], ["0x100aa963", "mov cl, byte ptr [ecx + 2]", "0x10098863"], ["0x100aa966", "mov word ptr [edx], ax", "0x10098866"], ["0x100aa969", "xor eax, eax", "0x10098869"], ["0x100aa96b", "mov byte ptr [edx + 2], cl", "0x1009886b"]]}, {"orig": [["0x100aa96e", "mov al, byte ptr [ebp - 0x12]"], ["0x100aa971", "mov dword ptr [ebp - 0x20], eax"], ["0x100aa974", "fild dword ptr [ebp - 0x20]"]], "recomp": [["0x1009886e", "mov al, byte ptr [ebp - 0x3d]"], ["0x10098871", "mov dword ptr [ebp - 0x18], eax"], ["0x10098874", "fild dword ptr [ebp - 0x18]"]]}, {"both": [["0x100aa977", "fmul qword ptr [0.00392156862745098 (FLOAT)]", "0x10098877"]]}, {"orig": [["0x100aa97d", "fstp dword ptr [ebp - 0x58]"]], "recomp": [["0x1009887d", "fstp dword ptr [ebp - 0x54]"]]}, {"both": [["0x100aa980", "mov ecx, dword ptr [esi + 8]", "0x10098880"]]}, {"orig": [["0x100aa983", "mov dword ptr [ebp - 0x5c], ecx"]], "recomp": [["0x10098883", "mov dword ptr [ebp - 0x58], ecx"]]}, {"both": [["0x100aa986", "mov eax, dword ptr [ebx + 0xc]", "0x10098886"]]}, {"orig": [["0x100aa989", "mov ecx, dword ptr [ebp - 0x28]"], ["0x100aa98c", "mov edx, dword ptr [ebp - 0x58]"], ["0x100aa98f", "mov edi, dword ptr [ebp - 0x54]"]], "recomp": [["0x10098889", "mov ecx, dword ptr [ebp - 0x20]"], ["0x1009888c", "mov edx, dword ptr [ebp - 0x54]"], ["0x1009888f", "mov edi, dword ptr [ebp - 0x50]"]]}, {"both": [["0x100aa992", "mov ecx, dword ptr [eax + ecx*8]", "0x10098892"]]}, {"orig": [["0x100aa995", "mov eax, dword ptr [ebp - 0x5c]"]], "recomp": [["0x10098895", "mov eax, dword ptr [ebp - 0x58]"]]}, {"both": [["0x100aa998", "push eax", "0x10098898"], ["0x100aa999", "push edx", "0x10098899"], ["0x100aa99a", "push edi", "0x1009889a"]]}, {"orig": [["0x100aa99b", "mov eax, dword ptr [ebp - 0x50]"]], "recomp": [["0x1009889b", "mov eax, dword ptr [ebp - 0x4c]"]]}, {"both": [["0x100aa99e", "push eax", "0x1009889e"], ["0x100aa99f", "mov edi, dword ptr [ecx]", "0x1009889f"], ["0x100aa9a1", "call dword ptr [edi + 8]", "0x100988a1"]]}, {"orig": [["0x100aa9a4", "jmp 0x129"]], "recomp": [["0x100988a4", "jmp 0x126"]]}, {"both": [["0x100aa9a9", "cmp byte ptr [esi + 0x21], 0", "0x100988a9"]]}, {"orig": [["0x100aa9ad", "je 0x18"]], "recomp": [["0x100988ad", "je 0x15"]]}, {"both": [["0x100aa9af", "push 0x100", "0x100988af"]]}, {"orig": [["0x100aa9b4", "lea eax, [ebp - 0x180]"]], "recomp": [["0x100988b4", "lea eax, [ebp - 0x184]"]]}, {"both": [["0x100aa9ba", "push eax", "0x100988ba"]]}, {"orig": [["0x100aa9bb", "mov ecx, dword ptr [ebp - 0x20]"], ["0x100aa9be", "push ecx"]], "recomp": [["0x100988bb", "push edi"]]}, {"both": [["0x100aa9bf", "call LegoROI::FUN_100a9cf0 (FUNCTION)", "0x100988bc"], ["0x100aa9c4", "add esp, 0xc", "0x100988c1"], ["0x100aa9c7", "mov eax, dword ptr [esi + 0x18]", "0x100988c4"], ["0x100aa9ca", "mov edx, dword ptr [ebp + 0xc]", "0x100988c7"]]}, {"orig": [["0x100aa9cd", "mov dword ptr [ebp - 0x44], 0"]], "recomp": [["0x100988ca", "mov dword ptr [ebp - 0x3c], 0"]]}, {"both": [["0x100aa9d4", "mov ecx, dword ptr [edx + 0xc]", "0x100988d1"], ["0x100aa9d7", "mov dword ptr [ebp - 0x68], eax", "0x100988d4"]]}, {"orig": [["0x100aa9da", "mov dword ptr [ebp - 0x20], ecx"]], "recomp": [["0x100988d7", "mov dword ptr [ebp - 0x18], ecx"]]}, {"both": [["0x100aa9dd", "mov eax, dword ptr [ecx + 4]", "0x100988da"]]}, {"orig": [["0x100aa9e0", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x100988dd", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100aa9e6", "je 0x41", "0x100988e3"], ["0x100aa9e8", "mov ecx, dword ptr [eax + 0xc]", "0x100988e5"], ["0x100aa9eb", "mov edi, dword ptr [ebp - 0x68]", "0x100988e8"], ["0x100aa9ee", "mov dl, byte ptr [ecx]", "0x100988eb"], ["0x100aa9f0", "cmp dl, byte ptr [edi]", "0x100988ed"], ["0x100aa9f2", "jne 0x1a", "0x100988ef"], ["0x100aa9f4", "or dl, dl", "0x100988f1"], ["0x100aa9f6", "je 0x12", "0x100988f3"], ["0x100aa9f8", "mov dl, byte ptr [ecx + 1]", "0x100988f5"], ["0x100aa9fb", "cmp dl, byte ptr [edi + 1]", "0x100988f8"]]}]], ["@@ -0x100aaa00,29 +0x100988fd,29 @@", [{"both": [["0x100aaa00", "add ecx, 2", "0x100988fd"], ["0x100aaa03", "add edi, 2", "0x10098900"], ["0x100aaa06", "or dl, dl", "0x10098903"], ["0x100aaa08", "jne -0x1c", "0x10098905"], ["0x100aaa0a", "xor ecx, ecx", "0x10098907"], ["0x100aaa0c", "jmp 0x5", "0x10098909"], ["0x100aaa0e", "sbb ecx, ecx", "0x1009890b"], ["0x100aaa10", "sbb ecx, -1", "0x1009890d"], ["0x100aaa13", "test ecx, ecx", "0x10098910"], ["0x100aaa15", "jg 0x7", "0x10098912"]]}, {"orig": [["0x100aaa17", "mov dword ptr [ebp - 0x20], eax"]], "recomp": [["0x10098914", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100aaa1a", "mov eax, dword ptr [eax]", "0x10098917"], ["0x100aaa1c", "jmp 0x3", "0x10098919"], ["0x100aaa1e", "mov eax, dword ptr [eax + 8]", "0x1009891b"]]}, {"orig": [["0x100aaa21", "cmp eax, dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)]"]], "recomp": [["0x1009891e", "cmp dword ptr [_Tree<char const *,pair<char const * const,LegoTextureInfo *>,map<char const *,LegoTextureInfo *,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Kfn,LegoContainerInfoComparator,allocator<LegoTextureInfo *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100aaa27", "jne -0x41", "0x10098924"]]}, {"orig": [["0x100aaa29", "mov ecx, dword ptr [ebp - 0x20]"]], "recomp": [["0x10098926", "mov ecx, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100aaa2c", "mov eax, dword ptr [ebp + 0xc]", "0x10098929"]]}, {"orig": [["0x100aaa2f", "mov dword ptr [ebp - 0x7c], ecx"]], "recomp": [["0x1009892c", "mov dword ptr [ebp - 0x80], ecx"]]}, {"both": [["0x100aaa32", "cmp dword ptr [eax + 0xc], ecx", "0x1009892f"], ["0x100aaa35", "je 0x32", "0x10098932"], ["0x100aaa37", "mov eax, dword ptr [ebp - 0x68]", "0x10098934"], ["0x100aaa3a", "mov edx, dword ptr [ecx + 0xc]", "0x10098937"], ["0x100aaa3d", "mov cl, byte ptr [eax]", "0x1009893a"], ["0x100aaa3f", "cmp cl, byte ptr [edx]", "0x1009893c"], ["0x100aaa41", "jne 0x1a", "0x1009893e"], ["0x100aaa43", "or cl, cl", "0x10098940"], ["0x100aaa45", "je 0x12", "0x10098942"], ["0x100aaa47", "mov cl, byte ptr [eax + 1]", "0x10098944"]]}]], ["@@ -0x100aaa4d,119 +0x1009894a,119 @@", [{"both": [["0x100aaa4d", "jne 0xe", "0x1009894a"], ["0x100aaa4f", "add eax, 2", "0x1009894c"], ["0x100aaa52", "add edx, 2", "0x1009894f"], ["0x100aaa55", "or cl, cl", "0x10098952"], ["0x100aaa57", "jne -0x1c", "0x10098954"], ["0x100aaa59", "xor eax, eax", "0x10098956"], ["0x100aaa5b", "jmp 0x5", "0x10098958"], ["0x100aaa5d", "sbb eax, eax", "0x1009895a"], ["0x100aaa5f", "sbb eax, -1", "0x1009895c"], ["0x100aaa62", "test eax, eax", "0x1009895f"]]}, {"orig": [["0x100aaa64", "lea eax, [ebp - 0x7c]"]], "recomp": [["0x10098961", "lea eax, [ebp - 0x80]"]]}, {"both": [["0x100aaa67", "jle 0xc", "0x10098964"], ["0x100aaa69", "mov eax, dword ptr [ebp + 0xc]", "0x10098966"], ["0x100aaa6c", "mov ecx, dword ptr [eax + 0xc]", "0x10098969"]]}, {"orig": [["0x100aaa6f", "lea eax, [ebp - 0x78]"], ["0x100aaa72", "mov dword ptr [ebp - 0x78], ecx"]], "recomp": [["0x1009896c", "lea eax, [ebp - 0x7c]"], ["0x1009896f", "mov dword ptr [ebp - 0x7c], ecx"]]}, {"both": [["0x100aaa75", "mov eax, dword ptr [eax]", "0x10098972"], ["0x100aaa77", "mov edx, dword ptr [ebp + 0xc]", "0x10098974"], ["0x100aaa7a", "cmp dword ptr [edx + 0xc], eax", "0x10098977"], ["0x100aaa7d", "je 0x6", "0x1009897a"], ["0x100aaa7f", "mov ecx, dword ptr [eax + 0x10]", "0x1009897c"]]}, {"orig": [["0x100aaa82", "mov dword ptr [ebp - 0x44], ecx"], ["0x100aaa85", "cmp dword ptr [ebp - 0x44], 0"], ["0x100aaa89", "je -0x32d"]], "recomp": [["0x1009897f", "mov dword ptr [ebp - 0x3c], ecx"], ["0x10098982", "cmp dword ptr [ebp - 0x3c], 0"], ["0x10098986", "je -0x334"]]}, {"both": [["0x100aaa8f", "mov eax, dword ptr [ebx + 0xc]", "0x1009898c"]]}, {"orig": [["0x100aaa92", "mov ecx, dword ptr [ebp - 0x28]"]], "recomp": [["0x1009898f", "mov ecx, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100aaa95", "push 0", "0x10098992"], ["0x100aaa97", "push 0x3f800000", "0x10098994"], ["0x100aaa9c", "mov ecx, dword ptr [eax + ecx*8]", "0x10098999"], ["0x100aaa9f", "push 0x3f800000", "0x1009899c"], ["0x100aaaa4", "push 0x3f800000", "0x100989a1"], ["0x100aaaa9", "mov eax, dword ptr [ecx]", "0x100989a6"], ["0x100aaaab", "call dword ptr [eax + 8]", "0x100989a8"]]}, {"orig": [["0x100aaaae", "mov ecx, dword ptr [ebp - 0x44]"]], "recomp": [["0x100989ab", "mov ecx, dword ptr [ebp - 0x3c]"]]}, {"both": [["0x100aaab1", "mov edx, dword ptr [ebx + 0xc]", "0x100989ae"], ["0x100aaab4", "push ecx", "0x100989b1"]]}, {"orig": [["0x100aaab5", "mov edi, dword ptr [ebp - 0x28]"]], "recomp": [["0x100989b2", "mov edi, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100aaab8", "mov eax, dword ptr [edx + edi*8]", "0x100989b5"], ["0x100aaabb", "push eax", "0x100989b8"], ["0x100aaabc", "call LegoTextureInfo::SetGroupTexture (FUNCTION)", "0x100989b9"]]}, {"orig": [["0x100aaac1", "mov edi, dword ptr [ebp - 0x28]"]], "recomp": [["0x100989be", "mov edi, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100aaac4", "add esp, 8", "0x100989c1"], ["0x100aaac7", "mov eax, dword ptr [ebx + 0xc]", "0x100989c4"], ["0x100aaaca", "mov dword ptr [eax + edi*8 + 4], 1", "0x100989c7"], ["0x100aaad2", "cmp byte ptr [esi + 0xd], 0", "0x100989cf"], ["0x100aaad6", "jbe 0x1e", "0x100989d3"], ["0x100aaad8", "mov eax, dword ptr [ebx + 0xc]", "0x100989d5"]]}, {"orig": [["0x100aaadb", "mov ecx, dword ptr [ebp - 0x28]"]], "recomp": [["0x100989d8", "mov ecx, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100aaade", "mov edx, dword ptr [eax + ecx*8]", "0x100989db"], ["0x100aaae1", "mov eax, dword ptr [edx + 4]", "0x100989de"], ["0x100aaae4", "mov ecx, dword ptr [eax]", "0x100989e1"], ["0x100aaae6", "mov edx, dword ptr [eax + 4]", "0x100989e3"], ["0x100aaae9", "mov eax, dword ptr [g_unk0x101013d4 (DATA)]", "0x100989e6"]]}, {"orig": [["0x100aaaee", "mov edi, dword ptr [ecx]"]], "recomp": []}, {"both": [["0x100aaaf0", "push eax", "0x100989eb"], ["0x100aaaf1", "push edx", "0x100989ec"], ["0x100aaaf2", "push ecx", "0x100989ed"]]}, {"orig": [["0x100aaaf3", "call dword ptr [edi + 0x50]"]], "recomp": [["0x100989ee", "mov eax, dword ptr [ecx]"], ["0x100989f0", "call dword ptr [eax + 0x50]"]]}, {"both": [["0x100aaaf6", "test esi, esi", "0x100989f3"], ["0x100aaaf8", "je 0xa", "0x100989f5"], ["0x100aaafa", "push 1", "0x100989f7"], ["0x100aaafc", "mov eax, dword ptr [esi]", "0x100989f9"], ["0x100aaafe", "mov ecx, esi", "0x100989fb"], ["0x100aab00", "xor esi, esi", "0x100989fd"], ["0x100aab02", "call dword ptr [eax]", "0x100989ff"]]}, {"orig": [], "recomp": [["0x10098a01", "cmp dword ptr [ebp - 0x28], 0"], ["0x10098a05", "je 0x13"], ["0x10098a07", "mov eax, dword ptr [ebp - 0x28]"], ["0x10098a0a", "push eax"], ["0x10098a0b", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x10098a10", "mov dword ptr [ebp - 0x28], 0"], ["0x10098a17", "add esp, 4"], ["0x10098a1a", "cmp dword ptr [ebp - 0x24], 0"], ["0x10098a1e", "je 0x13"], ["0x10098a20", "mov eax, dword ptr [ebp - 0x24]"], ["0x10098a23", "push eax"], ["0x10098a24", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x10098a29", "mov dword ptr [ebp - 0x24], 0"], ["0x10098a30", "add esp, 4"], ["0x10098a33", "inc dword ptr [ebp - 0x5c]"], ["0x10098a36", "mov eax, dword ptr [ebp - 0x5c]"], ["0x10098a39", "cmp dword ptr [ebx + 0x10], eax"], ["0x10098a3c", "ja -0x4ab"]]}, {"both": [["0x100aab04", "cmp dword ptr [ebp - 0x34], 0", "0x10098a42"]]}, {"orig": [["0x100aab08", "je 0x13"]], "recomp": [["0x10098a46", "mov eax, dword ptr [ebp - 0x48]"], ["0x10098a49", "mov dword ptr [ebx + 0x1c], eax"], ["0x10098a4c", "je 0xc"]]}, {"both": [["0x100aab0a", "mov eax, dword ptr [ebp - 0x34]", "0x10098a4e"], ["0x100aab0d", "push eax", "0x10098a51"], ["0x100aab0e", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098a52"]]}, {"orig": [["0x100aab13", "mov dword ptr [ebp - 0x34], 0"]], "recomp": []}, {"both": [["0x100aab1a", "add esp, 4", "0x10098a57"], ["0x100aab1d", "cmp dword ptr [ebp - 0x30], 0", "0x10098a5a"]]}, {"orig": [["0x100aab21", "je 0x13"]], "recomp": [["0x10098a5e", "je 0xc"]]}, {"both": [["0x100aab23", "mov eax, dword ptr [ebp - 0x30]", "0x10098a60"], ["0x100aab26", "push eax", "0x10098a63"], ["0x100aab27", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098a64"]]}, {"orig": [["0x100aab2c", "mov dword ptr [ebp - 0x30], 0"]], "recomp": []}, {"both": [["0x100aab33", "add esp, 4", "0x10098a69"]]}, {"orig": [["0x100aab36", "inc dword ptr [ebp - 0x60]"], ["0x100aab39", "mov eax, dword ptr [ebp - 0x60]"], ["0x100aab3c", "cmp dword ptr [ebx + 0x10], eax"], ["0x100aab3f", "ja -0x49e"], ["0x100aab45", "cmp dword ptr [ebp - 0x40], 0"], ["0x100aab49", "mov eax, dword ptr [ebp - 0x4c]"], ["0x100aab4c", "mov dword ptr [ebx + 0x1c], eax"]], "recomp": [["0x10098a6c", "cmp dword ptr [ebp - 0x2c], 0"]]}, {"both": [["0x100aab4f", "je 0xc", "0x10098a70"]]}, {"orig": [["0x100aab51", "mov eax, dword ptr [ebp - 0x40]"], ["0x100aab54", "push eax"], ["0x100aab55", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100aab5a", "add esp, 4"], ["0x100aab5d", "cmp dword ptr [ebp - 0x3c], 0"], ["0x100aab61", "je 0xc"], ["0x100aab63", "mov eax, dword ptr [ebp - 0x3c]"], ["0x100aab66", "push eax"], ["0x100aab67", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100aab6c", "add esp, 4"], ["0x100aab6f", "cmp dword ptr [ebp - 0x38], 0"], ["0x100aab73", "je 0xc"], ["0x100aab75", "mov eax, dword ptr [ebp - 0x38]"]], "recomp": [["0x10098a72", "mov eax, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100aab78", "push eax", "0x10098a75"], ["0x100aab79", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098a76"], ["0x100aab7e", "add esp, 4", "0x10098a7b"], ["0x100aab81", "xor eax, eax", "0x10098a7e"], ["0x100aab83", "mov ecx, dword ptr [ebp - 0xc]", "0x10098a80"], ["0x100aab86", "pop edi", "0x10098a83"], ["0x100aab87", "mov dword ptr fs:[0], ecx", "0x10098a84"], ["0x100aab8e", "pop esi", "0x10098a8b"], ["0x100aab8f", "pop ebx", "0x10098a8c"], ["0x100aab90", "mov esp, ebp", "0x10098a8d"], ["0x100aab92", "pop ebp", "0x10098a8f"], ["0x100aab93", "ret 0xc", "0x10098a90"], ["0x100aab96", "mov eax, <OFFSET13>", "0x10098a93"], ["0x100aab9b", "jmp ___CxxFrameHandler (FUNCTION)", "0x10098a98"]]}, {"orig": [["0x100aaba0", "mov eax, dword ptr [ebp - 0x28]"]], "recomp": [["0x10098a9d", "mov eax, dword ptr [ebp - 0x20]"]]}, {"both": [["0x100aaba3", "push eax", "0x10098aa0"], ["0x100aaba4", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098aa1"], ["0x100aaba9", "add esp, 4", "0x10098aa6"], ["0x100aabac", "ret ", "0x10098aa9"]]}]]]}, {"address": "0x100aabb0", "recomp": "0x10098ab0", "name": "LegoLOD::Clone", "matching": 0.6867469879518072, "diff": [["@@ -0x100aabb6,80 +0x10098ab6,80 @@", [{"both": [["0x100aabb6", "push ebp", "0x10098ab6"], ["0x100aabb7", "mov ebp, esp", "0x10098ab7"], ["0x100aabb9", "push -1", "0x10098ab9"], ["0x100aabbb", "push <OFFSET1>", "0x10098abb"], ["0x100aabc0", "push eax", "0x10098ac0"], ["0x100aabc1", "mov dword ptr fs:[0], esp", "0x10098ac1"], ["0x100aabc8", "sub esp, 8", "0x10098ac8"], ["0x100aabcb", "push ebx", "0x10098acb"], ["0x100aabcc", "push esi", "0x10098acc"], ["0x100aabcd", "push edi", "0x10098acd"]]}, {"orig": [["0x100aabce", "mov esi, ecx"]], "recomp": []}, {"both": [["0x100aabd0", "push 0x20", "0x10098ace"]]}, {"orig": [["0x100aabd2", "mov edi, 0"]], "recomp": [["0x10098ad0", "mov edi, ecx"], ["0x10098ad2", "mov esi, 0"]]}, {"both": [["0x100aabd7", "call ??2@YAPAXI@Z (FUNCTION)", "0x10098ad7"], ["0x100aabdc", "add esp, 4", "0x10098adc"], ["0x100aabdf", "mov dword ptr [ebp - 0x10], eax", "0x10098adf"], ["0x100aabe2", "mov dword ptr [ebp - 4], 0", "0x10098ae2"], ["0x100aabe9", "test eax, eax", "0x10098ae9"], ["0x100aabeb", "je 0xe", "0x10098aeb"], ["0x100aabed", "mov eax, dword ptr [ebp + 8]", "0x10098aed"], ["0x100aabf0", "mov ecx, dword ptr [ebp - 0x10]", "0x10098af0"], ["0x100aabf3", "push eax", "0x10098af3"], ["0x100aabf4", "call LegoLOD::LegoLOD (FUNCTION)", "0x10098af4"]]}, {"orig": [["0x100aabf9", "mov edi, eax"], ["0x100aabfb", "mov ecx, dword ptr [esi + 4]"]], "recomp": [["0x10098af9", "mov esi, eax"], ["0x10098afb", "mov ecx, dword ptr [edi + 4]"]]}, {"both": [["0x100aabfe", "mov dword ptr [ebp - 4], 0xffffffff", "0x10098afe"], ["0x100aac05", "mov eax, dword ptr [ecx]", "0x10098b05"], ["0x100aac07", "call dword ptr [eax + 0x10]", "0x10098b07"]]}, {"orig": [["0x100aac0a", "mov dword ptr [edi + 4], eax"], ["0x100aac0d", "mov eax, dword ptr [esi + 0x10]"]], "recomp": [["0x10098b0a", "mov dword ptr [esi + 4], eax"], ["0x10098b0d", "mov eax, dword ptr [edi + 0x10]"]]}, {"both": [["0x100aac10", "shl eax, 3", "0x10098b10"], ["0x100aac13", "xor ebx, ebx", "0x10098b13"], ["0x100aac15", "push eax", "0x10098b15"], ["0x100aac16", "call ??2@YAPAXI@Z (FUNCTION)", "0x10098b16"], ["0x100aac1b", "add esp, 4", "0x10098b1b"]]}, {"orig": [["0x100aac1e", "mov dword ptr [edi + 0xc], eax"]], "recomp": [["0x10098b1e", "mov dword ptr [esi + 0xc], eax"]]}, {"both": [["0x100aac21", "mov dword ptr [ebp - 0x14], ebx", "0x10098b21"]]}, {"orig": [["0x100aac24", "cmp dword ptr [esi + 0x10], ebx"]], "recomp": [["0x10098b24", "cmp dword ptr [edi + 0x10], ebx"]]}, {"both": [["0x100aac27", "jbe 0x32", "0x10098b27"]]}, {"orig": [["0x100aac29", "mov eax, dword ptr [esi + 0xc]"], ["0x100aac2c", "mov edx, dword ptr [edi + 4]"]], "recomp": [["0x10098b29", "mov eax, dword ptr [edi + 0xc]"], ["0x10098b2c", "mov edx, dword ptr [esi + 4]"]]}, {"both": [["0x100aac2f", "mov ecx, dword ptr [eax + ebx]", "0x10098b2f"], ["0x100aac32", "add ebx, 8", "0x10098b32"], ["0x100aac35", "push edx", "0x10098b35"], ["0x100aac36", "mov eax, dword ptr [ecx]", "0x10098b36"], ["0x100aac38", "call dword ptr [eax + 0x20]", "0x10098b38"]]}, {"orig": [["0x100aac3b", "mov ecx, dword ptr [edi + 0xc]"]], "recomp": [["0x10098b3b", "mov ecx, dword ptr [esi + 0xc]"]]}, {"both": [["0x100aac3e", "inc dword ptr [ebp - 0x14]", "0x10098b3e"], ["0x100aac41", "mov dword ptr [ecx + ebx - 8], eax", "0x10098b41"]]}, {"orig": [["0x100aac45", "mov ecx, dword ptr [edi + 0xc]"], ["0x100aac48", "mov edx, dword ptr [esi + 0xc]"]], "recomp": [["0x10098b45", "mov ecx, dword ptr [esi + 0xc]"], ["0x10098b48", "mov edx, dword ptr [edi + 0xc]"]]}, {"both": [["0x100aac4b", "mov eax, dword ptr [edx + ebx - 4]", "0x10098b4b"], ["0x100aac4f", "mov dword ptr [ecx + ebx - 4], eax", "0x10098b4f"], ["0x100aac53", "mov eax, dword ptr [ebp - 0x14]", "0x10098b53"]]}, {"orig": [["0x100aac56", "cmp dword ptr [esi + 0x10], eax"]], "recomp": [["0x10098b56", "cmp dword ptr [edi + 0x10], eax"]]}, {"both": [["0x100aac59", "ja -0x32", "0x10098b59"]]}, {"orig": [["0x100aac5b", "mov eax, dword ptr [esi + 8]"], ["0x100aac5e", "mov dword ptr [edi + 8], eax"], ["0x100aac61", "mov ecx, dword ptr [esi + 0x10]"], ["0x100aac64", "mov dword ptr [edi + 0x10], ecx"], ["0x100aac67", "mov edx, dword ptr [esi + 0x14]"], ["0x100aac6a", "mov dword ptr [edi + 0x14], edx"], ["0x100aac6d", "mov eax, dword ptr [esi + 0x18]"], ["0x100aac70", "mov dword ptr [edi + 0x18], eax"], ["0x100aac73", "mov eax, edi"], ["0x100aac75", "mov ecx, dword ptr [esi + 0x1c]"], ["0x100aac78", "mov dword ptr [edi + 0x1c], ecx"]], "recomp": [["0x10098b5b", "mov eax, dword ptr [edi + 8]"], ["0x10098b5e", "mov dword ptr [esi + 8], eax"], ["0x10098b61", "mov ecx, dword ptr [edi + 0x10]"], ["0x10098b64", "mov dword ptr [esi + 0x10], ecx"], ["0x10098b67", "mov edx, dword ptr [edi + 0x14]"], ["0x10098b6a", "mov dword ptr [esi + 0x14], edx"], ["0x10098b6d", "mov eax, dword ptr [edi + 0x18]"], ["0x10098b70", "mov dword ptr [esi + 0x18], eax"], ["0x10098b73", "mov eax, esi"], ["0x10098b75", "mov ecx, dword ptr [edi + 0x1c]"], ["0x10098b78", "pop edi"], ["0x10098b79", "mov dword ptr [esi + 0x1c], ecx"]]}, {"both": [["0x100aac7b", "mov ecx, dword ptr [ebp - 0xc]", "0x10098b7c"], ["0x100aac7e", "mov dword ptr fs:[0], ecx", "0x10098b7f"]]}, {"orig": [["0x100aac85", "pop edi"]], "recomp": []}, {"both": [["0x100aac86", "pop esi", "0x10098b86"], ["0x100aac87", "pop ebx", "0x10098b87"], ["0x100aac88", "mov esp, ebp", "0x10098b88"], ["0x100aac8a", "pop ebp", "0x10098b8a"], ["0x100aac8b", "ret 4", "0x10098b8b"], ["0x100aac8e", "mov eax, <OFFSET4>", "0x10098b8e"], ["0x100aac93", "jmp ___CxxFrameHandler (FUNCTION)", "0x10098b93"], ["0x100aac98", "mov eax, dword ptr [ebp - 0x10]", "0x10098b98"], ["0x100aac9b", "push eax", "0x10098b9b"], ["0x100aac9c", "call ??3@YAXPAX@Z (FUNCTION)", "0x10098b9c"]]}]]]}, {"address": "0x100aacb0", "recomp": "0x10098bb0", "name": "LegoLOD::FUN_100aacb0", "matching": 0.7428571428571429, "diff": [["@@ -0x100aacb0,35 +0x10098bb0,35 @@", [{"both": [["0x100aacb0", "push ebx", "0x10098bb0"], ["0x100aacb1", "push esi", "0x10098bb1"], ["0x100aacb2", "push edi", "0x10098bb2"]]}, {"orig": [], "recomp": [["0x10098bb3", "mov esi, ecx"]]}, {"both": [["0x100aacb3", "push ebp", "0x10098bb5"]]}, {"orig": [["0x100aacb4", "mov ebx, dword ptr [ecx + 0x1c]"], ["0x100aacb7", "mov edi, ecx"], ["0x100aacb9", "cmp dword ptr [ecx + 0x10], ebx"]], "recomp": [["0x10098bb6", "mov edi, dword ptr [esi + 0x1c]"], ["0x10098bb9", "cmp dword ptr [esi + 0x10], edi"]]}, {"both": [["0x100aacbc", "jbe 0x37", "0x10098bbc"]]}, {"orig": [["0x100aacbe", "lea esi, [ebx*8]"]], "recomp": [["0x10098bbe", "lea ebx, [edi*8]"]]}, {"both": [["0x100aacc5", "xor ebp, ebp", "0x10098bc5"]]}, {"orig": [["0x100aacc7", "mov eax, dword ptr [edi + 0xc]"], ["0x100aacca", "add eax, esi"]], "recomp": [["0x10098bc7", "mov eax, dword ptr [esi + 0xc]"], ["0x10098bca", "add eax, ebx"]]}, {"both": [["0x100aaccc", "cmp dword ptr [eax + 4], ebp", "0x10098bcc"], ["0x100aaccf", "jne 0x1b", "0x10098bcf"], ["0x100aacd1", "mov ecx, dword ptr [eax]", "0x10098bd1"], ["0x100aacd3", "mov edx, dword ptr [esp + 0x1c]", "0x10098bd3"], ["0x100aacd7", "mov eax, dword ptr [esp + 0x20]", "0x10098bd7"], ["0x100aacdb", "push eax", "0x10098bdb"], ["0x100aacdc", "push edx", "0x10098bdc"], ["0x100aacdd", "mov eax, dword ptr [esp + 0x20]", "0x10098bdd"], ["0x100aace1", "mov edx, dword ptr [esp + 0x1c]", "0x10098be1"], ["0x100aace5", "push eax", "0x10098be5"], ["0x100aace6", "push edx", "0x10098be6"], ["0x100aace7", "mov eax, dword ptr [ecx]", "0x10098be7"], ["0x100aace9", "call dword ptr [eax + 8]", "0x10098be9"]]}, {"orig": [["0x100aacec", "add esi, 8"], ["0x100aacef", "inc ebx"], ["0x100aacf0", "cmp dword ptr [edi + 0x10], ebx"]], "recomp": [["0x10098bec", "add ebx, 8"], ["0x10098bef", "inc edi"], ["0x10098bf0", "cmp dword ptr [esi + 0x10], edi"]]}, {"both": [["0x100aacf3", "ja -0x2e", "0x10098bf3"], ["0x100aacf5", "xor eax, eax", "0x10098bf5"], ["0x100aacf7", "pop ebp", "0x10098bf7"], ["0x100aacf8", "pop edi", "0x10098bf8"], ["0x100aacf9", "pop esi", "0x10098bf9"], ["0x100aacfa", "pop ebx", "0x10098bfa"], ["0x100aacfb", "ret 0x10", "0x10098bfb"]]}]]]}, {"address": "0x100aad00", "recomp": "0x10098c00", "name": "LegoLOD::FUN_100aad00", "matching": 1.0, "diff": []}, {"address": "0x100aad70", "recomp": "0x10098c70", "name": "LegoLOD::FUN_100aad70", "matching": 0.6206896551724138, "diff": [["@@ -0x100aad70,29 +0x10098c70,29 @@", [{"both": [["0x100aad70", "push ebx", "0x10098c70"], ["0x100aad71", "push esi", "0x10098c71"], ["0x100aad72", "push edi", "0x10098c72"]]}, {"orig": [], "recomp": [["0x10098c73", "mov ebx, ecx"]]}, {"both": [["0x100aad73", "push ebp", "0x10098c75"]]}, {"orig": [["0x100aad74", "mov ebx, dword ptr [ecx + 0x1c]"], ["0x100aad77", "mov edi, ecx"], ["0x100aad79", "cmp dword ptr [ecx + 0x10], ebx"]], "recomp": [["0x10098c76", "mov ebp, dword ptr [ebx + 0x1c]"], ["0x10098c79", "cmp dword ptr [ebx + 0x10], ebp"]]}, {"both": [["0x100aad7c", "jbe 0x2b", "0x10098c7c"]]}, {"orig": [["0x100aad7e", "lea ebp, [ebx*8]"], ["0x100aad85", "mov esi, dword ptr [esp + 0x14]"], ["0x100aad89", "mov eax, dword ptr [edi + 0xc]"], ["0x100aad8c", "add eax, ebp"]], "recomp": [["0x10098c7e", "lea esi, [ebp*8]"], ["0x10098c85", "mov edi, dword ptr [esp + 0x14]"], ["0x10098c89", "mov eax, dword ptr [ebx + 0xc]"], ["0x10098c8c", "add eax, esi"]]}, {"both": [["0x100aad8e", "cmp dword ptr [eax + 4], 0", "0x10098c8e"], ["0x100aad92", "je 0xc", "0x10098c92"]]}, {"orig": [["0x100aad94", "push esi"]], "recomp": [["0x10098c94", "push edi"]]}, {"both": [["0x100aad95", "mov eax, dword ptr [eax]", "0x10098c95"], ["0x100aad97", "push eax", "0x10098c97"], ["0x100aad98", "call LegoTextureInfo::SetGroupTexture (FUNCTION)", "0x10098c98"], ["0x100aad9d", "add esp, 8", "0x10098c9d"]]}, {"orig": [["0x100aada0", "add ebp, 8"], ["0x100aada3", "inc ebx"], ["0x100aada4", "cmp dword ptr [edi + 0x10], ebx"]], "recomp": [["0x10098ca0", "add esi, 8"], ["0x10098ca3", "inc ebp"], ["0x10098ca4", "cmp dword ptr [ebx + 0x10], ebp"]]}, {"both": [["0x100aada7", "ja -0x20", "0x10098ca7"], ["0x100aada9", "xor eax, eax", "0x10098ca9"], ["0x100aadab", "pop ebp", "0x10098cab"], ["0x100aadac", "pop edi", "0x10098cac"], ["0x100aadad", "pop esi", "0x10098cad"], ["0x100aadae", "pop ebx", "0x10098cae"], ["0x100aadaf", "ret 4", "0x10098caf"]]}]]]}, {"address": "0x100aadc0", "recomp": "0x10098cc0", "name": "LegoLOD::GetTexture", "matching": 0.6301369863013698, "diff": [["@@ -0x100aadc0,33 +0x10098cc0,34 @@", [{"both": [["0x100aadc0", "push ebx", "0x10098cc0"], ["0x100aadc1", "push esi", "0x10098cc1"], ["0x100aadc2", "push edi", "0x10098cc2"]]}, {"orig": [["0x100aadc3", "mov ebx, ecx"]], "recomp": []}, {"both": [["0x100aadc5", "push ebp", "0x10098cc3"]]}, {"orig": [["0x100aadc6", "mov ebp, dword ptr [ebx + 0x1c]"], ["0x100aadc9", "cmp dword ptr [ebx + 0x10], ebp"]], "recomp": [["0x10098cc4", "mov ebx, dword ptr [ecx + 0x1c]"], ["0x10098cc7", "mov edi, ecx"], ["0x10098cc9", "cmp dword ptr [ecx + 0x10], ebx"]]}, {"both": [["0x100aadcc", "jbe 0x30", "0x10098ccc"]]}, {"orig": [["0x100aadce", "lea esi, [ebp*8]"], ["0x100aadd5", "mov edi, dword ptr [esp + 0x14]"], ["0x100aadd9", "mov eax, dword ptr [ebx + 0xc]"], ["0x100aaddc", "cmp dword ptr [esi + eax + 4], 0"], ["0x100aade1", "je 0x12"], ["0x100aade3", "push edi"], ["0x100aade4", "mov eax, dword ptr [eax + esi]"]], "recomp": [["0x10098cce", "lea ebp, [ebx*8]"], ["0x10098cd5", "mov esi, dword ptr [esp + 0x14]"], ["0x10098cd9", "mov eax, dword ptr [edi + 0xc]"], ["0x10098cdc", "add eax, ebp"], ["0x10098cde", "cmp dword ptr [eax + 4], 0"], ["0x10098ce2", "je 0x11"], ["0x10098ce4", "push esi"], ["0x10098ce5", "mov eax, dword ptr [eax]"]]}, {"both": [["0x100aade7", "push eax", "0x10098ce7"], ["0x100aade8", "call LegoTextureInfo::GetGroupTexture (FUNCTION)", "0x10098ce8"], ["0x100aaded", "add esp, 8", "0x10098ced"], ["0x100aadf0", "cmp eax, 1", "0x10098cf0"], ["0x100aadf3", "je 0x15", "0x10098cf3"]]}, {"orig": [["0x100aadf5", "add esi, 8"], ["0x100aadf8", "inc ebp"], ["0x100aadf9", "cmp dword ptr [ebx + 0x10], ebp"]], "recomp": [["0x10098cf5", "add ebp, 8"], ["0x10098cf8", "inc ebx"], ["0x10098cf9", "cmp dword ptr [edi + 0x10], ebx"]]}, {"both": [["0x100aadfc", "ja -0x25", "0x10098cfc"], ["0x100aadfe", "mov eax, 0xffffffff", "0x10098cfe"], ["0x100aae03", "pop ebp", "0x10098d03"], ["0x100aae04", "pop edi", "0x10098d04"], ["0x100aae05", "pop esi", "0x10098d05"], ["0x100aae06", "pop ebx", "0x10098d06"], ["0x100aae07", "ret 4", "0x10098d07"], ["0x100aae0a", "xor eax, eax", "0x10098d0a"], ["0x100aae0c", "pop ebp", "0x10098d0c"], ["0x100aae0d", "pop edi", "0x10098d0d"]]}]]]}, {"address": "0x100aae20", "recomp": "0x10098d20", "name": "LegoLOD::FUN_100aae20", "matching": 0.8148148148148148, "diff": [["@@ -0x100aae20,25 +0x10098d20,25 @@", [{"orig": [], "recomp": [["0x10098d20", "mov edx, dword ptr [esp + 4]"]]}, {"both": [["0x100aae20", "push esi", "0x10098d24"], ["0x100aae21", "push edi", "0x10098d25"]]}, {"orig": [["0x100aae22", "mov esi, dword ptr [esp + 0xc]"], ["0x100aae26", "test esi, esi"]], "recomp": [["0x10098d26", "test edx, edx"]]}, {"both": [["0x100aae28", "je 0x28", "0x10098d28"]]}, {"orig": [["0x100aae2a", "mov edx, dword ptr [g_unk0x101013dc (DATA)]"]], "recomp": [["0x10098d2a", "mov esi, dword ptr [g_unk0x101013dc (DATA)]"]]}, {"both": [["0x100aae30", "mov ecx, 0xffffffff", "0x10098d30"]]}, {"orig": [["0x100aae35", "mov edi, edx"]], "recomp": [["0x10098d35", "mov edi, esi"]]}, {"both": [["0x100aae37", "sub eax, eax", "0x10098d37"], ["0x100aae39", "repne scasb al, byte ptr es:[edi]", "0x10098d39"], ["0x100aae3b", "not ecx", "0x10098d3b"], ["0x100aae3d", "dec ecx", "0x10098d3d"], ["0x100aae3e", "push ecx", "0x10098d3e"]]}, {"orig": [], "recomp": [["0x10098d3f", "push esi"]]}, {"both": [["0x100aae3f", "push edx", "0x10098d40"]]}, {"orig": [["0x100aae40", "push esi"]], "recomp": []}, {"both": [["0x100aae41", "call _strnicmp (FUNCTION)", "0x10098d41"], ["0x100aae46", "add esp, 0xc", "0x10098d46"], ["0x100aae49", "test eax, eax", "0x10098d49"], ["0x100aae4b", "jne 0x5", "0x10098d4b"], ["0x100aae4d", "mov al, 1", "0x10098d4d"], ["0x100aae4f", "pop edi", "0x10098d4f"], ["0x100aae50", "pop esi", "0x10098d50"], ["0x100aae51", "ret ", "0x10098d51"], ["0x100aae52", "xor al, al", "0x10098d52"], ["0x100aae54", "pop edi", "0x10098d54"]]}]]]}, {"address": "0x100aae60", "recomp": "0x10098d60", "name": "LegoLOD::FUN_100aae60", "matching": 1.0, "diff": []}, {"address": "0x100aae70", "recomp": "0x10098310", "name": "LegoLOD::NumPolys", "matching": 1.0, "diff": []}, {"address": "0x100aae80", "recomp": "0x10098320", "name": "LegoLOD::VTable0x10", "matching": 1.0, "diff": []}, {"address": "0x100aae90", "recomp": "0x10098d70", "name": "Lego3DView::Lego3DView", "matching": 1.0, "diff": []}, {"address": "0x100aaf10", "recomp": "0x10098df0", "name": "Lego3DView::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100aaf30", "recomp": "0x10098e10", "name": "Lego3DView::~Lego3DView", "matching": 1.0, "diff": []}, {"address": "0x100aaf90", "recomp": "0x10098e70", "name": "Lego3DView::Create", "matching": 1.0, "diff": []}, {"address": "0x100ab0b0", "recomp": "0x10098f90", "name": "Lego3DView::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100ab100", "recomp": "0x10098fe0", "name": "Lego3DView::Add", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ab100,33 +0x10098fe0,33 @@", [{"both": [["0x100ab100", "mov eax, dword ptr [esp + 4]", "0x10098fe0"], ["0x100ab104", "sub esp, 8", "0x10098fe4"], ["0x100ab107", "mov dword ptr [esp + 4], eax", "0x10098fe7"], ["0x100ab10b", "push ebx", "0x10098feb"], ["0x100ab10c", "push esi", "0x10098fec"], ["0x100ab10d", "push edi", "0x10098fed"], ["0x100ab10e", "mov esi, dword ptr [ecx + 0x88]", "0x10098fee"], ["0x100ab114", "push 0xc", "0x10098ff4"], ["0x100ab116", "mov ecx, dword ptr [esi + 0xc]", "0x10098ff6"], ["0x100ab119", "mov dword ptr [esp + 0x10], ecx", "0x10098ff9"]]}, {"orig": [["0x100ab11d", "lea ebx, [ecx + 4]"], ["0x100ab120", "mov edi, dword ptr [ebx]"]], "recomp": [["0x10098ffd", "lea edi, [ecx + 4]"], ["0x10099000", "mov ebx, dword ptr [edi]"]]}, {"both": [["0x100ab122", "call ??2@YAPAXI@Z (FUNCTION)", "0x10099002"], ["0x100ab127", "add esp, 4", "0x10099007"]]}, {"orig": [["0x100ab12a", "test edi, edi"]], "recomp": [["0x1009900a", "test ebx, ebx"]]}, {"both": [["0x100ab12c", "je 0xb", "0x1009900c"], ["0x100ab12e", "mov ecx, dword ptr [esp + 0xc]", "0x1009900e"], ["0x100ab132", "mov dword ptr [eax], ecx", "0x10099012"]]}, {"orig": [["0x100ab134", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x10099014", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x100ab137", "jmp 0x5", "0x10099017"], ["0x100ab139", "mov dword ptr [eax], eax", "0x10099019"], ["0x100ab13b", "mov dword ptr [eax + 4], eax", "0x1009901b"]]}, {"orig": [["0x100ab13e", "mov dword ptr [ebx], eax"]], "recomp": [["0x1009901e", "mov dword ptr [edi], eax"]]}, {"both": [["0x100ab140", "mov ecx, dword ptr [eax + 4]", "0x10099020"], ["0x100ab143", "mov dword ptr [ecx], eax", "0x10099023"], ["0x100ab145", "add eax, 8", "0x10099025"], ["0x100ab148", "je 0x6", "0x10099028"], ["0x100ab14a", "mov ecx, dword ptr [esp + 0x10]", "0x1009902a"], ["0x100ab14e", "mov dword ptr [eax], ecx", "0x1009902e"], ["0x100ab150", "mov eax, 1", "0x10099030"], ["0x100ab155", "pop edi", "0x10099035"], ["0x100ab156", "inc dword ptr [esi + 0x10]", "0x10099036"], ["0x100ab159", "pop esi", "0x10099039"]]}]]]}, {"address": "0x100ab170", "recomp": "0x10099050", "name": "Lego3DView::Remove", "matching": 1.0, "diff": []}, {"address": "0x100ab1b0", "recomp": "0x10099090", "name": "Lego3DView::SetPointOfView", "matching": 1.0, "diff": []}, {"address": "0x100ab210", "recomp": "0x100990f0", "name": "Lego3DView::Moved", "matching": 1.0, "diff": []}, {"address": "0x100ab270", "recomp": "0x10099150", "name": "Lego3DView::Render", "matching": 1.0, "diff": []}, {"address": "0x100ab2b0", "recomp": "0x10099190", "name": "Lego3DView::Pick", "matching": 1.0, "diff": []}, {"address": "0x100ab2d0", "recomp": "0x100991b0", "name": "InitializeCreateStruct", "matching": 1.0, "diff": []}, {"address": "0x100ab320", "recomp": "0x10099200", "name": "Lego3DManager::Lego3DManager", "matching": 1.0, "diff": []}, {"address": "0x100ab340", "recomp": "0x10099220", "name": "Lego3DManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ab360", "recomp": "0x10099240", "name": "Lego3DManager::~Lego3DManager", "matching": 1.0, "diff": []}, {"address": "0x100ab370", "recomp": "0x10099250", "name": "Lego3DManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100ab460", "recomp": "0x10099340", "name": "Lego3DManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100ab4b0", "recomp": "0x10099390", "name": "Lego3DManager::Render", "matching": 1.0, "diff": []}, {"address": "0x100ab4d0", "recomp": "0x100993b0", "name": "Lego3DManager::SetFrustrum", "matching": 1.0, "diff": []}, {"address": "0x100ab510", "recomp": "0x100993f0", "name": "LegoView::LegoView", "matching": 1.0, "diff": []}, {"address": "0x100ab580", "recomp": "0x10099460", "name": "LegoView::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ab5a0", "recomp": "0x10099480", "name": "LegoView::~LegoView", "matching": 1.0, "diff": []}, {"address": "0x100ab600", "recomp": "0x100994e0", "name": "LegoView::Create", "matching": 1.0, "diff": []}, {"address": "0x100ab6c0", "recomp": "0x100995a0", "name": "LegoView::CreateView", "matching": 1.0, "diff": []}, {"address": "0x100ab6f0", "recomp": "0x100995d0", "name": "LegoView::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100ab730", "recomp": "0x10099610", "name": "LegoView1::LegoView1", "matching": 1.0, "diff": []}, {"address": "0x100ab7a0", "recomp": "0x10099680", "name": "LegoView1::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ab7c0", "recomp": "0x100996a0", "name": "LegoView1::~LegoView1", "matching": 1.0, "diff": []}, {"address": "0x100ab820", "recomp": "0x10099700", "name": "LegoView1::AddLightsToViewport", "matching": 1.0, "diff": []}, {"address": "0x100ab860", "recomp": "0x10099740", "name": "LegoView1::Create", "matching": 1.0, "diff": []}, {"address": "0x100abad0", "recomp": "0x100999b0", "name": "LegoView1::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100abb60", "recomp": "0x10099a40", "name": "LegoView1::SetLightTransform", "matching": 1.0, "diff": []}, {"address": "0x100abb80", "recomp": "0x10099a60", "name": "LegoView1::SetLightTransform", "matching": 1.0, "diff": []}, {"address": "0x100abba0", "recomp": "0x10099a80", "name": "LegoView1::SetLightColor", "matching": 1.0, "diff": []}, {"address": "0x100abbd0", "recomp": "0x10099ab0", "name": "LegoView1::SetLightColor", "matching": 1.0, "diff": []}, {"address": "0x100abbf0", "recomp": "0x10099ad0", "name": "TglSurface::TglSurface", "matching": 1.0, "diff": []}, {"address": "0x100abcf0", "recomp": "0x10099bd0", "name": "TglSurface::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100abd10", "recomp": "0x10099bf0", "name": "MxFrequencyMeter::~MxFrequencyMeter", "matching": 1.0, "diff": []}, {"address": "0x100abd60", "recomp": "0x10099c40", "name": "TglSurface::~TglSurface", "matching": 1.0, "diff": []}, {"address": "0x100abde0", "recomp": "0x10099cc0", "name": "TglSurface::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100abe10", "recomp": "0x10099cf0", "name": "GetBitsPerPixel", "matching": 1.0, "diff": []}, {"address": "0x100abe50", "recomp": "0x10099d30", "name": "TglSurface::Create", "matching": 1.0, "effective": true, "diff": [["@@ -0x100abe55,27 +0x10099d35,27 @@", [{"both": [["0x100abe55", "push edi", "0x10099d35"], ["0x100abe56", "mov esi, ecx", "0x10099d36"], ["0x100abe58", "mov ecx, dword ptr [esp + 0x24]", "0x10099d38"], ["0x100abe5c", "push ebp", "0x10099d3c"], ["0x100abe5d", "mov eax, dword ptr [ecx + 0x20]", "0x10099d3d"], ["0x100abe60", "mov edx, dword ptr [ecx + 0x24]", "0x10099d40"], ["0x100abe63", "mov ecx, dword ptr [ecx + 0xc]", "0x10099d43"], ["0x100abe66", "mov dword ptr [esp + 0x1c], eax", "0x10099d46"], ["0x100abe6a", "push ecx", "0x10099d4a"], ["0x100abe6b", "mov edi, 0x20", "0x10099d4b"]]}, {"orig": [["0x100abe70", "mov ebp, 0xffffffff"]], "recomp": [["0x10099d50", "mov ebx, 0xffffffff"]]}, {"both": [["0x100abe75", "mov dword ptr [esp + 0x24], edx", "0x10099d55"], ["0x100abe79", "call GetBitsPerPixel (FUNCTION)", "0x10099d59"], ["0x100abe7e", "mov ecx, dword ptr [esp + 0x34]", "0x10099d5e"]]}, {"orig": [["0x100abe82", "mov dword ptr [esp + 0x14], ebp"]], "recomp": [["0x10099d62", "mov dword ptr [esp + 0x14], ebx"]]}, {"both": [["0x100abe86", "add esp, 4", "0x10099d66"]]}, {"orig": [["0x100abe89", "mov ebx, eax"]], "recomp": [["0x10099d69", "mov ebp, eax"]]}, {"both": [["0x100abe8b", "mov dword ptr [esi + 0x14], ecx", "0x10099d6b"], ["0x100abe8e", "mov eax, dword ptr [esp + 0x2c]", "0x10099d6e"], ["0x100abe92", "lea ecx, [esp + 0x1c]", "0x10099d72"], ["0x100abe96", "mov dword ptr [esi + 8], eax", "0x10099d76"], ["0x100abe99", "mov dword ptr [esp + 0x14], 1", "0x10099d79"], ["0x100abea1", "mov edx, dword ptr [eax]", "0x10099d81"], ["0x100abea3", "push ecx", "0x10099d83"], ["0x100abea4", "mov ecx, dword ptr [esp + 0x30]", "0x10099d84"], ["0x100abea8", "mov dword ptr [esp + 0x1c], edx", "0x10099d88"], ["0x100abeac", "mov eax, dword ptr [esp + 0x1c]", "0x10099d8c"]]}]], ["@@ -0x100abeb8,52 +0x10099d98,52 @@", [{"both": [["0x100abeb8", "jne 0x1a", "0x10099d98"], ["0x100abeba", "xor eax, eax", "0x10099d9a"], ["0x100abebc", "pop ebp", "0x10099d9c"], ["0x100abebd", "mov dword ptr [esi + 8], 0", "0x10099d9d"], ["0x100abec4", "mov dword ptr [esi + 0x14], 0", "0x10099da4"], ["0x100abecb", "pop edi", "0x10099dab"], ["0x100abecc", "pop esi", "0x10099dac"], ["0x100abecd", "pop ebx", "0x10099dad"], ["0x100abece", "add esp, 0x14", "0x10099dae"], ["0x100abed1", "ret 0xc", "0x10099db1"]]}, {"orig": [["0x100abed4", "cmp ebx, 1"]], "recomp": [["0x10099db4", "cmp ebp, 1"]]}, {"both": [["0x100abed7", "jne 0x9", "0x10099db7"], ["0x100abed9", "mov edi, 4", "0x10099db9"]]}, {"orig": [["0x100abede", "mov ebp, edi"]], "recomp": [["0x10099dbe", "mov ebx, edi"]]}, {"both": [["0x100abee0", "jmp 0x62", "0x10099dc0"]]}, {"orig": [["0x100abee2", "cmp ebx, 8"]], "recomp": [["0x10099dc2", "cmp ebp, 8"]]}, {"both": [["0x100abee5", "jne 0x19", "0x10099dc5"], ["0x100abee7", "mov dword ptr [esp + 0x14], 0", "0x10099dc7"], ["0x100abeef", "mov dword ptr [esp + 0x10], 0x100", "0x10099dcf"], ["0x100abef7", "mov edi, 0x10", "0x10099dd7"]]}, {"orig": [["0x100abefc", "mov ebp, edi"]], "recomp": [["0x10099ddc", "mov ebx, edi"]]}, {"both": [["0x100abefe", "jmp 0x44", "0x10099dde"]]}, {"orig": [["0x100abf00", "cmp ebx, 0x10"]], "recomp": [["0x10099de0", "cmp ebp, 0x10"]]}, {"both": [["0x100abf03", "jne 0x19", "0x10099de3"], ["0x100abf05", "mov dword ptr [esp + 0x14], 0", "0x10099de5"], ["0x100abf0d", "mov dword ptr [esp + 0x10], 0x100", "0x10099ded"], ["0x100abf15", "mov edi, 0x20", "0x10099df5"]]}, {"orig": [["0x100abf1a", "mov ebp, edi"]], "recomp": [["0x10099dfa", "mov ebx, edi"]]}, {"both": [["0x100abf1c", "jmp 0x26", "0x10099dfc"]]}, {"orig": [["0x100abf1e", "cmp ebx, 0x18"]], "recomp": [["0x10099dfe", "cmp ebp, 0x18"]]}, {"both": [["0x100abf21", "jl 0x19", "0x10099e01"], ["0x100abf23", "mov dword ptr [esp + 0x14], 0", "0x10099e03"], ["0x100abf2b", "mov dword ptr [esp + 0x10], 0x40", "0x10099e0b"], ["0x100abf33", "mov edi, 0x100", "0x10099e13"]]}, {"orig": [["0x100abf38", "mov ebp, edi"]], "recomp": [["0x10099e18", "mov ebx, edi"]]}, {"both": [["0x100abf3a", "jmp 0x8", "0x10099e1a"], ["0x100abf3c", "mov dword ptr [esp + 0x14], 0", "0x10099e1c"]]}, {"orig": [["0x100abf44", "cmp ebp, -1"]], "recomp": [["0x10099e24", "cmp ebx, -1"]]}, {"both": [["0x100abf47", "je 0xc", "0x10099e27"], ["0x100abf49", "mov eax, dword ptr [esp + 0x18]", "0x10099e29"], ["0x100abf4d", "mov ecx, dword ptr [esp + 0x2c]", "0x10099e2d"]]}, {"orig": [["0x100abf51", "push ebp"]], "recomp": [["0x10099e31", "push ebx"]]}, {"both": [["0x100abf52", "call dword ptr [eax + 0x2c]", "0x10099e32"], ["0x100abf55", "cmp dword ptr [esp + 0x10], -1", "0x10099e35"], ["0x100abf5a", "je 0x10", "0x10099e3a"], ["0x100abf5c", "mov eax, dword ptr [esp + 0x10]", "0x10099e3c"], ["0x100abf60", "mov ecx, dword ptr [esp + 0x2c]", "0x10099e40"], ["0x100abf64", "mov ebx, dword ptr [esp + 0x18]", "0x10099e44"], ["0x100abf68", "push eax", "0x10099e48"], ["0x100abf69", "call dword ptr [ebx + 0x30]", "0x10099e49"], ["0x100abf6c", "mov ecx, dword ptr [esi + 0xc]", "0x10099e4c"], ["0x100abf6f", "push 0", "0x10099e4f"]]}]]]}, {"address": "0x100ac030", "recomp": "0x10099f10", "name": "TglSurface::DestroyView", "matching": 1.0, "diff": []}, {"address": "0x100ac050", "recomp": "0x10099f30", "name": "TglSurface::Render", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ac0d5,26 +0x10099fb5,26 @@", [{"both": [["0x100ac0d5", "lea ecx, [ebp - 0x14]", "0x10099fb5"], ["0x100ac0d8", "push ecx", "0x10099fb8"], ["0x100ac0d9", "call edi", "0x10099fb9"], ["0x100ac0db", "mov eax, dword ptr [ebp - 0x10]", "0x10099fbb"], ["0x100ac0de", "cmp dword ptr [ebp - 0x28], eax", "0x10099fbe"], ["0x100ac0e1", "je 0x10", "0x10099fc1"], ["0x100ac0e3", "mov dword ptr [ebp - 0x24], 0xffffffff", "0x10099fc3"], ["0x100ac0ea", "mov dword ptr [ebp - 0x20], 0x7fefffff", "0x10099fca"], ["0x100ac0f1", "jmp 0x25", "0x10099fd1"], ["0x100ac0f3", "mov eax, dword ptr [ebp - 0x14]", "0x10099fd3"]]}, {"orig": [], "recomp": [["0x10099fd6", "mov ecx, dword ptr [ebp - 0x1c]"]]}, {"both": [["0x100ac0f6", "sub eax, dword ptr [ebp - 0x2c]", "0x10099fd9"], ["0x100ac0f9", "mov dword ptr [ebp - 0x14], eax", "0x10099fdc"], ["0x100ac0fc", "xor eax, eax", "0x10099fdf"], ["0x100ac0fe", "mov dword ptr [ebp - 0x10], eax", "0x10099fe1"], ["0x100ac101", "fild qword ptr [ebp - 0x14]", "0x10099fe4"]]}, {"orig": [["0x100ac104", "mov ecx, dword ptr [ebp - 0x1c]"]], "recomp": []}, {"both": [["0x100ac107", "mov dword ptr [ebp - 0x14], ecx", "0x10099fe7"], ["0x100ac10a", "mov dword ptr [ebp - 0x10], eax", "0x10099fea"], ["0x100ac10d", "fild qword ptr [ebp - 0x14]", "0x10099fed"], ["0x100ac110", "fdivp st(1)", "0x10099ff0"], ["0x100ac112", "fadd qword ptr [ebp - 0x24]", "0x10099ff2"], ["0x100ac115", "fstp qword ptr [ebp - 0x24]", "0x10099ff5"], ["0x100ac118", "lea eax, [ebp - 0x14]", "0x10099ff8"], ["0x100ac11b", "lea ebx, [esi + 0x38]", "0x10099ffb"], ["0x100ac11e", "push eax", "0x10099ffe"], ["0x100ac11f", "call edi", "0x10099fff"]]}]], ["@@ -0x100ac1c0,24 +0x1009a0a0,24 @@", [{"both": [["0x100ac1c0", "mov dword ptr [esi + 0x48], eax", "0x1009a0a0"], ["0x100ac1c3", "mov dword ptr [ecx + 4], eax", "0x1009a0a3"], ["0x100ac1c6", "mov dword ptr [esi + 0x30], eax", "0x1009a0a6"], ["0x100ac1c9", "mov dword ptr [esi + 0x34], eax", "0x1009a0a9"], ["0x100ac1cc", "mov dword ptr [ebx], eax", "0x1009a0ac"], ["0x100ac1ce", "mov dword ptr [ebx + 4], eax", "0x1009a0ae"], ["0x100ac1d1", "mov dword ptr [esi + 0x28], eax", "0x1009a0b1"], ["0x100ac1d4", "add esi, 0x50", "0x1009a0b4"], ["0x100ac1d7", "push esi", "0x1009a0b7"], ["0x100ac1d8", "call edi", "0x1009a0b8"]]}, {"orig": [], "recomp": [["0x1009a0ba", "mov eax, dword ptr [ebp - 0x20]"], ["0x1009a0bd", "mov ecx, dword ptr [ebp - 0x24]"]]}, {"both": [["0x100ac1da", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009a0c0"]]}, {"orig": [["0x100ac1e1", "mov eax, dword ptr [ebp - 0x20]"]], "recomp": []}, {"both": [["0x100ac1e4", "mov dword ptr [ebp - 0x10], eax", "0x1009a0c7"]]}, {"orig": [["0x100ac1e7", "mov ecx, dword ptr [ebp - 0x24]"]], "recomp": []}, {"both": [["0x100ac1ea", "mov dword ptr [ebp - 0x14], ecx", "0x1009a0ca"], ["0x100ac1ed", "call <OFFSET5>", "0x1009a0cd"], ["0x100ac1f2", "fld qword ptr [ebp - 0x14]", "0x1009a0d2"], ["0x100ac1f5", "mov eax, dword ptr [ebp - 0xc]", "0x1009a0d5"], ["0x100ac1f8", "pop edi", "0x1009a0d8"], ["0x100ac1f9", "mov dword ptr fs:[0], eax", "0x1009a0d9"], ["0x100ac1ff", "pop esi", "0x1009a0df"], ["0x100ac200", "pop ebx", "0x1009a0e0"], ["0x100ac201", "mov esp, ebp", "0x1009a0e1"], ["0x100ac203", "pop ebp", "0x1009a0e3"]]}]]]}, {"address": "0x100ac220", "recomp": "0x1009a100", "name": "MxNotification::MxNotification", "matching": 1.0, "diff": []}, {"address": "0x100ac240", "recomp": "0x1009a120", "name": "MxNotification::~MxNotification", "matching": 1.0, "diff": []}, {"address": "0x100ac250", "recomp": "0x1009a130", "name": "MxNotificationManager::MxNotificationManager", "matching": 1.0, "diff": []}, {"address": "0x100ac320", "recomp": "0x1009a200", "name": "list<unsigned int,allocator<unsigned int> >::~list<unsigned int,allocator<unsigned int> >", "matching": 1.0, "diff": []}, {"address": "0x100ac390", "recomp": "0x1009a270", "name": "MxNotificationManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ac3b0", "recomp": "0x1009a290", "name": "MxIdList::~MxIdList", "matching": 1.0, "diff": []}, {"address": "0x100ac400", "recomp": "0x1009a2e0", "name": "List<unsigned int>::~List<unsigned int>", "matching": 1.0, "diff": []}, {"address": "0x100ac450", "recomp": "0x1009a330", "name": "MxNotificationManager::~MxNotificationManager", "matching": 1.0, "diff": []}, {"address": "0x100ac540", "recomp": "0x1009a420", "name": "List<MxNotification *>::~List<MxNotification *>", "matching": 1.0, "diff": []}, {"address": "0x100ac590", "recomp": "0x1009a470", "name": "list<MxNotification *,allocator<MxNotification *> >::~list<MxNotification *,allocator<MxNotification *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ac5b3,21 +0x1009a493,21 @@", [{"both": [["0x100ac5b3", "mov eax, dword ptr [eax]", "0x1009a493"], ["0x100ac5b5", "mov dword ptr [ecx], eax", "0x1009a495"], ["0x100ac5b7", "mov ecx, dword ptr [edx]", "0x1009a497"], ["0x100ac5b9", "mov eax, dword ptr [esp + 8]", "0x1009a499"], ["0x100ac5bd", "push eax", "0x1009a49d"], ["0x100ac5be", "mov edx, dword ptr [eax]", "0x1009a49e"], ["0x100ac5c0", "mov dword ptr [edx + 4], ecx", "0x1009a4a0"], ["0x100ac5c3", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009a4a3"], ["0x100ac5c8", "add esp, 4", "0x1009a4a8"], ["0x100ac5cb", "dec dword ptr [esi + 8]", "0x1009a4ab"]]}, {"orig": [["0x100ac5ce", "cmp edi, dword ptr [esp + 0x10]"]], "recomp": [["0x1009a4ae", "cmp dword ptr [esp + 0x10], edi"]]}, {"both": [["0x100ac5d2", "jne -0x2e", "0x1009a4b2"], ["0x100ac5d4", "mov eax, dword ptr [esi + 4]", "0x1009a4b4"], ["0x100ac5d7", "push eax", "0x1009a4b7"], ["0x100ac5d8", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009a4b8"], ["0x100ac5dd", "mov dword ptr [esi + 4], 0", "0x1009a4bd"], ["0x100ac5e4", "add esp, 4", "0x1009a4c4"], ["0x100ac5e7", "mov dword ptr [esi + 8], 0", "0x1009a4c7"], ["0x100ac5ee", "pop edi", "0x1009a4ce"], ["0x100ac5ef", "pop esi", "0x1009a4cf"], ["0x100ac5f0", "add esp, 0xc", "0x1009a4d0"]]}]]]}, {"address": "0x100ac600", "recomp": "0x1009a4e0", "name": "MxNotificationManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100ac6c0", "recomp": "0x1009a5a0", "name": "MxNotificationManager::Send", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ac726,21 +0x1009a606,21 @@", [{"both": [["0x100ac726", "mov eax, dword ptr [ebx + 4]", "0x1009a606"], ["0x100ac729", "mov dword ptr [ebp - 0x20], eax", "0x1009a609"], ["0x100ac72c", "mov edx, dword ptr [ecx]", "0x1009a60c"], ["0x100ac72e", "mov eax, edx", "0x1009a60e"], ["0x100ac730", "cmp edx, ecx", "0x1009a610"], ["0x100ac732", "je 0xf", "0x1009a612"], ["0x100ac734", "mov edx, dword ptr [ebp - 0x20]", "0x1009a614"], ["0x100ac737", "cmp dword ptr [eax + 8], edx", "0x1009a617"], ["0x100ac73a", "je 0x7", "0x1009a61a"], ["0x100ac73c", "mov eax, dword ptr [eax]", "0x1009a61c"]]}, {"orig": [["0x100ac73e", "cmp eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x1009a61e", "cmp dword ptr [ebp - 0x14], eax"]]}, {"both": [["0x100ac741", "jne -0xf", "0x1009a621"], ["0x100ac743", "cmp eax, ecx", "0x1009a623"], ["0x100ac745", "je -0x4e", "0x1009a625"], ["0x100ac747", "push 8", "0x1009a627"], ["0x100ac749", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009a629"], ["0x100ac74e", "mov dword ptr [ebp - 0x14], eax", "0x1009a62e"], ["0x100ac751", "add esp, 4", "0x1009a631"], ["0x100ac754", "mov byte ptr [ebp - 4], 1", "0x1009a634"], ["0x100ac758", "mov esi, eax", "0x1009a638"], ["0x100ac75a", "test esi, esi", "0x1009a63a"]]}]], ["@@ -0x100ac76a,33 +0x1009a64a,33 @@", [{"both": [["0x100ac76a", "mov dword ptr [ebp - 0x10], eax", "0x1009a64a"], ["0x100ac76d", "jmp 0x7", "0x1009a64d"], ["0x100ac76f", "mov dword ptr [ebp - 0x10], 0", "0x1009a64f"], ["0x100ac776", "mov byte ptr [ebp - 4], 0", "0x1009a656"], ["0x100ac77a", "cmp dword ptr [ebp - 0x10], 0", "0x1009a65a"], ["0x100ac77e", "je -0x8b", "0x1009a65e"], ["0x100ac784", "mov esi, dword ptr [edi + 8]", "0x1009a664"], ["0x100ac787", "push 0xc", "0x1009a667"], ["0x100ac789", "mov eax, dword ptr [esi + 4]", "0x1009a669"], ["0x100ac78c", "mov dword ptr [ebp - 0x14], eax", "0x1009a66c"]]}, {"orig": [["0x100ac78f", "lea ebx, [eax + 4]"], ["0x100ac792", "mov edi, dword ptr [ebx]"]], "recomp": [["0x1009a66f", "lea edi, [eax + 4]"], ["0x1009a672", "mov ebx, dword ptr [edi]"]]}, {"both": [["0x100ac794", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009a674"], ["0x100ac799", "add esp, 4", "0x1009a679"]]}, {"orig": [["0x100ac79c", "test edi, edi"]], "recomp": [["0x1009a67c", "test ebx, ebx"]]}, {"both": [["0x100ac79e", "je 0xa", "0x1009a67e"], ["0x100ac7a0", "mov ecx, dword ptr [ebp - 0x14]", "0x1009a680"], ["0x100ac7a3", "mov dword ptr [eax], ecx", "0x1009a683"]]}, {"orig": [["0x100ac7a5", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x1009a685", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x100ac7a8", "jmp 0x5", "0x1009a688"], ["0x100ac7aa", "mov dword ptr [eax], eax", "0x1009a68a"], ["0x100ac7ac", "mov dword ptr [eax + 4], eax", "0x1009a68c"]]}, {"orig": [["0x100ac7af", "mov dword ptr [ebx], eax"]], "recomp": [["0x1009a68f", "mov dword ptr [edi], eax"]]}, {"both": [["0x100ac7b1", "mov ecx, dword ptr [eax + 4]", "0x1009a691"], ["0x100ac7b4", "mov dword ptr [ecx], eax", "0x1009a694"], ["0x100ac7b6", "add eax, 8", "0x1009a696"], ["0x100ac7b9", "je 0x5", "0x1009a699"], ["0x100ac7bb", "mov ecx, dword ptr [ebp - 0x10]", "0x1009a69b"], ["0x100ac7be", "mov dword ptr [eax], ecx", "0x1009a69e"], ["0x100ac7c0", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009a6a0"], ["0x100ac7c7", "inc dword ptr [esi + 8]", "0x1009a6a7"], ["0x100ac7ca", "call <OFFSET3>", "0x1009a6aa"], ["0x100ac7cf", "xor eax, eax", "0x1009a6af"]]}]]]}, {"address": "0x100ac800", "recomp": "0x1009a6e0", "name": "MxNotificationManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100ac990", "recomp": "0x1009a870", "name": "MxNotificationManager::FlushPending", "matching": 0.9245742092457421, "diff": [["@@ -0x100ac9c8,56 +0x1009a8a8,56 @@", [{"both": [["0x100ac9c8", "mov eax, 0xffffffff", "0x1009a8a8"], ["0x100ac9cd", "lea ecx, [ebp - 0x2c]", "0x1009a8ad"], ["0x100ac9d0", "lea eax, [esi + 0x10]", "0x1009a8b0"], ["0x100ac9d3", "mov dword ptr [ebp - 4], edi", "0x1009a8b3"], ["0x100ac9d6", "mov dword ptr [ebp - 4], 2", "0x1009a8b6"], ["0x100ac9dd", "push eax", "0x1009a8bd"], ["0x100ac9de", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x1009a8be"], ["0x100ac9e3", "mov byte ptr [ebp - 4], 3", "0x1009a8c3"], ["0x100ac9e7", "mov eax, dword ptr [esi + 0xc]", "0x1009a8c7"], ["0x100ac9ea", "test eax, eax", "0x1009a8ca"]]}, {"orig": [["0x100ac9ec", "je 0xa1"]], "recomp": [["0x1009a8cc", "je 0xa0"]]}, {"both": [["0x100ac9f2", "mov eax, dword ptr [eax + 4]", "0x1009a8d2"]]}, {"orig": [], "recomp": [["0x1009a8d5", "mov edi, dword ptr [ebp + 8]"]]}, {"both": [["0x100ac9f5", "mov ecx, dword ptr [eax]", "0x1009a8d8"], ["0x100ac9f7", "mov dword ptr [ebp - 0x10], ecx", "0x1009a8da"], ["0x100ac9fa", "cmp ecx, eax", "0x1009a8dd"]]}, {"orig": [["0x100ac9fc", "mov edi, dword ptr [ebp + 8]"], ["0x100ac9ff", "je 0x91"]], "recomp": [["0x1009a8df", "je 0x90"]]}, {"both": [["0x100aca05", "mov eax, dword ptr [ebp - 0x10]", "0x1009a8e5"], ["0x100aca08", "mov ecx, dword ptr [eax + 8]", "0x1009a8e8"], ["0x100aca0b", "mov dword ptr [ebp - 0x14], ecx", "0x1009a8eb"], ["0x100aca0e", "mov ecx, dword ptr [edi + 4]", "0x1009a8ee"], ["0x100aca11", "mov eax, dword ptr [ebp - 0x14]", "0x1009a8f1"], ["0x100aca14", "mov edx, dword ptr [eax]", "0x1009a8f4"], ["0x100aca16", "cmp dword ptr [edx + 4], ecx", "0x1009a8f6"], ["0x100aca19", "je 0x19", "0x1009a8f9"], ["0x100aca1b", "mov edx, dword ptr [eax + 4]", "0x1009a8fb"], ["0x100aca1e", "mov eax, dword ptr [edx + 8]", "0x1009a8fe"], ["0x100aca21", "test eax, eax", "0x1009a901"], ["0x100aca23", "je 0x5", "0x1009a903"], ["0x100aca25", "cmp dword ptr [eax + 4], ecx", "0x1009a905"], ["0x100aca28", "je 0xa", "0x1009a908"], ["0x100aca2a", "mov eax, dword ptr [ebp - 0x10]", "0x1009a90a"], ["0x100aca2d", "mov ecx, dword ptr [eax]", "0x1009a90d"], ["0x100aca2f", "mov dword ptr [ebp - 0x10], ecx", "0x1009a90f"]]}, {"orig": [["0x100aca32", "jmp 0x4e"]], "recomp": [["0x1009a912", "jmp 0x4d"]]}, {"both": [["0x100aca34", "mov eax, dword ptr [ebp - 0x10]", "0x1009a914"]]}, {"orig": [], "recomp": [["0x1009a917", "mov ebx, dword ptr [esi + 0xc]"]]}, {"both": [["0x100aca37", "mov dword ptr [ebp - 0x18], eax", "0x1009a91a"], ["0x100aca3a", "mov eax, dword ptr [ebp - 0x10]", "0x1009a91d"], ["0x100aca3d", "mov ecx, dword ptr [eax]", "0x1009a920"], ["0x100aca3f", "mov dword ptr [ebp - 0x10], ecx", "0x1009a922"], ["0x100aca42", "mov ecx, dword ptr [ebp - 0x18]", "0x1009a925"]]}, {"orig": [], "recomp": [["0x1009a928", "add ecx, 4"]]}, {"both": [["0x100aca45", "mov eax, dword ptr [ebp - 0x18]", "0x1009a92b"]]}, {"orig": [["0x100aca48", "mov edx, dword ptr [ecx + 4]"], ["0x100aca4b", "mov ebx, dword ptr [esi + 0xc]"], ["0x100aca4e", "add ecx, 4"]], "recomp": []}, {"both": [["0x100aca51", "mov eax, dword ptr [eax]", "0x1009a92e"]]}, {"orig": [], "recomp": [["0x1009a930", "mov edx, dword ptr [ecx]"]]}, {"both": [["0x100aca53", "mov dword ptr [edx], eax", "0x1009a932"], ["0x100aca55", "mov edx, dword ptr [ecx]", "0x1009a934"], ["0x100aca57", "mov eax, dword ptr [ebp - 0x18]", "0x1009a936"], ["0x100aca5a", "mov ecx, dword ptr [eax]", "0x1009a939"], ["0x100aca5c", "mov dword ptr [ecx + 4], edx", "0x1009a93b"], ["0x100aca5f", "mov eax, dword ptr [ebp - 0x18]", "0x1009a93e"], ["0x100aca62", "push eax", "0x1009a941"], ["0x100aca63", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009a942"], ["0x100aca68", "add esp, 4", "0x1009a947"], ["0x100aca6b", "lea edx, [ebp - 0x14]", "0x1009a94a"]]}]], ["@@ -0x100aca71,58 +0x1009a950,58 @@", [{"both": [["0x100aca71", "dec dword ptr [ebx + 8]", "0x1009a950"], ["0x100aca74", "mov ecx, dword ptr [ebp - 0x20]", "0x1009a953"], ["0x100aca77", "push edx", "0x1009a956"], ["0x100aca78", "push ecx", "0x1009a957"], ["0x100aca79", "push eax", "0x1009a958"], ["0x100aca7a", "lea ecx, [ebp - 0x24]", "0x1009a959"], ["0x100aca7d", "call list<MxNotification *,allocator<MxNotification *> >::insert (FUNCTION)", "0x1009a95c"], ["0x100aca82", "mov eax, dword ptr [esi + 0xc]", "0x1009a961"], ["0x100aca85", "mov ecx, dword ptr [ebp - 0x10]", "0x1009a964"], ["0x100aca88", "cmp dword ptr [eax + 4], ecx", "0x1009a967"]]}, {"orig": [["0x100aca8b", "jne -0x8c"]], "recomp": [["0x1009a96a", "jne -0x8b"]]}, {"both": [["0x100aca91", "jmp 0x3", "0x1009a970"], ["0x100aca93", "mov edi, dword ptr [ebp + 8]", "0x1009a972"], ["0x100aca96", "mov eax, dword ptr [esi + 8]", "0x1009a975"], ["0x100aca99", "mov eax, dword ptr [eax + 4]", "0x1009a978"], ["0x100aca9c", "mov ecx, dword ptr [eax]", "0x1009a97b"], ["0x100aca9e", "mov dword ptr [ebp - 0x10], ecx", "0x1009a97d"]]}, {"orig": [["0x100acaa1", "cmp eax, ecx"], ["0x100acaa3", "je 0x8c"]], "recomp": [["0x1009a980", "cmp ecx, eax"], ["0x1009a982", "je 0x8b"]]}, {"both": [["0x100acaa9", "mov eax, dword ptr [ebp - 0x10]", "0x1009a988"], ["0x100acaac", "mov ecx, dword ptr [eax + 8]", "0x1009a98b"], ["0x100acaaf", "mov dword ptr [ebp - 0x14], ecx", "0x1009a98e"], ["0x100acab2", "mov ecx, dword ptr [edi + 4]", "0x1009a991"], ["0x100acab5", "mov eax, dword ptr [ebp - 0x14]", "0x1009a994"], ["0x100acab8", "mov edx, dword ptr [eax]", "0x1009a997"], ["0x100acaba", "cmp dword ptr [edx + 4], ecx", "0x1009a999"], ["0x100acabd", "je 0x19", "0x1009a99c"], ["0x100acabf", "mov edx, dword ptr [eax + 4]", "0x1009a99e"], ["0x100acac2", "mov eax, dword ptr [edx + 8]", "0x1009a9a1"], ["0x100acac5", "test eax, eax", "0x1009a9a4"], ["0x100acac7", "je 0x5", "0x1009a9a6"], ["0x100acac9", "cmp dword ptr [eax + 4], ecx", "0x1009a9a8"], ["0x100acacc", "je 0xa", "0x1009a9ab"], ["0x100acace", "mov eax, dword ptr [ebp - 0x10]", "0x1009a9ad"], ["0x100acad1", "mov ecx, dword ptr [eax]", "0x1009a9b0"], ["0x100acad3", "mov dword ptr [ebp - 0x10], ecx", "0x1009a9b2"]]}, {"orig": [["0x100acad6", "jmp 0x4e"]], "recomp": [["0x1009a9b5", "jmp 0x4d"]]}, {"both": [["0x100acad8", "mov eax, dword ptr [ebp - 0x10]", "0x1009a9b7"]]}, {"orig": [], "recomp": [["0x1009a9ba", "mov ebx, dword ptr [esi + 8]"]]}, {"both": [["0x100acadb", "mov dword ptr [ebp - 0x18], eax", "0x1009a9bd"], ["0x100acade", "mov eax, dword ptr [ebp - 0x10]", "0x1009a9c0"], ["0x100acae1", "mov ecx, dword ptr [eax]", "0x1009a9c3"], ["0x100acae3", "mov dword ptr [ebp - 0x10], ecx", "0x1009a9c5"], ["0x100acae6", "mov ecx, dword ptr [ebp - 0x18]", "0x1009a9c8"]]}, {"orig": [], "recomp": [["0x1009a9cb", "add ecx, 4"]]}, {"both": [["0x100acae9", "mov eax, dword ptr [ebp - 0x18]", "0x1009a9ce"]]}, {"orig": [["0x100acaec", "mov edx, dword ptr [ecx + 4]"], ["0x100acaef", "mov ebx, dword ptr [esi + 8]"], ["0x100acaf2", "add ecx, 4"]], "recomp": []}, {"both": [["0x100acaf5", "mov eax, dword ptr [eax]", "0x1009a9d1"]]}, {"orig": [], "recomp": [["0x1009a9d3", "mov edx, dword ptr [ecx]"]]}, {"both": [["0x100acaf7", "mov dword ptr [edx], eax", "0x1009a9d5"], ["0x100acaf9", "mov edx, dword ptr [ecx]", "0x1009a9d7"], ["0x100acafb", "mov eax, dword ptr [ebp - 0x18]", "0x1009a9d9"], ["0x100acafe", "mov ecx, dword ptr [eax]", "0x1009a9dc"], ["0x100acb00", "mov dword ptr [ecx + 4], edx", "0x1009a9de"], ["0x100acb03", "mov eax, dword ptr [ebp - 0x18]", "0x1009a9e1"], ["0x100acb06", "push eax", "0x1009a9e4"], ["0x100acb07", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009a9e5"], ["0x100acb0c", "add esp, 4", "0x1009a9ea"], ["0x100acb0f", "lea edx, [ebp - 0x14]", "0x1009a9ed"]]}]], ["@@ -0x100acb15,21 +0x1009a9f3,21 @@", [{"both": [["0x100acb15", "dec dword ptr [ebx + 8]", "0x1009a9f3"], ["0x100acb18", "mov ecx, dword ptr [ebp - 0x20]", "0x1009a9f6"], ["0x100acb1b", "push edx", "0x1009a9f9"], ["0x100acb1c", "push ecx", "0x1009a9fa"], ["0x100acb1d", "push eax", "0x1009a9fb"], ["0x100acb1e", "lea ecx, [ebp - 0x24]", "0x1009a9fc"], ["0x100acb21", "call list<MxNotification *,allocator<MxNotification *> >::insert (FUNCTION)", "0x1009a9ff"], ["0x100acb26", "mov eax, dword ptr [esi + 8]", "0x1009aa04"], ["0x100acb29", "mov ecx, dword ptr [ebp - 0x10]", "0x1009aa07"], ["0x100acb2c", "cmp dword ptr [eax + 4], ecx", "0x1009aa0a"]]}, {"orig": [["0x100acb2f", "jne -0x8c"]], "recomp": [["0x1009aa0d", "jne -0x8b"]]}, {"both": [["0x100acb35", "mov byte ptr [ebp - 4], 2", "0x1009aa13"], ["0x100acb39", "call <OFFSET6>", "0x1009aa17"], ["0x100acb3e", "cmp dword ptr [ebp - 0x1c], 0", "0x1009aa1c"], ["0x100acb42", "je 0x5b", "0x1009aa20"], ["0x100acb44", "xor esi, esi", "0x1009aa22"], ["0x100acb46", "lea eax, [ebp - 0x10]", "0x1009aa24"], ["0x100acb49", "lea ecx, [ebp - 0x24]", "0x1009aa27"], ["0x100acb4c", "push eax", "0x1009aa2a"], ["0x100acb4d", "call list<MxNotification *,allocator<MxNotification *> >::begin (FUNCTION)", "0x1009aa2b"], ["0x100acb52", "mov eax, dword ptr [eax]", "0x1009aa30"]]}]], ["@@ -0x100acbba,10 +0x1009aa98,11 @@", [{"both": [["0x100acbba", "ret 4", "0x1009aa98"], ["0x100acbbd", "lea ecx, [ebp - 0x2c]", "0x1009aa9b"], ["0x100acbc0", "jmp MxAutoLock::~MxAutoLock (FUNCTION)", "0x1009aa9e"], ["0x100acbc5", "lea ecx, [ebp - 0x24]", "0x1009aaa3"], ["0x100acbc8", "jmp list<MxNotification *,allocator<MxNotification *> >::~list<MxNotification *,allocator<MxNotification *> > (FUNCTION)", "0x1009aaa6"], ["0x100acbcd", "lea ecx, [ebp - 0x24]", "0x1009aaab"], ["0x100acbd0", "jmp List<MxNotification *>::~List<MxNotification *> (FUNCTION)", "0x1009aaae"], ["0x100acbd5", "mov eax, <OFFSET11>", "0x1009aab3"], ["0x100acbda", "jmp ___CxxFrameHandler (FUNCTION)", "0x1009aab8"], ["0x100acbdf", "lea ecx, [ebp - 0x24]", "0x1009aabd"]]}, {"orig": [], "recomp": [["0x1009aac0", "jmp MxNotificationPtrList::~MxNotificationPtrList (FUNCTION)"]]}]]]}, {"address": "0x100acbf0", "recomp": "0x1009aad0", "name": "list<MxNotification *,allocator<MxNotification *> >::begin", "matching": 1.0, "diff": []}, {"address": "0x100acc00", "recomp": "0x1009aae0", "name": "list<MxNotification *,allocator<MxNotification *> >::insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x100acc00,28 +0x1009aae0,28 @@", [{"both": [["0x100acc00", "push ebx", "0x1009aae0"], ["0x100acc01", "push esi", "0x1009aae1"], ["0x100acc02", "push edi", "0x1009aae2"], ["0x100acc03", "mov esi, ecx", "0x1009aae3"]]}, {"orig": [["0x100acc05", "mov edi, dword ptr [esp + 0x14]"]], "recomp": [["0x1009aae5", "mov ebx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100acc09", "push 0xc", "0x1009aae9"]]}, {"orig": [["0x100acc0b", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x1009aaeb", "mov edi, dword ptr [ebx + 4]"]]}, {"both": [["0x100acc0e", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009aaee"], ["0x100acc13", "add esp, 4", "0x1009aaf3"]]}, {"orig": [["0x100acc16", "test ebx, ebx"]], "recomp": [["0x1009aaf6", "test edi, edi"]]}, {"both": [["0x100acc18", "je 0x7", "0x1009aaf8"]]}, {"orig": [["0x100acc1a", "mov dword ptr [eax], edi"], ["0x100acc1c", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x1009aafa", "mov dword ptr [eax], ebx"], ["0x1009aafc", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x100acc1f", "jmp 0x5", "0x1009aaff"], ["0x100acc21", "mov dword ptr [eax], eax", "0x1009ab01"], ["0x100acc23", "mov dword ptr [eax + 4], eax", "0x1009ab03"], ["0x100acc26", "lea edx, [eax + 8]", "0x1009ab06"]]}, {"orig": [["0x100acc29", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1009ab09", "mov dword ptr [ebx + 4], eax"]]}, {"both": [["0x100acc2c", "mov ecx, dword ptr [eax + 4]", "0x1009ab0c"], ["0x100acc2f", "test edx, edx", "0x1009ab0f"], ["0x100acc31", "mov dword ptr [ecx], eax", "0x1009ab11"], ["0x100acc33", "je 0x8", "0x1009ab13"], ["0x100acc35", "mov ecx, dword ptr [esp + 0x18]", "0x1009ab15"], ["0x100acc39", "mov ebx, dword ptr [ecx]", "0x1009ab19"], ["0x100acc3b", "mov dword ptr [edx], ebx", "0x1009ab1b"], ["0x100acc3d", "mov ecx, dword ptr [esp + 0x10]", "0x1009ab1d"], ["0x100acc41", "inc dword ptr [esi + 8]", "0x1009ab21"], ["0x100acc44", "pop edi", "0x1009ab24"]]}]]]}, {"address": "0x100acc50", "recomp": "0x1009ab30", "name": "list<MxNotification *,allocator<MxNotification *> >::erase", "matching": 1.0, "diff": []}, {"address": "0x100acca0", "recomp": "0x1009ab80", "name": "list<MxNotification *,allocator<MxNotification *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100accd0", "recomp": "0x1009abb0", "name": "MxNotificationPtrList::~MxNotificationPtrList", "matching": 1.0, "diff": []}, {"address": "0x100acd20", "recomp": "0x1009ac00", "name": "MxNotificationManager::Register", "matching": 1.0, "effective": true, "diff": [["@@ -0x100acd59,21 +0x1009ac39,21 @@", [{"both": [["0x100acd59", "mov dword ptr [ebp - 0x14], edi", "0x1009ac39"], ["0x100acd5c", "mov ecx, dword ptr [eax + 4]", "0x1009ac3c"], ["0x100acd5f", "mov dword ptr [ebp - 0x20], ecx", "0x1009ac3f"], ["0x100acd62", "mov eax, dword ptr [edi]", "0x1009ac42"], ["0x100acd64", "cmp eax, edi", "0x1009ac44"], ["0x100acd66", "je 0x31", "0x1009ac46"], ["0x100acd68", "mov edx, dword ptr [ebp - 0x20]", "0x1009ac48"], ["0x100acd6b", "cmp dword ptr [eax + 8], edx", "0x1009ac4b"], ["0x100acd6e", "je 0x7", "0x1009ac4e"], ["0x100acd70", "mov eax, dword ptr [eax]", "0x1009ac50"]]}, {"orig": [["0x100acd72", "cmp dword ptr [ebp - 0x14], eax"]], "recomp": [["0x1009ac52", "cmp eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100acd75", "jne -0xf", "0x1009ac55"], ["0x100acd77", "cmp eax, edi", "0x1009ac57"], ["0x100acd79", "je 0x1e", "0x1009ac59"], ["0x100acd7b", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009ac5b"], ["0x100acd82", "call <OFFSET3>", "0x1009ac62"], ["0x100acd87", "mov eax, dword ptr [ebp - 0xc]", "0x1009ac67"], ["0x100acd8a", "pop edi", "0x1009ac6a"], ["0x100acd8b", "mov dword ptr fs:[0], eax", "0x1009ac6b"], ["0x100acd91", "pop esi", "0x1009ac71"], ["0x100acd92", "pop ebx", "0x1009ac72"]]}]]]}, {"address": "0x100acdf0", "recomp": "0x1009acd0", "name": "MxNotificationManager::Unregister", "matching": 1.0, "diff": []}, {"address": "0x100acea0", "recomp": "0x1009ad80", "name": "ObjectFactory", "matching": 1.0, "diff": []}, {"address": "0x100aceb0", "recomp": "0x1009ad90", "name": "NotificationManager", "matching": 1.0, "diff": []}, {"address": "0x100acec0", "recomp": "0x1009ada0", "name": "TickleManager", "matching": 1.0, "diff": []}, {"address": "0x100aced0", "recomp": "0x1009adb0", "name": "Timer", "matching": 1.0, "diff": []}, {"address": "0x100acee0", "recomp": "0x1009adc0", "name": "AtomSet", "matching": 1.0, "diff": []}, {"address": "0x100acef0", "recomp": "0x1009add0", "name": "Streamer", "matching": 1.0, "diff": []}, {"address": "0x100acf00", "recomp": "0x1009ade0", "name": "MSoundManager", "matching": 1.0, "diff": []}, {"address": "0x100acf10", "recomp": "0x1009adf0", "name": "MVideoManager", "matching": 1.0, "diff": []}, {"address": "0x100acf20", "recomp": "0x1009ae00", "name": "VariableTable", "matching": 1.0, "diff": []}, {"address": "0x100acf30", "recomp": "0x1009ae10", "name": "MusicManager", "matching": 1.0, "diff": []}, {"address": "0x100acf40", "recomp": "0x1009ae20", "name": "EventManager", "matching": 1.0, "diff": []}, {"address": "0x100acf50", "recomp": "0x1009ae30", "name": "Start", "matching": 1.0, "diff": []}, {"address": "0x100acf70", "recomp": "0x1009ae50", "name": "DeleteObject", "matching": 1.0, "diff": []}, {"address": "0x100acf90", "recomp": "0x1009ae70", "name": "MxAtomId::MxAtomId", "matching": 1.0, "diff": []}, {"address": "0x100acfd0", "recomp": "0x1009aeb0", "name": "MxAtomId::~MxAtomId", "matching": 1.0, "diff": []}, {"address": "0x100acfe0", "recomp": "0x1009aec0", "name": "MxAtomId::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100ad120", "recomp": "0x1009b000", "name": "MxAtomCompare::operator()", "matching": 1.0, "diff": []}, {"address": "0x100ad170", "recomp": "0x1009b050", "name": "MxAtom::~MxAtom", "matching": 1.0, "diff": []}, {"address": "0x100ad1c0", "recomp": "0x1009b0a0", "name": "MxAtomId::operator=", "matching": 1.0, "diff": []}, {"address": "0x100ad210", "recomp": "0x1009b0f0", "name": "MxAtomId::GetAtom", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ad332,21 +0x1009b212,21 @@", [{"both": [["0x100ad332", "mov ecx, dword ptr [eax + 0xc]", "0x1009b212"], ["0x100ad335", "mov dword ptr [ebp - 0x14], ecx", "0x1009b215"], ["0x100ad338", "jmp 0xee", "0x1009b218"], ["0x100ad33d", "mov ecx, dword ptr [ebp - 0x18]", "0x1009b21d"], ["0x100ad340", "jmp MxString::~MxString (FUNCTION)", "0x1009b220"], ["0x100ad345", "call AtomSet (FUNCTION)", "0x1009b225"], ["0x100ad34a", "mov edi, dword ptr [eax + 4]", "0x1009b22a"], ["0x100ad34d", "mov ebx, eax", "0x1009b22d"], ["0x100ad34f", "mov eax, 1", "0x1009b22f"], ["0x100ad354", "mov esi, dword ptr [edi + 4]", "0x1009b234"]]}, {"orig": [["0x100ad357", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], esi"]], "recomp": [["0x1009b237", "cmp esi, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]]}, {"both": [["0x100ad35d", "je 0x51", "0x1009b23d"], ["0x100ad35f", "mov edi, esi", "0x1009b23f"], ["0x100ad361", "mov eax, dword ptr [ebp - 0x14]", "0x1009b241"], ["0x100ad364", "mov ecx, dword ptr [esi + 0xc]", "0x1009b244"], ["0x100ad367", "mov eax, dword ptr [eax + 8]", "0x1009b247"], ["0x100ad36a", "mov edx, dword ptr [ecx + 8]", "0x1009b24a"], ["0x100ad36d", "mov cl, byte ptr [eax]", "0x1009b24d"], ["0x100ad36f", "cmp cl, byte ptr [edx]", "0x1009b24f"], ["0x100ad371", "jne 0x1a", "0x1009b251"], ["0x100ad373", "or cl, cl", "0x1009b253"]]}]], ["@@ -0x100ad38f,21 +0x1009b26f,21 @@", [{"both": [["0x100ad38f", "sbb eax, -1", "0x1009b26f"], ["0x100ad392", "test eax, eax", "0x1009b272"], ["0x100ad394", "mov eax, 1", "0x1009b274"], ["0x100ad399", "jg 0x2", "0x1009b279"], ["0x100ad39b", "xor eax, eax", "0x1009b27b"], ["0x100ad39d", "test eax, eax", "0x1009b27d"], ["0x100ad39f", "jne 0x5", "0x1009b27f"], ["0x100ad3a1", "mov esi, dword ptr [esi + 8]", "0x1009b281"], ["0x100ad3a4", "jmp 0x2", "0x1009b284"], ["0x100ad3a6", "mov esi, dword ptr [esi]", "0x1009b286"]]}, {"orig": [["0x100ad3a8", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], esi"]], "recomp": [["0x1009b288", "cmp esi, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]]}, {"both": [["0x100ad3ae", "jne -0x51", "0x1009b28e"], ["0x100ad3b0", "cmp dword ptr [ebx + 8], 0", "0x1009b290"], ["0x100ad3b4", "je 0xb", "0x1009b294"], ["0x100ad3b6", "lea eax, [ebp - 0x14]", "0x1009b296"], ["0x100ad3b9", "lea ecx, [ebp - 0x20]", "0x1009b299"], ["0x100ad3bc", "push eax", "0x1009b29c"], ["0x100ad3bd", "push edi", "0x1009b29d"], ["0x100ad3be", "push esi", "0x1009b29e"], ["0x100ad3bf", "jmp 0x62", "0x1009b29f"], ["0x100ad3c1", "mov dword ptr [ebp - 0x10], edi", "0x1009b2a1"]]}]]]}, {"address": "0x100ad480", "recomp": "0x1009b360", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::iterator::_Dec", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ad481,30 +0x1009b361,30 @@", [{"both": [["0x100ad481", "mov esi, dword ptr [ecx]", "0x1009b361"], ["0x100ad483", "cmp dword ptr [esi + 0x10], 0", "0x1009b363"], ["0x100ad487", "jne 0xf", "0x1009b367"], ["0x100ad489", "mov eax, dword ptr [esi + 4]", "0x1009b369"], ["0x100ad48c", "cmp dword ptr [eax + 4], esi", "0x1009b36c"], ["0x100ad48f", "jne 0x7", "0x1009b36f"], ["0x100ad491", "mov eax, dword ptr [esi + 8]", "0x1009b371"], ["0x100ad494", "pop esi", "0x1009b374"], ["0x100ad495", "mov dword ptr [ecx], eax", "0x1009b375"], ["0x100ad497", "ret ", "0x1009b377"]]}, {"orig": [["0x100ad498", "mov edx, dword ptr [esi]"]], "recomp": [["0x1009b378", "mov eax, dword ptr [esi]"], ["0x1009b37a", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"], ["0x1009b380", "je 0x13"], ["0x1009b382", "mov edx, dword ptr [eax + 8]"]]}, {"both": [["0x100ad49a", "cmp edx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]", "0x1009b385"]]}, {"orig": [["0x100ad4a0", "je 0x13"], ["0x100ad4a2", "mov eax, dword ptr [edx + 8]"], ["0x100ad4a5", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": []}, {"both": [["0x100ad4ab", "je 0x4", "0x1009b38b"]]}, {"orig": [["0x100ad4ad", "mov edx, eax"]], "recomp": [["0x1009b38d", "mov eax, edx"]]}, {"both": [["0x100ad4af", "jmp -0xf", "0x1009b38f"], ["0x100ad4b1", "pop esi", "0x1009b391"]]}, {"orig": [["0x100ad4b2", "mov dword ptr [ecx], edx"]], "recomp": [["0x1009b392", "mov dword ptr [ecx], eax"]]}, {"both": [["0x100ad4b4", "ret ", "0x1009b394"], ["0x100ad4b5", "mov edx, dword ptr [esi + 4]", "0x1009b395"], ["0x100ad4b8", "cmp dword ptr [edx], esi", "0x1009b398"], ["0x100ad4ba", "jne 0xb", "0x1009b39a"], ["0x100ad4bc", "mov dword ptr [ecx], edx", "0x1009b39c"], ["0x100ad4be", "mov eax, edx", "0x1009b39e"], ["0x100ad4c0", "mov edx, dword ptr [edx + 4]", "0x1009b3a0"], ["0x100ad4c3", "cmp dword ptr [edx], eax", "0x1009b3a3"], ["0x100ad4c5", "je -0xb", "0x1009b3a5"], ["0x100ad4c7", "pop esi", "0x1009b3a7"]]}]]]}, {"address": "0x100ad4d0", "recomp": "0x1009b3b0", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ad560,21 +0x1009b440,21 @@", [{"both": [["0x100ad560", "mov dword ptr [ecx + 8], edx", "0x1009b440"], ["0x100ad563", "mov eax, dword ptr [esi + 4]", "0x1009b443"], ["0x100ad566", "add eax, 8", "0x1009b446"], ["0x100ad569", "cmp dword ptr [eax], ecx", "0x1009b449"], ["0x100ad56b", "jne 0x26", "0x1009b44b"], ["0x100ad56d", "mov dword ptr [eax], edx", "0x1009b44d"], ["0x100ad56f", "jmp 0x22", "0x1009b44f"], ["0x100ad571", "mov edx, dword ptr [esp + 0x10]", "0x1009b451"], ["0x100ad575", "mov dword ptr [ecx], edx", "0x1009b455"], ["0x100ad577", "mov eax, dword ptr [esi + 4]", "0x1009b457"]]}, {"orig": [["0x100ad57a", "cmp ecx, eax"]], "recomp": [["0x1009b45a", "cmp eax, ecx"]]}, {"both": [["0x100ad57c", "je 0x8", "0x1009b45c"], ["0x100ad57e", "cmp dword ptr [eax], ecx", "0x1009b45e"], ["0x100ad580", "jne 0x11", "0x1009b460"], ["0x100ad582", "mov dword ptr [eax], edx", "0x1009b462"], ["0x100ad584", "jmp 0xd", "0x1009b464"], ["0x100ad586", "mov edx, dword ptr [esp + 0x10]", "0x1009b466"], ["0x100ad58a", "mov dword ptr [eax + 4], edx", "0x1009b46a"], ["0x100ad58d", "mov eax, dword ptr [esi + 4]", "0x1009b46d"], ["0x100ad590", "mov dword ptr [eax + 8], edx", "0x1009b470"], ["0x100ad593", "mov ecx, dword ptr [esp + 0x10]", "0x1009b473"]]}]], ["@@ -0x100ad607,48 +0x1009b4e7,48 @@", [{"both": [["0x100ad607", "jmp 0x2", "0x1009b4e7"], ["0x100ad609", "mov dword ptr [eax], edx", "0x1009b4e9"], ["0x100ad60b", "mov dword ptr [edx], ecx", "0x1009b4eb"], ["0x100ad60d", "mov dword ptr [edi], edx", "0x1009b4ed"], ["0x100ad60f", "mov eax, dword ptr [ecx + 4]", "0x1009b4ef"], ["0x100ad612", "mov dword ptr [eax + 0x10], 1", "0x1009b4f2"], ["0x100ad619", "mov eax, dword ptr [ecx + 4]", "0x1009b4f9"], ["0x100ad61c", "mov edx, dword ptr [eax + 4]", "0x1009b4fc"], ["0x100ad61f", "mov dword ptr [edx + 0x10], 0", "0x1009b4ff"], ["0x100ad626", "mov eax, dword ptr [ecx + 4]", "0x1009b506"]]}, {"orig": [["0x100ad629", "mov edx, dword ptr [eax + 4]"], ["0x100ad62c", "mov edi, dword ptr [edx]"], ["0x100ad62e", "mov eax, dword ptr [edi + 8]"], ["0x100ad631", "mov dword ptr [edx], eax"], ["0x100ad633", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x1009b509", "mov edi, dword ptr [eax + 4]"], ["0x1009b50c", "mov edx, dword ptr [edi]"], ["0x1009b50e", "mov eax, dword ptr [edx + 8]"], ["0x1009b511", "mov dword ptr [edi], eax"], ["0x1009b513", "mov eax, dword ptr [edx + 8]"]]}, {"both": [["0x100ad636", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]", "0x1009b516"], ["0x100ad63c", "je 0x3", "0x1009b51c"]]}, {"orig": [["0x100ad63e", "mov dword ptr [eax + 4], edx"], ["0x100ad641", "mov eax, dword ptr [edx + 4]"], ["0x100ad644", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1009b51e", "mov dword ptr [eax + 4], edi"], ["0x1009b521", "mov eax, dword ptr [edi + 4]"], ["0x1009b524", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x100ad647", "mov eax, dword ptr [esi + 4]", "0x1009b527"], ["0x100ad64a", "add eax, 4", "0x1009b52a"]]}, {"orig": [["0x100ad64d", "cmp dword ptr [eax], edx"]], "recomp": [["0x1009b52d", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100ad64f", "je 0x24", "0x1009b52f"]]}, {"orig": [["0x100ad651", "mov ebx, dword ptr [edx + 4]"]], "recomp": [["0x1009b531", "mov ebx, dword ptr [edi + 4]"]]}, {"both": [["0x100ad654", "lea eax, [ebx + 8]", "0x1009b534"]]}, {"orig": [["0x100ad657", "cmp dword ptr [eax], edx"]], "recomp": [["0x1009b537", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100ad659", "je 0xd", "0x1009b539"]]}, {"orig": [["0x100ad65b", "mov dword ptr [ebx], edi"], ["0x100ad65d", "mov dword ptr [edi + 8], edx"], ["0x100ad660", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1009b53b", "mov dword ptr [ebx], edx"], ["0x1009b53d", "mov dword ptr [edx + 8], edi"], ["0x1009b540", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x100ad663", "jmp 0xe2", "0x1009b543"]]}, {"orig": [["0x100ad668", "mov dword ptr [eax], edi"], ["0x100ad66a", "mov dword ptr [edi + 8], edx"], ["0x100ad66d", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1009b548", "mov dword ptr [eax], edx"], ["0x1009b54a", "mov dword ptr [edx + 8], edi"], ["0x1009b54d", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x100ad670", "jmp 0xd5", "0x1009b550"]]}, {"orig": [["0x100ad675", "mov dword ptr [eax], edi"], ["0x100ad677", "mov dword ptr [edi + 8], edx"]], "recomp": [["0x1009b555", "mov dword ptr [eax], edx"], ["0x1009b557", "mov dword ptr [edx + 8], edi"]]}, {"both": [["0x100ad67a", "jmp 0xa8", "0x1009b55a"], ["0x100ad67f", "cmp dword ptr [ebp + 0x10], 0", "0x1009b55f"], ["0x100ad683", "je 0xa3", "0x1009b563"], ["0x100ad689", "mov edx, dword ptr [eax]", "0x1009b569"], ["0x100ad68b", "cmp ecx, edx", "0x1009b56b"], ["0x100ad68d", "jne 0x38", "0x1009b56d"], ["0x100ad68f", "mov ecx, eax", "0x1009b56f"], ["0x100ad691", "mov eax, dword ptr [edx + 8]", "0x1009b571"], ["0x100ad694", "mov dword ptr [ecx], eax", "0x1009b574"], ["0x100ad696", "mov eax, dword ptr [edx + 8]", "0x1009b576"]]}]], ["@@ -0x100ad6be,48 +0x1009b59e,48 @@", [{"both": [["0x100ad6be", "jmp 0x2", "0x1009b59e"], ["0x100ad6c0", "mov dword ptr [eax], edx", "0x1009b5a0"], ["0x100ad6c2", "mov dword ptr [edx + 8], ecx", "0x1009b5a2"], ["0x100ad6c5", "mov dword ptr [edi], edx", "0x1009b5a5"], ["0x100ad6c7", "mov eax, dword ptr [ecx + 4]", "0x1009b5a7"], ["0x100ad6ca", "mov dword ptr [eax + 0x10], 1", "0x1009b5aa"], ["0x100ad6d1", "mov eax, dword ptr [ecx + 4]", "0x1009b5b1"], ["0x100ad6d4", "mov edx, dword ptr [eax + 4]", "0x1009b5b4"], ["0x100ad6d7", "mov dword ptr [edx + 0x10], 0", "0x1009b5b7"], ["0x100ad6de", "mov eax, dword ptr [ecx + 4]", "0x1009b5be"]]}, {"orig": [["0x100ad6e1", "mov edx, dword ptr [eax + 4]"], ["0x100ad6e4", "mov edi, dword ptr [edx + 8]"], ["0x100ad6e7", "mov eax, dword ptr [edi]"], ["0x100ad6e9", "mov dword ptr [edx + 8], eax"], ["0x100ad6ec", "mov eax, dword ptr [edi]"]], "recomp": [["0x1009b5c1", "mov edi, dword ptr [eax + 4]"], ["0x1009b5c4", "mov edx, dword ptr [edi + 8]"], ["0x1009b5c7", "mov eax, dword ptr [edx]"], ["0x1009b5c9", "mov dword ptr [edi + 8], eax"], ["0x1009b5cc", "mov eax, dword ptr [edx]"]]}, {"both": [["0x100ad6ee", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]", "0x1009b5ce"], ["0x100ad6f4", "je 0x3", "0x1009b5d4"]]}, {"orig": [["0x100ad6f6", "mov dword ptr [eax + 4], edx"], ["0x100ad6f9", "mov eax, dword ptr [edx + 4]"], ["0x100ad6fc", "mov dword ptr [edi + 4], eax"]], "recomp": [["0x1009b5d6", "mov dword ptr [eax + 4], edi"], ["0x1009b5d9", "mov eax, dword ptr [edi + 4]"], ["0x1009b5dc", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x100ad6ff", "mov eax, dword ptr [esi + 4]", "0x1009b5df"], ["0x100ad702", "add eax, 4", "0x1009b5e2"]]}, {"orig": [["0x100ad705", "cmp dword ptr [eax], edx"]], "recomp": [["0x1009b5e5", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100ad707", "je 0x1a", "0x1009b5e7"]]}, {"orig": [["0x100ad709", "mov eax, dword ptr [edx + 4]"], ["0x100ad70c", "cmp dword ptr [eax], edx"]], "recomp": [["0x1009b5e9", "mov eax, dword ptr [edi + 4]"], ["0x1009b5ec", "cmp dword ptr [eax], edi"]]}, {"both": [["0x100ad70e", "je 0xa", "0x1009b5ee"]]}, {"orig": [["0x100ad710", "mov dword ptr [eax + 8], edi"], ["0x100ad713", "mov dword ptr [edi], edx"], ["0x100ad715", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1009b5f0", "mov dword ptr [eax + 8], edx"], ["0x1009b5f3", "mov dword ptr [edx], edi"], ["0x1009b5f5", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x100ad718", "jmp 0x30", "0x1009b5f8"]]}, {"orig": [["0x100ad71a", "mov dword ptr [eax], edi"], ["0x100ad71c", "mov dword ptr [edi], edx"], ["0x100ad71e", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1009b5fa", "mov dword ptr [eax], edx"], ["0x1009b5fc", "mov dword ptr [edx], edi"], ["0x1009b5fe", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x100ad721", "jmp 0x27", "0x1009b601"]]}, {"orig": [["0x100ad723", "mov dword ptr [eax], edi"], ["0x100ad725", "mov dword ptr [edi], edx"], ["0x100ad727", "mov dword ptr [edx + 4], edi"]], "recomp": [["0x1009b603", "mov dword ptr [eax], edx"], ["0x1009b605", "mov dword ptr [edx], edi"], ["0x1009b607", "mov dword ptr [edi + 4], edx"]]}, {"both": [["0x100ad72a", "jmp 0x1e", "0x1009b60a"], ["0x100ad72c", "mov dword ptr [ebx], 1", "0x1009b60c"], ["0x100ad732", "mov dword ptr [ebp + 0x10], 1", "0x1009b612"], ["0x100ad739", "mov eax, dword ptr [edx]", "0x1009b619"], ["0x100ad73b", "mov ecx, dword ptr [eax + 4]", "0x1009b61b"], ["0x100ad73e", "mov dword ptr [ecx + 0x10], 0", "0x1009b61e"], ["0x100ad745", "mov eax, dword ptr [edx]", "0x1009b625"], ["0x100ad747", "mov ecx, dword ptr [eax + 4]", "0x1009b627"], ["0x100ad74a", "mov eax, dword ptr [esi + 4]", "0x1009b62a"], ["0x100ad74d", "cmp dword ptr [eax + 4], ecx", "0x1009b62d"]]}]]]}, {"address": "0x100ad780", "recomp": "0x1009b660", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Lbound", "matching": 1.0, "diff": []}, {"address": "0x100ad7e0", "recomp": "0x1009b6c0", "name": "MxAtomId::Clear", "matching": 1.0, "diff": []}, {"address": "0x100ad7f0", "recomp": "0x1009b6d0", "name": "MxAtom::Inc", "matching": 1.0, "diff": []}, {"address": "0x100ad800", "recomp": "0x1009b6e0", "name": "MxAtom::Dec", "matching": 1.0, "diff": []}, {"address": "0x100ad810", "recomp": "0x1009b6f0", "name": "MxDSAction::MxDSAction", "matching": 1.0, "diff": []}, {"address": "0x100ad940", "recomp": "0x1009b900", "name": "MxDSAction::GetDuration", "matching": 1.0, "diff": []}, {"address": "0x100ad950", "recomp": "0x1009b910", "name": "MxDSAction::SetDuration", "matching": 1.0, "diff": []}, {"address": "0x100ad960", "recomp": "0x1009b920", "name": "MxDSAction::HasId", "matching": 1.0, "diff": []}, {"address": "0x100ad980", "recomp": "0x1009b820", "name": "MxDSAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100ad990", "recomp": "0x1009b830", "name": "MxDSAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100ada40", "recomp": "0x1009b940", "name": "MxDSAction::SetUnknown90", "matching": 1.0, "diff": []}, {"address": "0x100ada50", "recomp": "0x1009b950", "name": "MxDSAction::GetUnknown90", "matching": 1.0, "diff": []}, {"address": "0x100ada60", "recomp": "0x1009b8e0", "name": "MxDSAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ada80", "recomp": "0x1009b960", "name": "MxDSAction::~MxDSAction", "matching": 1.0, "diff": []}, {"address": "0x100adaf0", "recomp": "0x1009b9d0", "name": "MxDSAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100adbd0", "recomp": "0x1009bab0", "name": "MxDSAction::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x100adbe0", "recomp": "0x1009bac0", "name": "MxDSAction::GetSizeOnDisk", "matching": 1.0, "diff": []}, {"address": "0x100adc10", "recomp": "0x1009baf0", "name": "MxDSAction::operator=", "matching": 1.0, "diff": []}, {"address": "0x100adc40", "recomp": "0x1009bb20", "name": "MxDSAction::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100adc46,40 +0x1009bb26,40 @@", [{"both": [["0x100adc46", "push ebp", "0x1009bb26"], ["0x100adc47", "mov ebp, esp", "0x1009bb27"], ["0x100adc49", "push -1", "0x1009bb29"], ["0x100adc4b", "push <OFFSET1>", "0x1009bb2b"], ["0x100adc50", "push eax", "0x1009bb30"], ["0x100adc51", "mov dword ptr fs:[0], esp", "0x1009bb31"], ["0x100adc58", "sub esp, 4", "0x1009bb38"], ["0x100adc5b", "push ebx", "0x1009bb3b"], ["0x100adc5c", "push esi", "0x1009bb3c"], ["0x100adc5d", "push edi", "0x1009bb3d"]]}, {"orig": [["0x100adc5e", "mov esi, ecx"]], "recomp": [["0x1009bb3e", "mov ebx, ecx"]]}, {"both": [["0x100adc60", "push 0x94", "0x1009bb40"], ["0x100adc65", "call ??2@YAPAXI@Z (FUNCTION)", "0x1009bb45"], ["0x100adc6a", "mov dword ptr [ebp - 0x10], eax", "0x1009bb4a"], ["0x100adc6d", "add esp, 4", "0x1009bb4d"], ["0x100adc70", "mov edi, eax", "0x1009bb50"]]}, {"orig": [["0x100adc72", "mov ebx, 0"]], "recomp": [["0x1009bb52", "mov esi, 0"]]}, {"both": [["0x100adc77", "mov dword ptr [ebp - 4], 0", "0x1009bb57"], ["0x100adc7e", "test edi, edi", "0x1009bb5e"], ["0x100adc80", "je 0x9", "0x1009bb60"], ["0x100adc82", "mov ecx, edi", "0x1009bb62"], ["0x100adc84", "call MxDSAction::MxDSAction (FUNCTION)", "0x1009bb64"]]}, {"orig": [["0x100adc89", "mov ebx, eax"]], "recomp": [["0x1009bb69", "mov esi, eax"]]}, {"both": [["0x100adc8b", "mov dword ptr [ebp - 4], 0xffffffff", "0x1009bb6b"]]}, {"orig": [["0x100adc92", "test ebx, ebx"]], "recomp": [["0x1009bb72", "test esi, esi"]]}, {"both": [["0x100adc94", "je 0x8", "0x1009bb74"]]}, {"orig": [["0x100adc96", "push esi"], ["0x100adc97", "mov ecx, ebx"]], "recomp": [["0x1009bb76", "push ebx"], ["0x1009bb77", "mov ecx, esi"]]}, {"both": [["0x100adc99", "call MxDSAction::operator= (FUNCTION)", "0x1009bb79"]]}, {"orig": [["0x100adc9e", "mov eax, ebx"]], "recomp": [["0x1009bb7e", "mov eax, esi"]]}, {"both": [["0x100adca0", "mov ecx, dword ptr [ebp - 0xc]", "0x1009bb80"], ["0x100adca3", "mov dword ptr fs:[0], ecx", "0x1009bb83"], ["0x100adcaa", "pop edi", "0x1009bb8a"], ["0x100adcab", "pop esi", "0x1009bb8b"], ["0x100adcac", "pop ebx", "0x1009bb8c"], ["0x100adcad", "mov esp, ebp", "0x1009bb8d"], ["0x100adcaf", "pop ebp", "0x1009bb8f"], ["0x100adcb0", "ret ", "0x1009bb90"], ["0x100adcb1", "mov eax, <OFFSET5>", "0x1009bb91"], ["0x100adcb6", "jmp ___CxxFrameHandler (FUNCTION)", "0x1009bb96"]]}]]]}, {"address": "0x100adcd0", "recomp": "0x1009bbb0", "name": "MxDSAction::GetElapsedTime", "matching": 1.0, "diff": []}, {"address": "0x100add00", "recomp": "0x1009bbe0", "name": "MxDSAction::MergeFrom", "matching": 1.0, "diff": []}, {"address": "0x100ade60", "recomp": "0x1009bd40", "name": "MxDSAction::AppendExtra", "matching": 1.0, "diff": []}, {"address": "0x100adf70", "recomp": "0x1009be50", "name": "MxDSAction::Deserialize", "matching": 1.0, "diff": []}, {"address": "0x100ae060", "recomp": "0x1009bf40", "name": "MxTimer::MxTimer", "matching": 1.0, "diff": []}, {"address": "0x100ae0d0", "recomp": "0x1009bfb0", "name": "MxTimer::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ae140", "recomp": "0x1009c020", "name": "MxTimer::GetRealTime", "matching": 1.0, "diff": []}, {"address": "0x100ae160", "recomp": "0x1009c040", "name": "MxTimer::Start", "matching": 1.0, "diff": []}, {"address": "0x100ae180", "recomp": "0x1009c060", "name": "MxTimer::Stop", "matching": 1.0, "diff": []}, {"address": "0x100ae1a0", "recomp": "0x1009c080", "name": "MxCore::MxCore", "matching": 1.0, "diff": []}, {"address": "0x100ae1c0", "recomp": "0x1009c0a0", "name": "MxCore::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ae1e0", "recomp": "0x1009c0c0", "name": "MxCore::~MxCore", "matching": 1.0, "diff": []}, {"address": "0x100ae1f0", "recomp": "0x1009c0d0", "name": "MxCore::Notify", "matching": 1.0, "diff": []}, {"address": "0x100ae200", "recomp": "0x1009c0e0", "name": "MxString::MxString", "matching": 1.0, "diff": []}, {"address": "0x100ae280", "recomp": "0x1009c160", "name": "MxString::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ae2a0", "recomp": "0x1009c180", "name": "MxString::MxString", "matching": 1.0, "diff": []}, {"address": "0x100ae350", "recomp": "0x1009c230", "name": "MxString::MxString", "matching": 1.0, "diff": []}, {"address": "0x100ae420", "recomp": "0x1009c300", "name": "MxString::~MxString", "matching": 1.0, "diff": []}, {"address": "0x100ae490", "recomp": "0x1009c370", "name": "MxString::ToUpperCase", "matching": 1.0, "diff": []}, {"address": "0x100ae4a0", "recomp": "0x1009c380", "name": "MxString::ToLowerCase", "matching": 1.0, "diff": []}, {"address": "0x100ae4b0", "recomp": "0x1009c390", "name": "MxString::operator=", "matching": 1.0, "diff": []}, {"address": "0x100ae510", "recomp": "0x1009c3f0", "name": "MxString::operator=", "matching": 1.0, "diff": []}, {"address": "0x100ae580", "recomp": "0x1009c460", "name": "MxString::operator+", "matching": 1.0, "diff": []}, {"address": "0x100ae690", "recomp": "0x1009c570", "name": "MxString::operator+=", "matching": 1.0, "diff": []}, {"address": "0x100ae740", "recomp": "0x1009c620", "name": "MxSoundManager::MxSoundManager", "matching": 1.0, "diff": []}, {"address": "0x100ae7b0", "recomp": "0x1009c690", "name": "MxSoundManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ae7d0", "recomp": "0x1009c6b0", "name": "MxSoundManager::~MxSoundManager", "matching": 1.0, "diff": []}, {"address": "0x100ae830", "recomp": "0x1009c710", "name": "MxSoundManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100ae840", "recomp": "0x1009c720", "name": "MxSoundManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100ae8b0", "recomp": "0x1009c790", "name": "MxSoundManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100aeab0", "recomp": "0x1009c990", "name": "MxSoundManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100aeac0", "recomp": "0x1009c9a0", "name": "MxSoundManager::SetVolume", "matching": 1.0, "diff": []}, {"address": "0x100aebd0", "recomp": "0x1009cab0", "name": "MxSoundManager::FUN_100aebd0", "matching": 1.0, "diff": []}, {"address": "0x100aecf0", "recomp": "0x1009cbd0", "name": "MxSoundManager::GetAttenuation", "matching": 0.8571428571428571, "diff": [["@@ -0x100aecf0,7 +0x1009cbd0,7 @@", [{"both": [["0x100aecf0", "mov eax, dword ptr [esp + 4]", "0x1009cbd0"], ["0x100aecf4", "test eax, eax", "0x1009cbd4"], ["0x100aecf6", "jne 0x8", "0x1009cbd6"], ["0x100aecf8", "mov eax, 0xffffd8f0", "0x1009cbd8"], ["0x100aecfd", "ret 4", "0x1009cbdd"]]}, {"orig": [["0x100aed00", "mov eax, dword ptr [eax*4 + MxCore::g_nextCoreId (DATA)]"]], "recomp": [["0x1009cbe0", "mov eax, dword ptr [eax*4 + <OFFSET1>]"]]}, {"both": [["0x100aed07", "ret 4", "0x1009cbe7"]]}]]]}, {"address": "0x100aed10", "recomp": "0x1009cbf0", "name": "MxSoundManager::Pause", "matching": 1.0, "diff": []}, {"address": "0x100aee10", "recomp": "0x1009ccf0", "name": "MxSoundManager::Resume", "matching": 1.0, "diff": []}, {"address": "0x100aef10", "recomp": "0x1009cdf0", "name": "MxOmni::MxOmni", "matching": 1.0, "diff": []}, {"address": "0x100aefb0", "recomp": "0x1009ceb0", "name": "MxOmni::AddToWorld", "matching": 1.0, "diff": []}, {"address": "0x100aefc0", "recomp": "0x1009cec0", "name": "MxOmni::NotifyCurrentEntity", "matching": 1.0, "diff": []}, {"address": "0x100aefd0", "recomp": "0x1009ce90", "name": "MxOmni::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100aeff0", "recomp": "0x1009ced0", "name": "MxOmni::~MxOmni", "matching": 1.0, "diff": []}, {"address": "0x100af080", "recomp": "0x1009cf60", "name": "MxOmni::Init", "matching": 1.0, "diff": []}, {"address": "0x100af0b0", "recomp": "0x1009cf90", "name": "MxOmni::SetInstance", "matching": 1.0, "diff": []}, {"address": "0x100af0c0", "recomp": "0x1009cfa0", "name": "MxOmni::Create", "matching": 1.0, "diff": []}, {"address": "0x100af6d0", "recomp": "0x1009d5b0", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::~_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x100af6e3,21 +0x1009d5c3,21 @@", [{"both": [["0x100af6e3", "mov eax, dword ptr [ecx]", "0x1009d5c3"], ["0x100af6e5", "mov dword ptr [esp + 0xc], eax", "0x1009d5c5"], ["0x100af6e9", "mov dword ptr [esp + 0x14], eax", "0x1009d5c9"], ["0x100af6ed", "je 0x4e", "0x1009d5cd"], ["0x100af6ef", "cmp dword ptr [ecx], eax", "0x1009d5cf"], ["0x100af6f1", "jne 0x4a", "0x1009d5d1"], ["0x100af6f3", "cmp ecx, ecx", "0x1009d5d3"], ["0x100af6f5", "jne 0x46", "0x1009d5d5"], ["0x100af6f7", "mov edi, dword ptr [ecx + 4]", "0x1009d5d7"], ["0x100af6fa", "mov ebx, edi", "0x1009d5da"]]}, {"orig": [["0x100af6fc", "cmp ebx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d5dc", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100af702", "je 0x1a", "0x1009d5e2"], ["0x100af704", "mov eax, dword ptr [ebx + 8]", "0x1009d5e4"], ["0x100af707", "mov ecx, esi", "0x1009d5e7"], ["0x100af709", "push eax", "0x1009d5e9"], ["0x100af70a", "call _Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Erase (FUNCTION)", "0x1009d5ea"], ["0x100af70f", "mov ebx, dword ptr [ebx]", "0x1009d5ef"], ["0x100af711", "push edi", "0x1009d5f1"], ["0x100af712", "mov edi, ebx", "0x1009d5f2"], ["0x100af714", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009d5f4"], ["0x100af719", "add esp, 4", "0x1009d5f9"]]}]]]}, {"address": "0x100af7a0", "recomp": "0x1009d680", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::iterator::_Inc", "matching": 1.0, "effective": true, "diff": [["@@ -0x100af7a0,16 +0x1009d680,16 @@", [{"both": [["0x100af7a0", "mov eax, dword ptr [ecx]", "0x1009d680"], ["0x100af7a2", "mov edx, dword ptr [eax + 8]", "0x1009d682"]]}, {"orig": [["0x100af7a5", "cmp edx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d685", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], edx"]]}, {"both": [["0x100af7ab", "je 0x11", "0x1009d68b"], ["0x100af7ad", "mov eax, dword ptr [edx]", "0x1009d68d"]]}, {"orig": [["0x100af7af", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d68f", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100af7b5", "je 0x4", "0x1009d695"], ["0x100af7b7", "mov edx, eax", "0x1009d697"], ["0x100af7b9", "jmp -0xe", "0x1009d699"], ["0x100af7bb", "mov dword ptr [ecx], edx", "0x1009d69b"], ["0x100af7bd", "ret ", "0x1009d69d"], ["0x100af7be", "mov edx, dword ptr [eax + 4]", "0x1009d69e"], ["0x100af7c1", "cmp dword ptr [edx + 8], eax", "0x1009d6a1"], ["0x100af7c4", "jne 0xc", "0x1009d6a4"], ["0x100af7c6", "mov dword ptr [ecx], edx", "0x1009d6a6"], ["0x100af7c8", "mov eax, edx", "0x1009d6a8"]]}]]]}, {"address": "0x100af7e0", "recomp": "0x1009d6c0", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::erase", "matching": 0.663013698630137, "diff": [["@@ -0x100af7e0,49 +0x1009d6c0,49 @@", [{"both": [["0x100af7e0", "mov eax, dword ptr [esp + 8]", "0x1009d6c0"], ["0x100af7e4", "sub esp, 4", "0x1009d6c4"], ["0x100af7e7", "mov dword ptr [esp], eax", "0x1009d6c7"], ["0x100af7eb", "push ebx", "0x1009d6cb"], ["0x100af7ec", "push esi", "0x1009d6cc"], ["0x100af7ed", "push edi", "0x1009d6cd"], ["0x100af7ee", "push ebp", "0x1009d6ce"], ["0x100af7ef", "mov esi, ecx", "0x1009d6cf"], ["0x100af7f1", "mov ecx, dword ptr [eax + 8]", "0x1009d6d1"]]}, {"orig": [["0x100af7f4", "cmp ecx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d6d4", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], ecx"]]}, {"both": [["0x100af7fa", "je 0xe", "0x1009d6da"], ["0x100af7fc", "mov eax, dword ptr [ecx]", "0x1009d6dc"]]}, {"orig": [["0x100af7fe", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d6de", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100af804", "je 0x29", "0x1009d6e4"], ["0x100af806", "mov ecx, eax", "0x1009d6e6"], ["0x100af808", "jmp -0xe", "0x1009d6e8"], ["0x100af80a", "mov eax, dword ptr [esp + 0x1c]", "0x1009d6ea"], ["0x100af80e", "mov ecx, dword ptr [eax + 4]", "0x1009d6ee"], ["0x100af811", "cmp dword ptr [ecx + 8], eax", "0x1009d6f1"], ["0x100af814", "jne 0x10", "0x1009d6f4"], ["0x100af816", "mov dword ptr [esp + 0x1c], ecx", "0x1009d6f6"], ["0x100af81a", "mov ecx, dword ptr [ecx + 4]", "0x1009d6fa"], ["0x100af81d", "mov eax, dword ptr [esp + 0x1c]", "0x1009d6fd"], ["0x100af821", "cmp dword ptr [ecx + 8], eax", "0x1009d701"], ["0x100af824", "je -0x10", "0x1009d704"], ["0x100af826", "mov eax, dword ptr [esp + 0x1c]", "0x1009d706"], ["0x100af82a", "cmp dword ptr [eax + 8], ecx", "0x1009d70a"], ["0x100af82d", "je 0x4", "0x1009d70d"], ["0x100af82f", "mov dword ptr [esp + 0x1c], ecx", "0x1009d70f"], ["0x100af833", "mov ecx, dword ptr [esp + 0x10]", "0x1009d713"], ["0x100af837", "mov ebx, dword ptr [ecx]", "0x1009d717"]]}, {"orig": [["0x100af839", "cmp ebx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d719", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100af83f", "je 0x26", "0x1009d71f"], ["0x100af841", "lea edi, [ecx + 8]", "0x1009d721"], ["0x100af844", "mov edx, dword ptr [edi]", "0x1009d724"]]}, {"orig": [["0x100af846", "cmp edx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d726", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], edx"]]}, {"both": [["0x100af84c", "je 0x15", "0x1009d72c"], ["0x100af84e", "mov eax, dword ptr [edx]", "0x1009d72e"]]}, {"orig": [["0x100af850", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d730", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100af856", "je 0x4", "0x1009d736"], ["0x100af858", "mov edx, eax", "0x1009d738"], ["0x100af85a", "jmp -0xe", "0x1009d73a"], ["0x100af85c", "mov ecx, edx", "0x1009d73c"], ["0x100af85e", "mov edx, dword ptr [edx + 8]", "0x1009d73e"], ["0x100af861", "jmp 0xe", "0x1009d741"], ["0x100af863", "mov edx, ebx", "0x1009d743"], ["0x100af865", "jmp 0xa", "0x1009d745"], ["0x100af867", "mov edi, dword ptr [esp + 0x10]", "0x1009d747"], ["0x100af86b", "mov edx, dword ptr [edi + 8]", "0x1009d74b"]]}]], ["@@ -0x100af896,51 +0x1009d776,51 @@", [{"both": [["0x100af896", "mov dword ptr [eax + 8], edx", "0x1009d776"], ["0x100af899", "jmp 0x2", "0x1009d779"], ["0x100af89b", "mov dword ptr [eax], edx", "0x1009d77b"], ["0x100af89d", "mov ebx, dword ptr [esi + 4]", "0x1009d77d"], ["0x100af8a0", "mov eax, dword ptr [esp + 0x10]", "0x1009d780"], ["0x100af8a4", "cmp dword ptr [ebx], eax", "0x1009d784"], ["0x100af8a6", "jne 0x26", "0x1009d786"], ["0x100af8a8", "mov eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]", "0x1009d788"], ["0x100af8ad", "cmp dword ptr [edi], eax", "0x1009d78d"], ["0x100af8af", "je 0x14", "0x1009d78f"]]}, {"orig": [["0x100af8b1", "mov eax, edx"], ["0x100af8b3", "mov edi, dword ptr [eax]"], ["0x100af8b5", "cmp edi, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d791", "mov edi, edx"], ["0x1009d793", "mov eax, dword ptr [edi]"], ["0x1009d795", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100af8bb", "je 0x4", "0x1009d79b"]]}, {"orig": [["0x100af8bd", "mov eax, edi"]], "recomp": [["0x1009d79d", "mov edi, eax"]]}, {"both": [["0x100af8bf", "jmp -0xe", "0x1009d79f"]]}, {"orig": [["0x100af8c1", "mov dword ptr [ebx], eax"]], "recomp": [["0x1009d7a1", "mov dword ptr [ebx], edi"]]}, {"both": [["0x100af8c3", "jmp 0x9", "0x1009d7a3"], ["0x100af8c5", "mov eax, dword ptr [esp + 0x10]", "0x1009d7a5"], ["0x100af8c9", "mov ebp, dword ptr [eax + 4]", "0x1009d7a9"], ["0x100af8cc", "mov dword ptr [ebx], ebp", "0x1009d7ac"], ["0x100af8ce", "mov edi, dword ptr [esi + 4]", "0x1009d7ae"], ["0x100af8d1", "mov eax, dword ptr [esp + 0x10]", "0x1009d7b1"], ["0x100af8d5", "add edi, 8", "0x1009d7b5"], ["0x100af8d8", "cmp dword ptr [edi], eax", "0x1009d7b8"]]}, {"orig": [["0x100af8da", "jne 0x8a"]], "recomp": [["0x1009d7ba", "jne 0x88"]]}, {"both": [["0x100af8e0", "mov ebx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]", "0x1009d7c0"], ["0x100af8e6", "cmp dword ptr [eax], ebx", "0x1009d7c6"], ["0x100af8e8", "je 0x15", "0x1009d7c8"], ["0x100af8ea", "mov eax, edx", "0x1009d7ca"], ["0x100af8ec", "mov ebx, dword ptr [eax + 8]", "0x1009d7cc"]]}, {"orig": [["0x100af8ef", "cmp ebx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d7cf", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], ebx"]]}, {"both": [["0x100af8f5", "je 0x4", "0x1009d7d5"], ["0x100af8f7", "mov eax, ebx", "0x1009d7d7"], ["0x100af8f9", "jmp -0xf", "0x1009d7d9"], ["0x100af8fb", "mov dword ptr [edi], eax", "0x1009d7db"]]}, {"orig": [["0x100af8fd", "jmp 0x6b"]], "recomp": [["0x1009d7dd", "jmp 0x69"]]}, {"both": [["0x100af8ff", "mov eax, dword ptr [esp + 0x10]", "0x1009d7df"], ["0x100af903", "mov ebx, dword ptr [eax + 4]", "0x1009d7e3"], ["0x100af906", "mov dword ptr [edi], ebx", "0x1009d7e6"]]}, {"orig": [["0x100af908", "jmp 0x60"]], "recomp": [["0x1009d7e8", "jmp 0x5e"]]}, {"both": [["0x100af90a", "mov eax, dword ptr [esp + 0x10]", "0x1009d7ea"], ["0x100af90e", "mov dword ptr [ebx + 4], ecx", "0x1009d7ee"], ["0x100af911", "mov ebx, dword ptr [eax]", "0x1009d7f1"], ["0x100af913", "mov dword ptr [ecx], ebx", "0x1009d7f3"], ["0x100af915", "cmp dword ptr [edi], ecx", "0x1009d7f5"], ["0x100af917", "jne 0x5", "0x1009d7f7"], ["0x100af919", "mov dword ptr [edx + 4], ecx", "0x1009d7f9"], ["0x100af91c", "jmp 0x15", "0x1009d7fc"], ["0x100af91e", "mov eax, dword ptr [ecx + 4]", "0x1009d7fe"], ["0x100af921", "mov dword ptr [edx + 4], eax", "0x1009d801"]]}]], ["@@ -0x100af93d,195 +0x1009d81d,192 @@", [{"both": [["0x100af93d", "cmp dword ptr [eax], edi", "0x1009d81d"], ["0x100af93f", "je 0xc", "0x1009d81f"], ["0x100af941", "mov eax, dword ptr [edi + 4]", "0x1009d821"], ["0x100af944", "cmp dword ptr [eax], edi", "0x1009d824"], ["0x100af946", "je 0x5", "0x1009d826"], ["0x100af948", "mov dword ptr [eax + 8], ecx", "0x1009d828"], ["0x100af94b", "jmp 0x2", "0x1009d82b"], ["0x100af94d", "mov dword ptr [eax], ecx", "0x1009d82d"], ["0x100af94f", "mov eax, dword ptr [esp + 0x10]", "0x1009d82f"], ["0x100af953", "mov ebx, dword ptr [eax + 4]", "0x1009d833"]]}, {"orig": [["0x100af956", "add eax, 0x10"]], "recomp": [["0x1009d836", "lea edi, [eax + 0x10]"]]}, {"both": [["0x100af959", "mov dword ptr [ecx + 4], ebx", "0x1009d839"]]}, {"orig": [["0x100af95c", "mov edi, dword ptr [ecx + 0x10]"], ["0x100af95f", "mov ebx, dword ptr [eax]"]], "recomp": [["0x1009d83c", "mov ebx, dword ptr [edi]"], ["0x1009d83e", "mov ebp, dword ptr [ecx + 0x10]"]]}, {"both": [["0x100af961", "mov dword ptr [ecx + 0x10], ebx", "0x1009d841"]]}, {"orig": [["0x100af964", "mov ecx, dword ptr [esp + 0x10]"], ["0x100af968", "mov dword ptr [eax], edi"]], "recomp": [["0x1009d844", "mov ecx, eax"], ["0x1009d846", "mov dword ptr [edi], ebp"]]}, {"both": [["0x100af96a", "cmp dword ptr [ecx + 0x10], 1", "0x1009d848"]]}, {"orig": [["0x100af96e", "jne 0x29f"]], "recomp": [["0x1009d84c", "jne 0x295"]]}, {"both": [["0x100af974", "mov eax, dword ptr [esi + 4]", "0x1009d852"], ["0x100af977", "cmp dword ptr [eax + 4], edx", "0x1009d855"]]}, {"orig": [["0x100af97a", "je 0x28c"]], "recomp": [["0x1009d858", "je 0x282"]]}, {"both": [["0x100af980", "cmp dword ptr [edx + 0x10], 1", "0x1009d85e"]]}, {"orig": [["0x100af984", "jne 0x282"]], "recomp": [["0x1009d862", "jne 0x278"]]}, {"both": [["0x100af98a", "lea ebx, [edx + 4]", "0x1009d868"], ["0x100af98d", "mov eax, dword ptr [ebx]", "0x1009d86b"], ["0x100af98f", "mov edi, dword ptr [eax]", "0x1009d86d"], ["0x100af991", "cmp edx, edi", "0x1009d86f"]]}, {"orig": [["0x100af993", "jne 0x76"]], "recomp": [["0x1009d871", "jne 0x73"]]}, {"both": [["0x100af995", "mov edi, dword ptr [eax + 8]", "0x1009d873"]]}, {"orig": [], "recomp": [["0x1009d876", "cmp dword ptr [edi + 0x10], 0"], ["0x1009d87a", "jne 0x4f"], ["0x1009d87c", "mov dword ptr [edi + 0x10], 1"], ["0x1009d883", "mov eax, dword ptr [ebx]"], ["0x1009d885", "mov dword ptr [eax + 0x10], 0"], ["0x1009d88c", "mov ebp, dword ptr [ebx]"], ["0x1009d88e", "mov eax, dword ptr [ebp + 8]"], ["0x1009d891", "mov edi, dword ptr [eax]"], ["0x1009d893", "mov dword ptr [ebp + 8], edi"], ["0x1009d896", "mov edi, dword ptr [eax]"], ["0x1009d898", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], edi"], ["0x1009d89e", "je 0x3"], ["0x1009d8a0", "mov dword ptr [edi + 4], ebp"], ["0x1009d8a3", "mov edi, dword ptr [ebp + 4]"], ["0x1009d8a6", "mov dword ptr [eax + 4], edi"], ["0x1009d8a9", "mov edi, dword ptr [esi + 4]"], ["0x1009d8ac", "add edi, 4"], ["0x1009d8af", "cmp dword ptr [edi], ebp"], ["0x1009d8b1", "je 0xc"], ["0x1009d8b3", "mov edi, dword ptr [ebp + 4]"], ["0x1009d8b6", "cmp dword ptr [edi], ebp"], ["0x1009d8b8", "je 0x5"], ["0x1009d8ba", "mov dword ptr [edi + 8], eax"], ["0x1009d8bd", "jmp 0x2"], ["0x1009d8bf", "mov dword ptr [edi], eax"], ["0x1009d8c1", "mov dword ptr [eax], ebp"], ["0x1009d8c3", "mov dword ptr [ebp + 4], eax"], ["0x1009d8c6", "mov eax, dword ptr [ebx]"], ["0x1009d8c8", "mov edi, dword ptr [eax + 8]"], ["0x1009d8cb", "mov eax, dword ptr [edi]"], ["0x1009d8cd", "cmp dword ptr [eax + 0x10], 1"], ["0x1009d8d1", "jne 0x9a"], ["0x1009d8d7", "mov eax, dword ptr [edi + 8]"], ["0x1009d8da", "cmp dword ptr [eax + 0x10], 1"], ["0x1009d8de", "jne 0x8d"], ["0x1009d8e4", "jmp 0x71"]]}, {"both": [["0x100af998", "cmp dword ptr [edi + 0x10], 0", "0x1009d8e6"], ["0x100af99c", "jne 0x52", "0x1009d8ea"], ["0x100af99e", "mov dword ptr [edi + 0x10], 1", "0x1009d8ec"], ["0x100af9a5", "mov eax, dword ptr [ebx]", "0x1009d8f3"], ["0x100af9a7", "mov dword ptr [eax + 0x10], 0", "0x1009d8f5"]]}, {"orig": [["0x100af9ae", "mov eax, dword ptr [ebx]"], ["0x100af9b0", "mov ebp, dword ptr [eax + 8]"], ["0x100af9b3", "mov edi, dword ptr [ebp]"], ["0x100af9b6", "mov dword ptr [eax + 8], edi"], ["0x100af9b9", "mov edi, dword ptr [ebp]"], ["0x100af9bc", "cmp edi, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d8fc", "mov ebp, dword ptr [ebx]"], ["0x1009d8fe", "mov eax, dword ptr [ebp]"], ["0x1009d901", "mov edi, dword ptr [eax + 8]"], ["0x1009d904", "mov dword ptr [ebp], edi"], ["0x1009d907", "mov edi, dword ptr [eax + 8]"], ["0x1009d90a", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], edi"]]}, {"both": [["0x100af9c2", "je 0x3", "0x1009d910"]]}, {"orig": [["0x100af9c4", "mov dword ptr [edi + 4], eax"], ["0x100af9c7", "mov edi, dword ptr [eax + 4]"], ["0x100af9ca", "mov dword ptr [ebp + 4], edi"]], "recomp": [["0x1009d912", "mov dword ptr [edi + 4], ebp"], ["0x1009d915", "mov edi, dword ptr [ebp + 4]"], ["0x1009d918", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x100af9cd", "mov edi, dword ptr [esi + 4]", "0x1009d91b"], ["0x100af9d0", "add edi, 4", "0x1009d91e"]]}, {"orig": [["0x100af9d3", "cmp dword ptr [edi], eax"], ["0x100af9d5", "je 0xc"], ["0x100af9d7", "mov edi, dword ptr [eax + 4]"], ["0x100af9da", "cmp dword ptr [edi], eax"], ["0x100af9dc", "je 0x5"], ["0x100af9de", "mov dword ptr [edi + 8], ebp"], ["0x100af9e1", "jmp 0x2"], ["0x100af9e3", "mov dword ptr [edi], ebp"], ["0x100af9e5", "mov dword ptr [ebp], eax"], ["0x100af9e8", "mov dword ptr [eax + 4], ebp"], ["0x100af9eb", "mov eax, dword ptr [ebx]"], ["0x100af9ed", "mov edi, dword ptr [eax + 8]"], ["0x100af9f0", "mov eax, dword ptr [edi]"], ["0x100af9f2", "cmp dword ptr [eax + 0x10], 1"], ["0x100af9f6", "jne 0x98"], ["0x100af9fc", "mov eax, dword ptr [edi + 8]"], ["0x100af9ff", "cmp dword ptr [eax + 0x10], 1"], ["0x100afa03", "jne 0x8b"], ["0x100afa09", "jmp 0x6f"], ["0x100afa0b", "cmp dword ptr [edi + 0x10], 0"], ["0x100afa0f", "jne 0x50"], ["0x100afa11", "mov dword ptr [edi + 0x10], 1"], ["0x100afa18", "mov eax, dword ptr [ebx]"], ["0x100afa1a", "mov dword ptr [eax + 0x10], 0"], ["0x100afa21", "mov eax, dword ptr [ebx]"], ["0x100afa23", "mov ebp, dword ptr [eax]"], ["0x100afa25", "mov edi, dword ptr [ebp + 8]"], ["0x100afa28", "mov dword ptr [eax], edi"], ["0x100afa2a", "mov edi, dword ptr [ebp + 8]"], ["0x100afa2d", "cmp edi, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d921", "cmp dword ptr [edi], ebp"], ["0x1009d923", "je 0xd"], ["0x1009d925", "mov edi, dword ptr [ebp + 4]"], ["0x1009d928", "add edi, 8"], ["0x1009d92b", "cmp dword ptr [edi], ebp"]]}, {"both": [["0x100afa33", "je 0x3", "0x1009d92d"]]}, {"orig": [["0x100afa35", "mov dword ptr [edi + 4], eax"], ["0x100afa38", "mov edi, dword ptr [eax + 4]"], ["0x100afa3b", "mov dword ptr [ebp + 4], edi"], ["0x100afa3e", "mov edi, dword ptr [esi + 4]"], ["0x100afa41", "add edi, 4"], ["0x100afa44", "cmp dword ptr [edi], eax"], ["0x100afa46", "je 0xd"], ["0x100afa48", "mov edi, dword ptr [eax + 4]"], ["0x100afa4b", "add edi, 8"], ["0x100afa4e", "cmp dword ptr [edi], eax"], ["0x100afa50", "je 0x3"], ["0x100afa52", "mov edi, dword ptr [eax + 4]"], ["0x100afa55", "mov dword ptr [edi], ebp"], ["0x100afa57", "mov dword ptr [ebp + 8], eax"], ["0x100afa5a", "mov dword ptr [eax + 4], ebp"]], "recomp": [["0x1009d92f", "mov edi, dword ptr [ebp + 4]"], ["0x1009d932", "mov dword ptr [edi], eax"], ["0x1009d934", "mov dword ptr [eax + 8], ebp"], ["0x1009d937", "mov dword ptr [ebp + 4], eax"]]}, {"both": [["0x100afa5d", "mov eax, dword ptr [ebx]", "0x1009d93a"], ["0x100afa5f", "mov edi, dword ptr [eax]", "0x1009d93c"], ["0x100afa61", "mov eax, dword ptr [edi + 8]", "0x1009d93e"], ["0x100afa64", "cmp dword ptr [eax + 0x10], 1", "0x1009d941"]]}, {"orig": [["0x100afa68", "jne 0xf0"]], "recomp": [["0x1009d945", "jne 0xe6"]]}, {"both": [["0x100afa6e", "mov eax, dword ptr [edi]", "0x1009d94b"], ["0x100afa70", "cmp dword ptr [eax + 0x10], 1", "0x1009d94d"]]}, {"orig": [["0x100afa74", "jne 0xe4"]], "recomp": [["0x1009d951", "jne 0xda"]]}, {"both": [["0x100afa7a", "mov dword ptr [edi + 0x10], 0", "0x1009d957"], ["0x100afa81", "mov edx, dword ptr [ebx]", "0x1009d95e"], ["0x100afa83", "mov eax, dword ptr [esi + 4]", "0x1009d960"], ["0x100afa86", "cmp dword ptr [eax + 4], edx", "0x1009d963"]]}, {"orig": [["0x100afa89", "jne -0x10f"], ["0x100afa8f", "jmp 0x178"]], "recomp": [["0x1009d966", "jne -0x10e"], ["0x1009d96c", "jmp 0x16f"]]}, {"both": [["0x100afa94", "mov eax, dword ptr [edi + 8]", "0x1009d971"], ["0x100afa97", "cmp dword ptr [eax + 0x10], 1", "0x1009d974"]]}, {"orig": [["0x100afa9b", "jne 0x53"]], "recomp": [["0x1009d978", "jne 0x52"]]}, {"both": [["0x100afa9d", "mov eax, dword ptr [edi]", "0x1009d97a"], ["0x100afa9f", "mov dword ptr [eax + 0x10], 1", "0x1009d97c"], ["0x100afaa6", "mov dword ptr [edi + 0x10], 0", "0x1009d983"], ["0x100afaad", "mov ebx, dword ptr [edi]", "0x1009d98a"], ["0x100afaaf", "mov ebp, dword ptr [ebx + 8]", "0x1009d98c"], ["0x100afab2", "mov dword ptr [edi], ebp", "0x1009d98f"], ["0x100afab4", "mov eax, dword ptr [ebx + 8]", "0x1009d991"]]}, {"orig": [["0x100afab7", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d994", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100afabd", "je 0x3", "0x1009d99a"], ["0x100afabf", "mov dword ptr [eax + 4], edi", "0x1009d99c"], ["0x100afac2", "mov eax, dword ptr [edi + 4]", "0x1009d99f"], ["0x100afac5", "mov dword ptr [ebx + 4], eax", "0x1009d9a2"], ["0x100afac8", "mov eax, dword ptr [esi + 4]", "0x1009d9a5"], ["0x100afacb", "add eax, 4", "0x1009d9a8"], ["0x100aface", "cmp dword ptr [eax], edi", "0x1009d9ab"]]}, {"orig": [["0x100afad0", "je 0x10"], ["0x100afad2", "mov eax, dword ptr [edi + 4]"], ["0x100afad5", "lea ebp, [eax + 8]"], ["0x100afad8", "cmp dword ptr [ebp], edi"], ["0x100afadb", "jne 0x5"]], "recomp": [["0x1009d9ad", "je 0xf"], ["0x1009d9af", "mov ebp, dword ptr [edi + 4]"], ["0x1009d9b2", "lea eax, [ebp + 8]"], ["0x1009d9b5", "cmp dword ptr [eax], edi"], ["0x1009d9b7", "je 0x5"]]}, {"both": [["0x100afadd", "mov dword ptr [ebp], ebx", "0x1009d9b9"], ["0x100afae0", "jmp 0x2", "0x1009d9bc"], ["0x100afae2", "mov dword ptr [eax], ebx", "0x1009d9be"], ["0x100afae4", "mov dword ptr [ebx + 8], edi", "0x1009d9c0"], ["0x100afae7", "mov dword ptr [edi + 4], ebx", "0x1009d9c3"], ["0x100afaea", "mov eax, dword ptr [edx + 4]", "0x1009d9c6"], ["0x100afaed", "mov edi, dword ptr [eax + 8]", "0x1009d9c9"], ["0x100afaf0", "mov eax, dword ptr [edx + 4]", "0x1009d9cc"], ["0x100afaf3", "mov ebx, dword ptr [eax + 0x10]", "0x1009d9cf"], ["0x100afaf6", "mov dword ptr [edi + 0x10], ebx", "0x1009d9d2"], ["0x100afaf9", "mov ebx, 1", "0x1009d9d5"], ["0x100afafe", "mov eax, dword ptr [edx + 4]", "0x1009d9da"], ["0x100afb01", "mov dword ptr [eax + 0x10], ebx", "0x1009d9dd"], ["0x100afb04", "mov ebp, dword ptr [edi + 8]", "0x1009d9e0"], ["0x100afb07", "mov dword ptr [ebp + 0x10], ebx", "0x1009d9e3"]]}, {"orig": [["0x100afb0a", "mov edi, dword ptr [edx + 4]"], ["0x100afb0d", "mov ebx, dword ptr [edi + 8]"], ["0x100afb10", "mov eax, dword ptr [ebx]"], ["0x100afb12", "mov dword ptr [edi + 8], eax"], ["0x100afb15", "mov eax, dword ptr [ebx]"], ["0x100afb17", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009d9e6", "mov ebx, dword ptr [edx + 4]"], ["0x1009d9e9", "mov edi, dword ptr [ebx + 8]"], ["0x1009d9ec", "mov eax, dword ptr [edi]"], ["0x1009d9ee", "mov dword ptr [ebx + 8], eax"], ["0x1009d9f1", "mov eax, dword ptr [edi]"], ["0x1009d9f3", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100afb1d", "je 0x3", "0x1009d9f9"]]}, {"orig": [["0x100afb1f", "mov dword ptr [eax + 4], edi"], ["0x100afb22", "mov eax, dword ptr [edi + 4]"], ["0x100afb25", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x1009d9fb", "mov dword ptr [eax + 4], ebx"], ["0x1009d9fe", "mov eax, dword ptr [ebx + 4]"], ["0x1009da01", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x100afb28", "mov eax, dword ptr [esi + 4]", "0x1009da04"], ["0x100afb2b", "add eax, 4", "0x1009da07"]]}, {"orig": [["0x100afb2e", "cmp dword ptr [eax], edi"], ["0x100afb30", "je 0x20"], ["0x100afb32", "mov eax, dword ptr [edi + 4]"], ["0x100afb35", "cmp dword ptr [eax], edi"], ["0x100afb37", "je 0xd"], ["0x100afb39", "mov dword ptr [eax + 8], ebx"], ["0x100afb3c", "mov dword ptr [ebx], edi"], ["0x100afb3e", "mov dword ptr [edi + 4], ebx"], ["0x100afb41", "jmp 0xc6"], ["0x100afb46", "mov dword ptr [eax], ebx"], ["0x100afb48", "mov dword ptr [ebx], edi"], ["0x100afb4a", "mov dword ptr [edi + 4], ebx"], ["0x100afb4d", "jmp 0xba"], ["0x100afb52", "mov dword ptr [eax], ebx"], ["0x100afb54", "mov dword ptr [ebx], edi"], ["0x100afb56", "mov dword ptr [edi + 4], ebx"], ["0x100afb59", "jmp 0xae"]], "recomp": [["0x1009da0a", "cmp dword ptr [eax], ebx"], ["0x1009da0c", "je 0x1a"], ["0x1009da0e", "mov eax, dword ptr [ebx + 4]"], ["0x1009da11", "cmp dword ptr [eax], ebx"], ["0x1009da13", "je 0xa"], ["0x1009da15", "mov dword ptr [eax + 8], edi"], ["0x1009da18", "mov dword ptr [edi], ebx"], ["0x1009da1a", "jmp 0xbe"], ["0x1009da1f", "mov dword ptr [eax], edi"], ["0x1009da21", "mov dword ptr [edi], ebx"], ["0x1009da23", "jmp 0xb5"], ["0x1009da28", "mov dword ptr [eax], edi"], ["0x1009da2a", "mov dword ptr [edi], ebx"], ["0x1009da2c", "jmp 0xac"]]}, {"both": [["0x100afb5e", "mov eax, dword ptr [edi]", "0x1009da31"], ["0x100afb60", "cmp dword ptr [eax + 0x10], 1", "0x1009da33"], ["0x100afb64", "jne 0x4e", "0x1009da37"], ["0x100afb66", "mov eax, dword ptr [edi + 8]", "0x1009da39"], ["0x100afb69", "mov dword ptr [eax + 0x10], 1", "0x1009da3c"], ["0x100afb70", "mov dword ptr [edi + 0x10], 0", "0x1009da43"], ["0x100afb77", "mov ebx, dword ptr [edi + 8]", "0x1009da4a"], ["0x100afb7a", "mov ebp, dword ptr [ebx]", "0x1009da4d"], ["0x100afb7c", "mov dword ptr [edi + 8], ebp", "0x1009da4f"], ["0x100afb7f", "mov eax, dword ptr [ebx]", "0x1009da52"]]}, {"orig": [["0x100afb81", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009da54", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100afb87", "je 0x3", "0x1009da5a"], ["0x100afb89", "mov dword ptr [eax + 4], edi", "0x1009da5c"], ["0x100afb8c", "mov eax, dword ptr [edi + 4]", "0x1009da5f"], ["0x100afb8f", "mov dword ptr [ebx + 4], eax", "0x1009da62"], ["0x100afb92", "mov eax, dword ptr [esi + 4]", "0x1009da65"], ["0x100afb95", "add eax, 4", "0x1009da68"], ["0x100afb98", "cmp dword ptr [eax], edi", "0x1009da6b"], ["0x100afb9a", "je 0xc", "0x1009da6d"], ["0x100afb9c", "mov eax, dword ptr [edi + 4]", "0x1009da6f"], ["0x100afb9f", "cmp dword ptr [eax], edi", "0x1009da72"]]}]], ["@@ -0x100afbbd,35 +0x1009da90,42 @@", [{"both": [["0x100afbbd", "mov ebx, 1", "0x1009da90"], ["0x100afbc2", "mov eax, dword ptr [edx + 4]", "0x1009da95"], ["0x100afbc5", "mov dword ptr [eax + 0x10], ebx", "0x1009da98"], ["0x100afbc8", "mov ebp, dword ptr [edi]", "0x1009da9b"], ["0x100afbca", "mov dword ptr [ebp + 0x10], ebx", "0x1009da9d"], ["0x100afbcd", "mov ebx, dword ptr [edx + 4]", "0x1009daa0"], ["0x100afbd0", "mov edi, dword ptr [ebx]", "0x1009daa3"], ["0x100afbd2", "mov eax, dword ptr [edi + 8]", "0x1009daa5"], ["0x100afbd5", "mov dword ptr [ebx], eax", "0x1009daa8"], ["0x100afbd7", "mov eax, dword ptr [edi + 8]", "0x1009daaa"]]}, {"orig": [["0x100afbda", "cmp eax, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009daad", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], eax"]]}, {"both": [["0x100afbe0", "je 0x3", "0x1009dab3"], ["0x100afbe2", "mov dword ptr [eax + 4], ebx", "0x1009dab5"], ["0x100afbe5", "mov eax, dword ptr [ebx + 4]", "0x1009dab8"], ["0x100afbe8", "mov dword ptr [edi + 4], eax", "0x1009dabb"], ["0x100afbeb", "mov eax, dword ptr [esi + 4]", "0x1009dabe"], ["0x100afbee", "add eax, 4", "0x1009dac1"], ["0x100afbf1", "cmp dword ptr [eax], ebx", "0x1009dac4"]]}, {"orig": [["0x100afbf3", "je 0xf"], ["0x100afbf5", "mov ebp, dword ptr [ebx + 4]"], ["0x100afbf8", "lea eax, [ebp + 8]"], ["0x100afbfb", "cmp dword ptr [eax], ebx"], ["0x100afbfd", "je 0x5"]], "recomp": [["0x1009dac6", "je 0x10"], ["0x1009dac8", "mov eax, dword ptr [ebx + 4]"], ["0x1009dacb", "lea ebp, [eax + 8]"], ["0x1009dace", "cmp dword ptr [ebp], ebx"], ["0x1009dad1", "jne 0x5"]]}, {"both": [["0x100afbff", "mov dword ptr [ebp], edi", "0x1009dad3"], ["0x100afc02", "jmp 0x2", "0x1009dad6"], ["0x100afc04", "mov dword ptr [eax], edi", "0x1009dad8"], ["0x100afc06", "mov dword ptr [edi + 8], ebx", "0x1009dada"], ["0x100afc09", "mov dword ptr [ebx + 4], edi", "0x1009dadd"], ["0x100afc0c", "mov dword ptr [edx + 0x10], 1", "0x1009dae0"], ["0x100afc13", "push ecx", "0x1009dae7"], ["0x100afc14", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009dae8"], ["0x100afc19", "mov ecx, dword ptr [esp + 0x20]", "0x1009daed"], ["0x100afc1d", "mov eax, dword ptr [esp + 0x1c]", "0x1009daf1"], ["0x100afc21", "add esp, 4", "0x1009daf5"], ["0x100afc24", "dec dword ptr [esi + 0xc]", "0x1009daf8"]]}, {"orig": [], "recomp": [["0x1009dafb", "mov dword ptr [eax], ecx"], ["0x1009dafd", "pop ebp"], ["0x1009dafe", "pop edi"], ["0x1009daff", "pop esi"], ["0x1009db00", "pop ebx"], ["0x1009db01", "add esp, 4"], ["0x1009db04", "ret 8"]]}]]]}, {"address": "0x100afc40", "recomp": "0x1009db10", "name": "_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Erase", "matching": 0.5652173913043478, "diff": [["@@ -0x100afc40,23 +0x1009db10,23 @@", [{"both": [["0x100afc40", "push ebx", "0x1009db10"], ["0x100afc41", "push esi", "0x1009db11"]]}, {"orig": [], "recomp": [["0x1009db12", "mov esi, dword ptr [esp + 0xc]"]]}, {"both": [["0x100afc42", "push edi", "0x1009db16"]]}, {"orig": [["0x100afc43", "mov esi, ecx"], ["0x100afc45", "mov ebx, dword ptr [esp + 0x10]"], ["0x100afc49", "mov edi, ebx"], ["0x100afc4b", "cmp ebx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009db17", "mov edi, ecx"], ["0x1009db19", "mov ebx, esi"], ["0x1009db1b", "cmp dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)], esi"]]}, {"both": [["0x100afc51", "je 0x20", "0x1009db21"]]}, {"orig": [["0x100afc53", "mov eax, dword ptr [edi + 8]"], ["0x100afc56", "mov ecx, esi"]], "recomp": [["0x1009db23", "mov eax, dword ptr [ebx + 8]"], ["0x1009db26", "mov ecx, edi"]]}, {"both": [["0x100afc58", "push eax", "0x1009db28"], ["0x100afc59", "call _Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Erase (FUNCTION)", "0x1009db29"]]}, {"orig": [["0x100afc5e", "mov edi, dword ptr [edi]"], ["0x100afc60", "push ebx"], ["0x100afc61", "mov ebx, edi"]], "recomp": [["0x1009db2e", "mov ebx, dword ptr [ebx]"], ["0x1009db30", "push esi"], ["0x1009db31", "mov esi, ebx"]]}, {"both": [["0x100afc63", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009db33"], ["0x100afc68", "add esp, 4", "0x1009db38"]]}, {"orig": [["0x100afc6b", "cmp edi, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]], "recomp": [["0x1009db3b", "cmp ebx, dword ptr [_Tree<MxAtom *,MxAtom *,set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::_Kfn,MxAtomCompare,allocator<MxAtom *> >::_Nil (DATA)]"]]}, {"both": [["0x100afc71", "jne -0x20", "0x1009db41"], ["0x100afc73", "pop edi", "0x1009db43"], ["0x100afc74", "pop esi", "0x1009db44"], ["0x100afc75", "pop ebx", "0x1009db45"], ["0x100afc76", "ret 4", "0x1009db46"]]}]]]}, {"address": "0x100afc80", "recomp": "0x1009db50", "name": "set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >::~set<MxAtom *,MxAtomCompare,allocator<MxAtom *> >", "matching": 1.0, "diff": []}, {"address": "0x100afcd0", "recomp": "0x1009dbb0", "name": "MxCollection<MxVariable *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100afce0", "recomp": "0x1009dbc0", "name": "MxCollection<MxVariable *>::~MxCollection<MxVariable *>", "matching": 1.0, "diff": []}, {"address": "0x100afd30", "recomp": "0x1009dc10", "name": "MxCollection<MxVariable *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100afd40", "recomp": "0x1009dca0", "name": "MxCollection<MxVariable *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100afdb0", "recomp": "0x1009dba0", "name": "MxVariableTable::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100afdc0", "recomp": "0x1009dc20", "name": "MxHashTable<MxVariable *>::Hash", "matching": 1.0, "diff": []}, {"address": "0x100afdd0", "recomp": "0x1009dc30", "name": "MxVariableTable::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100afe40", "recomp": "0x1009ddf0", "name": "Set<MxAtom *,MxAtomCompare>::~Set<MxAtom *,MxAtomCompare>", "matching": 1.0, "diff": []}, {"address": "0x100afe90", "recomp": "0x1009de40", "name": "MxOmni::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b0090", "recomp": "0x1009e040", "name": "MxOmni::Start", "matching": 1.0, "diff": []}, {"address": "0x100b00c0", "recomp": "0x1009e070", "name": "MxOmni::DeleteObject", "matching": 1.0, "diff": []}, {"address": "0x100b00e0", "recomp": "0x1009e090", "name": "MxOmni::CreatePresenter", "matching": 1.0, "diff": []}, {"address": "0x100b0300", "recomp": "0x100acb10", "name": "MxStartActionNotificationParam::Clone", "matching": 1.0, "diff": []}, {"address": "0x100b0430", "recomp": "0x1009e2b0", "name": "MxStartActionNotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b04a0", "recomp": "0x1009e320", "name": "MxStartActionNotificationParam::~MxStartActionNotificationParam", "matching": 1.0, "diff": []}, {"address": "0x100b04f0", "recomp": "0x100acc40", "name": "MxType4NotificationParam::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b050e,37 +0x100acc5e,37 @@", [{"both": [["0x100b050e", "push 0x18", "0x100acc5e"], ["0x100b0510", "mov edi, ecx", "0x100acc60"], ["0x100b0512", "call ??2@YAPAXI@Z (FUNCTION)", "0x100acc62"], ["0x100b0517", "mov dword ptr [ebp - 0x10], eax", "0x100acc67"], ["0x100b051a", "add esp, 4", "0x100acc6a"], ["0x100b051d", "mov esi, eax", "0x100acc6d"], ["0x100b051f", "xor ecx, ecx", "0x100acc6f"], ["0x100b0521", "mov dword ptr [ebp - 4], ecx", "0x100acc71"], ["0x100b0524", "test esi, esi", "0x100acc74"], ["0x100b0526", "je 0x5f", "0x100acc76"]]}, {"orig": [["0x100b0528", "mov edx, dword ptr [edi + 0x14]"], ["0x100b052b", "mov ebx, dword ptr [edi + 0xc]"]], "recomp": [["0x100acc78", "mov ebx, dword ptr [edi + 0x14]"], ["0x100acc7b", "mov edx, dword ptr [edi + 0xc]"]]}, {"both": [["0x100b052e", "mov byte ptr [ebp - 4], 1", "0x100acc7e"], ["0x100b0532", "mov byte ptr [ebp - 4], 2", "0x100acc82"], ["0x100b0536", "mov eax, dword ptr [edi + 8]", "0x100acc86"], ["0x100b0539", "mov dword ptr [esi], MxParam::`vftable' (VTABLE)", "0x100acc89"], ["0x100b053f", "mov dword ptr [esi + 4], 4", "0x100acc8f"], ["0x100b0546", "mov byte ptr [ebp - 4], 3", "0x100acc96"], ["0x100b054a", "mov dword ptr [esi + 8], eax", "0x100acc9a"], ["0x100b054d", "mov byte ptr [ebp - 4], cl", "0x100acc9d"], ["0x100b0550", "mov eax, esi", "0x100acca0"], ["0x100b0552", "mov dword ptr [esi], MxNotificationParam::`vftable' (VTABLE)", "0x100acca2"], ["0x100b0558", "mov dword ptr [esi], MxActionNotificationParam::`vftable' (VTABLE)", "0x100acca8"], ["0x100b055e", "mov byte ptr [esi + 0x10], cl", "0x100accae"]]}, {"orig": [["0x100b0561", "mov dword ptr [esi + 0xc], ebx"]], "recomp": [["0x100accb1", "mov dword ptr [esi + 0xc], edx"]]}, {"both": [["0x100b0564", "mov dword ptr [esi], MxType4NotificationParam::`vftable' (VTABLE)", "0x100accb4"]]}, {"orig": [["0x100b056a", "mov dword ptr [esi + 0x14], edx"]], "recomp": [["0x100accba", "mov dword ptr [esi + 0x14], ebx"]]}, {"both": [["0x100b056d", "jmp 0x1a", "0x100accbd"], ["0x100b056f", "mov ecx, dword ptr [ebp - 0x10]", "0x100accbf"], ["0x100b0572", "jmp MxParam::~MxParam (FUNCTION)", "0x100accc2"], ["0x100b0577", "mov ecx, dword ptr [ebp - 0x10]", "0x100accc7"], ["0x100b057a", "jmp MxNotificationParam::~MxNotificationParam (FUNCTION)", "0x100accca"], ["0x100b057f", "mov ecx, dword ptr [ebp - 0x10]", "0x100acccf"], ["0x100b0582", "jmp MxActionNotificationParam::~MxActionNotificationParam (FUNCTION)", "0x100accd2"], ["0x100b0587", "xor eax, eax", "0x100accd7"], ["0x100b0589", "mov dword ptr [ebp - 4], 0xffffffff", "0x100accd9"], ["0x100b0590", "mov ecx, dword ptr [ebp - 0xc]", "0x100acce0"]]}]]]}, {"address": "0x100b05c0", "recomp": "0x1009e370", "name": "MxType4NotificationParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b0630", "recomp": "0x1009e3e0", "name": "MxType4NotificationParam::~MxType4NotificationParam", "matching": 1.0, "diff": []}, {"address": "0x100b0680", "recomp": "0x1009e430", "name": "MxOmni::GetInstance", "matching": 1.0, "diff": []}, {"address": "0x100b0690", "recomp": "0x1009e440", "name": "MxOmni::DestroyInstance", "matching": 1.0, "diff": []}, {"address": "0x100b06b0", "recomp": "0x1009e460", "name": "MxOmni::ActionSourceEquals", "matching": 1.0, "diff": []}, {"address": "0x100b07f0", "recomp": "0x1009e5a0", "name": "MxOmni::Notify", "matching": 1.0, "diff": []}, {"address": "0x100b0880", "recomp": "0x1009e630", "name": "MxOmni::HandleEndAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b0880,39 +0x1009e630,39 @@", [{"both": [["0x100b0880", "push ebx", "0x1009e630"], ["0x100b0881", "push esi", "0x1009e631"], ["0x100b0882", "mov esi, dword ptr [esp + 0xc]", "0x1009e632"], ["0x100b0886", "push edi", "0x1009e636"]]}, {"orig": [["0x100b0887", "mov ebx, dword ptr [esi + 0xc]"], ["0x100b088a", "mov eax, dword ptr [ebx + 0x20]"]], "recomp": [["0x1009e637", "mov edi, dword ptr [esi + 0xc]"], ["0x1009e63a", "mov eax, dword ptr [edi + 0x20]"]]}, {"both": [["0x100b088d", "push eax", "0x1009e63d"], ["0x100b088e", "call Streamer (FUNCTION)", "0x1009e63e"], ["0x100b0893", "mov ecx, eax", "0x1009e643"], ["0x100b0895", "call MxStreamer::GetOpenStream (FUNCTION)", "0x1009e645"], ["0x100b089a", "test eax, eax", "0x1009e64a"], ["0x100b089c", "je 0x3b", "0x1009e64c"]]}, {"orig": [["0x100b089e", "lea edi, [eax + 0x54]"]], "recomp": [["0x1009e64e", "lea ebx, [eax + 0x54]"]]}, {"both": [["0x100b08a1", "push 0", "0x1009e651"]]}, {"orig": [["0x100b08a3", "push ebx"], ["0x100b08a4", "mov ecx, edi"]], "recomp": [["0x1009e653", "push edi"], ["0x1009e654", "mov ecx, ebx"]]}, {"both": [["0x100b08a6", "call MxDSObjectList::FindInternal (FUNCTION)", "0x1009e656"]]}, {"orig": [["0x100b08ab", "mov ebx, eax"], ["0x100b08ad", "test ebx, ebx"]], "recomp": [["0x1009e65b", "mov edi, eax"], ["0x1009e65d", "test edi, edi"]]}, {"both": [["0x100b08af", "je 0x28", "0x1009e65f"], ["0x100b08b1", "push 'LegoLoopingAnimPresenter' (STRING)", "0x1009e661"]]}, {"orig": [["0x100b08b6", "push ebx"]], "recomp": [["0x1009e666", "push edi"]]}, {"both": [["0x100b08b7", "call MxOmni::ActionSourceEquals (FUNCTION)", "0x1009e667"], ["0x100b08bc", "add esp, 8", "0x1009e66c"], ["0x100b08bf", "test al, al", "0x1009e66f"], ["0x100b08c1", "jne 0x16", "0x1009e671"], ["0x100b08c3", "push 1", "0x1009e673"]]}, {"orig": [["0x100b08c5", "mov ecx, edi"], ["0x100b08c7", "push ebx"]], "recomp": [["0x1009e675", "mov ecx, ebx"], ["0x1009e677", "push edi"]]}, {"both": [["0x100b08c8", "call MxDSObjectList::FindInternal (FUNCTION)", "0x1009e678"], ["0x100b08cd", "test eax, eax", "0x1009e67d"], ["0x100b08cf", "je 0x8", "0x1009e67f"], ["0x100b08d1", "push 1", "0x1009e681"], ["0x100b08d3", "mov edx, dword ptr [eax]", "0x1009e683"], ["0x100b08d5", "mov ecx, eax", "0x1009e685"], ["0x100b08d7", "call dword ptr [edx]", "0x1009e687"], ["0x100b08d9", "mov ecx, dword ptr [esi + 8]", "0x1009e689"], ["0x100b08dc", "test ecx, ecx", "0x1009e68c"], ["0x100b08de", "je 0x6", "0x1009e68e"]]}]]]}, {"address": "0x100b0900", "recomp": "0x1009e6b0", "name": "MxOmni::GetHD", "matching": 1.0, "diff": []}, {"address": "0x100b0910", "recomp": "0x1009e6c0", "name": "MxOmni::SetHD", "matching": 1.0, "diff": []}, {"address": "0x100b0940", "recomp": "0x1009e6f0", "name": "MxOmni::GetCD", "matching": 1.0, "diff": []}, {"address": "0x100b0950", "recomp": "0x1009e700", "name": "MxOmni::SetCD", "matching": 1.0, "diff": []}, {"address": "0x100b0980", "recomp": "0x1009e730", "name": "MxOmni::IsSound3D", "matching": 1.0, "diff": []}, {"address": "0x100b0990", "recomp": "0x1009e740", "name": "MxOmni::SetSound3D", "matching": 1.0, "diff": []}, {"address": "0x100b09a0", "recomp": "0x1009e750", "name": "MxOmni::DoesEntityExist", "matching": 1.0, "diff": []}, {"address": "0x100b09d0", "recomp": "0x1009e780", "name": "MxOmni::Pause", "matching": 1.0, "diff": []}, {"address": "0x100b0a00", "recomp": "0x1009e7b0", "name": "MxOmni::Resume", "matching": 1.0, "diff": []}, {"address": "0x100b0a30", "recomp": "0x100cfd20", "name": "MxOmniCreateFlags::MxOmniCreateFlags", "matching": 1.0, "diff": []}, {"address": "0x100b0a70", "recomp": "0x100cfe30", "name": "MxOmniCreateParam::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b0b00", "recomp": "0x100cfd60", "name": "MxOmniCreateParam::MxOmniCreateParam", "matching": 1.0, "diff": []}, {"address": "0x100b0bd0", "recomp": "0x1009e7e0", "name": "MxHashTable<MxVariable *>::~MxHashTable<MxVariable *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b0bf4,34 +0x1009e804,34 @@", [{"both": [["0x100b0bf4", "push ebx", "0x1009e804"], ["0x100b0bf5", "push esi", "0x1009e805"], ["0x100b0bf6", "push edi", "0x1009e806"], ["0x100b0bf7", "xor esi, esi", "0x1009e807"], ["0x100b0bf9", "mov dword ptr [ebp - 4], esi", "0x1009e809"], ["0x100b0bfc", "mov dword ptr [ebp - 0x14], esi", "0x1009e80c"], ["0x100b0bff", "cmp dword ptr [ecx + 0x14], esi", "0x1009e80f"], ["0x100b0c02", "jbe 0x3c", "0x1009e812"], ["0x100b0c04", "mov edx, dword ptr [ebp - 0x10]", "0x1009e814"], ["0x100b0c07", "mov eax, dword ptr [edx + 0x10]", "0x1009e817"]]}, {"orig": [["0x100b0c0a", "mov edi, dword ptr [eax + esi]"], ["0x100b0c0d", "test edi, edi"]], "recomp": [["0x1009e81a", "mov ebx, dword ptr [eax + esi]"], ["0x1009e81d", "test ebx, ebx"]]}, {"both": [["0x100b0c0f", "je 0x1e", "0x1009e81f"]]}, {"orig": [["0x100b0c11", "mov ebx, dword ptr [edi + 0xc]"], ["0x100b0c14", "mov eax, dword ptr [edi]"]], "recomp": [["0x1009e821", "mov edi, dword ptr [ebx + 0xc]"], ["0x1009e824", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x100b0c16", "push eax", "0x1009e826"], ["0x100b0c17", "mov edx, dword ptr [ebp - 0x10]", "0x1009e827"], ["0x100b0c1a", "call dword ptr [edx + 0xc]", "0x1009e82a"], ["0x100b0c1d", "add esp, 4", "0x1009e82d"]]}, {"orig": [["0x100b0c20", "push edi"]], "recomp": [["0x1009e830", "push ebx"]]}, {"both": [["0x100b0c21", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009e831"], ["0x100b0c26", "add esp, 4", "0x1009e836"]]}, {"orig": [["0x100b0c29", "mov edi, ebx"], ["0x100b0c2b", "test ebx, ebx"]], "recomp": [["0x1009e839", "mov ebx, edi"], ["0x1009e83b", "test edi, edi"]]}, {"both": [["0x100b0c2d", "jne -0x1e", "0x1009e83d"], ["0x100b0c2f", "add esi, 4", "0x1009e83f"], ["0x100b0c32", "mov edx, dword ptr [ebp - 0x10]", "0x1009e842"], ["0x100b0c35", "inc dword ptr [ebp - 0x14]", "0x1009e845"], ["0x100b0c38", "mov eax, dword ptr [ebp - 0x14]", "0x1009e848"], ["0x100b0c3b", "cmp dword ptr [edx + 0x14], eax", "0x1009e84b"], ["0x100b0c3e", "ja -0x3c", "0x1009e84e"], ["0x100b0c40", "mov edx, dword ptr [ebp - 0x10]", "0x1009e850"], ["0x100b0c43", "xor eax, eax", "0x1009e853"], ["0x100b0c45", "mov ecx, dword ptr [edx + 0x14]", "0x1009e855"]]}]]]}, {"address": "0x100b0ca0", "recomp": "0x1009dd10", "name": "MxHashTable<MxVariable *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b0cc4,34 +0x1009dd34,34 @@", [{"both": [["0x100b0cc4", "push ebx", "0x1009dd34"], ["0x100b0cc5", "push esi", "0x1009dd35"], ["0x100b0cc6", "push edi", "0x1009dd36"], ["0x100b0cc7", "xor esi, esi", "0x1009dd37"], ["0x100b0cc9", "mov dword ptr [ebp - 4], esi", "0x1009dd39"], ["0x100b0ccc", "mov dword ptr [ebp - 0x14], esi", "0x1009dd3c"], ["0x100b0ccf", "cmp dword ptr [ecx + 0x14], esi", "0x1009dd3f"], ["0x100b0cd2", "jbe 0x3c", "0x1009dd42"], ["0x100b0cd4", "mov edx, dword ptr [ebp - 0x10]", "0x1009dd44"], ["0x100b0cd7", "mov eax, dword ptr [edx + 0x10]", "0x1009dd47"]]}, {"orig": [["0x100b0cda", "mov edi, dword ptr [eax + esi]"], ["0x100b0cdd", "test edi, edi"]], "recomp": [["0x1009dd4a", "mov ebx, dword ptr [eax + esi]"], ["0x1009dd4d", "test ebx, ebx"]]}, {"both": [["0x100b0cdf", "je 0x1e", "0x1009dd4f"]]}, {"orig": [["0x100b0ce1", "mov ebx, dword ptr [edi + 0xc]"], ["0x100b0ce4", "mov eax, dword ptr [edi]"]], "recomp": [["0x1009dd51", "mov edi, dword ptr [ebx + 0xc]"], ["0x1009dd54", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x100b0ce6", "push eax", "0x1009dd56"], ["0x100b0ce7", "mov edx, dword ptr [ebp - 0x10]", "0x1009dd57"], ["0x100b0cea", "call dword ptr [edx + 0xc]", "0x1009dd5a"], ["0x100b0ced", "add esp, 4", "0x1009dd5d"]]}, {"orig": [["0x100b0cf0", "push edi"]], "recomp": [["0x1009dd60", "push ebx"]]}, {"both": [["0x100b0cf1", "call ??3@YAXPAX@Z (FUNCTION)", "0x1009dd61"], ["0x100b0cf6", "add esp, 4", "0x1009dd66"]]}, {"orig": [["0x100b0cf9", "mov edi, ebx"], ["0x100b0cfb", "test ebx, ebx"]], "recomp": [["0x1009dd69", "mov ebx, edi"], ["0x1009dd6b", "test edi, edi"]]}, {"both": [["0x100b0cfd", "jne -0x1e", "0x1009dd6d"], ["0x100b0cff", "add esi, 4", "0x1009dd6f"], ["0x100b0d02", "mov edx, dword ptr [ebp - 0x10]", "0x1009dd72"], ["0x100b0d05", "inc dword ptr [ebp - 0x14]", "0x1009dd75"], ["0x100b0d08", "mov eax, dword ptr [ebp - 0x14]", "0x1009dd78"], ["0x100b0d0b", "cmp dword ptr [edx + 0x14], eax", "0x1009dd7b"], ["0x100b0d0e", "ja -0x3c", "0x1009dd7e"], ["0x100b0d10", "mov edx, dword ptr [ebp - 0x10]", "0x1009dd80"], ["0x100b0d13", "xor eax, eax", "0x1009dd83"], ["0x100b0d15", "mov ecx, dword ptr [edx + 0x14]", "0x1009dd85"]]}]]]}, {"address": "0x100b0d80", "recomp": "0x1009e8b0", "name": "MxObjectFactory::MxObjectFactory", "matching": 0.9811320754716981, "diff": [["@@ -0x100b0d98,25 +0x1009e8c8,25 @@", [{"both": [["0x100b0d98", "sub esp, 0x34", "0x1009e8c8"], ["0x100b0d9b", "mov dword ptr [ebp - 0x10], ecx", "0x1009e8cb"], ["0x100b0d9e", "push esi", "0x1009e8ce"], ["0x100b0d9f", "call MxCore::MxCore (FUNCTION)", "0x1009e8cf"], ["0x100b0da4", "mov esi, dword ptr [ebp - 0x10]", "0x1009e8d4"], ["0x100b0da7", "mov eax, dword ptr [ebp - 0x10]", "0x1009e8d7"], ["0x100b0daa", "add esi, 8", "0x1009e8da"], ["0x100b0dad", "add eax, 0xc", "0x1009e8dd"], ["0x100b0db0", "mov dword ptr [ebp - 4], 0", "0x1009e8e0"], ["0x100b0db7", "mov byte ptr [ebp - 4], 1", "0x1009e8e7"]]}, {"orig": [], "recomp": [["0x1009e8eb", "mov byte ptr [ebp - 4], 2"]]}, {"both": [["0x100b0dbb", "mov dword ptr [esi], 0", "0x1009e8ef"]]}, {"orig": [["0x100b0dc1", "mov dword ptr [eax], 0"], ["0x100b0dc7", "mov byte ptr [ebp - 4], 2"]], "recomp": []}, {"both": [["0x100b0dcb", "mov byte ptr [ebp - 4], 3", "0x1009e8f5"], ["0x100b0dcf", "mov dword ptr [ebp - 0x38], eax", "0x1009e8f9"]]}, {"orig": [], "recomp": [["0x1009e8fc", "mov dword ptr [eax], 0"]]}, {"both": [["0x100b0dd2", "mov eax, dword ptr [ebp - 0x10]", "0x1009e902"], ["0x100b0dd5", "add eax, 0x10", "0x1009e905"], ["0x100b0dd8", "mov byte ptr [ebp - 4], 4", "0x1009e908"], ["0x100b0ddc", "mov dword ptr [ebp - 0x34], eax", "0x1009e90c"], ["0x100b0ddf", "mov dword ptr [eax], 0", "0x1009e90f"], ["0x100b0de5", "mov eax, dword ptr [ebp - 0x10]", "0x1009e915"], ["0x100b0de8", "add eax, 0x14", "0x1009e918"], ["0x100b0deb", "mov byte ptr [ebp - 4], 5", "0x1009e91b"], ["0x100b0def", "mov dword ptr [ebp - 0x30], eax", "0x1009e91f"], ["0x100b0df2", "mov dword ptr [eax], 0", "0x1009e922"]]}]], ["@@ -0x100b0e59,27 +0x1009e989,27 @@", [{"both": [["0x100b0e59", "mov dword ptr [ebp - 0x18], eax", "0x1009e989"], ["0x100b0e5c", "mov dword ptr [eax], 0", "0x1009e98c"], ["0x100b0e62", "mov byte ptr [ebp - 4], 0xa", "0x1009e992"], ["0x100b0e66", "mov byte ptr [ebp - 4], 0xb", "0x1009e996"], ["0x100b0e6a", "mov eax, dword ptr [ebp - 0x10]", "0x1009e99a"], ["0x100b0e6d", "add eax, 0x30", "0x1009e99d"], ["0x100b0e70", "mov byte ptr [ebp - 4], 0xc", "0x1009e9a0"], ["0x100b0e74", "mov dword ptr [ebp - 0x14], eax", "0x1009e9a4"], ["0x100b0e77", "mov dword ptr [eax], 0", "0x1009e9a7"], ["0x100b0e7d", "mov eax, dword ptr [ebp - 0x10]", "0x1009e9ad"]]}, {"orig": [], "recomp": [["0x1009e9b0", "add eax, 0x34"]]}, {"both": [["0x100b0e80", "push 0", "0x1009e9b3"]]}, {"orig": [["0x100b0e82", "add eax, 0x34"], ["0x100b0e85", "push 'MxPresenter' (STRING)"], ["0x100b0e8a", "lea ecx, [ebp - 0x3c]"]], "recomp": []}, {"both": [["0x100b0e8d", "mov dword ptr [ebp - 0x40], eax", "0x1009e9b5"], ["0x100b0e90", "mov dword ptr [eax], 0", "0x1009e9b8"], ["0x100b0e96", "mov eax, dword ptr [ebp - 0x10]", "0x1009e9be"]]}, {"orig": [], "recomp": [["0x1009e9c1", "push 'MxPresenter' (STRING)"], ["0x1009e9c6", "lea ecx, [ebp - 0x3c]"]]}, {"both": [["0x100b0e99", "mov dword ptr [eax], MxObjectFactory::`vftable' (VTABLE)", "0x1009e9c9"], ["0x100b0e9f", "call MxAtomId::MxAtomId (FUNCTION)", "0x1009e9cf"], ["0x100b0ea4", "push eax", "0x1009e9d4"], ["0x100b0ea5", "mov ecx, esi", "0x1009e9d5"], ["0x100b0ea7", "mov byte ptr [ebp - 4], 0xd", "0x1009e9d7"], ["0x100b0eab", "call MxAtomId::operator= (FUNCTION)", "0x1009e9db"], ["0x100b0eb0", "mov byte ptr [ebp - 4], 0xc", "0x1009e9e0"], ["0x100b0eb4", "call <OFFSET7>", "0x1009e9e4"], ["0x100b0eb9", "push 0", "0x1009e9e9"], ["0x100b0ebb", "lea ecx, [ebp - 0x3c]", "0x1009e9eb"]]}]]]}, {"address": "0x100b1160", "recomp": "0x1009ec90", "name": "MxObjectFactory::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b12c0", "recomp": "0x1009edf0", "name": "MxObjectFactory::Create", "matching": 1.0, "diff": []}, {"address": "0x100b1830", "recomp": "0x1009f360", "name": "MxLoopingMIDIPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b1840", "recomp": "0x1009f370", "name": "MxLoopingMIDIPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b19c0", "recomp": "0x1009f4f0", "name": "MxLoopingMIDIPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b1a30", "recomp": "0x1009f560", "name": "MxObjectFactory::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b1a50", "recomp": "0x100a2f10", "name": "MxSoundPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b1aa0", "recomp": "0x100a2f60", "name": "MxSoundPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100b1ad0", "recomp": "0x100a1000", "name": "MxWavePresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b1af0", "recomp": "0x100a1020", "name": "MxWavePresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100b1b10", "recomp": "0x100a1040", "name": "MxWavePresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b1b60", "recomp": "0x100a1090", "name": "MxWavePresenter::GetPlayedChunks", "matching": 1.0, "diff": []}, {"address": "0x100b1ba0", "recomp": "0x100a10d0", "name": "MxWavePresenter::FUN_100b1ba0", "matching": 1.0, "diff": []}, {"address": "0x100b1bd0", "recomp": "0x100a1100", "name": "MxWavePresenter::WriteToSoundBuffer", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b1c6e,22 +0x100a119e,22 @@", [{"both": [["0x100b1c6e", "jne 0x67", "0x100a119e"], ["0x100b1c70", "mov edi, dword ptr [esp + 0x14]", "0x100a11a0"], ["0x100b1c74", "mov esi, dword ptr [esp + 0x30]", "0x100a11a4"], ["0x100b1c78", "mov ecx, ebx", "0x100a11a8"], ["0x100b1c7a", "shr ecx, 2", "0x100a11aa"], ["0x100b1c7d", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a11ad"], ["0x100b1c7f", "mov ecx, ebx", "0x100a11af"], ["0x100b1c81", "and ecx, 3", "0x100a11b1"], ["0x100b1c84", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a11b4"], ["0x100b1c86", "mov edx, dword ptr [ebp + 0x60]", "0x100a11b6"]]}, {"orig": [["0x100b1c89", "cmp edx, ebx"], ["0x100b1c8b", "jbe 0x31"]], "recomp": [["0x100a11b9", "cmp ebx, edx"], ["0x100a11bb", "jae 0x31"]]}, {"both": [["0x100b1c8d", "mov eax, dword ptr [ebp + 0x1c]", "0x100a11bd"], ["0x100b1c90", "test byte ptr [eax + 0x30], 1", "0x100a11c0"], ["0x100b1c94", "jne 0x28", "0x100a11c4"], ["0x100b1c96", "movsx eax, byte ptr [ebp + 0x67]", "0x100a11c6"], ["0x100b1c9a", "sub edx, ebx", "0x100a11ca"], ["0x100b1c9c", "mov cl, al", "0x100a11cc"], ["0x100b1c9e", "mov ch, cl", "0x100a11ce"], ["0x100b1ca0", "mov edi, dword ptr [esp + 0x14]", "0x100a11d0"], ["0x100b1ca4", "mov cl, al", "0x100a11d4"], ["0x100b1ca6", "add edi, ebx", "0x100a11d6"]]}]]]}, {"address": "0x100b1cf0", "recomp": "0x100a1220", "name": "MxWavePresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100b1d50", "recomp": "0x100a1280", "name": "MxWavePresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b1ea0", "recomp": "0x100a13d0", "name": "MxWavePresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b1fe0", "recomp": "0x100a1510", "name": "MxStreamChunk::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b1ff0", "recomp": "0x100a1520", "name": "MxStreamChunk::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b20a0", "recomp": "0x100a15d0", "name": "MxStreamChunk::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b20c0", "recomp": "0x100a15f0", "name": "MxWavePresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x100b2130", "recomp": "0x100a1660", "name": "MxWavePresenter::LoopChunk", "matching": 1.0, "diff": []}, {"address": "0x100b2160", "recomp": "0x100a1690", "name": "MxWavePresenter::PutData", "matching": 1.0, "diff": []}, {"address": "0x100b2280", "recomp": "0x100a17b0", "name": "MxWavePresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x100b2300", "recomp": "0x100a1830", "name": "MxWavePresenter::SetVolume", "matching": 1.0, "diff": []}, {"address": "0x100b2360", "recomp": "0x100a1890", "name": "MxWavePresenter::Enable", "matching": 1.0, "diff": []}, {"address": "0x100b23a0", "recomp": "0x100a18d0", "name": "MxWavePresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x100b2440", "recomp": "0x100a1970", "name": "MxWavePresenter::Pause", "matching": 1.0, "diff": []}, {"address": "0x100b2470", "recomp": "0x100a19a0", "name": "MxWavePresenter::Resume", "matching": 1.0, "diff": []}, {"address": "0x100b24f0", "recomp": "0x100a01f0", "name": "MxVideoPresenter::AlphaMask::AlphaMask", "matching": 0.7293233082706767, "diff": [["@@ -0x100b2540,99 +0x100a0240,107 @@", [{"both": [["0x100b2540", "mov dword ptr [esi + 4], eax", "0x100a0240"], ["0x100b2543", "shr ecx, 2", "0x100a0243"], ["0x100b2546", "xor eax, eax", "0x100a0246"], ["0x100b2548", "rep stosd dword ptr es:[edi], eax", "0x100a0248"], ["0x100b254a", "mov ecx, ebp", "0x100a024a"], ["0x100b254c", "and ecx, 3", "0x100a024c"], ["0x100b254f", "rep stosb byte ptr es:[edi], al", "0x100a024f"], ["0x100b2551", "mov edx, dword ptr [ebx + 0xc]", "0x100a0251"], ["0x100b2554", "mov ecx, dword ptr [edx + 0x10]", "0x100a0254"], ["0x100b2557", "test ecx, ecx", "0x100a0257"]]}, {"orig": [["0x100b2559", "jne 0x14"]], "recomp": [["0x100a0259", "je 0x2a"]]}, {"both": [["0x100b255b", "cmp ecx, 0x10", "0x100a025b"]]}, {"orig": [["0x100b255e", "je 0x7"], ["0x100b2560", "mov eax, dword ptr [edx + 8]"], ["0x100b2563", "test eax, eax"], ["0x100b2565", "jge 0x4"], ["0x100b2567", "xor eax, eax"], ["0x100b2569", "jmp 0x1e"], ["0x100b256b", "jg 0x1b"], ["0x100b256d", "jmp 0x17"], ["0x100b256f", "cmp ecx, 0x10"], ["0x100b2572", "jne 0x5"], ["0x100b2574", "mov edi, dword ptr [ebx + 0x14]"], ["0x100b2577", "jmp 0x1f"]], "recomp": [["0x100a025e", "je 0x4a"]]}, {"both": [["0x100b2579", "mov eax, dword ptr [edx + 8]", "0x100a0260"], ["0x100b257c", "test eax, eax", "0x100a0263"], ["0x100b257e", "jge 0x4", "0x100a0265"], ["0x100b2580", "xor eax, eax", "0x100a0267"], ["0x100b2582", "jmp 0x5", "0x100a0269"], ["0x100b2584", "jg 0x2", "0x100a026b"], ["0x100b2586", "neg eax", "0x100a026d"], ["0x100b2588", "dec eax", "0x100a026f"], ["0x100b2589", "mov edi, dword ptr [edx + 4]", "0x100a0270"], ["0x100b258c", "add edi, 3", "0x100a0273"], ["0x100b258f", "and edi, 0xfffffffc", "0x100a0276"], ["0x100b2592", "imul edi, eax", "0x100a0279"], ["0x100b2595", "add edi, dword ptr [ebx + 0x14]", "0x100a027c"]]}, {"orig": [], "recomp": [["0x100a027f", "mov dword ptr [esp + 0x10], edi"], ["0x100a0283", "jmp 0x2c"], ["0x100a0285", "mov eax, dword ptr [edx + 8]"], ["0x100a0288", "test eax, eax"], ["0x100a028a", "jge 0x4"]]}, {"both": [["0x100b2598", "xor eax, eax", "0x100a028c"]]}, {"orig": [["0x100b259a", "mov dword ptr [esp + 0x1c], edi"]], "recomp": [["0x100a028e", "jmp 0x5"], ["0x100a0290", "jg 0x2"], ["0x100a0292", "neg eax"], ["0x100a0294", "dec eax"], ["0x100a0295", "mov edi, dword ptr [edx + 4]"], ["0x100a0298", "add edi, 3"], ["0x100a029b", "and edi, 0xfffffffc"], ["0x100a029e", "imul edi, eax"], ["0x100a02a1", "add edi, dword ptr [ebx + 0x14]"], ["0x100a02a4", "mov dword ptr [esp + 0x10], edi"], ["0x100a02a8", "jmp 0x7"], ["0x100a02aa", "mov eax, dword ptr [ebx + 0x14]"], ["0x100a02ad", "mov dword ptr [esp + 0x10], eax"], ["0x100a02b1", "xor eax, eax"]]}, {"both": [["0x100b259e", "mov ax, word ptr [esi + 8]", "0x100a02b3"], ["0x100b25a2", "add eax, 3", "0x100a02b7"], ["0x100b25a5", "and eax, 0xfffffffc", "0x100a02ba"], ["0x100b25a8", "cmp ecx, 0x10", "0x100a02bd"]]}, {"orig": [["0x100b25ab", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x100a02c0", "mov dword ptr [esp + 0x18], eax"]]}, {"both": [["0x100b25af", "je 0xc", "0x100a02c4"], ["0x100b25b1", "cmp dword ptr [edx + 8], 0", "0x100a02c6"]]}, {"orig": [["0x100b25b5", "jl 0x6"]], "recomp": [["0x100a02ca", "jle 0x6"]]}, {"both": [["0x100b25b7", "neg eax", "0x100a02cc"]]}, {"orig": [["0x100b25b9", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x100a02ce", "mov dword ptr [esp + 0x18], eax"]]}, {"both": [["0x100b25bd", "xor eax, eax", "0x100a02d2"], ["0x100b25bf", "cmp word ptr [esi + 0xa], ax", "0x100a02d4"]]}, {"orig": [["0x100b25c3", "mov dword ptr [esp + 0x10], eax"]], "recomp": [["0x100a02d8", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x100b25c7", "mov dword ptr [esp + 0x20], eax", "0x100a02dc"]]}, {"orig": [["0x100b25cb", "jbe 0x71"], ["0x100b25cd", "mov dword ptr [esp + 0x18], 0"]], "recomp": [["0x100a02e0", "jbe 0x72"], ["0x100a02e2", "mov dword ptr [esp + 0x1c], 0"]]}, {"both": [["0x100b25d5", "cmp word ptr [esi + 8], 0", "0x100a02ea"]]}, {"orig": [["0x100b25da", "jbe 0x46"]], "recomp": [["0x100a02ef", "mov edi, dword ptr [esp + 0x10]"], ["0x100a02f3", "jbe 0x47"]]}, {"both": [["0x100b25dc", "cmp byte ptr [edi], 0", "0x100a02f5"]]}, {"orig": [["0x100b25df", "je 0x2c"], ["0x100b25e1", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x100a02f8", "je 0x2d"], ["0x100a02fa", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x100b25e5", "mov ecx, dword ptr [esi + 4]", "0x100a02fe"], ["0x100b25e8", "cdq ", "0x100a0301"], ["0x100b25e9", "and edx, 7", "0x100a0302"], ["0x100b25ec", "mov bl, 1", "0x100a0305"], ["0x100b25ee", "add eax, edx", "0x100a0307"], ["0x100b25f0", "sar eax, 3", "0x100a0309"], ["0x100b25f3", "lea ebp, [ecx + eax]", "0x100a030c"]]}, {"orig": [["0x100b25f6", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x100a030f", "mov eax, dword ptr [esp + 0x14]"]]}, {"both": [["0x100b25fa", "cdq ", "0x100a0313"], ["0x100b25fb", "xor eax, edx", "0x100a0314"], ["0x100b25fd", "sub eax, edx", "0x100a0316"], ["0x100b25ff", "and eax, 7", "0x100a0318"]]}, {"orig": [], "recomp": [["0x100a031b", "cdq "]]}, {"both": [["0x100b2602", "xor eax, edx", "0x100a031c"], ["0x100b2604", "sub eax, edx", "0x100a031e"], ["0x100b2606", "mov cl, al", "0x100a0320"], ["0x100b2608", "shl bl, cl", "0x100a0322"], ["0x100b260a", "or byte ptr [ebp], bl", "0x100a0324"], ["0x100b260d", "inc edi", "0x100a0327"], ["0x100b260e", "xor eax, eax", "0x100a0328"], ["0x100b2610", "mov ax, word ptr [esi + 8]", "0x100a032a"]]}, {"orig": [["0x100b2614", "inc dword ptr [esp + 0x10]"], ["0x100b2618", "inc dword ptr [esp + 0x18]"], ["0x100b261c", "cmp eax, dword ptr [esp + 0x18]"], ["0x100b2620", "jg -0x46"], ["0x100b2622", "mov eax, dword ptr [esp + 0x14]"]], "recomp": [["0x100a032e", "inc dword ptr [esp + 0x14]"], ["0x100a0332", "inc dword ptr [esp + 0x1c]"], ["0x100a0336", "cmp eax, dword ptr [esp + 0x1c]"], ["0x100a033a", "jg -0x47"], ["0x100a033c", "mov eax, dword ptr [esp + 0x18]"]]}, {"both": [["0x100b2626", "inc dword ptr [esp + 0x20]", "0x100a0340"]]}, {"orig": [["0x100b262a", "add dword ptr [esp + 0x1c], eax"]], "recomp": [["0x100a0344", "add dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100b262e", "xor eax, eax", "0x100a0348"], ["0x100b2630", "mov ax, word ptr [esi + 0xa]", "0x100a034a"]]}, {"orig": [["0x100b2634", "mov edi, dword ptr [esp + 0x1c]"]], "recomp": []}, {"both": [["0x100b2638", "cmp eax, dword ptr [esp + 0x20]", "0x100a034e"]]}, {"orig": [["0x100b263c", "jg -0x71"]], "recomp": [["0x100a0352", "jg -0x72"]]}, {"both": [["0x100b263e", "mov eax, esi", "0x100a0354"], ["0x100b2640", "pop ebp", "0x100a0356"], ["0x100b2641", "pop edi", "0x100a0357"], ["0x100b2642", "pop esi", "0x100a0358"], ["0x100b2643", "pop ebx", "0x100a0359"], ["0x100b2644", "add esp, 0x14", "0x100a035a"], ["0x100b2647", "ret 4", "0x100a035d"]]}]]]}, {"address": "0x100b2650", "recomp": "0x100a0360", "name": "MxVideoPresenter::AlphaMask::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b2670", "recomp": "0x100a0380", "name": "MxVideoPresenter::AlphaMask::AlphaMask", "matching": 1.0, "diff": []}, {"address": "0x100b26d0", "recomp": "0x100a03e0", "name": "MxVideoPresenter::AlphaMask::~AlphaMask", "matching": 1.0, "diff": []}, {"address": "0x100b26f0", "recomp": "0x100a0400", "name": "MxVideoPresenter::AlphaMask::IsHit", "matching": 0.7741935483870968, "diff": [["@@ -0x100b26f0,39 +0x100a0400,40 @@", [{"orig": [["0x100b26f0", "mov eax, dword ptr [esp + 4]"]], "recomp": []}, {"both": [["0x100b26f4", "push ebx", "0x100a0400"]]}, {"orig": [], "recomp": [["0x100a0401", "xor eax, eax"], ["0x100a0403", "mov ax, word ptr [ecx + 8]"]]}, {"both": [["0x100b26f5", "push esi", "0x100a0407"]]}, {"orig": [], "recomp": [["0x100a0408", "mov edx, dword ptr [esp + 0xc]"]]}, {"both": [["0x100b26f6", "push edi", "0x100a040c"]]}, {"orig": [["0x100b26f7", "xor esi, esi"], ["0x100b26f9", "mov si, word ptr [ecx + 8]"], ["0x100b26fd", "cmp esi, eax"], ["0x100b26ff", "jbe 0x4c"], ["0x100b2701", "mov edx, dword ptr [esp + 0x14]"]], "recomp": [["0x100a040d", "cmp edx, eax"], ["0x100a040f", "jae 0x4d"]]}, {"both": [["0x100b2705", "xor edi, edi", "0x100a0411"]]}, {"orig": [], "recomp": [["0x100a0413", "mov esi, dword ptr [esp + 0x14]"]]}, {"both": [["0x100b2707", "mov di, word ptr [ecx + 0xa]", "0x100a0417"]]}, {"orig": [["0x100b270b", "cmp edi, edx"], ["0x100b270d", "jbe 0x3e"], ["0x100b270f", "imul edx, esi"]], "recomp": [["0x100a041b", "cmp edi, esi"], ["0x100a041d", "jbe 0x3f"], ["0x100a041f", "imul esi, eax"]]}, {"both": [["0x100b2712", "mov ecx, dword ptr [ecx + 4]", "0x100a0422"]]}, {"orig": [["0x100b2715", "lea edi, [edx + eax]"]], "recomp": [["0x100a0425", "lea edi, [esi + edx]"]]}, {"both": [["0x100b2718", "mov eax, edi", "0x100a0428"], ["0x100b271a", "xor ebx, ebx", "0x100a042a"], ["0x100b271c", "cdq ", "0x100a042c"], ["0x100b271d", "and edx, 7", "0x100a042d"], ["0x100b2720", "mov esi, 1", "0x100a0430"], ["0x100b2725", "add eax, edx", "0x100a0435"], ["0x100b2727", "sar eax, 3", "0x100a0437"], ["0x100b272a", "mov bl, byte ptr [ecx + eax]", "0x100a043a"], ["0x100b272d", "mov eax, edi", "0x100a043d"], ["0x100b272f", "cdq ", "0x100a043f"], ["0x100b2730", "xor eax, edx", "0x100a0440"], ["0x100b2732", "sub eax, edx", "0x100a0442"], ["0x100b2734", "and eax, 7", "0x100a0444"]]}, {"orig": [], "recomp": [["0x100a0447", "cdq "]]}, {"both": [["0x100b2737", "xor eax, edx", "0x100a0448"], ["0x100b2739", "sub eax, edx", "0x100a044a"], ["0x100b273b", "pop edi", "0x100a044c"], ["0x100b273c", "mov cl, al", "0x100a044d"], ["0x100b273e", "shl esi, cl", "0x100a044f"], ["0x100b2740", "and ebx, esi", "0x100a0451"], ["0x100b2742", "pop esi", "0x100a0453"], ["0x100b2743", "cmp ebx, 1", "0x100a0454"], ["0x100b2746", "pop ebx", "0x100a0457"], ["0x100b2747", "sbb eax, eax", "0x100a0458"]]}]]]}, {"address": "0x100b2760", "recomp": "0x100a0470", "name": "MxVideoPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b27b0", "recomp": "0x100a04c0", "name": "MxVideoPresenter::Destroy", "matching": 0.8351648351648352, "diff": [["@@ -0x100b2802,46 +0x100a0512,46 @@", [{"both": [["0x100b2802", "je 0x69", "0x100a0512"], ["0x100b2804", "mov ebx, dword ptr [esi]", "0x100a0514"], ["0x100b2806", "mov ecx, esi", "0x100a0516"], ["0x100b2808", "call dword ptr [ebx + 0x84]", "0x100a0518"], ["0x100b280e", "mov edi, eax", "0x100a051e"], ["0x100b2810", "mov ecx, esi", "0x100a0520"], ["0x100b2812", "call dword ptr [ebx + 0x80]", "0x100a0522"], ["0x100b2818", "mov ecx, dword ptr [esi + 0x10]", "0x100a0528"], ["0x100b281b", "mov edx, dword ptr [esi + 0x14]", "0x100a052b"], ["0x100b281e", "add eax, ecx", "0x100a052e"]]}, {"orig": [["0x100b2820", "add edi, edx"]], "recomp": []}, {"both": [["0x100b2822", "mov dword ptr [esp + 0xc], ecx", "0x100a0530"]]}, {"orig": [], "recomp": [["0x100a0534", "lea ecx, [esp + 0xc]"]]}, {"both": [["0x100b2826", "mov dword ptr [esp + 0x10], edx", "0x100a0538"]]}, {"orig": [["0x100b282a", "lea ecx, [esp + 0xc]"], ["0x100b282e", "mov dword ptr [esp + 0x14], eax"], ["0x100b2832", "mov dword ptr [esp + 0x18], edi"]], "recomp": [["0x100a053c", "add edx, edi"]]}, {"both": [["0x100b2836", "push ecx", "0x100a053e"]]}, {"orig": [], "recomp": [["0x100a053f", "mov dword ptr [esp + 0x18], eax"], ["0x100a0543", "mov dword ptr [esp + 0x1c], edx"]]}, {"both": [["0x100b2837", "call MVideoManager (FUNCTION)", "0x100a0547"], ["0x100b283c", "mov ecx, eax", "0x100a054c"], ["0x100b283e", "call MxVideoManager::InvalidateRect (FUNCTION)", "0x100a054e"], ["0x100b2843", "call MVideoManager (FUNCTION)", "0x100a0553"]]}, {"orig": [["0x100b2848", "mov ecx, dword ptr [esp + 0x18]"], ["0x100b284c", "sub ecx, dword ptr [esp + 0x10]"]], "recomp": [["0x100a0558", "mov ecx, eax"], ["0x100a055a", "mov eax, dword ptr [esp + 0x18]"], ["0x100a055e", "sub eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x100b2850", "mov edx, dword ptr [esp + 0x10]", "0x100a0562"]]}, {"orig": [["0x100b2854", "inc ecx"]], "recomp": [["0x100a0566", "inc eax"]]}, {"both": [["0x100b2855", "mov ebx, dword ptr [esp + 0xc]", "0x100a0567"]]}, {"orig": [["0x100b2859", "push ecx"], ["0x100b285a", "mov edi, dword ptr [eax]"], ["0x100b285c", "mov ecx, dword ptr [esp + 0x18]"], ["0x100b2860", "sub ecx, dword ptr [esp + 0x10]"], ["0x100b2864", "inc ecx"], ["0x100b2865", "push ecx"]], "recomp": [["0x100a056b", "push eax"], ["0x100a056c", "mov eax, dword ptr [esp + 0x18]"], ["0x100a0570", "sub eax, dword ptr [esp + 0x10]"], ["0x100a0574", "inc eax"], ["0x100a0575", "push eax"]]}, {"both": [["0x100b2866", "push edx", "0x100a0576"], ["0x100b2867", "push ebx", "0x100a0577"]]}, {"orig": [["0x100b2868", "mov ecx, eax"], ["0x100b286a", "call dword ptr [edi + 0x34]"]], "recomp": [["0x100a0578", "mov eax, dword ptr [ecx]"], ["0x100a057a", "call dword ptr [eax + 0x34]"]]}, {"both": [["0x100b286d", "mov ecx, dword ptr [esi + 0x50]", "0x100a057d"], ["0x100b2870", "test ecx, ecx", "0x100a0580"], ["0x100b2872", "je 0x6", "0x100a0582"], ["0x100b2874", "push 1", "0x100a0584"], ["0x100b2876", "mov eax, dword ptr [ecx]", "0x100a0586"], ["0x100b2878", "call dword ptr [eax]", "0x100a0588"], ["0x100b287a", "mov ecx, dword ptr [esi + 0x54]", "0x100a058a"], ["0x100b287d", "test ecx, ecx", "0x100a058d"], ["0x100b287f", "je 0x6", "0x100a058f"], ["0x100b2881", "push 1", "0x100a0591"]]}]]]}, {"address": "0x100b28b0", "recomp": "0x100a05c0", "name": "MxVideoPresenter::NextFrame", "matching": 1.0, "diff": []}, {"address": "0x100b2900", "recomp": "0x100a0610", "name": "MxVideoPresenter::IsHit", "matching": 0.4249084249084249, "diff": [["@@ -0x100b2900,137 +0x100a0610,136 @@", [{"orig": [["0x100b2900", "sub esp, 0x18"]], "recomp": [["0x100a0610", "sub esp, 8"]]}, {"both": [["0x100b2903", "push ebx", "0x100a0613"], ["0x100b2904", "push esi", "0x100a0614"], ["0x100b2905", "mov eax, dword ptr [ecx + 0x1c]", "0x100a0615"], ["0x100b2908", "push edi", "0x100a0618"], ["0x100b2909", "push ebp", "0x100a0619"], ["0x100b290a", "mov esi, ecx", "0x100a061a"], ["0x100b290c", "test eax, eax", "0x100a061c"]]}, {"orig": [["0x100b290e", "je 0x146"]], "recomp": [["0x100a061e", "je 0x13f"]]}, {"both": [["0x100b2914", "test byte ptr [eax + 0x31], 4", "0x100a0624"], ["0x100b2918", "jne 0xd", "0x100a0628"], ["0x100b291a", "call MxPresenter::IsEnabled (FUNCTION)", "0x100a062a"], ["0x100b291f", "test al, al", "0x100a062f"]]}, {"orig": [["0x100b2921", "je 0x133"], ["0x100b2927", "mov edx, dword ptr [esi + 0x50]"], ["0x100b292a", "test edx, edx"]], "recomp": [["0x100a0631", "je 0x12c"], ["0x100a0637", "mov ebx, dword ptr [esi + 0x50]"], ["0x100a063a", "test ebx, ebx"]]}, {"both": [["0x100b292c", "jne 0x30", "0x100a063c"], ["0x100b292e", "cmp dword ptr [esi + 0x54], 0", "0x100a063e"]]}, {"orig": [["0x100b2932", "je 0x122"], ["0x100b2938", "test edx, edx"]], "recomp": [["0x100a0642", "je 0x11b"], ["0x100a0648", "test ebx, ebx"]]}, {"both": [["0x100b293a", "jne 0x22", "0x100a064a"]]}, {"orig": [["0x100b293c", "mov ecx, dword ptr [esp + 0x30]"], ["0x100b2940", "mov eax, dword ptr [esp + 0x2c]"], ["0x100b2944", "sub ecx, dword ptr [esi + 0x14]"]], "recomp": [["0x100a064c", "mov ebp, dword ptr [esp + 0x20]"], ["0x100a0650", "mov eax, dword ptr [esp + 0x1c]"], ["0x100a0654", "sub ebp, dword ptr [esi + 0x14]"]]}, {"both": [["0x100b2947", "sub eax, dword ptr [esi + 0x10]", "0x100a0657"]]}, {"orig": [["0x100b294a", "push ecx"]], "recomp": [["0x100a065a", "push ebp"], ["0x100a065b", "mov ecx, dword ptr [esi + 0x54]"]]}, {"both": [["0x100b294b", "push eax", "0x100a065e"]]}, {"orig": [["0x100b294c", "mov ecx, dword ptr [esi + 0x54]"]], "recomp": []}, {"both": [["0x100b294f", "call MxVideoPresenter::AlphaMask::IsHit (FUNCTION)", "0x100a065f"], ["0x100b2954", "pop ebp", "0x100a0664"], ["0x100b2955", "pop edi", "0x100a0665"], ["0x100b2956", "pop esi", "0x100a0666"], ["0x100b2957", "pop ebx", "0x100a0667"]]}, {"orig": [["0x100b2958", "add esp, 0x18"]], "recomp": [["0x100a0668", "add esp, 8"]]}, {"both": [["0x100b295b", "ret 8", "0x100a066b"]]}, {"orig": [["0x100b295e", "mov ebp, dword ptr [edx + 0xc]"], ["0x100b2961", "mov eax, dword ptr [ebp + 8]"], ["0x100b2964", "mov ecx, eax"]], "recomp": [["0x100a066e", "mov eax, dword ptr [ebx + 0xc]"], ["0x100a0671", "mov edi, dword ptr [eax + 8]"], ["0x100a0674", "mov eax, edi"], ["0x100a0676", "test edi, edi"], ["0x100a0678", "jg 0x4"], ["0x100a067a", "mov eax, edi"], ["0x100a067c", "neg eax"], ["0x100a067e", "mov edx, dword ptr [esi + 0x10]"], ["0x100a0681", "mov ecx, dword ptr [esi + 0x14]"], ["0x100a0684", "add eax, ecx"], ["0x100a0686", "mov ebp, dword ptr [ebx + 0xc]"], ["0x100a0689", "mov dword ptr [esp + 0x14], ecx"], ["0x100a068d", "mov dword ptr [esp + 0x10], eax"], ["0x100a0691", "mov ecx, dword ptr [ebp + 4]"], ["0x100a0694", "cmp dword ptr [esp + 0x1c], edx"], ["0x100a0698", "lea eax, [ecx + edx]"], ["0x100a069b", "jl 0xb6"], ["0x100a06a1", "cmp dword ptr [esp + 0x1c], eax"], ["0x100a06a5", "jge 0xac"], ["0x100a06ab", "mov ebp, dword ptr [esp + 0x20]"], ["0x100a06af", "cmp ebp, dword ptr [esp + 0x14]"], ["0x100a06b3", "jl 0x9e"], ["0x100a06b9", "cmp ebp, dword ptr [esp + 0x10]"], ["0x100a06bd", "jge 0x94"], ["0x100a06c3", "mov eax, dword ptr [ebx + 0xc]"], ["0x100a06c6", "mov eax, dword ptr [eax + 0x10]"], ["0x100a06c9", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100b2966", "test eax, eax", "0x100a06cd"]]}, {"orig": [["0x100b2968", "jg 0x4"], ["0x100b296a", "mov ecx, eax"], ["0x100b296c", "neg ecx"], ["0x100b296e", "mov ebp, dword ptr [esi + 0x10]"], ["0x100b2971", "mov edi, dword ptr [esi + 0x14]"], ["0x100b2974", "add ecx, edi"], ["0x100b2976", "mov dword ptr [esp + 0x10], ebp"], ["0x100b297a", "mov ebp, dword ptr [edx + 0xc]"], ["0x100b297d", "mov dword ptr [esp + 0x24], ecx"], ["0x100b2981", "mov ecx, dword ptr [esp + 0x2c]"], ["0x100b2985", "mov ebx, dword ptr [ebp + 4]"], ["0x100b2988", "mov ebp, dword ptr [esp + 0x10]"], ["0x100b298c", "add ebp, ebx"], ["0x100b298e", "cmp dword ptr [esp + 0x10], ecx"], ["0x100b2992", "jg 0xb6"], ["0x100b2998", "cmp ebp, ecx"], ["0x100b299a", "jle 0xae"], ["0x100b29a0", "mov ecx, dword ptr [esp + 0x30]"], ["0x100b29a4", "cmp edi, ecx"], ["0x100b29a6", "jg 0xa2"], ["0x100b29ac", "cmp dword ptr [esp + 0x24], ecx"], ["0x100b29b0", "jle 0x98"], ["0x100b29b6", "mov ebp, dword ptr [edx + 0xc]"], ["0x100b29b9", "mov ebp, dword ptr [ebp + 0x10]"], ["0x100b29bc", "mov dword ptr [esp + 0x18], ebp"], ["0x100b29c0", "test ebp, ebp"], ["0x100b29c2", "jne 0x2d"], ["0x100b29c4", "cmp ebp, 0x10"], ["0x100b29c7", "je 0x4"], ["0x100b29c9", "test eax, eax"], ["0x100b29cb", "jge 0x4"], ["0x100b29cd", "sub ecx, edi"], ["0x100b29cf", "jmp 0xa"]], "recomp": [["0x100a06cf", "jne 0x2f"], ["0x100a06d1", "cmp eax, 0x10"], ["0x100a06d4", "je 0x13"], ["0x100a06d6", "test edi, edi"], ["0x100a06d8", "jl 0xf"]]}, {"both": [["0x100b29d1", "jg 0x2", "0x100a06da"]]}, {"orig": [["0x100b29d3", "neg eax"], ["0x100b29d5", "sub eax, ecx"], ["0x100b29d7", "lea ecx, [eax + edi - 1]"], ["0x100b29db", "add ebx, 3"], ["0x100b29de", "and ebx, 0xfffffffc"], ["0x100b29e1", "imul ebx, ecx"], ["0x100b29e4", "add ebx, dword ptr [edx + 0x14]"], ["0x100b29e7", "sub ebx, dword ptr [esp + 0x10]"], ["0x100b29eb", "add ebx, dword ptr [esp + 0x2c]"], ["0x100b29ef", "jmp 0x25"], ["0x100b29f1", "cmp dword ptr [esp + 0x18], 0x10"], ["0x100b29f6", "jne 0x5"], ["0x100b29f8", "mov ebx, dword ptr [edx + 0x14]"], ["0x100b29fb", "jmp 0x19"], ["0x100b29fd", "test eax, eax"], ["0x100b29ff", "jge 0x4"], ["0x100b2a01", "xor eax, eax"], ["0x100b2a03", "jmp 0x5"]], "recomp": [["0x100a06dc", "neg edi"], ["0x100a06de", "sub edi, ebp"], ["0x100a06e0", "mov eax, dword ptr [esi + 0x14]"], ["0x100a06e3", "lea ebp, [edi + eax - 1]"], ["0x100a06e7", "jmp 0x3"], ["0x100a06e9", "sub ebp, dword ptr [esi + 0x14]"], ["0x100a06ec", "add ecx, 3"], ["0x100a06ef", "and ecx, 0xfffffffc"], ["0x100a06f2", "imul ecx, ebp"], ["0x100a06f5", "add ecx, dword ptr [ebx + 0x14]"], ["0x100a06f8", "sub ecx, edx"], ["0x100a06fa", "add ecx, dword ptr [esp + 0x1c]"], ["0x100a06fe", "jmp 0x1f"], ["0x100a0700", "cmp dword ptr [esp + 0x10], 0x10"], ["0x100a0705", "je 0x15"], ["0x100a0707", "test edi, edi"]]}, {"both": [["0x100b2a05", "jg 0x2", "0x100a0709"]]}, {"orig": [["0x100b2a07", "neg eax"], ["0x100b2a09", "dec eax"], ["0x100b2a0a", "add ebx, 3"], ["0x100b2a0d", "and ebx, 0xfffffffc"], ["0x100b2a10", "imul ebx, eax"], ["0x100b2a13", "add ebx, dword ptr [edx + 0x14]"]], "recomp": [["0x100a070b", "neg edi"], ["0x100a070d", "add ecx, 3"], ["0x100a0710", "dec edi"], ["0x100a0711", "and ecx, 0xfffffffc"], ["0x100a0714", "imul ecx, edi"], ["0x100a0717", "add ecx, dword ptr [ebx + 0x14]"], ["0x100a071a", "jmp 0x3"], ["0x100a071c", "mov ecx, dword ptr [ebx + 0x14]"]]}, {"both": [["0x100b2a16", "test byte ptr [esi + 0x5e], 0x10", "0x100a071f"], ["0x100b2a1a", "je 0xc", "0x100a0723"]]}, {"orig": [["0x100b2a1c", "mov al, byte ptr [ebx]"]], "recomp": [["0x100a0725", "mov al, byte ptr [ecx]"]]}, {"both": [["0x100b2a1e", "pop ebp", "0x100a0727"], ["0x100b2a1f", "pop edi", "0x100a0728"], ["0x100b2a20", "pop esi", "0x100a0729"], ["0x100b2a21", "pop ebx", "0x100a072a"]]}, {"orig": [["0x100b2a22", "add esp, 0x18"]], "recomp": [["0x100a072b", "add esp, 8"]]}, {"both": [["0x100b2a25", "ret 8", "0x100a072e"], ["0x100b2a28", "mov eax, dword ptr [esi + 0x1c]", "0x100a0731"], ["0x100b2a2b", "test byte ptr [eax + 0x30], 8", "0x100a0734"], ["0x100b2a2f", "je 0x11", "0x100a0738"]]}, {"orig": [["0x100b2a31", "cmp byte ptr [ebx], 0"]], "recomp": [["0x100a073a", "cmp byte ptr [ecx], 0"]]}, {"both": [["0x100b2a34", "jne 0xc", "0x100a073d"], ["0x100b2a36", "xor al, al", "0x100a073f"], ["0x100b2a38", "pop ebp", "0x100a0741"], ["0x100b2a39", "pop edi", "0x100a0742"], ["0x100b2a3a", "pop esi", "0x100a0743"], ["0x100b2a3b", "pop ebx", "0x100a0744"]]}, {"orig": [["0x100b2a3c", "add esp, 0x18"]], "recomp": [["0x100a0745", "add esp, 8"]]}, {"both": [["0x100b2a3f", "ret 8", "0x100a0748"], ["0x100b2a42", "mov al, 1", "0x100a074b"], ["0x100b2a44", "pop ebp", "0x100a074d"], ["0x100b2a45", "pop edi", "0x100a074e"], ["0x100b2a46", "pop esi", "0x100a074f"], ["0x100b2a47", "pop ebx", "0x100a0750"]]}, {"orig": [["0x100b2a48", "add esp, 0x18"]], "recomp": [["0x100a0751", "add esp, 8"]]}, {"both": [["0x100b2a4b", "ret 8", "0x100a0754"], ["0x100b2a4e", "xor al, al", "0x100a0757"], ["0x100b2a50", "pop ebp", "0x100a0759"], ["0x100b2a51", "pop edi", "0x100a075a"], ["0x100b2a52", "pop esi", "0x100a075b"], ["0x100b2a53", "pop ebx", "0x100a075c"]]}, {"orig": [["0x100b2a54", "add esp, 0x18"]], "recomp": [["0x100a075d", "add esp, 8"]]}, {"both": [["0x100b2a57", "ret 8", "0x100a0760"], ["0x100b2a5a", "xor al, al", "0x100a0763"], ["0x100b2a5c", "pop ebp", "0x100a0765"], ["0x100b2a5d", "pop edi", "0x100a0766"], ["0x100b2a5e", "pop esi", "0x100a0767"]]}, {"orig": [], "recomp": [["0x100a0768", "pop ebx"], ["0x100a0769", "add esp, 8"], ["0x100a076c", "ret 8"]]}]]]}, {"address": "0x100b2a70", "recomp": "0x100a0770", "name": "MxVideoPresenter::PutFrame", "matching": 0.6895734597156398, "diff": [["@@ -0x100b2acf,136 +0x100a07cf,134 @@", [{"both": [["0x100b2acf", "dec eax", "0x100a07cf"], ["0x100b2ad0", "mov dword ptr [ebp - 0x60], edx", "0x100a07d0"], ["0x100b2ad3", "mov dword ptr [ebp - 0x5c], eax", "0x100a07d3"], ["0x100b2ad6", "lea eax, [edx + ebx]", "0x100a07d6"], ["0x100b2ad9", "dec eax", "0x100a07d9"], ["0x100b2ada", "mov dword ptr [ebp - 0x58], eax", "0x100a07da"], ["0x100b2add", "mov eax, dword ptr [ebp - 0x30]", "0x100a07dd"], ["0x100b2ae0", "mov ebx, dword ptr [eax + 0x30]", "0x100a07e0"], ["0x100b2ae3", "mov eax, dword ptr [esi + 0x1c]", "0x100a07e3"], ["0x100b2ae6", "test byte ptr [eax + 0x30], 0x10", "0x100a07e6"]]}, {"orig": [["0x100b2aea", "je 0x169"]], "recomp": [["0x100a07ea", "je 0x161"]]}, {"both": [["0x100b2af0", "xor eax, eax", "0x100a07f0"], ["0x100b2af2", "cmp dword ptr [esi + 0x58], eax", "0x100a07f2"]]}, {"orig": [["0x100b2af5", "je 0x137"]], "recomp": [["0x100a07f5", "je 0x12f"]]}, {"both": [["0x100b2afb", "mov ecx, esi", "0x100a07fb"]]}, {"orig": [["0x100b2afd", "mov dword ptr [ebp - 0x38], eax"], ["0x100b2b00", "mov dword ptr [ebp - 0x3c], eax"]], "recomp": [["0x100a07fd", "mov dword ptr [ebp - 0x48], eax"], ["0x100a0800", "mov dword ptr [ebp - 0x4c], eax"]]}, {"both": [["0x100b2b03", "call dword ptr [ebp - 0x20]", "0x100a0803"], ["0x100b2b06", "mov ecx, esi", "0x100a0806"]]}, {"orig": [["0x100b2b08", "mov dword ptr [ebp - 0x34], eax"]], "recomp": [["0x100a0808", "mov dword ptr [ebp - 0x44], eax"]]}, {"both": [["0x100b2b0b", "call dword ptr [ebp - 0x10]", "0x100a080b"]]}, {"orig": [["0x100b2b0e", "mov dword ptr [ebp - 0x30], eax"]], "recomp": [["0x100a080e", "mov dword ptr [ebp - 0x40], eax"]]}, {"both": [["0x100b2b11", "mov ecx, dword ptr [esi + 0x14]", "0x100a0811"], ["0x100b2b14", "mov eax, dword ptr [esi + 0x10]", "0x100a0814"]]}, {"orig": [["0x100b2b17", "mov dword ptr [ebp - 0x4c], eax"], ["0x100b2b1a", "mov dword ptr [ebp - 0x48], ecx"]], "recomp": [["0x100a0817", "mov dword ptr [ebp - 0x3c], eax"], ["0x100a081a", "mov dword ptr [ebp - 0x38], ecx"]]}, {"both": [["0x100b2b1d", "mov ecx, esi", "0x100a081d"], ["0x100b2b1f", "call dword ptr [ebp - 0x20]", "0x100a081f"]]}, {"orig": [["0x100b2b22", "mov ecx, dword ptr [ebp - 0x4c]"]], "recomp": [["0x100a0822", "mov ecx, dword ptr [ebp - 0x3c]"]]}, {"both": [["0x100b2b25", "add ecx, eax", "0x100a0825"]]}, {"orig": [["0x100b2b27", "mov dword ptr [ebp - 0x44], ecx"]], "recomp": [["0x100a0827", "mov dword ptr [ebp - 0x34], ecx"]]}, {"both": [["0x100b2b2a", "mov ecx, esi", "0x100a082a"], ["0x100b2b2c", "call dword ptr [ebp - 0x10]", "0x100a082c"]]}, {"orig": [["0x100b2b2f", "mov ecx, dword ptr [ebp - 0x48]"]], "recomp": [["0x100a082f", "mov ecx, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100b2b32", "add ecx, eax", "0x100a0832"], ["0x100b2b34", "mov eax, 0x1e0", "0x100a0834"]]}, {"orig": [["0x100b2b39", "mov dword ptr [ebp - 0x40], ecx"]], "recomp": [["0x100a0839", "mov dword ptr [ebp - 0x30], ecx"]]}, {"both": [["0x100b2b3c", "cmp dword ptr [ebp - 0x48], eax", "0x100a083c"]]}, {"orig": [["0x100b2b3f", "jg 0x9a"]], "recomp": [["0x100a083f", "jg 0x92"]]}, {"both": [["0x100b2b45", "mov ecx, 0x280", "0x100a0845"], ["0x100b2b4a", "cmp dword ptr [ebp - 0x4c], ecx", "0x100a084a"]]}, {"orig": [["0x100b2b4d", "jg 0x8c"]], "recomp": [["0x100a084d", "jg 0x84"]]}, {"both": [["0x100b2b53", "cmp dword ptr [ebp - 0x38], eax", "0x100a0853"]]}, {"orig": [["0x100b2b56", "jg 0x83"]], "recomp": [["0x100a0856", "jg 0x7f"]]}, {"both": [["0x100b2b5c", "cmp dword ptr [ebp - 0x3c], ecx", "0x100a0858"]]}, {"orig": [["0x100b2b5f", "jg 0x7e"]], "recomp": [["0x100a085b", "jg 0x7a"]]}, {"both": [["0x100b2b61", "cmp dword ptr [ebp - 0x40], eax", "0x100a085d"], ["0x100b2b64", "jle 0x3", "0x100a0860"], ["0x100b2b66", "mov dword ptr [ebp - 0x40], eax", "0x100a0862"], ["0x100b2b69", "mov eax, 0x280", "0x100a0865"], ["0x100b2b6e", "cmp dword ptr [ebp - 0x44], eax", "0x100a086a"], ["0x100b2b71", "jle 0x3", "0x100a086d"], ["0x100b2b73", "mov dword ptr [ebp - 0x44], eax", "0x100a086f"], ["0x100b2b76", "mov eax, 0x1e0", "0x100a0872"], ["0x100b2b7b", "cmp dword ptr [ebp - 0x30], eax", "0x100a0877"], ["0x100b2b7e", "jle 0x3", "0x100a087a"], ["0x100b2b80", "mov dword ptr [ebp - 0x30], eax", "0x100a087c"], ["0x100b2b83", "mov eax, 0x280", "0x100a087f"], ["0x100b2b88", "cmp dword ptr [ebp - 0x34], eax", "0x100a0884"], ["0x100b2b8b", "jle 0x3", "0x100a0887"], ["0x100b2b8d", "mov dword ptr [ebp - 0x34], eax", "0x100a0889"]]}, {"orig": [["0x100b2b90", "mov ecx, dword ptr [ebp - 0x40]"], ["0x100b2b93", "sub ecx, dword ptr [ebp - 0x48]"]], "recomp": [["0x100a088c", "mov edx, dword ptr [ebp - 0x40]"], ["0x100a088f", "sub edx, dword ptr [ebp - 0x48]"], ["0x100a0892", "inc edx"], ["0x100a0893", "cmp edx, 1"], ["0x100a0896", "jle 0x3f"], ["0x100a0898", "mov ecx, dword ptr [ebp - 0x44]"], ["0x100a089b", "sub ecx, dword ptr [ebp - 0x4c]"]]}, {"both": [["0x100b2b96", "inc ecx", "0x100a089e"], ["0x100b2b97", "cmp ecx, 1", "0x100a089f"]]}, {"orig": [["0x100b2b9a", "jle 0x43"], ["0x100b2b9c", "mov edx, dword ptr [ebp - 0x44]"], ["0x100b2b9f", "sub edx, dword ptr [ebp - 0x4c]"], ["0x100b2ba2", "inc edx"], ["0x100b2ba3", "cmp edx, 1"], ["0x100b2ba6", "jle 0x37"]], "recomp": [["0x100a08a2", "jle 0x33"]]}, {"both": [["0x100b2ba8", "mov eax, dword ptr [ebp - 0x34]", "0x100a08a4"]]}, {"orig": [["0x100b2bab", "sub eax, edx"]], "recomp": []}, {"both": [["0x100b2bad", "sub eax, dword ptr [ebp - 0x3c]", "0x100a08a7"]]}, {"orig": [], "recomp": [["0x100a08aa", "sub eax, ecx"]]}, {"both": [["0x100b2bb0", "cmp eax, -1", "0x100a08ac"], ["0x100b2bb3", "jne 0x14", "0x100a08af"], ["0x100b2bb5", "mov eax, dword ptr [ebp - 0x30]", "0x100a08b1"]]}, {"orig": [["0x100b2bb8", "sub eax, ecx"]], "recomp": []}, {"both": [["0x100b2bba", "sub eax, dword ptr [ebp - 0x38]", "0x100a08b4"]]}, {"orig": [], "recomp": [["0x100a08b7", "sub eax, edx"]]}, {"both": [["0x100b2bbd", "cmp eax, -1", "0x100a08b9"], ["0x100b2bc0", "jne 0x7", "0x100a08bc"], ["0x100b2bc2", "mov eax, 1", "0x100a08be"]]}, {"orig": [["0x100b2bc7", "jmp 0x1b"], ["0x100b2bc9", "mov eax, dword ptr [ebp - 0x3c]"], ["0x100b2bcc", "add eax, edx"], ["0x100b2bce", "dec eax"], ["0x100b2bcf", "mov dword ptr [ebp - 0x34], eax"], ["0x100b2bd2", "mov eax, dword ptr [ebp - 0x38]"], ["0x100b2bd5", "add eax, ecx"], ["0x100b2bd7", "dec eax"], ["0x100b2bd8", "mov dword ptr [ebp - 0x30], eax"]], "recomp": [["0x100a08c3", "jmp 0x17"], ["0x100a08c5", "add ecx, dword ptr [ebp - 0x3c]"]]}, {"both": [["0x100b2bdb", "xor eax, eax", "0x100a08c8"]]}, {"orig": [], "recomp": [["0x100a08ca", "dec ecx"], ["0x100a08cb", "mov dword ptr [ebp - 0x34], ecx"], ["0x100a08ce", "add edx, dword ptr [ebp - 0x38]"], ["0x100a08d1", "dec edx"], ["0x100a08d2", "mov dword ptr [ebp - 0x30], edx"]]}, {"both": [["0x100b2bdd", "jmp 0x5", "0x100a08d5"], ["0x100b2bdf", "mov eax, 0xffffffff", "0x100a08d7"], ["0x100b2be4", "test eax, eax", "0x100a08dc"], ["0x100b2be6", "je 0x15", "0x100a08de"], ["0x100b2be8", "cmp eax, 1", "0x100a08e0"], ["0x100b2beb", "je 0x2b", "0x100a08e3"], ["0x100b2bed", "mov eax, dword ptr [ebp - 0xc]", "0x100a08e5"], ["0x100b2bf0", "pop edi", "0x100a08e8"], ["0x100b2bf1", "mov dword ptr fs:[0], eax", "0x100a08e9"], ["0x100b2bf7", "pop esi", "0x100a08ef"], ["0x100b2bf8", "pop ebx", "0x100a08f0"], ["0x100b2bf9", "mov esp, ebp", "0x100a08f1"], ["0x100b2bfb", "pop ebp", "0x100a08f3"], ["0x100b2bfc", "ret ", "0x100a08f4"], ["0x100b2bfd", "push 0", "0x100a08f5"]]}, {"orig": [["0x100b2bff", "lea eax, [ebp - 0x3c]"]], "recomp": [["0x100a08f7", "lea eax, [ebp - 0x4c]"]]}, {"both": [["0x100b2c02", "push 0x8000", "0x100a08fa"], ["0x100b2c07", "mov ecx, dword ptr [esi + 0x58]", "0x100a08ff"], ["0x100b2c0a", "push eax", "0x100a0902"]]}, {"orig": [["0x100b2c0b", "lea edx, [ebp - 0x4c]"]], "recomp": [["0x100a0903", "lea edx, [ebp - 0x3c]"]]}, {"both": [["0x100b2c0e", "push ecx", "0x100a0906"], ["0x100b2c0f", "mov eax, dword ptr [ebx]", "0x100a0907"], ["0x100b2c11", "push edx", "0x100a0909"], ["0x100b2c12", "push ebx", "0x100a090a"], ["0x100b2c13", "call dword ptr [eax + 0x14]", "0x100a090b"], ["0x100b2c16", "jmp -0x2b", "0x100a090e"], ["0x100b2c18", "push 0x11", "0x100a0910"]]}, {"orig": [["0x100b2c1a", "lea eax, [ebp - 0x3c]"]], "recomp": [["0x100a0912", "lea eax, [ebp - 0x4c]"]]}, {"both": [["0x100b2c1d", "push eax", "0x100a0915"], ["0x100b2c1e", "mov ecx, dword ptr [esi + 0x58]", "0x100a0916"], ["0x100b2c21", "push ecx", "0x100a0919"]]}, {"orig": [["0x100b2c22", "mov edx, dword ptr [ebp - 0x48]"]], "recomp": [["0x100a091a", "mov edx, dword ptr [ebp - 0x38]"]]}, {"both": [["0x100b2c25", "push edx", "0x100a091d"]]}, {"orig": [["0x100b2c26", "mov eax, dword ptr [ebp - 0x4c]"]], "recomp": [["0x100a091e", "mov eax, dword ptr [ebp - 0x3c]"]]}, {"both": [["0x100b2c29", "push eax", "0x100a0921"], ["0x100b2c2a", "push ebx", "0x100a0922"], ["0x100b2c2b", "mov ebx, dword ptr [ebx]", "0x100a0923"], ["0x100b2c2d", "call dword ptr [ebx + 0x1c]", "0x100a0925"], ["0x100b2c30", "jmp -0x45", "0x100a0928"], ["0x100b2c32", "mov edi, dword ptr [esi + 0x50]", "0x100a092a"], ["0x100b2c35", "mov esi, dword ptr [edi + 0xc]", "0x100a092d"], ["0x100b2c38", "mov eax, dword ptr [esi + 8]", "0x100a0930"], ["0x100b2c3b", "test eax, eax", "0x100a0933"], ["0x100b2c3d", "jg 0x2", "0x100a0935"]]}]], ["@@ -0x100b2c57,242 +0x100a094f,242 @@", [{"both": [["0x100b2c57", "jmp -0x6c", "0x100a094f"], ["0x100b2c59", "push edi", "0x100a0951"], ["0x100b2c5a", "lea ecx, [ebp - 0x54]", "0x100a0952"], ["0x100b2c5d", "call MxRegionCursor::MxRegionCursor (FUNCTION)", "0x100a0955"], ["0x100b2c62", "mov dword ptr [ebp - 4], 0", "0x100a095a"], ["0x100b2c69", "lea eax, [ebp - 0x64]", "0x100a0961"], ["0x100b2c6c", "lea ecx, [ebp - 0x54]", "0x100a0964"], ["0x100b2c6f", "push eax", "0x100a0967"], ["0x100b2c70", "call MxRegionCursor::VTable0x24 (FUNCTION)", "0x100a0968"], ["0x100b2c75", "test eax, eax", "0x100a096d"]]}, {"orig": [["0x100b2c77", "je 0x2bc"]], "recomp": [["0x100a096f", "je 0x2b4"]]}, {"both": [["0x100b2c7d", "mov edx, dword ptr [eax]", "0x100a0975"], ["0x100b2c7f", "mov ecx, dword ptr [eax + 8]", "0x100a0977"], ["0x100b2c82", "sub ecx, edx", "0x100a097a"], ["0x100b2c84", "inc ecx", "0x100a097c"], ["0x100b2c85", "cmp ecx, 1", "0x100a097d"], ["0x100b2c88", "jl -0x21", "0x100a0980"], ["0x100b2c8a", "mov ecx, dword ptr [eax + 0xc]", "0x100a0982"], ["0x100b2c8d", "sub ecx, dword ptr [eax + 4]", "0x100a0985"], ["0x100b2c90", "inc ecx", "0x100a0988"], ["0x100b2c91", "cmp ecx, 1", "0x100a0989"], ["0x100b2c94", "jl -0x2d", "0x100a098c"], ["0x100b2c96", "mov ecx, dword ptr [esi + 0x58]", "0x100a098e"], ["0x100b2c99", "test ecx, ecx", "0x100a0991"], ["0x100b2c9b", "je 0x4c", "0x100a0993"], ["0x100b2c9d", "sub edx, dword ptr [esi + 0x10]", "0x100a0995"]]}, {"orig": [["0x100b2ca0", "mov dword ptr [ebp - 0x1c], edx"]], "recomp": [["0x100a0998", "mov dword ptr [ebp - 0x2c], edx"]]}, {"both": [["0x100b2ca3", "mov edx, dword ptr [eax + 4]", "0x100a099b"], ["0x100b2ca6", "sub edx, dword ptr [esi + 0x14]", "0x100a099e"]]}, {"orig": [], "recomp": [["0x100a09a1", "mov dword ptr [ebp - 0x28], edx"], ["0x100a09a4", "mov edx, dword ptr [eax + 8]"], ["0x100a09a7", "sub edx, dword ptr [eax]"], ["0x100a09a9", "add edx, dword ptr [ebp - 0x2c]"], ["0x100a09ac", "inc edx"], ["0x100a09ad", "mov dword ptr [ebp - 0x24], edx"], ["0x100a09b0", "mov edx, dword ptr [eax + 0xc]"], ["0x100a09b3", "sub edx, dword ptr [eax + 4]"], ["0x100a09b6", "add edx, dword ptr [ebp - 0x28]"], ["0x100a09b9", "inc edx"], ["0x100a09ba", "mov dword ptr [ebp - 0x20], edx"], ["0x100a09bd", "mov edi, dword ptr [eax]"], ["0x100a09bf", "mov dword ptr [ebp - 0x1c], edi"], ["0x100a09c2", "mov edx, dword ptr [eax + 4]"]]}, {"both": [["0x100b2ca9", "mov dword ptr [ebp - 0x18], edx", "0x100a09c5"], ["0x100b2cac", "mov edx, dword ptr [eax + 8]", "0x100a09c8"], ["0x100b2caf", "sub edx, dword ptr [eax]", "0x100a09cb"], ["0x100b2cb1", "add edx, dword ptr [ebp - 0x1c]", "0x100a09cd"], ["0x100b2cb4", "inc edx", "0x100a09d0"], ["0x100b2cb5", "mov dword ptr [ebp - 0x14], edx", "0x100a09d1"], ["0x100b2cb8", "mov edx, dword ptr [eax + 0xc]", "0x100a09d4"], ["0x100b2cbb", "sub edx, dword ptr [eax + 4]", "0x100a09d7"], ["0x100b2cbe", "add edx, dword ptr [ebp - 0x18]", "0x100a09da"], ["0x100b2cc1", "inc edx", "0x100a09dd"], ["0x100b2cc2", "mov dword ptr [ebp - 0x10], edx", "0x100a09de"]]}, {"orig": [["0x100b2cc5", "mov edi, dword ptr [eax]"], ["0x100b2cc7", "mov dword ptr [ebp - 0x2c], edi"], ["0x100b2cca", "mov edx, dword ptr [eax + 4]"], ["0x100b2ccd", "mov dword ptr [ebp - 0x28], edx"], ["0x100b2cd0", "mov edx, dword ptr [eax + 8]"], ["0x100b2cd3", "sub edx, dword ptr [eax]"], ["0x100b2cd5", "add edx, dword ptr [ebp - 0x2c]"], ["0x100b2cd8", "inc edx"], ["0x100b2cd9", "mov dword ptr [ebp - 0x24], edx"], ["0x100b2cdc", "mov edx, dword ptr [eax + 0xc]"], ["0x100b2cdf", "sub edx, dword ptr [eax + 4]"], ["0x100b2ce2", "add edx, dword ptr [ebp - 0x28]"], ["0x100b2ce5", "inc edx"], ["0x100b2ce6", "mov dword ptr [ebp - 0x20], edx"]], "recomp": []}, {"both": [["0x100b2ce9", "mov edx, dword ptr [esi + 0x1c]", "0x100a09e1"], ["0x100b2cec", "test byte ptr [edx + 0x30], 8", "0x100a09e4"]]}, {"orig": [["0x100b2cf0", "je 0x125"]], "recomp": [["0x100a09e8", "je 0x11f"]]}, {"both": [["0x100b2cf6", "test ecx, ecx", "0x100a09ee"]]}, {"orig": [["0x100b2cf8", "je 0xeb"]], "recomp": [["0x100a09f0", "je 0xe7"]]}, {"both": [["0x100b2cfe", "cmp dword ptr [ebp - 0x28], 0x1e0", "0x100a09f6"]]}, {"orig": [["0x100b2d05", "jg 0xb6"]], "recomp": [["0x100a09fd", "jg 0xb2"]]}, {"both": [["0x100b2d0b", "cmp dword ptr [ebp - 0x2c], 0x280", "0x100a0a03"]]}, {"orig": [["0x100b2d12", "jg 0xa9"]], "recomp": [["0x100a0a0a", "jg 0xa5"]]}, {"both": [["0x100b2d18", "cmp dword ptr [ebp - 0x18], 0x1e0", "0x100a0a10"]]}, {"orig": [["0x100b2d1f", "jg 0x9c"]], "recomp": [["0x100a0a17", "jg 0x98"]]}, {"both": [["0x100b2d25", "cmp dword ptr [ebp - 0x1c], 0x280", "0x100a0a1d"]]}, {"orig": [["0x100b2d2c", "jg 0x8f"]], "recomp": [["0x100a0a24", "jg 0x8b"]]}, {"both": [["0x100b2d32", "cmp dword ptr [ebp - 0x20], 0x1e0", "0x100a0a2a"], ["0x100b2d39", "jle 0x7", "0x100a0a31"], ["0x100b2d3b", "mov dword ptr [ebp - 0x20], 0x1e0", "0x100a0a33"], ["0x100b2d42", "cmp dword ptr [ebp - 0x24], 0x280", "0x100a0a3a"], ["0x100b2d49", "jle 0x7", "0x100a0a41"], ["0x100b2d4b", "mov dword ptr [ebp - 0x24], 0x280", "0x100a0a43"], ["0x100b2d52", "cmp dword ptr [ebp - 0x10], 0x1e0", "0x100a0a4a"], ["0x100b2d59", "jle 0x7", "0x100a0a51"], ["0x100b2d5b", "mov dword ptr [ebp - 0x10], 0x1e0", "0x100a0a53"], ["0x100b2d62", "cmp dword ptr [ebp - 0x14], 0x280", "0x100a0a5a"], ["0x100b2d69", "jle 0x7", "0x100a0a61"], ["0x100b2d6b", "mov dword ptr [ebp - 0x14], 0x280", "0x100a0a63"]]}, {"orig": [["0x100b2d72", "mov edx, dword ptr [ebp - 0x20]"], ["0x100b2d75", "sub edx, dword ptr [ebp - 0x28]"]], "recomp": [["0x100a0a6a", "mov eax, dword ptr [ebp - 0x20]"], ["0x100a0a6d", "sub eax, dword ptr [ebp - 0x28]"], ["0x100a0a70", "inc eax"], ["0x100a0a71", "cmp eax, 1"], ["0x100a0a74", "jle 0x3f"], ["0x100a0a76", "mov edx, dword ptr [ebp - 0x24]"], ["0x100a0a79", "sub edx, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100b2d78", "inc edx", "0x100a0a7c"], ["0x100b2d79", "cmp edx, 1", "0x100a0a7d"]]}, {"orig": [["0x100b2d7c", "jle 0x43"], ["0x100b2d7e", "mov eax, dword ptr [ebp - 0x24]"], ["0x100b2d81", "sub eax, dword ptr [ebp - 0x2c]"], ["0x100b2d84", "inc eax"], ["0x100b2d85", "cmp eax, 1"], ["0x100b2d88", "jle 0x37"]], "recomp": [["0x100a0a80", "jle 0x33"]]}, {"both": [["0x100b2d8a", "mov edi, dword ptr [ebp - 0x14]", "0x100a0a82"]]}, {"orig": [["0x100b2d8d", "sub edi, eax"]], "recomp": []}, {"both": [["0x100b2d8f", "sub edi, dword ptr [ebp - 0x1c]", "0x100a0a85"]]}, {"orig": [], "recomp": [["0x100a0a88", "sub edi, edx"]]}, {"both": [["0x100b2d92", "cmp edi, -1", "0x100a0a8a"], ["0x100b2d95", "jne 0x14", "0x100a0a8d"], ["0x100b2d97", "mov edi, dword ptr [ebp - 0x10]", "0x100a0a8f"]]}, {"orig": [["0x100b2d9a", "sub edi, edx"]], "recomp": []}, {"both": [["0x100b2d9c", "sub edi, dword ptr [ebp - 0x18]", "0x100a0a92"]]}, {"orig": [], "recomp": [["0x100a0a95", "sub edi, eax"]]}, {"both": [["0x100b2d9f", "cmp edi, -1", "0x100a0a97"], ["0x100b2da2", "jne 0x7", "0x100a0a9a"], ["0x100b2da4", "mov eax, 1", "0x100a0a9c"]]}, {"orig": [["0x100b2da9", "jmp 0x1b"], ["0x100b2dab", "mov edi, dword ptr [ebp - 0x1c]"], ["0x100b2dae", "add edi, eax"], ["0x100b2db0", "dec edi"], ["0x100b2db1", "mov dword ptr [ebp - 0x14], edi"], ["0x100b2db4", "mov eax, dword ptr [ebp - 0x18]"], ["0x100b2db7", "add eax, edx"]], "recomp": [["0x100a0aa1", "jmp 0x17"], ["0x100a0aa3", "add edx, dword ptr [ebp - 0x1c]"], ["0x100a0aa6", "dec edx"], ["0x100a0aa7", "mov dword ptr [ebp - 0x14], edx"], ["0x100a0aaa", "add eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100b2db9", "dec eax", "0x100a0aad"], ["0x100b2dba", "mov dword ptr [ebp - 0x10], eax", "0x100a0aae"], ["0x100b2dbd", "xor eax, eax", "0x100a0ab1"], ["0x100b2dbf", "jmp 0x5", "0x100a0ab3"], ["0x100b2dc1", "mov eax, 0xffffffff", "0x100a0ab5"], ["0x100b2dc6", "test eax, eax", "0x100a0aba"]]}, {"orig": [["0x100b2dc8", "jl -0x165"]], "recomp": [["0x100a0abc", "jl -0x161"]]}, {"both": [["0x100b2dce", "push 0", "0x100a0ac2"]]}, {"orig": [["0x100b2dd0", "lea eax, [ebp - 0x1c]"]], "recomp": [["0x100a0ac4", "lea eax, [ebp - 0x2c]"]]}, {"both": [["0x100b2dd3", "push 0x8000", "0x100a0ac7"], ["0x100b2dd8", "mov edi, dword ptr [ebx]", "0x100a0acc"], ["0x100b2dda", "push eax", "0x100a0ace"], ["0x100b2ddb", "push ecx", "0x100a0acf"]]}, {"orig": [["0x100b2ddc", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x100a0ad0", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x100b2ddf", "push ecx", "0x100a0ad3"], ["0x100b2de0", "push ebx", "0x100a0ad4"], ["0x100b2de1", "call dword ptr [edi + 0x14]", "0x100a0ad5"]]}, {"orig": [["0x100b2de4", "jmp -0x180"], ["0x100b2de9", "mov edx, dword ptr [eax + 4]"], ["0x100b2dec", "mov ecx, dword ptr [eax]"]], "recomp": [["0x100a0ad8", "jmp -0x17c"], ["0x100a0add", "mov ecx, dword ptr [eax + 4]"], ["0x100a0ae0", "mov edx, dword ptr [eax]"]]}, {"both": [["0x100b2dee", "push 0", "0x100a0ae2"], ["0x100b2df0", "mov edi, dword ptr [eax + 0xc]", "0x100a0ae4"]]}, {"orig": [["0x100b2df3", "sub edi, edx"]], "recomp": [["0x100a0ae7", "sub edi, ecx"]]}, {"both": [["0x100b2df5", "mov eax, dword ptr [eax + 8]", "0x100a0ae9"], ["0x100b2df8", "inc edi", "0x100a0aec"]]}, {"orig": [["0x100b2df9", "sub eax, ecx"]], "recomp": [["0x100a0aed", "sub eax, edx"]]}, {"both": [["0x100b2dfb", "push edi", "0x100a0aef"], ["0x100b2dfc", "inc eax", "0x100a0af0"], ["0x100b2dfd", "push eax", "0x100a0af1"]]}, {"orig": [], "recomp": [["0x100a0af2", "push ecx"]]}, {"both": [["0x100b2dfe", "push edx", "0x100a0af3"]]}, {"orig": [], "recomp": [["0x100a0af4", "sub ecx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100b2dff", "push ecx", "0x100a0af7"]]}, {"orig": [["0x100b2e00", "sub edx, dword ptr [esi + 0x14]"]], "recomp": [["0x100a0af8", "sub edx, dword ptr [esi + 0x10]"]]}, {"both": [["0x100b2e03", "push edx", "0x100a0afb"]]}, {"orig": [["0x100b2e04", "sub ecx, dword ptr [esi + 0x10]"], ["0x100b2e07", "push ecx"]], "recomp": []}, {"both": [["0x100b2e08", "mov eax, dword ptr [esi + 0x50]", "0x100a0afc"], ["0x100b2e0b", "push eax", "0x100a0aff"]]}, {"orig": [["0x100b2e0c", "mov edx, dword ptr [ebp - 0x30]"], ["0x100b2e0f", "mov ecx, edx"], ["0x100b2e11", "mov edi, dword ptr [edx]"]], "recomp": [["0x100a0b00", "mov ecx, dword ptr [ebp - 0x30]"], ["0x100a0b03", "mov edi, dword ptr [ecx]"]]}, {"both": [["0x100b2e13", "call dword ptr [edi + 0x30]", "0x100a0b05"]]}, {"orig": [["0x100b2e16", "jmp -0x1b2"]], "recomp": [["0x100a0b08", "jmp -0x1ac"]]}, {"both": [["0x100b2e1b", "test ecx, ecx", "0x100a0b0d"]]}, {"orig": [["0x100b2e1d", "je 0xe8"]], "recomp": [["0x100a0b0f", "je 0xe4"]]}, {"both": [["0x100b2e23", "cmp dword ptr [ebp - 0x28], 0x1e0", "0x100a0b15"]]}, {"orig": [["0x100b2e2a", "jg 0xb6"]], "recomp": [["0x100a0b1c", "jg 0xb2"]]}, {"both": [["0x100b2e30", "cmp dword ptr [ebp - 0x2c], 0x280", "0x100a0b22"]]}, {"orig": [["0x100b2e37", "jg 0xa9"]], "recomp": [["0x100a0b29", "jg 0xa5"]]}, {"both": [["0x100b2e3d", "cmp dword ptr [ebp - 0x18], 0x1e0", "0x100a0b2f"]]}, {"orig": [["0x100b2e44", "jg 0x9c"]], "recomp": [["0x100a0b36", "jg 0x98"]]}, {"both": [["0x100b2e4a", "cmp dword ptr [ebp - 0x1c], 0x280", "0x100a0b3c"]]}, {"orig": [["0x100b2e51", "jg 0x8f"]], "recomp": [["0x100a0b43", "jg 0x8b"]]}, {"both": [["0x100b2e57", "cmp dword ptr [ebp - 0x20], 0x1e0", "0x100a0b49"], ["0x100b2e5e", "jle 0x7", "0x100a0b50"], ["0x100b2e60", "mov dword ptr [ebp - 0x20], 0x1e0", "0x100a0b52"], ["0x100b2e67", "cmp dword ptr [ebp - 0x24], 0x280", "0x100a0b59"], ["0x100b2e6e", "jle 0x7", "0x100a0b60"], ["0x100b2e70", "mov dword ptr [ebp - 0x24], 0x280", "0x100a0b62"], ["0x100b2e77", "cmp dword ptr [ebp - 0x10], 0x1e0", "0x100a0b69"], ["0x100b2e7e", "jle 0x7", "0x100a0b70"], ["0x100b2e80", "mov dword ptr [ebp - 0x10], 0x1e0", "0x100a0b72"], ["0x100b2e87", "cmp dword ptr [ebp - 0x14], 0x280", "0x100a0b79"], ["0x100b2e8e", "jle 0x7", "0x100a0b80"], ["0x100b2e90", "mov dword ptr [ebp - 0x14], 0x280", "0x100a0b82"]]}, {"orig": [["0x100b2e97", "mov edx, dword ptr [ebp - 0x20]"], ["0x100b2e9a", "sub edx, dword ptr [ebp - 0x28]"]], "recomp": [["0x100a0b89", "mov eax, dword ptr [ebp - 0x20]"], ["0x100a0b8c", "sub eax, dword ptr [ebp - 0x28]"], ["0x100a0b8f", "inc eax"], ["0x100a0b90", "cmp eax, 1"], ["0x100a0b93", "jle 0x3f"], ["0x100a0b95", "mov edx, dword ptr [ebp - 0x24]"], ["0x100a0b98", "sub edx, dword ptr [ebp - 0x2c]"]]}, {"both": [["0x100b2e9d", "inc edx", "0x100a0b9b"], ["0x100b2e9e", "cmp edx, 1", "0x100a0b9c"]]}, {"orig": [["0x100b2ea1", "jle 0x43"], ["0x100b2ea3", "mov eax, dword ptr [ebp - 0x24]"], ["0x100b2ea6", "sub eax, dword ptr [ebp - 0x2c]"], ["0x100b2ea9", "inc eax"], ["0x100b2eaa", "cmp eax, 1"], ["0x100b2ead", "jle 0x37"]], "recomp": [["0x100a0b9f", "jle 0x33"]]}, {"both": [["0x100b2eaf", "mov edi, dword ptr [ebp - 0x14]", "0x100a0ba1"]]}, {"orig": [], "recomp": [["0x100a0ba4", "sub edi, edx"]]}, {"both": [["0x100b2eb2", "sub edi, dword ptr [ebp - 0x1c]", "0x100a0ba6"]]}, {"orig": [["0x100b2eb5", "sub edi, eax"]], "recomp": []}, {"both": [["0x100b2eb7", "cmp edi, -1", "0x100a0ba9"], ["0x100b2eba", "jne 0x14", "0x100a0bac"], ["0x100b2ebc", "mov edi, dword ptr [ebp - 0x10]", "0x100a0bae"]]}, {"orig": [], "recomp": [["0x100a0bb1", "sub edi, eax"]]}, {"both": [["0x100b2ebf", "sub edi, dword ptr [ebp - 0x18]", "0x100a0bb3"]]}, {"orig": [["0x100b2ec2", "sub edi, edx"]], "recomp": []}, {"both": [["0x100b2ec4", "cmp edi, -1", "0x100a0bb6"], ["0x100b2ec7", "jne 0x7", "0x100a0bb9"], ["0x100b2ec9", "mov eax, 1", "0x100a0bbb"]]}, {"orig": [["0x100b2ece", "jmp 0x1b"], ["0x100b2ed0", "mov edi, dword ptr [ebp - 0x1c]"], ["0x100b2ed3", "add edi, eax"], ["0x100b2ed5", "dec edi"], ["0x100b2ed6", "mov dword ptr [ebp - 0x14], edi"], ["0x100b2ed9", "mov eax, dword ptr [ebp - 0x18]"], ["0x100b2edc", "add eax, edx"]], "recomp": [["0x100a0bc0", "jmp 0x17"], ["0x100a0bc2", "add edx, dword ptr [ebp - 0x1c]"], ["0x100a0bc5", "dec edx"], ["0x100a0bc6", "mov dword ptr [ebp - 0x14], edx"], ["0x100a0bc9", "add eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100b2ede", "dec eax", "0x100a0bcc"], ["0x100b2edf", "mov dword ptr [ebp - 0x10], eax", "0x100a0bcd"], ["0x100b2ee2", "xor eax, eax", "0x100a0bd0"], ["0x100b2ee4", "jmp 0x5", "0x100a0bd2"], ["0x100b2ee6", "mov eax, 0xffffffff", "0x100a0bd4"], ["0x100b2eeb", "test eax, eax", "0x100a0bd9"]]}, {"orig": [["0x100b2eed", "jl -0x28a"]], "recomp": [["0x100a0bdb", "jl -0x280"]]}, {"both": [["0x100b2ef3", "push 0", "0x100a0be1"]]}, {"orig": [["0x100b2ef5", "lea eax, [ebp - 0x1c]"]], "recomp": [["0x100a0be3", "lea eax, [ebp - 0x2c]"]]}, {"both": [["0x100b2ef8", "push 0", "0x100a0be6"], ["0x100b2efa", "mov edi, dword ptr [ebx]", "0x100a0be8"], ["0x100b2efc", "push eax", "0x100a0bea"], ["0x100b2efd", "push ecx", "0x100a0beb"]]}, {"orig": [["0x100b2efe", "lea ecx, [ebp - 0x2c]"]], "recomp": [["0x100a0bec", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x100b2f01", "push ecx", "0x100a0bef"], ["0x100b2f02", "push ebx", "0x100a0bf0"], ["0x100b2f03", "call dword ptr [edi + 0x14]", "0x100a0bf1"]]}, {"orig": [["0x100b2f06", "jmp -0x2a2"], ["0x100b2f0b", "mov ecx, dword ptr [eax + 4]"], ["0x100b2f0e", "mov edx, dword ptr [eax]"]], "recomp": [["0x100a0bf4", "jmp -0x298"], ["0x100a0bf9", "mov edx, dword ptr [eax + 4]"], ["0x100a0bfc", "mov ecx, dword ptr [eax]"]]}, {"both": [["0x100b2f10", "mov edi, dword ptr [eax + 0xc]", "0x100a0bfe"], ["0x100b2f13", "mov eax, dword ptr [eax + 8]", "0x100a0c01"]]}, {"orig": [["0x100b2f16", "sub edi, ecx"], ["0x100b2f18", "sub eax, edx"]], "recomp": [["0x100a0c04", "sub edi, edx"], ["0x100a0c06", "sub eax, ecx"]]}, {"both": [["0x100b2f1a", "inc edi", "0x100a0c08"], ["0x100b2f1b", "inc eax", "0x100a0c09"], ["0x100b2f1c", "push edi", "0x100a0c0a"], ["0x100b2f1d", "push eax", "0x100a0c0b"]]}, {"orig": [], "recomp": [["0x100a0c0c", "push edx"], ["0x100a0c0d", "mov eax, dword ptr [esi + 0x50]"]]}, {"both": [["0x100b2f1e", "push ecx", "0x100a0c10"]]}, {"orig": [["0x100b2f1f", "mov eax, dword ptr [esi + 0x50]"]], "recomp": [["0x100a0c11", "sub edx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100b2f22", "push edx", "0x100a0c14"]]}, {"orig": [["0x100b2f23", "sub ecx, dword ptr [esi + 0x14]"]], "recomp": [["0x100a0c15", "sub ecx, dword ptr [esi + 0x10]"]]}, {"both": [["0x100b2f26", "push ecx", "0x100a0c18"]]}, {"orig": [["0x100b2f27", "sub edx, dword ptr [esi + 0x10]"], ["0x100b2f2a", "push edx"], ["0x100b2f2b", "mov ecx, dword ptr [ebp - 0x30]"]], "recomp": [["0x100a0c19", "mov edx, dword ptr [ebp - 0x30]"], ["0x100a0c1c", "mov edi, dword ptr [edx]"]]}, {"both": [["0x100b2f2e", "push eax", "0x100a0c1e"]]}, {"orig": [["0x100b2f2f", "mov edi, dword ptr [ecx]"]], "recomp": [["0x100a0c1f", "mov ecx, edx"]]}, {"both": [["0x100b2f31", "call dword ptr [edi + 0x28]", "0x100a0c21"]]}, {"orig": [["0x100b2f34", "jmp -0x2d0"]], "recomp": [["0x100a0c24", "jmp -0x2c8"]]}, {"both": [["0x100b2f39", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a0c29"], ["0x100b2f40", "call <OFFSET5>", "0x100a0c30"]]}, {"orig": [["0x100b2f45", "jmp -0x35d"]], "recomp": [["0x100a0c35", "jmp -0x355"], ["0x100a0c3a", "mov eax, <OFFSET6>"], ["0x100a0c3f", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x100a0c44", "lea ecx, [ebp - 0x54]"], ["0x100a0c47", "jmp MxRegionCursor::~MxRegionCursor (FUNCTION)"]]}]]]}, {"address": "0x100b2f60", "recomp": "0x100a0c50", "name": "MxVideoPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100b2fa0", "recomp": "0x100a0c90", "name": "MxVideoPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b2fe0", "recomp": "0x100a0cd0", "name": "MxVideoPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b3080", "recomp": "0x100a0d70", "name": "MxVideoPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b3130", "recomp": "0x100a0e20", "name": "MxVideoPresenter::FreezingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b31a0", "recomp": "0x100a0e90", "name": "MxVideoPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100b31d0", "recomp": "0x100a0ec0", "name": "MxVideoPresenter::EndAction", "matching": 0.9423076923076923, "diff": [["@@ -0x100b3211,27 +0x100a0f01,27 @@", [{"both": [["0x100b3211", "je 0x35", "0x100a0f01"], ["0x100b3213", "mov eax, dword ptr [eax + 0xc]", "0x100a0f03"], ["0x100b3216", "mov edx, dword ptr [eax + 8]", "0x100a0f06"], ["0x100b3219", "test edx, edx", "0x100a0f09"], ["0x100b321b", "jg 0x2", "0x100a0f0b"], ["0x100b321d", "neg edx", "0x100a0f0d"], ["0x100b321f", "mov eax, dword ptr [eax + 4]", "0x100a0f0f"], ["0x100b3222", "mov ecx, dword ptr [esi + 0x10]", "0x100a0f12"], ["0x100b3225", "mov esi, dword ptr [esi + 0x14]", "0x100a0f15"], ["0x100b3228", "add eax, ecx", "0x100a0f18"]]}, {"orig": [], "recomp": [["0x100a0f1a", "add edx, esi"]]}, {"both": [["0x100b322a", "mov dword ptr [ebp - 0x20], ecx", "0x100a0f1c"]]}, {"orig": [], "recomp": [["0x100a0f1f", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x100b322d", "mov dword ptr [ebp - 0x1c], esi", "0x100a0f22"]]}, {"orig": [["0x100b3230", "add esi, edx"], ["0x100b3232", "lea ecx, [ebp - 0x20]"]], "recomp": []}, {"both": [["0x100b3235", "push ecx", "0x100a0f25"], ["0x100b3236", "mov dword ptr [ebp - 0x18], eax", "0x100a0f26"]]}, {"orig": [["0x100b3239", "mov dword ptr [ebp - 0x14], esi"]], "recomp": [["0x100a0f29", "mov dword ptr [ebp - 0x14], edx"]]}, {"both": [["0x100b323c", "call MVideoManager (FUNCTION)", "0x100a0f2c"], ["0x100b3241", "mov ecx, eax", "0x100a0f31"], ["0x100b3243", "call MxVideoManager::InvalidateRect (FUNCTION)", "0x100a0f33"], ["0x100b3248", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a0f38"], ["0x100b324f", "call <OFFSET6>", "0x100a0f3f"], ["0x100b3254", "mov eax, dword ptr [ebp - 0xc]", "0x100a0f44"], ["0x100b3257", "pop esi", "0x100a0f47"], ["0x100b3258", "mov dword ptr fs:[0], eax", "0x100a0f48"], ["0x100b325e", "mov esp, ebp", "0x100a0f4e"], ["0x100b3260", "pop ebp", "0x100a0f50"]]}]]]}, {"address": "0x100b3280", "recomp": "0x100a0f70", "name": "MxVideoPresenter::PutData", "matching": 1.0, "diff": []}, {"address": "0x100b3300", "recomp": "0x100a0ff0", "name": "MxVideoPresenter::VTable0x74", "matching": 1.0, "diff": []}, {"address": "0x100b3310", "recomp": "0x100a8a80", "name": "MxFlcPresenter::MxFlcPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b33f0", "recomp": "0x100a8b60", "name": "MxFlcPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b3400", "recomp": "0x100a8b70", "name": "MxFlcPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b3420", "recomp": "0x100a8b90", "name": "MxFlcPresenter::~MxFlcPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b3490", "recomp": "0x100a8c00", "name": "MxFlcPresenter::LoadHeader", "matching": 1.0, "diff": []}, {"address": "0x100b34d0", "recomp": "0x100a8c40", "name": "MxFlcPresenter::CreateBitmap", "matching": 1.0, "diff": []}, {"address": "0x100b3570", "recomp": "0x100a8ce0", "name": "MxFlcPresenter::LoadFrame", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b3570,61 +0x100a8ce0,61 @@", [{"both": [["0x100b3570", "mov eax, dword ptr [esp + 4]", "0x100a8ce0"], ["0x100b3574", "sub esp, 0x14", "0x100a8ce4"], ["0x100b3577", "push ebx", "0x100a8ce7"], ["0x100b3578", "push esi", "0x100a8ce8"], ["0x100b3579", "push edi", "0x100a8ce9"]]}, {"orig": [["0x100b357a", "mov esi, dword ptr [eax + 0x18]"]], "recomp": [["0x100a8cea", "mov ebx, dword ptr [eax + 0x18]"]]}, {"both": [["0x100b357d", "mov edi, ecx", "0x100a8ced"]]}, {"orig": [["0x100b357f", "add esi, 4"]], "recomp": [["0x100a8cef", "add ebx, 4"]]}, {"both": [["0x100b3582", "lea edx, [esp + 0xf]", "0x100a8cf2"]]}, {"orig": [["0x100b3586", "mov ebx, dword ptr [esi - 4]"], ["0x100b3589", "mov eax, ebx"]], "recomp": [["0x100a8cf6", "mov esi, dword ptr [ebx - 4]"], ["0x100a8cf9", "mov eax, esi"]]}, {"both": [["0x100b358b", "mov ecx, dword ptr [edi + 0x50]", "0x100a8cfb"], ["0x100b358e", "shl eax, 4", "0x100a8cfe"], ["0x100b3591", "push edx", "0x100a8d01"]]}, {"orig": [["0x100b3592", "add eax, esi"]], "recomp": [["0x100a8d02", "add eax, ebx"]]}, {"both": [["0x100b3594", "mov edx, dword ptr [edi + 0x64]", "0x100a8d04"], ["0x100b3597", "push eax", "0x100a8d07"], ["0x100b3598", "push edx", "0x100a8d08"], ["0x100b3599", "mov eax, dword ptr [ecx + 0x14]", "0x100a8d09"], ["0x100b359c", "mov ecx, dword ptr [ecx + 8]", "0x100a8d0c"], ["0x100b359f", "push eax", "0x100a8d0f"], ["0x100b35a0", "push ecx", "0x100a8d10"], ["0x100b35a1", "call DecodeFLCFrame (FUNCTION)", "0x100a8d11"], ["0x100b35a6", "add esp, 0x14", "0x100a8d16"], ["0x100b35a9", "mov ecx, dword ptr [edi + 0x1c]", "0x100a8d19"], ["0x100b35ac", "cmp dword ptr [ecx + 0xac], 0", "0x100a8d1c"], ["0x100b35b3", "je 0xe", "0x100a8d23"], ["0x100b35b5", "cmp byte ptr [esp + 0xf], 0", "0x100a8d25"], ["0x100b35ba", "je 0x7", "0x100a8d2a"], ["0x100b35bc", "mov eax, dword ptr [edi]", "0x100a8d2c"], ["0x100b35be", "mov ecx, edi", "0x100a8d2e"], ["0x100b35c0", "call dword ptr [eax + 0x70]", "0x100a8d30"]]}, {"orig": [["0x100b35c3", "test ebx, ebx"]], "recomp": [["0x100a8d33", "test esi, esi"]]}, {"both": [["0x100b35c5", "jle 0x48", "0x100a8d35"]]}, {"orig": [["0x100b35c7", "mov eax, dword ptr [esi]"], ["0x100b35c9", "add esi, 0x10"]], "recomp": [["0x100a8d37", "mov eax, dword ptr [ebx]"], ["0x100a8d39", "add ebx, 0x10"]]}, {"both": [["0x100b35cc", "mov dword ptr [esp + 0x10], eax", "0x100a8d3c"]]}, {"orig": [["0x100b35d0", "mov ecx, dword ptr [esi - 0xc]"]], "recomp": [["0x100a8d40", "mov ecx, dword ptr [ebx - 0xc]"]]}, {"both": [["0x100b35d3", "mov dword ptr [esp + 0x14], ecx", "0x100a8d43"], ["0x100b35d7", "mov ecx, dword ptr [edi + 0x14]", "0x100a8d47"]]}, {"orig": [["0x100b35da", "mov edx, dword ptr [esi - 8]"]], "recomp": [["0x100a8d4a", "mov edx, dword ptr [ebx - 8]"]]}, {"both": [["0x100b35dd", "mov dword ptr [esp + 0x18], edx", "0x100a8d4d"], ["0x100b35e1", "lea edx, [esp + 0x10]", "0x100a8d51"]]}, {"orig": [["0x100b35e5", "mov eax, dword ptr [esi - 4]"]], "recomp": [["0x100a8d55", "mov eax, dword ptr [ebx - 4]"]]}, {"both": [["0x100b35e8", "push edx", "0x100a8d58"], ["0x100b35e9", "mov dword ptr [esp + 0x20], eax", "0x100a8d59"], ["0x100b35ed", "add dword ptr [esp + 0x18], ecx", "0x100a8d5d"], ["0x100b35f1", "mov eax, dword ptr [edi + 0x10]", "0x100a8d61"], ["0x100b35f4", "add dword ptr [esp + 0x20], ecx", "0x100a8d64"], ["0x100b35f8", "add dword ptr [esp + 0x14], eax", "0x100a8d68"], ["0x100b35fc", "add dword ptr [esp + 0x1c], eax", "0x100a8d6c"], ["0x100b3600", "call MVideoManager (FUNCTION)", "0x100a8d70"], ["0x100b3605", "mov ecx, eax", "0x100a8d75"], ["0x100b3607", "call MxVideoManager::InvalidateRect (FUNCTION)", "0x100a8d77"]]}, {"orig": [["0x100b360c", "dec ebx"]], "recomp": [["0x100a8d7c", "dec esi"]]}, {"both": [["0x100b360d", "jne -0x48", "0x100a8d7d"], ["0x100b360f", "pop edi", "0x100a8d7f"], ["0x100b3610", "pop esi", "0x100a8d80"], ["0x100b3611", "pop ebx", "0x100a8d81"], ["0x100b3612", "add esp, 0x14", "0x100a8d82"], ["0x100b3615", "ret 4", "0x100a8d85"]]}]]]}, {"address": "0x100b3620", "recomp": "0x100a8d90", "name": "MxFlcPresenter::RealizePalette", "matching": 1.0, "diff": []}, {"address": "0x100b3650", "recomp": "0x100afb50", "name": "MxSmkPresenter::MxSmkPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b3730", "recomp": "0x100afc30", "name": "MxSmkPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b3740", "recomp": "0x100aed90", "name": "MxSmkPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b3850", "recomp": "0x100afc40", "name": "MxSmkPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b3870", "recomp": "0x100afc60", "name": "MxSmkPresenter::~MxSmkPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b38d0", "recomp": "0x100afcc0", "name": "MxSmkPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b3900", "recomp": "0x100afcf0", "name": "MxSmkPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b3940", "recomp": "0x100afd30", "name": "MxSmkPresenter::LoadHeader", "matching": 1.0, "diff": []}, {"address": "0x100b3960", "recomp": "0x100afd50", "name": "MxSmkPresenter::CreateBitmap", "matching": 1.0, "diff": []}, {"address": "0x100b3a00", "recomp": "0x100afdf0", "name": "MxSmkPresenter::LoadFrame", "matching": 1.0, "diff": []}, {"address": "0x100b3c00", "recomp": "0x100b0060", "name": "MxCollection<MxRect32 *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100b3c10", "recomp": "0x100afff0", "name": "MxCollection<MxRect32 *>::MxCollection<MxRect32 *>", "matching": 1.0, "diff": []}, {"address": "0x100b3c80", "recomp": "0x100b0070", "name": "MxCollection<MxRect32 *>::~MxCollection<MxRect32 *>", "matching": 1.0, "diff": []}, {"address": "0x100b3cd0", "recomp": "0x100b00c0", "name": "MxCollection<MxRect32 *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b3ce0", "recomp": "0x100b00d0", "name": "MxList<MxRect32 *>::~MxList<MxRect32 *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b3ce9,33 +0x100b00d9,33 @@", [{"both": [["0x100b3ce9", "push -1", "0x100b00d9"], ["0x100b3ceb", "push <OFFSET1>", "0x100b00db"], ["0x100b3cf0", "push eax", "0x100b00e0"], ["0x100b3cf1", "mov dword ptr fs:[0], esp", "0x100b00e1"], ["0x100b3cf8", "mov dword ptr [ecx], MxList<MxRect32 *>::`vftable' (VTABLE)", "0x100b00e8"], ["0x100b3cfe", "sub esp, 4", "0x100b00ee"], ["0x100b3d01", "mov dword ptr [ebp - 0x10], ecx", "0x100b00f1"], ["0x100b3d04", "mov dword ptr [ebp - 4], 0", "0x100b00f4"], ["0x100b3d0b", "push esi", "0x100b00fb"], ["0x100b3d0c", "push edi", "0x100b00fc"]]}, {"orig": [["0x100b3d0d", "mov esi, dword ptr [ecx + 0x10]"], ["0x100b3d10", "test esi, esi"]], "recomp": [["0x100b00fd", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b0100", "test edi, edi"]]}, {"both": [["0x100b3d12", "je 0x1c", "0x100b0102"]]}, {"orig": [["0x100b3d14", "mov edi, dword ptr [esi + 8]"], ["0x100b3d17", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b0104", "mov esi, dword ptr [edi + 8]"], ["0x100b0107", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100b3d19", "push eax", "0x100b0109"], ["0x100b3d1a", "mov ecx, dword ptr [ebp - 0x10]", "0x100b010a"], ["0x100b3d1d", "call dword ptr [ecx + 0xc]", "0x100b010d"], ["0x100b3d20", "add esp, 4", "0x100b0110"]]}, {"orig": [["0x100b3d23", "push esi"]], "recomp": [["0x100b0113", "push edi"]]}, {"both": [["0x100b3d24", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b0114"], ["0x100b3d29", "add esp, 4", "0x100b0119"]]}, {"orig": [["0x100b3d2c", "mov esi, edi"]], "recomp": [["0x100b011c", "mov edi, esi"]]}, {"both": [["0x100b3d2e", "jmp -0x20", "0x100b011e"], ["0x100b3d30", "xor eax, eax", "0x100b0120"], ["0x100b3d32", "mov ecx, dword ptr [ebp - 0x10]", "0x100b0122"], ["0x100b3d35", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b0125"], ["0x100b3d3c", "mov dword ptr [ecx + 8], eax", "0x100b012c"], ["0x100b3d3f", "mov dword ptr [ecx + 0x14], eax", "0x100b012f"], ["0x100b3d42", "mov dword ptr [ecx + 0x10], eax", "0x100b0132"], ["0x100b3d45", "call <OFFSET4>", "0x100b0135"], ["0x100b3d4a", "mov eax, dword ptr [ebp - 0xc]", "0x100b013a"], ["0x100b3d4d", "pop edi", "0x100b013d"]]}]]]}, {"address": "0x100b3d70", "recomp": "0x100b0160", "name": "MxPtrList<MxRect32>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b3d80", "recomp": "0x100b0170", "name": "MxRectList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b3df0", "recomp": "0x100b01e0", "name": "MxPtrList<MxRect32>::~MxPtrList<MxRect32>", "matching": 1.0, "diff": []}, {"address": "0x100b3e40", "recomp": "0x100b0230", "name": "MxCollection<MxRect32 *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b3eb0", "recomp": "0x100b02a0", "name": "MxList<MxRect32 *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b3eb9,33 +0x100b02a9,33 @@", [{"both": [["0x100b3eb9", "push -1", "0x100b02a9"], ["0x100b3ebb", "push <OFFSET1>", "0x100b02ab"], ["0x100b3ec0", "push eax", "0x100b02b0"], ["0x100b3ec1", "mov dword ptr fs:[0], esp", "0x100b02b1"], ["0x100b3ec8", "mov dword ptr [ecx], MxList<MxRect32 *>::`vftable' (VTABLE)", "0x100b02b8"], ["0x100b3ece", "sub esp, 4", "0x100b02be"], ["0x100b3ed1", "mov dword ptr [ebp - 0x10], ecx", "0x100b02c1"], ["0x100b3ed4", "mov dword ptr [ebp - 4], 0", "0x100b02c4"], ["0x100b3edb", "push esi", "0x100b02cb"], ["0x100b3edc", "push edi", "0x100b02cc"]]}, {"orig": [["0x100b3edd", "mov esi, dword ptr [ecx + 0x10]"], ["0x100b3ee0", "test esi, esi"]], "recomp": [["0x100b02cd", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b02d0", "test edi, edi"]]}, {"both": [["0x100b3ee2", "je 0x1c", "0x100b02d2"]]}, {"orig": [["0x100b3ee4", "mov edi, dword ptr [esi + 8]"], ["0x100b3ee7", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b02d4", "mov esi, dword ptr [edi + 8]"], ["0x100b02d7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100b3ee9", "push eax", "0x100b02d9"], ["0x100b3eea", "mov ecx, dword ptr [ebp - 0x10]", "0x100b02da"], ["0x100b3eed", "call dword ptr [ecx + 0xc]", "0x100b02dd"], ["0x100b3ef0", "add esp, 4", "0x100b02e0"]]}, {"orig": [["0x100b3ef3", "push esi"]], "recomp": [["0x100b02e3", "push edi"]]}, {"both": [["0x100b3ef4", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b02e4"], ["0x100b3ef9", "add esp, 4", "0x100b02e9"]]}, {"orig": [["0x100b3efc", "mov esi, edi"]], "recomp": [["0x100b02ec", "mov edi, esi"]]}, {"both": [["0x100b3efe", "jmp -0x20", "0x100b02ee"], ["0x100b3f00", "xor eax, eax", "0x100b02f0"], ["0x100b3f02", "mov ecx, dword ptr [ebp - 0x10]", "0x100b02f2"], ["0x100b3f05", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b02f5"], ["0x100b3f0c", "mov dword ptr [ecx + 8], eax", "0x100b02fc"], ["0x100b3f0f", "mov dword ptr [ecx + 0x14], eax", "0x100b02ff"], ["0x100b3f12", "mov dword ptr [ecx + 0x10], eax", "0x100b0302"], ["0x100b3f15", "call <OFFSET4>", "0x100b0305"], ["0x100b3f1a", "test byte ptr [ebp + 8], 1", "0x100b030a"], ["0x100b3f1e", "je 0xc", "0x100b030e"]]}]]]}, {"address": "0x100b3f60", "recomp": "0x100b0350", "name": "MxPtrList<MxRect32>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b3fd0", "recomp": "0x100b03c0", "name": "MxRectList::~MxRectList", "matching": 1.0, "diff": []}, {"address": "0x100b4020", "recomp": "0x100b0410", "name": "MxRectListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b4090", "recomp": "0x100b0480", "name": "MxPtrListCursor<MxRect32>::~MxPtrListCursor<MxRect32>", "matching": 1.0, "diff": []}, {"address": "0x100b40e0", "recomp": "0x100b04d0", "name": "MxListCursor<MxRect32 *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b4150", "recomp": "0x100b0540", "name": "MxPtrListCursor<MxRect32>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b41c0", "recomp": "0x100b05b0", "name": "MxListCursor<MxRect32 *>::~MxListCursor<MxRect32 *>", "matching": 1.0, "diff": []}, {"address": "0x100b4210", "recomp": "0x100b0600", "name": "MxRectListCursor::~MxRectListCursor", "matching": 1.0, "diff": []}, {"address": "0x100b4260", "recomp": "0x100b0650", "name": "MxSmkPresenter::VTable0x88", "matching": 1.0, "diff": []}, {"address": "0x100b42c0", "recomp": "0x100b06b0", "name": "MxSmkPresenter::RealizePalette", "matching": 1.0, "diff": []}, {"address": "0x100b42f0", "recomp": "0x100b06e0", "name": "MxSmkPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100b4300", "recomp": "0x100b06f0", "name": "MxSmkPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b4310", "recomp": "0x100af2d0", "name": "MxLoopingFlcPresenter::MxLoopingFlcPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b4380", "recomp": "0x100af340", "name": "MxLoopingFlcPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b4390", "recomp": "0x100af350", "name": "MxLoopingFlcPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b43b0", "recomp": "0x100af370", "name": "MxLoopingFlcPresenter::~MxLoopingFlcPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b4410", "recomp": "0x100af3d0", "name": "MxLoopingFlcPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b4430", "recomp": "0x100af3f0", "name": "MxLoopingFlcPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b4470", "recomp": "0x100af430", "name": "MxLoopingFlcPresenter::NextFrame", "matching": 1.0, "diff": []}, {"address": "0x100b44c0", "recomp": "0x100af480", "name": "MxLoopingFlcPresenter::VTable0x88", "matching": 1.0, "diff": []}, {"address": "0x100b4520", "recomp": "0x100af4e0", "name": "MxLoopingFlcPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b46e0", "recomp": "0x100a2320", "name": "MxStreamChunkListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b4750", "recomp": "0x100a2390", "name": "MxListCursor<MxStreamChunk *>::~MxListCursor<MxStreamChunk *>", "matching": 1.0, "diff": []}, {"address": "0x100b47a0", "recomp": "0x100a23e0", "name": "MxListCursor<MxStreamChunk *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b4810", "recomp": "0x100a2450", "name": "MxStreamChunkListCursor::~MxStreamChunkListCursor", "matching": 1.0, "diff": []}, {"address": "0x100b4860", "recomp": "0x100af6a0", "name": "MxLoopingFlcPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100b48a0", "recomp": "0x100af6e0", "name": "MxLoopingFlcPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b48b0", "recomp": "0x100aed20", "name": "MxLoopingSmkPresenter::MxLoopingSmkPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b4920", "recomp": "0x100aeea0", "name": "MxLoopingSmkPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b4930", "recomp": "0x100aeeb0", "name": "MxLoopingSmkPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b4950", "recomp": "0x100aeed0", "name": "MxLoopingSmkPresenter::~MxLoopingSmkPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b49b0", "recomp": "0x100aef30", "name": "MxLoopingSmkPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b49d0", "recomp": "0x100aef50", "name": "MxLoopingSmkPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b4a00", "recomp": "0x100aef80", "name": "MxLoopingSmkPresenter::VTable0x88", "matching": 1.0, "diff": []}, {"address": "0x100b4a30", "recomp": "0x100aefb0", "name": "MxLoopingSmkPresenter::NextFrame", "matching": 1.0, "diff": []}, {"address": "0x100b4a90", "recomp": "0x100af010", "name": "MxLoopingSmkPresenter::VTable0x8c", "matching": 1.0, "diff": []}, {"address": "0x100b4b00", "recomp": "0x100af080", "name": "MxLoopingSmkPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b4cd0", "recomp": "0x100af250", "name": "MxLoopingSmkPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100b4d40", "recomp": "0x100af2c0", "name": "MxLoopingSmkPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b4d50", "recomp": "0x100a1a20", "name": "MxPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b4d80", "recomp": "0x100a1a50", "name": "MxPresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x100b4e40", "recomp": "0x100a1b10", "name": "MxPresenter::EndAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b4e65,26 +0x100a1b35,26 @@", [{"both": [["0x100b4e65", "je 0xfc", "0x100a1b35"], ["0x100b4e6b", "lea eax, [ecx + 0x20]", "0x100a1b3b"], ["0x100b4e6e", "lea ecx, [ebp - 0x2c]", "0x100a1b3e"], ["0x100b4e71", "push eax", "0x100a1b41"], ["0x100b4e72", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100a1b42"], ["0x100b4e77", "mov ecx, dword ptr [ebp - 0x10]", "0x100a1b47"], ["0x100b4e7a", "mov dword ptr [ebp - 4], 0", "0x100a1b4a"], ["0x100b4e81", "cmp dword ptr [ecx + 0x3c], 0", "0x100a1b51"], ["0x100b4e85", "jne 0xaf", "0x100a1b55"], ["0x100b4e8b", "call MxOmni::GetInstance (FUNCTION)", "0x100a1b5b"]]}, {"orig": [["0x100b4e90", "mov esi, dword ptr [eax]"], ["0x100b4e92", "mov edi, eax"]], "recomp": [["0x100a1b60", "mov ebx, dword ptr [eax]"], ["0x100a1b62", "mov esi, eax"]]}, {"both": [["0x100b4e94", "mov ecx, dword ptr [ebp - 0x10]", "0x100a1b64"], ["0x100b4e97", "mov eax, 1", "0x100a1b67"], ["0x100b4e9c", "mov dword ptr [ebp - 0x28], MxParam::`vftable' (VTABLE)", "0x100a1b6c"]]}, {"orig": [["0x100b4ea3", "mov ebx, dword ptr [ecx + 0x1c]"]], "recomp": [["0x100a1b73", "mov edi, dword ptr [ecx + 0x1c]"]]}, {"both": [["0x100b4ea6", "mov byte ptr [ebp - 4], al", "0x100a1b76"], ["0x100b4ea9", "mov dword ptr [ebp - 0x20], 0", "0x100a1b79"], ["0x100b4eb0", "mov ecx, 2", "0x100a1b80"], ["0x100b4eb5", "push 0x94", "0x100a1b85"], ["0x100b4eba", "mov dword ptr [ebp - 0x24], ecx", "0x100a1b8a"], ["0x100b4ebd", "mov byte ptr [ebp - 4], cl", "0x100a1b8d"], ["0x100b4ec0", "mov dword ptr [ebp - 0x28], MxNotificationParam::`vftable' (VTABLE)", "0x100a1b90"], ["0x100b4ec7", "mov dword ptr [ebp - 0x28], MxActionNotificationParam::`vftable' (VTABLE)", "0x100a1b97"], ["0x100b4ece", "mov byte ptr [ebp - 0x18], al", "0x100a1b9e"], ["0x100b4ed1", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a1ba1"]]}]], ["@@ -0x100b4ed9,39 +0x100a1ba9,39 @@", [{"both": [["0x100b4ed9", "mov dword ptr [ebp - 0x14], eax", "0x100a1ba9"], ["0x100b4edc", "mov byte ptr [ebp - 4], 3", "0x100a1bac"], ["0x100b4ee0", "test eax, eax", "0x100a1bb0"], ["0x100b4ee2", "je 0x9", "0x100a1bb2"], ["0x100b4ee4", "mov ecx, eax", "0x100a1bb4"], ["0x100b4ee6", "call MxDSAction::MxDSAction (FUNCTION)", "0x100a1bb6"], ["0x100b4eeb", "jmp 0x2", "0x100a1bbb"], ["0x100b4eed", "xor eax, eax", "0x100a1bbd"], ["0x100b4eef", "mov byte ptr [ebp - 4], 2", "0x100a1bbf"], ["0x100b4ef3", "mov dword ptr [ebp - 0x1c], eax", "0x100a1bc3"]]}, {"orig": [["0x100b4ef6", "mov ecx, dword ptr [ebx + 0x20]"]], "recomp": [["0x100a1bc6", "mov ecx, dword ptr [edi + 0x20]"]]}, {"both": [["0x100b4ef9", "mov edx, dword ptr [eax]", "0x100a1bc9"], ["0x100b4efb", "push ecx", "0x100a1bcb"], ["0x100b4efc", "mov ecx, eax", "0x100a1bcc"], ["0x100b4efe", "call dword ptr [edx + 0x20]", "0x100a1bce"]]}, {"orig": [["0x100b4f01", "mov edx, dword ptr [ebx + 0x1c]"]], "recomp": [["0x100a1bd1", "mov edx, dword ptr [edi + 0x1c]"]]}, {"both": [["0x100b4f04", "mov ecx, dword ptr [ebp - 0x1c]", "0x100a1bd4"], ["0x100b4f07", "mov byte ptr [ebp - 4], 4", "0x100a1bd7"], ["0x100b4f0b", "mov byte ptr [ebp - 4], 0", "0x100a1bdb"], ["0x100b4f0f", "mov byte ptr [ebp - 4], 5", "0x100a1bdf"], ["0x100b4f13", "mov dword ptr [ecx + 0x1c], edx", "0x100a1be3"], ["0x100b4f16", "mov ecx, dword ptr [ebp - 0x1c]", "0x100a1be6"]]}, {"orig": [["0x100b4f19", "mov ax, word ptr [ebx + 0x24]"]], "recomp": [["0x100a1be9", "mov ax, word ptr [edi + 0x24]"]]}, {"both": [["0x100b4f1d", "mov word ptr [ecx + 0x24], ax", "0x100a1bed"], ["0x100b4f21", "lea eax, [ebp - 0x28]", "0x100a1bf1"], ["0x100b4f24", "push eax", "0x100a1bf4"]]}, {"orig": [["0x100b4f25", "mov ecx, edi"]], "recomp": [["0x100a1bf5", "mov ecx, esi"]]}, {"both": [["0x100b4f27", "mov dword ptr [ebp - 0x28], MxEndActionNotificationParam::`vftable' (VTABLE)", "0x100a1bf7"]]}, {"orig": [["0x100b4f2e", "call dword ptr [esi + 0x34]"]], "recomp": [["0x100a1bfe", "call dword ptr [ebx + 0x34]"]]}, {"both": [["0x100b4f31", "mov byte ptr [ebp - 4], 0", "0x100a1c01"], ["0x100b4f35", "call <OFFSET10>", "0x100a1c05"], ["0x100b4f3a", "mov ecx, dword ptr [ebp - 0x10]", "0x100a1c0a"], ["0x100b4f3d", "mov eax, 1", "0x100a1c0d"], ["0x100b4f42", "mov dword ptr [ecx + 0x1c], 0", "0x100a1c12"], ["0x100b4f49", "mov cl, byte ptr [ecx + 8]", "0x100a1c19"], ["0x100b4f4c", "shl eax, cl", "0x100a1c1c"], ["0x100b4f4e", "mov ecx, dword ptr [ebp - 0x10]", "0x100a1c1e"], ["0x100b4f51", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a1c21"], ["0x100b4f58", "mov dword ptr [ecx + 8], 0", "0x100a1c28"]]}]]]}, {"address": "0x100b4fc0", "recomp": "0x100a1c90", "name": "MxPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x100b5120", "recomp": "0x100a1df0", "name": "MxPresenter::SendToCompositePresenter", "matching": 1.0, "diff": []}, {"address": "0x100b5200", "recomp": "0x100a1ed0", "name": "MxPresenter::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100b52d0", "recomp": "0x100a1fa0", "name": "MxPresenter::Enable", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b52d0,21 +0x100a1fa0,21 @@", [{"both": [["0x100b52d0", "push esi", "0x100a1fa0"], ["0x100b52d1", "mov esi, ecx", "0x100a1fa1"], ["0x100b52d3", "cmp dword ptr [ecx + 0x1c], 0", "0x100a1fa3"], ["0x100b52d7", "je 0x28", "0x100a1fa7"], ["0x100b52d9", "call MxPresenter::IsEnabled (FUNCTION)", "0x100a1fa9"], ["0x100b52de", "mov dl, byte ptr [esp + 8]", "0x100a1fae"], ["0x100b52e2", "cmp al, dl", "0x100a1fb2"], ["0x100b52e4", "je 0x1b", "0x100a1fb4"]]}, {"orig": [["0x100b52e6", "mov ecx, dword ptr [esi + 0x1c]"], ["0x100b52e9", "mov eax, dword ptr [ecx + 0x30]"], ["0x100b52ec", "add ecx, 0x30"]], "recomp": [["0x100a1fb6", "mov eax, dword ptr [esi + 0x1c]"], ["0x100a1fb9", "mov ecx, dword ptr [eax + 0x30]"], ["0x100a1fbc", "add eax, 0x30"]]}, {"both": [["0x100b52ef", "test dl, dl", "0x100a1fbf"], ["0x100b52f1", "je 0x9", "0x100a1fc1"]]}, {"orig": [["0x100b52f3", "or eax, 0x20"]], "recomp": [["0x100a1fc3", "or ecx, 0x20"]]}, {"both": [["0x100b52f6", "pop esi", "0x100a1fc6"]]}, {"orig": [["0x100b52f7", "mov dword ptr [ecx], eax"]], "recomp": [["0x100a1fc7", "mov dword ptr [eax], ecx"]]}, {"both": [["0x100b52f9", "ret 4", "0x100a1fc9"]]}, {"orig": [["0x100b52fc", "and eax, 0xffffffdf"], ["0x100b52ff", "mov dword ptr [ecx], eax"]], "recomp": [["0x100a1fcc", "and ecx, 0xffffffdf"], ["0x100a1fcf", "mov dword ptr [eax], ecx"]]}, {"both": [["0x100b5301", "pop esi", "0x100a1fd1"], ["0x100b5302", "ret 4", "0x100a1fd2"]]}]]]}, {"address": "0x100b5310", "recomp": "0x100a1fe0", "name": "PresenterNameDispatch", "matching": 1.0, "diff": []}, {"address": "0x100b5410", "recomp": "0x100a20e0", "name": "MxPresenter::CreateEntity", "matching": 1.0, "diff": []}, {"address": "0x100b54c0", "recomp": "0x100a2190", "name": "MxPresenter::IsEnabled", "matching": 1.0, "diff": []}, {"address": "0x100b54e0", "recomp": "0x100a21b0", "name": "MxMediaPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100b54f0", "recomp": "0x100a21c0", "name": "MxMediaPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b5650", "recomp": "0x100a24a0", "name": "MxMediaPresenter::CurrentChunk", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b5650,30 +0x100a24a0,30 @@", [{"both": [["0x100b5650", "push esi", "0x100a24a0"], ["0x100b5651", "push edi", "0x100a24a1"]]}, {"orig": [["0x100b5652", "mov edi, ecx"], ["0x100b5654", "xor esi, esi"], ["0x100b5656", "mov ecx, dword ptr [edi + 0x40]"]], "recomp": [["0x100a24a2", "mov esi, ecx"], ["0x100a24a4", "xor edi, edi"], ["0x100a24a6", "mov ecx, dword ptr [esi + 0x40]"]]}, {"both": [["0x100b5659", "test ecx, ecx", "0x100a24a9"], ["0x100b565b", "je 0x3f", "0x100a24ab"], ["0x100b565d", "call MxDSSubscriber::PeekData (FUNCTION)", "0x100a24ad"]]}, {"orig": [["0x100b5662", "mov esi, eax"], ["0x100b5664", "test esi, esi"]], "recomp": [["0x100a24b2", "mov edi, eax"], ["0x100a24b4", "test edi, edi"]]}, {"both": [["0x100b5666", "je 0x34", "0x100a24b6"]]}, {"orig": [["0x100b5668", "test byte ptr [esi + 8], 4"]], "recomp": [["0x100a24b8", "test byte ptr [edi + 8], 4"]]}, {"both": [["0x100b566c", "je 0x2e", "0x100a24bc"]]}, {"orig": [["0x100b566e", "mov eax, dword ptr [edi + 0x1c]"]], "recomp": [["0x100a24be", "mov eax, dword ptr [esi + 0x1c]"]]}, {"both": [["0x100b5671", "or dword ptr [eax + 0x30], 0x40", "0x100a24c1"]]}, {"orig": [["0x100b5675", "mov ecx, dword ptr [edi + 0x40]"]], "recomp": [["0x100a24c5", "mov ecx, dword ptr [esi + 0x40]"]]}, {"both": [["0x100b5678", "call MxDSSubscriber::PopData (FUNCTION)", "0x100a24c8"]]}, {"orig": [["0x100b567d", "push esi"], ["0x100b567e", "mov ecx, dword ptr [edi + 0x40]"], ["0x100b5681", "xor esi, esi"]], "recomp": [["0x100a24cd", "push edi"], ["0x100a24ce", "mov ecx, dword ptr [esi + 0x40]"], ["0x100a24d1", "xor edi, edi"]]}, {"both": [["0x100b5683", "call MxDSSubscriber::FreeDataChunk (FUNCTION)", "0x100a24d3"], ["0x100b5688", "mov eax, 1", "0x100a24d8"]]}, {"orig": [["0x100b568d", "mov cl, byte ptr [edi + 8]"]], "recomp": [["0x100a24dd", "mov cl, byte ptr [esi + 8]"]]}, {"both": [["0x100b5690", "shl eax, cl", "0x100a24e0"]]}, {"orig": [["0x100b5692", "mov dword ptr [edi + 8], 6"], ["0x100b5699", "or dword ptr [edi + 0xc], eax"], ["0x100b569c", "mov eax, esi"]], "recomp": [["0x100a24e2", "mov dword ptr [esi + 8], 6"], ["0x100a24e9", "or dword ptr [esi + 0xc], eax"], ["0x100a24ec", "mov eax, edi"]]}, {"both": [["0x100b569e", "pop edi", "0x100a24ee"], ["0x100b569f", "pop esi", "0x100a24ef"], ["0x100b56a0", "ret ", "0x100a24f0"]]}]]]}, {"address": "0x100b56b0", "recomp": "0x100a2500", "name": "MxMediaPresenter::NextChunk", "matching": 1.0, "diff": []}, {"address": "0x100b5700", "recomp": "0x100a2550", "name": "MxMediaPresenter::StartAction", "matching": 0.7435897435897436, "diff": [["@@ -0x100b5706,100 +0x100a2556,100 @@", [{"both": [["0x100b5706", "push ebp", "0x100a2556"], ["0x100b5707", "mov ebp, esp", "0x100a2557"], ["0x100b5709", "push -1", "0x100a2559"], ["0x100b570b", "push <OFFSET1>", "0x100a255b"], ["0x100b5710", "push eax", "0x100a2560"], ["0x100b5711", "mov dword ptr fs:[0], esp", "0x100a2561"], ["0x100b5718", "sub esp, 0x10", "0x100a2568"], ["0x100b571b", "mov dword ptr [ebp - 0x18], 0xffffffff", "0x100a256b"], ["0x100b5722", "push ebx", "0x100a2572"], ["0x100b5723", "push esi", "0x100a2573"]]}, {"orig": [], "recomp": [["0x100a2574", "lea eax, [ecx + 0x20]"]]}, {"both": [["0x100b5724", "push edi", "0x100a2577"]]}, {"orig": [["0x100b5725", "xor esi, esi"], ["0x100b5727", "lea eax, [ecx + 0x20]"], ["0x100b572a", "mov edi, ecx"]], "recomp": [["0x100a2578", "mov esi, ecx"]]}, {"both": [["0x100b572c", "push eax", "0x100a257a"], ["0x100b572d", "lea ecx, [ebp - 0x1c]", "0x100a257b"], ["0x100b5730", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100a257e"], ["0x100b5735", "mov ecx, dword ptr [ebp + 0xc]", "0x100a2583"], ["0x100b5738", "mov eax, dword ptr [ebp + 8]", "0x100a2586"]]}, {"orig": [], "recomp": [["0x100a2589", "mov dword ptr [ebp - 4], 0"]]}, {"both": [["0x100b573b", "push ecx", "0x100a2590"]]}, {"orig": [["0x100b573c", "mov dword ptr [ebp - 4], esi"]], "recomp": []}, {"both": [["0x100b573f", "push eax", "0x100a2591"]]}, {"orig": [["0x100b5740", "mov ecx, edi"]], "recomp": [["0x100a2592", "mov ecx, esi"]]}, {"both": [["0x100b5742", "call MxPresenter::StartAction (FUNCTION)", "0x100a2594"], ["0x100b5747", "test eax, eax", "0x100a2599"]]}, {"orig": [["0x100b5749", "jne 0x17a"], ["0x100b574f", "mov eax, dword ptr [edi + 0x1c]"], ["0x100b5752", "test byte ptr [eax + 0x30], 1"], ["0x100b5756", "je 0x105"]], "recomp": [["0x100a259b", "jne 0x188"], ["0x100a25a1", "mov eax, dword ptr [esi + 0x1c]"], ["0x100a25a4", "mov ebx, 1"], ["0x100a25a9", "test dword ptr [eax + 0x30], ebx"], ["0x100a25ac", "je 0x10f"]]}, {"both": [["0x100b575c", "push 0x18", "0x100a25b2"], ["0x100b575e", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a25b4"], ["0x100b5763", "mov dword ptr [ebp - 0x10], eax", "0x100a25b9"], ["0x100b5766", "add esp, 4", "0x100a25bc"]]}, {"orig": [["0x100b5769", "mov byte ptr [ebp - 4], 1"], ["0x100b576d", "mov ebx, eax"], ["0x100b576f", "test ebx, ebx"], ["0x100b5771", "je 0x5c"], ["0x100b5773", "mov ecx, ebx"]], "recomp": [["0x100a25bf", "mov edi, eax"], ["0x100a25c1", "mov byte ptr [ebp - 4], bl"], ["0x100a25c4", "test edi, edi"], ["0x100a25c6", "je 0x67"], ["0x100a25c8", "mov ecx, edi"]]}, {"both": [["0x100b5775", "call MxCore::MxCore (FUNCTION)", "0x100a25ca"], ["0x100b577a", "mov byte ptr [ebp - 4], 2", "0x100a25cf"], ["0x100b577e", "mov byte ptr [ebp - 4], 3", "0x100a25d3"], ["0x100b5782", "mov byte ptr [ebp - 4], 4", "0x100a25d7"]]}, {"orig": [["0x100b5786", "mov dword ptr [ebx], MxCollection<MxStreamChunk *>::`vftable' (VTABLE)"], ["0x100b578c", "mov dword ptr [ebx + 8], esi"], ["0x100b578f", "mov dword ptr [ebx + 0xc], MxCollection<MxStreamChunk *>::Destroy (FUNCTION)"], ["0x100b5796", "mov eax, ebx"], ["0x100b5798", "mov dword ptr [ebx], MxList<MxStreamChunk *>::`vftable' (VTABLE)"], ["0x100b579e", "mov byte ptr [ebp - 4], 1"], ["0x100b57a2", "mov dword ptr [ebx + 0x14], esi"], ["0x100b57a5", "mov dword ptr [ebx + 0x10], esi"], ["0x100b57a8", "mov dword ptr [ebx], MxStreamChunkList::`vftable' (VTABLE)"], ["0x100b57ae", "mov dword ptr [ebx + 0xc], MxStreamChunkList::Destroy (FUNCTION)"]], "recomp": [["0x100a25db", "mov dword ptr [edi], MxCollection<MxStreamChunk *>::`vftable' (VTABLE)"], ["0x100a25e1", "mov dword ptr [edi + 8], 0"], ["0x100a25e8", "mov dword ptr [edi + 0xc], MxCollection<MxStreamChunk *>::Destroy (FUNCTION)"], ["0x100a25ef", "mov eax, edi"], ["0x100a25f1", "mov dword ptr [edi], MxList<MxStreamChunk *>::`vftable' (VTABLE)"], ["0x100a25f7", "mov dword ptr [edi + 0x14], 0"], ["0x100a25fe", "mov dword ptr [edi + 0x10], 0"], ["0x100a2605", "mov dword ptr [edi], MxStreamChunkList::`vftable' (VTABLE)"], ["0x100a260b", "mov byte ptr [ebp - 4], bl"], ["0x100a260e", "mov dword ptr [edi + 0xc], MxStreamChunkList::Destroy (FUNCTION)"]]}, {"both": [["0x100b57b5", "jmp 0x1a", "0x100a2615"], ["0x100b57b7", "mov ecx, dword ptr [ebp - 0x10]", "0x100a2617"], ["0x100b57ba", "jmp MxCore::~MxCore (FUNCTION)", "0x100a261a"], ["0x100b57bf", "mov ecx, dword ptr [ebp - 0x10]", "0x100a261f"], ["0x100b57c2", "jmp MxCollection<MxStreamChunk *>::~MxCollection<MxStreamChunk *> (FUNCTION)", "0x100a2622"], ["0x100b57c7", "mov ecx, dword ptr [ebp - 0x10]", "0x100a2627"], ["0x100b57ca", "jmp MxList<MxStreamChunk *>::~MxList<MxStreamChunk *> (FUNCTION)", "0x100a262a"], ["0x100b57cf", "xor eax, eax", "0x100a262f"], ["0x100b57d1", "mov byte ptr [ebp - 4], 0", "0x100a2631"], ["0x100b57d5", "push 0x10", "0x100a2635"]]}, {"orig": [["0x100b57d7", "mov dword ptr [edi + 0x44], eax"]], "recomp": [["0x100a2637", "mov dword ptr [esi + 0x44], eax"]]}, {"both": [["0x100b57da", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a263a"], ["0x100b57df", "mov dword ptr [ebp - 0x14], eax", "0x100a263f"], ["0x100b57e2", "add esp, 4", "0x100a2642"], ["0x100b57e5", "mov byte ptr [ebp - 4], 5", "0x100a2645"]]}, {"orig": [["0x100b57e9", "mov esi, eax"], ["0x100b57eb", "test esi, esi"]], "recomp": [["0x100a2649", "mov ebx, eax"], ["0x100a264b", "test ebx, ebx"]]}, {"both": [["0x100b57ed", "je 0x40", "0x100a264d"]]}, {"orig": [["0x100b57ef", "mov ebx, dword ptr [edi + 0x44]"], ["0x100b57f2", "mov ecx, esi"]], "recomp": [["0x100a264f", "mov edi, dword ptr [esi + 0x44]"], ["0x100a2652", "mov ecx, ebx"]]}, {"both": [["0x100b57f4", "call MxCore::MxCore (FUNCTION)", "0x100a2654"], ["0x100b57f9", "mov byte ptr [ebp - 4], 6", "0x100a2659"]]}, {"orig": [["0x100b57fd", "mov eax, esi"], ["0x100b57ff", "mov dword ptr [esi], MxListCursor<MxStreamChunk *>::`vftable' (VTABLE)"]], "recomp": [["0x100a265d", "mov eax, ebx"], ["0x100a265f", "mov dword ptr [ebx], MxListCursor<MxStreamChunk *>::`vftable' (VTABLE)"]]}, {"both": [["0x100b5805", "mov byte ptr [ebp - 4], 7", "0x100a2665"], ["0x100b5809", "mov byte ptr [ebp - 4], 5", "0x100a2669"]]}, {"orig": [["0x100b580d", "mov dword ptr [esi + 8], ebx"], ["0x100b5810", "mov dword ptr [esi + 0xc], 0"], ["0x100b5817", "mov dword ptr [esi], MxStreamChunkListCursor::`vftable' (VTABLE)"]], "recomp": [["0x100a266d", "mov dword ptr [ebx + 8], edi"], ["0x100a2670", "mov dword ptr [ebx + 0xc], 0"], ["0x100a2677", "mov dword ptr [ebx], MxStreamChunkListCursor::`vftable' (VTABLE)"]]}, {"both": [["0x100b581d", "jmp 0x12", "0x100a267d"], ["0x100b581f", "mov ecx, dword ptr [ebp - 0x14]", "0x100a267f"], ["0x100b5822", "jmp MxCore::~MxCore (FUNCTION)", "0x100a2682"], ["0x100b5827", "mov ecx, dword ptr [ebp - 0x14]", "0x100a2687"], ["0x100b582a", "jmp MxListCursor<MxStreamChunk *>::~MxListCursor<MxStreamChunk *> (FUNCTION)", "0x100a268a"], ["0x100b582f", "xor eax, eax", "0x100a268f"], ["0x100b5831", "mov byte ptr [ebp - 4], 0", "0x100a2691"]]}, {"orig": [["0x100b5835", "cmp dword ptr [edi + 0x44], 0"], ["0x100b5839", "mov dword ptr [edi + 0x48], eax"]], "recomp": [["0x100a2695", "cmp dword ptr [esi + 0x44], 0"], ["0x100a2699", "mov dword ptr [esi + 0x48], eax"]]}, {"both": [["0x100b583c", "jne 0x23", "0x100a269c"], ["0x100b583e", "test eax, eax", "0x100a269e"], ["0x100b5840", "jne 0x1f", "0x100a26a0"], ["0x100b5842", "jmp 0x82", "0x100a26a2"], ["0x100b5847", "mov eax, dword ptr [ebp - 0x14]", "0x100a26a7"], ["0x100b584a", "push eax", "0x100a26aa"], ["0x100b584b", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a26ab"], ["0x100b5850", "add esp, 4", "0x100a26b0"], ["0x100b5853", "ret ", "0x100a26b3"], ["0x100b5854", "mov eax, dword ptr [ebp - 0x10]", "0x100a26b4"]]}]], ["@@ -0x100b5858,28 +0x100a26b8,28 @@", [{"both": [["0x100b5858", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a26b8"], ["0x100b585d", "add esp, 4", "0x100a26bd"], ["0x100b5860", "ret ", "0x100a26c0"], ["0x100b5861", "cmp dword ptr [ebp + 8], 0", "0x100a26c1"], ["0x100b5865", "je 0x5b", "0x100a26c5"], ["0x100b5867", "push 0x4c", "0x100a26c7"], ["0x100b5869", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a26c9"], ["0x100b586e", "mov dword ptr [ebp - 0x10], eax", "0x100a26ce"], ["0x100b5871", "add esp, 4", "0x100a26d1"], ["0x100b5874", "mov byte ptr [ebp - 4], 8", "0x100a26d4"]]}, {"orig": [["0x100b5878", "mov esi, eax"]], "recomp": [["0x100a26d8", "mov edi, eax"]]}, {"both": [["0x100b587a", "mov eax, 0", "0x100a26da"]]}, {"orig": [["0x100b587f", "test esi, esi"]], "recomp": [["0x100a26df", "test edi, edi"]]}, {"both": [["0x100b5881", "je 0x7", "0x100a26e1"]]}, {"orig": [["0x100b5883", "mov ecx, esi"]], "recomp": [["0x100a26e3", "mov ecx, edi"]]}, {"both": [["0x100b5885", "call MxDSSubscriber::MxDSSubscriber (FUNCTION)", "0x100a26e5"], ["0x100b588a", "mov byte ptr [ebp - 4], 0", "0x100a26ea"]]}, {"orig": [["0x100b588e", "mov dword ptr [edi + 0x40], eax"]], "recomp": [["0x100a26ee", "mov dword ptr [esi + 0x40], eax"]]}, {"both": [["0x100b5891", "test eax, eax", "0x100a26f1"], ["0x100b5893", "je 0x34", "0x100a26f3"], ["0x100b5895", "mov ecx, dword ptr [ebp + 0xc]", "0x100a26f5"], ["0x100b5898", "mov edx, dword ptr [ebp + 0xc]", "0x100a26f8"], ["0x100b589b", "mov cx, word ptr [ecx + 0x24]", "0x100a26fb"], ["0x100b589f", "mov ebx, dword ptr [edx + 0x1c]", "0x100a26ff"], ["0x100b58a2", "push ecx", "0x100a2702"], ["0x100b58a3", "push ebx", "0x100a2703"], ["0x100b58a4", "mov ecx, dword ptr [ebp + 8]", "0x100a2704"], ["0x100b58a7", "push ecx", "0x100a2707"]]}]]]}, {"address": "0x100b5900", "recomp": "0x100a2760", "name": "MxStreamChunkList::Compare", "matching": 0.7, "diff": [["@@ -0x100b5900,10 +0x100a2760,10 @@", [{"orig": [], "recomp": [["0x100a2760", "mov ecx, dword ptr [esp + 8]"]]}, {"both": [["0x100b5900", "mov eax, dword ptr [esp + 4]", "0x100a2764"]]}, {"orig": [["0x100b5904", "mov ecx, dword ptr [esp + 8]"], ["0x100b5908", "cmp eax, ecx"]], "recomp": [["0x100a2768", "cmp ecx, eax"]]}, {"both": [["0x100b590a", "jne 0x5", "0x100a276a"], ["0x100b590c", "xor al, al", "0x100a276c"], ["0x100b590e", "ret 8", "0x100a276e"], ["0x100b5911", "mov al, 1", "0x100a2771"]]}, {"orig": [["0x100b5913", "jae 0x2"]], "recomp": [["0x100a2773", "jbe 0x2"]]}, {"both": [["0x100b5915", "mov al, 0xff", "0x100a2775"], ["0x100b5917", "ret 8", "0x100a2777"]]}]]]}, {"address": "0x100b5920", "recomp": "0x100a2780", "name": "MxStreamChunkList::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b5930", "recomp": "0x100a2790", "name": "MxCollection<MxStreamChunk *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100b5940", "recomp": "0x100a27a0", "name": "MxCollection<MxStreamChunk *>::~MxCollection<MxStreamChunk *>", "matching": 1.0, "diff": []}, {"address": "0x100b5990", "recomp": "0x100a27f0", "name": "MxCollection<MxStreamChunk *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b59a0", "recomp": "0x100a2800", "name": "MxList<MxStreamChunk *>::~MxList<MxStreamChunk *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b59a9,33 +0x100a2809,33 @@", [{"both": [["0x100b59a9", "push -1", "0x100a2809"], ["0x100b59ab", "push <OFFSET1>", "0x100a280b"], ["0x100b59b0", "push eax", "0x100a2810"], ["0x100b59b1", "mov dword ptr fs:[0], esp", "0x100a2811"], ["0x100b59b8", "mov dword ptr [ecx], MxList<MxStreamChunk *>::`vftable' (VTABLE)", "0x100a2818"], ["0x100b59be", "sub esp, 4", "0x100a281e"], ["0x100b59c1", "mov dword ptr [ebp - 0x10], ecx", "0x100a2821"], ["0x100b59c4", "mov dword ptr [ebp - 4], 0", "0x100a2824"], ["0x100b59cb", "push esi", "0x100a282b"], ["0x100b59cc", "push edi", "0x100a282c"]]}, {"orig": [["0x100b59cd", "mov esi, dword ptr [ecx + 0x10]"], ["0x100b59d0", "test esi, esi"]], "recomp": [["0x100a282d", "mov edi, dword ptr [ecx + 0x10]"], ["0x100a2830", "test edi, edi"]]}, {"both": [["0x100b59d2", "je 0x1c", "0x100a2832"]]}, {"orig": [["0x100b59d4", "mov edi, dword ptr [esi + 8]"], ["0x100b59d7", "mov eax, dword ptr [esi]"]], "recomp": [["0x100a2834", "mov esi, dword ptr [edi + 8]"], ["0x100a2837", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100b59d9", "push eax", "0x100a2839"], ["0x100b59da", "mov ecx, dword ptr [ebp - 0x10]", "0x100a283a"], ["0x100b59dd", "call dword ptr [ecx + 0xc]", "0x100a283d"], ["0x100b59e0", "add esp, 4", "0x100a2840"]]}, {"orig": [["0x100b59e3", "push esi"]], "recomp": [["0x100a2843", "push edi"]]}, {"both": [["0x100b59e4", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a2844"], ["0x100b59e9", "add esp, 4", "0x100a2849"]]}, {"orig": [["0x100b59ec", "mov esi, edi"]], "recomp": [["0x100a284c", "mov edi, esi"]]}, {"both": [["0x100b59ee", "jmp -0x20", "0x100a284e"], ["0x100b59f0", "xor eax, eax", "0x100a2850"], ["0x100b59f2", "mov ecx, dword ptr [ebp - 0x10]", "0x100a2852"], ["0x100b59f5", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a2855"], ["0x100b59fc", "mov dword ptr [ecx + 8], eax", "0x100a285c"], ["0x100b59ff", "mov dword ptr [ecx + 0x14], eax", "0x100a285f"], ["0x100b5a02", "mov dword ptr [ecx + 0x10], eax", "0x100a2862"], ["0x100b5a05", "call <OFFSET4>", "0x100a2865"], ["0x100b5a0a", "mov eax, dword ptr [ebp - 0xc]", "0x100a286a"], ["0x100b5a0d", "pop edi", "0x100a286d"]]}]]]}, {"address": "0x100b5a30", "recomp": "0x100a2890", "name": "MxStreamChunkList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b5aa0", "recomp": "0x100a2900", "name": "MxCollection<MxStreamChunk *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b5b10", "recomp": "0x100a2970", "name": "MxList<MxStreamChunk *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b5b19,33 +0x100a2979,33 @@", [{"both": [["0x100b5b19", "push -1", "0x100a2979"], ["0x100b5b1b", "push <OFFSET1>", "0x100a297b"], ["0x100b5b20", "push eax", "0x100a2980"], ["0x100b5b21", "mov dword ptr fs:[0], esp", "0x100a2981"], ["0x100b5b28", "mov dword ptr [ecx], MxList<MxStreamChunk *>::`vftable' (VTABLE)", "0x100a2988"], ["0x100b5b2e", "sub esp, 4", "0x100a298e"], ["0x100b5b31", "mov dword ptr [ebp - 0x10], ecx", "0x100a2991"], ["0x100b5b34", "mov dword ptr [ebp - 4], 0", "0x100a2994"], ["0x100b5b3b", "push esi", "0x100a299b"], ["0x100b5b3c", "push edi", "0x100a299c"]]}, {"orig": [["0x100b5b3d", "mov esi, dword ptr [ecx + 0x10]"], ["0x100b5b40", "test esi, esi"]], "recomp": [["0x100a299d", "mov edi, dword ptr [ecx + 0x10]"], ["0x100a29a0", "test edi, edi"]]}, {"both": [["0x100b5b42", "je 0x1c", "0x100a29a2"]]}, {"orig": [["0x100b5b44", "mov edi, dword ptr [esi + 8]"], ["0x100b5b47", "mov eax, dword ptr [esi]"]], "recomp": [["0x100a29a4", "mov esi, dword ptr [edi + 8]"], ["0x100a29a7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100b5b49", "push eax", "0x100a29a9"], ["0x100b5b4a", "mov ecx, dword ptr [ebp - 0x10]", "0x100a29aa"], ["0x100b5b4d", "call dword ptr [ecx + 0xc]", "0x100a29ad"], ["0x100b5b50", "add esp, 4", "0x100a29b0"]]}, {"orig": [["0x100b5b53", "push esi"]], "recomp": [["0x100a29b3", "push edi"]]}, {"both": [["0x100b5b54", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a29b4"], ["0x100b5b59", "add esp, 4", "0x100a29b9"]]}, {"orig": [["0x100b5b5c", "mov esi, edi"]], "recomp": [["0x100a29bc", "mov edi, esi"]]}, {"both": [["0x100b5b5e", "jmp -0x20", "0x100a29be"], ["0x100b5b60", "xor eax, eax", "0x100a29c0"], ["0x100b5b62", "mov ecx, dword ptr [ebp - 0x10]", "0x100a29c2"], ["0x100b5b65", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a29c5"], ["0x100b5b6c", "mov dword ptr [ecx + 8], eax", "0x100a29cc"], ["0x100b5b6f", "mov dword ptr [ecx + 0x14], eax", "0x100a29cf"], ["0x100b5b72", "mov dword ptr [ecx + 0x10], eax", "0x100a29d2"], ["0x100b5b75", "call <OFFSET4>", "0x100a29d5"], ["0x100b5b7a", "test byte ptr [ebp + 8], 1", "0x100a29da"], ["0x100b5b7e", "je 0xc", "0x100a29de"]]}]]]}, {"address": "0x100b5bc0", "recomp": "0x100a2a20", "name": "MxMediaPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x100b5d10", "recomp": "0x100a2b70", "name": "MxMediaPresenter::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100b5d90", "recomp": "0x100a2bf0", "name": "MxMediaPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b5e10", "recomp": "0x100a2c70", "name": "MxMediaPresenter::RepeatingTickle", "matching": 0.8771929824561403, "diff": [["@@ -0x100b5e10,20 +0x100a2c70,20 @@", [{"both": [["0x100b5e10", "push ebx", "0x100a2c70"], ["0x100b5e11", "push esi", "0x100a2c71"], ["0x100b5e12", "push edi", "0x100a2c72"], ["0x100b5e13", "mov esi, ecx", "0x100a2c73"], ["0x100b5e15", "push ebp", "0x100a2c75"], ["0x100b5e16", "call MxPresenter::IsEnabled (FUNCTION)", "0x100a2c76"], ["0x100b5e1b", "test al, al", "0x100a2c7b"]]}, {"orig": [["0x100b5e1d", "je 0xc1"]], "recomp": [["0x100a2c7d", "je 0xc3"]]}, {"both": [["0x100b5e23", "cmp dword ptr [esi + 0x4c], 0", "0x100a2c83"]]}, {"orig": [["0x100b5e27", "jne 0xb7"]], "recomp": [["0x100a2c87", "jne 0xb9"]]}, {"both": [["0x100b5e2d", "mov ecx, dword ptr [esi + 0x48]", "0x100a2c8d"], ["0x100b5e30", "test ecx, ecx", "0x100a2c90"], ["0x100b5e32", "je 0x51", "0x100a2c92"], ["0x100b5e34", "mov eax, dword ptr [ecx + 0xc]", "0x100a2c94"], ["0x100b5e37", "test eax, eax", "0x100a2c97"], ["0x100b5e39", "jne 0xb", "0x100a2c99"], ["0x100b5e3b", "mov eax, dword ptr [ecx + 8]", "0x100a2c9b"], ["0x100b5e3e", "mov edx, dword ptr [eax + 0x10]", "0x100a2c9e"], ["0x100b5e41", "mov dword ptr [ecx + 0xc], edx", "0x100a2ca1"], ["0x100b5e44", "jmp 0x6", "0x100a2ca4"]]}]], ["@@ -0x100b5e6b,30 +0x100a2ccb,31 @@", [{"both": [["0x100b5e6b", "mov edx, dword ptr [eax + 0x10]", "0x100a2ccb"], ["0x100b5e6e", "mov dword ptr [ecx + 0xc], edx", "0x100a2cce"], ["0x100b5e71", "jmp 0x6", "0x100a2cd1"], ["0x100b5e73", "mov eax, dword ptr [eax + 8]", "0x100a2cd3"], ["0x100b5e76", "mov dword ptr [ecx + 0xc], eax", "0x100a2cd6"], ["0x100b5e79", "mov eax, dword ptr [ecx + 0xc]", "0x100a2cd9"], ["0x100b5e7c", "test eax, eax", "0x100a2cdc"], ["0x100b5e7e", "je 0x5", "0x100a2cde"], ["0x100b5e80", "mov eax, dword ptr [eax]", "0x100a2ce0"], ["0x100b5e82", "mov dword ptr [esi + 0x4c], eax", "0x100a2ce2"]]}, {"orig": [["0x100b5e85", "mov ebx, dword ptr [esi + 0x4c]"], ["0x100b5e88", "test ebx, ebx"], ["0x100b5e8a", "je 0x2c"], ["0x100b5e8c", "mov edi, dword ptr [esi + 0x1c]"], ["0x100b5e8f", "mov ecx, edi"], ["0x100b5e91", "mov eax, dword ptr [edi]"]], "recomp": [["0x100a2ce5", "mov eax, dword ptr [esi + 0x4c]"], ["0x100a2ce8", "test eax, eax"], ["0x100a2cea", "je 0x2e"], ["0x100a2cec", "mov edi, dword ptr [eax + 0x10]"], ["0x100a2cef", "mov ebx, dword ptr [esi + 0x1c]"], ["0x100a2cf2", "mov ecx, ebx"], ["0x100a2cf4", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x100b5e93", "call dword ptr [eax + 0x40]", "0x100a2cf6"], ["0x100b5e96", "cdq ", "0x100a2cf9"]]}, {"orig": [["0x100b5e97", "idiv dword ptr [edi + 0x3c]"], ["0x100b5e9a", "cmp edx, dword ptr [ebx + 0x10]"]], "recomp": [["0x100a2cfa", "idiv dword ptr [ebx + 0x3c]"], ["0x100a2cfd", "cmp edx, edi"]]}, {"both": [["0x100b5e9d", "jl 0x45", "0x100a2cff"], ["0x100b5e9f", "mov eax, 1", "0x100a2d01"], ["0x100b5ea4", "mov cl, byte ptr [esi + 8]", "0x100a2d06"], ["0x100b5ea7", "shl eax, cl", "0x100a2d09"], ["0x100b5ea9", "pop ebp", "0x100a2d0b"], ["0x100b5eaa", "or dword ptr [esi + 0xc], eax", "0x100a2d0c"], ["0x100b5ead", "mov dword ptr [esi + 8], 5", "0x100a2d0f"], ["0x100b5eb4", "pop edi", "0x100a2d16"], ["0x100b5eb5", "pop esi", "0x100a2d17"], ["0x100b5eb6", "pop ebx", "0x100a2d18"]]}]]]}, {"address": "0x100b5ef0", "recomp": "0x100a2d50", "name": "MxMediaPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x100b5f10", "recomp": "0x100a2d70", "name": "MxMediaPresenter::LoopChunk", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b5f28,31 +0x100a2d88,31 @@", [{"both": [["0x100b5f28", "sub esp, 8", "0x100a2d88"], ["0x100b5f2b", "mov dword ptr [ebp - 0x14], ecx", "0x100a2d8b"], ["0x100b5f2e", "push ebx", "0x100a2d8e"], ["0x100b5f2f", "push esi", "0x100a2d8f"], ["0x100b5f30", "push edi", "0x100a2d90"], ["0x100b5f31", "push 0x20", "0x100a2d91"], ["0x100b5f33", "xor ebx, ebx", "0x100a2d93"], ["0x100b5f35", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a2d95"], ["0x100b5f3a", "mov dword ptr [ebp - 0x10], eax", "0x100a2d9a"], ["0x100b5f3d", "add esp, 4", "0x100a2d9d"]]}, {"orig": [["0x100b5f40", "mov esi, eax"]], "recomp": [["0x100a2da0", "mov edi, eax"]]}, {"both": [["0x100b5f42", "mov dword ptr [ebp - 4], ebx", "0x100a2da2"]]}, {"orig": [["0x100b5f45", "test esi, esi"]], "recomp": [["0x100a2da5", "test edi, edi"]]}, {"both": [["0x100b5f47", "je 0x23", "0x100a2da7"]]}, {"orig": [["0x100b5f49", "mov ecx, esi"]], "recomp": [["0x100a2da9", "mov ecx, edi"]]}, {"both": [["0x100b5f4b", "call MxDSChunk::MxDSChunk (FUNCTION)", "0x100a2dab"], ["0x100b5f50", "mov byte ptr [ebp - 4], 1", "0x100a2db0"]]}, {"orig": [["0x100b5f54", "mov dword ptr [esi + 0x1c], ebx"]], "recomp": [["0x100a2db4", "mov dword ptr [edi + 0x1c], ebx"]]}, {"both": [["0x100b5f57", "mov byte ptr [ebp - 4], bl", "0x100a2db7"]]}, {"orig": [["0x100b5f5a", "mov ebx, esi"], ["0x100b5f5c", "mov dword ptr [esi], MxStreamChunk::`vftable' (VTABLE)"]], "recomp": [["0x100a2dba", "mov ebx, edi"], ["0x100a2dbc", "mov dword ptr [edi], MxStreamChunk::`vftable' (VTABLE)"]]}, {"both": [["0x100b5f62", "jmp 0xa", "0x100a2dc2"], ["0x100b5f64", "mov ecx, dword ptr [ebp - 0x10]", "0x100a2dc4"], ["0x100b5f67", "jmp MxDSChunk::~MxDSChunk (FUNCTION)", "0x100a2dc7"], ["0x100b5f6c", "xor ebx, ebx", "0x100a2dcc"], ["0x100b5f6e", "mov esi, dword ptr [ebp + 8]", "0x100a2dce"], ["0x100b5f71", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a2dd1"], ["0x100b5f78", "mov eax, dword ptr [esi + 0x14]", "0x100a2dd8"], ["0x100b5f7b", "push eax", "0x100a2ddb"], ["0x100b5f7c", "mov dword ptr [ebx + 0x14], eax", "0x100a2ddc"], ["0x100b5f7f", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a2ddf"]]}]]]}, {"address": "0x100b6030", "recomp": "0x100a2e90", "name": "MxMediaPresenter::Enable", "matching": 1.0, "diff": []}, {"address": "0x100b60b0", "recomp": "0x1009f580", "name": "MxCompositePresenter::MxCompositePresenter", "matching": 1.0, "diff": []}, {"address": "0x100b61a0", "recomp": "0x1009f670", "name": "list<MxPresenter *,allocator<MxPresenter *> >::~list<MxPresenter *,allocator<MxPresenter *> >", "matching": 1.0, "diff": []}, {"address": "0x100b6210", "recomp": "0x1009f6e0", "name": "MxCompositePresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b6220", "recomp": "0x1009f6f0", "name": "MxCompositePresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b62d0", "recomp": "0x1009f7a0", "name": "MxCompositePresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b62f0", "recomp": "0x1009f7c0", "name": "MxCompositePresenterList::~MxCompositePresenterList", "matching": 1.0, "diff": []}, {"address": "0x100b6340", "recomp": "0x1009f810", "name": "List<MxPresenter *>::~List<MxPresenter *>", "matching": 1.0, "diff": []}, {"address": "0x100b6390", "recomp": "0x1009f860", "name": "MxCompositePresenter::~MxCompositePresenter", "matching": 1.0, "diff": []}, {"address": "0x100b6410", "recomp": "0x1009f8e0", "name": "MxCompositePresenter::StartAction", "matching": 1.0, "diff": []}, {"address": "0x100b65e0", "recomp": "0x1009fab0", "name": "MxCompositePresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x100b6760", "recomp": "0x1009fc30", "name": "MxCompositePresenter::Notify", "matching": 1.0, "diff": []}, {"address": "0x100b67f0", "recomp": "0x1009fcc0", "name": "MxCompositePresenter::VTable0x58", "matching": 1.0, "diff": []}, {"address": "0x100b69b0", "recomp": "0x1009fe80", "name": "MxCompositePresenter::VTable0x5c", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b69bb,35 +0x1009fe8b,35 @@", [{"both": [["0x100b69bb", "push <OFFSET1>", "0x1009fe8b"], ["0x100b69c0", "push eax", "0x1009fe90"], ["0x100b69c1", "mov dword ptr fs:[0], esp", "0x1009fe91"], ["0x100b69c8", "sub esp, 0x18", "0x1009fe98"], ["0x100b69cb", "push ebx", "0x1009fe9b"], ["0x100b69cc", "push esi", "0x1009fe9c"], ["0x100b69cd", "push edi", "0x1009fe9d"], ["0x100b69ce", "mov esi, ecx", "0x1009fe9e"], ["0x100b69d0", "cmp dword ptr [ecx + 0x48], 0", "0x1009fea0"], ["0x100b69d4", "je 0x31", "0x1009fea4"]]}, {"orig": [["0x100b69d6", "mov ecx, dword ptr [ebp + 8]"], ["0x100b69d9", "mov edx, dword ptr [esi + 0x44]"], ["0x100b69dc", "mov edi, dword ptr [ecx + 8]"], ["0x100b69df", "mov eax, dword ptr [edx]"]], "recomp": [["0x1009fea6", "mov edx, dword ptr [ebp + 8]"], ["0x1009fea9", "mov ecx, dword ptr [esi + 0x44]"], ["0x1009feac", "mov edi, dword ptr [edx + 8]"], ["0x1009feaf", "mov eax, dword ptr [ecx]"]]}, {"both": [["0x100b69e1", "mov dword ptr [ebp - 0x10], eax", "0x1009feb1"]]}, {"orig": [["0x100b69e4", "cmp eax, edx"]], "recomp": [["0x1009feb4", "cmp eax, ecx"]]}, {"both": [["0x100b69e6", "je 0x11", "0x1009feb6"], ["0x100b69e8", "mov eax, dword ptr [ebp - 0x10]", "0x1009feb8"], ["0x100b69eb", "cmp dword ptr [eax + 8], edi", "0x1009febb"], ["0x100b69ee", "je 0x29", "0x1009febe"], ["0x100b69f0", "mov ebx, dword ptr [eax]", "0x1009fec0"], ["0x100b69f2", "mov dword ptr [ebp - 0x10], ebx", "0x1009fec2"]]}, {"orig": [["0x100b69f5", "cmp ebx, edx"]], "recomp": [["0x1009fec5", "cmp ebx, ecx"]]}, {"both": [["0x100b69f7", "jne -0x11", "0x1009fec7"]]}, {"orig": [["0x100b69f9", "push ecx"]], "recomp": [["0x1009fec9", "push edx"]]}, {"both": [["0x100b69fa", "push esi", "0x1009feca"], ["0x100b69fb", "call NotificationManager (FUNCTION)", "0x1009fecb"], ["0x100b6a00", "mov ecx, eax", "0x1009fed0"], ["0x100b6a02", "call MxNotificationManager::Send (FUNCTION)", "0x1009fed2"], ["0x100b6a07", "mov eax, dword ptr [ebp - 0xc]", "0x1009fed7"], ["0x100b6a0a", "pop edi", "0x1009feda"], ["0x100b6a0b", "mov dword ptr fs:[0], eax", "0x1009fedb"], ["0x100b6a11", "pop esi", "0x1009fee1"], ["0x100b6a12", "pop ebx", "0x1009fee2"], ["0x100b6a13", "mov esp, ebp", "0x1009fee3"]]}]]]}, {"address": "0x100b6b40", "recomp": "0x100a0010", "name": "MxCompositePresenter::VTable0x60", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b6b40,32 +0x100a0010,32 @@", [{"both": [["0x100b6b40", "sub esp, 4", "0x100a0010"], ["0x100b6b43", "mov edx, dword ptr [ecx + 0x44]", "0x100a0013"], ["0x100b6b46", "push esi", "0x100a0016"], ["0x100b6b47", "mov eax, dword ptr [edx]", "0x100a0017"], ["0x100b6b49", "mov dword ptr [esp + 4], eax", "0x100a0019"]]}, {"orig": [["0x100b6b4d", "cmp edx, eax"]], "recomp": [["0x100a001d", "cmp eax, edx"]]}, {"both": [["0x100b6b4f", "je 0x67", "0x100a001f"], ["0x100b6b51", "mov esi, dword ptr [esp + 0xc]", "0x100a0021"], ["0x100b6b55", "mov eax, dword ptr [esp + 4]", "0x100a0025"], ["0x100b6b59", "cmp dword ptr [eax + 8], esi", "0x100a0029"], ["0x100b6b5c", "je 0x11", "0x100a002c"], ["0x100b6b5e", "mov eax, dword ptr [eax]", "0x100a002e"], ["0x100b6b60", "mov dword ptr [esp + 4], eax", "0x100a0030"]]}, {"orig": [["0x100b6b64", "cmp edx, eax"]], "recomp": [["0x100a0034", "cmp eax, edx"]]}, {"both": [["0x100b6b66", "jne -0x13", "0x100a0036"], ["0x100b6b68", "pop esi", "0x100a0038"], ["0x100b6b69", "add esp, 4", "0x100a0039"], ["0x100b6b6c", "ret 4", "0x100a003c"], ["0x100b6b6f", "mov eax, dword ptr [esp + 4]", "0x100a003f"], ["0x100b6b73", "mov esi, dword ptr [eax]", "0x100a0043"], ["0x100b6b75", "mov dword ptr [esp + 4], esi", "0x100a0045"]]}, {"orig": [["0x100b6b79", "cmp edx, esi"]], "recomp": [["0x100a0049", "cmp esi, edx"]]}, {"both": [["0x100b6b7b", "jne 0x16", "0x100a004b"], ["0x100b6b7d", "mov eax, dword ptr [ecx + 0x3c]", "0x100a004d"], ["0x100b6b80", "test eax, eax", "0x100a0050"], ["0x100b6b82", "je 0x34", "0x100a0052"], ["0x100b6b84", "push ecx", "0x100a0054"], ["0x100b6b85", "mov edx, dword ptr [eax]", "0x100a0055"], ["0x100b6b87", "mov ecx, eax", "0x100a0057"], ["0x100b6b89", "call dword ptr [edx + 0x60]", "0x100a0059"], ["0x100b6b8c", "pop esi", "0x100a005c"], ["0x100b6b8d", "add esp, 4", "0x100a005d"]]}]]]}, {"address": "0x100b6bc0", "recomp": "0x100a0090", "name": "MxCompositePresenter::SetTickleState", "matching": 1.0, "diff": []}, {"address": "0x100b6c30", "recomp": "0x100a0100", "name": "MxCompositePresenter::Enable", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b6c30,21 +0x100a0100,21 @@", [{"both": [["0x100b6c30", "sub esp, 4", "0x100a0100"], ["0x100b6c33", "push ebx", "0x100a0103"], ["0x100b6c34", "push esi", "0x100a0104"], ["0x100b6c35", "mov esi, ecx", "0x100a0105"], ["0x100b6c37", "mov bl, byte ptr [esp + 0x10]", "0x100a0107"], ["0x100b6c3b", "push ebx", "0x100a010b"], ["0x100b6c3c", "call MxPresenter::Enable (FUNCTION)", "0x100a010c"], ["0x100b6c41", "mov eax, dword ptr [esi + 0x44]", "0x100a0111"], ["0x100b6c44", "mov ecx, dword ptr [eax]", "0x100a0114"], ["0x100b6c46", "mov dword ptr [esp + 8], ecx", "0x100a0116"]]}, {"orig": [["0x100b6c4a", "cmp eax, ecx"]], "recomp": [["0x100a011a", "cmp ecx, eax"]]}, {"both": [["0x100b6c4c", "je 0x1c", "0x100a011c"], ["0x100b6c4e", "mov eax, dword ptr [esp + 8]", "0x100a011e"], ["0x100b6c52", "push ebx", "0x100a0122"], ["0x100b6c53", "mov ecx, dword ptr [eax + 8]", "0x100a0123"], ["0x100b6c56", "mov eax, dword ptr [ecx]", "0x100a0126"], ["0x100b6c58", "call dword ptr [eax + 0x54]", "0x100a0128"], ["0x100b6c5b", "mov ecx, dword ptr [esp + 8]", "0x100a012b"], ["0x100b6c5f", "mov edx, dword ptr [ecx]", "0x100a012f"], ["0x100b6c61", "mov dword ptr [esp + 8], edx", "0x100a0131"], ["0x100b6c65", "cmp dword ptr [esi + 0x44], edx", "0x100a0135"]]}]]]}, {"address": "0x100b6c80", "recomp": "0x100a0150", "name": "MxCompositePresenter::HasTickleStatePassed", "matching": 1.0, "diff": []}, {"address": "0x100b6cd0", "recomp": "0x100a01a0", "name": "MxList<MxDSAction *>::DeleteEntry", "matching": 1.0, "diff": []}, {"address": "0x100b6d20", "recomp": "0x100a2f90", "name": "MxCriticalSection::MxCriticalSection", "matching": 1.0, "diff": []}, {"address": "0x100b6d60", "recomp": "0x100a2fd0", "name": "MxCriticalSection::~MxCriticalSection", "matching": 1.0, "diff": []}, {"address": "0x100b6d80", "recomp": "0x100a2ff0", "name": "MxCriticalSection::Enter", "matching": 1.0, "diff": []}, {"address": "0x100b6de0", "recomp": "0x100a3050", "name": "MxCriticalSection::Leave", "matching": 1.0, "diff": []}, {"address": "0x100b6e00", "recomp": "0x100a3070", "name": "MxCriticalSection::SetDoMutex", "matching": 1.0, "diff": []}, {"address": "0x100b6e10", "recomp": "0x100a3080", "name": "GetRectIntersection", "matching": 0.05714285714285714, "diff": [["@@ -0x100b6e10,110 +0x100a3080,135 @@", [{"orig": [["0x100b6e10", "mov ecx, dword ptr [esp + 0x14]"], ["0x100b6e14", "sub esp, 0x40"]], "recomp": [["0x100a3080", "mov eax, dword ptr [esp + 0x14]"], ["0x100a3084", "sub esp, 0x28"], ["0x100a3087", "mov ecx, dword ptr [esp + 0x40]"]]}, {"both": [["0x100b6e17", "push ebx", "0x100a308b"]]}, {"orig": [["0x100b6e18", "mov eax, dword ptr [ecx]"], ["0x100b6e1a", "mov edx, dword ptr [esp + 0x5c]"]], "recomp": []}, {"both": [["0x100b6e1e", "push esi", "0x100a308c"]]}, {"orig": [["0x100b6e1f", "mov dword ptr [esp + 8], eax"]], "recomp": []}, {"both": [["0x100b6e23", "push edi", "0x100a308d"], ["0x100b6e24", "push ebp", "0x100a308e"]]}, {"orig": [["0x100b6e25", "mov ecx, dword ptr [edx]"], ["0x100b6e27", "mov eax, dword ptr [esp + 0x54]"], ["0x100b6e2b", "mov edx, dword ptr [esp + 0x58]"]], "recomp": [["0x100a308f", "mov esi, dword ptr [eax]"], ["0x100a3091", "mov edi, dword ptr [ecx]"], ["0x100a3093", "mov eax, dword ptr [esp + 0x3c]"], ["0x100a3097", "mov ecx, dword ptr [esp + 0x40]"], ["0x100a309b", "lea edx, [esp + 0x18]"], ["0x100a309f", "mov dword ptr [esp + 0x18], eax"], ["0x100a30a3", "push edx"], ["0x100a30a4", "xor eax, eax"], ["0x100a30a6", "mov dword ptr [esp + 0x20], ecx"], ["0x100a30aa", "lea ecx, [esp + 0x14]"], ["0x100a30ae", "mov dword ptr [esp + 0x14], eax"], ["0x100a30b2", "mov dword ptr [esp + 0x18], eax"], ["0x100a30b6", "push ecx"], ["0x100a30b7", "lea ecx, [esp + 0x30]"], ["0x100a30bb", "call MxRect32::CopyFrom (FUNCTION)"], ["0x100a30c0", "mov ecx, dword ptr [esp + 0x54]"], ["0x100a30c4", "mov eax, dword ptr [esp + 0x58]"], ["0x100a30c8", "mov edx, dword ptr [ecx]"], ["0x100a30ca", "mov ecx, dword ptr [eax]"], ["0x100a30cc", "mov eax, dword ptr [esp + 0x44]"], ["0x100a30d0", "mov dword ptr [esp + 0x10], edx"], ["0x100a30d4", "dec eax"], ["0x100a30d5", "mov edx, dword ptr [esp + 0x5c]"], ["0x100a30d9", "mov dword ptr [esp + 0x20], eax"], ["0x100a30dd", "mov eax, dword ptr [esp + 0x48]"], ["0x100a30e1", "dec eax"], ["0x100a30e2", "mov edx, dword ptr [edx]"], ["0x100a30e4", "add edx, esi"], ["0x100a30e6", "mov dword ptr [esp + 0x24], eax"], ["0x100a30ea", "mov eax, dword ptr [esp + 0x60]"], ["0x100a30ee", "cmp dword ptr [esp + 0x30], esi"], ["0x100a30f2", "mov ebp, dword ptr [eax]"], ["0x100a30f4", "lea ebx, [ebp + edi]"], ["0x100a30f8", "jle 0xdc"], ["0x100a30fe", "cmp edx, dword ptr [esp + 0x28]"], ["0x100a3102", "jle 0xd2"], ["0x100a3108", "cmp dword ptr [esp + 0x34], edi"], ["0x100a310c", "jle 0xc8"], ["0x100a3112", "cmp ebx, dword ptr [esp + 0x2c]"], ["0x100a3116", "jle 0xbe"], ["0x100a311c", "mov eax, dword ptr [esp + 0x30]"], ["0x100a3120", "cmp edx, eax"], ["0x100a3122", "jl 0x2"], ["0x100a3124", "mov edx, eax"], ["0x100a3126", "mov eax, dword ptr [esp + 0x34]"], ["0x100a312a", "cmp ebx, eax"], ["0x100a312c", "jl 0x2"], ["0x100a312e", "mov ebx, eax"], ["0x100a3130", "sub edx, esi"], ["0x100a3132", "sub ebx, edi"], ["0x100a3134", "mov ebp, dword ptr [esp + 0x28]"], ["0x100a3138", "cmp ebp, esi"], ["0x100a313a", "jg 0x2"], ["0x100a313c", "mov ebp, esi"], ["0x100a313e", "sub ebp, esi"], ["0x100a3140", "mov eax, dword ptr [esp + 0x2c]"], ["0x100a3144", "mov esi, dword ptr [esp + 0x10]"], ["0x100a3148", "add esi, ebp"], ["0x100a314a", "cmp eax, edi"], ["0x100a314c", "jg 0x2"], ["0x100a314e", "mov eax, edi"], ["0x100a3150", "sub eax, edi"], ["0x100a3152", "add edx, dword ptr [esp + 0x10]"], ["0x100a3156", "add ebx, ecx"], ["0x100a3158", "lea edi, [eax + ecx]"], ["0x100a315b", "cmp esi, dword ptr [esp + 0x20]"], ["0x100a315f", "jge 0x6f"], ["0x100a3161", "test edx, edx"], ["0x100a3163", "jle 0x6b"], ["0x100a3165", "cmp edi, dword ptr [esp + 0x24]"], ["0x100a3169", "jge 0x65"], ["0x100a316b", "test ebx, ebx"], ["0x100a316d", "jle 0x61"], ["0x100a316f", "test esi, esi"], ["0x100a3171", "jg 0x2"]]}, {"both": [["0x100b6e2f", "xor esi, esi", "0x100a3173"]]}, {"orig": [["0x100b6e31", "mov dword ptr [esp + 0x14], ecx"], ["0x100b6e35", "lea ecx, [esp + 0x28]"], ["0x100b6e39", "mov dword ptr [esp + 0x20], eax"], ["0x100b6e3d", "lea eax, [esp + 0x20]"], ["0x100b6e41", "mov dword ptr [esp + 0x24], edx"], ["0x100b6e45", "mov dword ptr [esp + 0x28], esi"], ["0x100b6e49", "push eax"], ["0x100b6e4a", "mov dword ptr [esp + 0x30], esi"], ["0x100b6e4e", "push ecx"], ["0x100b6e4f", "lea ecx, [esp + 0x38]"], ["0x100b6e53", "call MxRect32::CopyFrom (FUNCTION)"], ["0x100b6e58", "mov ecx, dword ptr [esp + 0x6c]"], ["0x100b6e5c", "mov ebx, dword ptr [esp + 0x70]"], ["0x100b6e60", "mov edx, dword ptr [ecx]"], ["0x100b6e62", "mov eax, dword ptr [ebx]"], ["0x100b6e64", "mov ecx, dword ptr [esp + 0x5c]"], ["0x100b6e68", "mov dword ptr [esp + 0x18], edx"], ["0x100b6e6c", "mov edx, dword ptr [esp + 0x60]"], ["0x100b6e70", "mov dword ptr [esp + 0x1c], eax"], ["0x100b6e74", "lea eax, [esp + 0x28]"], ["0x100b6e78", "mov dword ptr [esp + 0x20], ecx"], ["0x100b6e7c", "lea ecx, [esp + 0x20]"], ["0x100b6e80", "mov dword ptr [esp + 0x24], edx"], ["0x100b6e84", "mov dword ptr [esp + 0x28], esi"], ["0x100b6e88", "push ecx"], ["0x100b6e89", "lea ecx, [esp + 0x44]"], ["0x100b6e8d", "push eax"], ["0x100b6e8e", "mov dword ptr [esp + 0x34], esi"], ["0x100b6e92", "call MxRect32::CopyFrom (FUNCTION)"], ["0x100b6e97", "mov edx, dword ptr [esp + 0x74]"], ["0x100b6e9b", "mov esi, dword ptr [esp + 0x78]"], ["0x100b6e9f", "mov ecx, dword ptr [esp + 0x10]"], ["0x100b6ea3", "mov ebp, dword ptr [edx]"], ["0x100b6ea5", "add ebp, dword ptr [esp + 0x10]"], ["0x100b6ea9", "mov eax, dword ptr [esi]"], ["0x100b6eab", "add eax, dword ptr [esp + 0x14]"], ["0x100b6eaf", "cmp dword ptr [esp + 0x38], ecx"], ["0x100b6eb3", "jle 0xf8"], ["0x100b6eb9", "cmp ebp, dword ptr [esp + 0x30]"], ["0x100b6ebd", "jle 0xee"], ["0x100b6ec3", "mov ecx, dword ptr [esp + 0x14]"], ["0x100b6ec7", "cmp dword ptr [esp + 0x3c], ecx"], ["0x100b6ecb", "jle 0xe0"], ["0x100b6ed1", "cmp eax, dword ptr [esp + 0x34]"], ["0x100b6ed5", "jle 0xd6"], ["0x100b6edb", "mov ecx, dword ptr [esp + 0x38]"], ["0x100b6edf", "cmp ebp, ecx"]], "recomp": [["0x100a3175", "test edi, edi"], ["0x100a3177", "jg 0x2"], ["0x100a3179", "xor edi, edi"], ["0x100a317b", "mov eax, dword ptr [esp + 0x20]"], ["0x100a317f", "cmp edx, eax"]]}, {"both": [["0x100b6ee1", "jl 0x2", "0x100a3181"]]}, {"orig": [["0x100b6ee3", "mov ebp, ecx"], ["0x100b6ee5", "mov ecx, dword ptr [esp + 0x3c]"], ["0x100b6ee9", "cmp eax, ecx"]], "recomp": [["0x100a3183", "mov edx, eax"], ["0x100a3185", "mov eax, dword ptr [esp + 0x24]"], ["0x100a3189", "cmp ebx, eax"]]}, {"both": [["0x100b6eeb", "jl 0x2", "0x100a318b"]]}, {"orig": [["0x100b6eed", "mov eax, ecx"], ["0x100b6eef", "sub ebp, dword ptr [esp + 0x10]"], ["0x100b6ef3", "sub eax, dword ptr [esp + 0x14]"], ["0x100b6ef7", "mov edi, dword ptr [esp + 0x30]"], ["0x100b6efb", "mov ecx, dword ptr [esp + 0x10]"], ["0x100b6eff", "cmp edi, ecx"], ["0x100b6f01", "jg 0x2"], ["0x100b6f03", "mov edi, ecx"], ["0x100b6f05", "sub edi, dword ptr [esp + 0x10]"], ["0x100b6f09", "mov ebx, dword ptr [esp + 0x34]"], ["0x100b6f0d", "add edi, dword ptr [esp + 0x18]"], ["0x100b6f11", "mov ecx, dword ptr [esp + 0x14]"], ["0x100b6f15", "cmp ebx, ecx"], ["0x100b6f17", "jg 0x2"], ["0x100b6f19", "mov ebx, ecx"], ["0x100b6f1b", "sub ebx, dword ptr [esp + 0x14]"], ["0x100b6f1f", "add ebp, dword ptr [esp + 0x18]"], ["0x100b6f23", "add ebx, dword ptr [esp + 0x1c]"], ["0x100b6f27", "add eax, dword ptr [esp + 0x1c]"], ["0x100b6f2b", "cmp edi, dword ptr [esp + 0x48]"], ["0x100b6f2f", "jge 0x76"], ["0x100b6f31", "cmp ebp, dword ptr [esp + 0x40]"], ["0x100b6f35", "jle 0x70"], ["0x100b6f37", "cmp ebx, dword ptr [esp + 0x4c]"], ["0x100b6f3b", "jge 0x6a"], ["0x100b6f3d", "cmp eax, dword ptr [esp + 0x44]"], ["0x100b6f41", "jle 0x64"], ["0x100b6f43", "mov ecx, dword ptr [esp + 0x40]"], ["0x100b6f47", "cmp edi, ecx"], ["0x100b6f49", "jg 0x2"], ["0x100b6f4b", "mov edi, ecx"], ["0x100b6f4d", "mov ecx, dword ptr [esp + 0x44]"], ["0x100b6f51", "cmp ebx, ecx"], ["0x100b6f53", "jg 0x2"], ["0x100b6f55", "mov ebx, ecx"], ["0x100b6f57", "mov ecx, dword ptr [esp + 0x48]"], ["0x100b6f5b", "cmp ebp, ecx"], ["0x100b6f5d", "jl 0x2"], ["0x100b6f5f", "mov ebp, ecx"], ["0x100b6f61", "mov ecx, dword ptr [esp + 0x4c]"], ["0x100b6f65", "cmp eax, ecx"], ["0x100b6f67", "jl 0x2"], ["0x100b6f69", "mov eax, ecx"], ["0x100b6f6b", "sub edi, dword ptr [esp + 0x18]"], ["0x100b6f6f", "sub ebx, dword ptr [esp + 0x1c]"]], "recomp": [["0x100a318d", "mov ebx, eax"], ["0x100a318f", "sub esi, dword ptr [esp + 0x10]"], ["0x100a3193", "sub edi, ecx"], ["0x100a3195", "sub edx, dword ptr [esp + 0x10]"], ["0x100a3199", "sub ebx, ecx"], ["0x100a319b", "mov eax, dword ptr [esp + 0x4c]"], ["0x100a319f", "mov ecx, dword ptr [esp + 0x50]"], ["0x100a31a3", "mov ebp, dword ptr [esp + 0x54]"], ["0x100a31a7", "sub edx, esi"], ["0x100a31a9", "inc edx"], ["0x100a31aa", "add dword ptr [eax], esi"], ["0x100a31ac", "mov eax, dword ptr [esp + 0x58]"], ["0x100a31b0", "sub ebx, edi"], ["0x100a31b2", "inc ebx"], ["0x100a31b3", "add dword ptr [ecx], edi"], ["0x100a31b5", "add dword ptr [ebp], esi"], ["0x100a31b8", "add dword ptr [eax], edi"], ["0x100a31ba", "mov eax, dword ptr [esp + 0x5c]"], ["0x100a31be", "mov dword ptr [eax], edx"], ["0x100a31c0", "mov eax, dword ptr [esp + 0x60]"], ["0x100a31c4", "pop ebp"], ["0x100a31c5", "pop edi"], ["0x100a31c6", "pop esi"], ["0x100a31c7", "mov dword ptr [eax], ebx"], ["0x100a31c9", "mov al, 1"], ["0x100a31cb", "pop ebx"], ["0x100a31cc", "add esp, 0x28"], ["0x100a31cf", "ret "], ["0x100a31d0", "xor al, al"], ["0x100a31d2", "pop ebp"], ["0x100a31d3", "pop edi"], ["0x100a31d4", "pop esi"], ["0x100a31d5", "pop ebx"], ["0x100a31d6", "add esp, 0x28"], ["0x100a31d9", "ret "], ["0x100a31da", "xor al, al"], ["0x100a31dc", "pop ebp"], ["0x100a31dd", "pop edi"], ["0x100a31de", "pop esi"], ["0x100a31df", "pop ebx"], ["0x100a31e0", "add esp, 0x28"], ["0x100a31e3", "ret "]]}]]]}, {"address": "0x100b6fc0", "recomp": "0x100a31f0", "name": "MxRect32::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100b6ff0", "recomp": "0x100a3220", "name": "MakeSourceName", "matching": 1.0, "diff": []}, {"address": "0x100b7050", "recomp": "0x100a3280", "name": "KeyValueStringParse", "matching": 1.0, "diff": []}, {"address": "0x100b7170", "recomp": "0x100a33a0", "name": "ContainsPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b71e0", "recomp": "0x100a3410", "name": "OmniError", "matching": 1.0, "diff": []}, {"address": "0x100b7210", "recomp": "0x100a3440", "name": "SetOmniUserMessage", "matching": 1.0, "diff": []}, {"address": "0x100b7220", "recomp": "0x100a3450", "name": "FUN_100b7220", "matching": 0.9397590361445783, "diff": [["@@ -0x100b7226,32 +0x100a3456,31 @@", [{"both": [["0x100b7226", "push ebp", "0x100a3456"], ["0x100b7227", "mov ebp, esp", "0x100a3457"], ["0x100b7229", "push -1", "0x100a3459"], ["0x100b722b", "push <OFFSET1>", "0x100a345b"], ["0x100b7230", "push eax", "0x100a3460"], ["0x100b7231", "mov dword ptr fs:[0], esp", "0x100a3461"], ["0x100b7238", "sub esp, 0x14", "0x100a3468"], ["0x100b723b", "push ebx", "0x100a346b"], ["0x100b723c", "push esi", "0x100a346c"], ["0x100b723d", "push edi", "0x100a346d"]]}, {"orig": [], "recomp": [["0x100a346e", "mov bl, byte ptr [ebp + 0x10]"]]}, {"both": [["0x100b723e", "mov esi, dword ptr [ebp + 8]", "0x100a3471"]]}, {"orig": [["0x100b7241", "mov bl, byte ptr [ebp + 0x10]"]], "recomp": []}, {"both": [["0x100b7244", "mov edi, dword ptr [ebp + 0xc]", "0x100a3474"]]}, {"orig": [], "recomp": [["0x100a3477", "test bl, bl"]]}, {"both": [["0x100b7247", "mov eax, dword ptr [esi + 0x30]", "0x100a3479"]]}, {"orig": [["0x100b724a", "test bl, bl"]], "recomp": []}, {"both": [["0x100b724c", "je 0x4", "0x100a347c"], ["0x100b724e", "or eax, edi", "0x100a347e"]]}, {"orig": [["0x100b7250", "jmp 0x8"]], "recomp": [["0x100a3480", "jmp 0x6"]]}, {"both": [["0x100b7252", "mov ecx, edi", "0x100a3482"], ["0x100b7254", "not ecx", "0x100a3484"]]}, {"orig": [["0x100b7256", "and ecx, eax"], ["0x100b7258", "mov eax, ecx"]], "recomp": [["0x100a3486", "and eax, ecx"]]}, {"both": [["0x100b725a", "mov dword ptr [esi + 0x30], eax", "0x100a3488"], ["0x100b725d", "mov eax, dword ptr [esi]", "0x100a348b"], ["0x100b725f", "push 'MxDSMultiAction' (STRING)", "0x100a348d"], ["0x100b7264", "mov ecx, esi", "0x100a3492"], ["0x100b7266", "call dword ptr [eax + 0x10]", "0x100a3494"], ["0x100b7269", "test al, al", "0x100a3497"], ["0x100b726b", "je 0x84", "0x100a3499"], ["0x100b7271", "mov eax, dword ptr [esi + 0x98]", "0x100a349f"], ["0x100b7277", "lea ecx, [ebp - 0x1c]", "0x100a34a5"], ["0x100b727a", "xor esi, esi", "0x100a34a8"]]}]], ["@@ -0x100b7301,10 +0x100a352f,11 @@", [{"both": [["0x100b7301", "mov esp, ebp", "0x100a352f"], ["0x100b7303", "pop ebp", "0x100a3531"], ["0x100b7304", "ret ", "0x100a3532"], ["0x100b7305", "lea ecx, [ebp - 0x1c]", "0x100a3533"], ["0x100b7308", "jmp MxCore::~MxCore (FUNCTION)", "0x100a3536"], ["0x100b730d", "lea ecx, [ebp - 0x1c]", "0x100a353b"], ["0x100b7310", "jmp MxListCursor<MxDSAction *>::~MxListCursor<MxDSAction *> (FUNCTION)", "0x100a353e"], ["0x100b7315", "mov eax, <OFFSET8>", "0x100a3543"], ["0x100b731a", "jmp ___CxxFrameHandler (FUNCTION)", "0x100a3548"], ["0x100b731f", "lea ecx, [ebp - 0x1c]", "0x100a354d"]]}, {"orig": [], "recomp": [["0x100a3550", "jmp MxDSActionListCursor::~MxDSActionListCursor (FUNCTION)"]]}]]]}, {"address": "0x100b7330", "recomp": "0x100a3560", "name": "MxVariableTable::Compare", "matching": 1.0, "diff": []}, {"address": "0x100b7370", "recomp": "0x100a35a0", "name": "MxVariableTable::Hash", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b7370,14 +0x100a35a0,14 @@", [{"both": [["0x100b7370", "mov eax, dword ptr [esp + 4]", "0x100a35a0"], ["0x100b7374", "push esi", "0x100a35a4"], ["0x100b7375", "xor edx, edx", "0x100a35a5"], ["0x100b7377", "mov ecx, dword ptr [eax + 0xc]", "0x100a35a7"], ["0x100b737a", "xor eax, eax", "0x100a35aa"], ["0x100b737c", "cmp byte ptr [ecx], al", "0x100a35ac"], ["0x100b737e", "je 0xd", "0x100a35ae"]]}, {"orig": [["0x100b7380", "movsx esi, byte ptr [edx + ecx]"]], "recomp": [["0x100a35b0", "movsx esi, byte ptr [ecx + edx]"]]}, {"both": [["0x100b7384", "add eax, esi", "0x100a35b4"], ["0x100b7386", "inc edx", "0x100a35b6"]]}, {"orig": [["0x100b7387", "cmp byte ptr [edx + ecx], 0"]], "recomp": [["0x100a35b7", "cmp byte ptr [ecx + edx], 0"]]}, {"both": [["0x100b738b", "jne -0xd", "0x100a35bb"], ["0x100b738d", "pop esi", "0x100a35bd"], ["0x100b738e", "ret 4", "0x100a35be"]]}]]]}, {"address": "0x100b73a0", "recomp": "0x100a35d0", "name": "MxVariableTable::SetVariable", "matching": 0.959349593495935, "diff": [["@@ -0x100b7447,48 +0x100a3677,47 @@", [{"both": [["0x100b7447", "mov ecx, dword ptr [ebp - 0x10]", "0x100a3677"], ["0x100b744a", "add ecx, 0x14", "0x100a367a"], ["0x100b744d", "jmp MxString::~MxString (FUNCTION)", "0x100a367d"], ["0x100b7452", "mov ecx, dword ptr [ebp - 0x10]", "0x100a3682"], ["0x100b7455", "add ecx, 4", "0x100a3685"], ["0x100b7458", "jmp MxString::~MxString (FUNCTION)", "0x100a3688"], ["0x100b745d", "mov dword ptr [ebp - 0x14], 0", "0x100a368d"], ["0x100b7464", "mov byte ptr [ebp - 4], 1", "0x100a3694"], ["0x100b7468", "mov eax, dword ptr [ebp - 0x14]", "0x100a3698"], ["0x100b746b", "mov ecx, dword ptr [ebp - 0x24]", "0x100a369b"]]}, {"orig": [], "recomp": [["0x100a369e", "push eax"]]}, {"both": [["0x100b746e", "mov dword ptr [ebp - 0x18], eax", "0x100a369f"]]}, {"orig": [["0x100b7471", "mov eax, dword ptr [ebp - 0x14]"], ["0x100b7474", "push eax"]], "recomp": []}, {"both": [["0x100b7475", "mov ebx, dword ptr [ecx]", "0x100a36a2"], ["0x100b7477", "call dword ptr [ebx + 0x18]", "0x100a36a4"]]}, {"orig": [["0x100b747a", "mov edi, eax"]], "recomp": [["0x100a36a7", "mov ebx, eax"]]}, {"both": [["0x100b747c", "mov ecx, dword ptr [ebp - 0x24]", "0x100a36a9"], ["0x100b747f", "sub edx, edx", "0x100a36ac"], ["0x100b7481", "div dword ptr [ecx + 0x14]", "0x100a36ae"], ["0x100b7484", "mov eax, dword ptr [ecx + 0x10]", "0x100a36b1"]]}, {"orig": [["0x100b7487", "mov ebx, dword ptr [eax + edx*4]"], ["0x100b748a", "test ebx, ebx"]], "recomp": [["0x100a36b4", "mov edi, dword ptr [eax + edx*4]"], ["0x100a36b7", "test edi, edi"]]}, {"both": [["0x100b748c", "je 0x24", "0x100a36b9"]]}, {"orig": [["0x100b748e", "cmp dword ptr [ebx + 4], edi"]], "recomp": [["0x100a36bb", "cmp dword ptr [edi + 4], ebx"]]}, {"both": [["0x100b7491", "jne 0x18", "0x100a36be"], ["0x100b7493", "mov eax, dword ptr [ebp - 0x14]", "0x100a36c0"]]}, {"orig": [["0x100b7496", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x100a36c3", "mov ecx, dword ptr [edi]"]]}, {"both": [["0x100b7498", "push eax", "0x100a36c5"], ["0x100b7499", "mov edx, dword ptr [ebp - 0x24]", "0x100a36c6"], ["0x100b749c", "push ecx", "0x100a36c9"], ["0x100b749d", "mov eax, dword ptr [edx]", "0x100a36ca"], ["0x100b749f", "mov ecx, edx", "0x100a36cc"], ["0x100b74a1", "call dword ptr [eax + 0x14]", "0x100a36ce"], ["0x100b74a4", "test al, al", "0x100a36d1"], ["0x100b74a6", "jne 0x3", "0x100a36d3"]]}, {"orig": [["0x100b74a8", "mov dword ptr [ebp - 0x20], ebx"], ["0x100b74ab", "mov ebx, dword ptr [ebx + 0xc]"], ["0x100b74ae", "test ebx, ebx"]], "recomp": [["0x100a36d5", "mov dword ptr [ebp - 0x20], edi"], ["0x100a36d8", "mov edi, dword ptr [edi + 0xc]"], ["0x100a36db", "test edi, edi"]]}, {"both": [["0x100b74b0", "jne -0x24", "0x100a36dd"], ["0x100b74b2", "cmp dword ptr [ebp - 0x20], 0", "0x100a36df"], ["0x100b74b6", "je 0x5d", "0x100a36e3"], ["0x100b74b8", "cmp dword ptr [ebp - 0x14], 0", "0x100a36e5"], ["0x100b74bc", "je 0x22", "0x100a36e9"], ["0x100b74be", "mov eax, 5", "0x100a36eb"], ["0x100b74c3", "mov byte ptr [ebp - 4], al", "0x100a36f0"], ["0x100b74c6", "call <OFFSET9>", "0x100a36f3"], ["0x100b74cb", "mov byte ptr [ebp - 4], 1", "0x100a36f8"], ["0x100b74cf", "call <OFFSET10>", "0x100a36fc"]]}]], ["@@ -0x100b7652,10 +0x100a387f,11 @@", [{"both": [["0x100b7652", "mov eax, dword ptr [ebp - 0x10]", "0x100a387f"], ["0x100b7655", "push eax", "0x100a3882"], ["0x100b7656", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a3883"], ["0x100b765b", "add esp, 4", "0x100a3888"], ["0x100b765e", "ret ", "0x100a388b"], ["0x100b765f", "lea ecx, [ebp - 0x2c]", "0x100a388c"], ["0x100b7662", "jmp MxCore::~MxCore (FUNCTION)", "0x100a388f"], ["0x100b7667", "mov eax, <OFFSET15>", "0x100a3894"], ["0x100b766c", "jmp ___CxxFrameHandler (FUNCTION)", "0x100a3899"], ["0x100b7671", "lea ecx, [ebp - 0x2c]", "0x100a389e"]]}, {"orig": [], "recomp": [["0x100a38a1", "jmp MxHashTableCursor<MxVariable *>::~MxHashTableCursor<MxVariable *> (FUNCTION)"]]}]]]}, {"address": "0x100b7680", "recomp": "0x100a38b0", "name": "MxHashTableCursor<MxVariable *>::~MxHashTableCursor<MxVariable *>", "matching": 1.0, "diff": []}, {"address": "0x100b76d0", "recomp": "0x100a3900", "name": "MxHashTableCursor<MxVariable *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b7740", "recomp": "0x100a3970", "name": "MxVariableTable::SetVariable", "matching": 1.0, "diff": []}, {"address": "0x100b78f0", "recomp": "0x100a3b20", "name": "MxVariableTable::GetVariable", "matching": 1.0, "diff": []}, {"address": "0x100b7ab0", "recomp": "0x100a3ce0", "name": "MxHashTable<MxVariable *>::Resize", "matching": 0.8322147651006712, "diff": [["@@ -0x100b7b02,45 +0x100a3d32,46 @@", [{"both": [["0x100b7b02", "add esp, 4", "0x100a3d32"], ["0x100b7b05", "mov ecx, dword ptr [ebx + 0x14]", "0x100a3d35"], ["0x100b7b08", "shl ecx, 2", "0x100a3d38"], ["0x100b7b0b", "mov edi, eax", "0x100a3d3b"], ["0x100b7b0d", "shr ecx, 2", "0x100a3d3d"], ["0x100b7b10", "mov dword ptr [ebx + 0x10], eax", "0x100a3d40"], ["0x100b7b13", "xor eax, eax", "0x100a3d43"], ["0x100b7b15", "rep stosd dword ptr es:[edi], eax", "0x100a3d45"], ["0x100b7b17", "mov dword ptr [ebx + 8], eax", "0x100a3d47"], ["0x100b7b1a", "test esi, esi", "0x100a3d4a"]]}, {"orig": [["0x100b7b1c", "je 0x41"], ["0x100b7b1e", "mov ebp, dword ptr [esp + 0x10]"], ["0x100b7b22", "mov ecx, dword ptr [ebp]"], ["0x100b7b25", "test ecx, ecx"]], "recomp": [["0x100a3d4c", "je 0x40"], ["0x100a3d4e", "mov ecx, dword ptr [esp + 0x10]"], ["0x100a3d52", "mov ebp, dword ptr [ecx]"], ["0x100a3d54", "test ebp, ebp"]]}, {"both": [["0x100b7b27", "je 0x30", "0x100a3d56"]]}, {"orig": [["0x100b7b29", "mov edi, dword ptr [ecx + 0xc]"], ["0x100b7b2c", "mov eax, dword ptr [ecx + 4]"]], "recomp": [["0x100a3d58", "mov edi, dword ptr [ebp + 0xc]"], ["0x100a3d5b", "mov eax, dword ptr [ebp + 4]"]]}, {"both": [["0x100b7b2f", "sub edx, edx", "0x100a3d5e"], ["0x100b7b31", "div dword ptr [ebx + 0x14]", "0x100a3d60"], ["0x100b7b34", "mov eax, dword ptr [ebx + 0x10]", "0x100a3d63"], ["0x100b7b37", "mov eax, dword ptr [eax + edx*4]", "0x100a3d66"]]}, {"orig": [["0x100b7b3a", "mov dword ptr [ecx + 0xc], eax"]], "recomp": [["0x100a3d69", "mov dword ptr [ebp + 0xc], eax"]]}, {"both": [["0x100b7b3d", "mov eax, dword ptr [ebx + 0x10]", "0x100a3d6c"], ["0x100b7b40", "mov eax, dword ptr [eax + edx*4]", "0x100a3d6f"], ["0x100b7b43", "test eax, eax", "0x100a3d72"], ["0x100b7b45", "je 0x3", "0x100a3d74"]]}, {"orig": [["0x100b7b47", "mov dword ptr [eax + 8], ecx"]], "recomp": [["0x100a3d76", "mov dword ptr [eax + 8], ebp"]]}, {"both": [["0x100b7b4a", "mov eax, dword ptr [ebx + 0x10]", "0x100a3d79"]]}, {"orig": [["0x100b7b4d", "mov dword ptr [eax + edx*4], ecx"], ["0x100b7b50", "mov ecx, edi"]], "recomp": [["0x100a3d7c", "mov dword ptr [eax + edx*4], ebp"], ["0x100a3d7f", "mov ebp, edi"]]}, {"both": [["0x100b7b52", "inc dword ptr [ebx + 8]", "0x100a3d81"], ["0x100b7b55", "test edi, edi", "0x100a3d84"], ["0x100b7b57", "jne -0x30", "0x100a3d86"]]}, {"orig": [["0x100b7b59", "add ebp, 4"]], "recomp": [["0x100a3d88", "add ecx, 4"]]}, {"both": [["0x100b7b5c", "dec esi", "0x100a3d8b"]]}, {"orig": [["0x100b7b5d", "jne -0x3d"]], "recomp": [["0x100a3d8c", "jne -0x3c"]]}, {"both": [["0x100b7b5f", "mov eax, dword ptr [esp + 0x10]", "0x100a3d8e"], ["0x100b7b63", "push eax", "0x100a3d92"], ["0x100b7b64", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a3d93"], ["0x100b7b69", "add esp, 4", "0x100a3d98"], ["0x100b7b6c", "pop ebp", "0x100a3d9b"], ["0x100b7b6d", "pop edi", "0x100a3d9c"], ["0x100b7b6e", "pop esi", "0x100a3d9d"], ["0x100b7b6f", "pop ebx", "0x100a3d9e"], ["0x100b7b70", "add esp, 0xc", "0x100a3d9f"]]}, {"orig": [], "recomp": [["0x100a3da2", "ret "]]}]]]}, {"address": "0x100b7b80", "recomp": "0x100a3db0", "name": "MxHashTable<MxVariable *>::NodeInsert", "matching": 1.0, "diff": []}, {"address": "0x100b7bb0", "recomp": "0x100a3de0", "name": "MxDSSubscriber::MxDSSubscriber", "matching": 1.0, "diff": []}, {"address": "0x100b7d00", "recomp": "0x100a3f30", "name": "MxStreamChunkList::~MxStreamChunkList", "matching": 1.0, "diff": []}, {"address": "0x100b7d50", "recomp": "0x100a3f80", "name": "MxDSSubscriber::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b7d60", "recomp": "0x100a3f90", "name": "MxDSSubscriber::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b7de0", "recomp": "0x100a4010", "name": "MxDSSubscriber::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b7e00", "recomp": "0x100a4030", "name": "MxDSSubscriber::~MxDSSubscriber", "matching": 1.0, "diff": []}, {"address": "0x100b7ed0", "recomp": "0x100a4100", "name": "MxDSSubscriber::Create", "matching": 1.0, "diff": []}, {"address": "0x100b8030", "recomp": "0x100a4260", "name": "MxDSSubscriber::DestroyData", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b8030,29 +0x100a4260,29 @@", [{"both": [["0x100b8030", "sub esp, 8", "0x100a4260"], ["0x100b8033", "push ebx", "0x100a4263"], ["0x100b8034", "push esi", "0x100a4264"], ["0x100b8035", "push edi", "0x100a4265"], ["0x100b8036", "mov esi, ecx", "0x100a4266"], ["0x100b8038", "push ebp", "0x100a4268"], ["0x100b8039", "xor edi, edi", "0x100a4269"], ["0x100b803b", "cmp dword ptr [esi + 0x40], edi", "0x100a426b"], ["0x100b803e", "je 0xf5", "0x100a426e"], ["0x100b8044", "mov dword ptr [esp + 0x10], edi", "0x100a4274"]]}, {"orig": [["0x100b8048", "mov eax, dword ptr [esi + 0x20]"], ["0x100b804b", "mov ecx, dword ptr [eax + 8]"], ["0x100b804e", "mov ecx, dword ptr [ecx + 0x10]"], ["0x100b8051", "mov dword ptr [eax + 0xc], ecx"], ["0x100b8054", "test ecx, ecx"]], "recomp": [["0x100a4278", "mov ecx, dword ptr [esi + 0x20]"], ["0x100a427b", "mov eax, dword ptr [ecx + 8]"], ["0x100a427e", "mov eax, dword ptr [eax + 0x10]"], ["0x100a4281", "mov dword ptr [ecx + 0xc], eax"], ["0x100a4284", "test eax, eax"]]}, {"both": [["0x100b8056", "je 0xa5", "0x100a4286"]]}, {"orig": [["0x100b805c", "mov eax, dword ptr [ecx]"], ["0x100b805e", "test ecx, ecx"], ["0x100b8060", "mov dword ptr [esp + 0x10], eax"]], "recomp": [["0x100a428c", "mov ecx, dword ptr [eax]"], ["0x100a428e", "test eax, eax"], ["0x100a4290", "mov dword ptr [esp + 0x10], ecx"]]}, {"both": [["0x100b8064", "je 0x97", "0x100a4294"], ["0x100b806a", "mov ebx, dword ptr [esi + 0x20]", "0x100a429a"], ["0x100b806d", "mov ecx, dword ptr [ebx + 0xc]", "0x100a429d"], ["0x100b8070", "test ecx, ecx", "0x100a42a0"], ["0x100b8072", "je 0x3a", "0x100a42a2"], ["0x100b8074", "mov ebp, dword ptr [ebx + 8]", "0x100a42a4"], ["0x100b8077", "mov edx, dword ptr [ecx + 8]", "0x100a42a7"], ["0x100b807a", "cmp dword ptr [ecx + 4], edi", "0x100a42aa"], ["0x100b807d", "je 0x8", "0x100a42ad"], ["0x100b807f", "mov eax, dword ptr [ecx + 4]", "0x100a42af"]]}]], ["@@ -0x100b80ab,56 +0x100a42db,56 @@", [{"both": [["0x100b80ab", "mov dword ptr [ebx + 0xc], edi", "0x100a42db"], ["0x100b80ae", "cmp dword ptr [esp + 0x10], edi", "0x100a42de"], ["0x100b80b2", "je -0x6c", "0x100a42e2"], ["0x100b80b4", "mov eax, dword ptr [esp + 0x10]", "0x100a42e4"], ["0x100b80b8", "push 1", "0x100a42e8"], ["0x100b80ba", "mov ecx, eax", "0x100a42ea"], ["0x100b80bc", "mov ebx, dword ptr [eax]", "0x100a42ec"], ["0x100b80be", "call dword ptr [ebx]", "0x100a42ee"], ["0x100b80c0", "jmp -0x7a", "0x100a42f0"], ["0x100b80c2", "mov eax, dword ptr [edx]", "0x100a42f2"]]}, {"orig": [["0x100b80c4", "mov dword ptr [ebx + 0x10], eax"]], "recomp": [["0x100a42f4", "mov dword ptr [edi + 0x10], eax"]]}, {"both": [["0x100b80c7", "mov eax, dword ptr [edx]", "0x100a42f7"], ["0x100b80c9", "test eax, eax", "0x100a42f9"], ["0x100b80cb", "je 0x8", "0x100a42fb"], ["0x100b80cd", "mov edx, dword ptr [ecx + 4]", "0x100a42fd"], ["0x100b80d0", "mov dword ptr [eax + 4], edx", "0x100a4300"], ["0x100b80d3", "jmp 0x6", "0x100a4303"], ["0x100b80d5", "mov eax, dword ptr [ecx + 4]", "0x100a4305"]]}, {"orig": [["0x100b80d8", "mov dword ptr [ebx + 0x14], eax"]], "recomp": [["0x100a4308", "mov dword ptr [edi + 0x14], eax"]]}, {"both": [["0x100b80db", "push ecx", "0x100a430b"], ["0x100b80dc", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a430c"], ["0x100b80e1", "add esp, 4", "0x100a4311"]]}, {"orig": [["0x100b80e4", "dec dword ptr [ebx + 8]"], ["0x100b80e7", "mov dword ptr [edi + 0xc], 0"]], "recomp": [["0x100a4314", "dec dword ptr [edi + 8]"], ["0x100a4317", "mov dword ptr [ebx + 0xc], 0"]]}, {"both": [["0x100b80ee", "cmp dword ptr [esp + 0x10], 0", "0x100a431e"], ["0x100b80f3", "je 0xc", "0x100a4323"], ["0x100b80f5", "mov eax, dword ptr [esp + 0x10]", "0x100a4325"], ["0x100b80f9", "push 1", "0x100a4329"], ["0x100b80fb", "mov ecx, eax", "0x100a432b"], ["0x100b80fd", "mov ebx, dword ptr [eax]", "0x100a432d"], ["0x100b80ff", "call dword ptr [ebx]", "0x100a432f"]]}, {"orig": [["0x100b8101", "mov ecx, dword ptr [esi + 0x3c]"], ["0x100b8104", "mov eax, dword ptr [ecx + 8]"], ["0x100b8107", "mov eax, dword ptr [eax + 0x10]"], ["0x100b810a", "mov dword ptr [ecx + 0xc], eax"], ["0x100b810d", "test eax, eax"]], "recomp": [["0x100a4331", "mov eax, dword ptr [esi + 0x3c]"], ["0x100a4334", "mov ecx, dword ptr [eax + 8]"], ["0x100a4337", "mov ecx, dword ptr [ecx + 0x10]"], ["0x100a433a", "mov dword ptr [eax + 0xc], ecx"], ["0x100a433d", "test ecx, ecx"]]}, {"both": [["0x100b810f", "je 0x28", "0x100a433f"]]}, {"orig": [["0x100b8111", "mov ecx, dword ptr [eax]"], ["0x100b8113", "test eax, eax"], ["0x100b8115", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x100a4341", "mov eax, dword ptr [ecx]"], ["0x100a4343", "test ecx, ecx"], ["0x100a4345", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100b8119", "je 0x1e", "0x100a4349"]]}, {"orig": [["0x100b811b", "mov edi, dword ptr [esi + 0x3c]"], ["0x100b811e", "mov ecx, dword ptr [edi + 0xc]"]], "recomp": [["0x100a434b", "mov ebx, dword ptr [esi + 0x3c]"], ["0x100a434e", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100b8121", "test ecx, ecx", "0x100a4351"], ["0x100b8123", "je -0x37", "0x100a4353"]]}, {"orig": [["0x100b8125", "mov ebx, dword ptr [edi + 8]"]], "recomp": [["0x100a4355", "mov edi, dword ptr [ebx + 8]"]]}, {"both": [["0x100b8128", "mov eax, dword ptr [ecx + 4]", "0x100a4358"], ["0x100b812b", "lea edx, [ecx + 8]", "0x100a435b"], ["0x100b812e", "test eax, eax", "0x100a435e"], ["0x100b8130", "je -0x70", "0x100a4360"], ["0x100b8132", "mov ebp, dword ptr [edx]", "0x100a4362"], ["0x100b8134", "mov dword ptr [eax + 8], ebp", "0x100a4364"], ["0x100b8137", "jmp -0x72", "0x100a4367"], ["0x100b8139", "pop ebp", "0x100a4369"], ["0x100b813a", "pop edi", "0x100a436a"], ["0x100b813b", "pop esi", "0x100a436b"]]}]]]}, {"address": "0x100b8150", "recomp": "0x100a4380", "name": "MxDSSubscriber::AddData", "matching": 1.0, "diff": []}, {"address": "0x100b8250", "recomp": "0x100a4480", "name": "MxDSSubscriber::PopData", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b827c,45 +0x100a44ac,45 @@", [{"both": [["0x100b827c", "je 0x12", "0x100a44ac"], ["0x100b827e", "mov eax, dword ptr [ecx + 8]", "0x100a44ae"], ["0x100b8281", "mov eax, dword ptr [eax + 0x10]", "0x100a44b1"], ["0x100b8284", "mov dword ptr [ecx + 0xc], eax", "0x100a44b4"], ["0x100b8287", "test eax, eax", "0x100a44b7"], ["0x100b8289", "je 0x5", "0x100a44b9"], ["0x100b828b", "mov eax, dword ptr [eax]", "0x100a44bb"], ["0x100b828d", "mov dword ptr [ebp - 0x10], eax", "0x100a44bd"], ["0x100b8290", "cmp dword ptr [ebp - 0x10], 0", "0x100a44c0"], ["0x100b8294", "je 0x87", "0x100a44c4"]]}, {"orig": [["0x100b829a", "mov ebx, dword ptr [esi + 0x20]"], ["0x100b829d", "mov ecx, dword ptr [ebx + 0xc]"]], "recomp": [["0x100a44ca", "mov edi, dword ptr [esi + 0x20]"], ["0x100a44cd", "mov ecx, dword ptr [edi + 0xc]"]]}, {"both": [["0x100b82a0", "test ecx, ecx", "0x100a44d0"], ["0x100b82a2", "je 0x3d", "0x100a44d2"]]}, {"orig": [["0x100b82a4", "mov edi, dword ptr [ebx + 8]"]], "recomp": [["0x100a44d4", "mov ebx, dword ptr [edi + 8]"]]}, {"both": [["0x100b82a7", "mov eax, dword ptr [ecx + 4]", "0x100a44d7"], ["0x100b82aa", "mov edx, dword ptr [ecx + 8]", "0x100a44da"], ["0x100b82ad", "test eax, eax", "0x100a44dd"], ["0x100b82af", "je 0x5", "0x100a44df"], ["0x100b82b1", "mov dword ptr [eax + 8], edx", "0x100a44e1"], ["0x100b82b4", "jmp 0x3", "0x100a44e4"]]}, {"orig": [["0x100b82b6", "mov dword ptr [edi + 0x10], edx"]], "recomp": [["0x100a44e6", "mov dword ptr [ebx + 0x10], edx"]]}, {"both": [["0x100b82b9", "mov eax, dword ptr [ecx + 8]", "0x100a44e9"], ["0x100b82bc", "test eax, eax", "0x100a44ec"], ["0x100b82be", "je 0x8", "0x100a44ee"], ["0x100b82c0", "mov edx, dword ptr [ecx + 4]", "0x100a44f0"], ["0x100b82c3", "mov dword ptr [eax + 4], edx", "0x100a44f3"], ["0x100b82c6", "jmp 0x6", "0x100a44f6"], ["0x100b82c8", "mov eax, dword ptr [ecx + 4]", "0x100a44f8"]]}, {"orig": [["0x100b82cb", "mov dword ptr [edi + 0x14], eax"]], "recomp": [["0x100a44fb", "mov dword ptr [ebx + 0x14], eax"]]}, {"both": [["0x100b82ce", "push ecx", "0x100a44fe"], ["0x100b82cf", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a44ff"], ["0x100b82d4", "add esp, 4", "0x100a4504"]]}, {"orig": [["0x100b82d7", "dec dword ptr [edi + 8]"], ["0x100b82da", "mov dword ptr [ebx + 0xc], 0"]], "recomp": [["0x100a4507", "dec dword ptr [ebx + 8]"], ["0x100a450a", "mov dword ptr [edi + 0xc], 0"]]}, {"both": [["0x100b82e1", "mov ebx, dword ptr [esi + 0x38]", "0x100a4511"], ["0x100b82e4", "push 0xc", "0x100a4514"], ["0x100b82e6", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a4516"], ["0x100b82eb", "mov dword ptr [ebp - 0x14], eax", "0x100a451b"], ["0x100b82ee", "add esp, 4", "0x100a451e"], ["0x100b82f1", "mov edi, eax", "0x100a4521"], ["0x100b82f3", "xor eax, eax", "0x100a4523"], ["0x100b82f5", "mov dword ptr [ebp - 4], eax", "0x100a4525"], ["0x100b82f8", "test edi, edi", "0x100a4528"], ["0x100b82fa", "je 0xf", "0x100a452a"]]}]]]}, {"address": "0x100b8360", "recomp": "0x100a4590", "name": "MxDSSubscriber::PeekData", "matching": 1.0, "diff": []}, {"address": "0x100b8390", "recomp": "0x100a45c0", "name": "MxDSSubscriber::FreeDataChunk", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b83be,47 +0x100a45ee,47 @@", [{"both": [["0x100b83be", "call dword ptr [ebp + 0x14]", "0x100a45ee"], ["0x100b83c1", "test al, al", "0x100a45f1"], ["0x100b83c3", "je 0xd", "0x100a45f3"], ["0x100b83c5", "mov eax, dword ptr [edi + 0xc]", "0x100a45f5"], ["0x100b83c8", "mov eax, dword ptr [eax + 8]", "0x100a45f8"], ["0x100b83cb", "mov dword ptr [edi + 0xc], eax", "0x100a45fb"], ["0x100b83ce", "test eax, eax", "0x100a45fe"], ["0x100b83d0", "jne -0x20", "0x100a4600"], ["0x100b83d2", "cmp dword ptr [edi + 0xc], 0", "0x100a4602"], ["0x100b83d6", "je 0x5d", "0x100a4606"]]}, {"orig": [["0x100b83d8", "mov edi, dword ptr [ebx + 0x3c]"], ["0x100b83db", "mov ecx, dword ptr [edi + 0xc]"]], "recomp": [["0x100a4608", "mov ebx, dword ptr [ebx + 0x3c]"], ["0x100a460b", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100b83de", "test ecx, ecx", "0x100a460e"], ["0x100b83e0", "je 0x40", "0x100a4610"]]}, {"orig": [["0x100b83e2", "mov ebx, dword ptr [edi + 8]"]], "recomp": [["0x100a4612", "mov edi, dword ptr [ebx + 8]"]]}, {"both": [["0x100b83e5", "mov eax, dword ptr [ecx + 4]", "0x100a4615"], ["0x100b83e8", "lea edx, [ecx + 8]", "0x100a4618"], ["0x100b83eb", "test eax, eax", "0x100a461b"], ["0x100b83ed", "je 0x7", "0x100a461d"], ["0x100b83ef", "mov ebp, dword ptr [edx]", "0x100a461f"], ["0x100b83f1", "mov dword ptr [eax + 8], ebp", "0x100a4621"], ["0x100b83f4", "jmp 0x5", "0x100a4624"], ["0x100b83f6", "mov eax, dword ptr [edx]", "0x100a4626"]]}, {"orig": [["0x100b83f8", "mov dword ptr [ebx + 0x10], eax"]], "recomp": [["0x100a4628", "mov dword ptr [edi + 0x10], eax"]]}, {"both": [["0x100b83fb", "mov eax, dword ptr [edx]", "0x100a462b"], ["0x100b83fd", "test eax, eax", "0x100a462d"], ["0x100b83ff", "je 0x8", "0x100a462f"], ["0x100b8401", "mov edx, dword ptr [ecx + 4]", "0x100a4631"], ["0x100b8404", "mov dword ptr [eax + 4], edx", "0x100a4634"], ["0x100b8407", "jmp 0x6", "0x100a4637"], ["0x100b8409", "mov eax, dword ptr [ecx + 4]", "0x100a4639"]]}, {"orig": [["0x100b840c", "mov dword ptr [ebx + 0x14], eax"]], "recomp": [["0x100a463c", "mov dword ptr [edi + 0x14], eax"]]}, {"both": [["0x100b840f", "push ecx", "0x100a463f"], ["0x100b8410", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a4640"], ["0x100b8415", "add esp, 4", "0x100a4645"]]}, {"orig": [["0x100b8418", "dec dword ptr [ebx + 8]"], ["0x100b841b", "mov dword ptr [edi + 0xc], 0"]], "recomp": [["0x100a4648", "dec dword ptr [edi + 8]"], ["0x100a464b", "mov dword ptr [ebx + 0xc], 0"]]}, {"both": [["0x100b8422", "test esi, esi", "0x100a4652"], ["0x100b8424", "je 0x21", "0x100a4654"], ["0x100b8426", "push 1", "0x100a4656"], ["0x100b8428", "mov eax, dword ptr [esi]", "0x100a4658"], ["0x100b842a", "mov ecx, esi", "0x100a465a"], ["0x100b842c", "call dword ptr [eax]", "0x100a465c"], ["0x100b842e", "pop ebp", "0x100a465e"], ["0x100b842f", "pop edi", "0x100a465f"], ["0x100b8430", "pop esi", "0x100a4660"], ["0x100b8431", "pop ebx", "0x100a4661"]]}]]]}, {"address": "0x100b8450", "recomp": "0x100a4680", "name": "MxDSSubscriberList::Find", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b8450,17 +0x100a4680,17 @@", [{"both": [["0x100b8450", "mov edx, dword ptr [esp + 4]", "0x100a4680"], ["0x100b8454", "sub esp, 4", "0x100a4684"], ["0x100b8457", "mov ecx, dword ptr [ecx + 4]", "0x100a4687"], ["0x100b845a", "push esi", "0x100a468a"], ["0x100b845b", "mov eax, dword ptr [ecx]", "0x100a468b"], ["0x100b845d", "mov dword ptr [esp + 4], eax", "0x100a468d"]]}, {"orig": [["0x100b8461", "cmp ecx, dword ptr [esp + 4]"]], "recomp": [["0x100a4691", "cmp dword ptr [esp + 4], ecx"]]}, {"both": [["0x100b8465", "je 0x37", "0x100a4695"], ["0x100b8467", "mov esi, dword ptr [edx + 0x1c]", "0x100a4697"], ["0x100b846a", "cmp esi, -1", "0x100a469a"], ["0x100b846d", "je 0xc", "0x100a469d"], ["0x100b846f", "mov eax, dword ptr [esp + 4]", "0x100a469f"], ["0x100b8473", "mov eax, dword ptr [eax + 8]", "0x100a46a3"], ["0x100b8476", "cmp dword ptr [eax + 0x44], esi", "0x100a46a6"], ["0x100b8479", "jne 0x17", "0x100a46a9"], ["0x100b847b", "mov si, word ptr [edx + 0x24]", "0x100a46ab"], ["0x100b847f", "cmp si, -2", "0x100a46af"]]}]]]}, {"address": "0x100b84c0", "recomp": "0x100a46f0", "name": "MxMediaManager::MxMediaManager", "matching": 1.0, "diff": []}, {"address": "0x100b8540", "recomp": "0x100a4770", "name": "MxMediaManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b8560", "recomp": "0x100a4790", "name": "MxMediaManager::~MxMediaManager", "matching": 1.0, "diff": []}, {"address": "0x100b85d0", "recomp": "0x100a4800", "name": "MxMediaManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100b85e0", "recomp": "0x100a4810", "name": "MxMediaManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100b8710", "recomp": "0x100a4940", "name": "MxMediaManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b8790", "recomp": "0x100a49c0", "name": "MxMediaManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100b88c0", "recomp": "0x100a4af0", "name": "MxMediaManager::RegisterPresenter", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b88d1,46 +0x100a4b01,46 @@", [{"both": [["0x100b88d1", "mov dword ptr fs:[0], esp", "0x100a4b01"], ["0x100b88d8", "sub esp, 8", "0x100a4b08"], ["0x100b88db", "push ebx", "0x100a4b0b"], ["0x100b88dc", "push esi", "0x100a4b0c"], ["0x100b88dd", "lea eax, [ecx + 0x10]", "0x100a4b0d"], ["0x100b88e0", "push edi", "0x100a4b10"], ["0x100b88e1", "mov esi, ecx", "0x100a4b11"], ["0x100b88e3", "push eax", "0x100a4b13"], ["0x100b88e4", "lea ecx, [ebp - 0x10]", "0x100a4b14"], ["0x100b88e7", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100a4b17"]]}, {"orig": [["0x100b88ec", "mov esi, dword ptr [esi + 8]"]], "recomp": [["0x100a4b1c", "mov ebx, dword ptr [esi + 8]"]]}, {"both": [["0x100b88ef", "push 0xc", "0x100a4b1f"], ["0x100b88f1", "mov dword ptr [ebp - 4], 0", "0x100a4b21"]]}, {"orig": [["0x100b88f8", "mov ebx, dword ptr [esi + 0x14]"]], "recomp": [["0x100a4b28", "mov esi, dword ptr [ebx + 0x14]"]]}, {"both": [["0x100b88fb", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a4b2b"], ["0x100b8900", "mov dword ptr [ebp - 0x14], eax", "0x100a4b30"], ["0x100b8903", "add esp, 4", "0x100a4b33"], ["0x100b8906", "mov byte ptr [ebp - 4], 1", "0x100a4b36"], ["0x100b890a", "mov edi, eax", "0x100a4b3a"], ["0x100b890c", "mov eax, 0", "0x100a4b3c"], ["0x100b8911", "test edi, edi", "0x100a4b41"], ["0x100b8913", "je 0x11", "0x100a4b43"], ["0x100b8915", "mov eax, dword ptr [ebp + 8]", "0x100a4b45"], ["0x100b8918", "mov dword ptr [edi], eax", "0x100a4b48"], ["0x100b891a", "mov eax, edi", "0x100a4b4a"]]}, {"orig": [["0x100b891c", "mov dword ptr [edi + 4], ebx"]], "recomp": [["0x100a4b4c", "mov dword ptr [edi + 4], esi"]]}, {"both": [["0x100b891f", "mov dword ptr [edi + 8], 0", "0x100a4b4f"], ["0x100b8926", "mov byte ptr [ebp - 4], 0", "0x100a4b56"]]}, {"orig": [["0x100b892a", "test ebx, ebx"]], "recomp": [["0x100a4b5a", "test esi, esi"]]}, {"both": [["0x100b892c", "je 0x5", "0x100a4b5c"]]}, {"orig": [["0x100b892e", "mov dword ptr [ebx + 8], eax"]], "recomp": [["0x100a4b5e", "mov dword ptr [esi + 8], eax"]]}, {"both": [["0x100b8931", "jmp 0x3", "0x100a4b61"]]}, {"orig": [["0x100b8933", "mov dword ptr [esi + 0x10], eax"]], "recomp": [["0x100a4b63", "mov dword ptr [ebx + 0x10], eax"]]}, {"both": [["0x100b8936", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a4b66"]]}, {"orig": [["0x100b893d", "mov dword ptr [esi + 0x14], eax"], ["0x100b8940", "inc dword ptr [esi + 8]"]], "recomp": [["0x100a4b6d", "mov dword ptr [ebx + 0x14], eax"], ["0x100a4b70", "inc dword ptr [ebx + 8]"]]}, {"both": [["0x100b8943", "call <OFFSET4>", "0x100a4b73"], ["0x100b8948", "mov eax, dword ptr [ebp - 0xc]", "0x100a4b78"], ["0x100b894b", "pop edi", "0x100a4b7b"], ["0x100b894c", "mov dword ptr fs:[0], eax", "0x100a4b7c"], ["0x100b8952", "pop esi", "0x100a4b82"], ["0x100b8953", "pop ebx", "0x100a4b83"], ["0x100b8954", "mov esp, ebp", "0x100a4b84"], ["0x100b8956", "pop ebp", "0x100a4b86"], ["0x100b8957", "ret 4", "0x100a4b87"], ["0x100b895a", "mov eax, dword ptr [ebp - 0x14]", "0x100a4b8a"]]}]]]}, {"address": "0x100b8980", "recomp": "0x100a4bb0", "name": "MxMediaManager::UnregisterPresenter", "matching": 1.0, "diff": []}, {"address": "0x100b8ac0", "recomp": "0x100a4cf0", "name": "MxMediaManager::StopPresenters", "matching": 1.0, "diff": []}, {"address": "0x100b8bb0", "recomp": "0x100ac190", "name": "MxTickleThread::MxTickleThread", "matching": 1.0, "diff": []}, {"address": "0x100b8c20", "recomp": "0x100ac200", "name": "MxTickleThread::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b8c90", "recomp": "0x100ac270", "name": "MxTickleThread::Run", "matching": 0.5348837209302325, "diff": [["@@ -0x100b8c90,43 +0x100ac270,43 @@", [{"both": [["0x100b8c90", "push ebx", "0x100ac270"], ["0x100b8c91", "push esi", "0x100ac271"], ["0x100b8c92", "push edi", "0x100ac272"]]}, {"orig": [], "recomp": [["0x100ac273", "mov esi, ecx"]]}, {"both": [["0x100b8c93", "push ebp", "0x100ac275"]]}, {"orig": [["0x100b8c94", "mov ebp, ecx"]], "recomp": []}, {"both": [["0x100b8c96", "call Timer (FUNCTION)", "0x100ac276"]]}, {"orig": [["0x100b8c9b", "mov esi, eax"], ["0x100b8c9d", "mov edi, dword ptr [ebp + 0x1c]"], ["0x100b8ca0", "neg edi"], ["0x100b8ca2", "cmp byte ptr [ebp + 0xc], 0"]], "recomp": [["0x100ac27b", "mov edi, eax"], ["0x100ac27d", "mov ebx, dword ptr [esi + 0x1c]"], ["0x100ac280", "neg ebx"], ["0x100ac282", "cmp byte ptr [esi + 0xc], 0"]]}, {"both": [["0x100b8ca6", "je 0x45", "0x100ac286"]]}, {"orig": [["0x100b8ca8", "cmp byte ptr [esi + 0xc], 0"]], "recomp": [["0x100ac288", "cmp byte ptr [edi + 0xc], 0"]]}, {"both": [["0x100b8cac", "je 0x8", "0x100ac28c"]]}, {"orig": [["0x100b8cae", "mov ebx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]], "recomp": [["0x100ac28e", "mov ebp, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]"]]}, {"both": [["0x100b8cb4", "jmp 0x9", "0x100ac294"]]}, {"orig": [["0x100b8cb6", "mov ebx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x100b8cbc", "sub ebx, dword ptr [esi + 8]"], ["0x100b8cbf", "cmp ebx, edi"]], "recomp": [["0x100ac296", "mov ebp, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]"], ["0x100ac29c", "sub ebp, dword ptr [edi + 8]"], ["0x100ac29f", "cmp ebp, ebx"]]}, {"both": [["0x100b8cc1", "jge 0x5", "0x100ac2a1"]]}, {"orig": [["0x100b8cc3", "mov edi, dword ptr [ebp + 0x1c]"], ["0x100b8cc6", "neg edi"], ["0x100b8cc8", "mov eax, dword ptr [ebp + 0x1c]"], ["0x100b8ccb", "sub eax, ebx"], ["0x100b8ccd", "add eax, edi"]], "recomp": [["0x100ac2a3", "mov ebx, dword ptr [esi + 0x1c]"], ["0x100ac2a6", "neg ebx"], ["0x100ac2a8", "mov eax, dword ptr [esi + 0x1c]"], ["0x100ac2ab", "sub eax, ebp"], ["0x100ac2ad", "add eax, ebx"]]}, {"both": [["0x100b8ccf", "test eax, eax", "0x100ac2af"], ["0x100b8cd1", "jg 0xc", "0x100ac2b1"]]}, {"orig": [["0x100b8cd3", "mov ecx, dword ptr [ebp + 0x18]"], ["0x100b8cd6", "mov edi, ebx"]], "recomp": [["0x100ac2b3", "mov ecx, dword ptr [esi + 0x18]"], ["0x100ac2b6", "mov ebx, ebp"]]}, {"both": [["0x100b8cd8", "mov eax, dword ptr [ecx]", "0x100ac2b8"], ["0x100b8cda", "call dword ptr [eax + 8]", "0x100ac2ba"], ["0x100b8cdd", "xor eax, eax", "0x100ac2bd"], ["0x100b8cdf", "push eax", "0x100ac2bf"]]}, {"orig": [["0x100b8ce0", "mov ecx, ebp"]], "recomp": [["0x100ac2c0", "mov ecx, esi"]]}, {"both": [["0x100b8ce2", "call MxThread::Sleep (FUNCTION)", "0x100ac2c2"]]}, {"orig": [["0x100b8ce7", "cmp byte ptr [ebp + 0xc], 0"]], "recomp": [["0x100ac2c7", "cmp byte ptr [esi + 0xc], 0"]]}, {"both": [["0x100b8ceb", "jne -0x45", "0x100ac2cb"]]}, {"orig": [["0x100b8ced", "mov ecx, ebp"]], "recomp": [["0x100ac2cd", "mov ecx, esi"]]}, {"both": [["0x100b8cef", "call MxThread::Run (FUNCTION)", "0x100ac2cf"], ["0x100b8cf4", "pop ebp", "0x100ac2d4"], ["0x100b8cf5", "pop edi", "0x100ac2d5"], ["0x100b8cf6", "pop esi", "0x100ac2d6"], ["0x100b8cf7", "pop ebx", "0x100ac2d7"], ["0x100b8cf8", "ret ", "0x100ac2d8"]]}]]]}, {"address": "0x100b8d00", "recomp": "0x100a4de0", "name": "MxAudioManager::MxAudioManager", "matching": 1.0, "diff": []}, {"address": "0x100b8d70", "recomp": "0x100a4e50", "name": "MxAudioManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b8d90", "recomp": "0x100a4e70", "name": "MxAudioManager::~MxAudioManager", "matching": 1.0, "diff": []}, {"address": "0x100b8df0", "recomp": "0x100a4ed0", "name": "MxAudioManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100b8e00", "recomp": "0x100a4ee0", "name": "MxAudioManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b8e40", "recomp": "0x100a4f20", "name": "MxAudioManager::Create", "matching": 0.6428571428571429, "diff": [["@@ -0x100b8e40,28 +0x100a4f20,28 @@", [{"both": [["0x100b8e40", "push ebx", "0x100a4f20"], ["0x100b8e41", "push esi", "0x100a4f21"], ["0x100b8e42", "push edi", "0x100a4f22"]]}, {"orig": [["0x100b8e43", "mov esi, ecx"], ["0x100b8e45", "mov edi, 0xffffffff"]], "recomp": [["0x100a4f23", "mov esi, 0xffffffff"], ["0x100a4f28", "mov edi, ecx"], ["0x100a4f2a", "xor bl, bl"]]}, {"both": [["0x100b8e4a", "call MxMediaManager::Create (FUNCTION)", "0x100a4f2c"]]}, {"orig": [["0x100b8e4f", "xor bl, bl"]], "recomp": []}, {"both": [["0x100b8e51", "test eax, eax", "0x100a4f31"], ["0x100b8e53", "jne 0x12", "0x100a4f33"]]}, {"orig": [["0x100b8e55", "lea ecx, [esi + 0x10]"]], "recomp": [["0x100a4f35", "lea ecx, [edi + 0x10]"]]}, {"both": [["0x100b8e58", "mov bl, 1", "0x100a4f38"]]}, {"orig": [["0x100b8e5a", "xor edi, edi"]], "recomp": [["0x100a4f3a", "xor esi, esi"]]}, {"both": [["0x100b8e5c", "call MxCriticalSection::Enter (FUNCTION)", "0x100a4f3c"], ["0x100b8e61", "inc dword ptr [MxAudioManager::g_count (DATA)]", "0x100a4f41"]]}, {"orig": [["0x100b8e67", "test edi, edi"]], "recomp": [["0x100a4f47", "test esi, esi"]]}, {"both": [["0x100b8e69", "je 0x7", "0x100a4f49"]]}, {"orig": [["0x100b8e6b", "mov eax, dword ptr [esi]"], ["0x100b8e6d", "mov ecx, esi"]], "recomp": [["0x100a4f4b", "mov eax, dword ptr [edi]"], ["0x100a4f4d", "mov ecx, edi"]]}, {"both": [["0x100b8e6f", "call dword ptr [eax + 0x18]", "0x100a4f4f"], ["0x100b8e72", "test bl, bl", "0x100a4f52"], ["0x100b8e74", "je 0x8", "0x100a4f54"]]}, {"orig": [["0x100b8e76", "lea ecx, [esi + 0x10]"]], "recomp": [["0x100a4f56", "lea ecx, [edi + 0x10]"]]}, {"both": [["0x100b8e79", "call MxCriticalSection::Leave (FUNCTION)", "0x100a4f59"]]}, {"orig": [["0x100b8e7e", "mov eax, edi"]], "recomp": [["0x100a4f5e", "mov eax, esi"]]}, {"both": [["0x100b8e80", "pop edi", "0x100a4f60"], ["0x100b8e81", "pop esi", "0x100a4f61"], ["0x100b8e82", "pop ebx", "0x100a4f62"], ["0x100b8e83", "ret ", "0x100a4f63"]]}]]]}, {"address": "0x100b8e90", "recomp": "0x100a4f70", "name": "MxAudioManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b8ea0", "recomp": "0x100a4f80", "name": "MxAudioManager::SetVolume", "matching": 1.0, "diff": []}, {"address": "0x100b8ed0", "recomp": "0x100a4fb0", "name": "MxAutoLock::MxAutoLock", "matching": 1.0, "diff": []}, {"address": "0x100b8ef0", "recomp": "0x100a4fd0", "name": "MxAutoLock::~MxAutoLock", "matching": 1.0, "diff": []}, {"address": "0x100b8f00", "recomp": "0x100a4fe0", "name": "MxStreamer::MxStreamer", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b8f42,28 +0x100a5022,28 @@", [{"both": [["0x100b8f42", "mov dword ptr [eax + 4], eax", "0x100a5022"], ["0x100b8f45", "mov dword ptr [esi + 0xc], eax", "0x100a5025"], ["0x100b8f48", "mov dword ptr [esi + 0x10], ebx", "0x100a5028"], ["0x100b8f4b", "lea eax, [esi + 0x1c]", "0x100a502b"], ["0x100b8f4e", "mov dword ptr [esi + 0x14], ebx", "0x100a502e"], ["0x100b8f51", "mov dword ptr [esi + 0x18], 0x40", "0x100a5031"], ["0x100b8f58", "mov dword ptr [eax], 0", "0x100a5038"], ["0x100b8f5e", "sub eax, 4", "0x100a503e"], ["0x100b8f61", "dec ebx", "0x100a5041"], ["0x100b8f62", "jns -0xc", "0x100a5042"]]}, {"orig": [["0x100b8f64", "xor eax, eax"], ["0x100b8f66", "lea ecx, [esi + 0x28]"]], "recomp": [["0x100a5044", "xor ecx, ecx"], ["0x100a5046", "lea eax, [esi + 0x28]"]]}, {"both": [["0x100b8f69", "mov byte ptr [ebp - 4], 3", "0x100a5049"], ["0x100b8f6d", "mov dword ptr [esi + 0x20], 0", "0x100a504d"], ["0x100b8f74", "mov dword ptr [esi + 0x24], 0x80", "0x100a5054"]]}, {"orig": [["0x100b8f7b", "mov dword ptr [ecx], 0"], ["0x100b8f81", "sub ecx, 4"], ["0x100b8f84", "dec eax"]], "recomp": [["0x100a505b", "mov dword ptr [eax], 0"], ["0x100a5061", "sub eax, 4"], ["0x100a5064", "dec ecx"]]}, {"both": [["0x100b8f85", "jns -0xc", "0x100a5065"], ["0x100b8f87", "mov byte ptr [ebp - 4], 4", "0x100a5067"], ["0x100b8f8b", "push esi", "0x100a506b"], ["0x100b8f8c", "mov dword ptr [esi], MxStreamer::`vftable' (VTABLE)", "0x100a506c"], ["0x100b8f92", "call NotificationManager (FUNCTION)", "0x100a5072"], ["0x100b8f97", "mov ecx, eax", "0x100a5077"], ["0x100b8f99", "call MxNotificationManager::Register (FUNCTION)", "0x100a5079"], ["0x100b8f9e", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a507e"], ["0x100b8fa5", "mov eax, esi", "0x100a5085"], ["0x100b8fa7", "mov ecx, dword ptr [ebp - 0xc]", "0x100a5087"]]}]]]}, {"address": "0x100b9000", "recomp": "0x100a50e0", "name": "MxStreamer::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b9010", "recomp": "0x100a50f0", "name": "MxStreamer::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b9090", "recomp": "0x100a5170", "name": "list<MxStreamController *,allocator<MxStreamController *> >::~list<MxStreamController *,allocator<MxStreamController *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b9090,36 +0x100a5170,36 @@", [{"both": [["0x100b9090", "sub esp, 0xc", "0x100a5170"], ["0x100b9093", "push esi", "0x100a5173"], ["0x100b9094", "push edi", "0x100a5174"], ["0x100b9095", "mov eax, dword ptr [ecx + 4]", "0x100a5175"], ["0x100b9098", "mov esi, ecx", "0x100a5178"], ["0x100b909a", "mov dword ptr [esp + 0x10], eax", "0x100a517a"], ["0x100b909e", "mov ecx, dword ptr [eax]", "0x100a517e"], ["0x100b90a0", "mov edi, ecx", "0x100a5180"]]}, {"orig": [["0x100b90a2", "cmp eax, ecx"]], "recomp": [["0x100a5182", "cmp ecx, eax"]]}, {"both": [["0x100b90a4", "je 0x2e", "0x100a5184"], ["0x100b90a6", "lea edx, [edi + 4]", "0x100a5186"], ["0x100b90a9", "mov dword ptr [esp + 8], edi", "0x100a5189"], ["0x100b90ad", "mov eax, edi", "0x100a518d"], ["0x100b90af", "mov edi, dword ptr [edi]", "0x100a518f"], ["0x100b90b1", "mov ecx, dword ptr [edx]", "0x100a5191"], ["0x100b90b3", "mov eax, dword ptr [eax]", "0x100a5193"], ["0x100b90b5", "mov dword ptr [ecx], eax", "0x100a5195"], ["0x100b90b7", "mov ecx, dword ptr [edx]", "0x100a5197"], ["0x100b90b9", "mov eax, dword ptr [esp + 8]", "0x100a5199"], ["0x100b90bd", "push eax", "0x100a519d"], ["0x100b90be", "mov edx, dword ptr [eax]", "0x100a519e"], ["0x100b90c0", "mov dword ptr [edx + 4], ecx", "0x100a51a0"], ["0x100b90c3", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a51a3"], ["0x100b90c8", "add esp, 4", "0x100a51a8"], ["0x100b90cb", "dec dword ptr [esi + 8]", "0x100a51ab"]]}, {"orig": [["0x100b90ce", "cmp edi, dword ptr [esp + 0x10]"]], "recomp": [["0x100a51ae", "cmp dword ptr [esp + 0x10], edi"]]}, {"both": [["0x100b90d2", "jne -0x2e", "0x100a51b2"], ["0x100b90d4", "mov eax, dword ptr [esi + 4]", "0x100a51b4"], ["0x100b90d7", "push eax", "0x100a51b7"], ["0x100b90d8", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a51b8"], ["0x100b90dd", "mov dword ptr [esi + 4], 0", "0x100a51bd"], ["0x100b90e4", "add esp, 4", "0x100a51c4"], ["0x100b90e7", "mov dword ptr [esi + 8], 0", "0x100a51c7"], ["0x100b90ee", "pop edi", "0x100a51ce"], ["0x100b90ef", "pop esi", "0x100a51cf"], ["0x100b90f0", "add esp, 0xc", "0x100a51d0"]]}]]]}, {"address": "0x100b9100", "recomp": "0x100a51e0", "name": "MxMemoryPool<64,22>::~MxMemoryPool<64,22>", "matching": 1.0, "diff": []}, {"address": "0x100b9110", "recomp": "0x100a51f0", "name": "MxMemoryPool<128,2>::~MxMemoryPool<128,2>", "matching": 1.0, "diff": []}, {"address": "0x100b9120", "recomp": "0x100a5200", "name": "MxStreamer::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b9140", "recomp": "0x100a5220", "name": "List<MxStreamController *>::~List<MxStreamController *>", "matching": 1.0, "diff": []}, {"address": "0x100b9190", "recomp": "0x100a5270", "name": "MxStreamer::Create", "matching": 1.0, "diff": []}, {"address": "0x100b91d0", "recomp": "0x100a52b0", "name": "MxStreamer::~MxStreamer", "matching": 1.0, "diff": []}, {"address": "0x100b92c0", "recomp": "0x100a53a0", "name": "MxStreamer::Open", "matching": 0.821256038647343, "diff": [["@@ -0x100b92c9,95 +0x100a53a9,94 @@", [{"both": [["0x100b92c9", "push -1", "0x100a53a9"], ["0x100b92cb", "push <OFFSET1>", "0x100a53ab"], ["0x100b92d0", "push eax", "0x100a53b0"], ["0x100b92d1", "mov dword ptr fs:[0], esp", "0x100a53b1"], ["0x100b92d8", "sub esp, 8", "0x100a53b8"], ["0x100b92db", "mov dword ptr [ebp - 0x14], ecx", "0x100a53bb"], ["0x100b92de", "push ebx", "0x100a53be"], ["0x100b92df", "push esi", "0x100a53bf"], ["0x100b92e0", "xor ebx, ebx", "0x100a53c0"], ["0x100b92e2", "push edi", "0x100a53c2"]]}, {"orig": [["0x100b92e3", "mov edi, dword ptr [ebp + 8]"], ["0x100b92e6", "push edi"]], "recomp": [["0x100a53c3", "mov esi, dword ptr [ebp + 8]"], ["0x100a53c6", "push esi"]]}, {"both": [["0x100b92e7", "call MxStreamer::GetOpenStream (FUNCTION)", "0x100a53c7"], ["0x100b92ec", "test eax, eax", "0x100a53cc"], ["0x100b92ee", "jne 0x38", "0x100a53ce"], ["0x100b92f0", "mov eax, dword ptr [ebp + 0xc]", "0x100a53d0"], ["0x100b92f3", "and eax, 0xffff", "0x100a53d3"], ["0x100b92f8", "je 0x43", "0x100a53d8"], ["0x100b92fa", "cmp eax, 1", "0x100a53da"], ["0x100b92fd", "je 0x7f", "0x100a53dd"], ["0x100b92ff", "test ebx, ebx", "0x100a53df"], ["0x100b9301", "je 0x25", "0x100a53e1"]]}, {"orig": [["0x100b9303", "mov esi, dword ptr [ebx]"], ["0x100b9305", "push edi"]], "recomp": [["0x100a53e3", "mov edi, dword ptr [ebx]"], ["0x100a53e5", "push esi"]]}, {"both": [["0x100b9306", "mov ecx, ebx", "0x100a53e6"]]}, {"orig": [["0x100b9308", "call dword ptr [esi + 0x14]"]], "recomp": [["0x100a53e8", "call dword ptr [edi + 0x14]"]]}, {"both": [["0x100b930b", "test eax, eax", "0x100a53eb"], ["0x100b930d", "jne 0xd", "0x100a53ed"], ["0x100b930f", "push ebx", "0x100a53ef"], ["0x100b9310", "mov ecx, dword ptr [ebp - 0x14]", "0x100a53f0"], ["0x100b9313", "call MxStreamer::AddStreamControllerToOpenList (FUNCTION)", "0x100a53f3"], ["0x100b9318", "test eax, eax", "0x100a53f8"], ["0x100b931a", "je 0xc", "0x100a53fa"], ["0x100b931c", "test ebx, ebx", "0x100a53fc"], ["0x100b931e", "je 0x6", "0x100a53fe"], ["0x100b9320", "push 1", "0x100a5400"], ["0x100b9322", "mov ecx, ebx", "0x100a5402"]]}, {"orig": [["0x100b9324", "call dword ptr [esi]"]], "recomp": [["0x100a5404", "call dword ptr [edi]"]]}, {"both": [["0x100b9326", "xor ebx, ebx", "0x100a5406"], ["0x100b9328", "mov eax, ebx", "0x100a5408"], ["0x100b932a", "mov ecx, dword ptr [ebp - 0xc]", "0x100a540a"], ["0x100b932d", "mov dword ptr fs:[0], ecx", "0x100a540d"], ["0x100b9334", "pop edi", "0x100a5414"], ["0x100b9335", "pop esi", "0x100a5415"], ["0x100b9336", "pop ebx", "0x100a5416"], ["0x100b9337", "mov esp, ebp", "0x100a5417"], ["0x100b9339", "pop ebp", "0x100a5419"], ["0x100b933a", "ret 8", "0x100a541a"], ["0x100b933d", "push 0xc8", "0x100a541d"], ["0x100b9342", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a5422"], ["0x100b9347", "mov dword ptr [ebp - 0x10], eax", "0x100a5427"], ["0x100b934a", "add esp, 4", "0x100a542a"], ["0x100b934d", "mov dword ptr [ebp - 4], 0", "0x100a542d"]]}, {"orig": [["0x100b9354", "mov esi, eax"]], "recomp": [["0x100a5434", "mov edi, eax"]]}, {"both": [["0x100b9356", "mov eax, 0", "0x100a5436"]]}, {"orig": [["0x100b935b", "test esi, esi"]], "recomp": [["0x100a543b", "test edi, edi"]]}, {"both": [["0x100b935d", "je 0x7", "0x100a543d"]]}, {"orig": [["0x100b935f", "mov ecx, esi"]], "recomp": [["0x100a543f", "mov ecx, edi"]]}, {"both": [["0x100b9361", "call MxDiskStreamController::MxDiskStreamController (FUNCTION)", "0x100a5441"], ["0x100b9366", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a5446"], ["0x100b936d", "mov ebx, eax", "0x100a544d"], ["0x100b936f", "jmp -0x72", "0x100a544f"], ["0x100b9371", "mov eax, dword ptr [ebp - 0x10]", "0x100a5451"], ["0x100b9374", "push eax", "0x100a5454"], ["0x100b9375", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a5455"], ["0x100b937a", "add esp, 4", "0x100a545a"], ["0x100b937d", "ret ", "0x100a545d"], ["0x100b937e", "push 0x98", "0x100a545e"]]}, {"orig": [["0x100b9383", "mov ebx, 1"]], "recomp": []}, {"both": [["0x100b9388", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a5463"], ["0x100b938d", "mov dword ptr [ebp - 0x10], eax", "0x100a5468"], ["0x100b9390", "add esp, 4", "0x100a546b"]]}, {"orig": [["0x100b9393", "mov esi, eax"], ["0x100b9395", "mov dword ptr [ebp - 4], ebx"], ["0x100b9398", "test esi, esi"], ["0x100b939a", "je 0x37"], ["0x100b939c", "mov ecx, esi"]], "recomp": [["0x100a546e", "mov dword ptr [ebp - 4], 1"], ["0x100a5475", "mov edi, eax"], ["0x100a5477", "test edi, edi"], ["0x100a5479", "je 0x38"], ["0x100a547b", "mov ecx, edi"]]}, {"both": [["0x100b939e", "call MxStreamController::MxStreamController (FUNCTION)", "0x100a547d"]]}, {"orig": [], "recomp": [["0x100a5482", "lea ecx, [edi + 0x64]"], ["0x100a5485", "mov ebx, edi"]]}, {"both": [["0x100b93a3", "mov byte ptr [ebp - 4], 2", "0x100a5487"]]}, {"orig": [["0x100b93a7", "lea ecx, [esi + 0x64]"]], "recomp": []}, {"both": [["0x100b93aa", "call MxDSBuffer::MxDSBuffer (FUNCTION)", "0x100a548b"], ["0x100b93af", "mov byte ptr [ebp - 4], 3", "0x100a5490"]]}, {"orig": [["0x100b93b3", "mov dword ptr [esi], MxRAMStreamController::`vftable' (VTABLE)"], ["0x100b93b9", "mov byte ptr [ebp - 4], bl"], ["0x100b93bc", "mov ebx, esi"]], "recomp": [["0x100a5494", "mov byte ptr [ebp - 4], 1"], ["0x100a5498", "mov dword ptr [edi], MxRAMStreamController::`vftable' (VTABLE)"]]}, {"both": [["0x100b93be", "jmp 0x15", "0x100a549e"], ["0x100b93c0", "mov ecx, dword ptr [ebp - 0x10]", "0x100a54a0"], ["0x100b93c3", "add ecx, 0x64", "0x100a54a3"], ["0x100b93c6", "jmp MxDSBuffer::~MxDSBuffer (FUNCTION)", "0x100a54a6"], ["0x100b93cb", "mov ecx, dword ptr [ebp - 0x10]", "0x100a54ab"], ["0x100b93ce", "jmp MxStreamController::~MxStreamController (FUNCTION)", "0x100a54ae"], ["0x100b93d3", "xor ebx, ebx", "0x100a54b3"], ["0x100b93d5", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a54b5"], ["0x100b93dc", "jmp -0xe2", "0x100a54bc"], ["0x100b93e1", "mov eax, <OFFSET10>", "0x100a54c1"]]}]]]}, {"address": "0x100b9400", "recomp": "0x100a54e0", "name": "MxStreamController::VTable0x18", "matching": 1.0, "diff": []}, {"address": "0x100b9410", "recomp": "0x100a54f0", "name": "MxStreamController::VTable0x1c", "matching": 1.0, "diff": []}, {"address": "0x100b9420", "recomp": "0x100a5500", "name": "MxStreamController::VTable0x28", "matching": 1.0, "diff": []}, {"address": "0x100b9430", "recomp": "0x100a5510", "name": "MxRAMStreamController::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100b9440", "recomp": "0x100a5520", "name": "MxRAMStreamController::IsA", "matching": 1.0, "diff": []}, {"address": "0x100b94f0", "recomp": "0x100a55d0", "name": "MxRAMStreamController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b9570", "recomp": "0x100a5650", "name": "MxStreamer::Close", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b9576,36 +0x100a5656,36 @@", [{"both": [["0x100b9576", "push ebp", "0x100a5656"], ["0x100b9577", "mov ebp, esp", "0x100a5657"], ["0x100b9579", "push -1", "0x100a5659"], ["0x100b957b", "push <OFFSET1>", "0x100a565b"], ["0x100b9580", "push eax", "0x100a5660"], ["0x100b9581", "mov dword ptr fs:[0], esp", "0x100a5661"], ["0x100b9588", "sub esp, 0xa4", "0x100a5668"], ["0x100b958e", "push ebx", "0x100a566e"], ["0x100b958f", "push esi", "0x100a566f"], ["0x100b9590", "push edi", "0x100a5670"]]}, {"orig": [["0x100b9591", "mov esi, ecx"]], "recomp": [["0x100a5671", "mov edi, ecx"]]}, {"both": [["0x100b9593", "lea ecx, [ebp - 0xb0]", "0x100a5673"], ["0x100b9599", "call MxDSAction::MxDSAction (FUNCTION)", "0x100a5679"], ["0x100b959e", "mov dword ptr [ebp - 4], 0", "0x100a567e"]]}, {"orig": [["0x100b95a5", "mov eax, dword ptr [esi + 0xc]"]], "recomp": [["0x100a5685", "mov eax, dword ptr [edi + 0xc]"]]}, {"both": [["0x100b95a8", "mov word ptr [ebp - 0x8c], 0xfffe", "0x100a5688"], ["0x100b95b1", "mov ecx, dword ptr [eax]", "0x100a5691"], ["0x100b95b3", "mov dword ptr [ebp - 0x10], ecx", "0x100a5693"], ["0x100b95b6", "cmp ecx, eax", "0x100a5696"], ["0x100b95b8", "je 0x48", "0x100a5698"], ["0x100b95ba", "mov ebx, dword ptr [ebp + 8]", "0x100a569a"], ["0x100b95bd", "mov eax, dword ptr [ebp - 0x10]", "0x100a569d"], ["0x100b95c0", "test ebx, ebx", "0x100a56a0"]]}, {"orig": [["0x100b95c2", "mov edi, dword ptr [eax + 8]"]], "recomp": [["0x100a56a2", "mov esi, dword ptr [eax + 8]"]]}, {"both": [["0x100b95c5", "je 0x5f", "0x100a56a5"]]}, {"orig": [["0x100b95c7", "mov eax, dword ptr [edi + 0x24]"]], "recomp": [["0x100a56a7", "mov eax, dword ptr [esi + 0x24]"]]}, {"both": [["0x100b95ca", "mov edx, ebx", "0x100a56aa"], ["0x100b95cc", "mov cl, byte ptr [eax]", "0x100a56ac"], ["0x100b95ce", "cmp cl, byte ptr [edx]", "0x100a56ae"], ["0x100b95d0", "jne 0x1a", "0x100a56b0"], ["0x100b95d2", "or cl, cl", "0x100a56b2"], ["0x100b95d4", "je 0x12", "0x100a56b4"], ["0x100b95d6", "mov cl, byte ptr [eax + 1]", "0x100a56b6"], ["0x100b95d9", "cmp cl, byte ptr [edx + 1]", "0x100a56b9"], ["0x100b95dc", "jne 0xe", "0x100a56bc"], ["0x100b95de", "add eax, 2", "0x100a56be"]]}]], ["@@ -0x100b95e6,21 +0x100a56c6,21 @@", [{"both": [["0x100b95e6", "jne -0x1c", "0x100a56c6"], ["0x100b95e8", "xor eax, eax", "0x100a56c8"], ["0x100b95ea", "jmp 0x5", "0x100a56ca"], ["0x100b95ec", "sbb eax, eax", "0x100a56cc"], ["0x100b95ee", "sbb eax, -1", "0x100a56ce"], ["0x100b95f1", "test eax, eax", "0x100a56d1"], ["0x100b95f3", "je 0x31", "0x100a56d3"], ["0x100b95f5", "mov eax, dword ptr [ebp - 0x10]", "0x100a56d5"], ["0x100b95f8", "mov ecx, dword ptr [eax]", "0x100a56d8"], ["0x100b95fa", "mov dword ptr [ebp - 0x10], ecx", "0x100a56da"]]}, {"orig": [["0x100b95fd", "cmp dword ptr [esi + 0xc], ecx"]], "recomp": [["0x100a56dd", "cmp dword ptr [edi + 0xc], ecx"]]}, {"both": [["0x100b9600", "jne -0x45", "0x100a56e0"], ["0x100b9602", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a56e2"], ["0x100b9609", "call <OFFSET3>", "0x100a56e9"], ["0x100b960e", "mov eax, 0xffffffff", "0x100a56ee"], ["0x100b9613", "mov ecx, dword ptr [ebp - 0xc]", "0x100a56f3"], ["0x100b9616", "pop edi", "0x100a56f6"], ["0x100b9617", "mov dword ptr fs:[0], ecx", "0x100a56f7"], ["0x100b961e", "pop esi", "0x100a56fe"], ["0x100b961f", "pop ebx", "0x100a56ff"], ["0x100b9620", "mov esp, ebp", "0x100a5700"]]}]], ["@@ -0x100b9634,47 +0x100a5714,47 @@", [{"both": [["0x100b9634", "mov dword ptr [ecx], ebx", "0x100a5714"], ["0x100b9636", "mov ecx, dword ptr [edx]", "0x100a5716"], ["0x100b9638", "mov eax, dword ptr [ebp - 0x10]", "0x100a5718"], ["0x100b963b", "mov ebx, dword ptr [eax]", "0x100a571b"], ["0x100b963d", "mov dword ptr [ebx + 4], ecx", "0x100a571d"], ["0x100b9640", "mov eax, dword ptr [ebp - 0x10]", "0x100a5720"], ["0x100b9643", "push eax", "0x100a5723"], ["0x100b9644", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a5724"], ["0x100b9649", "add esp, 4", "0x100a5729"], ["0x100b964c", "lea eax, [ebp - 0xb0]", "0x100a572c"]]}, {"orig": [["0x100b9652", "mov ecx, edi"], ["0x100b9654", "dec dword ptr [esi + 0x10]"]], "recomp": [["0x100a5732", "mov ecx, esi"], ["0x100a5734", "dec dword ptr [edi + 0x10]"]]}, {"both": [["0x100b9657", "push eax", "0x100a5737"], ["0x100b9658", "call MxStreamController::IsStoped (FUNCTION)", "0x100a5738"], ["0x100b965d", "test al, al", "0x100a573d"], ["0x100b965f", "je 0xe", "0x100a573f"]]}, {"orig": [["0x100b9661", "test edi, edi"]], "recomp": [["0x100a5741", "test esi, esi"]]}, {"both": [["0x100b9663", "je 0x56", "0x100a5743"], ["0x100b9665", "push 1", "0x100a5745"]]}, {"orig": [["0x100b9667", "mov eax, dword ptr [edi]"], ["0x100b9669", "mov ecx, edi"]], "recomp": [["0x100a5747", "mov eax, dword ptr [esi]"], ["0x100a5749", "mov ecx, esi"]]}, {"both": [["0x100b966b", "call dword ptr [eax]", "0x100a574b"], ["0x100b966d", "jmp 0x4c", "0x100a574d"], ["0x100b966f", "mov dword ptr [ebp - 0x1c], MxParam::`vftable' (VTABLE)", "0x100a574f"], ["0x100b9676", "mov byte ptr [ebp - 4], 1", "0x100a5756"], ["0x100b967a", "mov dword ptr [ebp - 0x18], 6", "0x100a575a"], ["0x100b9681", "mov byte ptr [ebp - 4], 2", "0x100a5761"], ["0x100b9685", "xor ebx, ebx", "0x100a5765"], ["0x100b9687", "lea eax, [ebp - 0x1c]", "0x100a5767"], ["0x100b968a", "push eax", "0x100a576a"], ["0x100b968b", "mov dword ptr [ebp - 0x14], ebx", "0x100a576b"]]}, {"orig": [["0x100b968e", "push esi"]], "recomp": [["0x100a576e", "push edi"]]}, {"both": [["0x100b968f", "mov byte ptr [ebp - 4], bl", "0x100a576f"], ["0x100b9692", "mov dword ptr [ebp - 0x1c], MxNotificationParam::`vftable' (VTABLE)", "0x100a5772"], ["0x100b9699", "mov dword ptr [ebp - 0x1c], MxStreamerNotification::`vftable' (VTABLE)", "0x100a5779"], ["0x100b96a0", "mov byte ptr [ebp - 4], 3", "0x100a5780"]]}, {"orig": [["0x100b96a4", "mov dword ptr [ebp - 0x10], edi"]], "recomp": [["0x100a5784", "mov dword ptr [ebp - 0x10], esi"]]}, {"both": [["0x100b96a7", "call NotificationManager (FUNCTION)", "0x100a5787"], ["0x100b96ac", "mov ecx, eax", "0x100a578c"], ["0x100b96ae", "call MxNotificationManager::Send (FUNCTION)", "0x100a578e"], ["0x100b96b3", "mov byte ptr [ebp - 4], bl", "0x100a5793"], ["0x100b96b6", "call <OFFSET11>", "0x100a5796"], ["0x100b96bb", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a579b"], ["0x100b96c2", "call <OFFSET3>", "0x100a57a2"], ["0x100b96c7", "xor eax, eax", "0x100a57a7"], ["0x100b96c9", "jmp -0xbb", "0x100a57a9"], ["0x100b96ce", "lea ecx, [ebp - 0x1c]", "0x100a57ae"]]}]]]}, {"address": "0x100b9700", "recomp": "0x100a58a0", "name": "MxStreamerNotification::Clone", "matching": 1.0, "diff": []}, {"address": "0x100b97b0", "recomp": "0x100a57e0", "name": "MxStreamerNotification::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100b9820", "recomp": "0x100a5850", "name": "MxStreamerNotification::~MxStreamerNotification", "matching": 1.0, "diff": []}, {"address": "0x100b9870", "recomp": "0x100a5950", "name": "MxStreamer::GetOpenStream", "matching": 1.0, "effective": true, "diff": [["@@ -0x100b9870,17 +0x100a5950,17 @@", [{"both": [["0x100b9870", "sub esp, 4", "0x100a5950"], ["0x100b9873", "mov eax, dword ptr [ecx + 0xc]", "0x100a5953"], ["0x100b9876", "push ebx", "0x100a5956"], ["0x100b9877", "mov edx, dword ptr [eax]", "0x100a5957"], ["0x100b9879", "mov dword ptr [esp + 4], edx", "0x100a5959"], ["0x100b987d", "push esi", "0x100a595d"]]}, {"orig": [["0x100b987e", "cmp edx, eax"]], "recomp": [["0x100a595e", "cmp eax, edx"]]}, {"both": [["0x100b9880", "je 0x4e", "0x100a5960"], ["0x100b9882", "mov edx, dword ptr [esp + 0x10]", "0x100a5962"], ["0x100b9886", "mov eax, dword ptr [esp + 8]", "0x100a5966"], ["0x100b988a", "mov eax, dword ptr [eax + 8]", "0x100a596a"], ["0x100b988d", "add eax, 0x24", "0x100a596d"], ["0x100b9890", "test edx, edx", "0x100a5970"], ["0x100b9892", "je 0x2d", "0x100a5972"], ["0x100b9894", "mov eax, dword ptr [eax]", "0x100a5974"], ["0x100b9896", "mov esi, edx", "0x100a5976"], ["0x100b9898", "mov bl, byte ptr [eax]", "0x100a5978"]]}]]]}, {"address": "0x100b98f0", "recomp": "0x100a59d0", "name": "MxStreamer::FUN_100b98f0", "matching": 1.0, "diff": []}, {"address": "0x100b9930", "recomp": "0x100a5a10", "name": "MxStreamer::AddStreamControllerToOpenList", "matching": 1.0, "diff": []}, {"address": "0x100b99b0", "recomp": "0x100a5a90", "name": "MxStreamer::FUN_100b99b0", "matching": 1.0, "diff": []}, {"address": "0x100b99f0", "recomp": "0x100a5ad0", "name": "MxStreamer::DeleteObject", "matching": 1.0, "diff": []}, {"address": "0x100b9b30", "recomp": "0x100a5c10", "name": "MxStreamer::FUN_100b9b30", "matching": 1.0, "diff": []}, {"address": "0x100b9b60", "recomp": "0x100a5c40", "name": "MxStreamer::Notify", "matching": 1.0, "diff": []}, {"address": "0x100b9c70", "recomp": "0x100a5d50", "name": "MxStillPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100b9cc0", "recomp": "0x100a5da0", "name": "MxStillPresenter::LoadHeader", "matching": 0.8771929824561403, "diff": [["@@ -0x100b9cc6,24 +0x100a5da6,25 @@", [{"both": [["0x100b9cc6", "mov esi, ecx", "0x100a5da6"], ["0x100b9cc8", "test eax, eax", "0x100a5da8"], ["0x100b9cca", "je 0x9", "0x100a5daa"], ["0x100b9ccc", "push eax", "0x100a5dac"], ["0x100b9ccd", "call ??3@YAXPAX@Z (FUNCTION)", "0x100a5dad"], ["0x100b9cd2", "add esp, 4", "0x100a5db2"], ["0x100b9cd5", "mov ebx, dword ptr [esp + 0x10]", "0x100a5db5"], ["0x100b9cd9", "mov eax, dword ptr [ebx + 0x14]", "0x100a5db9"], ["0x100b9cdc", "push eax", "0x100a5dbc"], ["0x100b9cdd", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a5dbd"]]}, {"orig": [], "recomp": [["0x100a5dc2", "mov dword ptr [esi + 0x68], eax"]]}, {"both": [["0x100b9ce2", "add esp, 4", "0x100a5dc5"]]}, {"orig": [["0x100b9ce5", "mov dword ptr [esi + 0x68], eax"]], "recomp": [["0x100a5dc8", "mov edi, eax"], ["0x100a5dca", "mov esi, dword ptr [ebx + 0x18]"]]}, {"both": [["0x100b9ce8", "mov eax, dword ptr [ebx + 0x14]", "0x100a5dcd"]]}, {"orig": [["0x100b9ceb", "mov edi, dword ptr [esi + 0x68]"], ["0x100b9cee", "mov esi, dword ptr [ebx + 0x18]"]], "recomp": []}, {"both": [["0x100b9cf1", "mov ecx, eax", "0x100a5dd0"], ["0x100b9cf3", "shr ecx, 2", "0x100a5dd2"], ["0x100b9cf6", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a5dd5"], ["0x100b9cf8", "mov ecx, eax", "0x100a5dd7"], ["0x100b9cfa", "and ecx, 3", "0x100a5dd9"], ["0x100b9cfd", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a5ddc"], ["0x100b9cff", "pop edi", "0x100a5dde"], ["0x100b9d00", "pop esi", "0x100a5ddf"], ["0x100b9d01", "pop ebx", "0x100a5de0"]]}, {"orig": [], "recomp": [["0x100a5de1", "ret 4"]]}]]]}, {"address": "0x100b9d10", "recomp": "0x100a5df0", "name": "MxStillPresenter::CreateBitmap", "matching": 1.0, "diff": []}, {"address": "0x100b9db0", "recomp": "0x100a5e90", "name": "MxStillPresenter::NextFrame", "matching": 1.0, "diff": []}, {"address": "0x100b9dd0", "recomp": "0x100a5eb0", "name": "MxStillPresenter::LoadFrame", "matching": 1.0, "diff": []}, {"address": "0x100b9f30", "recomp": "0x100a6010", "name": "MxStillPresenter::RealizePalette", "matching": 1.0, "diff": []}, {"address": "0x100b9f60", "recomp": "0x100a6040", "name": "MxStillPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b9f90", "recomp": "0x100a6070", "name": "MxStillPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100b9ff0", "recomp": "0x100a60d0", "name": "MxStillPresenter::RepeatingTickle", "matching": 1.0, "diff": []}, {"address": "0x100ba040", "recomp": "0x100a6120", "name": "MxStillPresenter::SetPosition", "matching": 0.43373493975903615, "diff": [["@@ -0x100ba040,80 +0x100a6120,86 @@", [{"orig": [["0x100ba040", "sub esp, 0x28"]], "recomp": [["0x100a6120", "sub esp, 0x20"]]}, {"both": [["0x100ba043", "push ebx", "0x100a6123"], ["0x100ba044", "push esi", "0x100a6124"]]}, {"orig": [["0x100ba045", "mov eax, dword ptr [ecx + 0x10]"]], "recomp": []}, {"both": [["0x100ba048", "push edi", "0x100a6125"], ["0x100ba049", "mov esi, ecx", "0x100a6126"]]}, {"orig": [["0x100ba04b", "mov edx, dword ptr [esp + 0x38]"], ["0x100ba04f", "mov dword ptr [esp + 0xc], eax"], ["0x100ba053", "mov ecx, dword ptr [esi + 0x14]"], ["0x100ba056", "mov eax, dword ptr [esp + 0x3c]"], ["0x100ba05a", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x100a6128", "mov eax, dword ptr [esp + 0x30]"], ["0x100a612c", "push ebp"], ["0x100a612d", "mov edi, dword ptr [esi + 0x10]"], ["0x100a6130", "mov ebp, dword ptr [esi + 0x14]"], ["0x100a6133", "mov ecx, dword ptr [esp + 0x38]"], ["0x100a6137", "mov dword ptr [esi + 0x10], eax"], ["0x100a613a", "mov dword ptr [esi + 0x14], ecx"]]}, {"both": [["0x100ba05e", "mov ecx, esi", "0x100a613d"]]}, {"orig": [["0x100ba060", "mov dword ptr [esi + 0x10], edx"], ["0x100ba063", "mov dword ptr [esi + 0x14], eax"]], "recomp": []}, {"both": [["0x100ba066", "call MxPresenter::IsEnabled (FUNCTION)", "0x100a613f"], ["0x100ba06b", "test al, al", "0x100a6144"]]}, {"orig": [["0x100ba06d", "je 0xc3"], ["0x100ba073", "mov ebx, dword ptr [esi]"]], "recomp": [["0x100a6146", "je 0xbc"]]}, {"both": [["0x100ba075", "mov ecx, esi", "0x100a614c"]]}, {"orig": [["0x100ba077", "call dword ptr [ebx + 0x84]"], ["0x100ba07d", "lea edi, [eax - 1]"]], "recomp": [["0x100a614e", "mov eax, dword ptr [esi]"], ["0x100a6150", "call dword ptr [eax + 0x84]"], ["0x100a6156", "lea ebx, [eax - 1]"]]}, {"both": [["0x100ba080", "mov ecx, esi", "0x100a6159"]]}, {"orig": [["0x100ba082", "call dword ptr [ebx + 0x80]"]], "recomp": [["0x100a615b", "mov eax, dword ptr [esi]"], ["0x100a615d", "call dword ptr [eax + 0x80]"]]}, {"both": [["0x100ba088", "dec eax", "0x100a6163"]]}, {"orig": [["0x100ba089", "mov ecx, dword ptr [esp + 0xc]"], ["0x100ba08d", "mov edx, dword ptr [esp + 0x10]"], ["0x100ba091", "mov dword ptr [esp + 0x14], ecx"], ["0x100ba095", "add ecx, eax"], ["0x100ba097", "mov dword ptr [esp + 0x18], edx"], ["0x100ba09b", "mov dword ptr [esp + 0x1c], ecx"], ["0x100ba09f", "lea ecx, [edi + edx]"]], "recomp": [["0x100a6164", "mov dword ptr [esp + 0x10], edi"], ["0x100a6168", "add edi, eax"], ["0x100a616a", "mov ecx, dword ptr [esi + 0x10]"]]}, {"both": [["0x100ba0a2", "mov edx, dword ptr [esi + 0x14]", "0x100a616d"]]}, {"orig": [], "recomp": [["0x100a6170", "mov dword ptr [esp + 0x14], ebp"], ["0x100a6174", "add ebp, ebx"], ["0x100a6176", "add eax, ecx"], ["0x100a6178", "mov dword ptr [esp + 0x18], edi"], ["0x100a617c", "mov dword ptr [esp + 0x1c], ebp"]]}, {"both": [["0x100ba0a5", "mov dword ptr [esp + 0x20], ecx", "0x100a6180"]]}, {"orig": [["0x100ba0a9", "mov ecx, dword ptr [esi + 0x10]"], ["0x100ba0ac", "mov dword ptr [esp + 0x28], edx"], ["0x100ba0b0", "add eax, ecx"], ["0x100ba0b2", "add edx, edi"], ["0x100ba0b4", "mov dword ptr [esp + 0x24], ecx"], ["0x100ba0b8", "mov dword ptr [esp + 0x2c], eax"], ["0x100ba0bc", "lea ecx, [esp + 0x14]"]], "recomp": [["0x100a6184", "mov dword ptr [esp + 0x24], edx"], ["0x100a6188", "add edx, ebx"], ["0x100a618a", "lea ecx, [esp + 0x10]"], ["0x100a618e", "mov dword ptr [esp + 0x28], eax"], ["0x100a6192", "push ecx"]]}, {"both": [["0x100ba0c0", "mov dword ptr [esp + 0x30], edx", "0x100a6193"]]}, {"orig": [["0x100ba0c4", "push ecx"]], "recomp": []}, {"both": [["0x100ba0c5", "call MVideoManager (FUNCTION)", "0x100a6197"], ["0x100ba0ca", "mov ecx, eax", "0x100a619c"], ["0x100ba0cc", "call MxVideoManager::InvalidateRect (FUNCTION)", "0x100a619e"], ["0x100ba0d1", "call MVideoManager (FUNCTION)", "0x100a61a3"]]}, {"orig": [["0x100ba0d6", "mov ecx, dword ptr [esp + 0x20]"], ["0x100ba0da", "sub ecx, dword ptr [esp + 0x18]"], ["0x100ba0de", "mov edx, dword ptr [esp + 0x18]"]], "recomp": [["0x100a61a8", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100a61ac", "sub ecx, dword ptr [esp + 0x14]"], ["0x100a61b0", "mov edx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100ba0e2", "inc ecx", "0x100a61b4"]]}, {"orig": [["0x100ba0e3", "mov ebx, dword ptr [esp + 0x14]"]], "recomp": [["0x100a61b5", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x100ba0e7", "push ecx", "0x100a61b9"]]}, {"orig": [["0x100ba0e8", "mov esi, dword ptr [eax]"], ["0x100ba0ea", "mov ecx, dword ptr [esp + 0x20]"], ["0x100ba0ee", "sub ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x100a61ba", "mov ebp, dword ptr [eax]"], ["0x100a61bc", "mov ecx, dword ptr [esp + 0x1c]"], ["0x100a61c0", "sub ecx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100ba0f2", "inc ecx", "0x100a61c4"], ["0x100ba0f3", "push ecx", "0x100a61c5"], ["0x100ba0f4", "push edx", "0x100a61c6"], ["0x100ba0f5", "push ebx", "0x100a61c7"], ["0x100ba0f6", "mov ecx, eax", "0x100a61c8"]]}, {"orig": [["0x100ba0f8", "call dword ptr [esi + 0x34]"], ["0x100ba0fb", "lea eax, [esp + 0x24]"]], "recomp": [["0x100a61ca", "call dword ptr [ebp + 0x34]"], ["0x100a61cd", "lea eax, [esp + 0x20]"]]}, {"both": [["0x100ba0ff", "push eax", "0x100a61d1"], ["0x100ba100", "call MVideoManager (FUNCTION)", "0x100a61d2"], ["0x100ba105", "mov ecx, eax", "0x100a61d7"], ["0x100ba107", "call MxVideoManager::InvalidateRect (FUNCTION)", "0x100a61d9"], ["0x100ba10c", "call MVideoManager (FUNCTION)", "0x100a61de"], ["0x100ba111", "mov ecx, eax", "0x100a61e3"]]}, {"orig": [["0x100ba113", "mov eax, dword ptr [esp + 0x30]"], ["0x100ba117", "sub eax, dword ptr [esp + 0x28]"], ["0x100ba11b", "mov edx, dword ptr [esp + 0x28]"]], "recomp": [["0x100a61e5", "mov eax, dword ptr [esp + 0x2c]"], ["0x100a61e9", "sub eax, dword ptr [esp + 0x24]"], ["0x100a61ed", "mov edx, dword ptr [esp + 0x24]"]]}, {"both": [["0x100ba11f", "inc eax", "0x100a61f1"], ["0x100ba120", "push eax", "0x100a61f2"]]}, {"orig": [["0x100ba121", "mov eax, dword ptr [esp + 0x30]"], ["0x100ba125", "sub eax, dword ptr [esp + 0x28]"]], "recomp": [["0x100a61f3", "mov eax, dword ptr [esp + 0x2c]"], ["0x100a61f7", "sub eax, dword ptr [esp + 0x24]"]]}, {"both": [["0x100ba129", "inc eax", "0x100a61fb"], ["0x100ba12a", "push eax", "0x100a61fc"], ["0x100ba12b", "push edx", "0x100a61fd"]]}, {"orig": [["0x100ba12c", "mov ebx, dword ptr [esp + 0x30]"]], "recomp": [["0x100a61fe", "mov ebx, dword ptr [esp + 0x2c]"], ["0x100a6202", "push ebx"]]}, {"both": [["0x100ba130", "mov eax, dword ptr [ecx]", "0x100a6203"]]}, {"orig": [], "recomp": [["0x100a6205", "call dword ptr [eax + 0x34]"], ["0x100a6208", "pop ebp"], ["0x100a6209", "pop edi"], ["0x100a620a", "pop esi"], ["0x100a620b", "pop ebx"], ["0x100a620c", "add esp, 0x20"], ["0x100a620f", "ret 8"]]}]]]}, {"address": "0x100ba140", "recomp": "0x100a6220", "name": "MxStillPresenter::Enable", "matching": 0.9272727272727272, "diff": [["@@ -0x100ba165,27 +0x100a6245,27 @@", [{"both": [["0x100ba165", "je 0x69", "0x100a6245"], ["0x100ba167", "mov ebx, dword ptr [edi]", "0x100a6247"], ["0x100ba169", "mov ecx, edi", "0x100a6249"], ["0x100ba16b", "call dword ptr [ebx + 0x84]", "0x100a624b"], ["0x100ba171", "mov esi, eax", "0x100a6251"], ["0x100ba173", "mov ecx, edi", "0x100a6253"], ["0x100ba175", "call dword ptr [ebx + 0x80]", "0x100a6255"], ["0x100ba17b", "mov ecx, dword ptr [edi + 0x10]", "0x100a625b"], ["0x100ba17e", "mov edx, dword ptr [edi + 0x14]", "0x100a625e"], ["0x100ba181", "add eax, ecx", "0x100a6261"]]}, {"orig": [], "recomp": [["0x100a6263", "add esi, edx"]]}, {"both": [["0x100ba183", "mov dword ptr [esp + 0xc], ecx", "0x100a6265"]]}, {"orig": [], "recomp": [["0x100a6269", "mov dword ptr [esp + 0x10], edx"]]}, {"both": [["0x100ba187", "lea ecx, [esp + 0xc]", "0x100a626d"]]}, {"orig": [["0x100ba18b", "mov dword ptr [esp + 0x10], edx"], ["0x100ba18f", "add edx, esi"]], "recomp": [["0x100a6271", "mov dword ptr [esp + 0x14], eax"], ["0x100a6275", "mov dword ptr [esp + 0x18], esi"]]}, {"both": [["0x100ba191", "push ecx", "0x100a6279"]]}, {"orig": [["0x100ba192", "mov dword ptr [esp + 0x18], eax"], ["0x100ba196", "mov dword ptr [esp + 0x1c], edx"]], "recomp": []}, {"both": [["0x100ba19a", "call MVideoManager (FUNCTION)", "0x100a627a"], ["0x100ba19f", "mov ecx, eax", "0x100a627f"], ["0x100ba1a1", "call MxVideoManager::InvalidateRect (FUNCTION)", "0x100a6281"], ["0x100ba1a6", "call MVideoManager (FUNCTION)", "0x100a6286"], ["0x100ba1ab", "mov ecx, dword ptr [esp + 0x18]", "0x100a628b"], ["0x100ba1af", "sub ecx, dword ptr [esp + 0x10]", "0x100a628f"], ["0x100ba1b3", "mov edx, dword ptr [esp + 0x10]", "0x100a6293"], ["0x100ba1b7", "inc ecx", "0x100a6297"], ["0x100ba1b8", "mov ebx, dword ptr [esp + 0xc]", "0x100a6298"], ["0x100ba1bc", "push ecx", "0x100a629c"]]}]]]}, {"address": "0x100ba1e0", "recomp": "0x100a62c0", "name": "MxStillPresenter::ParseExtra", "matching": 1.0, "diff": []}, {"address": "0x100ba2c0", "recomp": "0x100a63a0", "name": "MxStillPresenter::Clone", "matching": 0.9251336898395722, "diff": [["@@ -0x100ba36b,63 +0x100a644b,63 @@", [{"both": [["0x100ba36b", "jmp MxCore::~MxCore (FUNCTION)", "0x100a644b"], ["0x100ba370", "mov ecx, dword ptr [ebp - 0x10]", "0x100a6450"], ["0x100ba373", "jmp MxPresenter::~MxPresenter (FUNCTION)", "0x100a6453"], ["0x100ba378", "mov ecx, dword ptr [ebp - 0x10]", "0x100a6458"], ["0x100ba37b", "jmp MxMediaPresenter::~MxMediaPresenter (FUNCTION)", "0x100a645b"], ["0x100ba380", "mov ecx, dword ptr [ebp - 0x10]", "0x100a6460"], ["0x100ba383", "jmp MxVideoPresenter::~MxVideoPresenter (FUNCTION)", "0x100a6463"], ["0x100ba388", "xor ebx, ebx", "0x100a6468"], ["0x100ba38a", "mov dword ptr [ebp - 4], 0xffffffff", "0x100a646a"], ["0x100ba391", "test ebx, ebx", "0x100a6471"]]}, {"orig": [["0x100ba393", "je 0x11c"]], "recomp": [["0x100a6473", "je 0x11d"]]}, {"both": [["0x100ba399", "mov edi, dword ptr [ebx]", "0x100a6479"], ["0x100ba39b", "mov ecx, ebx", "0x100a647b"], ["0x100ba39d", "call dword ptr [edi + 0x34]", "0x100a647d"], ["0x100ba3a0", "test eax, eax", "0x100a6480"]]}, {"orig": [["0x100ba3a2", "jne 0x10d"]], "recomp": [["0x100a6482", "jne 0x10e"]]}, {"both": [["0x100ba3a8", "mov ecx, dword ptr [esi + 0x1c]", "0x100a6488"], ["0x100ba3ab", "mov eax, dword ptr [ecx]", "0x100a648b"], ["0x100ba3ad", "call dword ptr [eax + 0x2c]", "0x100a648d"], ["0x100ba3b0", "test eax, eax", "0x100a6490"]]}, {"orig": [["0x100ba3b2", "je 0xfd"]], "recomp": [["0x100a6492", "je 0xfe"]]}, {"both": [["0x100ba3b8", "push eax", "0x100a6498"], ["0x100ba3b9", "mov ecx, ebx", "0x100a6499"], ["0x100ba3bb", "push 0", "0x100a649b"], ["0x100ba3bd", "call dword ptr [edi + 0x3c]", "0x100a649d"], ["0x100ba3c0", "test eax, eax", "0x100a64a0"]]}, {"orig": [["0x100ba3c2", "jne 0xed"], ["0x100ba3c8", "mov cl, byte ptr [ebx + 0x5e]"]], "recomp": [["0x100a64a2", "jne 0xee"], ["0x100a64a8", "mov al, byte ptr [ebx + 0x5e]"], ["0x100a64ab", "mov cl, byte ptr [esi + 0x5e]"], ["0x100a64ae", "xor cl, al"], ["0x100a64b0", "and cl, 1"], ["0x100a64b3", "xor cl, al"], ["0x100a64b5", "mov byte ptr [ebx + 0x5e], cl"]]}, {"both": [["0x100ba3cb", "mov al, byte ptr [esi + 0x5e]", "0x100a64b8"], ["0x100ba3ce", "xor al, cl", "0x100a64bb"]]}, {"orig": [["0x100ba3d0", "and al, 1"]], "recomp": [["0x100a64bd", "and al, 2"]]}, {"both": [["0x100ba3d2", "xor al, cl", "0x100a64bf"], ["0x100ba3d4", "mov byte ptr [ebx + 0x5e], al", "0x100a64c1"], ["0x100ba3d7", "mov cl, byte ptr [esi + 0x5e]", "0x100a64c4"], ["0x100ba3da", "xor cl, al", "0x100a64c7"]]}, {"orig": [["0x100ba3dc", "and cl, 2"]], "recomp": [["0x100a64c9", "and cl, 4"]]}, {"both": [["0x100ba3df", "xor cl, al", "0x100a64cc"], ["0x100ba3e1", "mov byte ptr [ebx + 0x5e], cl", "0x100a64ce"], ["0x100ba3e4", "mov al, byte ptr [esi + 0x5e]", "0x100a64d1"], ["0x100ba3e7", "xor al, cl", "0x100a64d4"]]}, {"orig": [["0x100ba3e9", "and al, 4"]], "recomp": [["0x100a64d6", "and al, 8"]]}, {"both": [["0x100ba3eb", "xor al, cl", "0x100a64d8"], ["0x100ba3ed", "mov byte ptr [ebx + 0x5e], al", "0x100a64da"], ["0x100ba3f0", "mov cl, byte ptr [esi + 0x5e]", "0x100a64dd"], ["0x100ba3f3", "xor cl, al", "0x100a64e0"]]}, {"orig": [["0x100ba3f5", "and cl, 8"]], "recomp": [["0x100a64e2", "and cl, 0x10"]]}, {"both": [["0x100ba3f8", "xor cl, al", "0x100a64e5"], ["0x100ba3fa", "mov byte ptr [ebx + 0x5e], cl", "0x100a64e7"]]}, {"orig": [["0x100ba3fd", "mov al, byte ptr [esi + 0x5e]"], ["0x100ba400", "xor al, cl"], ["0x100ba402", "and al, 0x10"], ["0x100ba404", "xor al, cl"], ["0x100ba406", "mov byte ptr [ebx + 0x5e], al"]], "recomp": []}, {"both": [["0x100ba409", "cmp dword ptr [esi + 0x50], 0", "0x100a64ea"], ["0x100ba40d", "je 0x52", "0x100a64ee"], ["0x100ba40f", "push 0x20", "0x100a64f0"], ["0x100ba411", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a64f2"], ["0x100ba416", "mov dword ptr [ebp - 0x10], eax", "0x100a64f7"], ["0x100ba419", "add esp, 4", "0x100a64fa"], ["0x100ba41c", "mov edi, eax", "0x100a64fd"], ["0x100ba41e", "mov ecx, 0", "0x100a64ff"], ["0x100ba423", "mov dword ptr [ebp - 4], 6", "0x100a6504"], ["0x100ba42a", "test edi, edi", "0x100a650b"]]}]]]}, {"address": "0x100ba500", "recomp": "0x100a65f0", "name": "MxDisplaySurface::MxDisplaySurface", "matching": 1.0, "diff": []}, {"address": "0x100ba580", "recomp": "0x100a6670", "name": "MxDisplaySurface::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ba5a0", "recomp": "0x100a6690", "name": "MxDisplaySurface::~MxDisplaySurface", "matching": 1.0, "diff": []}, {"address": "0x100ba610", "recomp": "0x100a6700", "name": "MxDisplaySurface::Init", "matching": 1.0, "diff": []}, {"address": "0x100ba640", "recomp": "0x100a6730", "name": "MxDisplaySurface::ClearScreen", "matching": 1.0, "diff": []}, {"address": "0x100ba750", "recomp": "0x100a6840", "name": "MxDisplaySurface::CountTotalBitsSetTo1", "matching": 1.0, "diff": []}, {"address": "0x100ba770", "recomp": "0x100a6860", "name": "MxDisplaySurface::CountContiguousBitsSetTo1", "matching": 1.0, "diff": []}, {"address": "0x100ba790", "recomp": "0x100a6880", "name": "MxDisplaySurface::Init", "matching": 1.0, "diff": []}, {"address": "0x100ba7f0", "recomp": "0x100a68e0", "name": "MxDisplaySurface::Create", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ba9ae,22 +0x100a6a9e,22 @@", [{"both": [["0x100ba9ae", "test eax, eax", "0x100a6a9e"], ["0x100ba9b0", "jne 0xc0", "0x100a6aa0"], ["0x100ba9b6", "lea edi, [esp + 0x1c]", "0x100a6aa6"], ["0x100ba9ba", "xor eax, eax", "0x100a6aaa"], ["0x100ba9bc", "mov ecx, 0x1b", "0x100a6aac"], ["0x100ba9c1", "rep stosd dword ptr es:[edi], eax", "0x100a6ab1"], ["0x100ba9c3", "mov dword ptr [esp + 0x1c], 0x6c", "0x100a6ab3"], ["0x100ba9cb", "mov dword ptr [esp + 0x20], 7", "0x100a6abb"], ["0x100ba9d3", "mov eax, dword ptr [esi + 0x10]", "0x100a6ac3"], ["0x100ba9d6", "sub eax, dword ptr [esi + 8]", "0x100a6ac6"]]}, {"orig": [], "recomp": [["0x100a6ac9", "mov dword ptr [esp + 0x84], 0x6040"]]}, {"both": [["0x100ba9d9", "inc eax", "0x100a6ad4"]]}, {"orig": [["0x100ba9da", "mov dword ptr [esp + 0x84], 0x6040"]], "recomp": []}, {"both": [["0x100ba9e5", "mov dword ptr [esp + 0x28], eax", "0x100a6ad5"], ["0x100ba9e9", "mov eax, dword ptr [esi + 0x14]", "0x100a6ad9"], ["0x100ba9ec", "sub eax, dword ptr [esi + 0xc]", "0x100a6adc"], ["0x100ba9ef", "inc eax", "0x100a6adf"], ["0x100ba9f0", "test byte ptr [esi + 0x20], 4", "0x100a6ae0"], ["0x100ba9f4", "mov dword ptr [esp + 0x24], eax", "0x100a6ae4"], ["0x100ba9f8", "jne 0xb", "0x100a6ae8"], ["0x100ba9fa", "mov dword ptr [esp + 0x84], 0x2840", "0x100a6aea"], ["0x100baa05", "lea ecx, [esi + 0x30]", "0x100a6af5"], ["0x100baa08", "push 0", "0x100a6af8"]]}]]]}, {"address": "0x100baa90", "recomp": "0x100a6b80", "name": "MxDisplaySurface::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100baae0", "recomp": "0x100a6bd0", "name": "MxDisplaySurface::SetPalette", "matching": 0.5154639175257731, "diff": [["@@ -0x100baae0,140 +0x100a6bd0,151 @@", [{"orig": [["0x100baae0", "sub esp, 0x414"]], "recomp": [["0x100a6bd0", "sub esp, 0x420"]]}, {"both": [["0x100baae6", "push ebx", "0x100a6bd6"], ["0x100baae7", "push esi", "0x100a6bd7"], ["0x100baae8", "push edi", "0x100a6bd8"]]}, {"orig": [["0x100baae9", "mov ebx, ecx"]], "recomp": [["0x100a6bd9", "mov esi, ecx"]]}, {"both": [["0x100baaeb", "push ebp", "0x100a6bdb"]]}, {"orig": [["0x100baaec", "test byte ptr [ebx + 0x88], 0x20"]], "recomp": [["0x100a6bdc", "test byte ptr [esi + 0x88], 0x20"]]}, {"both": [["0x100baaf3", "je 0x92", "0x100a6be3"]]}, {"orig": [["0x100baaf9", "mov edi, dword ptr [ebx + 0x2c]"], ["0x100baafc", "mov esi, dword ptr [esp + 0x428]"], ["0x100bab03", "mov ecx, esi"]], "recomp": [["0x100a6be9", "mov edi, dword ptr [esi + 0x2c]"], ["0x100a6bec", "mov ebx, dword ptr [esp + 0x434]"], ["0x100a6bf3", "mov ecx, ebx"]]}, {"both": [["0x100bab05", "call MxPalette::CreateNativePalette (FUNCTION)", "0x100a6bf5"], ["0x100bab0a", "push eax", "0x100a6bfa"], ["0x100bab0b", "push edi", "0x100a6bfb"], ["0x100bab0c", "mov eax, dword ptr [edi]", "0x100a6bfc"], ["0x100bab0e", "call dword ptr [eax + 0x7c]", "0x100a6bfe"]]}, {"orig": [["0x100bab11", "mov edi, dword ptr [ebx + 0x30]"], ["0x100bab14", "mov ecx, esi"]], "recomp": [["0x100a6c01", "mov edi, dword ptr [esi + 0x30]"], ["0x100a6c04", "mov ecx, ebx"]]}, {"both": [["0x100bab16", "call MxPalette::CreateNativePalette (FUNCTION)", "0x100a6c06"], ["0x100bab1b", "push eax", "0x100a6c0b"], ["0x100bab1c", "push edi", "0x100a6c0c"], ["0x100bab1d", "mov eax, dword ptr [edi]", "0x100a6c0d"], ["0x100bab1f", "call dword ptr [eax + 0x7c]", "0x100a6c0f"]]}, {"orig": [["0x100bab22", "test byte ptr [ebx + 0x20], 1"]], "recomp": [["0x100a6c12", "test byte ptr [esi + 0x20], 1"]]}, {"both": [["0x100bab26", "jne 0x6a", "0x100a6c16"]]}, {"orig": [["0x100bab28", "lea edi, [esp + 0x24]"]], "recomp": [["0x100a6c18", "lea edi, [esp + 0x30]"]]}, {"both": [["0x100bab2c", "xor eax, eax", "0x100a6c1c"]]}, {"orig": [["0x100bab2e", "mov word ptr [esp + 0x20], 0x300"], ["0x100bab35", "mov word ptr [esp + 0x22], 0x100"]], "recomp": [["0x100a6c1e", "mov word ptr [esp + 0x2c], 0x300"], ["0x100a6c25", "mov word ptr [esp + 0x2e], 0x100"]]}, {"both": [["0x100bab3c", "mov ecx, 0x100", "0x100a6c2c"], ["0x100bab41", "rep stosd dword ptr es:[edi], eax", "0x100a6c31"]]}, {"orig": [["0x100bab43", "lea eax, [esp + 0x24]"], ["0x100bab47", "mov ecx, esi"]], "recomp": [["0x100a6c33", "lea eax, [esp + 0x30]"], ["0x100a6c37", "mov ecx, ebx"]]}, {"both": [["0x100bab49", "push eax", "0x100a6c39"], ["0x100bab4a", "call MxPalette::GetEntries (FUNCTION)", "0x100a6c3a"]]}, {"orig": [["0x100bab4f", "lea eax, [esp + 0x20]"]], "recomp": [["0x100a6c3f", "lea eax, [esp + 0x2c]"]]}, {"both": [["0x100bab53", "mov ebp, dword ptr [__imp__CreatePalette@4 (POINTER)]", "0x100a6c43"], ["0x100bab59", "push eax", "0x100a6c49"], ["0x100bab5a", "call ebp", "0x100a6c4a"], ["0x100bab5c", "mov edi, eax", "0x100a6c4c"], ["0x100bab5e", "push 0", "0x100a6c4e"], ["0x100bab60", "call dword ptr [->USER32.DLL:GetDC (FUNCTION)]", "0x100a6c50"], ["0x100bab66", "mov ebp, eax", "0x100a6c56"], ["0x100bab68", "push 0", "0x100a6c58"], ["0x100bab6a", "push edi", "0x100a6c5a"], ["0x100bab6b", "push ebp", "0x100a6c5b"], ["0x100bab6c", "call dword ptr [->GDI32.DLL:SelectPalette (FUNCTION)]", "0x100a6c5c"], ["0x100bab72", "push ebp", "0x100a6c62"], ["0x100bab73", "call dword ptr [->GDI32.DLL:RealizePalette (FUNCTION)]", "0x100a6c63"], ["0x100bab79", "push ebp", "0x100a6c69"], ["0x100bab7a", "push 0", "0x100a6c6a"], ["0x100bab7c", "call dword ptr [->USER32.DLL:ReleaseDC (FUNCTION)]", "0x100a6c6c"], ["0x100bab82", "push edi", "0x100a6c72"], ["0x100bab83", "call dword ptr [->GDI32.DLL:DeleteObject (FUNCTION)]", "0x100a6c73"], ["0x100bab89", "jmp 0x7", "0x100a6c79"]]}, {"orig": [["0x100bab8b", "mov esi, dword ptr [esp + 0x428]"], ["0x100bab92", "cmp dword ptr [ebx + 0x90], 0x10"], ["0x100bab99", "jne 0x10d"], ["0x100bab9f", "cmp dword ptr [ebx + 0xa8], 0"]], "recomp": [["0x100a6c7b", "mov ebx, dword ptr [esp + 0x434]"], ["0x100a6c82", "cmp dword ptr [esi + 0x90], 0x10"], ["0x100a6c89", "jne 0x130"], ["0x100a6c8f", "cmp dword ptr [esi + 0xa8], 0"]]}, {"both": [["0x100baba6", "jne 0x13", "0x100a6c96"], ["0x100baba8", "push 0x200", "0x100a6c98"], ["0x100babad", "call ??2@YAPAXI@Z (FUNCTION)", "0x100a6c9d"], ["0x100babb2", "add esp, 4", "0x100a6ca2"]]}, {"orig": [["0x100babb5", "mov dword ptr [ebx + 0xa8], eax"], ["0x100babbb", "lea eax, [esp + 0x20]"]], "recomp": [["0x100a6ca5", "mov dword ptr [esi + 0xa8], eax"], ["0x100a6cab", "lea eax, [esp + 0x2c]"], ["0x100a6caf", "mov ecx, ebx"], ["0x100a6cb1", "push eax"], ["0x100a6cb2", "call MxPalette::GetEntries (FUNCTION)"], ["0x100a6cb7", "mov eax, dword ptr [esi + 0x94]"]]}, {"both": [["0x100babbf", "mov ecx, esi", "0x100a6cbd"], ["0x100babc1", "push eax", "0x100a6cbf"]]}, {"orig": [["0x100babc2", "call MxPalette::GetEntries (FUNCTION)"], ["0x100babc7", "mov eax, dword ptr [ebx + 0x94]"], ["0x100babcd", "mov ecx, ebx"]], "recomp": [["0x100a6cc0", "call MxDisplaySurface::CountContiguousBitsSetTo1 (FUNCTION)"], ["0x100a6cc5", "mov bl, al"], ["0x100a6cc7", "mov ecx, esi"], ["0x100a6cc9", "mov eax, dword ptr [esi + 0x94]"], ["0x100a6ccf", "push eax"], ["0x100a6cd0", "call MxDisplaySurface::CountTotalBitsSetTo1 (FUNCTION)"], ["0x100a6cd5", "mov ecx, esi"], ["0x100a6cd7", "mov byte ptr [esp + 0x14], al"], ["0x100a6cdb", "mov eax, dword ptr [esi + 0x98]"]]}, {"both": [["0x100babcf", "push eax", "0x100a6ce1"], ["0x100babd0", "call MxDisplaySurface::CountContiguousBitsSetTo1 (FUNCTION)", "0x100a6ce2"]]}, {"orig": [["0x100babd5", "mov ecx, ebx"], ["0x100babd7", "mov byte ptr [esp + 0x11], al"], ["0x100babdb", "mov eax, dword ptr [ebx + 0x94]"]], "recomp": [["0x100a6ce7", "mov ecx, esi"], ["0x100a6ce9", "mov byte ptr [esp + 0x1c], al"], ["0x100a6ced", "mov eax, dword ptr [esi + 0x98]"]]}, {"both": [["0x100babe1", "push eax", "0x100a6cf3"], ["0x100babe2", "call MxDisplaySurface::CountTotalBitsSetTo1 (FUNCTION)", "0x100a6cf4"]]}, {"orig": [["0x100babe7", "mov ecx, ebx"], ["0x100babe9", "mov byte ptr [esp + 0x10], al"], ["0x100babed", "mov eax, dword ptr [ebx + 0x98]"]], "recomp": [["0x100a6cf9", "mov ecx, esi"], ["0x100a6cfb", "mov byte ptr [esp + 0x18], al"], ["0x100a6cff", "mov eax, dword ptr [esi + 0x9c]"]]}, {"both": [["0x100babf3", "push eax", "0x100a6d05"], ["0x100babf4", "call MxDisplaySurface::CountContiguousBitsSetTo1 (FUNCTION)", "0x100a6d06"]]}, {"orig": [["0x100babf9", "mov ecx, ebx"], ["0x100babfb", "mov byte ptr [esp + 0x12], al"], ["0x100babff", "mov eax, dword ptr [ebx + 0x98]"]], "recomp": [["0x100a6d0b", "mov ecx, esi"], ["0x100a6d0d", "mov byte ptr [esp + 0x13], al"], ["0x100a6d11", "mov eax, dword ptr [esi + 0x9c]"]]}, {"both": [["0x100bac05", "push eax", "0x100a6d17"], ["0x100bac06", "call MxDisplaySurface::CountTotalBitsSetTo1 (FUNCTION)", "0x100a6d18"]]}, {"orig": [["0x100bac0b", "mov ecx, ebx"], ["0x100bac0d", "mov byte ptr [esp + 0x14], al"], ["0x100bac11", "mov eax, dword ptr [ebx + 0x9c]"], ["0x100bac17", "push eax"], ["0x100bac18", "call MxDisplaySurface::CountContiguousBitsSetTo1 (FUNCTION)"], ["0x100bac1d", "mov ecx, ebx"], ["0x100bac1f", "mov byte ptr [esp + 0x13], al"], ["0x100bac23", "mov eax, dword ptr [ebx + 0x9c]"], ["0x100bac29", "push eax"], ["0x100bac2a", "call MxDisplaySurface::CountTotalBitsSetTo1 (FUNCTION)"], ["0x100bac2f", "lea esi, [esp + 0x22]"]], "recomp": [["0x100a6d1d", "lea edi, [esp + 0x2c]"]]}, {"both": [["0x100bac33", "xor edx, edx", "0x100a6d21"], ["0x100bac35", "mov cl, 8", "0x100a6d23"]]}, {"orig": [], "recomp": [["0x100a6d25", "and bl, 0x1f"], ["0x100a6d28", "sub cl, byte ptr [esp + 0x14]"], ["0x100a6d2c", "mov byte ptr [esp + 0x28], bl"], ["0x100a6d30", "and cl, 0x1f"], ["0x100a6d33", "mov byte ptr [esp + 0x24], cl"], ["0x100a6d37", "mov cl, 8"], ["0x100a6d39", "sub cl, byte ptr [esp + 0x18]"], ["0x100a6d3d", "and cl, 0x1f"], ["0x100a6d40", "mov byte ptr [esp + 0x20], cl"], ["0x100a6d44", "mov cl, byte ptr [esp + 0x1c]"], ["0x100a6d48", "and cl, 0x1f"], ["0x100a6d4b", "mov byte ptr [esp + 0x1c], cl"], ["0x100a6d4f", "mov cl, 8"]]}, {"both": [["0x100bac37", "sub cl, al", "0x100a6d51"]]}, {"orig": [["0x100bac39", "mov al, 8"], ["0x100bac3b", "sub al, byte ptr [esp + 0x14]"], ["0x100bac3f", "mov byte ptr [esp + 0x1c], cl"]], "recomp": [["0x100a6d53", "mov al, byte ptr [esp + 0x13]"], ["0x100a6d57", "and cl, 0x1f"], ["0x100a6d5a", "and al, 0x1f"], ["0x100a6d5c", "mov byte ptr [esp + 0x14], cl"]]}, {"both": [["0x100bac43", "mov byte ptr [esp + 0x18], al", "0x100a6d60"]]}, {"orig": [["0x100bac47", "mov al, 8"], ["0x100bac49", "sub al, byte ptr [esp + 0x10]"], ["0x100bac4d", "mov byte ptr [esp + 0x14], al"], ["0x100bac51", "mov al, byte ptr [esi - 2]"]], "recomp": [["0x100a6d64", "mov al, byte ptr [edi + 2]"]]}, {"both": [["0x100bac54", "mov cl, byte ptr [esp + 0x14]", "0x100a6d67"]]}, {"orig": [["0x100bac58", "add esi, 4"]], "recomp": [["0x100a6d6b", "add edi, 4"]]}, {"both": [["0x100bac5b", "add edx, 2", "0x100a6d6e"], ["0x100bac5e", "shr al, cl", "0x100a6d71"]]}, {"orig": [["0x100bac60", "movzx di, al"], ["0x100bac64", "mov cl, byte ptr [esp + 0x11]"], ["0x100bac68", "mov al, byte ptr [esi - 5]"], ["0x100bac6b", "shl di, cl"]], "recomp": [["0x100a6d73", "movzx bx, al"]]}, {"both": [["0x100bac6e", "mov cl, byte ptr [esp + 0x18]", "0x100a6d77"]]}, {"orig": [], "recomp": [["0x100a6d7b", "mov al, byte ptr [edi - 3]"], ["0x100a6d7e", "shl bx, cl"], ["0x100a6d81", "mov cl, byte ptr [esp + 0x20]"]]}, {"both": [["0x100bac72", "shr al, cl", "0x100a6d85"]]}, {"orig": [["0x100bac74", "mov cl, byte ptr [esp + 0x12]"]], "recomp": [["0x100a6d87", "mov cl, byte ptr [esp + 0x1c]"]]}, {"both": [["0x100bac78", "movzx ax, al", "0x100a6d8b"], ["0x100bac7c", "shl ax, cl", "0x100a6d8f"]]}, {"orig": [["0x100bac7f", "or di, ax"], ["0x100bac82", "mov cl, byte ptr [esp + 0x1c]"], ["0x100bac86", "mov al, byte ptr [esi - 4]"]], "recomp": [["0x100a6d92", "or bx, ax"], ["0x100a6d95", "mov cl, byte ptr [esp + 0x24]"], ["0x100a6d99", "mov al, byte ptr [edi - 4]"]]}, {"both": [["0x100bac89", "shr al, cl", "0x100a6d9c"]]}, {"orig": [["0x100bac8b", "mov cl, byte ptr [esp + 0x13]"]], "recomp": [["0x100a6d9e", "mov cl, byte ptr [esp + 0x28]"]]}, {"both": [["0x100bac8f", "movzx ax, al", "0x100a6da2"], ["0x100bac93", "shl ax, cl", "0x100a6da6"]]}, {"orig": [["0x100bac96", "or di, ax"], ["0x100bac99", "mov ecx, dword ptr [ebx + 0xa8]"], ["0x100bac9f", "mov word ptr [ecx + edx - 2], di"]], "recomp": [["0x100a6da9", "or bx, ax"], ["0x100a6dac", "mov ecx, dword ptr [esi + 0xa8]"], ["0x100a6db2", "mov word ptr [ecx + edx - 2], bx"]]}, {"both": [["0x100baca4", "cmp edx, 0x200", "0x100a6db7"], ["0x100bacaa", "jl -0x5b", "0x100a6dbd"], ["0x100bacac", "pop ebp", "0x100a6dbf"], ["0x100bacad", "pop edi", "0x100a6dc0"], ["0x100bacae", "pop esi", "0x100a6dc1"], ["0x100bacaf", "pop ebx", "0x100a6dc2"]]}, {"orig": [["0x100bacb0", "add esp, 0x414"]], "recomp": [["0x100a6dc3", "add esp, 0x420"]]}, {"both": [["0x100bacb6", "ret 4", "0x100a6dc9"]]}]]]}, {"address": "0x100bacc0", "recomp": "0x100a6dd0", "name": "MxDisplaySurface::VTable0x28", "matching": 0.5643044619422573, "diff": [["@@ -0x100bacc0,381 +0x100a6dd0,381 @@", [{"both": [["0x100bacc0", "sub esp, 0x80", "0x100a6dd0"], ["0x100bacc6", "mov dword ptr [esp], ecx", "0x100a6dd6"], ["0x100bacca", "push ebx", "0x100a6dda"], ["0x100baccb", "push esi", "0x100a6ddb"], ["0x100baccc", "push edi", "0x100a6ddc"], ["0x100baccd", "mov esi, dword ptr [esp + 0x90]", "0x100a6ddd"], ["0x100bacd4", "push ebp", "0x100a6de4"]]}, {"orig": [["0x100bacd5", "mov edi, dword ptr [esi + 0xc]"], ["0x100bacd8", "mov ecx, dword ptr [edi + 8]"]], "recomp": [["0x100a6de5", "mov edx, dword ptr [esi + 0xc]"], ["0x100a6de8", "mov ecx, dword ptr [edx + 8]"]]}, {"both": [["0x100bacdb", "test ecx, ecx", "0x100a6deb"], ["0x100bacdd", "jg 0x2", "0x100a6ded"], ["0x100bacdf", "neg ecx", "0x100a6def"], ["0x100bace1", "lea eax, [esp + 0xac]", "0x100a6df1"]]}, {"orig": [["0x100bace8", "lea edx, [esp + 0xa8]"], ["0x100bacef", "lea ebx, [esp + 0xa4]"]], "recomp": [["0x100a6df8", "lea ebx, [esp + 0xa8]"], ["0x100a6dff", "lea ebp, [esp + 0xa4]"]]}, {"both": [["0x100bacf6", "push eax", "0x100a6e06"], ["0x100bacf7", "lea eax, [esp + 0xa4]", "0x100a6e07"]]}, {"orig": [["0x100bacfe", "push edx"], ["0x100bacff", "lea edx, [esp + 0xa4]"]], "recomp": []}, {"both": [["0x100bad06", "push ebx", "0x100a6e0e"], ["0x100bad07", "lea ebx, [esp + 0xa4]", "0x100a6e0f"]]}, {"orig": [], "recomp": [["0x100a6e16", "push ebp"], ["0x100a6e17", "lea ebp, [esp + 0xa4]"]]}, {"both": [["0x100bad0e", "push eax", "0x100a6e1e"]]}, {"orig": [["0x100bad0f", "mov ebp, dword ptr [esp + 0x20]"], ["0x100bad13", "push edx"], ["0x100bad14", "mov edx, dword ptr [esp + 0x24]"]], "recomp": [["0x100a6e1f", "mov edi, dword ptr [esp + 0x20]"]]}, {"both": [["0x100bad18", "push ebx", "0x100a6e23"]]}, {"orig": [["0x100bad19", "mov eax, dword ptr [ebp + 0x14]"], ["0x100bad1c", "sub eax, dword ptr [ebp + 0xc]"]], "recomp": [["0x100a6e24", "push ebp"], ["0x100a6e25", "mov eax, dword ptr [edi + 0x14]"], ["0x100a6e28", "sub eax, dword ptr [edi + 0xc]"]]}, {"both": [["0x100bad1f", "inc eax", "0x100a6e2b"], ["0x100bad20", "push eax", "0x100a6e2c"]]}, {"orig": [["0x100bad21", "mov eax, dword ptr [edx + 0x10]"], ["0x100bad24", "sub eax, dword ptr [edx + 8]"]], "recomp": [["0x100a6e2d", "mov eax, dword ptr [edi + 0x10]"], ["0x100a6e30", "sub eax, dword ptr [edi + 8]"]]}, {"both": [["0x100bad27", "inc eax", "0x100a6e33"], ["0x100bad28", "push eax", "0x100a6e34"], ["0x100bad29", "push ecx", "0x100a6e35"]]}, {"orig": [["0x100bad2a", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100a6e36", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x100bad2d", "push ecx", "0x100a6e39"], ["0x100bad2e", "call GetRectIntersection (FUNCTION)", "0x100a6e3a"], ["0x100bad33", "add esp, 0x28", "0x100a6e3f"], ["0x100bad36", "test al, al", "0x100a6e42"]]}, {"orig": [["0x100bad38", "je 0x47d"]], "recomp": [["0x100a6e44", "je 0x479"]]}, {"both": [["0x100bad3e", "lea edi, [esp + 0x24]", "0x100a6e4a"], ["0x100bad42", "xor eax, eax", "0x100a6e4e"], ["0x100bad44", "mov ecx, 0x1b", "0x100a6e50"], ["0x100bad49", "push 0", "0x100a6e55"], ["0x100bad4b", "rep stosd dword ptr es:[edi], eax", "0x100a6e57"]]}, {"orig": [["0x100bad4d", "mov edx, dword ptr [esp + 0x14]"]], "recomp": [["0x100a6e59", "mov ebx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100bad51", "push 1", "0x100a6e5d"], ["0x100bad53", "mov dword ptr [esp + 0x2c], 0x6c", "0x100a6e5f"]]}, {"orig": [["0x100bad5b", "mov eax, dword ptr [edx + 0x30]"]], "recomp": [["0x100a6e67", "mov eax, dword ptr [ebx + 0x30]"]]}, {"both": [["0x100bad5e", "lea ecx, [esp + 0x2c]", "0x100a6e6a"], ["0x100bad62", "push ecx", "0x100a6e6e"], ["0x100bad63", "push 0", "0x100a6e6f"], ["0x100bad65", "push eax", "0x100a6e71"], ["0x100bad66", "mov ebx, dword ptr [eax]", "0x100a6e72"], ["0x100bad68", "call dword ptr [ebx + 0x64]", "0x100a6e74"], ["0x100bad6b", "cmp eax, 0x887601c2", "0x100a6e77"]]}, {"orig": [["0x100bad70", "jne 0x25"], ["0x100bad72", "mov edx, dword ptr [esp + 0x10]"], ["0x100bad76", "mov eax, dword ptr [edx + 0x30]"]], "recomp": [["0x100a6e7c", "jne 0x21"], ["0x100a6e7e", "mov ebx, dword ptr [esp + 0x10]"], ["0x100a6e82", "mov eax, dword ptr [ebx + 0x30]"]]}, {"both": [["0x100bad79", "push eax", "0x100a6e85"]]}, {"orig": [["0x100bad7a", "mov ebx, dword ptr [eax]"], ["0x100bad7c", "call dword ptr [ebx + 0x6c]"], ["0x100bad7f", "mov edx, dword ptr [esp + 0x10]"]], "recomp": [["0x100a6e86", "mov ebp, dword ptr [eax]"], ["0x100a6e88", "call dword ptr [ebp + 0x6c]"], ["0x100a6e8b", "mov eax, dword ptr [ebx + 0x30]"]]}, {"both": [["0x100bad83", "push 0", "0x100a6e8e"], ["0x100bad85", "lea ecx, [esp + 0x28]", "0x100a6e90"], ["0x100bad89", "push 1", "0x100a6e94"]]}, {"orig": [["0x100bad8b", "mov eax, dword ptr [edx + 0x30]"]], "recomp": []}, {"both": [["0x100bad8e", "push ecx", "0x100a6e96"]]}, {"orig": [["0x100bad8f", "mov ebx, dword ptr [eax]"]], "recomp": [["0x100a6e97", "mov ebp, dword ptr [eax]"]]}, {"both": [["0x100bad91", "push 0", "0x100a6e99"], ["0x100bad93", "push eax", "0x100a6e9b"]]}, {"orig": [["0x100bad94", "call dword ptr [ebx + 0x64]"]], "recomp": [["0x100a6e9c", "call dword ptr [ebp + 0x64]"]]}, {"both": [["0x100bad97", "test eax, eax", "0x100a6e9f"], ["0x100bad99", "jne 0x41c", "0x100a6ea1"], ["0x100bad9f", "mov edi, dword ptr [esi + 0xc]", "0x100a6ea7"], ["0x100bada2", "lea ecx, [edi + 0x10]", "0x100a6eaa"]]}, {"orig": [["0x100bada5", "mov eax, dword ptr [ecx]"], ["0x100bada7", "test eax, eax"]], "recomp": [["0x100a6ead", "mov ebp, dword ptr [ecx]"], ["0x100a6eaf", "test ebp, ebp"]]}, {"both": [["0x100bada9", "jne 0x39", "0x100a6eb1"]]}, {"orig": [["0x100badab", "cmp eax, 0x10"]], "recomp": [["0x100a6eb3", "cmp ebp, 0x10"]]}, {"both": [["0x100badae", "je 0x7", "0x100a6eb6"], ["0x100badb0", "mov edx, dword ptr [edi + 8]", "0x100a6eb8"], ["0x100badb3", "test edx, edx", "0x100a6ebb"], ["0x100badb5", "jge 0x9", "0x100a6ebd"], ["0x100badb7", "mov edx, dword ptr [esp + 0x9c]", "0x100a6ebf"], ["0x100badbe", "jmp 0xc", "0x100a6ec6"], ["0x100badc0", "jg 0x2", "0x100a6ec8"], ["0x100badc2", "neg edx", "0x100a6eca"], ["0x100badc4", "sub edx, dword ptr [esp + 0x9c]", "0x100a6ecc"], ["0x100badcb", "dec edx", "0x100a6ed3"]]}, {"orig": [["0x100badcc", "mov ebx, dword ptr [edi + 4]"], ["0x100badcf", "add ebx, 3"], ["0x100badd2", "and ebx, 0xfffffffc"], ["0x100badd5", "imul ebx, edx"], ["0x100badd8", "add ebx, dword ptr [esi + 0x14]"], ["0x100baddb", "add ebx, dword ptr [esp + 0x98]"]], "recomp": [["0x100a6ed4", "mov eax, dword ptr [edi + 4]"], ["0x100a6ed7", "add eax, 3"], ["0x100a6eda", "and eax, 0xfffffffc"], ["0x100a6edd", "imul eax, edx"], ["0x100a6ee0", "add eax, dword ptr [esi + 0x14]"], ["0x100a6ee3", "add eax, dword ptr [esp + 0x98]"]]}, {"both": [["0x100bade2", "jmp 0x29", "0x100a6eea"]]}, {"orig": [["0x100bade4", "cmp eax, 0x10"]], "recomp": [["0x100a6eec", "cmp ebp, 0x10"]]}, {"both": [["0x100bade7", "jne 0x5", "0x100a6eef"]]}, {"orig": [["0x100bade9", "mov ebx, dword ptr [esi + 0x14]"]], "recomp": [["0x100a6ef1", "mov eax, dword ptr [esi + 0x14]"]]}, {"both": [["0x100badec", "jmp 0x1f", "0x100a6ef4"], ["0x100badee", "mov edx, dword ptr [edi + 8]", "0x100a6ef6"], ["0x100badf1", "test edx, edx", "0x100a6ef9"], ["0x100badf3", "jge 0x4", "0x100a6efb"], ["0x100badf5", "xor edx, edx", "0x100a6efd"], ["0x100badf7", "jmp 0x5", "0x100a6eff"], ["0x100badf9", "jg 0x2", "0x100a6f01"], ["0x100badfb", "neg edx", "0x100a6f03"], ["0x100badfd", "dec edx", "0x100a6f05"]]}, {"orig": [["0x100badfe", "mov ebx, dword ptr [edi + 4]"], ["0x100bae01", "add ebx, 3"], ["0x100bae04", "and ebx, 0xfffffffc"], ["0x100bae07", "imul ebx, edx"], ["0x100bae0a", "add ebx, dword ptr [esi + 0x14]"], ["0x100bae0d", "mov edx, dword ptr [esp + 0x10]"], ["0x100bae11", "test byte ptr [edx + 0x20], 8"]], "recomp": [["0x100a6f06", "mov eax, dword ptr [edi + 4]"], ["0x100a6f09", "add eax, 3"], ["0x100a6f0c", "and eax, 0xfffffffc"], ["0x100a6f0f", "imul eax, edx"], ["0x100a6f12", "add eax, dword ptr [esi + 0x14]"], ["0x100a6f15", "mov ebx, dword ptr [esp + 0x10]"], ["0x100a6f19", "test byte ptr [ebx + 0x20], 8"]]}, {"both": [["0x100bae15", "je 0x243", "0x100a6f1d"], ["0x100bae1b", "shl dword ptr [esp + 0xa4], 1", "0x100a6f23"], ["0x100bae23", "shl dword ptr [esp + 0xa0], 1", "0x100a6f2b"]]}, {"orig": [["0x100bae2b", "mov eax, dword ptr [edx + 0x90]"], ["0x100bae31", "cmp eax, 8"]], "recomp": [["0x100a6f33", "mov edx, dword ptr [ebx + 0x90]"], ["0x100a6f39", "cmp edx, 8"]]}, {"both": [["0x100bae34", "je 0xe", "0x100a6f3c"]]}, {"orig": [["0x100bae36", "cmp eax, 0x10"]], "recomp": [["0x100a6f3e", "cmp edx, 0x10"]]}, {"both": [["0x100bae39", "je 0xcc", "0x100a6f41"], ["0x100bae3f", "jmp 0x362", "0x100a6f47"]]}, {"orig": [["0x100bae44", "mov edx, dword ptr [esp + 0x34]"], ["0x100bae48", "imul edx, dword ptr [esp + 0xa4]"]], "recomp": [["0x100a6f4c", "mov edx, dword ptr [esp + 0xa4]"], ["0x100a6f53", "imul edx, dword ptr [esp + 0x34]"], ["0x100a6f58", "add edx, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100bae50", "add edx, dword ptr [esp + 0x48]", "0x100a6f5f"]]}, {"orig": [["0x100bae54", "add edx, dword ptr [esp + 0xa0]"]], "recomp": []}, {"both": [["0x100bae5b", "cmp dword ptr [ecx], 0x10", "0x100a6f63"], ["0x100bae5e", "je 0x6", "0x100a6f66"], ["0x100bae60", "cmp dword ptr [edi + 8], 0", "0x100a6f68"], ["0x100bae64", "jge 0xb", "0x100a6f6c"]]}, {"orig": [["0x100bae66", "mov ebp, dword ptr [edi + 4]"], ["0x100bae69", "add ebp, 3"], ["0x100bae6c", "and ebp, 0xfffffffc"]], "recomp": [["0x100a6f6e", "mov ebx, dword ptr [edi + 4]"], ["0x100a6f71", "add ebx, 3"], ["0x100a6f74", "and ebx, 0xfffffffc"]]}, {"both": [["0x100bae6f", "jmp 0xb", "0x100a6f77"]]}, {"orig": [["0x100bae71", "mov ebp, dword ptr [edi + 4]"], ["0x100bae74", "add ebp, 3"], ["0x100bae77", "and ebp, 0xfffffffc"], ["0x100bae7a", "neg ebp"], ["0x100bae7c", "sub ebp, dword ptr [esp + 0xa8]"], ["0x100bae83", "mov eax, dword ptr [esp + 0x34]"], ["0x100bae87", "mov ecx, dword ptr [esp + 0xa8]"], ["0x100bae8e", "mov esi, dword ptr [esp + 0xac]"], ["0x100bae95", "add ecx, ecx"]], "recomp": [["0x100a6f79", "mov ebx, dword ptr [edi + 4]"], ["0x100a6f7c", "add ebx, 3"], ["0x100a6f7f", "and ebx, 0xfffffffc"], ["0x100a6f82", "neg ebx"], ["0x100a6f84", "sub ebx, dword ptr [esp + 0xa8]"], ["0x100a6f8b", "mov ecx, dword ptr [esp + 0x34]"], ["0x100a6f8f", "mov esi, dword ptr [esp + 0xa8]"], ["0x100a6f96", "mov ebp, dword ptr [esp + 0xac]"], ["0x100a6f9d", "add esi, esi"]]}, {"both": [["0x100bae97", "dec dword ptr [esp + 0xac]", "0x100a6f9f"]]}, {"orig": [["0x100bae9e", "sub eax, ecx"], ["0x100baea0", "test esi, esi"], ["0x100baea2", "mov dword ptr [esp + 0x14], eax"]], "recomp": [["0x100a6fa6", "sub ecx, esi"], ["0x100a6fa8", "test ebp, ebp"], ["0x100a6faa", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x100baea6", "je 0x2fa", "0x100a6fae"], ["0x100baeac", "mov esi, edx", "0x100a6fb4"]]}, {"orig": [["0x100baeae", "xor ecx, ecx"], ["0x100baeb0", "cmp dword ptr [esp + 0xa8], ecx"]], "recomp": [["0x100a6fb6", "xor edi, edi"], ["0x100a6fb8", "cmp dword ptr [esp + 0xa8], edi"]]}, {"both": [["0x100baeb7", "jle 0x18", "0x100a6fbf"]]}, {"orig": [["0x100baeb9", "mov al, byte ptr [ebx]"]], "recomp": [["0x100a6fc1", "mov cl, byte ptr [eax]"]]}, {"both": [["0x100baebb", "inc edx", "0x100a6fc3"]]}, {"orig": [["0x100baebc", "inc ebx"]], "recomp": [["0x100a6fc4", "inc eax"]]}, {"both": [["0x100baebd", "inc edx", "0x100a6fc5"]]}, {"orig": [["0x100baebe", "inc ecx"], ["0x100baebf", "mov byte ptr [edx - 2], al"], ["0x100baec2", "mov al, byte ptr [ebx - 1]"], ["0x100baec5", "mov byte ptr [edx - 1], al"], ["0x100baec8", "cmp dword ptr [esp + 0xa8], ecx"]], "recomp": [["0x100a6fc6", "inc edi"], ["0x100a6fc7", "mov byte ptr [edx - 2], cl"], ["0x100a6fca", "mov cl, byte ptr [eax - 1]"], ["0x100a6fcd", "mov byte ptr [edx - 1], cl"], ["0x100a6fd0", "cmp dword ptr [esp + 0xa8], edi"]]}, {"both": [["0x100baecf", "jg -0x18", "0x100a6fd7"]]}, {"orig": [["0x100baed1", "add ebx, ebp"]], "recomp": [["0x100a6fd9", "add eax, ebx"]]}, {"both": [["0x100baed3", "add edx, dword ptr [esp + 0x14]", "0x100a6fdb"]]}, {"orig": [["0x100baed7", "mov eax, dword ptr [esp + 0xa8]"]], "recomp": [["0x100a6fdf", "mov ebp, dword ptr [esp + 0xa8]"]]}, {"both": [["0x100baede", "mov edi, edx", "0x100a6fe6"]]}, {"orig": [["0x100baee0", "add eax, eax"], ["0x100baee2", "mov ecx, eax"]], "recomp": [["0x100a6fe8", "add ebp, ebp"], ["0x100a6fea", "mov ecx, ebp"]]}, {"both": [["0x100baee4", "shr ecx, 2", "0x100a6fec"], ["0x100baee7", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a6fef"]]}, {"orig": [["0x100baee9", "mov ecx, eax"]], "recomp": [["0x100a6ff1", "mov ecx, ebp"]]}, {"both": [["0x100baeeb", "and ecx, 3", "0x100a6ff3"], ["0x100baeee", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a6ff6"], ["0x100baef0", "add edx, dword ptr [esp + 0x34]", "0x100a6ff8"], ["0x100baef4", "mov ecx, dword ptr [esp + 0xac]", "0x100a6ffc"], ["0x100baefb", "dec dword ptr [esp + 0xac]", "0x100a7003"], ["0x100baf02", "test ecx, ecx", "0x100a700a"], ["0x100baf04", "jne -0x5a", "0x100a700c"], ["0x100baf06", "jmp 0x29b", "0x100a700e"]]}, {"orig": [["0x100baf0b", "mov eax, dword ptr [esp + 0x34]"], ["0x100baf0f", "mov edx, dword ptr [esp + 0xa0]"], ["0x100baf16", "imul eax, dword ptr [esp + 0xa4]"], ["0x100baf1e", "lea eax, [eax + edx*2]"], ["0x100baf21", "add eax, dword ptr [esp + 0x48]"]], "recomp": [["0x100a7013", "mov edx, dword ptr [esp + 0xa4]"], ["0x100a701a", "mov esi, dword ptr [esp + 0xa0]"], ["0x100a7021", "imul edx, dword ptr [esp + 0x34]"], ["0x100a7026", "lea edx, [edx + esi*2]"], ["0x100a7029", "add edx, dword ptr [esp + 0x48]"]]}, {"both": [["0x100baf25", "cmp dword ptr [ecx], 0x10", "0x100a702d"], ["0x100baf28", "je 0x6", "0x100a7030"], ["0x100baf2a", "cmp dword ptr [edi + 8], 0", "0x100a7032"], ["0x100baf2e", "jge 0xb", "0x100a7036"], ["0x100baf30", "mov ecx, dword ptr [edi + 4]", "0x100a7038"], ["0x100baf33", "add ecx, 3", "0x100a703b"], ["0x100baf36", "and ecx, 0xfffffffc", "0x100a703e"], ["0x100baf39", "jmp 0xb", "0x100a7041"], ["0x100baf3b", "mov ecx, dword ptr [edi + 4]", "0x100a7043"], ["0x100baf3e", "add ecx, 3", "0x100a7046"], ["0x100baf41", "and ecx, 0xfffffffc", "0x100a7049"], ["0x100baf44", "neg ecx", "0x100a704c"], ["0x100baf46", "sub ecx, dword ptr [esp + 0xa8]", "0x100a704e"], ["0x100baf4d", "mov ebp, dword ptr [esp + 0xa8]", "0x100a7055"], ["0x100baf54", "shl ebp, 2", "0x100a705c"]]}, {"orig": [["0x100baf57", "mov edx, dword ptr [esp + 0xac]"]], "recomp": [["0x100a705f", "mov ebx, dword ptr [esp + 0xac]"]]}, {"both": [["0x100baf5e", "mov esi, dword ptr [esp + 0xa8]", "0x100a7066"], ["0x100baf65", "mov dword ptr [esp + 0x14], ecx", "0x100a706d"], ["0x100baf69", "mov ecx, dword ptr [esp + 0x34]", "0x100a7071"]]}, {"orig": [["0x100baf6d", "mov dword ptr [esp + 0x18], edx"]], "recomp": [["0x100a7075", "mov dword ptr [esp + 0x18], ebx"]]}, {"both": [["0x100baf71", "sub ecx, ebp", "0x100a7079"], ["0x100baf73", "mov dword ptr [esp + 0x1c], esi", "0x100a707b"], ["0x100baf77", "mov dword ptr [esp + 0x20], ecx", "0x100a707f"], ["0x100baf7b", "mov ecx, dword ptr [esp + 0x10]", "0x100a7083"], ["0x100baf7f", "cmp dword ptr [esp + 0x14], 0", "0x100a7087"]]}, {"orig": [["0x100baf84", "mov edx, dword ptr [ecx + 0xa8]"]], "recomp": [["0x100a708c", "mov ebx, dword ptr [ecx + 0xa8]"]]}, {"both": [["0x100baf8a", "jne 0x6d", "0x100a7092"], ["0x100baf8c", "cmp dword ptr [esp + 0x20], 0", "0x100a7094"], ["0x100baf91", "jne 0x66", "0x100a7099"], ["0x100baf93", "mov ecx, dword ptr [esp + 0xac]", "0x100a709b"], ["0x100baf9a", "dec ecx", "0x100a70a2"], ["0x100baf9b", "cmp dword ptr [esp + 0xac], 0", "0x100a70a3"], ["0x100bafa3", "mov dword ptr [esp + 0x18], ecx", "0x100a70ab"], ["0x100bafa7", "je 0x1f9", "0x100a70af"], ["0x100bafad", "cmp dword ptr [esp + 0x1c], 0", "0x100a70b5"]]}, {"orig": [["0x100bafb2", "mov esi, eax"]], "recomp": [["0x100a70ba", "mov esi, edx"]]}, {"both": [["0x100bafb4", "jle 0x1e", "0x100a70bc"], ["0x100bafb6", "mov edi, dword ptr [esp + 0x1c]", "0x100a70be"], ["0x100bafba", "xor ecx, ecx", "0x100a70c2"]]}, {"orig": [["0x100bafbc", "add eax, 2"], ["0x100bafbf", "mov cl, byte ptr [ebx]"], ["0x100bafc1", "inc ebx"], ["0x100bafc2", "mov cx, word ptr [edx + ecx*2]"], ["0x100bafc6", "add eax, 2"], ["0x100bafc9", "mov word ptr [eax - 4], cx"]], "recomp": [["0x100a70c4", "add edx, 2"], ["0x100a70c7", "mov cl, byte ptr [eax]"], ["0x100a70c9", "inc eax"], ["0x100a70ca", "mov cx, word ptr [ebx + ecx*2]"], ["0x100a70ce", "add edx, 2"], ["0x100a70d1", "mov word ptr [edx - 4], cx"]]}, {"both": [["0x100bafcd", "dec edi", "0x100a70d5"]]}, {"orig": [["0x100bafce", "mov word ptr [eax - 2], cx"]], "recomp": [["0x100a70d6", "mov word ptr [edx - 2], cx"]]}, {"both": [["0x100bafd2", "jne -0x1a", "0x100a70da"]]}, {"orig": [["0x100bafd4", "mov edi, eax"]], "recomp": [["0x100a70dc", "mov edi, edx"]]}, {"both": [["0x100bafd6", "mov ecx, ebp", "0x100a70de"], ["0x100bafd8", "shr ecx, 2", "0x100a70e0"], ["0x100bafdb", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a70e3"], ["0x100bafdd", "mov ecx, ebp", "0x100a70e5"], ["0x100bafdf", "and ecx, 3", "0x100a70e7"], ["0x100bafe2", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a70ea"]]}, {"orig": [["0x100bafe4", "add eax, dword ptr [esp + 0x34]"]], "recomp": [["0x100a70ec", "add edx, dword ptr [esp + 0x34]"]]}, {"both": [["0x100bafe8", "mov ecx, dword ptr [esp + 0x18]", "0x100a70f0"], ["0x100bafec", "dec dword ptr [esp + 0x18]", "0x100a70f4"], ["0x100baff0", "test ecx, ecx", "0x100a70f8"], ["0x100baff2", "jne -0x47", "0x100a70fa"], ["0x100baff4", "jmp 0x1ad", "0x100a70fc"], ["0x100baff9", "mov ecx, dword ptr [esp + 0x18]", "0x100a7101"], ["0x100baffd", "dec dword ptr [esp + 0x18]", "0x100a7105"], ["0x100bb001", "test ecx, ecx", "0x100a7109"], ["0x100bb003", "je 0x19d", "0x100a710b"], ["0x100bb009", "cmp dword ptr [esp + 0x1c], 0", "0x100a7111"]]}, {"orig": [["0x100bb00e", "mov esi, eax"]], "recomp": [["0x100a7116", "mov esi, edx"]]}, {"both": [["0x100bb010", "jle 0x1e", "0x100a7118"], ["0x100bb012", "mov edi, dword ptr [esp + 0x1c]", "0x100a711a"], ["0x100bb016", "xor ecx, ecx", "0x100a711e"]]}, {"orig": [["0x100bb018", "add eax, 2"], ["0x100bb01b", "mov cl, byte ptr [ebx]"], ["0x100bb01d", "inc ebx"], ["0x100bb01e", "mov cx, word ptr [edx + ecx*2]"], ["0x100bb022", "add eax, 2"], ["0x100bb025", "mov word ptr [eax - 4], cx"]], "recomp": [["0x100a7120", "add edx, 2"], ["0x100a7123", "mov cl, byte ptr [eax]"], ["0x100a7125", "inc eax"], ["0x100a7126", "mov cx, word ptr [ebx + ecx*2]"], ["0x100a712a", "add edx, 2"], ["0x100a712d", "mov word ptr [edx - 4], cx"]]}, {"both": [["0x100bb029", "dec edi", "0x100a7131"]]}, {"orig": [["0x100bb02a", "mov word ptr [eax - 2], cx"]], "recomp": [["0x100a7132", "mov word ptr [edx - 2], cx"]]}, {"both": [["0x100bb02e", "jne -0x1a", "0x100a7136"]]}, {"orig": [["0x100bb030", "add ebx, dword ptr [esp + 0x14]"], ["0x100bb034", "add eax, dword ptr [esp + 0x20]"]], "recomp": [["0x100a7138", "add eax, dword ptr [esp + 0x14]"], ["0x100a713c", "add edx, dword ptr [esp + 0x20]"]]}, {"both": [["0x100bb038", "mov ecx, dword ptr [esp + 0xa8]", "0x100a7140"]]}, {"orig": [["0x100bb03f", "mov edi, eax"]], "recomp": [["0x100a7147", "mov edi, edx"]]}, {"both": [["0x100bb041", "shl ecx, 2", "0x100a7149"], ["0x100bb044", "shr ecx, 2", "0x100a714c"], ["0x100bb047", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a714f"]]}, {"orig": [["0x100bb049", "add eax, dword ptr [esp + 0x34]"]], "recomp": [["0x100a7151", "add edx, dword ptr [esp + 0x34]"]]}, {"both": [["0x100bb04d", "mov ecx, dword ptr [esp + 0x18]", "0x100a7155"], ["0x100bb051", "dec dword ptr [esp + 0x18]", "0x100a7159"], ["0x100bb055", "test ecx, ecx", "0x100a715d"], ["0x100bb057", "jne -0x50", "0x100a715f"], ["0x100bb059", "jmp 0x148", "0x100a7161"]]}, {"orig": [["0x100bb05e", "mov edx, dword ptr [esp + 0x10]"], ["0x100bb062", "mov ecx, dword ptr [edx + 0x90]"]], "recomp": [["0x100a7166", "mov ebx, dword ptr [esp + 0x10]"], ["0x100a716a", "mov ecx, dword ptr [ebx + 0x90]"]]}, {"both": [["0x100bb068", "cmp ecx, 8", "0x100a7170"], ["0x100bb06b", "je 0xe", "0x100a7173"], ["0x100bb06d", "cmp ecx, 0x10", "0x100a7175"], ["0x100bb070", "je 0x91", "0x100a7178"], ["0x100bb076", "jmp 0x12b", "0x100a717e"]]}, {"orig": [["0x100bb07b", "mov edx, dword ptr [esp + 0x34]"], ["0x100bb07f", "imul edx, dword ptr [esp + 0xa4]"]], "recomp": [["0x100a7183", "mov edx, dword ptr [esp + 0xa4]"], ["0x100a718a", "imul edx, dword ptr [esp + 0x34]"], ["0x100a718f", "add edx, dword ptr [esp + 0xa0]"]]}, {"both": [["0x100bb087", "add edx, dword ptr [esp + 0x48]", "0x100a7196"]]}, {"orig": [["0x100bb08b", "add edx, dword ptr [esp + 0xa0]"], ["0x100bb092", "cmp eax, 0x10"]], "recomp": [["0x100a719a", "cmp ebp, 0x10"]]}, {"both": [["0x100bb095", "je 0x6", "0x100a719d"], ["0x100bb097", "cmp dword ptr [edi + 8], 0", "0x100a719f"], ["0x100bb09b", "jge 0xb", "0x100a71a3"]]}, {"orig": [["0x100bb09d", "mov ebp, dword ptr [edi + 4]"], ["0x100bb0a0", "add ebp, 3"], ["0x100bb0a3", "and ebp, 0xfffffffc"]], "recomp": [["0x100a71a5", "mov ebx, dword ptr [edi + 4]"], ["0x100a71a8", "add ebx, 3"], ["0x100a71ab", "and ebx, 0xfffffffc"]]}, {"both": [["0x100bb0a6", "jmp 0xb", "0x100a71ae"]]}, {"orig": [["0x100bb0a8", "mov ebp, dword ptr [edi + 4]"], ["0x100bb0ab", "add ebp, 3"], ["0x100bb0ae", "and ebp, 0xfffffffc"], ["0x100bb0b1", "neg ebp"], ["0x100bb0b3", "mov eax, dword ptr [esp + 0x34]"]], "recomp": [["0x100a71b0", "mov ebx, dword ptr [edi + 4]"], ["0x100a71b3", "add ebx, 3"], ["0x100a71b6", "and ebx, 0xfffffffc"], ["0x100a71b9", "neg ebx"], ["0x100a71bb", "mov ecx, dword ptr [esp + 0x34]"], ["0x100a71bf", "mov ebp, dword ptr [esp + 0xac]"], ["0x100a71c6", "mov dword ptr [esp + 0x14], ecx"], ["0x100a71ca", "dec dword ptr [esp + 0xac]"], ["0x100a71d1", "test ebp, ebp"], ["0x100a71d3", "je 0xd5"], ["0x100a71d9", "mov ebp, dword ptr [esp + 0xa8]"], ["0x100a71e0", "mov edi, edx"], ["0x100a71e2", "mov esi, eax"], ["0x100a71e4", "mov ecx, ebp"], ["0x100a71e6", "shr ecx, 2"], ["0x100a71e9", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x100a71eb", "mov ecx, ebp"], ["0x100a71ed", "and ecx, 3"], ["0x100a71f0", "rep movsb byte ptr es:[edi], byte ptr [esi]"], ["0x100a71f2", "add eax, ebx"], ["0x100a71f4", "add edx, dword ptr [esp + 0x14]"]]}, {"both": [["0x100bb0b7", "mov ecx, dword ptr [esp + 0xac]", "0x100a71f8"]]}, {"orig": [["0x100bb0be", "mov dword ptr [esp + 0x14], eax"]], "recomp": []}, {"both": [["0x100bb0c2", "dec dword ptr [esp + 0xac]", "0x100a71ff"], ["0x100bb0c9", "test ecx, ecx", "0x100a7206"]]}, {"orig": [["0x100bb0cb", "je 0xd5"], ["0x100bb0d1", "mov eax, dword ptr [esp + 0xa8]"], ["0x100bb0d8", "mov edi, edx"], ["0x100bb0da", "mov esi, ebx"], ["0x100bb0dc", "mov ecx, eax"], ["0x100bb0de", "shr ecx, 2"], ["0x100bb0e1", "add ebx, ebp"], ["0x100bb0e3", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x100bb0e5", "mov ecx, eax"], ["0x100bb0e7", "and ecx, 3"], ["0x100bb0ea", "rep movsb byte ptr es:[edi], byte ptr [esi]"], ["0x100bb0ec", "add edx, dword ptr [esp + 0x14]"], ["0x100bb0f0", "mov eax, dword ptr [esp + 0xac]"], ["0x100bb0f7", "dec dword ptr [esp + 0xac]"], ["0x100bb0fe", "test eax, eax"]], "recomp": []}, {"both": [["0x100bb100", "jne -0x31", "0x100a7208"], ["0x100bb102", "jmp 0x9f", "0x100a720a"]]}, {"orig": [["0x100bb107", "mov esi, dword ptr [esp + 0x34]"]], "recomp": [["0x100a720f", "mov esi, dword ptr [esp + 0xa4]"]]}, {"both": [["0x100bb10b", "mov ecx, dword ptr [esp + 0xa0]", "0x100a7216"]]}, {"orig": [["0x100bb112", "imul esi, dword ptr [esp + 0xa4]"]], "recomp": [["0x100a721d", "imul esi, dword ptr [esp + 0x34]"]]}, {"both": [["0x100bb11a", "lea esi, [esi + ecx*2]", "0x100a7222"], ["0x100bb11d", "add esi, dword ptr [esp + 0x48]", "0x100a7225"]]}, {"orig": [["0x100bb121", "cmp eax, 0x10"]], "recomp": [["0x100a7229", "cmp ebp, 0x10"]]}, {"both": [["0x100bb124", "je 0x6", "0x100a722c"], ["0x100bb126", "cmp dword ptr [edi + 8], 0", "0x100a722e"], ["0x100bb12a", "jge 0xb", "0x100a7232"], ["0x100bb12c", "mov edi, dword ptr [edi + 4]", "0x100a7234"], ["0x100bb12f", "add edi, 3", "0x100a7237"], ["0x100bb132", "and edi, 0xfffffffc", "0x100a723a"], ["0x100bb135", "jmp 0xb", "0x100a723d"], ["0x100bb137", "mov edi, dword ptr [edi + 4]", "0x100a723f"], ["0x100bb13a", "add edi, 3", "0x100a7242"], ["0x100bb13d", "and edi, 0xfffffffc", "0x100a7245"], ["0x100bb140", "neg edi", "0x100a7248"], ["0x100bb142", "sub edi, dword ptr [esp + 0xa8]", "0x100a724a"]]}, {"orig": [["0x100bb149", "mov eax, dword ptr [esp + 0x34]"], ["0x100bb14d", "mov ecx, dword ptr [esp + 0xa8]"]], "recomp": [["0x100a7251", "mov ecx, dword ptr [esp + 0x34]"], ["0x100a7255", "mov edx, dword ptr [esp + 0xa8]"], ["0x100a725c", "add edx, edx"], ["0x100a725e", "sub ecx, edx"], ["0x100a7260", "xor edx, edx"], ["0x100a7262", "mov dword ptr [esp + 0x14], ecx"], ["0x100a7266", "cmp dword ptr [esp + 0xac], edx"], ["0x100a726d", "jle 0x3f"]]}, {"both": [["0x100bb154", "xor ebp, ebp", "0x100a726f"]]}, {"orig": [["0x100bb156", "add ecx, ecx"], ["0x100bb158", "sub eax, ecx"], ["0x100bb15a", "cmp dword ptr [esp + 0xac], ebp"], ["0x100bb161", "mov dword ptr [esp + 0x14], eax"], ["0x100bb165", "jle 0x3f"]], "recomp": [["0x100a7271", "cmp dword ptr [esp + 0xa8], ebp"], ["0x100a7278", "jle 0x24"]]}, {"both": [["0x100bb167", "xor ecx, ecx", "0x100a727a"]]}, {"orig": [["0x100bb169", "cmp dword ptr [esp + 0xa8], ecx"], ["0x100bb170", "jle 0x24"], ["0x100bb172", "xor eax, eax"], ["0x100bb174", "mov edx, dword ptr [esp + 0x10]"], ["0x100bb178", "mov al, byte ptr [ebx]"], ["0x100bb17a", "inc ebx"], ["0x100bb17b", "mov edx, dword ptr [edx + 0xa8]"]], "recomp": [["0x100a727c", "mov ebx, dword ptr [esp + 0x10]"], ["0x100a7280", "mov cl, byte ptr [eax]"], ["0x100a7282", "inc eax"], ["0x100a7283", "mov ebx, dword ptr [ebx + 0xa8]"]]}, {"both": [["0x100bb181", "add esi, 2", "0x100a7289"]]}, {"orig": [["0x100bb184", "mov ax, word ptr [edx + eax*2]"], ["0x100bb188", "inc ecx"], ["0x100bb189", "mov word ptr [esi - 2], ax"], ["0x100bb18d", "cmp dword ptr [esp + 0xa8], ecx"], ["0x100bb194", "jg -0x24"], ["0x100bb196", "add ebx, edi"]], "recomp": [["0x100a728c", "mov cx, word ptr [ebx + ecx*2]"], ["0x100a7290", "inc ebp"], ["0x100a7291", "mov word ptr [esi - 2], cx"], ["0x100a7295", "cmp ebp, dword ptr [esp + 0xa8]"], ["0x100a729c", "jl -0x24"], ["0x100a729e", "add eax, edi"]]}, {"both": [["0x100bb198", "add esi, dword ptr [esp + 0x14]", "0x100a72a0"]]}, {"orig": [["0x100bb19c", "inc ebp"], ["0x100bb19d", "cmp dword ptr [esp + 0xac], ebp"]], "recomp": [["0x100a72a4", "inc edx"], ["0x100a72a5", "cmp dword ptr [esp + 0xac], edx"]]}, {"both": [["0x100bb1a4", "jg -0x3f", "0x100a72ac"]]}, {"orig": [["0x100bb1a6", "mov edx, dword ptr [esp + 0x10]"]], "recomp": [["0x100a72ae", "mov ebx, dword ptr [esp + 0x10]"]]}, {"both": [["0x100bb1aa", "mov ecx, dword ptr [esp + 0x48]", "0x100a72b2"], ["0x100bb1ae", "push ecx", "0x100a72b6"]]}, {"orig": [["0x100bb1af", "mov eax, dword ptr [edx + 0x30]"]], "recomp": [["0x100a72b7", "mov eax, dword ptr [ebx + 0x30]"]]}, {"both": [["0x100bb1b2", "push eax", "0x100a72ba"], ["0x100bb1b3", "mov ebx, dword ptr [eax]", "0x100a72bb"], ["0x100bb1b5", "call dword ptr [ebx + 0x80]", "0x100a72bd"], ["0x100bb1bb", "pop ebp", "0x100a72c3"], ["0x100bb1bc", "pop edi", "0x100a72c4"], ["0x100bb1bd", "pop esi", "0x100a72c5"], ["0x100bb1be", "pop ebx", "0x100a72c6"]]}, {"orig": [], "recomp": [["0x100a72c7", "add esp, 0x80"], ["0x100a72cd", "ret 0x1c"]]}]]]}, {"address": "0x100bb1d0", "recomp": "0x100a72d0", "name": "MxDisplaySurface::VTable0x30", "matching": 0.8611111111111112, "diff": [["@@ -0x100bb1d0,44 +0x100a72d0,44 @@", [{"both": [["0x100bb1d0", "sub esp, 0x74", "0x100a72d0"], ["0x100bb1d3", "push ebx", "0x100a72d3"], ["0x100bb1d4", "push esi", "0x100a72d4"], ["0x100bb1d5", "push edi", "0x100a72d5"], ["0x100bb1d6", "mov esi, ecx", "0x100a72d6"], ["0x100bb1d8", "mov ebx, dword ptr [esp + 0x84]", "0x100a72d8"], ["0x100bb1df", "push ebp", "0x100a72df"]]}, {"orig": [["0x100bb1e0", "mov edx, dword ptr [ebx + 0xc]"], ["0x100bb1e3", "mov ecx, dword ptr [edx + 8]"], ["0x100bb1e6", "test ecx, ecx"]], "recomp": [["0x100a72e0", "mov ecx, dword ptr [ebx + 0xc]"], ["0x100a72e3", "mov edx, dword ptr [ecx + 8]"], ["0x100a72e6", "test edx, edx"]]}, {"both": [["0x100bb1e8", "jg 0x2", "0x100a72e8"]]}, {"orig": [["0x100bb1ea", "neg ecx"]], "recomp": [["0x100a72ea", "neg edx"]]}, {"both": [["0x100bb1ec", "lea eax, [esp + 0xa0]", "0x100a72ec"], ["0x100bb1f3", "lea ebp, [esp + 0x9c]", "0x100a72f3"], ["0x100bb1fa", "lea edi, [esp + 0x98]", "0x100a72fa"], ["0x100bb201", "push eax", "0x100a7301"], ["0x100bb202", "lea eax, [esp + 0x98]", "0x100a7302"], ["0x100bb209", "push ebp", "0x100a7309"], ["0x100bb20a", "lea ebp, [esp + 0x98]", "0x100a730a"], ["0x100bb211", "push edi", "0x100a7311"], ["0x100bb212", "lea edi, [esp + 0x98]", "0x100a7312"], ["0x100bb219", "push eax", "0x100a7319"], ["0x100bb21a", "push ebp", "0x100a731a"], ["0x100bb21b", "mov eax, dword ptr [esi + 0x14]", "0x100a731b"], ["0x100bb21e", "push edi", "0x100a731e"], ["0x100bb21f", "sub eax, dword ptr [esi + 0xc]", "0x100a731f"], ["0x100bb222", "inc eax", "0x100a7322"]]}, {"orig": [], "recomp": [["0x100a7323", "mov ecx, dword ptr [ecx + 4]"]]}, {"both": [["0x100bb223", "push eax", "0x100a7326"], ["0x100bb224", "mov eax, dword ptr [esi + 0x10]", "0x100a7327"], ["0x100bb227", "sub eax, dword ptr [esi + 8]", "0x100a732a"], ["0x100bb22a", "inc eax", "0x100a732d"], ["0x100bb22b", "push eax", "0x100a732e"]]}, {"orig": [["0x100bb22c", "push ecx"], ["0x100bb22d", "mov ecx, dword ptr [edx + 4]"]], "recomp": [["0x100a732f", "push edx"]]}, {"both": [["0x100bb230", "push ecx", "0x100a7330"], ["0x100bb231", "call GetRectIntersection (FUNCTION)", "0x100a7331"], ["0x100bb236", "add esp, 0x28", "0x100a7336"], ["0x100bb239", "test al, al", "0x100a7339"], ["0x100bb23b", "je 0x2b0", "0x100a733b"], ["0x100bb241", "lea edi, [esp + 0x18]", "0x100a7341"], ["0x100bb245", "xor eax, eax", "0x100a7345"], ["0x100bb247", "mov ecx, 0x1b", "0x100a7347"], ["0x100bb24c", "push 0", "0x100a734c"], ["0x100bb24e", "rep stosd dword ptr es:[edi], eax", "0x100a734e"]]}]], ["@@ -0x100bb325,52 +0x100a7425,52 @@", [{"both": [["0x100bb325", "imul eax, dword ptr [esp + 0x98]", "0x100a7425"], ["0x100bb32d", "add eax, dword ptr [esp + 0x3c]", "0x100a742d"], ["0x100bb331", "add eax, dword ptr [esp + 0x94]", "0x100a7431"], ["0x100bb338", "cmp byte ptr [esp + 0xa4], 0", "0x100a7438"], ["0x100bb340", "mov dword ptr [esp + 0x10], eax", "0x100a7440"], ["0x100bb344", "jne 0x87", "0x100a7444"], ["0x100bb34a", "cmp dword ptr [edx], 0x10", "0x100a744a"], ["0x100bb34d", "je 0x6", "0x100a744d"], ["0x100bb34f", "cmp dword ptr [ecx + 8], 0", "0x100a744f"], ["0x100bb353", "jge 0xb", "0x100a7453"]]}, {"orig": [["0x100bb355", "mov ebx, dword ptr [ecx + 4]"], ["0x100bb358", "add ebx, 3"], ["0x100bb35b", "and ebx, 0xfffffffc"]], "recomp": [["0x100a7455", "mov ecx, dword ptr [ecx + 4]"], ["0x100a7458", "add ecx, 3"], ["0x100a745b", "and ecx, 0xfffffffc"]]}, {"both": [["0x100bb35e", "jmp 0xb", "0x100a745e"]]}, {"orig": [["0x100bb360", "mov ebx, dword ptr [ecx + 4]"], ["0x100bb363", "add ebx, 3"], ["0x100bb366", "and ebx, 0xfffffffc"], ["0x100bb369", "neg ebx"]], "recomp": [["0x100a7460", "mov ecx, dword ptr [ecx + 4]"], ["0x100a7463", "add ecx, 3"], ["0x100a7466", "and ecx, 0xfffffffc"], ["0x100a7469", "neg ecx"], ["0x100a746b", "sub ecx, dword ptr [esp + 0x9c]"], ["0x100a7472", "mov ebx, dword ptr [esp + 0x28]"]]}, {"both": [["0x100bb36b", "sub ebx, dword ptr [esp + 0x9c]", "0x100a7476"]]}, {"orig": [["0x100bb372", "mov eax, dword ptr [esp + 0x28]"], ["0x100bb376", "sub eax, dword ptr [esp + 0x9c]"]], "recomp": [["0x100a747d", "xor eax, eax"], ["0x100a747f", "cmp dword ptr [esp + 0xa0], eax"], ["0x100a7486", "jle 0x154"]]}, {"both": [["0x100bb37d", "xor edi, edi", "0x100a748c"]]}, {"orig": [["0x100bb37f", "cmp dword ptr [esp + 0xa0], edi"], ["0x100bb386", "jle 0x154"], ["0x100bb38c", "xor ecx, ecx"], ["0x100bb38e", "cmp dword ptr [esp + 0x9c], ecx"]], "recomp": [["0x100a748e", "cmp dword ptr [esp + 0x9c], edi"]]}, {"both": [["0x100bb395", "jle 0x23", "0x100a7495"], ["0x100bb397", "mov edx, dword ptr [esp + 0x14]", "0x100a7497"], ["0x100bb39b", "mov dl, byte ptr [edx]", "0x100a749b"], ["0x100bb39d", "test dl, dl", "0x100a749d"], ["0x100bb39f", "je 0x7", "0x100a749f"], ["0x100bb3a1", "mov ebp, dword ptr [esp + 0x10]", "0x100a74a1"], ["0x100bb3a5", "mov byte ptr [ebp], dl", "0x100a74a5"]]}, {"orig": [["0x100bb3a8", "inc ecx"]], "recomp": [["0x100a74a8", "inc edi"]]}, {"both": [["0x100bb3a9", "inc dword ptr [esp + 0x14]", "0x100a74a9"], ["0x100bb3ad", "inc dword ptr [esp + 0x10]", "0x100a74ad"]]}, {"orig": [["0x100bb3b1", "cmp ecx, dword ptr [esp + 0x9c]"], ["0x100bb3b8", "jl -0x23"], ["0x100bb3ba", "inc edi"], ["0x100bb3bb", "add dword ptr [esp + 0x14], ebx"], ["0x100bb3bf", "add dword ptr [esp + 0x10], eax"], ["0x100bb3c3", "cmp dword ptr [esp + 0xa0], edi"]], "recomp": [["0x100a74b1", "cmp dword ptr [esp + 0x9c], edi"], ["0x100a74b8", "jg -0x23"], ["0x100a74ba", "inc eax"], ["0x100a74bb", "add dword ptr [esp + 0x14], ecx"], ["0x100a74bf", "add dword ptr [esp + 0x10], ebx"], ["0x100a74c3", "cmp dword ptr [esp + 0xa0], eax"]]}, {"both": [["0x100bb3ca", "jg -0x40", "0x100a74ca"], ["0x100bb3cc", "jmp 0x10f", "0x100a74cc"], ["0x100bb3d1", "mov eax, dword ptr [esp + 0x28]", "0x100a74d1"], ["0x100bb3d5", "push 8", "0x100a74d5"], ["0x100bb3d7", "mov edx, dword ptr [esp + 0xa4]", "0x100a74d7"], ["0x100bb3de", "push eax", "0x100a74de"], ["0x100bb3df", "mov ebx, dword ptr [esp + 0xa4]", "0x100a74df"], ["0x100bb3e6", "push edx", "0x100a74e6"], ["0x100bb3e7", "push ebx", "0x100a74e7"], ["0x100bb3e8", "mov eax, dword ptr [ecx + 0x14]", "0x100a74e8"]]}]], ["@@ -0x100bb42f,47 +0x100a752f,47 @@", [{"both": [["0x100bb42f", "add edi, 3", "0x100a752f"], ["0x100bb432", "and edi, 0xfffffffc", "0x100a7532"], ["0x100bb435", "jmp 0xb", "0x100a7535"], ["0x100bb437", "mov edi, dword ptr [ecx + 4]", "0x100a7537"], ["0x100bb43a", "add edi, 3", "0x100a753a"], ["0x100bb43d", "and edi, 0xfffffffc", "0x100a753d"], ["0x100bb440", "neg edi", "0x100a7540"], ["0x100bb442", "sub edi, dword ptr [esp + 0x9c]", "0x100a7542"], ["0x100bb449", "mov ebx, dword ptr [esp + 0x28]", "0x100a7549"], ["0x100bb44d", "mov eax, dword ptr [esp + 0x9c]", "0x100a754d"]]}, {"orig": [["0x100bb454", "xor ebp, ebp"]], "recomp": []}, {"both": [["0x100bb456", "add eax, eax", "0x100a7554"], ["0x100bb458", "sub ebx, eax", "0x100a7556"]]}, {"orig": [["0x100bb45a", "cmp dword ptr [esp + 0xa0], ebp"]], "recomp": [["0x100a7558", "xor eax, eax"], ["0x100a755a", "cmp dword ptr [esp + 0xa0], eax"]]}, {"both": [["0x100bb461", "jle 0x7d", "0x100a7561"]]}, {"orig": [["0x100bb463", "xor eax, eax"], ["0x100bb465", "cmp dword ptr [esp + 0x9c], eax"]], "recomp": [["0x100a7563", "xor ebp, ebp"], ["0x100a7565", "cmp dword ptr [esp + 0x9c], ebp"]]}, {"both": [["0x100bb46c", "jle 0x32", "0x100a756c"], ["0x100bb46e", "mov ecx, dword ptr [esp + 0x14]", "0x100a756e"], ["0x100bb472", "mov cl, byte ptr [ecx]", "0x100a7572"], ["0x100bb474", "test cl, cl", "0x100a7574"], ["0x100bb476", "je 0x15", "0x100a7576"], ["0x100bb478", "xor edx, edx", "0x100a7578"], ["0x100bb47a", "mov dl, cl", "0x100a757a"], ["0x100bb47c", "mov ecx, dword ptr [esi + 0xa8]", "0x100a757c"], ["0x100bb482", "mov dx, word ptr [ecx + edx*2]", "0x100a7582"], ["0x100bb486", "mov ecx, dword ptr [esp + 0x10]", "0x100a7586"], ["0x100bb48a", "mov word ptr [ecx], dx", "0x100a758a"]]}, {"orig": [["0x100bb48d", "inc eax"]], "recomp": [["0x100a758d", "inc ebp"]]}, {"both": [["0x100bb48e", "inc dword ptr [esp + 0x14]", "0x100a758e"], ["0x100bb492", "add dword ptr [esp + 0x10], 2", "0x100a7592"]]}, {"orig": [["0x100bb497", "cmp eax, dword ptr [esp + 0x9c]"], ["0x100bb49e", "jl -0x32"], ["0x100bb4a0", "inc ebp"]], "recomp": [["0x100a7597", "cmp dword ptr [esp + 0x9c], ebp"], ["0x100a759e", "jg -0x32"], ["0x100a75a0", "inc eax"]]}, {"both": [["0x100bb4a1", "add dword ptr [esp + 0x14], edi", "0x100a75a1"], ["0x100bb4a5", "add dword ptr [esp + 0x10], ebx", "0x100a75a5"]]}, {"orig": [["0x100bb4a9", "cmp dword ptr [esp + 0xa0], ebp"]], "recomp": [["0x100a75a9", "cmp dword ptr [esp + 0xa0], eax"]]}, {"both": [["0x100bb4b0", "jg -0x4f", "0x100a75b0"], ["0x100bb4b2", "jmp 0x2c", "0x100a75b2"], ["0x100bb4b4", "mov eax, dword ptr [esp + 0x28]", "0x100a75b4"], ["0x100bb4b8", "push 0x10", "0x100a75b8"], ["0x100bb4ba", "mov edx, dword ptr [esp + 0xa4]", "0x100a75ba"], ["0x100bb4c1", "push eax", "0x100a75c1"], ["0x100bb4c2", "mov ebx, dword ptr [esp + 0xa4]", "0x100a75c2"], ["0x100bb4c9", "push edx", "0x100a75c9"], ["0x100bb4ca", "push ebx", "0x100a75ca"], ["0x100bb4cb", "mov eax, dword ptr [ecx + 0x14]", "0x100a75cb"]]}]]]}, {"address": "0x100bb500", "recomp": "0x100a7600", "name": "MxDisplaySurface::DrawTransparentRLE", "matching": 0.8006700167504187, "diff": [["@@ -0x100bb500,25 +0x100a7600,25 @@", [{"both": [["0x100bb500", "sub esp, 0x10", "0x100a7600"]]}, {"orig": [["0x100bb503", "mov eax, dword ptr [esp + 0x1c]"]], "recomp": [["0x100a7603", "mov edx, dword ptr [esp + 0x1c]"]]}, {"both": [["0x100bb507", "push ebx", "0x100a7607"], ["0x100bb508", "push esi", "0x100a7608"], ["0x100bb509", "push edi", "0x100a7609"], ["0x100bb50a", "mov dword ptr [esp + 0x14], 0", "0x100a760a"], ["0x100bb512", "push ebp", "0x100a7612"], ["0x100bb513", "mov ebp, dword ptr [esp + 0x24]", "0x100a7613"]]}, {"orig": [["0x100bb517", "mov edx, dword ptr [ebp]"], ["0x100bb51a", "add eax, edx"]], "recomp": [["0x100a7617", "mov eax, dword ptr [ebp]"], ["0x100a761a", "add edx, eax"]]}, {"both": [["0x100bb51c", "cmp byte ptr [esp + 0x3c], 0x10", "0x100a761c"]]}, {"orig": [["0x100bb521", "mov dword ptr [esp + 0x1c], eax"]], "recomp": [["0x100a7621", "mov dword ptr [esp + 0x1c], edx"]]}, {"both": [["0x100bb525", "jne 0x1b6", "0x100a7625"]]}, {"orig": [["0x100bb52b", "cmp edx, eax"], ["0x100bb52d", "jae 0x30a"]], "recomp": [["0x100a762b", "cmp eax, edx"], ["0x100a762d", "jae 0x30c"]]}, {"both": [["0x100bb533", "mov ebx, dword ptr [esp + 0x28]", "0x100a7633"], ["0x100bb537", "mov esi, dword ptr [ebp]", "0x100a7637"], ["0x100bb53a", "xor edx, edx", "0x100a763a"], ["0x100bb53c", "mov dword ptr [esp + 0x10], 0", "0x100a763c"], ["0x100bb544", "mov al, byte ptr [esi]", "0x100a7644"], ["0x100bb546", "inc esi", "0x100a7646"], ["0x100bb547", "mov byte ptr [esp + 0x10], al", "0x100a7647"], ["0x100bb54b", "mov dword ptr [ebp], esi", "0x100a764b"], ["0x100bb54e", "mov dl, byte ptr [esi]", "0x100a764e"], ["0x100bb550", "inc esi", "0x100a7650"]]}]], ["@@ -0x100bb560,46 +0x100a7660,46 @@", [{"both": [["0x100bb560", "sub edx, edx", "0x100a7660"], ["0x100bb562", "mov al, byte ptr [esi - 1]", "0x100a7662"], ["0x100bb565", "shl eax, 0x10", "0x100a7665"], ["0x100bb568", "mov dword ptr [ebp], esi", "0x100a7668"], ["0x100bb56b", "add edi, eax", "0x100a766b"], ["0x100bb56d", "mov esi, dword ptr [esp + 0x30]", "0x100a766d"], ["0x100bb571", "mov eax, dword ptr [esp + 0x18]", "0x100a7671"], ["0x100bb575", "div esi", "0x100a7675"], ["0x100bb577", "sub esi, edx", "0x100a7677"], ["0x100bb579", "add dword ptr [esp + 0x18], edi", "0x100a7679"]]}, {"orig": [["0x100bb57d", "cmp esi, edi"], ["0x100bb57f", "ja 0x2e"], ["0x100bb581", "lea edx, [esi*2]"]], "recomp": [["0x100a767d", "cmp edi, esi"], ["0x100a767f", "jb 0x2e"], ["0x100a7681", "lea eax, [esi*2]"]]}, {"both": [["0x100bb588", "sub edi, esi", "0x100a7688"]]}, {"orig": [["0x100bb58a", "add edx, dword ptr [ebx]"], ["0x100bb58c", "mov eax, dword ptr [esp + 0x30]"], ["0x100bb590", "add eax, eax"]], "recomp": [["0x100a768a", "add eax, dword ptr [ebx]"], ["0x100a768c", "mov edx, dword ptr [esp + 0x30]"], ["0x100a7690", "add edx, edx"]]}, {"both": [["0x100bb592", "mov esi, dword ptr [esp + 0x38]", "0x100a7692"]]}, {"orig": [["0x100bb596", "sub esi, eax"], ["0x100bb598", "mov dword ptr [ebx], edx"], ["0x100bb59a", "add esi, edx"]], "recomp": [["0x100a7696", "mov dword ptr [ebx], eax"], ["0x100a7698", "sub eax, edx"], ["0x100a769a", "add esi, eax"], ["0x100a769c", "sub edx, edx"]]}, {"both": [["0x100bb59c", "mov eax, edi", "0x100a769e"]]}, {"orig": [["0x100bb59e", "sub edx, edx"]], "recomp": []}, {"both": [["0x100bb5a0", "mov dword ptr [ebx], esi", "0x100a76a0"], ["0x100bb5a2", "div dword ptr [esp + 0x30]", "0x100a76a2"], ["0x100bb5a6", "imul eax, dword ptr [esp + 0x38]", "0x100a76a6"], ["0x100bb5ab", "add eax, esi", "0x100a76ab"], ["0x100bb5ad", "mov dword ptr [ebx], eax", "0x100a76ad"], ["0x100bb5af", "mov eax, edi", "0x100a76af"], ["0x100bb5b1", "sub edx, edx", "0x100a76b1"], ["0x100bb5b3", "div dword ptr [esp + 0x30]", "0x100a76b3"], ["0x100bb5b7", "add edx, edx", "0x100a76b7"], ["0x100bb5b9", "add dword ptr [ebx], edx", "0x100a76b9"], ["0x100bb5bb", "mov esi, dword ptr [ebp]", "0x100a76bb"], ["0x100bb5be", "cmp esi, dword ptr [esp + 0x1c]", "0x100a76be"]]}, {"orig": [["0x100bb5c2", "jae 0x275"]], "recomp": [["0x100a76c2", "jae 0x277"]]}, {"both": [["0x100bb5c8", "mov al, byte ptr [esi]", "0x100a76c8"], ["0x100bb5ca", "inc esi", "0x100a76ca"], ["0x100bb5cb", "xor edx, edx", "0x100a76cb"], ["0x100bb5cd", "mov dword ptr [ebp], esi", "0x100a76cd"], ["0x100bb5d0", "mov dl, byte ptr [esi]", "0x100a76d0"], ["0x100bb5d2", "inc esi", "0x100a76d2"], ["0x100bb5d3", "shl edx, 8", "0x100a76d3"], ["0x100bb5d6", "mov dword ptr [ebp], esi", "0x100a76d6"], ["0x100bb5d9", "mov dword ptr [esp + 0x10], 0", "0x100a76d9"], ["0x100bb5e1", "inc esi", "0x100a76e1"]]}]], ["@@ -0x100bb5f5,58 +0x100a76f5,58 @@", [{"both": [["0x100bb5f5", "sub edx, edx", "0x100a76f5"], ["0x100bb5f7", "shl eax, 0x10", "0x100a76f7"], ["0x100bb5fa", "mov dword ptr [ebp], esi", "0x100a76fa"], ["0x100bb5fd", "mov esi, dword ptr [esp + 0x30]", "0x100a76fd"], ["0x100bb601", "add dword ptr [esp + 0x14], eax", "0x100a7701"], ["0x100bb605", "mov eax, dword ptr [esp + 0x18]", "0x100a7705"], ["0x100bb609", "div esi", "0x100a7709"], ["0x100bb60b", "sub esi, edx", "0x100a770b"], ["0x100bb60d", "mov eax, dword ptr [esp + 0x14]", "0x100a770d"], ["0x100bb611", "add dword ptr [esp + 0x18], eax", "0x100a7711"]]}, {"orig": [["0x100bb615", "cmp esi, eax"], ["0x100bb617", "ja 0x80"]], "recomp": [["0x100a7715", "cmp eax, esi"], ["0x100a7717", "jb 0x80"]]}, {"both": [["0x100bb61d", "test esi, esi", "0x100a771d"], ["0x100bb61f", "je 0x21", "0x100a771f"], ["0x100bb621", "mov edx, esi", "0x100a7721"], ["0x100bb623", "mov edi, dword ptr [ebp]", "0x100a7723"], ["0x100bb626", "xor eax, eax", "0x100a7726"], ["0x100bb628", "mov al, byte ptr [edi]", "0x100a7728"], ["0x100bb62a", "mov edi, dword ptr [ecx + 0xa8]", "0x100a772a"], ["0x100bb630", "mov ax, word ptr [edi + eax*2]", "0x100a7730"], ["0x100bb634", "mov edi, dword ptr [ebx]", "0x100a7734"], ["0x100bb636", "mov word ptr [edi], ax", "0x100a7736"], ["0x100bb639", "inc dword ptr [ebp]", "0x100a7739"], ["0x100bb63c", "add dword ptr [ebx], 2", "0x100a773c"], ["0x100bb63f", "dec edx", "0x100a773f"], ["0x100bb640", "jne -0x1f", "0x100a7740"]]}, {"orig": [], "recomp": [["0x100a7742", "mov edx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100bb642", "mov eax, dword ptr [esp + 0x38]", "0x100a7746"]]}, {"orig": [], "recomp": [["0x100a774a", "add edx, edx"]]}, {"both": [["0x100bb646", "sub dword ptr [esp + 0x14], esi", "0x100a774c"]]}, {"orig": [["0x100bb64a", "mov esi, dword ptr [esp + 0x30]"]], "recomp": [["0x100a7750", "sub eax, edx"], ["0x100a7752", "mov dword ptr [esp + 0x10], edx"]]}, {"both": [["0x100bb64e", "sub edx, edx", "0x100a7756"]]}, {"orig": [["0x100bb650", "add esi, esi"], ["0x100bb652", "sub eax, esi"], ["0x100bb654", "mov dword ptr [esp + 0x10], esi"]], "recomp": []}, {"both": [["0x100bb658", "add dword ptr [ebx], eax", "0x100a7758"], ["0x100bb65a", "mov eax, dword ptr [esp + 0x14]", "0x100a775a"], ["0x100bb65e", "div dword ptr [esp + 0x30]", "0x100a775e"], ["0x100bb662", "test eax, eax", "0x100a7762"], ["0x100bb664", "je 0x37", "0x100a7764"], ["0x100bb666", "cmp dword ptr [esp + 0x30], 0", "0x100a7766"], ["0x100bb66b", "jle 0x23", "0x100a776b"], ["0x100bb66d", "mov esi, dword ptr [esp + 0x30]", "0x100a776d"], ["0x100bb671", "mov edi, dword ptr [ebp]", "0x100a7771"], ["0x100bb674", "xor edx, edx", "0x100a7774"], ["0x100bb676", "mov dl, byte ptr [edi]", "0x100a7776"], ["0x100bb678", "mov edi, dword ptr [ecx + 0xa8]", "0x100a7778"]]}, {"orig": [["0x100bb67e", "mov di, word ptr [edi + edx*2]"], ["0x100bb682", "mov edx, dword ptr [ebx]"], ["0x100bb684", "mov word ptr [edx], di"]], "recomp": [["0x100a777e", "mov dx, word ptr [edi + edx*2]"], ["0x100a7782", "mov edi, dword ptr [ebx]"], ["0x100a7784", "mov word ptr [edi], dx"]]}, {"both": [["0x100bb687", "inc dword ptr [ebp]", "0x100a7787"], ["0x100bb68a", "add dword ptr [ebx], 2", "0x100a778a"], ["0x100bb68d", "dec esi", "0x100a778d"], ["0x100bb68e", "jne -0x1f", "0x100a778e"], ["0x100bb690", "mov edx, dword ptr [esp + 0x38]", "0x100a7790"], ["0x100bb694", "sub edx, dword ptr [esp + 0x10]", "0x100a7794"], ["0x100bb698", "add dword ptr [ebx], edx", "0x100a7798"], ["0x100bb69a", "dec eax", "0x100a779a"], ["0x100bb69b", "jne -0x37", "0x100a779b"], ["0x100bb69d", "mov eax, dword ptr [esp + 0x14]", "0x100a779d"]]}]], ["@@ -0x100bb6ae,78 +0x100a77ae,78 @@", [{"both": [["0x100bb6ae", "xor eax, eax", "0x100a77ae"], ["0x100bb6b0", "mov edi, dword ptr [ebx]", "0x100a77b0"], ["0x100bb6b2", "mov al, byte ptr [esi]", "0x100a77b2"], ["0x100bb6b4", "mov esi, dword ptr [ecx + 0xa8]", "0x100a77b4"], ["0x100bb6ba", "mov ax, word ptr [esi + eax*2]", "0x100a77ba"], ["0x100bb6be", "mov word ptr [edi], ax", "0x100a77be"], ["0x100bb6c1", "inc dword ptr [ebp]", "0x100a77c1"], ["0x100bb6c4", "add dword ptr [ebx], 2", "0x100a77c4"], ["0x100bb6c7", "dec edx", "0x100a77c7"], ["0x100bb6c8", "jne -0x1f", "0x100a77c8"]]}, {"orig": [["0x100bb6ca", "mov eax, dword ptr [esp + 0x1c]"], ["0x100bb6ce", "cmp dword ptr [ebp], eax"]], "recomp": [["0x100a77ca", "mov edx, dword ptr [esp + 0x1c]"], ["0x100a77ce", "cmp dword ptr [ebp], edx"]]}, {"both": [["0x100bb6d1", "jb -0x1a0", "0x100a77d1"], ["0x100bb6d7", "pop ebp", "0x100a77d7"], ["0x100bb6d8", "pop edi", "0x100a77d8"], ["0x100bb6d9", "pop esi", "0x100a77d9"], ["0x100bb6da", "pop ebx", "0x100a77da"], ["0x100bb6db", "add esp, 0x10", "0x100a77db"], ["0x100bb6de", "ret 0x1c", "0x100a77de"]]}, {"orig": [["0x100bb6e1", "cmp edx, dword ptr [esp + 0x1c]"], ["0x100bb6e5", "jae 0x152"]], "recomp": [["0x100a77e1", "cmp eax, dword ptr [esp + 0x1c]"], ["0x100a77e5", "jae 0x154"]]}, {"both": [["0x100bb6eb", "mov ebx, dword ptr [esp + 0x28]", "0x100a77eb"], ["0x100bb6ef", "mov edx, dword ptr [ebp]", "0x100a77ef"]]}, {"orig": [], "recomp": [["0x100a77f2", "xor ecx, ecx"], ["0x100a77f4", "mov cl, byte ptr [edx]"], ["0x100a77f6", "inc edx"]]}, {"both": [["0x100bb6f2", "xor eax, eax", "0x100a77f7"]]}, {"orig": [], "recomp": [["0x100a77f9", "mov dword ptr [ebp], edx"]]}, {"both": [["0x100bb6f4", "mov al, byte ptr [edx]", "0x100a77fc"], ["0x100bb6f6", "inc edx", "0x100a77fe"]]}, {"orig": [["0x100bb6f7", "xor ecx, ecx"]], "recomp": [["0x100a77ff", "shl eax, 8"]]}, {"both": [["0x100bb6f9", "mov dword ptr [ebp], edx", "0x100a7802"]]}, {"orig": [["0x100bb6fc", "mov cl, byte ptr [edx]"]], "recomp": []}, {"both": [["0x100bb6fe", "inc edx", "0x100a7805"]]}, {"orig": [["0x100bb6ff", "shl ecx, 8"], ["0x100bb702", "mov dword ptr [ebp], edx"], ["0x100bb705", "add ecx, eax"], ["0x100bb707", "inc edx"]], "recomp": [["0x100a7806", "lea esi, [eax + ecx]"]]}, {"both": [["0x100bb708", "xor eax, eax", "0x100a7809"]]}, {"orig": [["0x100bb70a", "mov esi, dword ptr [esp + 0x30]"]], "recomp": [["0x100a780b", "mov ecx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100bb70e", "mov al, byte ptr [edx - 1]", "0x100a780f"], ["0x100bb711", "shl eax, 0x10", "0x100a7812"], ["0x100bb714", "mov dword ptr [ebp], edx", "0x100a7815"]]}, {"orig": [["0x100bb717", "add ecx, eax"]], "recomp": [["0x100a7818", "add esi, eax"]]}, {"both": [["0x100bb719", "sub edx, edx", "0x100a781a"], ["0x100bb71b", "mov eax, dword ptr [esp + 0x18]", "0x100a781c"]]}, {"orig": [["0x100bb71f", "div esi"], ["0x100bb721", "sub esi, edx"], ["0x100bb723", "add dword ptr [esp + 0x18], ecx"]], "recomp": [["0x100a7820", "div ecx"], ["0x100a7822", "sub ecx, edx"], ["0x100a7824", "add dword ptr [esp + 0x18], esi"]]}, {"both": [["0x100bb727", "cmp esi, ecx", "0x100a7828"]]}, {"orig": [["0x100bb729", "ja 0x26"], ["0x100bb72b", "mov edx, dword ptr [ebx]"], ["0x100bb72d", "sub ecx, esi"], ["0x100bb72f", "add edx, esi"], ["0x100bb731", "mov eax, dword ptr [esp + 0x38]"]], "recomp": [["0x100a782a", "jb 0x25"], ["0x100a782c", "mov eax, dword ptr [ebx]"], ["0x100a782e", "sub esi, ecx"], ["0x100a7830", "add eax, ecx"], ["0x100a7832", "mov ecx, dword ptr [esp + 0x38]"], ["0x100a7836", "sub edx, edx"], ["0x100a7838", "mov dword ptr [ebx], eax"]]}, {"both": [["0x100bb735", "sub eax, dword ptr [esp + 0x30]", "0x100a783a"]]}, {"orig": [["0x100bb739", "mov dword ptr [ebx], edx"], ["0x100bb73b", "lea esi, [eax + edx]"], ["0x100bb73e", "mov eax, ecx"], ["0x100bb740", "sub edx, edx"], ["0x100bb742", "mov dword ptr [ebx], esi"]], "recomp": [["0x100a783e", "add ecx, eax"], ["0x100a7840", "mov eax, esi"]]}, {"both": [["0x100bb744", "div dword ptr [esp + 0x30]", "0x100a7842"], ["0x100bb748", "imul eax, dword ptr [esp + 0x38]", "0x100a7846"]]}, {"orig": [["0x100bb74d", "add eax, esi"]], "recomp": [["0x100a784b", "add eax, ecx"], ["0x100a784d", "mov dword ptr [ebx], ecx"]]}, {"both": [["0x100bb74f", "mov dword ptr [ebx], eax", "0x100a784f"]]}, {"orig": [["0x100bb751", "mov eax, ecx"]], "recomp": [["0x100a7851", "mov eax, esi"]]}, {"both": [["0x100bb753", "sub edx, edx", "0x100a7853"], ["0x100bb755", "div dword ptr [esp + 0x30]", "0x100a7855"], ["0x100bb759", "add dword ptr [ebx], edx", "0x100a7859"], ["0x100bb75b", "mov esi, dword ptr [ebp]", "0x100a785b"], ["0x100bb75e", "cmp esi, dword ptr [esp + 0x1c]", "0x100a785e"]]}, {"orig": [["0x100bb762", "jae 0xd5"]], "recomp": [["0x100a7862", "jae 0xd7"]]}, {"both": [["0x100bb768", "xor eax, eax", "0x100a7868"], ["0x100bb76a", "inc esi", "0x100a786a"], ["0x100bb76b", "xor ecx, ecx", "0x100a786b"], ["0x100bb76d", "mov al, byte ptr [esi - 1]", "0x100a786d"], ["0x100bb770", "mov dword ptr [ebp], esi", "0x100a7870"], ["0x100bb773", "mov cl, byte ptr [esi]", "0x100a7873"], ["0x100bb775", "inc esi", "0x100a7875"], ["0x100bb776", "shl ecx, 8", "0x100a7876"], ["0x100bb779", "mov dword ptr [ebp], esi", "0x100a7879"], ["0x100bb77c", "add eax, ecx", "0x100a787c"]]}]], ["@@ -0x100bb787,35 +0x100a7887,36 @@", [{"both": [["0x100bb787", "xor eax, eax", "0x100a7887"], ["0x100bb789", "sub edx, edx", "0x100a7889"], ["0x100bb78b", "mov al, byte ptr [esi - 1]", "0x100a788b"], ["0x100bb78e", "shl eax, 0x10", "0x100a788e"], ["0x100bb791", "mov dword ptr [ebp], esi", "0x100a7891"], ["0x100bb794", "add dword ptr [esp + 0x14], eax", "0x100a7894"], ["0x100bb798", "mov eax, dword ptr [esp + 0x18]", "0x100a7898"], ["0x100bb79c", "div ecx", "0x100a789c"], ["0x100bb79e", "sub ecx, edx", "0x100a789e"], ["0x100bb7a0", "mov eax, dword ptr [esp + 0x14]", "0x100a78a0"]]}, {"orig": [], "recomp": [["0x100a78a4", "mov edx, ecx"]]}, {"both": [["0x100bb7a4", "mov dword ptr [esp + 0x10], ecx", "0x100a78a6"], ["0x100bb7a8", "add dword ptr [esp + 0x18], eax", "0x100a78aa"]]}, {"orig": [["0x100bb7ac", "cmp ecx, eax"], ["0x100bb7ae", "ja 0x5c"]], "recomp": [["0x100a78ae", "cmp eax, edx"], ["0x100a78b0", "jb 0x5c"]]}, {"both": [["0x100bb7b0", "mov eax, ecx", "0x100a78b2"], ["0x100bb7b2", "mov edi, dword ptr [ebx]", "0x100a78b4"], ["0x100bb7b4", "shr ecx, 2", "0x100a78b6"], ["0x100bb7b7", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a78b9"], ["0x100bb7b9", "mov ecx, eax", "0x100a78bb"], ["0x100bb7bb", "and ecx, 3", "0x100a78bd"], ["0x100bb7be", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a78c0"], ["0x100bb7c0", "mov eax, dword ptr [esp + 0x10]", "0x100a78c2"]]}, {"orig": [], "recomp": [["0x100a78c6", "sub dword ptr [esp + 0x14], edx"], ["0x100a78ca", "sub edx, edx"]]}, {"both": [["0x100bb7c4", "add dword ptr [ebx], eax", "0x100a78cc"]]}, {"orig": [["0x100bb7c6", "sub dword ptr [esp + 0x14], eax"], ["0x100bb7ca", "sub edx, edx"]], "recomp": []}, {"both": [["0x100bb7cc", "add dword ptr [ebp], eax", "0x100a78ce"], ["0x100bb7cf", "mov eax, dword ptr [esp + 0x38]", "0x100a78d1"], ["0x100bb7d3", "sub eax, dword ptr [esp + 0x30]", "0x100a78d5"], ["0x100bb7d7", "add dword ptr [ebx], eax", "0x100a78d9"], ["0x100bb7d9", "mov eax, dword ptr [esp + 0x14]", "0x100a78db"], ["0x100bb7dd", "div dword ptr [esp + 0x30]", "0x100a78df"], ["0x100bb7e1", "test eax, eax", "0x100a78e3"], ["0x100bb7e3", "je 0x27", "0x100a78e5"], ["0x100bb7e5", "mov edx, dword ptr [esp + 0x30]", "0x100a78e7"], ["0x100bb7e9", "mov edi, dword ptr [ebx]", "0x100a78eb"]]}]], ["@@ -0x100bb81d,17 +0x100a791f,17 @@", [{"both": [["0x100bb81d", "shr ecx, 2", "0x100a791f"], ["0x100bb820", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a7922"], ["0x100bb822", "mov ecx, edx", "0x100a7924"], ["0x100bb824", "and ecx, 3", "0x100a7926"], ["0x100bb827", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a7929"], ["0x100bb829", "add dword ptr [ebx], edx", "0x100a792b"], ["0x100bb82b", "mov eax, dword ptr [ebp]", "0x100a792d"], ["0x100bb82e", "add eax, edx", "0x100a7930"], ["0x100bb830", "mov dword ptr [ebp], eax", "0x100a7932"], ["0x100bb833", "cmp eax, dword ptr [esp + 0x1c]", "0x100a7935"]]}, {"orig": [["0x100bb837", "jb -0x14e"]], "recomp": [["0x100a7939", "jb -0x150"]]}, {"both": [["0x100bb83d", "pop ebp", "0x100a793f"], ["0x100bb83e", "pop edi", "0x100a7940"], ["0x100bb83f", "pop esi", "0x100a7941"], ["0x100bb840", "pop ebx", "0x100a7942"], ["0x100bb841", "add esp, 0x10", "0x100a7943"], ["0x100bb844", "ret 0x1c", "0x100a7946"]]}]]]}, {"address": "0x100bb850", "recomp": "0x100a7950", "name": "MxDisplaySurface::VTable0x34", "matching": 1.0, "diff": []}, {"address": "0x100bba50", "recomp": "0x100a7b50", "name": "MxDisplaySurface::Display", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bba94,38 +0x100a7b94,38 @@", [{"both": [["0x100bba94", "mov dword ptr [esp + 0x40], 0x6c", "0x100a7b94"], ["0x100bba9c", "mov eax, dword ptr [esi + 0x30]", "0x100a7b9c"], ["0x100bba9f", "lea ecx, [esp + 0x40]", "0x100a7b9f"], ["0x100bbaa3", "push ecx", "0x100a7ba3"], ["0x100bbaa4", "push 0", "0x100a7ba4"], ["0x100bbaa6", "push eax", "0x100a7ba6"], ["0x100bbaa7", "mov ebx, dword ptr [eax]", "0x100a7ba7"], ["0x100bbaa9", "call dword ptr [ebx + 0x64]", "0x100a7ba9"], ["0x100bbaac", "test eax, eax", "0x100a7bac"], ["0x100bbaae", "jne 0x4b", "0x100a7bae"]]}, {"orig": [["0x100bbab0", "mov ebx, dword ptr [esp + 0x5c]"], ["0x100bbab4", "xor edx, edx"], ["0x100bbab6", "cmp dword ptr [esp + 0x40], edx"]], "recomp": [["0x100a7bb0", "mov edx, dword ptr [esp + 0x5c]"], ["0x100a7bb4", "xor ebx, ebx"], ["0x100a7bb6", "cmp dword ptr [esp + 0x40], ebx"]]}, {"both": [["0x100bbaba", "jbe 0x2c", "0x100a7bba"], ["0x100bbabc", "mov ebp, dword ptr [esp + 0x44]", "0x100a7bbc"]]}, {"orig": [["0x100bbac0", "mov edi, ebx"]], "recomp": [["0x100a7bc0", "mov edi, edx"]]}, {"both": [["0x100bbac2", "xor eax, eax", "0x100a7bc2"]]}, {"orig": [["0x100bbac4", "inc edx"]], "recomp": [["0x100a7bc4", "inc ebx"]]}, {"both": [["0x100bbac5", "imul ebp, dword ptr [esp + 0x8c]", "0x100a7bc5"], ["0x100bbacd", "shr ebp, 3", "0x100a7bcd"], ["0x100bbad0", "mov ecx, ebp", "0x100a7bd0"], ["0x100bbad2", "shr ecx, 2", "0x100a7bd2"], ["0x100bbad5", "rep stosd dword ptr es:[edi], eax", "0x100a7bd5"], ["0x100bbad7", "mov ecx, ebp", "0x100a7bd7"], ["0x100bbad9", "and ecx, 3", "0x100a7bd9"], ["0x100bbadc", "rep stosb byte ptr es:[edi], al", "0x100a7bdc"]]}, {"orig": [["0x100bbade", "add ebx, dword ptr [esp + 0x48]"], ["0x100bbae2", "cmp edx, dword ptr [esp + 0x40]"]], "recomp": [["0x100a7bde", "add edx, dword ptr [esp + 0x48]"], ["0x100a7be2", "cmp ebx, dword ptr [esp + 0x40]"]]}, {"both": [["0x100bbae6", "jb -0x2c", "0x100a7be6"], ["0x100bbae8", "mov eax, dword ptr [esi + 0x30]", "0x100a7be8"], ["0x100bbaeb", "mov ecx, dword ptr [esp + 0x5c]", "0x100a7beb"], ["0x100bbaef", "mov ebx, dword ptr [eax]", "0x100a7bef"], ["0x100bbaf1", "push ecx", "0x100a7bf1"], ["0x100bbaf2", "push eax", "0x100a7bf2"], ["0x100bbaf3", "call dword ptr [ebx + 0x80]", "0x100a7bf3"], ["0x100bbaf9", "jmp 0xb", "0x100a7bf9"], ["0x100bbafb", "push 'MxDisplaySurface::Display error\\n' (STRING)", "0x100a7bfb"], ["0x100bbb00", "call dword ptr [->KERNEL32.DLL:OutputDebugStringA (FUNCTION)]", "0x100a7c00"]]}]]]}, {"address": "0x100bbc10", "recomp": "0x100a7d10", "name": "MxDisplaySurface::GetDC", "matching": 1.0, "diff": []}, {"address": "0x100bbc40", "recomp": "0x100a7d40", "name": "MxDisplaySurface::ReleaseDC", "matching": 1.0, "diff": []}, {"address": "0x100bbc60", "recomp": "0x100a7d60", "name": "MxDisplaySurface::VTable0x44", "matching": 0.7439252336448599, "diff": [["@@ -0x100bbc8c,21 +0x100a7d8c,21 @@", [{"both": [["0x100bbc8c", "rep stosd dword ptr es:[edi], eax", "0x100a7d8c"], ["0x100bbc8e", "mov dword ptr [esp + 0x28], 0x6c", "0x100a7d8e"], ["0x100bbc96", "lea eax, [esp + 0x28]", "0x100a7d96"], ["0x100bbc9a", "mov ebx, dword ptr [ebp]", "0x100a7d9a"], ["0x100bbc9d", "push eax", "0x100a7d9d"], ["0x100bbc9e", "push ebp", "0x100a7d9e"], ["0x100bbc9f", "call dword ptr [ebx + 0x30]", "0x100a7d9f"], ["0x100bbca2", "test eax, eax", "0x100a7da2"], ["0x100bbca4", "je 0x7", "0x100a7da4"], ["0x100bbca6", "xor eax, eax", "0x100a7da6"]]}, {"orig": [["0x100bbca8", "jmp 0x2f4"]], "recomp": [["0x100a7da8", "jmp 0x2f6"]]}, {"both": [["0x100bbcad", "mov ebx, dword ptr [esp + 0x98]", "0x100a7dad"], ["0x100bbcb4", "mov dword ptr [esp + 0x2c], 0x1007", "0x100a7db4"], ["0x100bbcbc", "mov eax, dword ptr [ebx + 0xc]", "0x100a7dbc"], ["0x100bbcbf", "mov ecx, dword ptr [eax + 4]", "0x100a7dbf"], ["0x100bbcc2", "mov dword ptr [esp + 0x34], ecx", "0x100a7dc2"], ["0x100bbcc6", "mov eax, dword ptr [eax + 8]", "0x100a7dc6"], ["0x100bbcc9", "test eax, eax", "0x100a7dc9"], ["0x100bbccb", "jg 0x2", "0x100a7dcb"], ["0x100bbccd", "neg eax", "0x100a7dcd"], ["0x100bbccf", "mov edi, dword ptr [esp + 0x9c]", "0x100a7dcf"]]}]], ["@@ -0x100bbd1a,21 +0x100a7e1a,21 @@", [{"both": [["0x100bbd1a", "push ecx", "0x100a7e1a"], ["0x100bbd1b", "mov dword ptr [edi], 0", "0x100a7e1b"], ["0x100bbd21", "and dword ptr [esp + 0x9c], 0xffffbfff", "0x100a7e21"], ["0x100bbd2c", "or dword ptr [esp + 0x9c], 0x800", "0x100a7e2c"], ["0x100bbd37", "push ebp", "0x100a7e37"], ["0x100bbd38", "call dword ptr [esp + 0x24]", "0x100a7e38"], ["0x100bbd3c", "test eax, eax", "0x100a7e3c"], ["0x100bbd3e", "je 0x8", "0x100a7e3e"], ["0x100bbd40", "mov dword ptr [esp + 0x10], 0", "0x100a7e40"], ["0x100bbd48", "cmp dword ptr [esp + 0x10], 0", "0x100a7e48"]]}, {"orig": [["0x100bbd4d", "je 0x24a"]], "recomp": [["0x100a7e4d", "je 0x24c"]]}, {"both": [["0x100bbd53", "lea edi, [esp + 0x28]", "0x100a7e53"], ["0x100bbd57", "xor eax, eax", "0x100a7e57"], ["0x100bbd59", "mov ecx, 0x1b", "0x100a7e59"], ["0x100bbd5e", "push eax", "0x100a7e5e"], ["0x100bbd5f", "rep stosd dword ptr es:[edi], eax", "0x100a7e5f"], ["0x100bbd61", "lea eax, [esp + 0x2c]", "0x100a7e61"], ["0x100bbd65", "push 1", "0x100a7e65"], ["0x100bbd67", "mov ecx, dword ptr [esp + 0x18]", "0x100a7e67"], ["0x100bbd6b", "push eax", "0x100a7e6b"], ["0x100bbd6c", "mov dword ptr [esp + 0x34], 0x6c", "0x100a7e6c"]]}]], ["@@ -0x100bbd76,94 +0x100a7e76,95 @@", [{"both": [["0x100bbd76", "mov eax, dword ptr [ecx]", "0x100a7e76"], ["0x100bbd78", "push ecx", "0x100a7e78"], ["0x100bbd79", "call dword ptr [eax + 0x64]", "0x100a7e79"], ["0x100bbd7c", "test eax, eax", "0x100a7e7c"], ["0x100bbd7e", "je 0x17", "0x100a7e7e"], ["0x100bbd80", "mov eax, dword ptr [esp + 0x10]", "0x100a7e80"], ["0x100bbd84", "push eax", "0x100a7e84"], ["0x100bbd85", "mov ebx, dword ptr [eax]", "0x100a7e85"], ["0x100bbd87", "call dword ptr [ebx + 8]", "0x100a7e87"], ["0x100bbd8a", "mov dword ptr [esp + 0x10], 0", "0x100a7e8a"]]}, {"orig": [["0x100bbd92", "jmp 0x206"]], "recomp": [["0x100a7e92", "jmp 0x208"]]}, {"both": [["0x100bbd97", "cmp dword ptr [esp + 0xa0], 0", "0x100a7e97"]]}, {"orig": [["0x100bbd9f", "jne 0x1f8"]], "recomp": [["0x100a7e9f", "jne 0x1fa"]]}, {"both": [["0x100bbda5", "mov ecx, dword ptr [ebx + 0xc]", "0x100a7ea5"]]}, {"orig": [["0x100bbda8", "mov edi, dword ptr [ecx + 0x10]"]], "recomp": [["0x100a7ea8", "mov eax, dword ptr [ecx + 0x10]"], ["0x100a7eab", "test eax, eax"], ["0x100a7ead", "jne 0x14"], ["0x100a7eaf", "cmp eax, 0x10"], ["0x100a7eb2", "je 0x7"], ["0x100a7eb4", "mov edi, dword ptr [ecx + 8]"]]}, {"both": [["0x100bbdab", "test edi, edi", "0x100a7eb7"]]}, {"orig": [["0x100bbdad", "jne 0x14"], ["0x100bbdaf", "cmp edi, 0x10"], ["0x100bbdb2", "je 0x7"], ["0x100bbdb4", "mov eax, dword ptr [ecx + 8]"], ["0x100bbdb7", "test eax, eax"]], "recomp": []}, {"both": [["0x100bbdb9", "jge 0x4", "0x100a7eb9"]]}, {"orig": [["0x100bbdbb", "xor eax, eax"]], "recomp": [["0x100a7ebb", "xor edi, edi"]]}, {"both": [["0x100bbdbd", "jmp 0x1e", "0x100a7ebd"], ["0x100bbdbf", "jg 0x1b", "0x100a7ebf"], ["0x100bbdc1", "jmp 0x17", "0x100a7ec1"]]}, {"orig": [["0x100bbdc3", "cmp edi, 0x10"]], "recomp": [["0x100a7ec3", "cmp eax, 0x10"]]}, {"both": [["0x100bbdc6", "jne 0x5", "0x100a7ec6"], ["0x100bbdc8", "mov edx, dword ptr [ebx + 0x14]", "0x100a7ec8"], ["0x100bbdcb", "jmp 0x1f", "0x100a7ecb"]]}, {"orig": [["0x100bbdcd", "mov eax, dword ptr [ecx + 8]"], ["0x100bbdd0", "test eax, eax"]], "recomp": [["0x100a7ecd", "mov edi, dword ptr [ecx + 8]"], ["0x100a7ed0", "test edi, edi"]]}, {"both": [["0x100bbdd2", "jge 0x4", "0x100a7ed2"]]}, {"orig": [["0x100bbdd4", "xor eax, eax"]], "recomp": [["0x100a7ed4", "xor edi, edi"]]}, {"both": [["0x100bbdd6", "jmp 0x5", "0x100a7ed6"], ["0x100bbdd8", "jg 0x2", "0x100a7ed8"]]}, {"orig": [["0x100bbdda", "neg eax"], ["0x100bbddc", "dec eax"]], "recomp": [["0x100a7eda", "neg edi"], ["0x100a7edc", "dec edi"]]}, {"both": [["0x100bbddd", "mov edx, dword ptr [ecx + 4]", "0x100a7edd"], ["0x100bbde0", "add edx, 3", "0x100a7ee0"], ["0x100bbde3", "and edx, 0xfffffffc", "0x100a7ee3"]]}, {"orig": [["0x100bbde6", "imul edx, eax"]], "recomp": [["0x100a7ee6", "imul edx, edi"]]}, {"both": [["0x100bbde9", "add edx, dword ptr [ebx + 0x14]", "0x100a7ee9"]]}, {"orig": [["0x100bbdec", "mov eax, dword ptr [esp + 0x4c]"]], "recomp": [["0x100a7eec", "mov ebx, dword ptr [esp + 0x4c]"]]}, {"both": [["0x100bbdf0", "mov ebp, dword ptr [ecx + 4]", "0x100a7ef0"]]}, {"orig": [["0x100bbdf3", "mov ebx, dword ptr [ecx + 8]"], ["0x100bbdf6", "test ebx, ebx"]], "recomp": [["0x100a7ef3", "mov ecx, dword ptr [ecx + 8]"], ["0x100a7ef6", "test ecx, ecx"]]}, {"both": [["0x100bbdf8", "jle 0x6", "0x100a7ef8"]]}, {"orig": [["0x100bbdfa", "mov dword ptr [esp + 0x14], ebx"]], "recomp": [["0x100a7efa", "mov dword ptr [esp + 0x14], ecx"]]}, {"both": [["0x100bbdfe", "jmp 0x8", "0x100a7efe"]]}, {"orig": [["0x100bbe00", "mov ecx, ebx"], ["0x100bbe02", "neg ecx"], ["0x100bbe04", "mov dword ptr [esp + 0x14], ecx"], ["0x100bbe08", "mov ecx, dword ptr [esp + 0x38]"], ["0x100bbe0c", "mov dword ptr [esp + 0x20], ecx"], ["0x100bbe10", "lea ecx, [ebp + 3]"], ["0x100bbe13", "and ecx, 0xfffffffc"], ["0x100bbe16", "cmp edi, 0x10"], ["0x100bbe19", "mov dword ptr [esp + 0x1c], ecx"]], "recomp": [["0x100a7f00", "mov edi, ecx"], ["0x100a7f02", "neg edi"], ["0x100a7f04", "mov dword ptr [esp + 0x14], edi"], ["0x100a7f08", "mov edi, dword ptr [esp + 0x38]"], ["0x100a7f0c", "mov dword ptr [esp + 0x20], edi"], ["0x100a7f10", "lea edi, [ebp + 3]"], ["0x100a7f13", "and edi, 0xfffffffc"], ["0x100a7f16", "cmp eax, 0x10"], ["0x100a7f19", "mov dword ptr [esp + 0x1c], edi"], ["0x100a7f1d", "je 0xc"], ["0x100a7f1f", "test ecx, ecx"], ["0x100a7f21", "jl 0x8"], ["0x100a7f23", "mov eax, edi"], ["0x100a7f25", "neg eax"], ["0x100a7f27", "mov dword ptr [esp + 0x1c], eax"], ["0x100a7f2b", "mov eax, dword ptr [esp + 0x7c]"], ["0x100a7f2f", "cmp eax, 8"]]}, {"both": [["0x100bbe1d", "je 0xa", "0x100a7f32"]]}, {"orig": [["0x100bbe1f", "test ebx, ebx"], ["0x100bbe21", "jl 0x6"], ["0x100bbe23", "neg ecx"], ["0x100bbe25", "mov dword ptr [esp + 0x1c], ecx"], ["0x100bbe29", "mov ecx, dword ptr [esp + 0x7c]"], ["0x100bbe2d", "cmp ecx, 8"], ["0x100bbe30", "je 0xa"], ["0x100bbe32", "cmp ecx, 0x10"]], "recomp": [["0x100a7f34", "cmp eax, 0x10"]]}, {"both": [["0x100bbe35", "je 0x76", "0x100a7f37"], ["0x100bbe37", "jmp 0x161", "0x100a7f39"], ["0x100bbe3c", "cmp dword ptr [esp + 0x14], 0", "0x100a7f3e"], ["0x100bbe41", "jle 0x21", "0x100a7f43"]]}, {"orig": [["0x100bbe43", "mov ebx, dword ptr [esp + 0x14]"], ["0x100bbe47", "mov edi, eax"]], "recomp": [["0x100a7f45", "mov eax, dword ptr [esp + 0x14]"], ["0x100a7f49", "mov edi, ebx"]]}, {"both": [["0x100bbe49", "mov esi, edx", "0x100a7f4b"], ["0x100bbe4b", "mov ecx, ebp", "0x100a7f4d"], ["0x100bbe4d", "shr ecx, 2", "0x100a7f4f"], ["0x100bbe50", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a7f52"], ["0x100bbe52", "mov ecx, ebp", "0x100a7f54"], ["0x100bbe54", "and ecx, 3", "0x100a7f56"], ["0x100bbe57", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a7f59"], ["0x100bbe59", "add edx, dword ptr [esp + 0x1c]", "0x100a7f5b"]]}, {"orig": [["0x100bbe5d", "add eax, dword ptr [esp + 0x20]"], ["0x100bbe61", "dec ebx"]], "recomp": [["0x100a7f5f", "add ebx, dword ptr [esp + 0x20]"], ["0x100a7f63", "dec eax"]]}, {"both": [["0x100bbe62", "jne -0x1d", "0x100a7f64"], ["0x100bbe64", "mov eax, dword ptr [esp + 0x4c]", "0x100a7f66"], ["0x100bbe68", "mov ecx, dword ptr [esp + 0x10]", "0x100a7f6a"], ["0x100bbe6c", "push eax", "0x100a7f6e"], ["0x100bbe6d", "push ecx", "0x100a7f6f"], ["0x100bbe6e", "mov eax, dword ptr [ecx]", "0x100a7f70"], ["0x100bbe70", "call dword ptr [eax + 0x80]", "0x100a7f72"], ["0x100bbe76", "xor eax, eax", "0x100a7f78"], ["0x100bbe78", "cmp dword ptr [esp + 0xa4], eax", "0x100a7f7a"], ["0x100bbe7f", "je 0x118", "0x100a7f81"]]}]], ["@@ -0x100bbead,79 +0x100a7faf,79 @@", [{"both": [["0x100bbead", "cmp dword ptr [esi + 0xa8], 0", "0x100a7faf"], ["0x100bbeb4", "jne 0x18", "0x100a7fb6"], ["0x100bbeb6", "cmp dword ptr [esp + 0x10], 0", "0x100a7fb8"], ["0x100bbebb", "je 0xa", "0x100a7fbd"], ["0x100bbebd", "mov eax, dword ptr [esp + 0x10]", "0x100a7fbf"], ["0x100bbec1", "push eax", "0x100a7fc3"], ["0x100bbec2", "mov ebx, dword ptr [eax]", "0x100a7fc4"], ["0x100bbec4", "call dword ptr [ebx + 8]", "0x100a7fc6"], ["0x100bbec7", "xor eax, eax", "0x100a7fc9"], ["0x100bbec9", "jmp 0xd3", "0x100a7fcb"]]}, {"orig": [["0x100bbece", "lea ecx, [ebp*2]"]], "recomp": [["0x100a7fd0", "lea eax, [ebp*2]"]]}, {"both": [["0x100bbed5", "sub dword ptr [esp + 0x1c], ebp", "0x100a7fd7"]]}, {"orig": [["0x100bbed9", "sub dword ptr [esp + 0x20], ecx"]], "recomp": [["0x100a7fdb", "sub dword ptr [esp + 0x20], eax"]]}, {"both": [["0x100bbedd", "cmp dword ptr [esp + 0xa4], 0", "0x100a7fdf"], ["0x100bbee5", "je 0x68", "0x100a7fe7"], ["0x100bbee7", "cmp dword ptr [esp + 0x14], 0", "0x100a7fe9"], ["0x100bbeec", "jle 0x41", "0x100a7fee"]]}, {"orig": [["0x100bbeee", "mov ecx, dword ptr [esp + 0x14]"], ["0x100bbef2", "mov dword ptr [esp + 0x24], ecx"]], "recomp": [["0x100a7ff0", "mov eax, dword ptr [esp + 0x14]"], ["0x100a7ff4", "mov dword ptr [esp + 0x24], eax"]]}, {"both": [["0x100bbef6", "test ebp, ebp", "0x100a7ff8"], ["0x100bbef8", "jle 0x27", "0x100a7ffa"], ["0x100bbefa", "mov edi, ebp", "0x100a7ffc"]]}, {"orig": [["0x100bbefc", "mov cl, byte ptr [edx]"], ["0x100bbefe", "test cl, cl"]], "recomp": [["0x100a7ffe", "mov al, byte ptr [edx]"], ["0x100a8000", "test al, al"]]}, {"both": [["0x100bbf00", "jne 0x7", "0x100a8002"]]}, {"orig": [["0x100bbf02", "mov word ptr [eax], 0x7c1f"]], "recomp": [["0x100a8004", "mov word ptr [ebx], 0x7c1f"]]}, {"both": [["0x100bbf07", "jmp 0x11", "0x100a8009"]]}, {"orig": [["0x100bbf09", "xor ebx, ebx"], ["0x100bbf0b", "mov bl, cl"], ["0x100bbf0d", "mov ecx, dword ptr [esi + 0xa8]"], ["0x100bbf13", "mov cx, word ptr [ecx + ebx*2]"], ["0x100bbf17", "mov word ptr [eax], cx"]], "recomp": [["0x100a800b", "xor ecx, ecx"], ["0x100a800d", "mov cl, al"], ["0x100a800f", "mov eax, dword ptr [esi + 0xa8]"], ["0x100a8015", "mov ax, word ptr [eax + ecx*2]"], ["0x100a8019", "mov word ptr [ebx], ax"]]}, {"both": [["0x100bbf1a", "inc edx", "0x100a801c"]]}, {"orig": [["0x100bbf1b", "add eax, 2"]], "recomp": [["0x100a801d", "add ebx, 2"]]}, {"both": [["0x100bbf1e", "dec edi", "0x100a8020"], ["0x100bbf1f", "jne -0x25", "0x100a8021"], ["0x100bbf21", "add edx, dword ptr [esp + 0x1c]", "0x100a8023"]]}, {"orig": [["0x100bbf25", "add eax, dword ptr [esp + 0x20]"]], "recomp": [["0x100a8027", "add ebx, dword ptr [esp + 0x20]"]]}, {"both": [["0x100bbf29", "dec dword ptr [esp + 0x24]", "0x100a802b"], ["0x100bbf2d", "jne -0x39", "0x100a802f"], ["0x100bbf2f", "mov eax, 0x7c1f", "0x100a8031"], ["0x100bbf34", "mov ecx, dword ptr [esp + 0x10]", "0x100a8036"], ["0x100bbf38", "mov dword ptr [esp + 0x18], eax", "0x100a803a"], ["0x100bbf3c", "mov dword ptr [esp + 0x14], eax", "0x100a803e"], ["0x100bbf40", "lea eax, [esp + 0x14]", "0x100a8042"], ["0x100bbf44", "push eax", "0x100a8046"], ["0x100bbf45", "push 8", "0x100a8047"], ["0x100bbf47", "push ecx", "0x100a8049"], ["0x100bbf48", "mov eax, dword ptr [ecx]", "0x100a804a"], ["0x100bbf4a", "call dword ptr [eax + 0x74]", "0x100a804c"], ["0x100bbf4d", "jmp 0x3c", "0x100a804f"], ["0x100bbf4f", "cmp dword ptr [esp + 0x14], 0", "0x100a8051"], ["0x100bbf54", "jle 0x35", "0x100a8056"]]}, {"orig": [["0x100bbf56", "mov ecx, dword ptr [esp + 0x14]"], ["0x100bbf5a", "mov dword ptr [esp + 0x14], ecx"]], "recomp": [["0x100a8058", "mov eax, dword ptr [esp + 0x14]"], ["0x100a805c", "mov dword ptr [esp + 0x14], eax"]]}, {"both": [["0x100bbf5e", "test ebp, ebp", "0x100a8060"], ["0x100bbf60", "jle 0x1b", "0x100a8062"]]}, {"orig": [["0x100bbf62", "mov edi, ebp"], ["0x100bbf64", "xor ecx, ecx"], ["0x100bbf66", "mov ebx, dword ptr [esi + 0xa8]"], ["0x100bbf6c", "mov cl, byte ptr [edx]"]], "recomp": [["0x100a8064", "mov ecx, ebp"], ["0x100a8066", "xor eax, eax"], ["0x100a8068", "mov edi, dword ptr [esi + 0xa8]"], ["0x100a806e", "mov al, byte ptr [edx]"]]}, {"both": [["0x100bbf6e", "inc edx", "0x100a8070"]]}, {"orig": [["0x100bbf6f", "mov cx, word ptr [ebx + ecx*2]"], ["0x100bbf73", "add eax, 2"], ["0x100bbf76", "mov word ptr [eax - 2], cx"], ["0x100bbf7a", "dec edi"]], "recomp": [["0x100a8071", "mov ax, word ptr [edi + eax*2]"], ["0x100a8075", "add ebx, 2"], ["0x100a8078", "mov word ptr [ebx - 2], ax"], ["0x100a807c", "dec ecx"]]}, {"both": [["0x100bbf7b", "jne -0x19", "0x100a807d"], ["0x100bbf7d", "add edx, dword ptr [esp + 0x1c]", "0x100a807f"]]}, {"orig": [["0x100bbf81", "add eax, dword ptr [esp + 0x20]"]], "recomp": [["0x100a8083", "add ebx, dword ptr [esp + 0x20]"]]}, {"both": [["0x100bbf85", "dec dword ptr [esp + 0x14]", "0x100a8087"], ["0x100bbf89", "jne -0x2d", "0x100a808b"], ["0x100bbf8b", "mov eax, dword ptr [esp + 0x4c]", "0x100a808d"], ["0x100bbf8f", "mov ecx, dword ptr [esp + 0x10]", "0x100a8091"], ["0x100bbf93", "push eax", "0x100a8095"], ["0x100bbf94", "push ecx", "0x100a8096"], ["0x100bbf95", "mov eax, dword ptr [ecx]", "0x100a8097"], ["0x100bbf97", "call dword ptr [eax + 0x80]", "0x100a8099"], ["0x100bbf9d", "mov eax, dword ptr [esp + 0x10]", "0x100a809f"], ["0x100bbfa1", "pop ebp", "0x100a80a3"]]}]]]}, {"address": "0x100bbfb0", "recomp": "0x100a80b0", "name": "MxDisplaySurface::CopySurface", "matching": 1.0, "diff": []}, {"address": "0x100bc070", "recomp": "0x100a8170", "name": "MxDisplaySurface::CreateCursorSurface", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bc15b,49 +0x100a825b,49 @@", [{"both": [["0x100bc15b", "mov eax, dword ptr [esp + 0xc]", "0x100a825b"], ["0x100bc15f", "push eax", "0x100a825f"], ["0x100bc160", "mov ebx, dword ptr [eax]", "0x100a8260"], ["0x100bc162", "call dword ptr [ebx + 8]", "0x100a8262"], ["0x100bc165", "xor eax, eax", "0x100a8265"], ["0x100bc167", "pop edi", "0x100a8267"], ["0x100bc168", "pop esi", "0x100a8268"], ["0x100bc169", "pop ebx", "0x100a8269"], ["0x100bc16a", "add esp, 0x78", "0x100a826a"], ["0x100bc16d", "ret ", "0x100a826d"]]}, {"orig": [["0x100bc16e", "mov edx, dword ptr [esp + 0x3c]"], ["0x100bc172", "mov esi, dword ptr [esp + 0x28]"]], "recomp": [["0x100a826e", "mov ebx, dword ptr [esp + 0x3c]"], ["0x100a8272", "mov eax, dword ptr [esp + 0x28]"], ["0x100a8276", "xor edx, edx"], ["0x100a8278", "mov esi, ebx"]]}, {"both": [["0x100bc176", "xor edi, edi", "0x100a827a"]]}, {"orig": [["0x100bc178", "mov eax, edx"], ["0x100bc17a", "xor ebx, ebx"], ["0x100bc17c", "cmp ebx, 0xa"]], "recomp": [["0x100a827c", "cmp edi, 0xa"], ["0x100a827f", "jg 0x4"], ["0x100a8281", "test edx, edx"], ["0x100a8283", "je 0x21"], ["0x100a8285", "cmp edx, 0xa"]]}, {"both": [["0x100bc17f", "jg 0x4", "0x100a8288"], ["0x100bc181", "test edi, edi", "0x100a828a"]]}, {"orig": [["0x100bc183", "je 0x21"], ["0x100bc185", "cmp edi, 0xa"], ["0x100bc188", "jg 0x4"], ["0x100bc18a", "test ebx, ebx"]], "recomp": []}, {"both": [["0x100bc18c", "je 0x18", "0x100a828c"]]}, {"orig": [["0x100bc18e", "lea ecx, [edi + ebx]"]], "recomp": [["0x100a828e", "lea ecx, [edi + edx]"]]}, {"both": [["0x100bc191", "cmp ecx, 0xa", "0x100a8291"], ["0x100bc194", "je 0x10", "0x100a8294"], ["0x100bc196", "jle 0x7", "0x100a8296"]]}, {"orig": [["0x100bc198", "mov word ptr [eax], 0x7c1f"]], "recomp": [["0x100a8298", "mov word ptr [esi], 0x7c1f"]]}, {"both": [["0x100bc19d", "jmp 0xc", "0x100a829d"]]}, {"orig": [["0x100bc19f", "mov word ptr [eax], 0xffff"]], "recomp": [["0x100a829f", "mov word ptr [esi], 0xffff"]]}, {"both": [["0x100bc1a4", "jmp 0x5", "0x100a82a4"]]}, {"orig": [["0x100bc1a6", "mov word ptr [eax], 0"], ["0x100bc1ab", "add eax, 2"], ["0x100bc1ae", "inc ebx"], ["0x100bc1af", "cmp ebx, 0x10"], ["0x100bc1b2", "jl -0x38"], ["0x100bc1b4", "add edx, esi"]], "recomp": [["0x100a82a6", "mov word ptr [esi], 0"], ["0x100a82ab", "add esi, 2"]]}, {"both": [["0x100bc1b6", "inc edi", "0x100a82ae"], ["0x100bc1b7", "cmp edi, 0x10", "0x100a82af"]]}, {"orig": [], "recomp": [["0x100a82b2", "jl -0x38"], ["0x100a82b4", "add ebx, eax"], ["0x100a82b6", "inc edx"], ["0x100a82b7", "cmp edx, 0x10"]]}, {"both": [["0x100bc1ba", "jl -0x44", "0x100a82ba"], ["0x100bc1bc", "mov eax, dword ptr [esp + 0x3c]", "0x100a82bc"], ["0x100bc1c0", "mov ecx, dword ptr [esp + 0xc]", "0x100a82c0"], ["0x100bc1c4", "push eax", "0x100a82c4"], ["0x100bc1c5", "push ecx", "0x100a82c5"], ["0x100bc1c6", "mov eax, dword ptr [ecx]", "0x100a82c6"], ["0x100bc1c8", "call dword ptr [eax + 0x80]", "0x100a82c8"], ["0x100bc1ce", "mov eax, 0x7c1f", "0x100a82ce"], ["0x100bc1d3", "mov ecx, dword ptr [esp + 0xc]", "0x100a82d3"], ["0x100bc1d7", "mov dword ptr [esp + 0x14], eax", "0x100a82d7"]]}]]]}, {"address": "0x100bc200", "recomp": "0x100a8300", "name": "MxDisplaySurface::VTable0x24", "matching": 0.5805592543275633, "diff": [["@@ -0x100bc200,375 +0x100a8300,376 @@", [{"both": [["0x100bc200", "sub esp, 0x14", "0x100a8300"], ["0x100bc203", "push ebx", "0x100a8303"], ["0x100bc204", "push esi", "0x100a8304"], ["0x100bc205", "push edi", "0x100a8305"], ["0x100bc206", "mov esi, ecx", "0x100a8306"]]}, {"orig": [["0x100bc208", "mov ebx, dword ptr [esp + 0x28]"]], "recomp": [["0x100a8308", "mov edi, dword ptr [esp + 0x28]"]]}, {"both": [["0x100bc20c", "push ebp", "0x100a830c"]]}, {"orig": [["0x100bc20d", "mov ecx, dword ptr [ebx + 0xc]"]], "recomp": [["0x100a830d", "mov ecx, dword ptr [edi + 0xc]"]]}, {"both": [["0x100bc210", "mov edx, dword ptr [ecx + 8]", "0x100a8310"], ["0x100bc213", "test edx, edx", "0x100a8313"], ["0x100bc215", "jg 0x2", "0x100a8315"], ["0x100bc217", "neg edx", "0x100a8317"], ["0x100bc219", "lea eax, [esp + 0x44]", "0x100a8319"]]}, {"orig": [["0x100bc21d", "lea ebp, [esp + 0x40]"], ["0x100bc221", "lea edi, [esp + 0x3c]"]], "recomp": [["0x100a831d", "lea ebx, [esp + 0x40]"], ["0x100a8321", "lea ebp, [esp + 0x3c]"]]}, {"both": [["0x100bc225", "push eax", "0x100a8325"], ["0x100bc226", "lea eax, [esp + 0x3c]", "0x100a8326"]]}, {"orig": [], "recomp": [["0x100a832a", "push ebx"], ["0x100a832b", "lea ebx, [esp + 0x3c]"]]}, {"both": [["0x100bc22a", "push ebp", "0x100a832f"], ["0x100bc22b", "lea ebp, [esp + 0x3c]", "0x100a8330"]]}, {"orig": [["0x100bc22f", "push edi"], ["0x100bc230", "lea edi, [esp + 0x3c]"]], "recomp": []}, {"both": [["0x100bc234", "push eax", "0x100a8334"]]}, {"orig": [], "recomp": [["0x100a8335", "push ebx"], ["0x100a8336", "mov eax, dword ptr [esi + 0x14]"]]}, {"both": [["0x100bc235", "push ebp", "0x100a8339"]]}, {"orig": [["0x100bc236", "mov eax, dword ptr [esi + 0x14]"], ["0x100bc239", "push edi"]], "recomp": []}, {"both": [["0x100bc23a", "sub eax, dword ptr [esi + 0xc]", "0x100a833a"], ["0x100bc23d", "inc eax", "0x100a833d"], ["0x100bc23e", "mov ecx, dword ptr [ecx + 4]", "0x100a833e"], ["0x100bc241", "push eax", "0x100a8341"], ["0x100bc242", "mov eax, dword ptr [esi + 0x10]", "0x100a8342"], ["0x100bc245", "sub eax, dword ptr [esi + 8]", "0x100a8345"], ["0x100bc248", "inc eax", "0x100a8348"], ["0x100bc249", "push eax", "0x100a8349"], ["0x100bc24a", "push edx", "0x100a834a"], ["0x100bc24b", "push ecx", "0x100a834b"], ["0x100bc24c", "call GetRectIntersection (FUNCTION)", "0x100a834c"], ["0x100bc251", "add esp, 0x28", "0x100a8351"], ["0x100bc254", "test al, al", "0x100a8354"]]}, {"orig": [["0x100bc256", "je 0x3c5"], ["0x100bc25c", "mov edi, dword ptr [ebx + 0xc]"], ["0x100bc25f", "lea ecx, [edi + 0x10]"]], "recomp": [["0x100a8356", "je 0x3c2"], ["0x100a835c", "mov edx, dword ptr [edi + 0xc]"], ["0x100a835f", "lea ecx, [edx + 0x10]"]]}, {"both": [["0x100bc262", "mov dword ptr [esp + 0x10], ecx", "0x100a8362"], ["0x100bc266", "mov ecx, dword ptr [ecx]", "0x100a8366"], ["0x100bc268", "test ecx, ecx", "0x100a8368"], ["0x100bc26a", "jne 0x30", "0x100a836a"], ["0x100bc26c", "cmp ecx, 0x10", "0x100a836c"], ["0x100bc26f", "je 0x7", "0x100a836f"]]}, {"orig": [["0x100bc271", "mov edx, dword ptr [edi + 8]"], ["0x100bc274", "test edx, edx"]], "recomp": [["0x100a8371", "mov eax, dword ptr [edx + 8]"], ["0x100a8374", "test eax, eax"]]}, {"both": [["0x100bc276", "jge 0x6", "0x100a8376"]]}, {"orig": [["0x100bc278", "mov edx, dword ptr [esp + 0x34]"]], "recomp": [["0x100a8378", "mov eax, dword ptr [esp + 0x34]"]]}, {"both": [["0x100bc27c", "jmp 0x9", "0x100a837c"], ["0x100bc27e", "jg 0x2", "0x100a837e"]]}, {"orig": [["0x100bc280", "neg edx"], ["0x100bc282", "sub edx, dword ptr [esp + 0x34]"], ["0x100bc286", "dec edx"], ["0x100bc287", "mov eax, dword ptr [edi + 4]"], ["0x100bc28a", "add eax, 3"], ["0x100bc28d", "and eax, 0xfffffffc"], ["0x100bc290", "imul eax, edx"], ["0x100bc293", "add eax, dword ptr [ebx + 0x14]"], ["0x100bc296", "add eax, dword ptr [esp + 0x30]"]], "recomp": [["0x100a8380", "neg eax"], ["0x100a8382", "sub eax, dword ptr [esp + 0x34]"], ["0x100a8386", "dec eax"], ["0x100a8387", "mov ebx, dword ptr [edx + 4]"], ["0x100a838a", "add ebx, 3"], ["0x100a838d", "and ebx, 0xfffffffc"], ["0x100a8390", "imul ebx, eax"], ["0x100a8393", "add ebx, dword ptr [edi + 0x14]"], ["0x100a8396", "add ebx, dword ptr [esp + 0x30]"]]}, {"both": [["0x100bc29a", "jmp 0x29", "0x100a839a"], ["0x100bc29c", "cmp ecx, 0x10", "0x100a839c"], ["0x100bc29f", "jne 0x5", "0x100a839f"]]}, {"orig": [["0x100bc2a1", "mov eax, dword ptr [ebx + 0x14]"]], "recomp": [["0x100a83a1", "mov ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x100bc2a4", "jmp 0x1f", "0x100a83a4"]]}, {"orig": [["0x100bc2a6", "mov edx, dword ptr [edi + 8]"], ["0x100bc2a9", "test edx, edx"]], "recomp": [["0x100a83a6", "mov eax, dword ptr [edx + 8]"], ["0x100a83a9", "test eax, eax"]]}, {"both": [["0x100bc2ab", "jge 0x4", "0x100a83ab"]]}, {"orig": [["0x100bc2ad", "xor edx, edx"]], "recomp": [["0x100a83ad", "xor eax, eax"]]}, {"both": [["0x100bc2af", "jmp 0x5", "0x100a83af"], ["0x100bc2b1", "jg 0x2", "0x100a83b1"]]}, {"orig": [["0x100bc2b3", "neg edx"], ["0x100bc2b5", "dec edx"], ["0x100bc2b6", "mov eax, dword ptr [edi + 4]"], ["0x100bc2b9", "add eax, 3"], ["0x100bc2bc", "and eax, 0xfffffffc"], ["0x100bc2bf", "imul eax, edx"], ["0x100bc2c2", "add eax, dword ptr [ebx + 0x14]"]], "recomp": [["0x100a83b3", "neg eax"], ["0x100a83b5", "dec eax"], ["0x100a83b6", "mov ebx, dword ptr [edx + 4]"], ["0x100a83b9", "add ebx, 3"], ["0x100a83bc", "and ebx, 0xfffffffc"], ["0x100a83bf", "imul ebx, eax"], ["0x100a83c2", "add ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x100bc2c5", "test byte ptr [esi + 0x20], 8", "0x100a83c5"]]}, {"orig": [["0x100bc2c9", "je 0x224"]], "recomp": [["0x100a83c9", "je 0x221"]]}, {"both": [["0x100bc2cf", "shl dword ptr [esp + 0x3c], 1", "0x100a83cf"], ["0x100bc2d4", "shl dword ptr [esp + 0x38], 1", "0x100a83d4"]]}, {"orig": [["0x100bc2d9", "mov ecx, dword ptr [esi + 0x90]"], ["0x100bc2df", "cmp ecx, 8"]], "recomp": [["0x100a83d9", "mov eax, dword ptr [esi + 0x90]"], ["0x100a83df", "cmp eax, 8"]]}, {"both": [["0x100bc2e2", "je 0x13", "0x100a83e2"]]}, {"orig": [["0x100bc2e4", "cmp ecx, 0x10"]], "recomp": [["0x100a83e4", "cmp eax, 0x10"]]}, {"both": [["0x100bc2e7", "je 0xbe", "0x100a83e7"], ["0x100bc2ed", "pop ebp", "0x100a83ed"], ["0x100bc2ee", "pop edi", "0x100a83ee"], ["0x100bc2ef", "pop esi", "0x100a83ef"], ["0x100bc2f0", "pop ebx", "0x100a83f0"], ["0x100bc2f1", "add esp, 0x14", "0x100a83f1"], ["0x100bc2f4", "ret 0x20", "0x100a83f4"], ["0x100bc2f7", "mov ebp, dword ptr [esp + 0x28]", "0x100a83f7"]]}, {"orig": [["0x100bc2fb", "mov edx, dword ptr [esp + 0x3c]"]], "recomp": [["0x100a83fb", "mov eax, dword ptr [esp + 0x3c]"]]}, {"both": [["0x100bc2ff", "mov ecx, dword ptr [esp + 0x10]", "0x100a83ff"], ["0x100bc303", "mov esi, dword ptr [ebp + 0x10]", "0x100a8403"]]}, {"orig": [["0x100bc306", "imul edx, esi"], ["0x100bc309", "add edx, dword ptr [ebp + 0x24]"], ["0x100bc30c", "add edx, dword ptr [esp + 0x38]"]], "recomp": [["0x100a8406", "imul eax, esi"], ["0x100a8409", "add eax, dword ptr [ebp + 0x24]"], ["0x100a840c", "add eax, dword ptr [esp + 0x38]"]]}, {"both": [["0x100bc310", "cmp dword ptr [ecx], 0x10", "0x100a8410"], ["0x100bc313", "je 0x6", "0x100a8413"]]}, {"orig": [["0x100bc315", "cmp dword ptr [edi + 8], 0"]], "recomp": [["0x100a8415", "cmp dword ptr [edx + 8], 0"]]}, {"both": [["0x100bc319", "jge 0xb", "0x100a8419"]]}, {"orig": [["0x100bc31b", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100a841b", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x100bc31e", "add ecx, 3", "0x100a841e"], ["0x100bc321", "and ecx, 0xfffffffc", "0x100a8421"], ["0x100bc324", "jmp 0xb", "0x100a8424"]]}, {"orig": [["0x100bc326", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100a8426", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x100bc329", "add ecx, 3", "0x100a8429"], ["0x100bc32c", "and ecx, 0xfffffffc", "0x100a842c"], ["0x100bc32f", "neg ecx", "0x100a842f"], ["0x100bc331", "sub ecx, dword ptr [esp + 0x40]", "0x100a8431"]]}, {"orig": [["0x100bc335", "mov ebx, dword ptr [esp + 0x44]"]], "recomp": [["0x100a8435", "mov edx, dword ptr [esp + 0x44]"]]}, {"both": [["0x100bc339", "mov dword ptr [esp + 0x10], ecx", "0x100a8439"], ["0x100bc33d", "dec dword ptr [esp + 0x44]", "0x100a843d"], ["0x100bc341", "mov ecx, dword ptr [esp + 0x40]", "0x100a8441"], ["0x100bc345", "add ecx, ecx", "0x100a8445"], ["0x100bc347", "sub esi, ecx", "0x100a8447"]]}, {"orig": [["0x100bc349", "test ebx, ebx"]], "recomp": [["0x100a8449", "test edx, edx"]]}, {"both": [["0x100bc34b", "mov dword ptr [esp + 0x14], esi", "0x100a844b"]]}, {"orig": [["0x100bc34f", "je 0x2cc"], ["0x100bc355", "mov esi, edx"], ["0x100bc357", "xor edi, edi"], ["0x100bc359", "cmp dword ptr [esp + 0x40], edi"]], "recomp": [["0x100a844f", "je 0x2c9"], ["0x100a8455", "mov esi, eax"], ["0x100a8457", "xor edx, edx"], ["0x100a8459", "cmp dword ptr [esp + 0x40], edx"]]}, {"both": [["0x100bc35d", "jle 0x15", "0x100a845d"]]}, {"orig": [["0x100bc35f", "mov cl, byte ptr [eax]"], ["0x100bc361", "inc edx"]], "recomp": [["0x100a845f", "mov cl, byte ptr [ebx]"], ["0x100a8461", "inc eax"], ["0x100a8462", "inc ebx"]]}, {"both": [["0x100bc362", "inc eax", "0x100a8463"], ["0x100bc363", "inc edx", "0x100a8464"]]}, {"orig": [["0x100bc364", "inc edi"], ["0x100bc365", "mov byte ptr [edx - 2], cl"], ["0x100bc368", "mov cl, byte ptr [eax - 1]"], ["0x100bc36b", "mov byte ptr [edx - 1], cl"], ["0x100bc36e", "cmp dword ptr [esp + 0x40], edi"], ["0x100bc372", "jg -0x15"], ["0x100bc374", "add eax, dword ptr [esp + 0x10]"], ["0x100bc378", "add edx, dword ptr [esp + 0x14]"], ["0x100bc37c", "mov ebx, dword ptr [esp + 0x40]"], ["0x100bc380", "mov edi, edx"], ["0x100bc382", "add ebx, ebx"], ["0x100bc384", "mov ecx, ebx"]], "recomp": [["0x100a8465", "mov byte ptr [eax - 2], cl"], ["0x100a8468", "mov cl, byte ptr [ebx - 1]"], ["0x100a846b", "mov byte ptr [eax - 1], cl"], ["0x100a846e", "cmp edx, dword ptr [esp + 0x40]"], ["0x100a8472", "jl -0x15"], ["0x100a8474", "add ebx, dword ptr [esp + 0x10]"], ["0x100a8478", "add eax, dword ptr [esp + 0x14]"], ["0x100a847c", "mov edx, dword ptr [esp + 0x40]"], ["0x100a8480", "mov edi, eax"], ["0x100a8482", "add edx, edx"], ["0x100a8484", "mov ecx, edx"]]}, {"both": [["0x100bc386", "shr ecx, 2", "0x100a8486"], ["0x100bc389", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a8489"]]}, {"orig": [["0x100bc38b", "mov ecx, ebx"]], "recomp": [["0x100a848b", "mov ecx, edx"]]}, {"both": [["0x100bc38d", "and ecx, 3", "0x100a848d"], ["0x100bc390", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a8490"]]}, {"orig": [["0x100bc392", "add edx, dword ptr [ebp + 0x10]"]], "recomp": [["0x100a8492", "add eax, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100bc395", "mov ecx, dword ptr [esp + 0x44]", "0x100a8495"], ["0x100bc399", "dec dword ptr [esp + 0x44]", "0x100a8499"], ["0x100bc39d", "test ecx, ecx", "0x100a849d"], ["0x100bc39f", "jne -0x4c", "0x100a849f"], ["0x100bc3a1", "pop ebp", "0x100a84a1"], ["0x100bc3a2", "pop edi", "0x100a84a2"], ["0x100bc3a3", "pop esi", "0x100a84a3"], ["0x100bc3a4", "pop ebx", "0x100a84a4"], ["0x100bc3a5", "add esp, 0x14", "0x100a84a5"], ["0x100bc3a8", "ret 0x20", "0x100a84a8"], ["0x100bc3ab", "mov ebp, dword ptr [esp + 0x28]", "0x100a84ab"]]}, {"orig": [["0x100bc3af", "mov ecx, dword ptr [esp + 0x3c]"], ["0x100bc3b3", "mov edx, dword ptr [esp + 0x38]"], ["0x100bc3b7", "mov ebx, dword ptr [ebp + 0x10]"], ["0x100bc3ba", "imul ecx, ebx"], ["0x100bc3bd", "add ecx, dword ptr [ebp + 0x24]"], ["0x100bc3c0", "lea edx, [ecx + edx*2]"]], "recomp": [["0x100a84af", "mov eax, dword ptr [esp + 0x3c]"], ["0x100a84b3", "mov ecx, dword ptr [esp + 0x38]"], ["0x100a84b7", "mov edi, dword ptr [ebp + 0x10]"], ["0x100a84ba", "imul eax, edi"], ["0x100a84bd", "add eax, dword ptr [ebp + 0x24]"], ["0x100a84c0", "lea eax, [eax + ecx*2]"]]}, {"both": [["0x100bc3c3", "mov ecx, dword ptr [esp + 0x10]", "0x100a84c3"], ["0x100bc3c7", "cmp dword ptr [ecx], 0x10", "0x100a84c7"], ["0x100bc3ca", "je 0x6", "0x100a84ca"]]}, {"orig": [["0x100bc3cc", "cmp dword ptr [edi + 8], 0"]], "recomp": [["0x100a84cc", "cmp dword ptr [edx + 8], 0"]]}, {"both": [["0x100bc3d0", "jge 0xb", "0x100a84d0"]]}, {"orig": [["0x100bc3d2", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100a84d2", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x100bc3d5", "add ecx, 3", "0x100a84d5"], ["0x100bc3d8", "and ecx, 0xfffffffc", "0x100a84d8"], ["0x100bc3db", "jmp 0xb", "0x100a84db"]]}, {"orig": [["0x100bc3dd", "mov ecx, dword ptr [edi + 4]"]], "recomp": [["0x100a84dd", "mov ecx, dword ptr [edx + 4]"]]}, {"both": [["0x100bc3e0", "add ecx, 3", "0x100a84e0"], ["0x100bc3e3", "and ecx, 0xfffffffc", "0x100a84e3"], ["0x100bc3e6", "neg ecx", "0x100a84e6"], ["0x100bc3e8", "sub ecx, dword ptr [esp + 0x40]", "0x100a84e8"], ["0x100bc3ec", "mov dword ptr [esp + 0x14], ecx", "0x100a84ec"], ["0x100bc3f0", "mov ecx, dword ptr [esp + 0x40]", "0x100a84f0"], ["0x100bc3f4", "shl ecx, 2", "0x100a84f4"]]}, {"orig": [["0x100bc3f7", "mov edi, dword ptr [esp + 0x40]"], ["0x100bc3fb", "sub ebx, ecx"]], "recomp": [["0x100a84f7", "mov edx, dword ptr [esp + 0x40]"], ["0x100a84fb", "sub edi, ecx"]]}, {"both": [["0x100bc3fd", "mov dword ptr [esp + 0x10], ecx", "0x100a84fd"], ["0x100bc401", "mov ecx, dword ptr [esp + 0x44]", "0x100a8501"]]}, {"orig": [["0x100bc405", "mov dword ptr [esp + 0x20], ebx"], ["0x100bc409", "mov ebx, dword ptr [esi + 0xa8]"]], "recomp": [["0x100a8505", "mov dword ptr [esp + 0x20], edi"]]}, {"both": [["0x100bc40f", "mov dword ptr [esp + 0x18], ecx", "0x100a8509"]]}, {"orig": [], "recomp": [["0x100a850d", "mov dword ptr [esp + 0x1c], edx"]]}, {"both": [["0x100bc413", "cmp dword ptr [esp + 0x14], 0", "0x100a8511"]]}, {"orig": [["0x100bc418", "mov dword ptr [esp + 0x1c], edi"], ["0x100bc41c", "jne 0x6f"], ["0x100bc41e", "cmp dword ptr [esp + 0x20], 0"]], "recomp": [["0x100a8516", "mov edx, dword ptr [esi + 0xa8]"], ["0x100a851c", "jne 0x6c"], ["0x100a851e", "test edi, edi"]]}, {"both": [["0x100bc423", "jne 0x68", "0x100a8520"], ["0x100bc425", "dec ecx", "0x100a8522"], ["0x100bc426", "cmp dword ptr [esp + 0x44], 0", "0x100a8523"], ["0x100bc42b", "mov dword ptr [esp + 0x18], ecx", "0x100a8528"], ["0x100bc42f", "je 0x1ec", "0x100a852c"], ["0x100bc435", "cmp dword ptr [esp + 0x1c], 0", "0x100a8532"]]}, {"orig": [["0x100bc43a", "mov esi, edx"]], "recomp": [["0x100a8537", "mov esi, eax"]]}, {"both": [["0x100bc43c", "jle 0x1e", "0x100a8539"], ["0x100bc43e", "mov edi, dword ptr [esp + 0x1c]", "0x100a853b"], ["0x100bc442", "xor ecx, ecx", "0x100a853f"]]}, {"orig": [["0x100bc444", "add edx, 2"], ["0x100bc447", "mov cl, byte ptr [eax]"], ["0x100bc449", "inc eax"], ["0x100bc44a", "mov cx, word ptr [ebx + ecx*2]"], ["0x100bc44e", "add edx, 2"], ["0x100bc451", "mov word ptr [edx - 4], cx"]], "recomp": [["0x100a8541", "add eax, 2"], ["0x100a8544", "mov cl, byte ptr [ebx]"], ["0x100a8546", "inc ebx"], ["0x100a8547", "mov cx, word ptr [edx + ecx*2]"], ["0x100a854b", "add eax, 2"], ["0x100a854e", "mov word ptr [eax - 4], cx"]]}, {"both": [["0x100bc455", "dec edi", "0x100a8552"]]}, {"orig": [["0x100bc456", "mov word ptr [edx - 2], cx"]], "recomp": [["0x100a8553", "mov word ptr [eax - 2], cx"]]}, {"both": [["0x100bc45a", "jne -0x1a", "0x100a8557"], ["0x100bc45c", "mov ecx, dword ptr [esp + 0x10]", "0x100a8559"]]}, {"orig": [["0x100bc460", "mov edi, edx"]], "recomp": [["0x100a855d", "mov edi, eax"]]}, {"both": [["0x100bc462", "mov dword ptr [esp + 0x14], ecx", "0x100a855f"], ["0x100bc466", "shr ecx, 2", "0x100a8563"], ["0x100bc469", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a8566"], ["0x100bc46b", "mov ecx, dword ptr [esp + 0x14]", "0x100a8568"], ["0x100bc46f", "and ecx, 3", "0x100a856c"], ["0x100bc472", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a856f"]]}, {"orig": [["0x100bc474", "add edx, dword ptr [ebp + 0x10]"]], "recomp": [["0x100a8571", "add eax, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100bc477", "mov esi, dword ptr [esp + 0x18]", "0x100a8574"], ["0x100bc47b", "dec dword ptr [esp + 0x18]", "0x100a8578"], ["0x100bc47f", "test esi, esi", "0x100a857c"], ["0x100bc481", "jne -0x4e", "0x100a857e"], ["0x100bc483", "pop ebp", "0x100a8580"], ["0x100bc484", "pop edi", "0x100a8581"], ["0x100bc485", "pop esi", "0x100a8582"], ["0x100bc486", "pop ebx", "0x100a8583"], ["0x100bc487", "add esp, 0x14", "0x100a8584"], ["0x100bc48a", "ret 0x20", "0x100a8587"], ["0x100bc48d", "mov ecx, dword ptr [esp + 0x18]", "0x100a858a"], ["0x100bc491", "dec dword ptr [esp + 0x18]", "0x100a858e"], ["0x100bc495", "test ecx, ecx", "0x100a8592"], ["0x100bc497", "je 0x184", "0x100a8594"], ["0x100bc49d", "cmp dword ptr [esp + 0x1c], 0", "0x100a859a"]]}, {"orig": [["0x100bc4a2", "mov esi, edx"]], "recomp": [["0x100a859f", "mov esi, eax"]]}, {"both": [["0x100bc4a4", "jle 0x1e", "0x100a85a1"], ["0x100bc4a6", "mov edi, dword ptr [esp + 0x1c]", "0x100a85a3"], ["0x100bc4aa", "xor ecx, ecx", "0x100a85a7"]]}, {"orig": [["0x100bc4ac", "add edx, 2"], ["0x100bc4af", "mov cl, byte ptr [eax]"], ["0x100bc4b1", "inc eax"], ["0x100bc4b2", "mov cx, word ptr [ebx + ecx*2]"], ["0x100bc4b6", "add edx, 2"], ["0x100bc4b9", "mov word ptr [edx - 4], cx"]], "recomp": [["0x100a85a9", "add eax, 2"], ["0x100a85ac", "mov cl, byte ptr [ebx]"], ["0x100a85ae", "inc ebx"], ["0x100a85af", "mov cx, word ptr [edx + ecx*2]"], ["0x100a85b3", "add eax, 2"], ["0x100a85b6", "mov word ptr [eax - 4], cx"]]}, {"both": [["0x100bc4bd", "dec edi", "0x100a85ba"]]}, {"orig": [["0x100bc4be", "mov word ptr [edx - 2], cx"]], "recomp": [["0x100a85bb", "mov word ptr [eax - 2], cx"]]}, {"both": [["0x100bc4c2", "jne -0x1a", "0x100a85bf"]]}, {"orig": [["0x100bc4c4", "add eax, dword ptr [esp + 0x14]"], ["0x100bc4c8", "add edx, dword ptr [esp + 0x20]"]], "recomp": [["0x100a85c1", "add ebx, dword ptr [esp + 0x14]"], ["0x100a85c5", "add eax, dword ptr [esp + 0x20]"]]}, {"both": [["0x100bc4cc", "mov ecx, dword ptr [esp + 0x40]", "0x100a85c9"]]}, {"orig": [["0x100bc4d0", "mov edi, edx"]], "recomp": [["0x100a85cd", "mov edi, eax"]]}, {"both": [["0x100bc4d2", "shl ecx, 2", "0x100a85cf"], ["0x100bc4d5", "shr ecx, 2", "0x100a85d2"], ["0x100bc4d8", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a85d5"]]}, {"orig": [["0x100bc4da", "add edx, dword ptr [ebp + 0x10]"]], "recomp": [["0x100a85d7", "add eax, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100bc4dd", "mov ecx, dword ptr [esp + 0x18]", "0x100a85da"], ["0x100bc4e1", "dec dword ptr [esp + 0x18]", "0x100a85de"], ["0x100bc4e5", "test ecx, ecx", "0x100a85e2"], ["0x100bc4e7", "jne -0x4c", "0x100a85e4"], ["0x100bc4e9", "pop ebp", "0x100a85e6"], ["0x100bc4ea", "pop edi", "0x100a85e7"], ["0x100bc4eb", "pop esi", "0x100a85e8"], ["0x100bc4ec", "pop ebx", "0x100a85e9"], ["0x100bc4ed", "add esp, 0x14", "0x100a85ea"], ["0x100bc4f0", "ret 0x20", "0x100a85ed"]]}, {"orig": [["0x100bc4f3", "mov edx, dword ptr [esi + 0x90]"], ["0x100bc4f9", "cmp edx, 8"]], "recomp": [["0x100a85f0", "mov eax, dword ptr [esi + 0x90]"], ["0x100a85f6", "cmp eax, 8"]]}, {"both": [["0x100bc4fc", "je 0x13", "0x100a85f9"]]}, {"orig": [["0x100bc4fe", "cmp edx, 0x10"]], "recomp": [["0x100a85fb", "cmp eax, 0x10"]]}, {"both": [["0x100bc501", "je 0x87", "0x100a85fe"], ["0x100bc507", "pop ebp", "0x100a8604"], ["0x100bc508", "pop edi", "0x100a8605"], ["0x100bc509", "pop esi", "0x100a8606"], ["0x100bc50a", "pop ebx", "0x100a8607"], ["0x100bc50b", "add esp, 0x14", "0x100a8608"], ["0x100bc50e", "ret 0x20", "0x100a860b"], ["0x100bc511", "mov ebp, dword ptr [esp + 0x28]", "0x100a860e"]]}, {"orig": [["0x100bc515", "mov edx, dword ptr [esp + 0x3c]"], ["0x100bc519", "imul edx, dword ptr [ebp + 0x10]"], ["0x100bc51d", "add edx, dword ptr [ebp + 0x24]"], ["0x100bc520", "add edx, dword ptr [esp + 0x38]"]], "recomp": [["0x100a8612", "mov eax, dword ptr [esp + 0x3c]"], ["0x100a8616", "imul eax, dword ptr [ebp + 0x10]"], ["0x100a861a", "add eax, dword ptr [ebp + 0x24]"], ["0x100a861d", "add eax, dword ptr [esp + 0x38]"]]}, {"both": [["0x100bc524", "cmp ecx, 0x10", "0x100a8621"], ["0x100bc527", "je 0x6", "0x100a8624"]]}, {"orig": [["0x100bc529", "cmp dword ptr [edi + 8], 0"]], "recomp": [["0x100a8626", "cmp dword ptr [edx + 8], 0"]]}, {"both": [["0x100bc52d", "jge 0xb", "0x100a862a"]]}, {"orig": [["0x100bc52f", "mov ebx, dword ptr [edi + 4]"], ["0x100bc532", "add ebx, 3"], ["0x100bc535", "and ebx, 0xfffffffc"]], "recomp": [["0x100a862c", "mov edx, dword ptr [edx + 4]"], ["0x100a862f", "add edx, 3"], ["0x100a8632", "and edx, 0xfffffffc"]]}, {"both": [["0x100bc538", "jmp 0xb", "0x100a8635"]]}, {"orig": [["0x100bc53a", "mov ebx, dword ptr [edi + 4]"], ["0x100bc53d", "add ebx, 3"], ["0x100bc540", "and ebx, 0xfffffffc"], ["0x100bc543", "neg ebx"]], "recomp": [["0x100a8637", "mov edx, dword ptr [edx + 4]"], ["0x100a863a", "add edx, 3"], ["0x100a863d", "and edx, 0xfffffffc"], ["0x100a8640", "neg edx"]]}, {"both": [["0x100bc545", "mov ecx, dword ptr [ebp + 0x10]", "0x100a8642"], ["0x100bc548", "mov ebp, dword ptr [esp + 0x44]", "0x100a8645"], ["0x100bc54c", "mov dword ptr [esp + 0x10], ecx", "0x100a8649"], ["0x100bc550", "dec dword ptr [esp + 0x44]", "0x100a864d"], ["0x100bc554", "test ebp, ebp", "0x100a8651"], ["0x100bc556", "je 0xc5", "0x100a8653"], ["0x100bc55c", "mov ebp, dword ptr [esp + 0x40]", "0x100a8659"]]}, {"orig": [["0x100bc560", "mov edi, edx"], ["0x100bc562", "mov esi, eax"]], "recomp": [["0x100a865d", "mov edi, eax"], ["0x100a865f", "mov esi, ebx"]]}, {"both": [["0x100bc564", "mov ecx, ebp", "0x100a8661"], ["0x100bc566", "shr ecx, 2", "0x100a8663"]]}, {"orig": [], "recomp": [["0x100a8666", "add ebx, edx"]]}, {"both": [["0x100bc569", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a8668"], ["0x100bc56b", "mov ecx, ebp", "0x100a866a"], ["0x100bc56d", "and ecx, 3", "0x100a866c"], ["0x100bc570", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a866f"]]}, {"orig": [["0x100bc572", "add eax, ebx"], ["0x100bc574", "add edx, dword ptr [esp + 0x10]"]], "recomp": [["0x100a8671", "add eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x100bc578", "mov ecx, dword ptr [esp + 0x44]", "0x100a8675"], ["0x100bc57c", "dec dword ptr [esp + 0x44]", "0x100a8679"], ["0x100bc580", "test ecx, ecx", "0x100a867d"], ["0x100bc582", "jne -0x28", "0x100a867f"], ["0x100bc584", "pop ebp", "0x100a8681"], ["0x100bc585", "pop edi", "0x100a8682"], ["0x100bc586", "pop esi", "0x100a8683"], ["0x100bc587", "pop ebx", "0x100a8684"], ["0x100bc588", "add esp, 0x14", "0x100a8685"], ["0x100bc58b", "ret 0x20", "0x100a8688"], ["0x100bc58e", "mov ebp, dword ptr [esp + 0x28]", "0x100a868b"]]}, {"orig": [["0x100bc592", "mov edx, dword ptr [esp + 0x3c]"], ["0x100bc596", "imul edx, dword ptr [ebp + 0x10]"], ["0x100bc59a", "add edx, dword ptr [ebp + 0x24]"], ["0x100bc59d", "mov ebx, dword ptr [esp + 0x38]"]], "recomp": [["0x100a868f", "mov eax, dword ptr [esp + 0x3c]"], ["0x100a8693", "imul eax, dword ptr [ebp + 0x10]"], ["0x100a8697", "add eax, dword ptr [ebp + 0x24]"], ["0x100a869a", "mov edi, dword ptr [esp + 0x38]"]]}, {"both": [["0x100bc5a1", "cmp ecx, 0x10", "0x100a869e"]]}, {"orig": [["0x100bc5a4", "lea edx, [edx + ebx*2]"]], "recomp": [["0x100a86a1", "lea edi, [eax + edi*2]"]]}, {"both": [["0x100bc5a7", "je 0x6", "0x100a86a4"]]}, {"orig": [["0x100bc5a9", "cmp dword ptr [edi + 8], 0"]], "recomp": [["0x100a86a6", "cmp dword ptr [edx + 8], 0"]]}, {"both": [["0x100bc5ad", "jge 0xb", "0x100a86aa"]]}, {"orig": [["0x100bc5af", "mov edi, dword ptr [edi + 4]"], ["0x100bc5b2", "add edi, 3"], ["0x100bc5b5", "and edi, 0xfffffffc"]], "recomp": [["0x100a86ac", "mov ecx, dword ptr [edx + 4]"], ["0x100a86af", "add ecx, 3"], ["0x100a86b2", "and ecx, 0xfffffffc"]]}, {"both": [["0x100bc5b8", "jmp 0xb", "0x100a86b5"]]}, {"orig": [["0x100bc5ba", "mov edi, dword ptr [edi + 4]"], ["0x100bc5bd", "add edi, 3"], ["0x100bc5c0", "and edi, 0xfffffffc"], ["0x100bc5c3", "neg edi"], ["0x100bc5c5", "sub edi, dword ptr [esp + 0x40]"], ["0x100bc5c9", "mov ecx, dword ptr [ebp + 0x10]"]], "recomp": [["0x100a86b7", "mov ecx, dword ptr [edx + 4]"], ["0x100a86ba", "add ecx, 3"], ["0x100a86bd", "and ecx, 0xfffffffc"], ["0x100a86c0", "neg ecx"], ["0x100a86c2", "sub ecx, dword ptr [esp + 0x40]"], ["0x100a86c6", "mov eax, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100bc5cc", "mov dword ptr [esp + 0x14], 0", "0x100a86c9"]]}, {"orig": [["0x100bc5d4", "mov ebx, dword ptr [esp + 0x40]"], ["0x100bc5d8", "add ebx, ebx"], ["0x100bc5da", "sub ecx, ebx"]], "recomp": [["0x100a86d1", "mov edx, dword ptr [esp + 0x40]"], ["0x100a86d5", "add edx, edx"], ["0x100a86d7", "sub eax, edx"]]}, {"both": [["0x100bc5dc", "cmp dword ptr [esp + 0x44], 0", "0x100a86d9"]]}, {"orig": [["0x100bc5e1", "mov dword ptr [esp + 0x10], ecx"]], "recomp": [["0x100a86de", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100bc5e5", "jle 0x3a", "0x100a86e2"]]}, {"orig": [["0x100bc5e7", "xor ebx, ebx"], ["0x100bc5e9", "cmp dword ptr [esp + 0x40], ebx"]], "recomp": [["0x100a86e4", "xor edx, edx"], ["0x100a86e6", "cmp dword ptr [esp + 0x40], edx"]]}, {"both": [["0x100bc5ed", "jle 0x1e", "0x100a86ea"]]}, {"orig": [["0x100bc5ef", "xor ecx, ecx"]], "recomp": [["0x100a86ec", "xor eax, eax"]]}, {"both": [["0x100bc5f1", "mov ebp, dword ptr [esi + 0xa8]", "0x100a86ee"]]}, {"orig": [["0x100bc5f7", "mov cl, byte ptr [eax]"], ["0x100bc5f9", "inc eax"], ["0x100bc5fa", "mov cx, word ptr [ebp + ecx*2]"], ["0x100bc5ff", "add edx, 2"], ["0x100bc602", "mov word ptr [edx - 2], cx"]], "recomp": [["0x100a86f4", "mov al, byte ptr [ebx]"]]}, {"both": [["0x100bc606", "inc ebx", "0x100a86f6"]]}, {"orig": [["0x100bc607", "cmp ebx, dword ptr [esp + 0x40]"], ["0x100bc60b", "jl -0x1e"], ["0x100bc60d", "add eax, edi"], ["0x100bc60f", "add edx, dword ptr [esp + 0x10]"]], "recomp": [["0x100a86f7", "mov ax, word ptr [ebp + eax*2]"], ["0x100a86fc", "add edi, 2"], ["0x100a86ff", "mov word ptr [edi - 2], ax"], ["0x100a8703", "inc edx"], ["0x100a8704", "cmp dword ptr [esp + 0x40], edx"], ["0x100a8708", "jg -0x1e"], ["0x100a870a", "add ebx, ecx"], ["0x100a870c", "add edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x100bc613", "inc dword ptr [esp + 0x14]", "0x100a8710"]]}, {"orig": [["0x100bc617", "mov ecx, dword ptr [esp + 0x14]"], ["0x100bc61b", "cmp ecx, dword ptr [esp + 0x44]"]], "recomp": [["0x100a8714", "mov eax, dword ptr [esp + 0x14]"], ["0x100a8718", "cmp eax, dword ptr [esp + 0x44]"]]}, {"both": [["0x100bc61f", "jl -0x3a", "0x100a871c"], ["0x100bc621", "pop ebp", "0x100a871e"], ["0x100bc622", "pop edi", "0x100a871f"], ["0x100bc623", "pop esi", "0x100a8720"], ["0x100bc624", "pop ebx", "0x100a8721"], ["0x100bc625", "add esp, 0x14", "0x100a8722"]]}, {"orig": [], "recomp": [["0x100a8725", "ret 0x20"]]}]]]}, {"address": "0x100bc630", "recomp": "0x100a8730", "name": "MxDisplaySurface::VTable0x2c", "matching": 0.921161825726141, "diff": [["@@ -0x100bc741,42 +0x100a8841,42 @@", [{"both": [["0x100bc741", "add eax, 3", "0x100a8841"], ["0x100bc744", "and eax, 0xfffffffc", "0x100a8844"], ["0x100bc747", "jmp 0xb", "0x100a8847"], ["0x100bc749", "mov eax, dword ptr [ecx + 4]", "0x100a8849"], ["0x100bc74c", "add eax, 3", "0x100a884c"], ["0x100bc74f", "and eax, 0xfffffffc", "0x100a884f"], ["0x100bc752", "neg eax", "0x100a8852"], ["0x100bc754", "sub eax, dword ptr [esp + 0x34]", "0x100a8854"], ["0x100bc758", "sub edi, dword ptr [esp + 0x34]", "0x100a8858"], ["0x100bc75c", "xor edx, edx", "0x100a885c"]]}, {"orig": [["0x100bc75e", "xor ebx, ebx"]], "recomp": [["0x100a885e", "xor esi, esi"]]}, {"both": [["0x100bc760", "cmp dword ptr [esp + 0x38], edx", "0x100a8860"], ["0x100bc764", "jle 0x13c", "0x100a8864"]]}, {"orig": [["0x100bc76a", "xor esi, esi"]], "recomp": [["0x100a886a", "xor ebx, ebx"]]}, {"both": [["0x100bc76c", "cmp dword ptr [esp + 0x34], edx", "0x100a886c"], ["0x100bc770", "jle 0x20", "0x100a8870"], ["0x100bc772", "mov ecx, dword ptr [esp + 0x14]", "0x100a8872"], ["0x100bc776", "mov cl, byte ptr [ecx]", "0x100a8876"], ["0x100bc778", "test cl, cl", "0x100a8878"], ["0x100bc77a", "je 0x7", "0x100a887a"], ["0x100bc77c", "mov ebp, dword ptr [esp + 0x10]", "0x100a887c"], ["0x100bc780", "mov byte ptr [ebp], cl", "0x100a8880"]]}, {"orig": [["0x100bc783", "inc esi"]], "recomp": [["0x100a8883", "inc ebx"]]}, {"both": [["0x100bc784", "inc dword ptr [esp + 0x14]", "0x100a8884"], ["0x100bc788", "inc dword ptr [esp + 0x10]", "0x100a8888"]]}, {"orig": [["0x100bc78c", "cmp esi, dword ptr [esp + 0x34]"], ["0x100bc790", "jl -0x20"], ["0x100bc792", "inc ebx"]], "recomp": [["0x100a888c", "cmp dword ptr [esp + 0x34], ebx"], ["0x100a8890", "jg -0x20"], ["0x100a8892", "inc esi"]]}, {"both": [["0x100bc793", "add dword ptr [esp + 0x14], eax", "0x100a8893"], ["0x100bc797", "add dword ptr [esp + 0x10], edi", "0x100a8897"]]}, {"orig": [["0x100bc79b", "cmp dword ptr [esp + 0x38], ebx"], ["0x100bc79f", "jg -0x37"]], "recomp": [["0x100a889b", "cmp esi, dword ptr [esp + 0x38]"], ["0x100a889f", "jl -0x37"]]}, {"both": [["0x100bc7a1", "pop ebp", "0x100a88a1"], ["0x100bc7a2", "pop edi", "0x100a88a2"], ["0x100bc7a3", "pop esi", "0x100a88a3"], ["0x100bc7a4", "pop ebx", "0x100a88a4"], ["0x100bc7a5", "add esp, 8", "0x100a88a5"], ["0x100bc7a8", "ret 0x24", "0x100a88a8"], ["0x100bc7ab", "mov eax, dword ptr [esp + 0x38]", "0x100a88ab"], ["0x100bc7af", "push 8", "0x100a88af"], ["0x100bc7b1", "mov edx, dword ptr [esp + 0x38]", "0x100a88b1"], ["0x100bc7b5", "push edi", "0x100a88b5"]]}]], ["@@ -0x100bc80d,47 +0x100a890d,47 @@", [{"both": [["0x100bc80d", "add ebx, 3", "0x100a890d"], ["0x100bc810", "and ebx, 0xfffffffc", "0x100a8910"], ["0x100bc813", "jmp 0xb", "0x100a8913"], ["0x100bc815", "mov ebx, dword ptr [ecx + 4]", "0x100a8915"], ["0x100bc818", "add ebx, 3", "0x100a8918"], ["0x100bc81b", "and ebx, 0xfffffffc", "0x100a891b"], ["0x100bc81e", "neg ebx", "0x100a891e"], ["0x100bc820", "sub ebx, dword ptr [esp + 0x34]", "0x100a8920"], ["0x100bc824", "mov eax, dword ptr [esp + 0x34]", "0x100a8924"], ["0x100bc828", "add eax, eax", "0x100a8928"]]}, {"orig": [], "recomp": [["0x100a892a", "sub edi, eax"], ["0x100a892c", "xor eax, eax"], ["0x100a892e", "cmp dword ptr [esp + 0x38], eax"], ["0x100a8932", "jle 0x72"]]}, {"both": [["0x100bc82a", "xor ebp, ebp", "0x100a8934"]]}, {"orig": [["0x100bc82c", "sub edi, eax"], ["0x100bc82e", "cmp dword ptr [esp + 0x38], ebp"], ["0x100bc832", "jle 0x72"], ["0x100bc834", "xor eax, eax"], ["0x100bc836", "cmp dword ptr [esp + 0x34], eax"]], "recomp": [["0x100a8936", "cmp dword ptr [esp + 0x34], ebp"]]}, {"both": [["0x100bc83a", "jle 0x2f", "0x100a893a"], ["0x100bc83c", "mov ecx, dword ptr [esp + 0x14]", "0x100a893c"], ["0x100bc840", "mov cl, byte ptr [ecx]", "0x100a8940"], ["0x100bc842", "test cl, cl", "0x100a8942"], ["0x100bc844", "je 0x15", "0x100a8944"], ["0x100bc846", "xor edx, edx", "0x100a8946"], ["0x100bc848", "mov dl, cl", "0x100a8948"], ["0x100bc84a", "mov ecx, dword ptr [esi + 0xa8]", "0x100a894a"], ["0x100bc850", "mov cx, word ptr [ecx + edx*2]", "0x100a8950"], ["0x100bc854", "mov edx, dword ptr [esp + 0x10]", "0x100a8954"], ["0x100bc858", "mov word ptr [edx], cx", "0x100a8958"]]}, {"orig": [["0x100bc85b", "inc eax"]], "recomp": [["0x100a895b", "inc ebp"]]}, {"both": [["0x100bc85c", "inc dword ptr [esp + 0x14]", "0x100a895c"], ["0x100bc860", "add dword ptr [esp + 0x10], 2", "0x100a8960"]]}, {"orig": [["0x100bc865", "cmp eax, dword ptr [esp + 0x34]"], ["0x100bc869", "jl -0x2f"], ["0x100bc86b", "inc ebp"]], "recomp": [["0x100a8965", "cmp dword ptr [esp + 0x34], ebp"], ["0x100a8969", "jg -0x2f"], ["0x100a896b", "inc eax"]]}, {"both": [["0x100bc86c", "add dword ptr [esp + 0x14], ebx", "0x100a896c"], ["0x100bc870", "add dword ptr [esp + 0x10], edi", "0x100a8970"]]}, {"orig": [["0x100bc874", "cmp dword ptr [esp + 0x38], ebp"], ["0x100bc878", "jg -0x46"]], "recomp": [["0x100a8974", "cmp eax, dword ptr [esp + 0x38]"], ["0x100a8978", "jl -0x46"]]}, {"both": [["0x100bc87a", "pop ebp", "0x100a897a"], ["0x100bc87b", "pop edi", "0x100a897b"], ["0x100bc87c", "pop esi", "0x100a897c"], ["0x100bc87d", "pop ebx", "0x100a897d"], ["0x100bc87e", "add esp, 8", "0x100a897e"], ["0x100bc881", "ret 0x24", "0x100a8981"], ["0x100bc884", "mov eax, dword ptr [esp + 0x38]", "0x100a8984"], ["0x100bc888", "push 0x10", "0x100a8988"], ["0x100bc88a", "mov edx, dword ptr [esp + 0x38]", "0x100a898a"], ["0x100bc88e", "push edi", "0x100a898e"]]}]]]}, {"address": "0x100bc8b0", "recomp": "0x100a89b0", "name": "MxDisplaySurface::FUN_100bc8b0", "matching": 1.0, "diff": []}, {"address": "0x100bc980", "recomp": "0x100b3e60", "name": "MxBitmap::MxBitmap", "matching": 1.0, "diff": []}, {"address": "0x100bc9f0", "recomp": "0x100b3ee0", "name": "MxBitmap::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100bca10", "recomp": "0x100b3f00", "name": "MxBitmap::~MxBitmap", "matching": 1.0, "diff": []}, {"address": "0x100bcaa0", "recomp": "0x100b3f90", "name": "MxBitmap::SetSize", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bcaa0,83 +0x100b3f90,83 @@", [{"both": [["0x100bcaa0", "push ebx", "0x100b3f90"], ["0x100bcaa1", "push esi", "0x100b3f91"], ["0x100bcaa2", "push edi", "0x100b3f92"]]}, {"orig": [["0x100bcaa3", "mov esi, ecx"]], "recomp": [["0x100b3f93", "mov ebx, ecx"]]}, {"both": [["0x100bcaa5", "push ebp", "0x100b3f95"]]}, {"orig": [["0x100bcaa6", "mov ebx, 0xffffffff"]], "recomp": [["0x100b3f96", "mov esi, 0xffffffff"]]}, {"both": [["0x100bcaab", "mov ebp, dword ptr [esp + 0x14]", "0x100b3f9b"], ["0x100bcaaf", "push 0x428", "0x100b3f9f"], ["0x100bcab4", "add ebp, 3", "0x100b3fa4"], ["0x100bcab7", "and ebp, 0xfffffffc", "0x100b3fa7"], ["0x100bcaba", "imul ebp, dword ptr [esp + 0x1c]", "0x100b3faa"], ["0x100bcabf", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b3faf"], ["0x100bcac4", "add esp, 4", "0x100b3fb4"]]}, {"orig": [["0x100bcac7", "mov dword ptr [esi + 8], eax"]], "recomp": [["0x100b3fb7", "mov dword ptr [ebx + 8], eax"]]}, {"both": [["0x100bcaca", "test eax, eax", "0x100b3fba"], ["0x100bcacc", "je 0x8a", "0x100b3fbc"], ["0x100bcad2", "push ebp", "0x100b3fc2"], ["0x100bcad3", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b3fc3"], ["0x100bcad8", "add esp, 4", "0x100b3fc8"]]}, {"orig": [["0x100bcadb", "mov dword ptr [esi + 0x14], eax"]], "recomp": [["0x100b3fcb", "mov dword ptr [ebx + 0x14], eax"]]}, {"both": [["0x100bcade", "test eax, eax", "0x100b3fce"], ["0x100bcae0", "je 0x7a", "0x100b3fd0"]]}, {"orig": [["0x100bcae2", "mov edi, dword ptr [esi + 8]"]], "recomp": [["0x100b3fd2", "mov edi, dword ptr [ebx + 8]"]]}, {"both": [["0x100bcae5", "mov ecx, 0xa", "0x100b3fd5"]]}, {"orig": [["0x100bcaea", "mov dword ptr [esi + 0xc], edi"]], "recomp": [["0x100b3fda", "mov dword ptr [ebx + 0xc], edi"]]}, {"both": [["0x100bcaed", "lea eax, [edi + 0x28]", "0x100b3fdd"]]}, {"orig": [["0x100bcaf0", "mov dword ptr [esi + 0x10], eax"]], "recomp": [["0x100b3fe0", "mov dword ptr [ebx + 0x10], eax"]]}, {"both": [["0x100bcaf3", "xor eax, eax", "0x100b3fe3"], ["0x100bcaf5", "rep stosd dword ptr es:[edi], eax", "0x100b3fe5"]]}, {"orig": [["0x100bcaf7", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b3fe7", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcafa", "mov eax, dword ptr [esp + 0x14]", "0x100b3fea"], ["0x100bcafe", "mov edx, dword ptr [esp + 0x18]", "0x100b3fee"], ["0x100bcb02", "mov dword ptr [ecx], 0x28", "0x100b3ff2"]]}, {"orig": [["0x100bcb08", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b3ff8", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcb0b", "mov dword ptr [ecx + 4], eax", "0x100b3ffb"]]}, {"orig": [["0x100bcb0e", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b3ffe", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcb11", "mov dword ptr [ecx + 8], edx", "0x100b4001"]]}, {"orig": [["0x100bcb14", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b4004", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcb17", "mov word ptr [ecx + 0xc], 1", "0x100b4007"]]}, {"orig": [["0x100bcb1d", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b400d", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcb20", "mov eax, dword ptr [esp + 0x1c]", "0x100b4010"], ["0x100bcb24", "mov word ptr [ecx + 0xe], 8", "0x100b4014"]]}, {"orig": [["0x100bcb2a", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b401a", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcb2d", "push eax", "0x100b401d"], ["0x100bcb2e", "mov dword ptr [ecx + 0x10], 0", "0x100b401e"]]}, {"orig": [["0x100bcb35", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b4025", "mov ecx, dword ptr [ebx + 0xc]"]]}, {"both": [["0x100bcb38", "mov dword ptr [ecx + 0x14], ebp", "0x100b4028"]]}, {"orig": [["0x100bcb3b", "mov ecx, esi"], ["0x100bcb3d", "mov edx, dword ptr [esi + 0x10]"]], "recomp": [["0x100b402b", "mov ecx, ebx"], ["0x100b402d", "mov edx, dword ptr [ebx + 0x10]"]]}, {"both": [["0x100bcb40", "push edx", "0x100b4030"], ["0x100bcb41", "call MxBitmap::ImportColorsToPalette (FUNCTION)", "0x100b4031"], ["0x100bcb46", "test eax, eax", "0x100b4036"], ["0x100bcb48", "jne 0x12", "0x100b4038"], ["0x100bcb4a", "mov eax, dword ptr [esp + 0x20]", "0x100b403a"]]}, {"orig": [["0x100bcb4e", "mov ebp, dword ptr [esi]"]], "recomp": [["0x100b403e", "mov ebp, dword ptr [ebx]"]]}, {"both": [["0x100bcb50", "push eax", "0x100b4040"]]}, {"orig": [["0x100bcb51", "mov ecx, esi"]], "recomp": [["0x100b4041", "mov ecx, ebx"]]}, {"both": [["0x100bcb53", "call dword ptr [ebp + 0x3c]", "0x100b4043"], ["0x100bcb56", "test eax, eax", "0x100b4046"], ["0x100bcb58", "jne 0x2", "0x100b4048"]]}, {"orig": [["0x100bcb5a", "xor ebx, ebx"], ["0x100bcb5c", "test ebx, ebx"]], "recomp": [["0x100b404a", "xor esi, esi"], ["0x100b404c", "test esi, esi"]]}, {"both": [["0x100bcb5e", "je 0x2e", "0x100b404e"]]}, {"orig": [["0x100bcb60", "mov eax, dword ptr [esi + 8]"]], "recomp": [["0x100b4050", "mov eax, dword ptr [ebx + 8]"]]}, {"both": [["0x100bcb63", "test eax, eax", "0x100b4053"], ["0x100bcb65", "je 0x10", "0x100b4055"], ["0x100bcb67", "push eax", "0x100b4057"], ["0x100bcb68", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b4058"]]}, {"orig": [["0x100bcb6d", "mov dword ptr [esi + 8], 0"]], "recomp": [["0x100b405d", "mov dword ptr [ebx + 8], 0"]]}, {"both": [["0x100bcb74", "add esp, 4", "0x100b4064"]]}, {"orig": [["0x100bcb77", "mov eax, dword ptr [esi + 0x14]"]], "recomp": [["0x100b4067", "mov eax, dword ptr [ebx + 0x14]"]]}, {"both": [["0x100bcb7a", "test eax, eax", "0x100b406a"], ["0x100bcb7c", "je 0x10", "0x100b406c"], ["0x100bcb7e", "push eax", "0x100b406e"], ["0x100bcb7f", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b406f"]]}, {"orig": [["0x100bcb84", "mov dword ptr [esi + 0x14], 0"]], "recomp": [["0x100b4074", "mov dword ptr [ebx + 0x14], 0"]]}, {"both": [["0x100bcb8b", "add esp, 4", "0x100b407b"]]}, {"orig": [["0x100bcb8e", "mov eax, ebx"]], "recomp": [["0x100b407e", "mov eax, esi"]]}, {"both": [["0x100bcb90", "pop ebp", "0x100b4080"], ["0x100bcb91", "pop edi", "0x100b4081"], ["0x100bcb92", "pop esi", "0x100b4082"], ["0x100bcb93", "pop ebx", "0x100b4083"], ["0x100bcb94", "ret 0x10", "0x100b4084"]]}]]]}, {"address": "0x100bcba0", "recomp": "0x100b4090", "name": "MxBitmap::ImportBitmapInfo", "matching": 1.0, "diff": []}, {"address": "0x100bcc40", "recomp": "0x100b4130", "name": "MxBitmap::ImportBitmap", "matching": 1.0, "diff": []}, {"address": "0x100bcd10", "recomp": "0x100b4200", "name": "MxBitmap::Read", "matching": 1.0, "diff": []}, {"address": "0x100bcd60", "recomp": "0x100b4250", "name": "MxBitmap::LoadFile", "matching": 0.968421052631579, "diff": [["@@ -0x100bcd6e,23 +0x100b425e,23 @@", [{"both": [["0x100bcd6e", "lea eax, [esp + 0x10]", "0x100b425e"], ["0x100bcd72", "push 0", "0x100b4262"], ["0x100bcd74", "lea ecx, [esp + 0x18]", "0x100b4264"], ["0x100bcd78", "push eax", "0x100b4268"], ["0x100bcd79", "mov ebx, dword ptr [esp + 0x30]", "0x100b4269"], ["0x100bcd7d", "push 0xe", "0x100b426d"], ["0x100bcd7f", "push ecx", "0x100b426f"], ["0x100bcd80", "push ebx", "0x100b4270"], ["0x100bcd81", "call dword ptr [->KERNEL32.DLL:ReadFile (FUNCTION)]", "0x100b4271"], ["0x100bcd87", "test eax, eax", "0x100b4277"]]}, {"orig": [["0x100bcd89", "je 0xa1"], ["0x100bcd8f", "mov ax, word ptr [g_bitmapSignature (DATA)]"], ["0x100bcd95", "cmp word ptr [esp + 0x14], ax"]], "recomp": [["0x100b4279", "je 0xa2"], ["0x100b427f", "mov ax, word ptr [esp + 0x14]"], ["0x100b4284", "cmp word ptr [g_bitmapSignature (DATA)], ax"]]}, {"both": [["0x100bcd9a", "jne 0x90", "0x100b428b"], ["0x100bcda0", "push 0x428", "0x100b4291"], ["0x100bcda5", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b4296"], ["0x100bcdaa", "add esp, 4", "0x100b429b"], ["0x100bcdad", "mov dword ptr [esi + 8], eax", "0x100b429e"], ["0x100bcdb0", "test eax, eax", "0x100b42a1"], ["0x100bcdb2", "je 0x7c", "0x100b42a3"], ["0x100bcdb4", "lea ecx, [esp + 0x10]", "0x100b42a5"], ["0x100bcdb8", "push 0", "0x100b42a9"], ["0x100bcdba", "push ecx", "0x100b42ab"]]}]]]}, {"address": "0x100bce70", "recomp": "0x100b4360", "name": "MxBitmap::BitBlt", "matching": 0.8554216867469879, "diff": [["@@ -0x100bce70,23 +0x100b4360,23 @@", [{"both": [["0x100bce70", "sub esp, 4", "0x100b4360"], ["0x100bce73", "push ebx", "0x100b4363"], ["0x100bce74", "push esi", "0x100b4364"]]}, {"orig": [["0x100bce75", "mov eax, dword ptr [ecx + 0xc]"]], "recomp": []}, {"both": [["0x100bce78", "push edi", "0x100b4365"], ["0x100bce79", "push ebp", "0x100b4366"]]}, {"orig": [["0x100bce7a", "mov esi, ecx"]], "recomp": [["0x100b4367", "mov eax, dword ptr [ecx + 0xc]"], ["0x100b436a", "mov edi, ecx"]]}, {"both": [["0x100bce7c", "mov ecx, dword ptr [eax + 8]", "0x100b436c"], ["0x100bce7f", "test ecx, ecx", "0x100b436f"], ["0x100bce81", "jg 0x2", "0x100b4371"], ["0x100bce83", "neg ecx", "0x100b4373"]]}, {"orig": [["0x100bce85", "mov edi, dword ptr [esp + 0x18]"], ["0x100bce89", "mov ebx, dword ptr [edi + 0xc]"]], "recomp": [["0x100b4375", "mov esi, dword ptr [esp + 0x18]"], ["0x100b4379", "mov ebx, dword ptr [esi + 0xc]"]]}, {"both": [["0x100bce8c", "mov edx, dword ptr [ebx + 8]", "0x100b437c"], ["0x100bce8f", "test edx, edx", "0x100b437f"], ["0x100bce91", "jg 0x2", "0x100b4381"], ["0x100bce93", "neg edx", "0x100b4383"], ["0x100bce95", "lea ebp, [esp + 0x30]", "0x100b4385"], ["0x100bce99", "push ebp", "0x100b4389"], ["0x100bce9a", "lea ebp, [esp + 0x30]", "0x100b438a"], ["0x100bce9e", "push ebp", "0x100b438e"], ["0x100bce9f", "lea ebp, [esp + 0x30]", "0x100b438f"], ["0x100bcea3", "push ebp", "0x100b4393"]]}]], ["@@ -0x100bceb5,119 +0x100b43a5,119 @@", [{"both": [["0x100bceb5", "push ebp", "0x100b43a5"], ["0x100bceb6", "push ecx", "0x100b43a6"], ["0x100bceb7", "push eax", "0x100b43a7"], ["0x100bceb8", "mov ecx, dword ptr [ebx + 4]", "0x100b43a8"], ["0x100bcebb", "push edx", "0x100b43ab"], ["0x100bcebc", "push ecx", "0x100b43ac"], ["0x100bcebd", "call GetRectIntersection (FUNCTION)", "0x100b43ad"], ["0x100bcec2", "add esp, 0x28", "0x100b43b2"], ["0x100bcec5", "test al, al", "0x100b43b5"], ["0x100bcec7", "je 0x142", "0x100b43b7"]]}, {"orig": [["0x100bcecd", "mov ecx, dword ptr [edi + 0xc]"]], "recomp": [["0x100b43bd", "mov ecx, dword ptr [esi + 0xc]"]]}, {"both": [["0x100bced0", "cmp dword ptr [ecx + 0x10], 0", "0x100b43c0"], ["0x100bced4", "jne 0x31", "0x100b43c4"], ["0x100bced6", "cmp dword ptr [ecx + 0x10], 0x10", "0x100b43c6"], ["0x100bceda", "je 0x7", "0x100b43ca"], ["0x100bcedc", "mov eax, dword ptr [ecx + 8]", "0x100b43cc"], ["0x100bcedf", "test eax, eax", "0x100b43cf"], ["0x100bcee1", "jge 0x6", "0x100b43d1"], ["0x100bcee3", "mov eax, dword ptr [esp + 0x20]", "0x100b43d3"], ["0x100bcee7", "jmp 0x9", "0x100b43d7"], ["0x100bcee9", "jg 0x2", "0x100b43d9"], ["0x100bceeb", "neg eax", "0x100b43db"], ["0x100bceed", "sub eax, dword ptr [esp + 0x20]", "0x100b43dd"], ["0x100bcef1", "dec eax", "0x100b43e1"], ["0x100bcef2", "mov edx, dword ptr [ecx + 4]", "0x100b43e2"], ["0x100bcef5", "add edx, 3", "0x100b43e5"], ["0x100bcef8", "and edx, 0xfffffffc", "0x100b43e8"], ["0x100bcefb", "imul edx, eax", "0x100b43eb"]]}, {"orig": [["0x100bcefe", "add edx, dword ptr [edi + 0x14]"]], "recomp": [["0x100b43ee", "add edx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100bcf01", "add edx, dword ptr [esp + 0x1c]", "0x100b43f1"], ["0x100bcf05", "jmp 0x2a", "0x100b43f5"], ["0x100bcf07", "cmp dword ptr [ecx + 0x10], 0x10", "0x100b43f7"], ["0x100bcf0b", "jne 0x5", "0x100b43fb"]]}, {"orig": [["0x100bcf0d", "mov edx, dword ptr [edi + 0x14]"]], "recomp": [["0x100b43fd", "mov edx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100bcf10", "jmp 0x1f", "0x100b4400"], ["0x100bcf12", "mov eax, dword ptr [ecx + 8]", "0x100b4402"], ["0x100bcf15", "test eax, eax", "0x100b4405"], ["0x100bcf17", "jge 0x4", "0x100b4407"], ["0x100bcf19", "xor eax, eax", "0x100b4409"], ["0x100bcf1b", "jmp 0x5", "0x100b440b"], ["0x100bcf1d", "jg 0x2", "0x100b440d"], ["0x100bcf1f", "neg eax", "0x100b440f"], ["0x100bcf21", "dec eax", "0x100b4411"], ["0x100bcf22", "mov edx, dword ptr [ecx + 4]", "0x100b4412"], ["0x100bcf25", "add edx, 3", "0x100b4415"], ["0x100bcf28", "and edx, 0xfffffffc", "0x100b4418"], ["0x100bcf2b", "imul edx, eax", "0x100b441b"]]}, {"orig": [["0x100bcf2e", "add edx, dword ptr [edi + 0x14]"], ["0x100bcf31", "mov edi, dword ptr [esi + 0xc]"], ["0x100bcf34", "mov ebp, dword ptr [edi + 0x10]"], ["0x100bcf37", "test ebp, ebp"]], "recomp": [["0x100b441e", "add edx, dword ptr [esi + 0x14]"], ["0x100b4421", "mov ebp, dword ptr [edi + 0xc]"], ["0x100b4424", "mov esi, dword ptr [ebp + 0x10]"], ["0x100b4427", "test esi, esi"]]}, {"both": [["0x100bcf39", "jne 0x30", "0x100b4429"]]}, {"orig": [["0x100bcf3b", "cmp ebp, 0x10"]], "recomp": [["0x100b442b", "cmp esi, 0x10"]]}, {"both": [["0x100bcf3e", "je 0x7", "0x100b442e"]]}, {"orig": [["0x100bcf40", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x100b4430", "mov eax, dword ptr [ebp + 8]"]]}, {"both": [["0x100bcf43", "test eax, eax", "0x100b4433"], ["0x100bcf45", "jge 0x6", "0x100b4435"], ["0x100bcf47", "mov eax, dword ptr [esp + 0x28]", "0x100b4437"], ["0x100bcf4b", "jmp 0x9", "0x100b443b"], ["0x100bcf4d", "jg 0x2", "0x100b443d"], ["0x100bcf4f", "neg eax", "0x100b443f"], ["0x100bcf51", "sub eax, dword ptr [esp + 0x28]", "0x100b4441"], ["0x100bcf55", "dec eax", "0x100b4445"]]}, {"orig": [["0x100bcf56", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x100b4446", "mov ebx, dword ptr [ebp + 4]"]]}, {"both": [["0x100bcf59", "add ebx, 3", "0x100b4449"], ["0x100bcf5c", "and ebx, 0xfffffffc", "0x100b444c"], ["0x100bcf5f", "imul ebx, eax", "0x100b444f"]]}, {"orig": [["0x100bcf62", "add ebx, dword ptr [esi + 0x14]"]], "recomp": [["0x100b4452", "add ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x100bcf65", "add ebx, dword ptr [esp + 0x24]", "0x100b4455"], ["0x100bcf69", "jmp 0x29", "0x100b4459"]]}, {"orig": [["0x100bcf6b", "cmp ebp, 0x10"]], "recomp": [["0x100b445b", "cmp esi, 0x10"]]}, {"both": [["0x100bcf6e", "jne 0x5", "0x100b445e"]]}, {"orig": [["0x100bcf70", "mov ebx, dword ptr [esi + 0x14]"]], "recomp": [["0x100b4460", "mov ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x100bcf73", "jmp 0x1f", "0x100b4463"]]}, {"orig": [["0x100bcf75", "mov eax, dword ptr [edi + 8]"]], "recomp": [["0x100b4465", "mov eax, dword ptr [ebp + 8]"]]}, {"both": [["0x100bcf78", "test eax, eax", "0x100b4468"], ["0x100bcf7a", "jge 0x4", "0x100b446a"], ["0x100bcf7c", "xor eax, eax", "0x100b446c"], ["0x100bcf7e", "jmp 0x5", "0x100b446e"], ["0x100bcf80", "jg 0x2", "0x100b4470"], ["0x100bcf82", "neg eax", "0x100b4472"], ["0x100bcf84", "dec eax", "0x100b4474"]]}, {"orig": [["0x100bcf85", "mov ebx, dword ptr [edi + 4]"]], "recomp": [["0x100b4475", "mov ebx, dword ptr [ebp + 4]"]]}, {"both": [["0x100bcf88", "add ebx, 3", "0x100b4478"], ["0x100bcf8b", "and ebx, 0xfffffffc", "0x100b447b"], ["0x100bcf8e", "imul ebx, eax", "0x100b447e"]]}, {"orig": [["0x100bcf91", "add ebx, dword ptr [esi + 0x14]"]], "recomp": [["0x100b4481", "add ebx, dword ptr [edi + 0x14]"]]}, {"both": [["0x100bcf94", "cmp dword ptr [ecx + 0x10], 0x10", "0x100b4484"], ["0x100bcf98", "je 0x6", "0x100b4488"], ["0x100bcf9a", "cmp dword ptr [ecx + 8], 0", "0x100b448a"], ["0x100bcf9e", "jge 0xb", "0x100b448e"], ["0x100bcfa0", "mov eax, dword ptr [ecx + 4]", "0x100b4490"], ["0x100bcfa3", "add eax, 3", "0x100b4493"], ["0x100bcfa6", "and eax, 0xfffffffc", "0x100b4496"], ["0x100bcfa9", "jmp 0xb", "0x100b4499"], ["0x100bcfab", "mov eax, dword ptr [ecx + 4]", "0x100b449b"], ["0x100bcfae", "add eax, 3", "0x100b449e"], ["0x100bcfb1", "and eax, 0xfffffffc", "0x100b44a1"], ["0x100bcfb4", "neg eax", "0x100b44a4"], ["0x100bcfb6", "mov dword ptr [esp + 0x10], eax", "0x100b44a6"]]}, {"orig": [["0x100bcfba", "cmp ebp, 0x10"]], "recomp": [["0x100b44aa", "cmp esi, 0x10"]]}, {"both": [["0x100bcfbd", "je 0x6", "0x100b44ad"]]}, {"orig": [["0x100bcfbf", "cmp dword ptr [edi + 8], 0"]], "recomp": [["0x100b44af", "cmp dword ptr [ebp + 8], 0"]]}, {"both": [["0x100bcfc3", "jge 0xb", "0x100b44b3"]]}, {"orig": [["0x100bcfc5", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x100b44b5", "mov ebp, dword ptr [ebp + 4]"]]}, {"both": [["0x100bcfc8", "add ebp, 3", "0x100b44b8"], ["0x100bcfcb", "and ebp, 0xfffffffc", "0x100b44bb"], ["0x100bcfce", "jmp 0xb", "0x100b44be"]]}, {"orig": [["0x100bcfd0", "mov ebp, dword ptr [edi + 4]"]], "recomp": [["0x100b44c0", "mov ebp, dword ptr [ebp + 4]"]]}, {"both": [["0x100bcfd3", "add ebp, 3", "0x100b44c3"], ["0x100bcfd6", "and ebp, 0xfffffffc", "0x100b44c6"], ["0x100bcfd9", "neg ebp", "0x100b44c9"], ["0x100bcfdb", "mov eax, dword ptr [esp + 0x30]", "0x100b44cb"], ["0x100bcfdf", "dec dword ptr [esp + 0x30]", "0x100b44cf"], ["0x100bcfe3", "test eax, eax", "0x100b44d3"], ["0x100bcfe5", "je 0x28", "0x100b44d5"], ["0x100bcfe7", "mov eax, dword ptr [esp + 0x2c]", "0x100b44d7"], ["0x100bcfeb", "mov edi, ebx", "0x100b44db"], ["0x100bcfed", "mov esi, edx", "0x100b44dd"]]}]]]}, {"address": "0x100bd020", "recomp": "0x100b4510", "name": "MxBitmap::BitBltTransparent", "matching": 0.5421686746987951, "diff": [["@@ -0x100bd020,22 +0x100b4510,22 @@", [{"both": [["0x100bd020", "push ebx", "0x100b4510"], ["0x100bd021", "push esi", "0x100b4511"]]}, {"orig": [["0x100bd022", "mov eax, dword ptr [ecx + 0xc]"]], "recomp": []}, {"both": [["0x100bd025", "push edi", "0x100b4512"], ["0x100bd026", "push ebp", "0x100b4513"]]}, {"orig": [["0x100bd027", "mov esi, ecx"]], "recomp": [["0x100b4514", "mov eax, dword ptr [ecx + 0xc]"], ["0x100b4517", "mov edi, ecx"]]}, {"both": [["0x100bd029", "mov ecx, dword ptr [eax + 8]", "0x100b4519"], ["0x100bd02c", "test ecx, ecx", "0x100b451c"], ["0x100bd02e", "jg 0x2", "0x100b451e"], ["0x100bd030", "neg ecx", "0x100b4520"]]}, {"orig": [["0x100bd032", "mov edi, dword ptr [esp + 0x14]"], ["0x100bd036", "mov ebx, dword ptr [edi + 0xc]"]], "recomp": [["0x100b4522", "mov esi, dword ptr [esp + 0x14]"], ["0x100b4526", "mov ebx, dword ptr [esi + 0xc]"]]}, {"both": [["0x100bd039", "mov edx, dword ptr [ebx + 8]", "0x100b4529"], ["0x100bd03c", "test edx, edx", "0x100b452c"], ["0x100bd03e", "jg 0x2", "0x100b452e"], ["0x100bd040", "neg edx", "0x100b4530"], ["0x100bd042", "lea ebp, [esp + 0x2c]", "0x100b4532"], ["0x100bd046", "push ebp", "0x100b4536"], ["0x100bd047", "lea ebp, [esp + 0x2c]", "0x100b4537"], ["0x100bd04b", "push ebp", "0x100b453b"], ["0x100bd04c", "lea ebp, [esp + 0x2c]", "0x100b453c"], ["0x100bd050", "push ebp", "0x100b4540"]]}]], ["@@ -0x100bd062,138 +0x100b4552,138 @@", [{"both": [["0x100bd062", "push ebp", "0x100b4552"], ["0x100bd063", "push ecx", "0x100b4553"], ["0x100bd064", "push eax", "0x100b4554"], ["0x100bd065", "mov ecx, dword ptr [ebx + 4]", "0x100b4555"], ["0x100bd068", "push edx", "0x100b4558"], ["0x100bd069", "push ecx", "0x100b4559"], ["0x100bd06a", "call GetRectIntersection (FUNCTION)", "0x100b455a"], ["0x100bd06f", "add esp, 0x28", "0x100b455f"], ["0x100bd072", "test al, al", "0x100b4562"], ["0x100bd074", "je 0x13e", "0x100b4564"]]}, {"orig": [["0x100bd07a", "mov edx, dword ptr [edi + 0xc]"], ["0x100bd07d", "cmp dword ptr [edx + 0x10], 0"]], "recomp": [["0x100b456a", "mov ecx, dword ptr [esi + 0xc]"], ["0x100b456d", "cmp dword ptr [ecx + 0x10], 0"]]}, {"both": [["0x100bd081", "jne 0x31", "0x100b4571"]]}, {"orig": [["0x100bd083", "cmp dword ptr [edx + 0x10], 0x10"]], "recomp": [["0x100b4573", "cmp dword ptr [ecx + 0x10], 0x10"]]}, {"both": [["0x100bd087", "je 0x7", "0x100b4577"]]}, {"orig": [["0x100bd089", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x100b4579", "mov eax, dword ptr [ecx + 8]"]]}, {"both": [["0x100bd08c", "test eax, eax", "0x100b457c"], ["0x100bd08e", "jge 0x6", "0x100b457e"], ["0x100bd090", "mov eax, dword ptr [esp + 0x1c]", "0x100b4580"], ["0x100bd094", "jmp 0x9", "0x100b4584"], ["0x100bd096", "jg 0x2", "0x100b4586"], ["0x100bd098", "neg eax", "0x100b4588"], ["0x100bd09a", "sub eax, dword ptr [esp + 0x1c]", "0x100b458a"], ["0x100bd09e", "dec eax", "0x100b458e"]]}, {"orig": [["0x100bd09f", "mov ecx, dword ptr [edx + 4]"], ["0x100bd0a2", "add ecx, 3"], ["0x100bd0a5", "and ecx, 0xfffffffc"], ["0x100bd0a8", "imul ecx, eax"], ["0x100bd0ab", "add ecx, dword ptr [edi + 0x14]"], ["0x100bd0ae", "add ecx, dword ptr [esp + 0x18]"]], "recomp": [["0x100b458f", "mov edx, dword ptr [ecx + 4]"], ["0x100b4592", "add edx, 3"], ["0x100b4595", "and edx, 0xfffffffc"], ["0x100b4598", "imul edx, eax"], ["0x100b459b", "add edx, dword ptr [esi + 0x14]"], ["0x100b459e", "add edx, dword ptr [esp + 0x18]"]]}, {"both": [["0x100bd0b2", "jmp 0x2a", "0x100b45a2"]]}, {"orig": [["0x100bd0b4", "cmp dword ptr [edx + 0x10], 0x10"]], "recomp": [["0x100b45a4", "cmp dword ptr [ecx + 0x10], 0x10"]]}, {"both": [["0x100bd0b8", "jne 0x5", "0x100b45a8"]]}, {"orig": [["0x100bd0ba", "mov ecx, dword ptr [edi + 0x14]"]], "recomp": [["0x100b45aa", "mov edx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100bd0bd", "jmp 0x1f", "0x100b45ad"]]}, {"orig": [["0x100bd0bf", "mov eax, dword ptr [edx + 8]"]], "recomp": [["0x100b45af", "mov eax, dword ptr [ecx + 8]"]]}, {"both": [["0x100bd0c2", "test eax, eax", "0x100b45b2"], ["0x100bd0c4", "jge 0x4", "0x100b45b4"], ["0x100bd0c6", "xor eax, eax", "0x100b45b6"], ["0x100bd0c8", "jmp 0x5", "0x100b45b8"], ["0x100bd0ca", "jg 0x2", "0x100b45ba"], ["0x100bd0cc", "neg eax", "0x100b45bc"], ["0x100bd0ce", "dec eax", "0x100b45be"]]}, {"orig": [["0x100bd0cf", "mov ecx, dword ptr [edx + 4]"], ["0x100bd0d2", "add ecx, 3"], ["0x100bd0d5", "and ecx, 0xfffffffc"], ["0x100bd0d8", "imul ecx, eax"], ["0x100bd0db", "add ecx, dword ptr [edi + 0x14]"], ["0x100bd0de", "mov ebp, dword ptr [esi + 0xc]"], ["0x100bd0e1", "mov eax, dword ptr [ebp + 0x10]"]], "recomp": [["0x100b45bf", "mov edx, dword ptr [ecx + 4]"], ["0x100b45c2", "add edx, 3"], ["0x100b45c5", "and edx, 0xfffffffc"], ["0x100b45c8", "imul edx, eax"], ["0x100b45cb", "add edx, dword ptr [esi + 0x14]"], ["0x100b45ce", "mov ebx, dword ptr [edi + 0xc]"], ["0x100b45d1", "mov eax, dword ptr [ebx + 0x10]"]]}, {"both": [["0x100bd0e4", "test eax, eax", "0x100b45d4"], ["0x100bd0e6", "jne 0x30", "0x100b45d6"], ["0x100bd0e8", "cmp eax, 0x10", "0x100b45d8"], ["0x100bd0eb", "je 0x7", "0x100b45db"]]}, {"orig": [["0x100bd0ed", "mov ebx, dword ptr [ebp + 8]"], ["0x100bd0f0", "test ebx, ebx"]], "recomp": [["0x100b45dd", "mov ebp, dword ptr [ebx + 8]"], ["0x100b45e0", "test ebp, ebp"]]}, {"both": [["0x100bd0f2", "jge 0x6", "0x100b45e2"]]}, {"orig": [["0x100bd0f4", "mov ebx, dword ptr [esp + 0x24]"]], "recomp": [["0x100b45e4", "mov ebp, dword ptr [esp + 0x24]"]]}, {"both": [["0x100bd0f8", "jmp 0x9", "0x100b45e8"], ["0x100bd0fa", "jg 0x2", "0x100b45ea"]]}, {"orig": [["0x100bd0fc", "neg ebx"], ["0x100bd0fe", "sub ebx, dword ptr [esp + 0x24]"], ["0x100bd102", "dec ebx"], ["0x100bd103", "mov edi, dword ptr [ebp + 4]"], ["0x100bd106", "add edi, 3"], ["0x100bd109", "and edi, 0xfffffffc"], ["0x100bd10c", "imul edi, ebx"], ["0x100bd10f", "add edi, dword ptr [esi + 0x14]"], ["0x100bd112", "add edi, dword ptr [esp + 0x20]"]], "recomp": [["0x100b45ec", "neg ebp"], ["0x100b45ee", "sub ebp, dword ptr [esp + 0x24]"], ["0x100b45f2", "dec ebp"], ["0x100b45f3", "mov esi, dword ptr [ebx + 4]"], ["0x100b45f6", "add esi, 3"], ["0x100b45f9", "and esi, 0xfffffffc"], ["0x100b45fc", "imul esi, ebp"], ["0x100b45ff", "add esi, dword ptr [edi + 0x14]"], ["0x100b4602", "add esi, dword ptr [esp + 0x20]"]]}, {"both": [["0x100bd116", "jmp 0x29", "0x100b4606"], ["0x100bd118", "cmp eax, 0x10", "0x100b4608"], ["0x100bd11b", "jne 0x5", "0x100b460b"]]}, {"orig": [["0x100bd11d", "mov edi, dword ptr [esi + 0x14]"]], "recomp": [["0x100b460d", "mov esi, dword ptr [edi + 0x14]"]]}, {"both": [["0x100bd120", "jmp 0x1f", "0x100b4610"]]}, {"orig": [["0x100bd122", "mov ebx, dword ptr [ebp + 8]"], ["0x100bd125", "test ebx, ebx"]], "recomp": [["0x100b4612", "mov ebp, dword ptr [ebx + 8]"], ["0x100b4615", "test ebp, ebp"]]}, {"both": [["0x100bd127", "jge 0x4", "0x100b4617"]]}, {"orig": [["0x100bd129", "xor ebx, ebx"]], "recomp": [["0x100b4619", "xor ebp, ebp"]]}, {"both": [["0x100bd12b", "jmp 0x5", "0x100b461b"], ["0x100bd12d", "jg 0x2", "0x100b461d"]]}, {"orig": [["0x100bd12f", "neg ebx"], ["0x100bd131", "dec ebx"], ["0x100bd132", "mov edi, dword ptr [ebp + 4]"]], "recomp": [["0x100b461f", "neg ebp"], ["0x100b4621", "dec ebp"], ["0x100b4622", "mov esi, dword ptr [ebx + 4]"], ["0x100b4625", "add esi, 3"], ["0x100b4628", "and esi, 0xfffffffc"], ["0x100b462b", "imul esi, ebp"], ["0x100b462e", "add esi, dword ptr [edi + 0x14]"], ["0x100b4631", "cmp dword ptr [ecx + 0x10], 0x10"], ["0x100b4635", "je 0x6"], ["0x100b4637", "cmp dword ptr [ecx + 8], 0"], ["0x100b463b", "jge 0xb"], ["0x100b463d", "mov edi, dword ptr [ecx + 4]"]]}, {"both": [["0x100bd135", "add edi, 3", "0x100b4640"], ["0x100bd138", "and edi, 0xfffffffc", "0x100b4643"]]}, {"orig": [["0x100bd13b", "imul edi, ebx"], ["0x100bd13e", "add edi, dword ptr [esi + 0x14]"], ["0x100bd141", "cmp dword ptr [edx + 0x10], 0x10"], ["0x100bd145", "je 0x6"], ["0x100bd147", "cmp dword ptr [edx + 8], 0"], ["0x100bd14b", "jge 0xb"], ["0x100bd14d", "mov ebx, dword ptr [edx + 4]"], ["0x100bd150", "add ebx, 3"], ["0x100bd153", "and ebx, 0xfffffffc"]], "recomp": []}, {"both": [["0x100bd156", "jmp 0xb", "0x100b4646"]]}, {"orig": [["0x100bd158", "mov ebx, dword ptr [edx + 4]"], ["0x100bd15b", "add ebx, 3"], ["0x100bd15e", "and ebx, 0xfffffffc"], ["0x100bd161", "neg ebx"], ["0x100bd163", "sub ebx, dword ptr [esp + 0x28]"]], "recomp": [["0x100b4648", "mov edi, dword ptr [ecx + 4]"], ["0x100b464b", "add edi, 3"], ["0x100b464e", "and edi, 0xfffffffc"], ["0x100b4651", "neg edi"], ["0x100b4653", "sub edi, dword ptr [esp + 0x28]"]]}, {"both": [["0x100bd167", "cmp eax, 0x10", "0x100b4657"], ["0x100bd16a", "je 0x6", "0x100b465a"]]}, {"orig": [["0x100bd16c", "cmp dword ptr [ebp + 8], 0"]], "recomp": [["0x100b465c", "cmp dword ptr [ebx + 8], 0"]]}, {"both": [["0x100bd170", "jge 0xb", "0x100b4660"]]}, {"orig": [["0x100bd172", "mov eax, dword ptr [ebp + 4]"]], "recomp": [["0x100b4662", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x100bd175", "add eax, 3", "0x100b4665"], ["0x100bd178", "and eax, 0xfffffffc", "0x100b4668"], ["0x100bd17b", "jmp 0xb", "0x100b466b"]]}, {"orig": [["0x100bd17d", "mov eax, dword ptr [ebp + 4]"]], "recomp": [["0x100b466d", "mov eax, dword ptr [ebx + 4]"]]}, {"both": [["0x100bd180", "add eax, 3", "0x100b4670"], ["0x100bd183", "and eax, 0xfffffffc", "0x100b4673"], ["0x100bd186", "neg eax", "0x100b4676"], ["0x100bd188", "sub eax, dword ptr [esp + 0x28]", "0x100b4678"]]}, {"orig": [], "recomp": [["0x100b467c", "xor ecx, ecx"], ["0x100b467e", "cmp dword ptr [esp + 0x2c], ecx"], ["0x100b4682", "jle 0x24"]]}, {"both": [["0x100bd18c", "xor ebp, ebp", "0x100b4684"]]}, {"orig": [["0x100bd18e", "cmp dword ptr [esp + 0x2c], ebp"], ["0x100bd192", "jle 0x24"], ["0x100bd194", "xor esi, esi"], ["0x100bd196", "cmp dword ptr [esp + 0x28], esi"]], "recomp": [["0x100b4686", "cmp dword ptr [esp + 0x28], ebp"]]}, {"both": [["0x100bd19a", "jle 0x11", "0x100b468a"]]}, {"orig": [["0x100bd19c", "mov dl, byte ptr [ecx]"], ["0x100bd19e", "test dl, dl"]], "recomp": [["0x100b468c", "mov bl, byte ptr [edx]"], ["0x100b468e", "test bl, bl"]]}, {"both": [["0x100bd1a0", "je 0x2", "0x100b4690"]]}, {"orig": [["0x100bd1a2", "mov byte ptr [edi], dl"]], "recomp": [["0x100b4692", "mov byte ptr [esi], bl"], ["0x100b4694", "inc edx"], ["0x100b4695", "inc esi"], ["0x100b4696", "inc ebp"], ["0x100b4697", "cmp dword ptr [esp + 0x28], ebp"], ["0x100b469b", "jg -0x11"], ["0x100b469d", "add edx, edi"], ["0x100b469f", "add esi, eax"]]}, {"both": [["0x100bd1a4", "inc ecx", "0x100b46a1"]]}, {"orig": [["0x100bd1a5", "inc edi"], ["0x100bd1a6", "inc esi"], ["0x100bd1a7", "cmp dword ptr [esp + 0x28], esi"], ["0x100bd1ab", "jg -0x11"], ["0x100bd1ad", "add ecx, ebx"], ["0x100bd1af", "add edi, eax"], ["0x100bd1b1", "inc ebp"], ["0x100bd1b2", "cmp dword ptr [esp + 0x2c], ebp"], ["0x100bd1b6", "jg -0x24"]], "recomp": [["0x100b46a2", "cmp ecx, dword ptr [esp + 0x2c]"], ["0x100b46a6", "jl -0x24"]]}, {"both": [["0x100bd1b8", "pop ebp", "0x100b46a8"], ["0x100bd1b9", "pop edi", "0x100b46a9"], ["0x100bd1ba", "pop esi", "0x100b46aa"], ["0x100bd1bb", "pop ebx", "0x100b46ab"], ["0x100bd1bc", "ret 0x1c", "0x100b46ac"]]}]]]}, {"address": "0x100bd1c0", "recomp": "0x100b46b0", "name": "MxBitmap::CreatePalette", "matching": 1.0, "diff": []}, {"address": "0x100bd280", "recomp": "0x100b4770", "name": "MxBitmap::ImportPalette", "matching": 1.0, "diff": []}, {"address": "0x100bd2d0", "recomp": "0x100b47c0", "name": "MxBitmap::SetBitDepth", "matching": 0.9, "diff": [["@@ -0x100bd33d,45 +0x100b482d,45 @@", [{"both": [["0x100bd33d", "push ecx", "0x100b482d"], ["0x100bd33e", "mov ecx, esi", "0x100b482e"], ["0x100bd340", "call MxBitmap::ImportColorsToPalette (FUNCTION)", "0x100b4830"], ["0x100bd345", "mov ecx, dword ptr [esi + 0x1c]", "0x100b4835"], ["0x100bd348", "test ecx, ecx", "0x100b4838"], ["0x100bd34a", "je 0x6", "0x100b483a"], ["0x100bd34c", "push 1", "0x100b483c"], ["0x100bd34e", "mov eax, dword ptr [ecx]", "0x100b483e"], ["0x100bd350", "call dword ptr [eax]", "0x100b4840"], ["0x100bd352", "mov dword ptr [esi + 0x1c], 0", "0x100b4842"]]}, {"orig": [["0x100bd359", "jmp 0x55"]], "recomp": [["0x100b4849", "jmp 0x56"]]}, {"both": [["0x100bd35b", "push 0x414", "0x100b484b"], ["0x100bd360", "mov edi, 0", "0x100b4850"], ["0x100bd365", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b4855"], ["0x100bd36a", "add esp, 4", "0x100b485a"], ["0x100bd36d", "mov dword ptr [ebp - 0x10], eax", "0x100b485d"], ["0x100bd370", "mov dword ptr [ebp - 4], 0", "0x100b4860"], ["0x100bd377", "test eax, eax", "0x100b4867"], ["0x100bd379", "je 0xe", "0x100b4869"], ["0x100bd37b", "mov eax, dword ptr [esi + 0x10]", "0x100b486b"], ["0x100bd37e", "mov ecx, dword ptr [ebp - 0x10]", "0x100b486e"], ["0x100bd381", "push eax", "0x100b4871"], ["0x100bd382", "call MxPalette::MxPalette (FUNCTION)", "0x100b4872"], ["0x100bd387", "mov edi, eax", "0x100b4877"], ["0x100bd389", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b4879"], ["0x100bd390", "test edi, edi", "0x100b4880"], ["0x100bd392", "je -0x97", "0x100b4882"]]}, {"orig": [["0x100bd398", "xor ax, ax"], ["0x100bd39b", "mov ecx, dword ptr [esi + 0x10]"]], "recomp": [["0x100b4888", "xor cx, cx"], ["0x100b488b", "mov eax, dword ptr [esi + 0x10]"]]}, {"both": [["0x100bd39e", "mov dword ptr [esi + 0x1c], edi", "0x100b488e"]]}, {"orig": [["0x100bd3a1", "movzx edx, ax"], ["0x100bd3a4", "mov word ptr [ecx + edx*2], ax"], ["0x100bd3a8", "inc ax"], ["0x100bd3aa", "cmp ax, 0x100"], ["0x100bd3ae", "jb -0xf"]], "recomp": [["0x100b4891", "movzx edx, cx"], ["0x100b4894", "mov word ptr [eax + edx*2], cx"], ["0x100b4898", "inc cx"], ["0x100b489a", "cmp cx, 0x100"], ["0x100b489f", "jb -0x10"]]}, {"both": [["0x100bd3b0", "mov al, byte ptr [ebp + 8]", "0x100b48a1"], ["0x100bd3b3", "mov byte ptr [esi + 0x18], al", "0x100b48a4"]]}, {"orig": [["0x100bd3b6", "jmp -0xbc"]], "recomp": [["0x100b48a7", "jmp -0xbd"]]}, {"both": [["0x100bd3bb", "mov eax, <OFFSET5>", "0x100b48ac"], ["0x100bd3c0", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b48b1"], ["0x100bd3c5", "mov eax, dword ptr [ebp - 0x10]", "0x100b48b6"], ["0x100bd3c8", "push eax", "0x100b48b9"], ["0x100bd3c9", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b48ba"], ["0x100bd3ce", "add esp, 4", "0x100b48bf"], ["0x100bd3d1", "ret ", "0x100b48c2"]]}]]]}, {"address": "0x100bd3e0", "recomp": "0x100b48d0", "name": "MxBitmap::StretchBits", "matching": 0.9743589743589743, "diff": [["@@ -0x100bd3e0,20 +0x100b48d0,20 @@", [{"both": [["0x100bd3e0", "push esi", "0x100b48d0"], ["0x100bd3e1", "mov eax, dword ptr [ecx + 0xc]", "0x100b48d1"], ["0x100bd3e4", "cmp dword ptr [eax + 0x10], 0x10", "0x100b48d4"], ["0x100bd3e8", "je 0x15", "0x100b48d8"], ["0x100bd3ea", "mov eax, dword ptr [eax + 8]", "0x100b48da"], ["0x100bd3ed", "test eax, eax", "0x100b48dd"], ["0x100bd3ef", "jle 0xe", "0x100b48df"]]}, {"orig": [], "recomp": [["0x100b48e1", "sub eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x100bd3f1", "mov edx, dword ptr [esp + 0x20]", "0x100b48e5"], ["0x100bd3f5", "sub eax, edx", "0x100b48e9"]]}, {"orig": [["0x100bd3f7", "sub eax, dword ptr [esp + 0x10]"]], "recomp": []}, {"both": [["0x100bd3fb", "mov esi, eax", "0x100b48eb"], ["0x100bd3fd", "jmp 0x8", "0x100b48ed"], ["0x100bd3ff", "mov esi, dword ptr [esp + 0x10]", "0x100b48ef"], ["0x100bd403", "mov edx, dword ptr [esp + 0x20]", "0x100b48f3"], ["0x100bd407", "push 0xcc0020", "0x100b48f7"], ["0x100bd40c", "xor eax, eax", "0x100b48fc"], ["0x100bd40e", "mov al, byte ptr [ecx + 0x18]", "0x100b48fe"], ["0x100bd411", "push eax", "0x100b4901"], ["0x100bd412", "mov eax, dword ptr [ecx + 8]", "0x100b4902"], ["0x100bd415", "push eax", "0x100b4905"]]}]]]}, {"address": "0x100bd450", "recomp": "0x100b4940", "name": "MxBitmap::ImportColorsToPalette", "matching": 1.0, "diff": []}, {"address": "0x100bd530", "recomp": "0x100a8dc0", "name": "WritePixel", "matching": 1.0, "diff": []}, {"address": "0x100bd580", "recomp": "0x100a8e10", "name": "WritePixels", "matching": 1.0, "diff": []}, {"address": "0x100bd600", "recomp": "0x100a8e90", "name": "ClampLine", "matching": 1.0, "diff": []}, {"address": "0x100bd680", "recomp": "0x100a8f10", "name": "WritePixelRun", "matching": 1.0, "diff": []}, {"address": "0x100bd6e0", "recomp": "0x100a8f70", "name": "WritePixelPairs", "matching": 0.4594594594594595, "diff": [["@@ -0x100bd6e0,36 +0x100a8f70,38 @@", [{"both": [["0x100bd6e0", "lea eax, [esp + 0x18]", "0x100a8f70"]]}, {"orig": [["0x100bd6e4", "push ebx"]], "recomp": [["0x100a8f74", "push esi"]]}, {"both": [["0x100bd6e5", "lea ecx, [esp + 0x14]", "0x100a8f75"]]}, {"orig": [["0x100bd6e9", "push esi"]], "recomp": [["0x100a8f79", "push eax"]]}, {"both": [["0x100bd6ea", "lea edx, [esp + 0x14]", "0x100a8f7a"]]}, {"orig": [["0x100bd6ee", "push eax"]], "recomp": [["0x100a8f7e", "push ecx"]]}, {"both": [["0x100bd6ef", "mov esi, dword ptr [esp + 0x10]", "0x100a8f7f"]]}, {"orig": [["0x100bd6f3", "push ecx"]], "recomp": [["0x100a8f83", "push edx"]]}, {"both": [["0x100bd6f4", "shl word ptr [esp + 0x28], 1", "0x100a8f84"]]}, {"orig": [["0x100bd6fa", "push edx"]], "recomp": []}, {"both": [["0x100bd6fb", "push esi", "0x100a8f8a"], ["0x100bd6fc", "call ClampLine (FUNCTION)", "0x100a8f8b"], ["0x100bd701", "add esp, 0x10", "0x100a8f90"], ["0x100bd704", "test eax, eax", "0x100a8f93"]]}, {"orig": [["0x100bd706", "je 0x52"], ["0x100bd708", "mov dx, word ptr [esp + 0x20]"]], "recomp": [["0x100a8f95", "je 0x4d"], ["0x100a8f97", "mov dx, word ptr [esp + 0x1c]"]]}, {"both": [["0x100bd70d", "mov ecx, dword ptr [esi + 4]", "0x100a8f9c"], ["0x100bd710", "and dx, 1", "0x100a8f9f"], ["0x100bd714", "add ecx, 3", "0x100a8fa3"]]}, {"orig": [["0x100bd717", "movsx eax, word ptr [esp + 0x18]"], ["0x100bd71c", "movsx ebx, word ptr [esp + 0x14]"]], "recomp": [["0x100a8fa6", "movsx eax, word ptr [esp + 0x14]"], ["0x100a8fab", "movsx esi, word ptr [esp + 0x10]"]]}, {"both": [["0x100bd721", "and ecx, 0xfffffffc", "0x100a8fb0"]]}, {"orig": [["0x100bd724", "sar word ptr [esp + 0x20], 1"]], "recomp": [["0x100a8fb3", "sar word ptr [esp + 0x1c], 1"]]}, {"both": [["0x100bd72a", "imul ecx, eax", "0x100a8fb9"]]}, {"orig": [["0x100bd72d", "add ecx, ebx"], ["0x100bd72f", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x100a8fbc", "add ecx, esi"], ["0x100a8fbe", "mov eax, dword ptr [esp + 0xc]"]]}, {"both": [["0x100bd733", "add eax, ecx", "0x100a8fc2"]]}, {"orig": [["0x100bd735", "mov bl, byte ptr [esp + 0x1c]"], ["0x100bd739", "dec word ptr [esp + 0x20]"], ["0x100bd73e", "js 0x13"], ["0x100bd740", "mov cx, word ptr [esp + 0x1c]"]], "recomp": [["0x100a8fc4", "mov cx, word ptr [esp + 0x18]"], ["0x100a8fc9", "dec word ptr [esp + 0x1c]"], ["0x100a8fce", "js 0xd"], ["0x100a8fd0", "mov word ptr [eax], cx"]]}, {"both": [["0x100bd745", "add eax, 2", "0x100a8fd3"]]}, {"orig": [["0x100bd748", "mov word ptr [eax - 2], cx"], ["0x100bd74c", "dec word ptr [esp + 0x20]"], ["0x100bd751", "jns -0x13"]], "recomp": [["0x100a8fd6", "dec word ptr [esp + 0x1c]"], ["0x100a8fdb", "jns -0xd"]]}, {"both": [["0x100bd753", "test dx, dx", "0x100a8fdd"]]}, {"orig": [], "recomp": [["0x100a8fe0", "je 0x2"], ["0x100a8fe2", "mov byte ptr [eax], cl"], ["0x100a8fe4", "pop esi"], ["0x100a8fe5", "ret "]]}]]]}, {"address": "0x100bd760", "recomp": "0x100a8ff0", "name": "DecodeChunks", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bd773,77 +0x100a9003,77 @@", [{"both": [["0x100bd773", "push esi", "0x100a9003"], ["0x100bd774", "mov byte ptr [eax], 0", "0x100a9004"], ["0x100bd777", "cmp word ptr [ecx + 6], 0", "0x100a9007"], ["0x100bd77c", "push edi", "0x100a900c"], ["0x100bd77d", "push ebp", "0x100a900d"], ["0x100bd77e", "jle 0xc1", "0x100a900e"], ["0x100bd784", "mov esi, dword ptr [esp + 0x18]", "0x100a9014"], ["0x100bd788", "mov edi, dword ptr [esp + 0x1c]", "0x100a9018"], ["0x100bd78c", "mov ebx, dword ptr [esp + 0x20]", "0x100a901c"], ["0x100bd790", "mov ebp, dword ptr [esp + 0x28]", "0x100a9020"]]}, {"orig": [["0x100bd794", "mov ecx, ebp"], ["0x100bd796", "xor edx, edx"], ["0x100bd798", "mov dx, word ptr [ecx + 4]"]], "recomp": [["0x100a9024", "mov edx, ebp"], ["0x100a9026", "xor ecx, ecx"], ["0x100a9028", "mov cx, word ptr [edx + 4]"]]}, {"both": [["0x100bd79c", "add ebp, dword ptr [ebp]", "0x100a902c"]]}, {"orig": [["0x100bd79f", "sub edx, 4"], ["0x100bd7a2", "cmp edx, 0xc"]], "recomp": [["0x100a902f", "sub ecx, 4"], ["0x100a9032", "cmp ecx, 0xc"]]}, {"both": [["0x100bd7a5", "ja 0x82", "0x100a9035"], ["0x100bd7ab", "xor eax, eax", "0x100a903b"]]}, {"orig": [["0x100bd7ad", "mov al, byte ptr [edx + <OFFSET1>]"]], "recomp": [["0x100a903d", "mov al, byte ptr [ecx + <OFFSET1>]"]]}, {"both": [["0x100bd7b3", "jmp dword ptr [eax*4 + <OFFSET2>]", "0x100a9043"]]}, {"orig": [["0x100bd7ba", "add ecx, 6"], ["0x100bd7bd", "push ecx"]], "recomp": [["0x100a904a", "add edx, 6"], ["0x100a904d", "push edx"]]}, {"both": [["0x100bd7be", "push esi", "0x100a904e"], ["0x100bd7bf", "call DecodeColors256 (FUNCTION)", "0x100a904f"], ["0x100bd7c4", "mov eax, dword ptr [esp + 0x34]", "0x100a9054"], ["0x100bd7c8", "add esp, 8", "0x100a9058"], ["0x100bd7cb", "mov byte ptr [eax], 1", "0x100a905b"], ["0x100bd7ce", "jmp 0x5d", "0x100a905e"], ["0x100bd7d0", "push ebx", "0x100a9060"]]}, {"orig": [["0x100bd7d1", "add ecx, 6"], ["0x100bd7d4", "push ecx"]], "recomp": [["0x100a9061", "add edx, 6"], ["0x100a9064", "push edx"]]}, {"both": [["0x100bd7d5", "push edi", "0x100a9065"], ["0x100bd7d6", "push esi", "0x100a9066"], ["0x100bd7d7", "call DecodeSS2 (FUNCTION)", "0x100a9067"], ["0x100bd7dc", "jmp 0x4c", "0x100a906c"]]}, {"orig": [["0x100bd7de", "add ecx, 6"], ["0x100bd7e1", "push ecx"]], "recomp": [["0x100a906e", "add edx, 6"], ["0x100a9071", "push edx"]]}, {"both": [["0x100bd7e2", "push esi", "0x100a9072"], ["0x100bd7e3", "call DecodeColors64 (FUNCTION)", "0x100a9073"], ["0x100bd7e8", "mov eax, dword ptr [esp + 0x34]", "0x100a9078"], ["0x100bd7ec", "add esp, 8", "0x100a907c"], ["0x100bd7ef", "mov byte ptr [eax], 1", "0x100a907f"], ["0x100bd7f2", "jmp 0x39", "0x100a9082"], ["0x100bd7f4", "push ebx", "0x100a9084"]]}, {"orig": [["0x100bd7f5", "add ecx, 6"], ["0x100bd7f8", "push ecx"]], "recomp": [["0x100a9085", "add edx, 6"], ["0x100a9088", "push edx"]]}, {"both": [["0x100bd7f9", "push edi", "0x100a9089"], ["0x100bd7fa", "push esi", "0x100a908a"], ["0x100bd7fb", "call DecodeLC (FUNCTION)", "0x100a908b"], ["0x100bd800", "jmp 0x28", "0x100a9090"], ["0x100bd802", "push ebx", "0x100a9092"]]}, {"orig": [["0x100bd803", "add ecx, 6"], ["0x100bd806", "push ecx"]], "recomp": [["0x100a9093", "add edx, 6"], ["0x100a9096", "push edx"]]}, {"both": [["0x100bd807", "push edi", "0x100a9097"], ["0x100bd808", "push esi", "0x100a9098"], ["0x100bd809", "call DecodeBlack (FUNCTION)", "0x100a9099"], ["0x100bd80e", "jmp 0x1a", "0x100a909e"], ["0x100bd810", "push ebx", "0x100a90a0"]]}, {"orig": [["0x100bd811", "add ecx, 6"], ["0x100bd814", "push ecx"]], "recomp": [["0x100a90a1", "add edx, 6"], ["0x100a90a4", "push edx"]]}, {"both": [["0x100bd815", "push edi", "0x100a90a5"], ["0x100bd816", "push esi", "0x100a90a6"], ["0x100bd817", "call DecodeBrun (FUNCTION)", "0x100a90a7"], ["0x100bd81c", "jmp 0xc", "0x100a90ac"], ["0x100bd81e", "push ebx", "0x100a90ae"]]}, {"orig": [["0x100bd81f", "add ecx, 6"], ["0x100bd822", "push ecx"]], "recomp": [["0x100a90af", "add edx, 6"], ["0x100a90b2", "push edx"]]}, {"both": [["0x100bd823", "push edi", "0x100a90b3"], ["0x100bd824", "push esi", "0x100a90b4"], ["0x100bd825", "call DecodeCopy (FUNCTION)", "0x100a90b5"], ["0x100bd82a", "add esp, 0x10", "0x100a90ba"], ["0x100bd82d", "inc word ptr [esp + 0x12]", "0x100a90bd"], ["0x100bd832", "mov eax, dword ptr [esp + 0x24]", "0x100a90c2"], ["0x100bd836", "mov cx, word ptr [esp + 0x12]", "0x100a90c6"], ["0x100bd83b", "cmp word ptr [eax + 6], cx", "0x100a90cb"], ["0x100bd83f", "jg -0xb1", "0x100a90cf"], ["0x100bd845", "xor ax, ax", "0x100a90d5"]]}]]]}, {"address": "0x100bd880", "recomp": "0x100a9110", "name": "DecodeColors256", "matching": 1.0, "diff": []}, {"address": "0x100bd8a0", "recomp": "0x100a9130", "name": "DecodeColorPackets", "matching": 1.0, "diff": []}, {"address": "0x100bd8f0", "recomp": "0x100a9180", "name": "DecodeColorPacket", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bd8f5,25 +0x100a9185,25 @@", [{"both": [["0x100bd8f5", "push esi", "0x100a9185"], ["0x100bd8f6", "movsx ecx, word ptr [esp + 0x10]", "0x100a9186"], ["0x100bd8fb", "shl ecx, 2", "0x100a918b"], ["0x100bd8fe", "mov eax, dword ptr [esp + 8]", "0x100a918e"], ["0x100bd902", "add ecx, dword ptr [eax]", "0x100a9192"], ["0x100bd904", "lea esi, [ecx + eax]", "0x100a9194"], ["0x100bd907", "mov ax, dx", "0x100a9197"], ["0x100bd90a", "dec dx", "0x100a919a"], ["0x100bd90c", "test ax, ax", "0x100a919c"], ["0x100bd90f", "je 0x25", "0x100a919f"]]}, {"orig": [["0x100bd911", "mov eax, dword ptr [esp + 0xc]"], ["0x100bd915", "mov cl, byte ptr [eax]"]], "recomp": [["0x100a91a1", "mov ecx, dword ptr [esp + 0xc]"], ["0x100a91a5", "mov al, byte ptr [ecx]"]]}, {"both": [["0x100bd917", "add esi, 4", "0x100a91a7"]]}, {"orig": [["0x100bd91a", "add eax, 3"], ["0x100bd91d", "mov byte ptr [esi - 2], cl"], ["0x100bd920", "mov cl, byte ptr [eax - 2]"], ["0x100bd923", "mov byte ptr [esi - 3], cl"], ["0x100bd926", "mov cl, byte ptr [eax - 1]"], ["0x100bd929", "mov byte ptr [esi - 4], cl"], ["0x100bd92c", "mov cx, dx"]], "recomp": [["0x100a91aa", "add ecx, 3"], ["0x100a91ad", "mov byte ptr [esi - 2], al"], ["0x100a91b0", "mov al, byte ptr [ecx - 2]"], ["0x100a91b3", "mov byte ptr [esi - 3], al"], ["0x100a91b6", "mov al, byte ptr [ecx - 1]"], ["0x100a91b9", "mov byte ptr [esi - 4], al"], ["0x100a91bc", "mov ax, dx"]]}, {"both": [["0x100bd92f", "dec dx", "0x100a91bf"]]}, {"orig": [["0x100bd931", "test cx, cx"]], "recomp": [["0x100a91c1", "test ax, ax"]]}, {"both": [["0x100bd934", "jne -0x21", "0x100a91c4"], ["0x100bd936", "pop esi", "0x100a91c6"], ["0x100bd937", "ret ", "0x100a91c7"]]}]]]}, {"address": "0x100bd940", "recomp": "0x100a91d0", "name": "DecodeColors64", "matching": 1.0, "diff": []}, {"address": "0x100bd960", "recomp": "0x100a91f0", "name": "DecodeBrun", "matching": 1.0, "diff": []}, {"address": "0x100bda10", "recomp": "0x100a92a0", "name": "DecodeLC", "matching": 0.8611111111111112, "diff": [["@@ -0x100bda21,64 +0x100a92b1,64 @@", [{"both": [["0x100bda21", "sub ax, word ptr [ecx]", "0x100a92b1"], ["0x100bda24", "push edi", "0x100a92b4"], ["0x100bda25", "dec ax", "0x100a92b5"], ["0x100bda27", "push ebp", "0x100a92b7"], ["0x100bda28", "mov word ptr [esp + 0x12], ax", "0x100a92b8"], ["0x100bda2d", "lea esi, [ecx + 4]", "0x100a92bd"], ["0x100bda30", "mov ax, word ptr [ecx + 2]", "0x100a92c0"], ["0x100bda34", "dec ax", "0x100a92c4"], ["0x100bda36", "mov word ptr [esp + 0x10], ax", "0x100a92c6"], ["0x100bda3b", "js 0x78", "0x100a92cb"]]}, {"orig": [["0x100bda3d", "xor di, di"]], "recomp": [["0x100a92cd", "xor bp, bp"]]}, {"both": [["0x100bda40", "mov bl, byte ptr [esi]", "0x100a92d0"], ["0x100bda42", "inc esi", "0x100a92d2"], ["0x100bda43", "test bl, bl", "0x100a92d3"], ["0x100bda45", "je 0x62", "0x100a92d5"], ["0x100bda47", "movzx ax, byte ptr [esi]", "0x100a92d7"]]}, {"orig": [["0x100bda4b", "add di, ax"]], "recomp": [["0x100a92db", "add bp, ax"]]}, {"both": [["0x100bda4e", "inc esi", "0x100a92de"], ["0x100bda4f", "mov al, byte ptr [esi]", "0x100a92df"], ["0x100bda51", "inc esi", "0x100a92e1"], ["0x100bda52", "test al, al", "0x100a92e2"], ["0x100bda54", "jge 0x27", "0x100a92e4"], ["0x100bda56", "mov ecx, esi", "0x100a92e6"], ["0x100bda58", "mov edx, dword ptr [esp + 0x1c]", "0x100a92e8"], ["0x100bda5c", "neg al", "0x100a92ec"]]}, {"orig": [["0x100bda5e", "movsx bp, al"]], "recomp": [["0x100a92ee", "movsx di, al"]]}, {"both": [["0x100bda62", "inc esi", "0x100a92f2"]]}, {"orig": [["0x100bda63", "push ebp"]], "recomp": [["0x100a92f3", "push edi"]]}, {"both": [["0x100bda64", "mov al, byte ptr [ecx]", "0x100a92f4"], ["0x100bda66", "mov ecx, dword ptr [esp + 0x16]", "0x100a92f6"], ["0x100bda6a", "push eax", "0x100a92fa"], ["0x100bda6b", "push ecx", "0x100a92fb"], ["0x100bda6c", "mov eax, dword ptr [esp + 0x24]", "0x100a92fc"]]}, {"orig": [["0x100bda70", "push edi"]], "recomp": [["0x100a9300", "push ebp"]]}, {"both": [["0x100bda71", "push edx", "0x100a9301"], ["0x100bda72", "push eax", "0x100a9302"], ["0x100bda73", "call WritePixelRun (FUNCTION)", "0x100a9303"], ["0x100bda78", "add esp, 0x18", "0x100a9308"], ["0x100bda7b", "jmp 0x23", "0x100a930b"], ["0x100bda7d", "mov ecx, dword ptr [esp + 0x1c]", "0x100a930d"], ["0x100bda81", "mov edx, dword ptr [esp + 0x18]", "0x100a9311"]]}, {"orig": [["0x100bda85", "movsx bp, al"]], "recomp": [["0x100a9315", "movsx di, al"]]}, {"both": [["0x100bda89", "mov eax, dword ptr [esp + 0x12]", "0x100a9319"]]}, {"orig": [["0x100bda8d", "push ebp"]], "recomp": [["0x100a931d", "push edi"]]}, {"both": [["0x100bda8e", "push esi", "0x100a931e"], ["0x100bda8f", "push eax", "0x100a931f"]]}, {"orig": [["0x100bda90", "push edi"]], "recomp": [["0x100a9320", "push ebp"]]}, {"both": [["0x100bda91", "push ecx", "0x100a9321"], ["0x100bda92", "push edx", "0x100a9322"], ["0x100bda93", "call WritePixels (FUNCTION)", "0x100a9323"]]}, {"orig": [["0x100bda98", "movsx ecx, bp"]], "recomp": [["0x100a9328", "movsx ecx, di"]]}, {"both": [["0x100bda9b", "add esp, 0x18", "0x100a932b"], ["0x100bda9e", "add esi, ecx", "0x100a932e"]]}, {"orig": [["0x100bdaa0", "add di, bp"]], "recomp": [["0x100a9330", "add bp, di"]]}, {"both": [["0x100bdaa3", "dec bl", "0x100a9333"], ["0x100bdaa5", "test bl, bl", "0x100a9335"], ["0x100bdaa7", "jne -0x62", "0x100a9337"], ["0x100bdaa9", "dec word ptr [esp + 0x12]", "0x100a9339"], ["0x100bdaae", "dec word ptr [esp + 0x10]", "0x100a933e"], ["0x100bdab3", "jns -0x78", "0x100a9343"], ["0x100bdab5", "pop ebp", "0x100a9345"], ["0x100bdab6", "pop edi", "0x100a9346"], ["0x100bdab7", "pop esi", "0x100a9347"], ["0x100bdab8", "pop ebx", "0x100a9348"]]}]]]}, {"address": "0x100bdac0", "recomp": "0x100a9350", "name": "DecodeSS2", "matching": 0.38578680203045684, "diff": [["@@ -0x100bdac0,94 +0x100a9350,103 @@", [{"orig": [["0x100bdac0", "mov edx, dword ptr [esp + 0x10]"]], "recomp": [["0x100a9350", "mov eax, dword ptr [esp + 0x10]"]]}, {"both": [["0x100bdac4", "sub esp, 8", "0x100a9354"]]}, {"orig": [["0x100bdac7", "mov ax, word ptr [edx + 8]"]], "recomp": [["0x100a9357", "mov cx, word ptr [eax + 8]"]]}, {"both": [["0x100bdacb", "push ebx", "0x100a935b"]]}, {"orig": [], "recomp": [["0x100a935c", "dec cx"], ["0x100a935e", "push esi"], ["0x100a935f", "mov si, word ptr [eax + 0xa]"], ["0x100a9363", "push edi"], ["0x100a9364", "dec si"], ["0x100a9366", "push ebp"], ["0x100a9367", "mov word ptr [esp + 0x12], cx"], ["0x100a936c", "mov eax, dword ptr [esp + 0x24]"], ["0x100a9370", "lea edi, [eax + 2]"], ["0x100a9373", "mov ax, word ptr [eax]"]]}, {"both": [["0x100bdacc", "dec ax", "0x100a9376"]]}, {"orig": [["0x100bdace", "push esi"], ["0x100bdacf", "mov word ptr [esp + 8], ax"], ["0x100bdad4", "push edi"], ["0x100bdad5", "mov si, word ptr [edx + 0xa]"], ["0x100bdad9", "push ebp"], ["0x100bdada", "dec si"], ["0x100bdadc", "mov ecx, dword ptr [esp + 0x24]"], ["0x100bdae0", "mov bx, word ptr [ecx]"], ["0x100bdae3", "add ecx, 2"], ["0x100bdae6", "mov word ptr [esp + 0x12], bx"], ["0x100bdaeb", "mov dword ptr [esp + 0x14], ecx"], ["0x100bdaef", "mov eax, dword ptr [esp + 0x14]"], ["0x100bdaf3", "mov bx, word ptr [eax]"], ["0x100bdaf6", "add dword ptr [esp + 0x14], 2"]], "recomp": [["0x100a9378", "mov word ptr [esp + 0x16], ax"], ["0x100a937d", "test ax, ax"], ["0x100a9380", "jle 0xdc"], ["0x100a9386", "mov bx, word ptr [edi]"], ["0x100a9389", "add edi, 2"]]}, {"both": [["0x100bdafb", "test bx, bx", "0x100a938c"]]}, {"orig": [["0x100bdafe", "jge 0x49"]], "recomp": [["0x100a938f", "jge 0x46"]]}, {"both": [["0x100bdb00", "test bh, 0x40", "0x100a9391"], ["0x100bdb03", "je 0x5", "0x100a9394"], ["0x100bdb05", "add si, bx", "0x100a9396"]]}, {"orig": [["0x100bdb08", "jmp -0x1b"], ["0x100bdb0a", "mov eax, dword ptr [esp + 0x10]"]], "recomp": [["0x100a9399", "jmp -0x15"], ["0x100a939b", "mov eax, dword ptr [esp + 0x12]"]]}, {"both": [["0x100bdb0e", "push ebx", "0x100a939f"], ["0x100bdb0f", "mov ecx, dword ptr [esp + 0x24]", "0x100a93a0"], ["0x100bdb13", "push esi", "0x100a93a4"], ["0x100bdb14", "mov edx, dword ptr [esp + 0x24]", "0x100a93a5"], ["0x100bdb18", "push eax", "0x100a93a9"], ["0x100bdb19", "push ecx", "0x100a93aa"]]}, {"orig": [], "recomp": [["0x100a93ab", "add edi, 2"]]}, {"both": [["0x100bdb1a", "push edx", "0x100a93ae"], ["0x100bdb1b", "call WritePixel (FUNCTION)", "0x100a93af"]]}, {"orig": [["0x100bdb20", "mov ecx, dword ptr [esp + 0x28]"]], "recomp": [["0x100a93b4", "mov bx, word ptr [edi - 2]"]]}, {"both": [["0x100bdb24", "add esp, 0x14", "0x100a93b8"]]}, {"orig": [["0x100bdb27", "mov bx, word ptr [ecx]"], ["0x100bdb2a", "add dword ptr [esp + 0x14], 2"]], "recomp": []}, {"both": [["0x100bdb2f", "test bx, bx", "0x100a93bb"]]}, {"orig": [["0x100bdb32", "jne 0x15"]], "recomp": [["0x100a93be", "jne 0x17"]]}, {"both": [["0x100bdb34", "dec si", "0x100a93c0"]]}, {"orig": [["0x100bdb36", "dec word ptr [esp + 0x12]"], ["0x100bdb3b", "cmp word ptr [esp + 0x12], 0"], ["0x100bdb41", "jle 0xae"], ["0x100bdb47", "jmp -0x5a"], ["0x100bdb49", "xor di, di"], ["0x100bdb4c", "mov ecx, dword ptr [esp + 0x14]"], ["0x100bdb50", "movzx ax, byte ptr [ecx]"], ["0x100bdb54", "add di, ax"], ["0x100bdb57", "inc dword ptr [esp + 0x14]"], ["0x100bdb5b", "mov ecx, dword ptr [esp + 0x14]"], ["0x100bdb5f", "movsx bp, byte ptr [ecx]"]], "recomp": [["0x100a93c2", "dec word ptr [esp + 0x16]"], ["0x100a93c7", "cmp word ptr [esp + 0x16], 0"], ["0x100a93cd", "jg -0x49"], ["0x100a93cf", "pop ebp"], ["0x100a93d0", "pop edi"], ["0x100a93d1", "pop esi"], ["0x100a93d2", "pop ebx"], ["0x100a93d3", "add esp, 8"], ["0x100a93d6", "ret "], ["0x100a93d7", "mov word ptr [esp + 0x14], 0"], ["0x100a93de", "movzx ax, byte ptr [edi]"], ["0x100a93e2", "movsx bp, byte ptr [edi + 1]"]]}, {"both": [["0x100bdb63", "add bp, bp", "0x100a93e7"]]}, {"orig": [["0x100bdb66", "inc dword ptr [esp + 0x14]"]], "recomp": [["0x100a93ea", "inc edi"], ["0x100a93eb", "add word ptr [esp + 0x14], ax"], ["0x100a93f0", "inc edi"]]}, {"both": [["0x100bdb6a", "test bp, bp", "0x100a93f1"]]}, {"orig": [["0x100bdb6d", "jl 0x3c"]], "recomp": [["0x100a93f4", "jl 0x26"]]}, {"both": [["0x100bdb6f", "mov eax, dword ptr [esp + 0x14]", "0x100a93f6"], ["0x100bdb73", "push ebp", "0x100a93fa"], ["0x100bdb74", "mov ecx, dword ptr [esp + 0x24]", "0x100a93fb"]]}, {"orig": [["0x100bdb78", "push eax"]], "recomp": [["0x100a93ff", "push edi"]]}, {"both": [["0x100bdb79", "mov edx, dword ptr [esp + 0x24]", "0x100a9400"], ["0x100bdb7d", "push esi", "0x100a9404"]]}, {"orig": [["0x100bdb7e", "push edi"]], "recomp": [["0x100a9405", "push eax"]]}, {"both": [["0x100bdb7f", "push ecx", "0x100a9406"]]}, {"orig": [["0x100bdb80", "add di, bp"]], "recomp": []}, {"both": [["0x100bdb83", "push edx", "0x100a9407"], ["0x100bdb84", "call WritePixels (FUNCTION)", "0x100a9408"]]}, {"orig": [], "recomp": [["0x100a940d", "add word ptr [esp + 0x2c], bp"], ["0x100a9412", "add esp, 0x18"]]}, {"both": [["0x100bdb89", "movsx ecx, bp", "0x100a9415"]]}, {"orig": [["0x100bdb8c", "add dword ptr [esp + 0x2c], ecx"], ["0x100bdb90", "add esp, 0x18"], ["0x100bdb93", "dec bx"], ["0x100bdb95", "jne -0x4b"], ["0x100bdb97", "dec si"], ["0x100bdb99", "dec word ptr [esp + 0x12]"], ["0x100bdb9e", "cmp word ptr [esp + 0x12], 0"], ["0x100bdba4", "jle 0x4f"], ["0x100bdba6", "jmp -0xbc"], ["0x100bdbab", "mov eax, dword ptr [esp + 0x14]"]], "recomp": [["0x100a9418", "add edi, ecx"], ["0x100a941a", "jmp 0x2f"], ["0x100a941c", "mov ax, word ptr [edi]"], ["0x100a941f", "add edi, 2"], ["0x100a9422", "neg bp"], ["0x100a9425", "mov cx, bp"]]}, {"both": [["0x100bdbaf", "mov edx, dword ptr [esp + 0x20]", "0x100a9428"]]}, {"orig": [["0x100bdbb3", "neg bp"], ["0x100bdbb6", "add dword ptr [esp + 0x14], 2"], ["0x100bdbbb", "mov cx, bp"]], "recomp": []}, {"both": [["0x100bdbbe", "sar cx, 1", "0x100a942c"]]}, {"orig": [["0x100bdbc2", "mov ax, word ptr [eax]"]], "recomp": []}, {"both": [["0x100bdbc5", "push ecx", "0x100a9430"]]}, {"orig": [["0x100bdbc6", "mov ecx, dword ptr [esp + 0x20]"]], "recomp": []}, {"both": [["0x100bdbca", "push eax", "0x100a9431"]]}, {"orig": [], "recomp": [["0x100a9432", "mov eax, dword ptr [esp + 0x1c]"]]}, {"both": [["0x100bdbcb", "push esi", "0x100a9436"]]}, {"orig": [["0x100bdbcc", "push edi"], ["0x100bdbcd", "add di, bp"]], "recomp": [["0x100a9437", "mov ecx, dword ptr [esp + 0x28]"], ["0x100a943b", "push eax"]]}, {"both": [["0x100bdbd0", "push edx", "0x100a943c"], ["0x100bdbd1", "push ecx", "0x100a943d"], ["0x100bdbd2", "call WritePixelPairs (FUNCTION)", "0x100a943e"]]}, {"orig": [], "recomp": [["0x100a9443", "add word ptr [esp + 0x2c], bp"]]}, {"both": [["0x100bdbd7", "add esp, 0x18", "0x100a9448"]]}, {"orig": [], "recomp": [["0x100a944b", "dec bx"], ["0x100a944d", "jne -0x71"], ["0x100a944f", "dec si"], ["0x100a9451", "dec word ptr [esp + 0x16]"], ["0x100a9456", "cmp word ptr [esp + 0x16], 0"], ["0x100a945c", "jg -0xdc"], ["0x100a9462", "pop ebp"], ["0x100a9463", "pop edi"], ["0x100a9464", "pop esi"], ["0x100a9465", "pop ebx"], ["0x100a9466", "add esp, 8"], ["0x100a9469", "ret "]]}]]]}, {"address": "0x100bdc00", "recomp": "0x100a9470", "name": "DecodeBlack", "matching": 1.0, "diff": []}, {"address": "0x100bdc90", "recomp": "0x100a9500", "name": "DecodeCopy", "matching": 1.0, "diff": []}, {"address": "0x100bdce0", "recomp": "0x100a9550", "name": "DecodeFLCFrame", "matching": 1.0, "diff": []}, {"address": "0x100bdd10", "recomp": "0x100aa0e0", "name": "MxTickleClient::MxTickleClient", "matching": 1.0, "diff": []}, {"address": "0x100bdd30", "recomp": "0x100aa100", "name": "MxTickleManager::~MxTickleManager", "matching": 1.0, "diff": []}, {"address": "0x100bdde0", "recomp": "0x100aa1b0", "name": "MxTickleManager::Tickle", "matching": 0.64, "diff": [["@@ -0x100bdde8,57 +0x100aa1b8,58 @@", [{"both": [["0x100bdde8", "push ebp", "0x100aa1b8"], ["0x100bdde9", "call Timer (FUNCTION)", "0x100aa1b9"], ["0x100bddee", "cmp byte ptr [eax + 0xc], 0", "0x100aa1be"], ["0x100bddf2", "je 0x8", "0x100aa1c2"], ["0x100bddf4", "mov edi, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x100aa1c4"], ["0x100bddfa", "jmp 0x9", "0x100aa1ca"], ["0x100bddfc", "mov edi, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x100aa1cc"], ["0x100bde02", "sub edi, dword ptr [eax + 8]", "0x100aa1d2"], ["0x100bde05", "mov ecx, dword ptr [esi + 0xc]", "0x100aa1d5"], ["0x100bde08", "mov eax, dword ptr [ecx]", "0x100aa1d8"]]}, {"orig": [["0x100bde0a", "mov ebp, eax"], ["0x100bde0c", "cmp eax, ecx"], ["0x100bde0e", "je 0x66"], ["0x100bde10", "mov ebx, dword ptr [ebp + 8]"], ["0x100bde13", "test byte ptr [ebx + 0xc], 1"], ["0x100bde17", "je 0x34"], ["0x100bde19", "lea ecx, [ebp + 4]"], ["0x100bde1c", "mov dword ptr [esp + 0x10], ebp"], ["0x100bde20", "mov eax, ebp"], ["0x100bde22", "mov ebp, dword ptr [ebp]"]], "recomp": [["0x100aa1da", "mov ebx, eax"], ["0x100aa1dc", "cmp ecx, eax"], ["0x100aa1de", "je 0x65"], ["0x100aa1e0", "mov ebp, dword ptr [ebx + 8]"], ["0x100aa1e3", "test byte ptr [ebp + 0xc], 1"], ["0x100aa1e7", "je 0x33"], ["0x100aa1e9", "lea ecx, [ebx + 4]"], ["0x100aa1ec", "mov dword ptr [esp + 0x10], ebx"], ["0x100aa1f0", "mov eax, ebx"], ["0x100aa1f2", "mov ebx, dword ptr [ebx]"]]}, {"both": [["0x100bde25", "mov edx, dword ptr [ecx]", "0x100aa1f4"], ["0x100bde27", "mov eax, dword ptr [eax]", "0x100aa1f6"], ["0x100bde29", "mov dword ptr [edx], eax", "0x100aa1f8"], ["0x100bde2b", "mov edx, dword ptr [ecx]", "0x100aa1fa"], ["0x100bde2d", "mov eax, dword ptr [esp + 0x10]", "0x100aa1fc"], ["0x100bde31", "push eax", "0x100aa200"], ["0x100bde32", "mov ecx, dword ptr [eax]", "0x100aa201"], ["0x100bde34", "mov dword ptr [ecx + 4], edx", "0x100aa203"], ["0x100bde37", "call ??3@YAXPAX@Z (FUNCTION)", "0x100aa206"], ["0x100bde3c", "add esp, 4", "0x100aa20b"], ["0x100bde3f", "dec dword ptr [esi + 0x10]", "0x100aa20e"]]}, {"orig": [["0x100bde42", "push ebx"]], "recomp": [["0x100aa211", "push ebp"]]}, {"both": [["0x100bde43", "call ??3@YAXPAX@Z (FUNCTION)", "0x100aa212"], ["0x100bde48", "add esp, 4", "0x100aa217"], ["0x100bde4b", "jmp 0x24", "0x100aa21a"]]}, {"orig": [["0x100bde4d", "mov ebp, dword ptr [ebp]"], ["0x100bde50", "cmp dword ptr [ebx + 8], edi"]], "recomp": [["0x100aa21c", "mov ebx, dword ptr [ebx]"], ["0x100aa21e", "cmp dword ptr [ebp + 8], edi"]]}, {"both": [["0x100bde53", "jle 0x8", "0x100aa221"]]}, {"orig": [["0x100bde55", "mov eax, dword ptr [ebx + 4]"]], "recomp": [["0x100aa223", "mov eax, dword ptr [ebp + 4]"]]}, {"both": [["0x100bde58", "neg eax", "0x100aa226"]]}, {"orig": [["0x100bde5a", "mov dword ptr [ebx + 8], eax"], ["0x100bde5d", "mov eax, dword ptr [ebx + 4]"], ["0x100bde60", "add eax, dword ptr [ebx + 8]"]], "recomp": [["0x100aa228", "mov dword ptr [ebp + 8], eax"], ["0x100aa22b", "mov eax, dword ptr [ebp + 4]"], ["0x100aa22e", "add eax, dword ptr [ebp + 8]"]]}, {"both": [["0x100bde63", "cmp eax, edi", "0x100aa231"]]}, {"orig": [["0x100bde65", "jge 0xa"], ["0x100bde67", "mov ecx, dword ptr [ebx]"]], "recomp": [["0x100aa233", "jge 0xb"], ["0x100aa235", "mov ecx, dword ptr [ebp]"]]}, {"both": [["0x100bde69", "mov eax, dword ptr [ecx]", "0x100aa238"], ["0x100bde6b", "call dword ptr [eax + 8]", "0x100aa23a"]]}, {"orig": [["0x100bde6e", "mov dword ptr [ebx + 8], edi"], ["0x100bde71", "cmp dword ptr [esi + 0xc], ebp"], ["0x100bde74", "jne -0x66"]], "recomp": [["0x100aa23d", "mov dword ptr [ebp + 8], edi"], ["0x100aa240", "cmp dword ptr [esi + 0xc], ebx"], ["0x100aa243", "jne -0x65"]]}, {"both": [["0x100bde76", "xor eax, eax", "0x100aa245"], ["0x100bde78", "pop ebp", "0x100aa247"], ["0x100bde79", "pop edi", "0x100aa248"], ["0x100bde7a", "pop esi", "0x100aa249"], ["0x100bde7b", "pop ebx", "0x100aa24a"], ["0x100bde7c", "add esp, 8", "0x100aa24b"]]}, {"orig": [], "recomp": [["0x100aa24e", "ret "]]}]]]}, {"address": "0x100bde80", "recomp": "0x100aa250", "name": "MxTickleManager::RegisterClient", "matching": 1.0, "diff": []}, {"address": "0x100bdf60", "recomp": "0x100aa330", "name": "MxTickleManager::UnregisterClient", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bdf60,21 +0x100aa330,21 @@", [{"both": [["0x100bdf60", "sub esp, 4", "0x100aa330"], ["0x100bdf63", "mov edx, dword ptr [ecx + 0xc]", "0x100aa333"], ["0x100bdf66", "mov eax, dword ptr [edx]", "0x100aa336"], ["0x100bdf68", "mov dword ptr [esp], eax", "0x100aa338"]]}, {"orig": [["0x100bdf6c", "cmp edx, eax"]], "recomp": [["0x100aa33c", "cmp eax, edx"]]}, {"both": [["0x100bdf6e", "je 0x27", "0x100aa33e"], ["0x100bdf70", "mov ecx, dword ptr [esp + 8]", "0x100aa340"], ["0x100bdf74", "mov eax, dword ptr [esp]", "0x100aa344"], ["0x100bdf78", "mov eax, dword ptr [eax + 8]", "0x100aa348"], ["0x100bdf7b", "cmp dword ptr [eax], ecx", "0x100aa34b"], ["0x100bdf7d", "je 0x14", "0x100aa34d"], ["0x100bdf7f", "mov eax, dword ptr [esp]", "0x100aa34f"], ["0x100bdf83", "mov eax, dword ptr [eax]", "0x100aa353"], ["0x100bdf85", "mov dword ptr [esp], eax", "0x100aa355"]]}, {"orig": [["0x100bdf89", "cmp edx, eax"]], "recomp": [["0x100aa359", "cmp eax, edx"]]}, {"both": [["0x100bdf8b", "jne -0x19", "0x100aa35b"], ["0x100bdf8d", "add esp, 4", "0x100aa35d"], ["0x100bdf90", "ret 4", "0x100aa360"], ["0x100bdf93", "or byte ptr [eax + 0xc], 1", "0x100aa363"], ["0x100bdf97", "add esp, 4", "0x100aa367"], ["0x100bdf9a", "ret 4", "0x100aa36a"]]}]]]}, {"address": "0x100bdfa0", "recomp": "0x100aa370", "name": "MxTickleManager::SetClientTickleInterval", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bdfa0,30 +0x100aa370,30 @@", [{"both": [["0x100bdfa0", "sub esp, 4", "0x100aa370"], ["0x100bdfa3", "push esi", "0x100aa373"], ["0x100bdfa4", "push edi", "0x100aa374"], ["0x100bdfa5", "mov esi, dword ptr [ecx + 0xc]", "0x100aa375"], ["0x100bdfa8", "mov eax, dword ptr [esi]", "0x100aa378"], ["0x100bdfaa", "mov dword ptr [esp + 8], eax", "0x100aa37a"]]}, {"orig": [["0x100bdfae", "cmp esi, eax"]], "recomp": [["0x100aa37e", "cmp eax, esi"]]}, {"both": [["0x100bdfb0", "je 0x37", "0x100aa380"], ["0x100bdfb2", "mov edx, dword ptr [esp + 0x10]", "0x100aa382"], ["0x100bdfb6", "mov edi, 1", "0x100aa386"], ["0x100bdfbb", "mov eax, dword ptr [esp + 8]", "0x100aa38b"], ["0x100bdfbf", "mov ecx, dword ptr [eax + 8]", "0x100aa38f"], ["0x100bdfc2", "cmp dword ptr [ecx], edx", "0x100aa392"], ["0x100bdfc4", "jne 0x6", "0x100aa394"], ["0x100bdfc6", "test word ptr [ecx + 0xc], di", "0x100aa396"], ["0x100bdfca", "je 0x16", "0x100aa39a"], ["0x100bdfcc", "mov eax, dword ptr [esp + 8]", "0x100aa39c"], ["0x100bdfd0", "mov ecx, dword ptr [eax]", "0x100aa3a0"], ["0x100bdfd2", "mov dword ptr [esp + 8], ecx", "0x100aa3a2"]]}, {"orig": [["0x100bdfd6", "cmp esi, ecx"]], "recomp": [["0x100aa3a6", "cmp ecx, esi"]]}, {"both": [["0x100bdfd8", "jne -0x1f", "0x100aa3a8"], ["0x100bdfda", "pop edi", "0x100aa3aa"], ["0x100bdfdb", "pop esi", "0x100aa3ab"], ["0x100bdfdc", "add esp, 4", "0x100aa3ac"], ["0x100bdfdf", "ret 8", "0x100aa3af"], ["0x100bdfe2", "mov eax, dword ptr [esp + 0x14]", "0x100aa3b2"], ["0x100bdfe6", "mov dword ptr [ecx + 4], eax", "0x100aa3b6"], ["0x100bdfe9", "pop edi", "0x100aa3b9"], ["0x100bdfea", "pop esi", "0x100aa3ba"], ["0x100bdfeb", "add esp, 4", "0x100aa3bb"]]}]]]}, {"address": "0x100be000", "recomp": "0x100aa3d0", "name": "MxTickleManager::GetClientTickleInterval", "matching": 1.0, "diff": []}, {"address": "0x100be050", "recomp": "0x100aa420", "name": "MxDSChunk::MxDSChunk", "matching": 1.0, "diff": []}, {"address": "0x100be0c0", "recomp": "0x100aa490", "name": "MxDSChunk::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100be0d0", "recomp": "0x100aa4a0", "name": "MxDSChunk::IsA", "matching": 1.0, "diff": []}, {"address": "0x100be150", "recomp": "0x100aa520", "name": "MxDSChunk::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100be170", "recomp": "0x100aa540", "name": "MxDSChunk::~MxDSChunk", "matching": 1.0, "diff": []}, {"address": "0x100be1e0", "recomp": "0x100aa5b0", "name": "MxDSChunk::GetHeaderSize", "matching": 1.0, "diff": []}, {"address": "0x100be1f0", "recomp": "0x100aa5c0", "name": "MxVideoManager::MxVideoManager", "matching": 1.0, "diff": []}, {"address": "0x100be270", "recomp": "0x100aa660", "name": "MxVideoManager::UpdateView", "matching": 1.0, "diff": []}, {"address": "0x100be280", "recomp": "0x100aa640", "name": "MxVideoManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100be2a0", "recomp": "0x100aa670", "name": "MxVideoManager::~MxVideoManager", "matching": 1.0, "diff": []}, {"address": "0x100be320", "recomp": "0x100aa6f0", "name": "MxVideoManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100be340", "recomp": "0x100aa710", "name": "MxVideoManager::Destroy", "matching": 1.0, "effective": true, "diff": [["@@ -0x100be340,65 +0x100aa710,65 @@", [{"both": [["0x100be340", "push esi", "0x100aa710"], ["0x100be341", "push edi", "0x100aa711"]]}, {"orig": [["0x100be342", "mov esi, ecx"]], "recomp": [["0x100aa712", "mov edi, ecx"]]}, {"both": [["0x100be344", "mov ecx, dword ptr [ecx + 0xc]", "0x100aa714"], ["0x100be347", "test ecx, ecx", "0x100aa717"], ["0x100be349", "je 0x15", "0x100aa719"], ["0x100be34b", "call MxThread::Terminate (FUNCTION)", "0x100aa71b"]]}, {"orig": [["0x100be350", "mov ecx, dword ptr [esi + 0xc]"]], "recomp": [["0x100aa720", "mov ecx, dword ptr [edi + 0xc]"]]}, {"both": [["0x100be353", "test ecx, ecx", "0x100aa723"], ["0x100be355", "je 0x16", "0x100aa725"], ["0x100be357", "push 1", "0x100aa727"], ["0x100be359", "mov eax, dword ptr [ecx]", "0x100aa729"], ["0x100be35b", "call dword ptr [eax + 4]", "0x100aa72b"], ["0x100be35e", "jmp 0xd", "0x100aa72e"], ["0x100be360", "call TickleManager (FUNCTION)", "0x100aa730"]]}, {"orig": [["0x100be365", "push esi"]], "recomp": [["0x100aa735", "push edi"]]}, {"both": [["0x100be366", "mov edx, dword ptr [eax]", "0x100aa736"], ["0x100be368", "mov ecx, eax", "0x100aa738"], ["0x100be36a", "call dword ptr [edx + 0x18]", "0x100aa73a"]]}, {"orig": [["0x100be36d", "lea edi, [esi + 0x10]"], ["0x100be370", "mov ecx, edi"]], "recomp": [["0x100aa73d", "lea esi, [edi + 0x10]"], ["0x100aa740", "mov ecx, esi"]]}, {"both": [["0x100be372", "call MxCriticalSection::Enter (FUNCTION)", "0x100aa742"]]}, {"orig": [["0x100be377", "mov ecx, dword ptr [esi + 0x58]"]], "recomp": [["0x100aa747", "mov ecx, dword ptr [edi + 0x58]"]]}, {"both": [["0x100be37a", "test ecx, ecx", "0x100aa74a"], ["0x100be37c", "je 0x6", "0x100aa74c"], ["0x100be37e", "push 1", "0x100aa74e"], ["0x100be380", "mov eax, dword ptr [ecx]", "0x100aa750"], ["0x100be382", "call dword ptr [eax]", "0x100aa752"]]}, {"orig": [["0x100be384", "mov ecx, dword ptr [esi + 0x5c]"]], "recomp": [["0x100aa754", "mov ecx, dword ptr [edi + 0x5c]"]]}, {"both": [["0x100be387", "test ecx, ecx", "0x100aa757"], ["0x100be389", "je 0x6", "0x100aa759"], ["0x100be38b", "push 1", "0x100aa75b"], ["0x100be38d", "mov eax, dword ptr [ecx]", "0x100aa75d"], ["0x100be38f", "call dword ptr [eax]", "0x100aa75f"]]}, {"orig": [["0x100be391", "mov ecx, dword ptr [esi + 0x3c]"]], "recomp": [["0x100aa761", "mov ecx, dword ptr [edi + 0x3c]"]]}, {"both": [["0x100be394", "test ecx, ecx", "0x100aa764"], ["0x100be396", "je 0x6", "0x100aa766"], ["0x100be398", "push 1", "0x100aa768"], ["0x100be39a", "mov eax, dword ptr [ecx]", "0x100aa76a"], ["0x100be39c", "call dword ptr [eax]", "0x100aa76c"]]}, {"orig": [["0x100be39e", "cmp byte ptr [esi + 0x60], 0"]], "recomp": [["0x100aa76e", "cmp byte ptr [edi + 0x60], 0"]]}, {"both": [["0x100be3a2", "je 0x1a", "0x100aa772"]]}, {"orig": [["0x100be3a4", "mov eax, dword ptr [esi + 0x50]"]], "recomp": [["0x100aa774", "mov eax, dword ptr [edi + 0x50]"]]}, {"both": [["0x100be3a7", "test eax, eax", "0x100aa777"], ["0x100be3a9", "je 0x6", "0x100aa779"], ["0x100be3ab", "push eax", "0x100aa77b"], ["0x100be3ac", "mov eax, dword ptr [eax]", "0x100aa77c"], ["0x100be3ae", "call dword ptr [eax + 8]", "0x100aa77e"]]}, {"orig": [["0x100be3b1", "mov eax, dword ptr [esi + 0x54]"]], "recomp": [["0x100aa781", "mov eax, dword ptr [edi + 0x54]"]]}, {"both": [["0x100be3b4", "test eax, eax", "0x100aa784"], ["0x100be3b6", "je 0x6", "0x100aa786"], ["0x100be3b8", "push eax", "0x100aa788"], ["0x100be3b9", "mov eax, dword ptr [eax]", "0x100aa789"], ["0x100be3bb", "call dword ptr [eax + 8]", "0x100aa78b"]]}, {"orig": [], "recomp": [["0x100aa78e", "mov ecx, edi"], ["0x100aa790", "call MxVideoManager::Init (FUNCTION)"]]}, {"both": [["0x100be3be", "mov ecx, esi", "0x100aa795"]]}, {"orig": [["0x100be3c0", "call MxVideoManager::Init (FUNCTION)"], ["0x100be3c5", "mov ecx, edi"]], "recomp": []}, {"both": [["0x100be3c7", "call MxCriticalSection::Leave (FUNCTION)", "0x100aa797"], ["0x100be3cc", "cmp byte ptr [esp + 0xc], 0", "0x100aa79c"], ["0x100be3d1", "jne 0x7", "0x100aa7a1"]]}, {"orig": [["0x100be3d3", "mov ecx, esi"]], "recomp": [["0x100aa7a3", "mov ecx, edi"]]}, {"both": [["0x100be3d5", "call MxMediaManager::Destroy (FUNCTION)", "0x100aa7a5"], ["0x100be3da", "pop edi", "0x100aa7aa"], ["0x100be3db", "pop esi", "0x100aa7ab"], ["0x100be3dc", "ret 4", "0x100aa7ac"]]}]]]}, {"address": "0x100be3e0", "recomp": "0x100aa7b0", "name": "MxVideoManager::UpdateRegion", "matching": 1.0, "diff": []}, {"address": "0x100be440", "recomp": "0x100aa810", "name": "MxVideoManager::SortPresenterList", "matching": 1.0, "diff": []}, {"address": "0x100be600", "recomp": "0x100aa9d0", "name": "MxVideoManager::VTable0x28", "matching": 1.0, "diff": []}, {"address": "0x100be820", "recomp": "0x100aabf0", "name": "MxVideoManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100bea50", "recomp": "0x100aae20", "name": "MxVideoManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100bea60", "recomp": "0x100aae30", "name": "MxVideoManager::InvalidateRect", "matching": 1.0, "diff": []}, {"address": "0x100bea90", "recomp": "0x100aae60", "name": "MxVideoManager::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100bebe0", "recomp": "0x100aafb0", "name": "MxVideoManager::RealizePalette", "matching": 1.0, "diff": []}, {"address": "0x100bec40", "recomp": "0x100bc370", "name": "MxVideoParamFlags::MxVideoParamFlags", "matching": 1.0, "diff": []}, {"address": "0x100bec70", "recomp": "0x100b4a20", "name": "MxVideoParam::MxVideoParam", "matching": 1.0, "diff": []}, {"address": "0x100beca0", "recomp": "0x100b4a50", "name": "MxVideoParam::MxVideoParam", "matching": 1.0, "diff": []}, {"address": "0x100becf0", "recomp": "0x100b4aa0", "name": "MxVideoParam::MxVideoParam", "matching": 1.0, "diff": []}, {"address": "0x100bed50", "recomp": "0x100b4b00", "name": "MxVideoParam::~MxVideoParam", "matching": 1.0, "diff": []}, {"address": "0x100bed70", "recomp": "0x100b4b20", "name": "MxVideoParam::SetDeviceName", "matching": 1.0, "diff": []}, {"address": "0x100bede0", "recomp": "0x100b4b90", "name": "MxVideoParam::operator=", "matching": 1.0, "diff": []}, {"address": "0x100bee30", "recomp": "0x100ab010", "name": "MxPalette::MxPalette", "matching": 1.0, "diff": []}, {"address": "0x100beeb0", "recomp": "0x100ab090", "name": "MxPalette::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100beed0", "recomp": "0x100ab0b0", "name": "MxPalette::MxPalette", "matching": 1.0, "diff": []}, {"address": "0x100bef90", "recomp": "0x100ab170", "name": "MxPalette::~MxPalette", "matching": 1.0, "diff": []}, {"address": "0x100bf000", "recomp": "0x100ab1e0", "name": "MxPalette::CreateNativePalette", "matching": 1.0, "diff": []}, {"address": "0x100bf0b0", "recomp": "0x100ab290", "name": "MxPalette::Clone", "matching": 1.0, "diff": []}, {"address": "0x100bf150", "recomp": "0x100ab330", "name": "MxPalette::GetEntries", "matching": 1.0, "diff": []}, {"address": "0x100bf170", "recomp": "0x100ab350", "name": "MxPalette::SetEntries", "matching": 0.7884615384615384, "diff": [["@@ -0x100bf170,17 +0x100ab350,17 @@", [{"both": [["0x100bf170", "push ebx", "0x100ab350"], ["0x100bf171", "push esi", "0x100ab351"], ["0x100bf172", "push edi", "0x100ab352"], ["0x100bf173", "push ebp", "0x100ab353"], ["0x100bf174", "xor ebp, ebp", "0x100ab354"], ["0x100bf176", "cmp dword ptr [ecx + 8], ebp", "0x100ab356"]]}, {"orig": [["0x100bf179", "je 0x140"]], "recomp": [["0x100ab359", "je 0x142"]]}, {"both": [["0x100bf17f", "lea edx, [ecx + 0xf]", "0x100ab35f"], ["0x100bf182", "mov eax, 0xa", "0x100ab362"], ["0x100bf187", "mov byte ptr [edx], 0x80", "0x100ab367"], ["0x100bf18a", "add edx, 4", "0x100ab36a"], ["0x100bf18d", "dec eax", "0x100ab36d"], ["0x100bf18e", "jne -0x9", "0x100ab36e"], ["0x100bf190", "mov edx, dword ptr [esp + 0x14]", "0x100ab370"], ["0x100bf194", "lea eax, [ecx + 0x37]", "0x100ab374"], ["0x100bf197", "mov edi, 0x7e", "0x100ab377"], ["0x100bf19c", "lea esi, [edx + 0x28]", "0x100ab37c"]]}]], ["@@ -0x100bf20e,47 +0x100ab3ee,47 @@", [{"both": [["0x100bf20e", "mov byte ptr [ecx + 0x23d], bl", "0x100ab3ee"], ["0x100bf214", "mov al, byte ptr [edx + 0x232]", "0x100ab3f4"], ["0x100bf21a", "mov byte ptr [ecx + 0x23e], al", "0x100ab3fa"], ["0x100bf220", "mov byte ptr [ecx + 0x243], 0x84", "0x100ab400"], ["0x100bf227", "mov bl, byte ptr [edx + 0x234]", "0x100ab407"], ["0x100bf22d", "mov byte ptr [ecx + 0x240], bl", "0x100ab40d"], ["0x100bf233", "mov al, byte ptr [edx + 0x235]", "0x100ab413"], ["0x100bf239", "mov byte ptr [ecx + 0x241], al", "0x100ab419"], ["0x100bf23f", "mov bl, byte ptr [edx + 0x236]", "0x100ab41f"], ["0x100bf245", "mov byte ptr [ecx + 0x242], bl", "0x100ab425"]]}, {"orig": [["0x100bf24b", "mov eax, 0x8e"], ["0x100bf250", "cmp eax, 0xf6"]], "recomp": [["0x100ab42b", "mov esi, 0x8e"], ["0x100ab430", "cmp esi, 0xf6"]]}, {"both": [["0x100bf255", "jge 0x2e", "0x100ab436"]]}, {"orig": [["0x100bf257", "lea esi, [edx + eax*4]"]], "recomp": [["0x100ab438", "lea edx, [edx + esi*4]"], ["0x100ab43b", "lea eax, [ecx + esi*4 + 0xf]"]]}, {"both": [["0x100bf25a", "mov edi, 0xf6", "0x100ab43f"]]}, {"orig": [["0x100bf25f", "lea edx, [ecx + eax*4 + 0xf]"], ["0x100bf263", "sub edi, eax"], ["0x100bf265", "add eax, edi"], ["0x100bf267", "mov byte ptr [edx], 0x84"], ["0x100bf26a", "add esi, 4"]], "recomp": [["0x100ab444", "sub edi, esi"], ["0x100ab446", "add esi, edi"], ["0x100ab448", "mov byte ptr [eax], 0x84"]]}, {"both": [["0x100bf26d", "add edx, 4", "0x100ab44b"]]}, {"orig": [["0x100bf270", "mov bl, byte ptr [esi - 4]"]], "recomp": [["0x100ab44e", "add eax, 4"], ["0x100ab451", "mov bl, byte ptr [edx - 4]"]]}, {"both": [["0x100bf273", "dec edi", "0x100ab454"]]}, {"orig": [["0x100bf274", "mov byte ptr [edx - 7], bl"], ["0x100bf277", "mov bl, byte ptr [esi - 3]"], ["0x100bf27a", "mov byte ptr [edx - 6], bl"], ["0x100bf27d", "mov bl, byte ptr [esi - 2]"], ["0x100bf280", "mov byte ptr [edx - 5], bl"]], "recomp": [["0x100ab455", "mov byte ptr [eax - 7], bl"], ["0x100ab458", "mov bl, byte ptr [edx - 3]"], ["0x100ab45b", "mov byte ptr [eax - 6], bl"], ["0x100ab45e", "mov bl, byte ptr [edx - 2]"], ["0x100ab461", "mov byte ptr [eax - 5], bl"]]}, {"both": [["0x100bf283", "jne -0x1e", "0x100ab464"]]}, {"orig": [["0x100bf285", "cmp eax, 0x100"]], "recomp": [["0x100ab466", "cmp esi, 0x100"]]}, {"both": [["0x100bf28a", "jge 0x14", "0x100ab46c"]]}, {"orig": [["0x100bf28c", "lea esi, [ecx + eax*4 + 0xf]"], ["0x100bf290", "mov edx, 0x100"], ["0x100bf295", "sub edx, eax"], ["0x100bf297", "mov byte ptr [esi], 0x80"], ["0x100bf29a", "add esi, 4"], ["0x100bf29d", "dec edx"]], "recomp": [["0x100ab46e", "lea edx, [ecx + esi*4 + 0xf]"], ["0x100ab472", "mov eax, 0x100"], ["0x100ab477", "sub eax, esi"], ["0x100ab479", "mov byte ptr [edx], 0x80"], ["0x100ab47c", "add edx, 4"], ["0x100ab47f", "dec eax"]]}, {"both": [["0x100bf29e", "jne -0x9", "0x100ab480"], ["0x100bf2a0", "mov eax, dword ptr [ecx + 8]", "0x100ab482"], ["0x100bf2a3", "add ecx, 0xc", "0x100ab485"], ["0x100bf2a6", "push ecx", "0x100ab488"], ["0x100bf2a7", "push 0x100", "0x100ab489"], ["0x100bf2ac", "push 0", "0x100ab48e"], ["0x100bf2ae", "mov ebx, dword ptr [eax]", "0x100ab490"], ["0x100bf2b0", "push 0", "0x100ab492"], ["0x100bf2b2", "push eax", "0x100ab494"], ["0x100bf2b3", "call dword ptr [ebx + 0x18]", "0x100ab495"]]}]]]}, {"address": "0x100bf2d0", "recomp": "0x100ab4b0", "name": "MxPalette::SetSkyColor", "matching": 1.0, "diff": []}, {"address": "0x100bf330", "recomp": "0x100ab510", "name": "MxPalette::Detach", "matching": 1.0, "diff": []}, {"address": "0x100bf340", "recomp": "0x100ab520", "name": "MxPalette::operator==", "matching": 0.5806451612903226, "diff": [["@@ -0x100bf340,29 +0x100ab520,29 @@", [{"both": [["0x100bf340", "push ebx", "0x100ab520"]]}, {"orig": [["0x100bf341", "xor eax, eax"], ["0x100bf343", "mov edx, dword ptr [esp + 8]"]], "recomp": [["0x100ab521", "xor edx, edx"], ["0x100ab523", "mov eax, dword ptr [esp + 8]"]]}, {"both": [["0x100bf347", "add ecx, 0xc", "0x100ab527"]]}, {"orig": [["0x100bf34a", "add edx, 0xc"], ["0x100bf34d", "mov bl, byte ptr [edx]"]], "recomp": [["0x100ab52a", "add eax, 0xc"], ["0x100ab52d", "mov bl, byte ptr [eax]"]]}, {"both": [["0x100bf34f", "cmp byte ptr [ecx], bl", "0x100ab52f"]]}, {"orig": [["0x100bf351", "jne 0x24"], ["0x100bf353", "mov bl, byte ptr [edx + 1]"]], "recomp": [["0x100ab531", "jne 0x25"], ["0x100ab533", "mov bl, byte ptr [eax + 1]"]]}, {"both": [["0x100bf356", "cmp byte ptr [ecx + 1], bl", "0x100ab536"]]}, {"orig": [["0x100bf359", "jne 0x22"], ["0x100bf35b", "mov bl, byte ptr [edx + 2]"]], "recomp": [["0x100ab539", "jne 0x23"], ["0x100ab53b", "mov bl, byte ptr [eax + 2]"]]}, {"both": [["0x100bf35e", "cmp byte ptr [ecx + 2], bl", "0x100ab53e"]]}, {"orig": [["0x100bf361", "jne 0x20"], ["0x100bf363", "add edx, 4"]], "recomp": [["0x100ab541", "jne 0x21"], ["0x100ab543", "add eax, 4"]]}, {"both": [["0x100bf366", "add ecx, 4", "0x100ab546"]]}, {"orig": [["0x100bf369", "inc eax"], ["0x100bf36a", "cmp eax, 0x100"], ["0x100bf36f", "jl -0x24"]], "recomp": [["0x100ab549", "inc edx"], ["0x100ab54a", "cmp edx, 0x100"], ["0x100ab550", "jl -0x25"]]}, {"both": [["0x100bf371", "mov al, 1", "0x100ab552"], ["0x100bf373", "pop ebx", "0x100ab554"], ["0x100bf374", "ret 4", "0x100ab555"], ["0x100bf377", "xor al, al", "0x100ab558"], ["0x100bf379", "pop ebx", "0x100ab55a"], ["0x100bf37a", "ret 4", "0x100ab55b"], ["0x100bf37d", "xor al, al", "0x100ab55e"], ["0x100bf37f", "pop ebx", "0x100ab560"], ["0x100bf380", "ret 4", "0x100ab561"], ["0x100bf383", "xor al, al", "0x100ab564"]]}]]]}, {"address": "0x100bf390", "recomp": "0x100ab570", "name": "MxPalette::ApplySystemEntriesToPalette", "matching": 1.0, "diff": []}, {"address": "0x100bf420", "recomp": "0x100ab600", "name": "MxPalette::GetDefaultPalette", "matching": 1.0, "diff": []}, {"address": "0x100bf490", "recomp": "0x100ab670", "name": "MxPalette::Reset", "matching": 1.0, "diff": []}, {"address": "0x100bf4f0", "recomp": "0x100cfec0", "name": "MxScheduler::GetInstance", "matching": 1.0, "diff": []}, {"address": "0x100bf500", "recomp": "0x100cfed0", "name": "MxScheduler::StartMultiTasking", "matching": 1.0, "diff": []}, {"address": "0x100bf510", "recomp": "0x100abfe0", "name": "MxThread::MxThread", "matching": 1.0, "diff": []}, {"address": "0x100bf580", "recomp": "0x100ac070", "name": "MxThread::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100bf5a0", "recomp": "0x100ac090", "name": "MxThread::~MxThread", "matching": 1.0, "diff": []}, {"address": "0x100bf610", "recomp": "0x100ac100", "name": "MxThread::Start", "matching": 1.0, "diff": []}, {"address": "0x100bf660", "recomp": "0x100ac150", "name": "MxThread::Sleep", "matching": 1.0, "diff": []}, {"address": "0x100bf670", "recomp": "0x100ac160", "name": "MxThread::Terminate", "matching": 1.0, "diff": []}, {"address": "0x100bf680", "recomp": "0x100ac170", "name": "MxThread::ThreadProc", "matching": 1.0, "diff": []}, {"address": "0x100bf690", "recomp": "0x100ac180", "name": "MxThread::Run", "matching": 1.0, "diff": []}, {"address": "0x100bf6a0", "recomp": "0x100ab6d0", "name": "MxDSObject::MxDSObject", "matching": 1.0, "diff": []}, {"address": "0x100bf730", "recomp": "0x100ab760", "name": "MxDSObject::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100bf740", "recomp": "0x100ab770", "name": "MxDSObject::IsA", "matching": 1.0, "diff": []}, {"address": "0x100bf7c0", "recomp": "0x100ab7f0", "name": "MxDSObject::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100bf7e0", "recomp": "0x100ab810", "name": "MxDSObject::~MxDSObject", "matching": 1.0, "diff": []}, {"address": "0x100bf870", "recomp": "0x100ab8a0", "name": "MxDSObject::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100bf8c0", "recomp": "0x100ab8f0", "name": "MxDSObject::operator=", "matching": 1.0, "diff": []}, {"address": "0x100bf8e0", "recomp": "0x100ab910", "name": "MxDSObject::SetObjectName", "matching": 1.0, "diff": []}, {"address": "0x100bf950", "recomp": "0x100ab980", "name": "MxDSObject::SetSourceName", "matching": 1.0, "diff": []}, {"address": "0x100bf9c0", "recomp": "0x100ab9f0", "name": "MxDSObject::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x100bf9d0", "recomp": "0x100aba00", "name": "MxDSObject::GetSizeOnDisk", "matching": 1.0, "diff": []}, {"address": "0x100bfa20", "recomp": "0x100aba50", "name": "MxDSObject::Deserialize", "matching": 1.0, "diff": []}, {"address": "0x100bfa80", "recomp": "0x100abab0", "name": "MxDSObjectList::FindInternal", "matching": 1.0, "effective": true, "diff": [["@@ -0x100bfa80,21 +0x100abab0,21 @@", [{"both": [["0x100bfa80", "sub esp, 4", "0x100abab0"], ["0x100bfa83", "push ebx", "0x100abab3"], ["0x100bfa84", "push esi", "0x100abab4"], ["0x100bfa85", "mov edx, dword ptr [ecx + 4]", "0x100abab5"], ["0x100bfa88", "push edi", "0x100abab8"], ["0x100bfa89", "push ebp", "0x100abab9"], ["0x100bfa8a", "mov esi, ecx", "0x100ababa"], ["0x100bfa8c", "xor edi, edi", "0x100ababc"], ["0x100bfa8e", "mov eax, dword ptr [edx]", "0x100ababe"], ["0x100bfa90", "mov dword ptr [esp + 0x10], eax", "0x100abac0"]]}, {"orig": [["0x100bfa94", "cmp edx, eax"]], "recomp": [["0x100abac4", "cmp eax, edx"]]}, {"both": [["0x100bfa96", "je 0x50", "0x100abac6"], ["0x100bfa98", "mov ebx, dword ptr [esp + 0x18]", "0x100abac8"], ["0x100bfa9c", "mov ecx, dword ptr [ebx + 0x1c]", "0x100abacc"], ["0x100bfa9f", "cmp ecx, -1", "0x100abacf"], ["0x100bfaa2", "je 0xc", "0x100abad2"], ["0x100bfaa4", "mov eax, dword ptr [esp + 0x10]", "0x100abad4"], ["0x100bfaa8", "mov ebp, dword ptr [eax + 8]", "0x100abad8"], ["0x100bfaab", "cmp dword ptr [ebp + 0x1c], ecx", "0x100abadb"], ["0x100bfaae", "jne 0x2a", "0x100abade"], ["0x100bfab0", "mov bp, word ptr [ebx + 0x24]", "0x100abae0"]]}]], ["@@ -0x100bfac4,21 +0x100abaf4,21 @@", [{"both": [["0x100bfac4", "mov eax, dword ptr [eax + 8]", "0x100abaf4"], ["0x100bfac7", "cmp word ptr [eax + 0x24], bp", "0x100abaf7"], ["0x100bfacb", "jne 0xd", "0x100abafb"], ["0x100bfacd", "cmp bp, -3", "0x100abafd"], ["0x100bfad1", "mov eax, dword ptr [esp + 0x10]", "0x100abb01"], ["0x100bfad5", "mov edi, dword ptr [eax + 8]", "0x100abb05"], ["0x100bfad8", "jne 0xe", "0x100abb08"], ["0x100bfada", "mov eax, dword ptr [esp + 0x10]", "0x100abb0a"], ["0x100bfade", "mov ebp, dword ptr [eax]", "0x100abb0e"], ["0x100bfae0", "mov dword ptr [esp + 0x10], ebp", "0x100abb10"]]}, {"orig": [["0x100bfae4", "cmp edx, ebp"]], "recomp": [["0x100abb14", "cmp ebp, edx"]]}, {"both": [["0x100bfae6", "jne -0x49", "0x100abb16"], ["0x100bfae8", "cmp byte ptr [esp + 0x1c], 0", "0x100abb18"], ["0x100bfaed", "je 0x29", "0x100abb1d"], ["0x100bfaef", "test edi, edi", "0x100abb1f"], ["0x100bfaf1", "je 0x25", "0x100abb21"], ["0x100bfaf3", "mov edx, dword ptr [esp + 0x10]", "0x100abb23"], ["0x100bfaf7", "mov eax, dword ptr [esp + 0x10]", "0x100abb27"], ["0x100bfafb", "push eax", "0x100abb2b"], ["0x100bfafc", "mov ecx, dword ptr [edx + 4]", "0x100abb2c"], ["0x100bfaff", "add edx, 4", "0x100abb2f"]]}]]]}, {"address": "0x100bfb30", "recomp": "0x100abb60", "name": "DeserializeDSObjectDispatch", "matching": 1.0, "diff": []}, {"address": "0x100bfed0", "recomp": "0x10059550", "name": "MxDSFile::~MxDSFile", "matching": 1.0, "diff": []}, {"address": "0x100bff60", "recomp": "0x100595e0", "name": "MxDSSource::~MxDSSource", "matching": 1.0, "diff": []}, {"address": "0x100bffd0", "recomp": "0x100596e0", "name": "MxDSSource::ReadToBuffer", "matching": 1.0, "diff": []}, {"address": "0x100bfff0", "recomp": "0x10059700", "name": "MxDSSource::GetLengthInDWords", "matching": 1.0, "diff": []}, {"address": "0x100c0000", "recomp": "0x10059710", "name": "MxDSSource::GetBuffer", "matching": 1.0, "diff": []}, {"address": "0x100c0010", "recomp": "0x10059650", "name": "MxDSSource::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c0020", "recomp": "0x10059660", "name": "MxDSSource::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c00a0", "recomp": "0x10059720", "name": "MxDSSource::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c0120", "recomp": "0x100597a0", "name": "MxDSFile::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c0130", "recomp": "0x100597b0", "name": "MxDSFile::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c01e0", "recomp": "0x10059860", "name": "MxDSFile::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c0280", "recomp": "0x100abf00", "name": "CreateStreamObject", "matching": 1.0, "diff": []}, {"address": "0x100c0360", "recomp": "0x100ac2e0", "name": "MxEventManager::MxEventManager", "matching": 1.0, "diff": []}, {"address": "0x100c03d0", "recomp": "0x100ac350", "name": "MxEventManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c03f0", "recomp": "0x100ac370", "name": "MxEventManager::~MxEventManager", "matching": 1.0, "diff": []}, {"address": "0x100c0450", "recomp": "0x100ac3d0", "name": "MxEventManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100c0460", "recomp": "0x100ac3e0", "name": "MxEventManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c04a0", "recomp": "0x100ac420", "name": "MxEventManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100c0590", "recomp": "0x100ac510", "name": "MxEventManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c05a0", "recomp": "0x100ac520", "name": "MxMusicManager::MxMusicManager", "matching": 1.0, "diff": []}, {"address": "0x100c0610", "recomp": "0x100ac590", "name": "MxMusicManager::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c0630", "recomp": "0x100ac5b0", "name": "MxMusicManager::~MxMusicManager", "matching": 1.0, "diff": []}, {"address": "0x100c0690", "recomp": "0x100ac610", "name": "MxMusicManager::Init", "matching": 1.0, "diff": []}, {"address": "0x100c06a0", "recomp": "0x100ac620", "name": "MxMusicManager::InitData", "matching": 1.0, "diff": []}, {"address": "0x100c06c0", "recomp": "0x100ac640", "name": "MxMusicManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c0720", "recomp": "0x100ac6a0", "name": "MxMusicManager::ResetStream", "matching": 1.0, "diff": []}, {"address": "0x100c07e0", "recomp": "0x100ac760", "name": "MxMusicManager::ResetBuffer", "matching": 1.0, "diff": []}, {"address": "0x100c07f0", "recomp": "0x100ac770", "name": "MxMusicManager::SetMIDIVolume", "matching": 1.0, "diff": []}, {"address": "0x100c0820", "recomp": "0x100ac7a0", "name": "MxMusicManager::MidiCallbackProc", "matching": 1.0, "diff": []}, {"address": "0x100c0840", "recomp": "0x100ac7c0", "name": "MxMusicManager::Create", "matching": 1.0, "diff": []}, {"address": "0x100c0930", "recomp": "0x100ac8b0", "name": "MxMusicManager::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c0940", "recomp": "0x100ac8c0", "name": "MxMusicManager::SetVolume", "matching": 1.0, "diff": []}, {"address": "0x100c0970", "recomp": "0x100ac8f0", "name": "MxMusicManager::SetMultiplier", "matching": 1.0, "diff": []}, {"address": "0x100c09a0", "recomp": "0x100ac920", "name": "MxMusicManager::CalculateVolume", "matching": 1.0, "diff": []}, {"address": "0x100c09c0", "recomp": "0x100ac940", "name": "MxMusicManager::InitializeMIDI", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c09c5,36 +0x100ac945,36 @@", [{"both": [["0x100c09c5", "push edi", "0x100ac945"], ["0x100c09c6", "mov esi, ecx", "0x100ac946"], ["0x100c09c8", "push ebp", "0x100ac948"], ["0x100c09c9", "mov ebx, 0xffffffff", "0x100ac949"], ["0x100c09ce", "lea ecx, [esi + 0x10]", "0x100ac94e"], ["0x100c09d1", "call MxCriticalSection::Enter (FUNCTION)", "0x100ac951"], ["0x100c09d6", "cmp byte ptr [esi + 0x34], 0", "0x100ac956"], ["0x100c09da", "jne 0x12c", "0x100ac95a"], ["0x100c09e0", "call dword ptr [->WINMM.DLL:midiOutGetNumDevs (FUNCTION)]", "0x100ac960"], ["0x100c09e6", "mov dword ptr [esp + 0x10], 0", "0x100ac966"]]}, {"orig": [["0x100c09ee", "mov edi, eax"], ["0x100c09f0", "test edi, edi"]], "recomp": [["0x100ac96e", "mov ebp, eax"], ["0x100ac970", "test ebp, ebp"]]}, {"both": [["0x100c09f2", "je 0x26", "0x100ac972"]]}, {"orig": [["0x100c09f4", "mov ebp, dword ptr [__imp__midiOutGetDevCapsA@12 (POINTER)]"]], "recomp": [["0x100ac974", "mov edi, dword ptr [__imp__midiOutGetDevCapsA@12 (POINTER)]"]]}, {"both": [["0x100c09fa", "lea eax, [esp + 0x1c]", "0x100ac97a"], ["0x100c09fe", "push 0x34", "0x100ac97e"], ["0x100c0a00", "mov ecx, dword ptr [esp + 0x14]", "0x100ac980"], ["0x100c0a04", "push eax", "0x100ac984"], ["0x100c0a05", "push ecx", "0x100ac985"]]}, {"orig": [["0x100c0a06", "call ebp"]], "recomp": [["0x100ac986", "call edi"]]}, {"both": [["0x100c0a08", "cmp word ptr [esp + 0x44], 4", "0x100ac988"], ["0x100c0a0e", "je 0xa", "0x100ac98e"], ["0x100c0a10", "inc dword ptr [esp + 0x10]", "0x100ac990"]]}, {"orig": [["0x100c0a14", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x100ac994", "cmp dword ptr [esp + 0x10], ebp"]]}, {"both": [["0x100c0a18", "jb -0x20", "0x100ac998"]]}, {"orig": [["0x100c0a1a", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x100ac99a", "cmp dword ptr [esp + 0x10], ebp"]]}, {"both": [["0x100c0a1e", "jb 0x8", "0x100ac99e"], ["0x100c0a20", "mov dword ptr [esp + 0x10], 0xffffffff", "0x100ac9a0"], ["0x100c0a28", "lea eax, [esp + 0x10]", "0x100ac9a8"], ["0x100c0a2c", "push 0x30000", "0x100ac9ac"], ["0x100c0a31", "push esi", "0x100ac9b1"], ["0x100c0a32", "lea ecx, [esi + 0x30]", "0x100ac9b2"], ["0x100c0a35", "push MxMusicManager::MidiCallbackProc (FUNCTION)", "0x100ac9b5"], ["0x100c0a3a", "mov ebp, dword ptr [__imp__midiStreamOpen@24 (POINTER)]", "0x100ac9ba"], ["0x100c0a40", "push 1", "0x100ac9c0"], ["0x100c0a42", "push eax", "0x100ac9c2"]]}]]]}, {"address": "0x100c0b20", "recomp": "0x100acaa0", "name": "MxMusicManager::DeinitializeMIDI", "matching": 1.0, "diff": []}, {"address": "0x100c0b90", "recomp": "0x100acd10", "name": "MxStreamController::MxStreamController", "matching": 1.0, "diff": []}, {"address": "0x100c0d60", "recomp": "0x100acee0", "name": "list<MxDSObject *,allocator<MxDSObject *> >::~list<MxDSObject *,allocator<MxDSObject *> >", "matching": 1.0, "diff": []}, {"address": "0x100c0dd0", "recomp": "0x100acf50", "name": "list<MxDSSubscriber *,allocator<MxDSSubscriber *> >::~list<MxDSSubscriber *,allocator<MxDSSubscriber *> >", "matching": 1.0, "diff": []}, {"address": "0x100c0e40", "recomp": "0x100acfc0", "name": "list<MxDSSubscriber *,allocator<MxDSSubscriber *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100c0e70", "recomp": "0x100acff0", "name": "list<MxNextActionDataStart *,allocator<MxNextActionDataStart *> >::~list<MxNextActionDataStart *,allocator<MxNextActionDataStart *> >", "matching": 1.0, "diff": []}, {"address": "0x100c0ee0", "recomp": "0x100ad060", "name": "list<MxNextActionDataStart *,allocator<MxNextActionDataStart *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100c0f10", "recomp": "0x100ad090", "name": "MxStreamController::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c0f20", "recomp": "0x100ad0a0", "name": "MxStreamController::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c0fa0", "recomp": "0x100ad120", "name": "MxStreamController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c0fc0", "recomp": "0x100ad140", "name": "MxDSSubscriberList::~MxDSSubscriberList", "matching": 1.0, "diff": []}, {"address": "0x100c1010", "recomp": "0x100ad190", "name": "MxDSObjectList::~MxDSObjectList", "matching": 1.0, "diff": []}, {"address": "0x100c1060", "recomp": "0x100ad1e0", "name": "MxNextActionDataStartList::~MxNextActionDataStartList", "matching": 1.0, "diff": []}, {"address": "0x100c10b0", "recomp": "0x100ad230", "name": "MxUtilityList<MxDSSubscriber *>::~MxUtilityList<MxDSSubscriber *>", "matching": 1.0, "diff": []}, {"address": "0x100c1100", "recomp": "0x100ad280", "name": "MxUtilityList<MxDSObject *>::~MxUtilityList<MxDSObject *>", "matching": 1.0, "diff": []}, {"address": "0x100c1150", "recomp": "0x100ad2d0", "name": "MxUtilityList<MxNextActionDataStart *>::~MxUtilityList<MxNextActionDataStart *>", "matching": 1.0, "diff": []}, {"address": "0x100c11a0", "recomp": "0x100ad320", "name": "List<MxDSSubscriber *>::~List<MxDSSubscriber *>", "matching": 1.0, "diff": []}, {"address": "0x100c11f0", "recomp": "0x100ad370", "name": "List<MxDSObject *>::~List<MxDSObject *>", "matching": 1.0, "diff": []}, {"address": "0x100c1240", "recomp": "0x100ad3c0", "name": "List<MxNextActionDataStart *>::~List<MxNextActionDataStart *>", "matching": 1.0, "diff": []}, {"address": "0x100c1290", "recomp": "0x100ad410", "name": "MxStreamController::~MxStreamController", "matching": 0.5589041095890411, "diff": [["@@ -0x100c1290,27 +0x100ad410,27 @@", [{"both": [["0x100c1290", "mov eax, dword ptr fs:[0]", "0x100ad410"], ["0x100c1296", "push ebp", "0x100ad416"], ["0x100c1297", "mov ebp, esp", "0x100ad417"], ["0x100c1299", "push -1", "0x100ad419"], ["0x100c129b", "push <OFFSET1>", "0x100ad41b"], ["0x100c12a0", "mov dword ptr [ecx], MxStreamController::`vftable' (VTABLE)", "0x100ad420"], ["0x100c12a6", "push eax", "0x100ad426"], ["0x100c12a7", "mov dword ptr fs:[0], esp", "0x100ad427"]]}, {"orig": [["0x100c12ae", "sub esp, 0xa4"]], "recomp": [["0x100ad42e", "sub esp, 0xa8"]]}, {"both": [["0x100c12b4", "mov dword ptr [ebp - 0x10], ecx", "0x100ad434"], ["0x100c12b7", "push esi", "0x100ad437"], ["0x100c12b8", "xor esi, esi", "0x100ad438"], ["0x100c12ba", "add ecx, 8", "0x100ad43a"], ["0x100c12bd", "push ecx", "0x100ad43d"], ["0x100c12be", "mov dword ptr [ebp - 4], esi", "0x100ad43e"], ["0x100c12c1", "mov byte ptr [ebp - 4], 6", "0x100ad441"]]}, {"orig": [["0x100c12c5", "lea ecx, [ebp - 0x1c]"]], "recomp": [["0x100ad445", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x100c12c8", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100ad448"], ["0x100c12cd", "mov byte ptr [ebp - 4], 7", "0x100ad44d"], ["0x100c12d1", "mov eax, dword ptr [ebp - 0x10]", "0x100ad451"], ["0x100c12d4", "cmp dword ptr [eax + 0x38], esi", "0x100ad454"], ["0x100c12d7", "je 0x43", "0x100ad457"], ["0x100c12d9", "mov ecx, dword ptr [eax + 0x34]", "0x100ad459"], ["0x100c12dc", "mov eax, dword ptr [ecx]", "0x100ad45c"], ["0x100c12de", "mov dword ptr [ebp - 0x14], eax", "0x100ad45e"], ["0x100c12e1", "mov edx, dword ptr [eax + 8]", "0x100ad461"], ["0x100c12e4", "mov dword ptr [ebp - 0x18], edx", "0x100ad464"]]}]], ["@@ -0x100c130c,138 +0x100ad48c,145 @@", [{"both": [["0x100c130c", "je -0x3d", "0x100ad48c"], ["0x100c130e", "push 1", "0x100ad48e"], ["0x100c1310", "mov eax, dword ptr [ebp - 0x18]", "0x100ad490"], ["0x100c1313", "mov ecx, dword ptr [ebp - 0x18]", "0x100ad493"], ["0x100c1316", "mov eax, dword ptr [eax]", "0x100ad496"], ["0x100c1318", "call dword ptr [eax]", "0x100ad498"], ["0x100c131a", "jmp -0x4b", "0x100ad49a"], ["0x100c131c", "xor esi, esi", "0x100ad49c"], ["0x100c131e", "mov eax, dword ptr [ebp - 0x10]", "0x100ad49e"], ["0x100c1321", "cmp dword ptr [eax + 0x44], esi", "0x100ad4a1"]]}, {"orig": [["0x100c1324", "je 0x2e"]], "recomp": [["0x100ad4a4", "je 0x4e"]]}, {"both": [["0x100c1326", "mov ecx, dword ptr [eax + 0x40]", "0x100ad4a6"]]}, {"orig": [], "recomp": [["0x100ad4a9", "push esi"]]}, {"both": [["0x100c1329", "mov eax, dword ptr [ecx]", "0x100ad4aa"]]}, {"orig": [["0x100c132b", "lea ecx, [ebp - 0x20]"]], "recomp": [["0x100ad4ac", "lea ecx, [ebp - 0x24]"], ["0x100ad4af", "push ecx"], ["0x100ad4b0", "mov edx, dword ptr [eax + 8]"], ["0x100ad4b3", "lea ecx, [ebp - 0x18]"], ["0x100ad4b6", "mov dword ptr [ebp - 0x14], edx"], ["0x100ad4b9", "mov dword ptr [ebp - 0x18], eax"], ["0x100ad4bc", "call list<MxDSObject *,allocator<MxDSObject *> >::iterator::operator++ (FUNCTION)"], ["0x100ad4c1", "mov edx, dword ptr [eax]"], ["0x100ad4c3", "mov ecx, dword ptr [edx + 4]"], ["0x100ad4c6", "push edx"], ["0x100ad4c7", "mov eax, dword ptr [edx]"], ["0x100ad4c9", "mov dword ptr [ecx], eax"], ["0x100ad4cb", "mov eax, dword ptr [edx + 4]"], ["0x100ad4ce", "mov ecx, dword ptr [edx]"], ["0x100ad4d0", "mov dword ptr [ecx + 4], eax"], ["0x100ad4d3", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100ad4d8", "add esp, 4"], ["0x100ad4db", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100ad4de", "dec dword ptr [ecx + 0x44]"], ["0x100ad4e1", "cmp dword ptr [ebp - 0x14], esi"], ["0x100ad4e4", "je -0x48"], ["0x100ad4e6", "push 1"], ["0x100ad4e8", "mov eax, dword ptr [ebp - 0x14]"], ["0x100ad4eb", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100ad4ee", "mov eax, dword ptr [eax]"], ["0x100ad4f0", "call dword ptr [eax]"], ["0x100ad4f2", "jmp -0x56"], ["0x100ad4f4", "mov eax, dword ptr [ebp - 0x10]"], ["0x100ad4f7", "mov eax, dword ptr [eax + 0x28]"], ["0x100ad4fa", "test eax, eax"], ["0x100ad4fc", "je 0x47"], ["0x100ad4fe", "mov dword ptr [ebp - 0x18], eax"], ["0x100ad501", "mov eax, dword ptr [ebp - 0x10]"], ["0x100ad504", "mov ecx, dword ptr [ebp - 0x18]"], ["0x100ad507", "mov dword ptr [eax + 0x28], 0"], ["0x100ad50e", "mov edx, dword ptr [ecx]"], ["0x100ad510", "lea ecx, [ebp - 0xb4]"], ["0x100ad516", "mov dword ptr [ebp - 0x1c], edx"], ["0x100ad519", "call MxDSAction::MxDSAction (FUNCTION)"], ["0x100ad51e", "mov byte ptr [ebp - 4], 8"], ["0x100ad522", "mov esi, dword ptr [ebp - 0x1c]"], ["0x100ad525", "push eax"], ["0x100ad526", "mov ecx, dword ptr [ebp - 0x18]"], ["0x100ad529", "call dword ptr [esi + 0x20]"], ["0x100ad52c", "mov byte ptr [ebp - 4], 7"], ["0x100ad530", "call <OFFSET7>"], ["0x100ad535", "cmp dword ptr [ebp - 0x18], 0"], ["0x100ad539", "je 0xa"], ["0x100ad53b", "mov eax, dword ptr [ebp - 0x1c]"], ["0x100ad53e", "push 1"], ["0x100ad540", "mov ecx, dword ptr [ebp - 0x18]"], ["0x100ad543", "call dword ptr [eax]"], ["0x100ad545", "mov eax, dword ptr [ebp - 0x10]"], ["0x100ad548", "mov eax, dword ptr [eax + 0x2c]"], ["0x100ad54b", "test eax, eax"], ["0x100ad54d", "je 0x13"], ["0x100ad54f", "push eax"], ["0x100ad550", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100ad555", "add esp, 4"], ["0x100ad558", "mov eax, dword ptr [ebp - 0x10]"], ["0x100ad55b", "mov dword ptr [eax + 0x2c], 0"], ["0x100ad562", "xor esi, esi"], ["0x100ad564", "mov eax, dword ptr [ebp - 0x10]"], ["0x100ad567", "cmp dword ptr [eax + 0x5c], esi"], ["0x100ad56a", "je 0x39"], ["0x100ad56c", "mov ecx, dword ptr [eax + 0x58]"], ["0x100ad56f", "mov eax, dword ptr [ecx]"], ["0x100ad571", "lea ecx, [ebp - 0x1c]"]]}, {"both": [["0x100c132e", "push eax", "0x100ad574"], ["0x100c132f", "push ecx", "0x100ad575"], ["0x100c1330", "mov edx, dword ptr [eax + 8]", "0x100ad576"], ["0x100c1333", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad579"]]}, {"orig": [["0x100c1336", "add ecx, 0x3c"]], "recomp": [["0x100ad57c", "add ecx, 0x54"]]}, {"both": [["0x100c1339", "mov dword ptr [ebp - 0x14], edx", "0x100ad57f"], ["0x100c133c", "call list<MxDSObject *,allocator<MxDSObject *> >::erase (FUNCTION)", "0x100ad582"], ["0x100c1341", "cmp dword ptr [ebp - 0x14], esi", "0x100ad587"], ["0x100c1344", "je -0x28", "0x100ad58a"], ["0x100c1346", "push 1", "0x100ad58c"], ["0x100c1348", "mov eax, dword ptr [ebp - 0x14]", "0x100ad58e"], ["0x100c134b", "mov ecx, dword ptr [ebp - 0x14]", "0x100ad591"], ["0x100c134e", "mov eax, dword ptr [eax]", "0x100ad594"], ["0x100c1350", "call dword ptr [eax]", "0x100ad596"], ["0x100c1352", "jmp -0x36", "0x100ad598"]]}, {"orig": [["0x100c1354", "mov eax, dword ptr [ebp - 0x10]"], ["0x100c1357", "mov eax, dword ptr [eax + 0x28]"], ["0x100c135a", "test eax, eax"], ["0x100c135c", "je 0x47"], ["0x100c135e", "mov dword ptr [ebp - 0x14], eax"], ["0x100c1361", "mov eax, dword ptr [ebp - 0x10]"], ["0x100c1364", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c1367", "mov dword ptr [eax + 0x28], 0"], ["0x100c136e", "mov edx, dword ptr [ecx]"], ["0x100c1370", "lea ecx, [ebp - 0xb0]"], ["0x100c1376", "mov dword ptr [ebp - 0x18], edx"], ["0x100c1379", "call MxDSAction::MxDSAction (FUNCTION)"], ["0x100c137e", "push eax"], ["0x100c137f", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c1382", "mov esi, dword ptr [ebp - 0x18]"], ["0x100c1385", "mov byte ptr [ebp - 4], 8"], ["0x100c1389", "call dword ptr [esi + 0x20]"], ["0x100c138c", "mov byte ptr [ebp - 4], 7"], ["0x100c1390", "call <OFFSET7>"], ["0x100c1395", "cmp dword ptr [ebp - 0x14], 0"], ["0x100c1399", "je 0xa"], ["0x100c139b", "mov eax, dword ptr [ebp - 0x18]"], ["0x100c139e", "push 1"], ["0x100c13a0", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c13a3", "call dword ptr [eax]"], ["0x100c13a5", "mov eax, dword ptr [ebp - 0x10]"], ["0x100c13a8", "mov eax, dword ptr [eax + 0x2c]"], ["0x100c13ab", "test eax, eax"], ["0x100c13ad", "je 0x13"], ["0x100c13af", "push eax"], ["0x100c13b0", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100c13b5", "add esp, 4"], ["0x100c13b8", "mov eax, dword ptr [ebp - 0x10]"], ["0x100c13bb", "mov dword ptr [eax + 0x2c], 0"], ["0x100c13c2", "mov eax, dword ptr [ebp - 0x10]"], ["0x100c13c5", "cmp dword ptr [eax + 0x5c], 0"], ["0x100c13c9", "je 0x46"], ["0x100c13cb", "mov ecx, dword ptr [eax + 0x58]"], ["0x100c13ce", "mov eax, dword ptr [ecx]"], ["0x100c13d0", "mov dword ptr [ebp - 0x14], eax"], ["0x100c13d3", "mov esi, dword ptr [eax + 8]"], ["0x100c13d6", "lea edx, [eax + 4]"], ["0x100c13d9", "mov eax, dword ptr [eax]"], ["0x100c13db", "mov ecx, dword ptr [edx]"], ["0x100c13dd", "mov dword ptr [ecx], eax"], ["0x100c13df", "mov ecx, dword ptr [edx]"], ["0x100c13e1", "mov eax, dword ptr [ebp - 0x14]"], ["0x100c13e4", "push eax"], ["0x100c13e5", "mov edx, dword ptr [eax]"], ["0x100c13e7", "mov dword ptr [edx + 4], ecx"], ["0x100c13ea", "call ??3@YAXPAX@Z (FUNCTION)"], ["0x100c13ef", "add esp, 4"], ["0x100c13f2", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100c13f5", "dec dword ptr [ecx + 0x5c]"], ["0x100c13f8", "test esi, esi"], ["0x100c13fa", "je -0x3a"], ["0x100c13fc", "push 1"], ["0x100c13fe", "mov eax, dword ptr [esi]"], ["0x100c1400", "mov ecx, esi"], ["0x100c1402", "call dword ptr [eax]"], ["0x100c1404", "jmp -0x44"], ["0x100c1406", "lea ecx, [ebp - 0xb0]"]], "recomp": [["0x100ad59a", "lea ecx, [ebp - 0xb4]"]]}, {"both": [["0x100c140c", "jmp MxDSAction::~MxDSAction (FUNCTION)", "0x100ad5a0"], ["0x100c1411", "mov byte ptr [ebp - 4], 6", "0x100ad5a5"]]}, {"orig": [["0x100c1415", "call <OFFSET8>"]], "recomp": [["0x100ad5a9", "call <OFFSET9>"]]}, {"both": [["0x100c141a", "mov byte ptr [ebp - 4], 5", "0x100ad5ae"]]}, {"orig": [["0x100c141e", "call <OFFSET9>"]], "recomp": [["0x100ad5b2", "call <OFFSET10>"]]}, {"both": [["0x100c1423", "mov byte ptr [ebp - 4], 4", "0x100ad5b7"]]}, {"orig": [["0x100c1427", "call <OFFSET10>"]], "recomp": [["0x100ad5bb", "call <OFFSET11>"]]}, {"both": [["0x100c142c", "mov byte ptr [ebp - 4], 3", "0x100ad5c0"]]}, {"orig": [["0x100c1430", "call <OFFSET11>"]], "recomp": [["0x100ad5c4", "call <OFFSET12>"]]}, {"both": [["0x100c1435", "mov byte ptr [ebp - 4], 2", "0x100ad5c9"]]}, {"orig": [["0x100c1439", "call <OFFSET12>"]], "recomp": [["0x100ad5cd", "call <OFFSET13>"]]}, {"both": [["0x100c143e", "mov byte ptr [ebp - 4], 1", "0x100ad5d2"]]}, {"orig": [["0x100c1442", "call <OFFSET13>"]], "recomp": [["0x100ad5d6", "call <OFFSET14>"]]}, {"both": [["0x100c1447", "mov byte ptr [ebp - 4], 0", "0x100ad5db"]]}, {"orig": [["0x100c144b", "call <OFFSET14>"]], "recomp": [["0x100ad5df", "call <OFFSET15>"]]}, {"both": [["0x100c1450", "mov dword ptr [ebp - 4], 0xffffffff", "0x100ad5e4"]]}, {"orig": [["0x100c1457", "call <OFFSET15>"]], "recomp": [["0x100ad5eb", "call <OFFSET16>"]]}, {"both": [["0x100c145c", "mov eax, dword ptr [ebp - 0xc]", "0x100ad5f0"], ["0x100c145f", "pop esi", "0x100ad5f3"], ["0x100c1460", "mov dword ptr fs:[0], eax", "0x100ad5f4"], ["0x100c1466", "mov esp, ebp", "0x100ad5fa"], ["0x100c1468", "pop ebp", "0x100ad5fc"], ["0x100c1469", "ret ", "0x100ad5fd"]]}, {"orig": [["0x100c146a", "lea ecx, [ebp - 0x1c]"]], "recomp": [["0x100ad5fe", "lea ecx, [ebp - 0x20]"]]}, {"both": [["0x100c146d", "jmp MxAutoLock::~MxAutoLock (FUNCTION)", "0x100ad601"], ["0x100c1472", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad606"], ["0x100c1475", "add ecx, 0x54", "0x100ad609"], ["0x100c1478", "jmp MxDSObjectList::~MxDSObjectList (FUNCTION)", "0x100ad60c"], ["0x100c147d", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad611"], ["0x100c1480", "add ecx, 0x48", "0x100ad614"], ["0x100c1483", "jmp MxNextActionDataStartList::~MxNextActionDataStartList (FUNCTION)", "0x100ad617"], ["0x100c1488", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad61c"], ["0x100c148b", "add ecx, 0x3c", "0x100ad61f"], ["0x100c148e", "jmp MxDSObjectList::~MxDSObjectList (FUNCTION)", "0x100ad622"], ["0x100c1493", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad627"], ["0x100c1496", "add ecx, 0x30", "0x100ad62a"], ["0x100c1499", "jmp MxDSSubscriberList::~MxDSSubscriberList (FUNCTION)", "0x100ad62d"], ["0x100c149e", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad632"], ["0x100c14a1", "add ecx, 0x24", "0x100ad635"], ["0x100c14a4", "jmp MxAtomId::~MxAtomId (FUNCTION)", "0x100ad638"], ["0x100c14a9", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad63d"], ["0x100c14ac", "add ecx, 8", "0x100ad640"], ["0x100c14af", "jmp MxCriticalSection::~MxCriticalSection (FUNCTION)", "0x100ad643"]]}, {"orig": [["0x100c14b4", "mov eax, <OFFSET16>"]], "recomp": [["0x100ad648", "mov eax, <OFFSET17>"]]}, {"both": [["0x100c14b9", "jmp ___CxxFrameHandler (FUNCTION)", "0x100ad64d"], ["0x100c14be", "mov ecx, dword ptr [ebp - 0x10]", "0x100ad652"], ["0x100c14c1", "jmp MxCore::~MxCore (FUNCTION)", "0x100ad655"]]}]]]}, {"address": "0x100c14d0", "recomp": "0x100ad680", "name": "list<MxDSObject *,allocator<MxDSObject *> >::erase", "matching": 1.0, "diff": []}, {"address": "0x100c1520", "recomp": "0x100ad6d0", "name": "MxStreamController::Open", "matching": 1.0, "diff": []}, {"address": "0x100c15d0", "recomp": "0x100ad780", "name": "MxStreamController::AddSubscriber", "matching": 1.0, "diff": []}, {"address": "0x100c1620", "recomp": "0x100ad7d0", "name": "MxStreamController::RemoveSubscriber", "matching": 0.6410256410256411, "diff": [["@@ -0x100c1620,38 +0x100ad7d0,40 @@", [{"both": [["0x100c1620", "sub esp, 0xc", "0x100ad7d0"], ["0x100c1623", "push esi", "0x100ad7d3"]]}, {"orig": [], "recomp": [["0x100ad7d4", "push edi"]]}, {"both": [["0x100c1624", "mov eax, dword ptr [ecx + 0x34]", "0x100ad7d5"], ["0x100c1627", "mov esi, ecx", "0x100ad7d8"]]}, {"orig": [["0x100c1629", "mov dword ptr [esp + 0xc], eax"]], "recomp": [["0x100ad7da", "mov dword ptr [esp + 0x10], eax"]]}, {"both": [["0x100c162d", "mov ecx, dword ptr [eax]", "0x100ad7de"]]}, {"orig": [["0x100c162f", "mov dword ptr [esp + 4], ecx"]], "recomp": [["0x100ad7e0", "mov dword ptr [esp + 8], ecx"]]}, {"both": [["0x100c1633", "cmp ecx, eax", "0x100ad7e4"], ["0x100c1635", "je 0x4d", "0x100ad7e6"]]}, {"orig": [["0x100c1637", "mov eax, dword ptr [esp + 4]"], ["0x100c163b", "mov ecx, dword ptr [esp + 0x14]"], ["0x100c163f", "cmp dword ptr [eax + 8], ecx"]], "recomp": [["0x100ad7e8", "mov edi, dword ptr [esp + 0x18]"], ["0x100ad7ec", "mov eax, dword ptr [esp + 8]"], ["0x100ad7f0", "cmp dword ptr [eax + 8], edi"]]}, {"both": [["0x100c1642", "jne 0x2c", "0x100ad7f3"], ["0x100c1644", "mov ecx, dword ptr [eax]", "0x100ad7f5"], ["0x100c1646", "lea edx, [eax + 4]", "0x100ad7f7"]]}, {"orig": [["0x100c1649", "mov dword ptr [esp + 8], eax"], ["0x100c164d", "mov dword ptr [esp + 4], ecx"]], "recomp": [["0x100ad7fa", "mov dword ptr [esp + 0xc], eax"], ["0x100ad7fe", "mov dword ptr [esp + 8], ecx"]]}, {"both": [["0x100c1651", "mov eax, ecx", "0x100ad802"], ["0x100c1653", "mov ecx, dword ptr [edx]", "0x100ad804"], ["0x100c1655", "mov dword ptr [ecx], eax", "0x100ad806"], ["0x100c1657", "mov ecx, dword ptr [edx]", "0x100ad808"]]}, {"orig": [["0x100c1659", "mov eax, dword ptr [esp + 8]"]], "recomp": [["0x100ad80a", "mov eax, dword ptr [esp + 0xc]"]]}, {"both": [["0x100c165d", "push eax", "0x100ad80e"], ["0x100c165e", "mov edx, dword ptr [eax]", "0x100ad80f"], ["0x100c1660", "mov dword ptr [edx + 4], ecx", "0x100ad811"], ["0x100c1663", "call ??3@YAXPAX@Z (FUNCTION)", "0x100ad814"], ["0x100c1668", "add esp, 4", "0x100ad819"], ["0x100c166b", "dec dword ptr [esi + 0x38]", "0x100ad81c"], ["0x100c166e", "jmp 0xa", "0x100ad81f"]]}, {"orig": [["0x100c1670", "mov eax, dword ptr [esp + 4]"]], "recomp": [["0x100ad821", "mov eax, dword ptr [esp + 8]"]]}, {"both": [["0x100c1674", "mov ecx, dword ptr [eax]", "0x100ad825"]]}, {"orig": [["0x100c1676", "mov dword ptr [esp + 4], ecx"], ["0x100c167a", "mov eax, dword ptr [esp + 0xc]"], ["0x100c167e", "cmp dword ptr [esp + 4], eax"], ["0x100c1682", "jne -0x4d"]], "recomp": [["0x100ad827", "mov dword ptr [esp + 8], ecx"], ["0x100ad82b", "mov eax, dword ptr [esp + 0x10]"], ["0x100ad82f", "cmp dword ptr [esp + 8], eax"], ["0x100ad833", "jne -0x49"], ["0x100ad835", "pop edi"]]}, {"both": [["0x100c1684", "pop esi", "0x100ad836"], ["0x100c1685", "add esp, 0xc", "0x100ad837"], ["0x100c1688", "ret 4", "0x100ad83a"]]}]]]}, {"address": "0x100c1690", "recomp": "0x100ad840", "name": "MxStreamController::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100c1740", "recomp": "0x100ad8f0", "name": "MxStreamController::VTable0x24", "matching": 1.0, "diff": []}, {"address": "0x100c1800", "recomp": "0x100ad9b0", "name": "MxStreamController::FUN_100c1800", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c1835,59 +0x100ad9e5,59 @@", [{"both": [["0x100c1835", "mov esi, eax", "0x100ad9e5"], ["0x100c1837", "test esi, esi", "0x100ad9e7"], ["0x100c1839", "je 0x38", "0x100ad9e9"], ["0x100c183b", "mov eax, dword ptr [ebp + 8]", "0x100ad9eb"], ["0x100c183e", "mov ecx, esi", "0x100ad9ee"], ["0x100c1840", "mov di, word ptr [eax + 0x24]", "0x100ad9f0"], ["0x100c1844", "mov ebx, dword ptr [eax + 0x1c]", "0x100ad9f4"], ["0x100c1847", "call MxCore::MxCore (FUNCTION)", "0x100ad9f7"], ["0x100c184c", "mov byte ptr [ebp - 4], 1", "0x100ad9fc"], ["0x100c1850", "mov eax, dword ptr [ebp + 0xc]", "0x100ada00"]]}, {"orig": [], "recomp": [["0x100ada03", "mov dword ptr [esi], MxNextActionDataStart::`vftable' (VTABLE)"], ["0x100ada09", "mov byte ptr [ebp - 4], 0"]]}, {"both": [["0x100c1853", "mov dword ptr [esi + 8], ebx", "0x100ada0d"]]}, {"orig": [["0x100c1856", "mov byte ptr [ebp - 4], 0"]], "recomp": []}, {"both": [["0x100c185a", "mov word ptr [esi + 0xc], di", "0x100ada10"], ["0x100c185e", "mov edi, esi", "0x100ada14"], ["0x100c1860", "mov dword ptr [esi + 0x10], eax", "0x100ada16"]]}, {"orig": [["0x100c1863", "mov dword ptr [esi], MxNextActionDataStart::`vftable' (VTABLE)"]], "recomp": []}, {"both": [["0x100c1869", "jmp 0xa", "0x100ada19"], ["0x100c186b", "mov ecx, dword ptr [ebp - 0x10]", "0x100ada1b"], ["0x100c186e", "jmp MxCore::~MxCore (FUNCTION)", "0x100ada1e"], ["0x100c1873", "xor edi, edi", "0x100ada23"], ["0x100c1875", "mov dword ptr [ebp - 4], 0xffffffff", "0x100ada25"], ["0x100c187c", "test edi, edi", "0x100ada2c"], ["0x100c187e", "jne 0x18", "0x100ada2e"], ["0x100c1880", "mov eax, 0xffffffff", "0x100ada30"], ["0x100c1885", "mov ecx, dword ptr [ebp - 0xc]", "0x100ada35"], ["0x100c1888", "pop edi", "0x100ada38"], ["0x100c1889", "mov dword ptr fs:[0], ecx", "0x100ada39"], ["0x100c1890", "pop esi", "0x100ada40"], ["0x100c1891", "pop ebx", "0x100ada41"], ["0x100c1892", "mov esp, ebp", "0x100ada42"], ["0x100c1894", "pop ebp", "0x100ada44"], ["0x100c1895", "ret 8", "0x100ada45"], ["0x100c1898", "mov eax, dword ptr [ebp - 0x14]", "0x100ada48"], ["0x100c189b", "push 0xc", "0x100ada4b"], ["0x100c189d", "mov ecx, dword ptr [eax + 0x4c]", "0x100ada4d"], ["0x100c18a0", "mov dword ptr [ebp - 0x10], ecx", "0x100ada50"]]}, {"orig": [["0x100c18a3", "lea esi, [ecx + 4]"], ["0x100c18a6", "mov ebx, dword ptr [esi]"]], "recomp": [["0x100ada53", "lea ebx, [ecx + 4]"], ["0x100ada56", "mov esi, dword ptr [ebx]"]]}, {"both": [["0x100c18a8", "call ??2@YAPAXI@Z (FUNCTION)", "0x100ada58"], ["0x100c18ad", "add esp, 4", "0x100ada5d"]]}, {"orig": [["0x100c18b0", "test ebx, ebx"]], "recomp": [["0x100ada60", "test esi, esi"]]}, {"both": [["0x100c18b2", "je 0xa", "0x100ada62"], ["0x100c18b4", "mov ecx, dword ptr [ebp - 0x10]", "0x100ada64"], ["0x100c18b7", "mov dword ptr [eax], ecx", "0x100ada67"]]}, {"orig": [["0x100c18b9", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x100ada69", "mov dword ptr [eax + 4], esi"]]}, {"both": [["0x100c18bc", "jmp 0x5", "0x100ada6c"], ["0x100c18be", "mov dword ptr [eax], eax", "0x100ada6e"], ["0x100c18c0", "mov dword ptr [eax + 4], eax", "0x100ada70"]]}, {"orig": [["0x100c18c3", "mov dword ptr [esi], eax"]], "recomp": [["0x100ada73", "mov dword ptr [ebx], eax"]]}, {"both": [["0x100c18c5", "mov ecx, dword ptr [eax + 4]", "0x100ada75"], ["0x100c18c8", "mov dword ptr [ecx], eax", "0x100ada78"], ["0x100c18ca", "add eax, 8", "0x100ada7a"], ["0x100c18cd", "je 0x2", "0x100ada7d"], ["0x100c18cf", "mov dword ptr [eax], edi", "0x100ada7f"], ["0x100c18d1", "mov eax, dword ptr [ebp - 0x14]", "0x100ada81"], ["0x100c18d4", "inc dword ptr [eax + 0x50]", "0x100ada84"], ["0x100c18d7", "xor eax, eax", "0x100ada87"], ["0x100c18d9", "jmp -0x56", "0x100ada89"], ["0x100c18db", "mov eax, <OFFSET5>", "0x100ada8b"]]}]]]}, {"address": "0x100c1900", "recomp": "0x100adab0", "name": "MxNextActionDataStart::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c1910", "recomp": "0x100adac0", "name": "MxNextActionDataStart::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c1990", "recomp": "0x100adb40", "name": "MxNextActionDataStart::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c1a00", "recomp": "0x100adbb0", "name": "MxStreamController::FUN_100c1a00", "matching": 0.44660194174757284, "diff": [["@@ -0x100c1a00,154 +0x100adbb0,155 @@", [{"both": [["0x100c1a00", "mov eax, dword ptr fs:[0]", "0x100adbb0"], ["0x100c1a06", "push ebp", "0x100adbb6"], ["0x100c1a07", "mov ebp, esp", "0x100adbb7"], ["0x100c1a09", "push -1", "0x100adbb9"], ["0x100c1a0b", "push <OFFSET1>", "0x100adbbb"], ["0x100c1a10", "push eax", "0x100adbc0"], ["0x100c1a11", "mov dword ptr fs:[0], esp", "0x100adbc1"]]}, {"orig": [["0x100c1a18", "sub esp, 0xc"], ["0x100c1a1b", "mov dword ptr [ebp - 0x14], ecx"]], "recomp": [["0x100adbc8", "sub esp, 8"]]}, {"both": [["0x100c1a1e", "push ebx", "0x100adbcb"], ["0x100c1a1f", "push esi", "0x100adbcc"], ["0x100c1a20", "push edi", "0x100adbcd"]]}, {"orig": [["0x100c1a21", "mov esi, dword ptr [ebp + 8]"], ["0x100c1a24", "cmp word ptr [esi + 0x24], -1"], ["0x100c1a29", "jne 0xd6"]], "recomp": [["0x100adbce", "mov esi, ecx"], ["0x100adbd0", "mov edi, dword ptr [ebp + 8]"], ["0x100adbd3", "cmp word ptr [edi + 0x24], -1"], ["0x100adbd8", "jne 0xe3"]]}, {"both": [["0x100c1a2f", "mov cx, 0xffff", "0x100adbde"]]}, {"orig": [["0x100c1a33", "mov eax, dword ptr [ebp - 0x14]"], ["0x100c1a36", "mov edx, dword ptr [eax + 0x58]"], ["0x100c1a39", "mov ebx, dword ptr [edx]"], ["0x100c1a3b", "mov edi, ebx"], ["0x100c1a3d", "cmp ebx, edx"], ["0x100c1a3f", "je 0x20"], ["0x100c1a41", "mov ebx, dword ptr [edi + 8]"], ["0x100c1a44", "mov eax, dword ptr [esi + 0x1c]"], ["0x100c1a47", "cmp dword ptr [ebx + 0x1c], eax"], ["0x100c1a4a", "jne 0xf"], ["0x100c1a4c", "mov ax, word ptr [ebx + 0x24]"], ["0x100c1a50", "cmp ax, cx"], ["0x100c1a53", "jg 0x3"], ["0x100c1a55", "mov ax, cx"], ["0x100c1a58", "mov cx, ax"], ["0x100c1a5b", "mov edi, dword ptr [edi]"], ["0x100c1a5d", "cmp edi, edx"], ["0x100c1a5f", "jne -0x20"], ["0x100c1a61", "cmp cx, -1"], ["0x100c1a65", "jne 0x6c"], ["0x100c1a67", "mov eax, dword ptr [ebp - 0x14]"], ["0x100c1a6a", "mov edx, dword ptr [eax + 0x40]"], ["0x100c1a6d", "mov ebx, dword ptr [edx]"], ["0x100c1a6f", "mov edi, ebx"], ["0x100c1a71", "cmp ebx, edx"], ["0x100c1a73", "je 0x20"], ["0x100c1a75", "mov ebx, dword ptr [edi + 8]"], ["0x100c1a78", "mov eax, dword ptr [esi + 0x1c]"], ["0x100c1a7b", "cmp dword ptr [ebx + 0x1c], eax"], ["0x100c1a7e", "jne 0xf"], ["0x100c1a80", "mov ax, word ptr [ebx + 0x24]"], ["0x100c1a84", "cmp ax, cx"], ["0x100c1a87", "jg 0x3"], ["0x100c1a89", "mov ax, cx"], ["0x100c1a8c", "mov cx, ax"], ["0x100c1a8f", "mov edi, dword ptr [edi]"], ["0x100c1a91", "cmp edi, edx"], ["0x100c1a93", "jne -0x20"], ["0x100c1a95", "cmp cx, -1"], ["0x100c1a99", "jne 0x38"], ["0x100c1a9b", "mov eax, dword ptr [ebp - 0x14]"], ["0x100c1a9e", "mov edx, dword ptr [eax + 0x34]"], ["0x100c1aa1", "mov ebx, dword ptr [edx]"], ["0x100c1aa3", "mov dword ptr [ebp - 0x10], ebx"], ["0x100c1aa6", "cmp ebx, edx"]], "recomp": [["0x100adbe2", "mov edx, dword ptr [esi + 0x58]"], ["0x100adbe5", "mov eax, dword ptr [edx]"], ["0x100adbe7", "mov dword ptr [ebp - 0x10], eax"], ["0x100adbea", "cmp eax, edx"]]}, {"both": [["0x100c1aa8", "je 0x29", "0x100adbec"]]}, {"orig": [["0x100c1aaa", "mov edi, dword ptr [esi + 0x1c]"]], "recomp": [["0x100adbee", "mov ebx, dword ptr [edi + 0x1c]"]]}, {"both": [["0x100c1aad", "mov eax, dword ptr [ebp - 0x10]", "0x100adbf1"], ["0x100c1ab0", "mov eax, dword ptr [eax + 8]", "0x100adbf4"]]}, {"orig": [["0x100c1ab3", "cmp dword ptr [eax + 0x44], edi"]], "recomp": [["0x100adbf7", "cmp dword ptr [eax + 0x1c], ebx"]]}, {"both": [["0x100c1ab6", "jne 0xf", "0x100adbfa"]]}, {"orig": [["0x100c1ab8", "mov ax, word ptr [eax + 0x48]"]], "recomp": [["0x100adbfc", "mov ax, word ptr [eax + 0x24]"]]}, {"both": [["0x100c1abc", "cmp ax, cx", "0x100adc00"], ["0x100c1abf", "jg 0x3", "0x100adc03"], ["0x100c1ac1", "mov ax, cx", "0x100adc05"], ["0x100c1ac4", "mov cx, ax", "0x100adc08"], ["0x100c1ac7", "mov eax, dword ptr [ebp - 0x10]", "0x100adc0b"]]}, {"orig": [["0x100c1aca", "mov ebx, dword ptr [eax]"]], "recomp": [["0x100adc0e", "mov eax, dword ptr [eax]"], ["0x100adc10", "mov dword ptr [ebp - 0x10], eax"], ["0x100adc13", "cmp eax, edx"], ["0x100adc15", "jne -0x26"], ["0x100adc17", "cmp cx, -1"], ["0x100adc1b", "jne 0x70"], ["0x100adc1d", "mov edx, dword ptr [esi + 0x40]"], ["0x100adc20", "mov eax, dword ptr [edx]"], ["0x100adc22", "mov dword ptr [ebp - 0x10], eax"], ["0x100adc25", "cmp eax, edx"], ["0x100adc27", "je 0x29"], ["0x100adc29", "mov eax, dword ptr [edi + 0x1c]"], ["0x100adc2c", "mov ebx, dword ptr [ebp - 0x10]"], ["0x100adc2f", "mov ebx, dword ptr [ebx + 8]"], ["0x100adc32", "cmp dword ptr [ebx + 0x1c], eax"], ["0x100adc35", "jne 0xf"], ["0x100adc37", "mov bx, word ptr [ebx + 0x24]"], ["0x100adc3b", "cmp bx, cx"], ["0x100adc3e", "jg 0x3"], ["0x100adc40", "mov bx, cx"], ["0x100adc43", "mov cx, bx"], ["0x100adc46", "mov ebx, dword ptr [ebp - 0x10]"], ["0x100adc49", "mov ebx, dword ptr [ebx]"], ["0x100adc4b", "mov dword ptr [ebp - 0x10], ebx"], ["0x100adc4e", "cmp ebx, edx"], ["0x100adc50", "jne -0x26"], ["0x100adc52", "cmp cx, -1"], ["0x100adc56", "jne 0x35"], ["0x100adc58", "mov edx, dword ptr [esi + 0x34]"], ["0x100adc5b", "mov eax, dword ptr [edx]"], ["0x100adc5d", "mov dword ptr [ebp - 0x10], eax"], ["0x100adc60", "cmp eax, edx"], ["0x100adc62", "je 0x29"], ["0x100adc64", "mov eax, dword ptr [edi + 0x1c]"], ["0x100adc67", "mov ebx, dword ptr [ebp - 0x10]"], ["0x100adc6a", "mov ebx, dword ptr [ebx + 8]"], ["0x100adc6d", "cmp dword ptr [ebx + 0x44], eax"], ["0x100adc70", "jne 0xf"], ["0x100adc72", "mov bx, word ptr [ebx + 0x48]"], ["0x100adc76", "cmp bx, cx"], ["0x100adc79", "jg 0x3"], ["0x100adc7b", "mov bx, cx"], ["0x100adc7e", "mov cx, bx"], ["0x100adc81", "mov ebx, dword ptr [ebp - 0x10]"], ["0x100adc84", "mov ebx, dword ptr [ebx]"]]}, {"both": [["0x100c1acc", "mov dword ptr [ebp - 0x10], ebx", "0x100adc86"], ["0x100c1acf", "cmp ebx, edx", "0x100adc89"], ["0x100c1ad1", "jne -0x26", "0x100adc8b"], ["0x100c1ad3", "inc cx", "0x100adc8d"]]}, {"orig": [["0x100c1ad5", "mov word ptr [esi + 0x24], cx"]], "recomp": [["0x100adc8f", "mov word ptr [edi + 0x24], cx"]]}, {"both": [["0x100c1ad9", "push 0xb4", "0x100adc93"], ["0x100c1ade", "call ??2@YAPAXI@Z (FUNCTION)", "0x100adc98"], ["0x100c1ae3", "add esp, 4", "0x100adc9d"], ["0x100c1ae6", "mov dword ptr [ebp - 0x10], eax", "0x100adca0"], ["0x100c1ae9", "mov dword ptr [ebp - 4], 0", "0x100adca3"]]}, {"orig": [["0x100c1af0", "test eax, eax"], ["0x100c1af2", "je 0x3b"]], "recomp": [["0x100adcaa", "cmp dword ptr [ebp - 0x10], 0"], ["0x100adcae", "je 0x38"]]}, {"both": [["0x100c1af4", "mov eax, dword ptr [ebp + 0xc]", "0x100adcb0"], ["0x100c1af7", "mov ecx, dword ptr [ebp - 0x10]", "0x100adcb3"], ["0x100c1afa", "push eax", "0x100adcb6"]]}, {"orig": [["0x100c1afb", "push esi"]], "recomp": [["0x100adcb7", "push edi"]]}, {"both": [["0x100c1afc", "call MxDSStreamingAction::MxDSStreamingAction (FUNCTION)", "0x100adcb8"]]}, {"orig": [["0x100c1b01", "mov edi, eax"], ["0x100c1b03", "jmp 0x2c"]], "recomp": [["0x100adcbd", "mov ebx, eax"], ["0x100adcbf", "jmp 0x29"]]}, {"both": [["0x100c1b05", "push 0", "0x100adcc1"]]}, {"orig": [["0x100c1b07", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c1b0a", "push esi"], ["0x100c1b0b", "add ecx, 0x3c"]], "recomp": [["0x100adcc3", "lea ecx, [esi + 0x3c]"], ["0x100adcc6", "push edi"]]}, {"both": [["0x100c1b0e", "call MxDSObjectList::FindInternal (FUNCTION)", "0x100adcc7"], ["0x100c1b13", "test eax, eax", "0x100adccc"]]}, {"orig": [["0x100c1b15", "je -0x3e"]], "recomp": [["0x100adcce", "je -0x3d"]]}, {"both": [["0x100c1b17", "mov eax, 0xffffffff", "0x100adcd0"], ["0x100c1b1c", "mov ecx, dword ptr [ebp - 0xc]", "0x100adcd5"], ["0x100c1b1f", "pop edi", "0x100adcd8"], ["0x100c1b20", "mov dword ptr fs:[0], ecx", "0x100adcd9"], ["0x100c1b27", "pop esi", "0x100adce0"], ["0x100c1b28", "pop ebx", "0x100adce1"], ["0x100c1b29", "mov esp, ebp", "0x100adce2"], ["0x100c1b2b", "pop ebp", "0x100adce4"], ["0x100c1b2c", "ret 8", "0x100adce5"]]}, {"orig": [["0x100c1b2f", "xor edi, edi"]], "recomp": [["0x100adce8", "xor ebx, ebx"]]}, {"both": [["0x100c1b31", "mov dword ptr [ebp - 4], 0xffffffff", "0x100adcea"]]}, {"orig": [["0x100c1b38", "test edi, edi"]], "recomp": [["0x100adcf1", "test ebx, ebx"]]}, {"both": [["0x100c1b3a", "je -0x25", "0x100adcf3"]]}, {"orig": [["0x100c1b3c", "mov eax, dword ptr [ebp - 0x14]"], ["0x100c1b3f", "mov ecx, dword ptr [eax + 0x28]"], ["0x100c1b42", "mov ebx, dword ptr [ecx]"], ["0x100c1b44", "call dword ptr [ebx + 0x18]"]], "recomp": [["0x100adcf5", "mov ecx, dword ptr [esi + 0x28]"], ["0x100adcf8", "mov eax, dword ptr [ecx]"], ["0x100adcfa", "call dword ptr [eax + 0x18]"]]}, {"both": [["0x100c1b47", "mov ecx, eax", "0x100adcfd"], ["0x100c1b49", "sub edx, edx", "0x100adcff"], ["0x100c1b4b", "mov eax, dword ptr [ebp + 0xc]", "0x100add01"], ["0x100c1b4e", "div ecx", "0x100add04"], ["0x100c1b50", "imul eax, ecx", "0x100add06"]]}, {"orig": [["0x100c1b53", "mov dword ptr [edi + 0x98], eax"], ["0x100c1b59", "mov ecx, dword ptr [esi + 0x1c]"], ["0x100c1b5c", "mov dword ptr [edi + 0x1c], ecx"]], "recomp": [["0x100add09", "mov dword ptr [ebx + 0x98], eax"], ["0x100add0f", "mov ecx, dword ptr [edi + 0x1c]"], ["0x100add12", "mov dword ptr [ebx + 0x1c], ecx"]]}, {"both": [["0x100c1b5f", "call Timer (FUNCTION)", "0x100add15"], ["0x100c1b64", "cmp byte ptr [eax + 0xc], 0", "0x100add1a"], ["0x100c1b68", "je 0x8", "0x100add1e"], ["0x100c1b6a", "mov ecx, dword ptr [MxTimer::g_lastTimeTimerStarted (DATA)]", "0x100add20"], ["0x100c1b70", "jmp 0x9", "0x100add26"], ["0x100c1b72", "mov ecx, dword ptr [MxTimer::g_lastTimeCalculated (DATA)]", "0x100add28"], ["0x100c1b78", "sub ecx, dword ptr [eax + 8]", "0x100add2e"], ["0x100c1b7b", "push ecx", "0x100add31"]]}, {"orig": [["0x100c1b7c", "mov eax, dword ptr [edi]"], ["0x100c1b7e", "mov ecx, edi"]], "recomp": [["0x100add32", "mov eax, dword ptr [ebx]"], ["0x100add34", "mov ecx, ebx"]]}, {"both": [["0x100c1b80", "call dword ptr [eax + 0x38]", "0x100add36"]]}, {"orig": [["0x100c1b83", "mov dword ptr [ebp - 0x18], edi"], ["0x100c1b86", "lea edi, [ebp - 0x18]"], ["0x100c1b89", "mov eax, dword ptr [ebp - 0x14]"], ["0x100c1b8c", "push edi"], ["0x100c1b8d", "mov ecx, dword ptr [eax + 0x40]"], ["0x100c1b90", "lea eax, [ebp - 0x14]"]], "recomp": [["0x100add39", "mov eax, dword ptr [esi + 0x40]"], ["0x100add3c", "lea ecx, [ebp - 0x10]"], ["0x100add3f", "mov dword ptr [ebp - 0x14], ebx"], ["0x100add42", "lea ebx, [ebp - 0x14]"], ["0x100add45", "push ebx"], ["0x100add46", "push eax"]]}, {"both": [["0x100c1b93", "push ecx", "0x100add47"]]}, {"orig": [["0x100c1b94", "push eax"], ["0x100c1b95", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c1b98", "add ecx, 0x3c"]], "recomp": [["0x100add48", "lea ecx, [esi + 0x3c]"]]}, {"both": [["0x100c1b9b", "call list<MxDSObject *,allocator<MxDSObject *> >::insert (FUNCTION)", "0x100add4b"], ["0x100c1ba0", "xor eax, eax", "0x100add50"]]}, {"orig": [["0x100c1ba2", "jmp -0x8b"]], "recomp": [["0x100add52", "jmp -0x7f"]]}, {"both": [["0x100c1ba7", "mov eax, <OFFSET9>", "0x100add54"], ["0x100c1bac", "jmp ___CxxFrameHandler (FUNCTION)", "0x100add59"], ["0x100c1bb1", "mov eax, dword ptr [ebp - 0x10]", "0x100add5e"], ["0x100c1bb4", "push eax", "0x100add61"], ["0x100c1bb5", "call ??3@YAXPAX@Z (FUNCTION)", "0x100add62"]]}, {"orig": [], "recomp": [["0x100add67", "add esp, 4"], ["0x100add6a", "ret "]]}]]]}, {"address": "0x100c1bc0", "recomp": "0x100add70", "name": "list<MxDSObject *,allocator<MxDSObject *> >::insert", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c1bc0,28 +0x100add70,28 @@", [{"both": [["0x100c1bc0", "push ebx", "0x100add70"], ["0x100c1bc1", "push esi", "0x100add71"], ["0x100c1bc2", "push edi", "0x100add72"], ["0x100c1bc3", "mov esi, ecx", "0x100add73"]]}, {"orig": [["0x100c1bc5", "mov ebx, dword ptr [esp + 0x14]"]], "recomp": [["0x100add75", "mov edi, dword ptr [esp + 0x14]"]]}, {"both": [["0x100c1bc9", "push 0xc", "0x100add79"]]}, {"orig": [["0x100c1bcb", "mov edi, dword ptr [ebx + 4]"]], "recomp": [["0x100add7b", "mov ebx, dword ptr [edi + 4]"]]}, {"both": [["0x100c1bce", "call ??2@YAPAXI@Z (FUNCTION)", "0x100add7e"], ["0x100c1bd3", "add esp, 4", "0x100add83"]]}, {"orig": [["0x100c1bd6", "test edi, edi"]], "recomp": [["0x100add86", "test ebx, ebx"]]}, {"both": [["0x100c1bd8", "je 0x7", "0x100add88"]]}, {"orig": [["0x100c1bda", "mov dword ptr [eax], ebx"], ["0x100c1bdc", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x100add8a", "mov dword ptr [eax], edi"], ["0x100add8c", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x100c1bdf", "jmp 0x5", "0x100add8f"], ["0x100c1be1", "mov dword ptr [eax], eax", "0x100add91"], ["0x100c1be3", "mov dword ptr [eax + 4], eax", "0x100add93"], ["0x100c1be6", "lea edx, [eax + 8]", "0x100add96"]]}, {"orig": [["0x100c1be9", "mov dword ptr [ebx + 4], eax"]], "recomp": [["0x100add99", "mov dword ptr [edi + 4], eax"]]}, {"both": [["0x100c1bec", "mov ecx, dword ptr [eax + 4]", "0x100add9c"], ["0x100c1bef", "test edx, edx", "0x100add9f"], ["0x100c1bf1", "mov dword ptr [ecx], eax", "0x100adda1"], ["0x100c1bf3", "je 0x8", "0x100adda3"], ["0x100c1bf5", "mov ecx, dword ptr [esp + 0x18]", "0x100adda5"], ["0x100c1bf9", "mov ebx, dword ptr [ecx]", "0x100adda9"], ["0x100c1bfb", "mov dword ptr [edx], ebx", "0x100addab"], ["0x100c1bfd", "mov ecx, dword ptr [esp + 0x10]", "0x100addad"], ["0x100c1c01", "inc dword ptr [esi + 8]", "0x100addb1"], ["0x100c1c04", "pop edi", "0x100addb4"]]}]]]}, {"address": "0x100c1c10", "recomp": "0x100addc0", "name": "MxStreamController::VTable0x2c", "matching": 1.0, "diff": []}, {"address": "0x100c1ce0", "recomp": "0x100ade90", "name": "MxStreamController::VTable0x30", "matching": 1.0, "diff": []}, {"address": "0x100c1da0", "recomp": "0x100adf50", "name": "MxStreamController::InsertActionToList54", "matching": 1.0, "diff": []}, {"address": "0x100c1e70", "recomp": "0x100ae020", "name": "MxStreamController::FUN_100c1e70", "matching": 1.0, "diff": []}, {"address": "0x100c1f00", "recomp": "0x100ae0b0", "name": "MxStreamController::FUN_100c1f00", "matching": 1.0, "diff": []}, {"address": "0x100c20b0", "recomp": "0x100ae260", "name": "MxStreamController::FindNextActionDataStartFromStreamingAction", "matching": 1.0, "diff": []}, {"address": "0x100c20d0", "recomp": "0x100ae280", "name": "MxStreamController::IsStoped", "matching": 1.0, "diff": []}, {"address": "0x100c21e0", "recomp": "0x100ae390", "name": "MxNextActionDataStartList::Find", "matching": 1.0, "diff": []}, {"address": "0x100c2240", "recomp": "0x100ae3f0", "name": "MxNextActionDataStartList::FindAndErase", "matching": 1.0, "diff": []}, {"address": "0x100c22c0", "recomp": "0x100aea00", "name": "MxMusicPresenter::MxMusicPresenter", "matching": 1.0, "diff": []}, {"address": "0x100c23a0", "recomp": "0x100aeae0", "name": "MxMusicPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c23b0", "recomp": "0x100aeaf0", "name": "MxMusicPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c24c0", "recomp": "0x100aec00", "name": "MxMusicPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c24e0", "recomp": "0x100aec20", "name": "MxMusicPresenter::~MxMusicPresenter", "matching": 1.0, "diff": []}, {"address": "0x100c2540", "recomp": "0x100aec80", "name": "MxMusicPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100c2550", "recomp": "0x100aec90", "name": "MxMusicPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c25a0", "recomp": "0x100aece0", "name": "MxMusicPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100c25d0", "recomp": "0x100aed10", "name": "MxMusicPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c25e0", "recomp": "0x100ae470", "name": "MxMIDIPresenter::MxMIDIPresenter", "matching": 1.0, "diff": []}, {"address": "0x100c2650", "recomp": "0x100ae4e0", "name": "MxMIDIPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c2660", "recomp": "0x100ae4f0", "name": "MxMIDIPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c27a0", "recomp": "0x100ae630", "name": "MxMIDIPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c27c0", "recomp": "0x100ae650", "name": "MxMIDIPresenter::~MxMIDIPresenter", "matching": 1.0, "diff": []}, {"address": "0x100c2820", "recomp": "0x100ae6b0", "name": "MxMIDIPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100c2830", "recomp": "0x100ae6c0", "name": "MxMIDIPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c2890", "recomp": "0x100ae720", "name": "MxMIDIPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100c28d0", "recomp": "0x100ae760", "name": "MxMIDIPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2910", "recomp": "0x100ae7a0", "name": "MxMIDIPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2940", "recomp": "0x100ae7d0", "name": "MxMIDIPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2960", "recomp": "0x100ae7f0", "name": "MxMIDIPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c2970", "recomp": "0x100ae800", "name": "MxMIDIPresenter::PutData", "matching": 0.7105263157894737, "diff": [["@@ -0x100c2970,38 +0x100ae800,38 @@", [{"both": [["0x100c2970", "push ebx", "0x100ae800"], ["0x100c2971", "push esi", "0x100ae801"]]}, {"orig": [], "recomp": [["0x100ae802", "push edi"]]}, {"both": [["0x100c2972", "lea ebx, [ecx + 0x20]", "0x100ae803"]]}, {"orig": [["0x100c2975", "push edi"], ["0x100c2976", "mov esi, ecx"]], "recomp": [["0x100ae806", "mov edi, ecx"]]}, {"both": [["0x100c2978", "mov ecx, ebx", "0x100ae808"], ["0x100c297a", "call MxCriticalSection::Enter (FUNCTION)", "0x100ae80a"]]}, {"orig": [["0x100c297f", "cmp dword ptr [esi + 8], 3"]], "recomp": [["0x100ae80f", "cmp dword ptr [edi + 8], 3"]]}, {"both": [["0x100c2983", "jne 0x40", "0x100ae813"]]}, {"orig": [["0x100c2985", "cmp dword ptr [esi + 0x54], 0"]], "recomp": [["0x100ae815", "cmp dword ptr [edi + 0x54], 0"]]}, {"both": [["0x100c2989", "je 0x3a", "0x100ae819"], ["0x100c298b", "call MusicManager (FUNCTION)", "0x100ae81b"], ["0x100c2990", "cmp byte ptr [eax + 0x34], 0", "0x100ae820"], ["0x100c2994", "jne 0x2f", "0x100ae824"]]}, {"orig": [["0x100c2996", "mov edi, dword ptr [esi]"], ["0x100c2998", "mov eax, dword ptr [esi + 0x1c]"]], "recomp": [["0x100ae826", "mov esi, dword ptr [edi]"], ["0x100ae828", "mov eax, dword ptr [edi + 0x1c]"]]}, {"both": [["0x100c299b", "mov ecx, dword ptr [eax + 0xbc]", "0x100ae82b"], ["0x100c29a1", "push ecx", "0x100ae831"]]}, {"orig": [["0x100c29a2", "mov ecx, esi"], ["0x100c29a4", "call dword ptr [edi + 0x60]"]], "recomp": [["0x100ae832", "mov ecx, edi"], ["0x100ae834", "call dword ptr [esi + 0x60]"]]}, {"both": [["0x100c29a7", "push 1", "0x100ae837"]]}, {"orig": [["0x100c29a9", "mov ecx, dword ptr [esi + 0x54]"]], "recomp": [["0x100ae839", "mov ecx, dword ptr [edi + 0x54]"]]}, {"both": [["0x100c29ac", "mov edx, dword ptr [ecx + 0x18]", "0x100ae83c"], ["0x100c29af", "push edx", "0x100ae83f"], ["0x100c29b0", "call MusicManager (FUNCTION)", "0x100ae840"], ["0x100c29b5", "mov ecx, eax", "0x100ae845"], ["0x100c29b7", "call MxMusicManager::InitializeMIDI (FUNCTION)", "0x100ae847"], ["0x100c29bc", "test eax, eax", "0x100ae84c"], ["0x100c29be", "je 0x5", "0x100ae84e"]]}, {"orig": [["0x100c29c0", "mov ecx, esi"], ["0x100c29c2", "call dword ptr [edi + 0x40]"]], "recomp": [["0x100ae850", "mov ecx, edi"], ["0x100ae852", "call dword ptr [esi + 0x40]"]]}, {"both": [["0x100c29c5", "mov ecx, ebx", "0x100ae855"], ["0x100c29c7", "call MxCriticalSection::Leave (FUNCTION)", "0x100ae857"], ["0x100c29cc", "xor eax, eax", "0x100ae85c"], ["0x100c29ce", "pop edi", "0x100ae85e"], ["0x100c29cf", "pop esi", "0x100ae85f"], ["0x100c29d0", "pop ebx", "0x100ae860"], ["0x100c29d1", "ret ", "0x100ae861"]]}]]]}, {"address": "0x100c29e0", "recomp": "0x100ae870", "name": "MxMIDIPresenter::EndAction", "matching": 1.0, "diff": []}, {"address": "0x100c2a60", "recomp": "0x100ae8f0", "name": "MxMIDIPresenter::SetVolume", "matching": 1.0, "diff": []}, {"address": "0x100c2a80", "recomp": "0x100ae910", "name": "MxLoopingMIDIPresenter::StreamingTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2ae0", "recomp": "0x100ae970", "name": "MxLoopingMIDIPresenter::DoneTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2b00", "recomp": "0x100ae990", "name": "MxLoopingMIDIPresenter::PutData", "matching": 1.0, "diff": []}, {"address": "0x100c2b70", "recomp": "0x100af6f0", "name": "MxEventPresenter::MxEventPresenter", "matching": 1.0, "diff": []}, {"address": "0x100c2c30", "recomp": "0x100af7b0", "name": "MxEventPresenter::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c2c40", "recomp": "0x100af7c0", "name": "MxEventPresenter::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c2d20", "recomp": "0x100af8a0", "name": "MxEventPresenter::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c2d40", "recomp": "0x100af8c0", "name": "MxEventPresenter::~MxEventPresenter", "matching": 1.0, "diff": []}, {"address": "0x100c2da0", "recomp": "0x100af920", "name": "MxEventPresenter::Init", "matching": 1.0, "diff": []}, {"address": "0x100c2db0", "recomp": "0x100af930", "name": "MxEventPresenter::AddToManager", "matching": 1.0, "diff": []}, {"address": "0x100c2de0", "recomp": "0x100af960", "name": "MxEventPresenter::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c2e30", "recomp": "0x100af9b0", "name": "MxEventPresenter::CopyData", "matching": 1.0, "diff": []}, {"address": "0x100c2e70", "recomp": "0x100af9f0", "name": "MxEventPresenter::ReadyTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2eb0", "recomp": "0x100afa30", "name": "MxEventPresenter::StartingTickle", "matching": 1.0, "diff": []}, {"address": "0x100c2ef0", "recomp": "0x100afa70", "name": "MxEventPresenter::PutData", "matching": 0.84, "diff": [["@@ -0x100c2f0d,53 +0x100afa8d,52 @@", [{"both": [["0x100c2f0d", "lea eax, [ecx + 0x20]", "0x100afa8d"], ["0x100c2f10", "push edi", "0x100afa90"], ["0x100c2f11", "mov esi, ecx", "0x100afa91"], ["0x100c2f13", "push eax", "0x100afa93"], ["0x100c2f14", "lea ecx, [ebp - 0x10]", "0x100afa94"], ["0x100c2f17", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100afa97"], ["0x100c2f1c", "mov dword ptr [ebp - 4], 0", "0x100afa9c"], ["0x100c2f23", "mov ecx, esi", "0x100afaa3"], ["0x100c2f25", "call MxPresenter::IsEnabled (FUNCTION)", "0x100afaa5"], ["0x100c2f2a", "test al, al", "0x100afaaa"]]}, {"orig": [["0x100c2f2c", "je 0x72"]], "recomp": [["0x100afaac", "je 0x71"]]}, {"both": [["0x100c2f2e", "mov eax, dword ptr [esi + 8]", "0x100afaae"], ["0x100c2f31", "cmp eax, 3", "0x100afab1"]]}, {"orig": [["0x100c2f34", "jl 0x6a"]], "recomp": [["0x100afab4", "jl 0x69"]]}, {"both": [["0x100c2f36", "cmp eax, 4", "0x100afab6"], ["0x100c2f39", "jle 0x5", "0x100afab9"], ["0x100c2f3b", "cmp eax, 6", "0x100afabb"]]}, {"orig": [["0x100c2f3e", "jne 0x60"]], "recomp": [["0x100afabe", "jne 0x5f"]]}, {"both": [["0x100c2f40", "mov eax, dword ptr [esi + 0x4c]", "0x100afac0"], ["0x100c2f43", "test eax, eax", "0x100afac3"]]}, {"orig": [["0x100c2f45", "je 0x59"]], "recomp": [["0x100afac5", "je 0x58"]]}, {"both": [["0x100c2f47", "cmp dword ptr [eax + 0x14], 0", "0x100afac7"]]}, {"orig": [["0x100c2f4b", "je 0x53"]], "recomp": [["0x100afacb", "je 0x52"]]}, {"both": [["0x100c2f4d", "mov ecx, dword ptr [esi + 0x50]", "0x100afacd"], ["0x100c2f50", "cmp byte ptr [ecx + 0xc], 2", "0x100afad0"]]}, {"orig": [["0x100c2f54", "jne 0x31"]], "recomp": [["0x100afad4", "jne 0x30"]]}, {"both": [["0x100c2f56", "mov ebx, dword ptr [eax + 0x18]", "0x100afad6"], ["0x100c2f59", "call VariableTable (FUNCTION)", "0x100afad9"]]}, {"orig": [["0x100c2f5e", "mov edx, ebx"]], "recomp": []}, {"both": [["0x100c2f60", "mov edi, ebx", "0x100afade"], ["0x100c2f62", "mov ecx, 0xffffffff", "0x100afae0"], ["0x100c2f67", "mov dword ptr [ebp - 0x14], eax", "0x100afae5"], ["0x100c2f6a", "sub eax, eax", "0x100afae8"], ["0x100c2f6c", "repne scasb al, byte ptr es:[edi]", "0x100afaea"], ["0x100c2f6e", "not ecx", "0x100afaec"]]}, {"orig": [["0x100c2f70", "add ebx, ecx"]], "recomp": [["0x100afaee", "sub eax, eax"], ["0x100afaf0", "lea edx, [ecx + ebx]"], ["0x100afaf3", "mov edi, edx"]]}, {"both": [["0x100c2f72", "mov ecx, 0xffffffff", "0x100afaf5"]]}, {"orig": [["0x100c2f77", "mov edi, ebx"], ["0x100c2f79", "sub eax, eax"]], "recomp": []}, {"both": [["0x100c2f7b", "repne scasb al, byte ptr es:[edi]", "0x100afafa"]]}, {"orig": [], "recomp": [["0x100afafc", "push edx"], ["0x100afafd", "mov ecx, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100c2f7d", "push ebx", "0x100afb00"]]}, {"orig": [["0x100c2f7e", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c2f81", "push edx"]], "recomp": []}, {"both": [["0x100c2f82", "call MxVariableTable::SetVariable (FUNCTION)", "0x100afb01"], ["0x100c2f87", "cmp dword ptr [esi + 8], 3", "0x100afb06"], ["0x100c2f8b", "jne 0xc", "0x100afb0a"], ["0x100c2f8d", "mov eax, dword ptr [esi + 0x4c]", "0x100afb0c"], ["0x100c2f90", "mov ecx, dword ptr [esi + 0x40]", "0x100afb0f"], ["0x100c2f93", "push eax", "0x100afb12"], ["0x100c2f94", "call MxDSSubscriber::FreeDataChunk (FUNCTION)", "0x100afb13"], ["0x100c2f99", "mov dword ptr [esi + 0x4c], 0", "0x100afb18"], ["0x100c2fa0", "mov dword ptr [ebp - 4], 0xffffffff", "0x100afb1f"], ["0x100c2fa7", "call <OFFSET7>", "0x100afb26"]]}]], ["@@ -0x100c2fb1,10 +0x100afb30,11 @@", [{"both": [["0x100c2fb1", "mov dword ptr fs:[0], ecx", "0x100afb30"], ["0x100c2fb8", "pop edi", "0x100afb37"], ["0x100c2fb9", "pop esi", "0x100afb38"], ["0x100c2fba", "pop ebx", "0x100afb39"], ["0x100c2fbb", "mov esp, ebp", "0x100afb3a"], ["0x100c2fbd", "pop ebp", "0x100afb3c"], ["0x100c2fbe", "ret ", "0x100afb3d"], ["0x100c2fbf", "mov eax, <OFFSET8>", "0x100afb3e"], ["0x100c2fc4", "jmp ___CxxFrameHandler (FUNCTION)", "0x100afb43"], ["0x100c2fc9", "lea ecx, [ebp - 0x10]", "0x100afb48"]]}, {"orig": [], "recomp": [["0x100afb4b", "jmp MxAutoLock::~MxAutoLock (FUNCTION)"]]}]]]}, {"address": "0x100c2fe0", "recomp": "0x100b1610", "name": "MxStreamChunk::~MxStreamChunk", "matching": 1.0, "diff": []}, {"address": "0x100c3050", "recomp": "0x100b1680", "name": "MxStreamChunk::ReadChunk", "matching": 1.0, "diff": []}, {"address": "0x100c30a0", "recomp": "0x100b16d0", "name": "MxStreamChunk::ReadChunkHeader", "matching": 1.0, "diff": []}, {"address": "0x100c30e0", "recomp": "0x100b1710", "name": "MxStreamChunk::SendChunk", "matching": 1.0, "diff": []}, {"address": "0x100c3170", "recomp": "0x100b17a0", "name": "MxStreamChunk::SetBuffer", "matching": 1.0, "diff": []}, {"address": "0x100c3180", "recomp": "0x100b17b0", "name": "MxStreamChunk::IntoFlags", "matching": 1.0, "diff": []}, {"address": "0x100c3190", "recomp": "0x100b17c0", "name": "MxStreamChunk::IntoObjectId", "matching": 1.0, "diff": []}, {"address": "0x100c31a0", "recomp": "0x100b17d0", "name": "MxStreamChunk::IntoTime", "matching": 1.0, "diff": []}, {"address": "0x100c31b0", "recomp": "0x100b17e0", "name": "MxStreamChunk::IntoLength", "matching": 1.0, "diff": []}, {"address": "0x100c31c0", "recomp": "0x100b4be0", "name": "MxRegion::MxRegion", "matching": 1.0, "diff": []}, {"address": "0x100c32e0", "recomp": "0x100b4d00", "name": "MxCollection<MxRegionTopBottom *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100c32f0", "recomp": "0x100b4d10", "name": "MxCollection<MxRegionTopBottom *>::~MxCollection<MxRegionTopBottom *>", "matching": 1.0, "diff": []}, {"address": "0x100c3340", "recomp": "0x100b4d60", "name": "MxCollection<MxRegionTopBottom *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c3350", "recomp": "0x100b4d70", "name": "MxList<MxRegionTopBottom *>::~MxList<MxRegionTopBottom *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c3359,33 +0x100b4d79,33 @@", [{"both": [["0x100c3359", "push -1", "0x100b4d79"], ["0x100c335b", "push <OFFSET1>", "0x100b4d7b"], ["0x100c3360", "push eax", "0x100b4d80"], ["0x100c3361", "mov dword ptr fs:[0], esp", "0x100b4d81"], ["0x100c3368", "mov dword ptr [ecx], MxList<MxRegionTopBottom *>::`vftable' (VTABLE)", "0x100b4d88"], ["0x100c336e", "sub esp, 4", "0x100b4d8e"], ["0x100c3371", "mov dword ptr [ebp - 0x10], ecx", "0x100b4d91"], ["0x100c3374", "mov dword ptr [ebp - 4], 0", "0x100b4d94"], ["0x100c337b", "push esi", "0x100b4d9b"], ["0x100c337c", "push edi", "0x100b4d9c"]]}, {"orig": [["0x100c337d", "mov esi, dword ptr [ecx + 0x10]"], ["0x100c3380", "test esi, esi"]], "recomp": [["0x100b4d9d", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b4da0", "test edi, edi"]]}, {"both": [["0x100c3382", "je 0x1c", "0x100b4da2"]]}, {"orig": [["0x100c3384", "mov edi, dword ptr [esi + 8]"], ["0x100c3387", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b4da4", "mov esi, dword ptr [edi + 8]"], ["0x100b4da7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100c3389", "push eax", "0x100b4da9"], ["0x100c338a", "mov ecx, dword ptr [ebp - 0x10]", "0x100b4daa"], ["0x100c338d", "call dword ptr [ecx + 0xc]", "0x100b4dad"], ["0x100c3390", "add esp, 4", "0x100b4db0"]]}, {"orig": [["0x100c3393", "push esi"]], "recomp": [["0x100b4db3", "push edi"]]}, {"both": [["0x100c3394", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b4db4"], ["0x100c3399", "add esp, 4", "0x100b4db9"]]}, {"orig": [["0x100c339c", "mov esi, edi"]], "recomp": [["0x100b4dbc", "mov edi, esi"]]}, {"both": [["0x100c339e", "jmp -0x20", "0x100b4dbe"], ["0x100c33a0", "xor eax, eax", "0x100b4dc0"], ["0x100c33a2", "mov ecx, dword ptr [ebp - 0x10]", "0x100b4dc2"], ["0x100c33a5", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b4dc5"], ["0x100c33ac", "mov dword ptr [ecx + 8], eax", "0x100b4dcc"], ["0x100c33af", "mov dword ptr [ecx + 0x14], eax", "0x100b4dcf"], ["0x100c33b2", "mov dword ptr [ecx + 0x10], eax", "0x100b4dd2"], ["0x100c33b5", "call <OFFSET4>", "0x100b4dd5"], ["0x100c33ba", "mov eax, dword ptr [ebp - 0xc]", "0x100b4dda"], ["0x100c33bd", "pop edi", "0x100b4ddd"]]}]]]}, {"address": "0x100c33e0", "recomp": "0x100b4e00", "name": "MxPtrList<MxRegionTopBottom>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c3410", "recomp": "0x100b4e30", "name": "MxRegionTopBottomList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3480", "recomp": "0x100b4ea0", "name": "MxPtrList<MxRegionTopBottom>::~MxPtrList<MxRegionTopBottom>", "matching": 1.0, "diff": []}, {"address": "0x100c34d0", "recomp": "0x100b4ef0", "name": "MxCollection<MxRegionTopBottom *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3540", "recomp": "0x100b4f60", "name": "MxList<MxRegionTopBottom *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c3549,33 +0x100b4f69,33 @@", [{"both": [["0x100c3549", "push -1", "0x100b4f69"], ["0x100c354b", "push <OFFSET1>", "0x100b4f6b"], ["0x100c3550", "push eax", "0x100b4f70"], ["0x100c3551", "mov dword ptr fs:[0], esp", "0x100b4f71"], ["0x100c3558", "mov dword ptr [ecx], MxList<MxRegionTopBottom *>::`vftable' (VTABLE)", "0x100b4f78"], ["0x100c355e", "sub esp, 4", "0x100b4f7e"], ["0x100c3561", "mov dword ptr [ebp - 0x10], ecx", "0x100b4f81"], ["0x100c3564", "mov dword ptr [ebp - 4], 0", "0x100b4f84"], ["0x100c356b", "push esi", "0x100b4f8b"], ["0x100c356c", "push edi", "0x100b4f8c"]]}, {"orig": [["0x100c356d", "mov esi, dword ptr [ecx + 0x10]"], ["0x100c3570", "test esi, esi"]], "recomp": [["0x100b4f8d", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b4f90", "test edi, edi"]]}, {"both": [["0x100c3572", "je 0x1c", "0x100b4f92"]]}, {"orig": [["0x100c3574", "mov edi, dword ptr [esi + 8]"], ["0x100c3577", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b4f94", "mov esi, dword ptr [edi + 8]"], ["0x100b4f97", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100c3579", "push eax", "0x100b4f99"], ["0x100c357a", "mov ecx, dword ptr [ebp - 0x10]", "0x100b4f9a"], ["0x100c357d", "call dword ptr [ecx + 0xc]", "0x100b4f9d"], ["0x100c3580", "add esp, 4", "0x100b4fa0"]]}, {"orig": [["0x100c3583", "push esi"]], "recomp": [["0x100b4fa3", "push edi"]]}, {"both": [["0x100c3584", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b4fa4"], ["0x100c3589", "add esp, 4", "0x100b4fa9"]]}, {"orig": [["0x100c358c", "mov esi, edi"]], "recomp": [["0x100b4fac", "mov edi, esi"]]}, {"both": [["0x100c358e", "jmp -0x20", "0x100b4fae"], ["0x100c3590", "xor eax, eax", "0x100b4fb0"], ["0x100c3592", "mov ecx, dword ptr [ebp - 0x10]", "0x100b4fb2"], ["0x100c3595", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b4fb5"], ["0x100c359c", "mov dword ptr [ecx + 8], eax", "0x100b4fbc"], ["0x100c359f", "mov dword ptr [ecx + 0x14], eax", "0x100b4fbf"], ["0x100c35a2", "mov dword ptr [ecx + 0x10], eax", "0x100b4fc2"], ["0x100c35a5", "call <OFFSET4>", "0x100b4fc5"], ["0x100c35aa", "test byte ptr [ebp + 8], 1", "0x100b4fca"], ["0x100c35ae", "je 0xc", "0x100b4fce"]]}]]]}, {"address": "0x100c35f0", "recomp": "0x100b5010", "name": "MxPtrList<MxRegionTopBottom>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3660", "recomp": "0x100b50a0", "name": "MxRegion::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100c3670", "recomp": "0x100b5080", "name": "MxRegion::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3690", "recomp": "0x100b50b0", "name": "MxRegion::~MxRegion", "matching": 1.0, "diff": []}, {"address": "0x100c3700", "recomp": "0x100b5120", "name": "MxRegion::Reset", "matching": 0.7647058823529411, "diff": [["@@ -0x100c3700,29 +0x100b5120,29 @@", [{"both": [["0x100c3700", "push ebx", "0x100b5120"], ["0x100c3701", "push esi", "0x100b5121"], ["0x100c3702", "mov ebx, dword ptr [ecx + 8]", "0x100b5122"], ["0x100c3705", "push edi", "0x100b5125"], ["0x100c3706", "push ebp", "0x100b5126"], ["0x100c3707", "mov esi, ecx", "0x100b5127"]]}, {"orig": [["0x100c3709", "mov edi, dword ptr [ebx + 0x10]"], ["0x100c370c", "test edi, edi"], ["0x100c370e", "je 0x19"], ["0x100c3710", "mov ebp, dword ptr [edi + 8]"], ["0x100c3713", "mov eax, dword ptr [edi]"]], "recomp": [["0x100b5129", "mov ebp, dword ptr [ebx + 0x10]"], ["0x100b512c", "test ebp, ebp"], ["0x100b512e", "je 0x1a"], ["0x100b5130", "mov edi, dword ptr [ebp + 8]"], ["0x100b5133", "mov eax, dword ptr [ebp]"]]}, {"both": [["0x100c3715", "push eax", "0x100b5136"], ["0x100c3716", "call dword ptr [ebx + 0xc]", "0x100b5137"], ["0x100c3719", "add esp, 4", "0x100b513a"]]}, {"orig": [["0x100c371c", "push edi"]], "recomp": [["0x100b513d", "push ebp"]]}, {"both": [["0x100c371d", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b513e"], ["0x100c3722", "add esp, 4", "0x100b5143"]]}, {"orig": [["0x100c3725", "mov edi, ebp"], ["0x100c3727", "jmp -0x1d"]], "recomp": [["0x100b5146", "mov ebp, edi"], ["0x100b5148", "jmp -0x1e"]]}, {"both": [["0x100c3729", "xor eax, eax", "0x100b514a"], ["0x100c372b", "mov dword ptr [ebx + 8], eax", "0x100b514c"], ["0x100c372e", "mov dword ptr [ebx + 0x14], eax", "0x100b514f"], ["0x100c3731", "mov dword ptr [ebx + 0x10], eax", "0x100b5152"], ["0x100c3734", "mov eax, 0x7fffffff", "0x100b5155"], ["0x100c3739", "pop ebp", "0x100b515a"], ["0x100c373a", "mov dword ptr [esi + 0xc], eax", "0x100b515b"], ["0x100c373d", "pop edi", "0x100b515e"], ["0x100c373e", "mov dword ptr [esi + 0x10], eax", "0x100b515f"], ["0x100c3741", "mov eax, 0xffffffff", "0x100b5162"]]}]]]}, {"address": "0x100c3750", "recomp": "0x100b5170", "name": "MxRegion::VTable0x18", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c384c,51 +0x100b526c,51 @@", [{"both": [["0x100c384c", "mov ecx, esi", "0x100b526c"], ["0x100c384e", "push eax", "0x100b526e"], ["0x100c384f", "call MxRegionTopBottom::MxRegionTopBottom (FUNCTION)", "0x100b526f"], ["0x100c3854", "mov dword ptr [ebp - 0x2c], eax", "0x100b5274"], ["0x100c3857", "jmp 0x7", "0x100b5277"], ["0x100c3859", "mov dword ptr [ebp - 0x2c], 0", "0x100b5279"], ["0x100c3860", "mov byte ptr [ebp - 4], 3", "0x100b5280"], ["0x100c3864", "cmp dword ptr [ebp - 0x30], 0", "0x100b5284"], ["0x100c3868", "je 0x59", "0x100b5288"], ["0x100c386a", "mov eax, dword ptr [ebp - 0x30]", "0x100b528a"]]}, {"orig": [["0x100c386d", "mov ebx, dword ptr [ebp - 0x34]"], ["0x100c3870", "lea esi, [eax + 4]"]], "recomp": [["0x100b528d", "mov edi, dword ptr [ebp - 0x34]"], ["0x100b5290", "lea ebx, [eax + 4]"]]}, {"both": [["0x100c3873", "push 0xc", "0x100b5293"], ["0x100c3875", "mov dword ptr [ebp - 0x40], eax", "0x100b5295"]]}, {"orig": [["0x100c3878", "mov edi, dword ptr [esi]"]], "recomp": [["0x100b5298", "mov esi, dword ptr [ebx]"]]}, {"both": [["0x100c387a", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b529a"], ["0x100c387f", "add esp, 4", "0x100b529f"], ["0x100c3882", "mov dword ptr [ebp - 0x10], eax", "0x100b52a2"], ["0x100c3885", "mov byte ptr [ebp - 4], 5", "0x100b52a5"], ["0x100c3889", "test eax, eax", "0x100b52a9"], ["0x100c388b", "mov eax, 0", "0x100b52ab"], ["0x100c3890", "je 0x11", "0x100b52b0"], ["0x100c3892", "mov eax, dword ptr [ebp - 0x40]", "0x100b52b2"], ["0x100c3895", "mov ecx, dword ptr [ebp - 0x2c]", "0x100b52b5"], ["0x100c3898", "push eax", "0x100b52b8"]]}, {"orig": [["0x100c3899", "push edi"]], "recomp": [["0x100b52b9", "push esi"]]}, {"both": [["0x100c389a", "push ecx", "0x100b52ba"], ["0x100c389b", "mov ecx, dword ptr [ebp - 0x10]", "0x100b52bb"], ["0x100c389e", "call MxListEntry<MxRegionTopBottom *>::MxListEntry<MxRegionTopBottom *> (FUNCTION)", "0x100b52be"], ["0x100c38a3", "mov byte ptr [ebp - 4], 3", "0x100b52c3"]]}, {"orig": [["0x100c38a7", "test edi, edi"]], "recomp": [["0x100b52c7", "test esi, esi"]]}, {"both": [["0x100c38a9", "je 0x5", "0x100b52c9"]]}, {"orig": [["0x100c38ab", "mov dword ptr [edi + 8], eax"]], "recomp": [["0x100b52cb", "mov dword ptr [esi + 8], eax"]]}, {"both": [["0x100c38ae", "jmp 0x3", "0x100b52ce"]]}, {"orig": [["0x100c38b0", "mov dword ptr [ebx + 0x10], eax"]], "recomp": [["0x100b52d0", "mov dword ptr [edi + 0x10], eax"]]}, {"both": [["0x100c38b3", "cmp dword ptr [ebp - 0x40], 0", "0x100b52d3"], ["0x100c38b7", "je 0x4", "0x100b52d7"]]}, {"orig": [["0x100c38b9", "mov dword ptr [esi], eax"]], "recomp": [["0x100b52d9", "mov dword ptr [ebx], eax"]]}, {"both": [["0x100c38bb", "jmp 0x3", "0x100b52db"]]}, {"orig": [["0x100c38bd", "mov dword ptr [ebx + 0x14], eax"], ["0x100c38c0", "inc dword ptr [ebx + 8]"]], "recomp": [["0x100b52dd", "mov dword ptr [edi + 0x14], eax"], ["0x100b52e0", "inc dword ptr [edi + 8]"]]}, {"both": [["0x100c38c3", "mov eax, dword ptr [ebp - 0x1c]", "0x100b52e3"], ["0x100c38c6", "mov dword ptr [ebp - 0x24], eax", "0x100b52e6"], ["0x100c38c9", "jmp 0x1bf", "0x100b52e9"], ["0x100c38ce", "mov eax, dword ptr [ebp - 0x14]", "0x100b52ee"], ["0x100c38d1", "mov ebx, dword ptr [ebp - 0x24]", "0x100b52f1"], ["0x100c38d4", "add eax, 4", "0x100b52f4"], ["0x100c38d7", "mov dword ptr [ebp - 0x40], eax", "0x100b52f7"], ["0x100c38da", "cmp dword ptr [eax], ebx", "0x100b52fa"], ["0x100c38dc", "jle 0x1ab", "0x100b52fc"], ["0x100c38e2", "cmp ebx, ecx", "0x100b5302"]]}]], ["@@ -0x100c39b2,51 +0x100b53d2,51 @@", [{"both": [["0x100c39b2", "mov edx, dword ptr [ebp - 0x14]", "0x100b53d2"], ["0x100c39b5", "mov dword ptr [ebp - 0x44], eax", "0x100b53d5"], ["0x100c39b8", "mov eax, dword ptr [ebp - 0x24]", "0x100b53d8"], ["0x100c39bb", "mov ecx, dword ptr [ebp - 0x44]", "0x100b53db"], ["0x100c39be", "mov dword ptr [ecx + 4], eax", "0x100b53de"], ["0x100c39c1", "mov eax, dword ptr [ebp - 0x24]", "0x100b53e1"], ["0x100c39c4", "mov dword ptr [edx], eax", "0x100b53e4"], ["0x100c39c6", "cmp dword ptr [ebp - 0x30], 0", "0x100b53e6"], ["0x100c39ca", "je 0x59", "0x100b53ea"], ["0x100c39cc", "mov eax, dword ptr [ebp - 0x30]", "0x100b53ec"]]}, {"orig": [["0x100c39cf", "mov edi, dword ptr [ebp - 0x34]"], ["0x100c39d2", "lea ebx, [eax + 4]"]], "recomp": [["0x100b53ef", "mov esi, dword ptr [ebp - 0x34]"], ["0x100b53f2", "lea edi, [eax + 4]"]]}, {"both": [["0x100c39d5", "push 0xc", "0x100b53f5"], ["0x100c39d7", "mov dword ptr [ebp - 0x2c], eax", "0x100b53f7"]]}, {"orig": [["0x100c39da", "mov esi, dword ptr [ebx]"]], "recomp": [["0x100b53fa", "mov ebx, dword ptr [edi]"]]}, {"both": [["0x100c39dc", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b53fc"], ["0x100c39e1", "add esp, 4", "0x100b5401"], ["0x100c39e4", "mov dword ptr [ebp - 0x10], eax", "0x100b5404"], ["0x100c39e7", "mov byte ptr [ebp - 4], 8", "0x100b5407"], ["0x100c39eb", "test eax, eax", "0x100b540b"], ["0x100c39ed", "mov eax, 0", "0x100b540d"], ["0x100c39f2", "je 0x11", "0x100b5412"], ["0x100c39f4", "mov eax, dword ptr [ebp - 0x2c]", "0x100b5414"], ["0x100c39f7", "mov ecx, dword ptr [ebp - 0x44]", "0x100b5417"], ["0x100c39fa", "push eax", "0x100b541a"]]}, {"orig": [["0x100c39fb", "push esi"]], "recomp": [["0x100b541b", "push ebx"]]}, {"both": [["0x100c39fc", "push ecx", "0x100b541c"], ["0x100c39fd", "mov ecx, dword ptr [ebp - 0x10]", "0x100b541d"], ["0x100c3a00", "call MxListEntry<MxRegionTopBottom *>::MxListEntry<MxRegionTopBottom *> (FUNCTION)", "0x100b5420"], ["0x100c3a05", "mov byte ptr [ebp - 4], 3", "0x100b5425"]]}, {"orig": [["0x100c3a09", "test esi, esi"]], "recomp": [["0x100b5429", "test ebx, ebx"]]}, {"both": [["0x100c3a0b", "je 0x5", "0x100b542b"]]}, {"orig": [["0x100c3a0d", "mov dword ptr [esi + 8], eax"]], "recomp": [["0x100b542d", "mov dword ptr [ebx + 8], eax"]]}, {"both": [["0x100c3a10", "jmp 0x3", "0x100b5430"]]}, {"orig": [["0x100c3a12", "mov dword ptr [edi + 0x10], eax"]], "recomp": [["0x100b5432", "mov dword ptr [esi + 0x10], eax"]]}, {"both": [["0x100c3a15", "cmp dword ptr [ebp - 0x2c], 0", "0x100b5435"], ["0x100c3a19", "je 0x4", "0x100b5439"]]}, {"orig": [["0x100c3a1b", "mov dword ptr [ebx], eax"]], "recomp": [["0x100b543b", "mov dword ptr [edi], eax"]]}, {"both": [["0x100c3a1d", "jmp 0x3", "0x100b543d"]]}, {"orig": [["0x100c3a1f", "mov dword ptr [edi + 0x14], eax"], ["0x100c3a22", "inc dword ptr [edi + 8]"]], "recomp": [["0x100b543f", "mov dword ptr [esi + 0x14], eax"], ["0x100b5442", "inc dword ptr [esi + 8]"]]}, {"both": [["0x100c3a25", "mov eax, dword ptr [ebp - 0x1c]", "0x100b5445"], ["0x100c3a28", "mov edx, dword ptr [ebp - 0x40]", "0x100b5448"], ["0x100c3a2b", "cmp dword ptr [edx], eax", "0x100b544b"], ["0x100c3a2d", "jle 0x46", "0x100b544d"], ["0x100c3a2f", "mov ecx, dword ptr [ebp - 0x14]", "0x100b544f"], ["0x100c3a32", "call MxRegionTopBottom::Clone (FUNCTION)", "0x100b5452"], ["0x100c3a37", "mov esi, eax", "0x100b5457"], ["0x100c3a39", "mov ecx, dword ptr [ebp - 0x14]", "0x100b5459"], ["0x100c3a3c", "mov eax, dword ptr [ebp - 0x1c]", "0x100b545c"], ["0x100c3a3f", "mov dword ptr [esi + 4], eax", "0x100b545f"]]}]]]}, {"address": "0x100c3be0", "recomp": "0x100b0800", "name": "MxRegionTopBottomListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3c50", "recomp": "0x100b0870", "name": "MxPtrListCursor<MxRegionTopBottom>::~MxPtrListCursor<MxRegionTopBottom>", "matching": 1.0, "diff": []}, {"address": "0x100c3ca0", "recomp": "0x100b08c0", "name": "MxListCursor<MxRegionTopBottom *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3d10", "recomp": "0x100b0930", "name": "MxPtrListCursor<MxRegionTopBottom>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c3d80", "recomp": "0x100b09a0", "name": "MxListCursor<MxRegionTopBottom *>::~MxListCursor<MxRegionTopBottom *>", "matching": 1.0, "diff": []}, {"address": "0x100c3dd0", "recomp": "0x100b5600", "name": "MxRegionTopBottomListCursor::~MxRegionTopBottomListCursor", "matching": 1.0, "diff": []}, {"address": "0x100c3e20", "recomp": "0x100b5650", "name": "MxRegion::VTable0x1c", "matching": 1.0, "diff": []}, {"address": "0x100c3f70", "recomp": "0x100b0700", "name": "MxRegionCursor::MxRegionCursor", "matching": 0.7361111111111112, "diff": [["@@ -0x100c3f70,68 +0x100b0700,68 @@", [{"both": [["0x100c3f70", "mov eax, dword ptr fs:[0]", "0x100b0700"], ["0x100c3f76", "push ebp", "0x100b0706"], ["0x100c3f77", "mov ebp, esp", "0x100b0707"], ["0x100c3f79", "push -1", "0x100b0709"], ["0x100c3f7b", "push <OFFSET1>", "0x100b070b"], ["0x100c3f80", "push eax", "0x100b0710"], ["0x100c3f81", "mov dword ptr fs:[0], esp", "0x100b0711"], ["0x100c3f88", "sub esp, 8", "0x100b0718"], ["0x100c3f8b", "push ebx", "0x100b071b"], ["0x100c3f8c", "push esi", "0x100b071c"]]}, {"orig": [], "recomp": [["0x100b071d", "mov dword ptr [ebp - 0x14], ecx"]]}, {"both": [["0x100c3f8d", "push edi", "0x100b0720"]]}, {"orig": [["0x100c3f8e", "mov dword ptr [ebp - 0x14], ecx"], ["0x100c3f91", "mov edi, ecx"]], "recomp": [["0x100b0721", "mov esi, ecx"]]}, {"both": [["0x100c3f93", "call MxCore::MxCore (FUNCTION)", "0x100b0723"], ["0x100c3f98", "mov eax, dword ptr [ebp + 8]", "0x100b0728"], ["0x100c3f9b", "push 0x10", "0x100b072b"], ["0x100c3f9d", "mov dword ptr [ebp - 4], 0", "0x100b072d"]]}, {"orig": [["0x100c3fa4", "mov dword ptr [edi], MxRegionCursor::`vftable' (VTABLE)"], ["0x100c3faa", "mov dword ptr [edi + 8], eax"], ["0x100c3fad", "mov dword ptr [edi + 0xc], 0"]], "recomp": [["0x100b0734", "mov dword ptr [esi], MxRegionCursor::`vftable' (VTABLE)"], ["0x100b073a", "mov dword ptr [esi + 8], eax"], ["0x100b073d", "mov dword ptr [esi + 0xc], 0"]]}, {"both": [["0x100c3fb4", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b0744"], ["0x100c3fb9", "mov dword ptr [ebp - 0x10], eax", "0x100b0749"], ["0x100c3fbc", "add esp, 4", "0x100b074c"], ["0x100c3fbf", "mov byte ptr [ebp - 4], 1", "0x100b074f"]]}, {"orig": [["0x100c3fc3", "mov esi, eax"], ["0x100c3fc5", "test esi, esi"]], "recomp": [["0x100b0753", "mov edi, eax"], ["0x100b0755", "test edi, edi"]]}, {"both": [["0x100c3fc7", "je 0x55", "0x100b0757"]]}, {"orig": [["0x100c3fc9", "mov eax, dword ptr [edi + 8]"], ["0x100c3fcc", "mov ecx, esi"]], "recomp": [["0x100b0759", "mov eax, dword ptr [esi + 8]"], ["0x100b075c", "mov ecx, edi"]]}, {"both": [["0x100c3fce", "mov ebx, dword ptr [eax + 8]", "0x100b075e"], ["0x100c3fd1", "call MxCore::MxCore (FUNCTION)", "0x100b0761"], ["0x100c3fd6", "mov byte ptr [ebp - 4], 2", "0x100b0766"], ["0x100c3fda", "mov byte ptr [ebp - 4], 3", "0x100b076a"], ["0x100c3fde", "mov byte ptr [ebp - 4], 4", "0x100b076e"]]}, {"orig": [["0x100c3fe2", "mov eax, esi"], ["0x100c3fe4", "mov dword ptr [esi], MxListCursor<MxRegionTopBottom *>::`vftable' (VTABLE)"]], "recomp": [["0x100b0772", "mov eax, edi"], ["0x100b0774", "mov dword ptr [edi], MxListCursor<MxRegionTopBottom *>::`vftable' (VTABLE)"]]}, {"both": [["0x100c3fea", "mov byte ptr [ebp - 4], 1", "0x100b077a"]]}, {"orig": [["0x100c3fee", "mov dword ptr [esi + 8], ebx"], ["0x100c3ff1", "mov dword ptr [esi + 0xc], 0"], ["0x100c3ff8", "mov dword ptr [esi], MxPtrListCursor<MxRegionTopBottom>::`vftable' (VTABLE)"], ["0x100c3ffe", "mov dword ptr [esi], MxRegionTopBottomListCursor::`vftable' (VTABLE)"]], "recomp": [["0x100b077e", "mov dword ptr [edi + 8], ebx"], ["0x100b0781", "mov dword ptr [edi + 0xc], 0"], ["0x100b0788", "mov dword ptr [edi], MxPtrListCursor<MxRegionTopBottom>::`vftable' (VTABLE)"], ["0x100b078e", "mov dword ptr [edi], MxRegionTopBottomListCursor::`vftable' (VTABLE)"]]}, {"both": [["0x100c4004", "jmp 0x1a", "0x100b0794"], ["0x100c4006", "mov ecx, dword ptr [ebp - 0x10]", "0x100b0796"], ["0x100c4009", "jmp MxCore::~MxCore (FUNCTION)", "0x100b0799"], ["0x100c400e", "mov ecx, dword ptr [ebp - 0x10]", "0x100b079e"], ["0x100c4011", "jmp MxListCursor<MxRegionTopBottom *>::~MxListCursor<MxRegionTopBottom *> (FUNCTION)", "0x100b07a1"], ["0x100c4016", "mov ecx, dword ptr [ebp - 0x10]", "0x100b07a6"], ["0x100c4019", "jmp MxPtrListCursor<MxRegionTopBottom>::~MxPtrListCursor<MxRegionTopBottom> (FUNCTION)", "0x100b07a9"], ["0x100c401e", "xor eax, eax", "0x100b07ae"], ["0x100c4020", "xor ecx, ecx", "0x100b07b0"], ["0x100c4022", "mov byte ptr [ebp - 4], cl", "0x100b07b2"]]}, {"orig": [["0x100c4025", "mov dword ptr [edi + 0x10], eax"], ["0x100c4028", "mov dword ptr [edi + 0x14], ecx"]], "recomp": [["0x100b07b5", "pop edi"], ["0x100b07b6", "mov dword ptr [esi + 0x10], eax"], ["0x100b07b9", "mov dword ptr [esi + 0x14], ecx"]]}, {"both": [["0x100c402b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b07bc"]]}, {"orig": [["0x100c4032", "mov eax, edi"]], "recomp": [["0x100b07c3", "mov eax, esi"]]}, {"both": [["0x100c4034", "mov ecx, dword ptr [ebp - 0xc]", "0x100b07c5"], ["0x100c4037", "mov dword ptr fs:[0], ecx", "0x100b07c8"]]}, {"orig": [["0x100c403e", "pop edi"]], "recomp": []}, {"both": [["0x100c403f", "pop esi", "0x100b07cf"], ["0x100c4040", "pop ebx", "0x100b07d0"], ["0x100c4041", "mov esp, ebp", "0x100b07d1"], ["0x100c4043", "pop ebp", "0x100b07d3"], ["0x100c4044", "ret 4", "0x100b07d4"], ["0x100c4047", "mov eax, dword ptr [ebp - 0x10]", "0x100b07d7"], ["0x100c404a", "push eax", "0x100b07da"], ["0x100c404b", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b07db"], ["0x100c4050", "add esp, 4", "0x100b07e0"], ["0x100c4053", "ret ", "0x100b07e3"]]}]]]}, {"address": "0x100c4070", "recomp": "0x100b09f0", "name": "MxRegionCursor::GetRect", "matching": 1.0, "diff": []}, {"address": "0x100c4080", "recomp": "0x100b0a00", "name": "MxRegionCursor::HasRect", "matching": 1.0, "diff": []}, {"address": "0x100c4090", "recomp": "0x100b0a10", "name": "MxRegionCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c40b0", "recomp": "0x100b0a30", "name": "MxRegionCursor::~MxRegionCursor", "matching": 1.0, "diff": []}, {"address": "0x100c4140", "recomp": "0x100b0ac0", "name": "MxRegionCursor::VTable0x18", "matching": 1.0, "diff": []}, {"address": "0x100c41d0", "recomp": "0x100b0b50", "name": "MxRegionCursor::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100c4260", "recomp": "0x100b0be0", "name": "MxRegionCursor::VTable0x28", "matching": 1.0, "diff": []}, {"address": "0x100c4360", "recomp": "0x100b0ce0", "name": "MxRegionCursor::VTable0x30", "matching": 1.0, "diff": []}, {"address": "0x100c4460", "recomp": "0x100b0de0", "name": "MxRegionCursor::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x100c4480", "recomp": "0x100b0e00", "name": "MxRegionCursor::VTable0x1c", "matching": 1.0, "diff": []}, {"address": "0x100c44a0", "recomp": "0x100b0e20", "name": "MxRegionCursor::VTable0x24", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c4517,45 +0x100b0e97,45 @@", [{"both": [["0x100c4517", "jle 0x54", "0x100b0e97"], ["0x100c4519", "mov eax, dword ptr [eax + 4]", "0x100b0e99"], ["0x100c451c", "cmp eax, ebx", "0x100b0e9c"], ["0x100c451e", "jle 0x4d", "0x100b0e9e"], ["0x100c4520", "push ecx", "0x100b0ea0"], ["0x100c4521", "push eax", "0x100b0ea1"], ["0x100c4522", "push edx", "0x100b0ea2"], ["0x100c4523", "mov ecx, esi", "0x100b0ea3"], ["0x100c4525", "push ebp", "0x100b0ea5"], ["0x100c4526", "call MxRegionCursor::UpdateRect (FUNCTION)", "0x100b0ea6"]]}, {"orig": [["0x100c452b", "mov edx, dword ptr [esi + 0xc]"]], "recomp": [["0x100b0eab", "mov ecx, dword ptr [esi + 0xc]"]]}, {"both": [["0x100c452e", "mov eax, dword ptr [edi]", "0x100b0eae"]]}, {"orig": [["0x100c4530", "mov ecx, dword ptr [edx]"], ["0x100c4532", "cmp eax, ecx"]], "recomp": [["0x100b0eb0", "mov edx, dword ptr [ecx]"], ["0x100b0eb2", "cmp eax, edx"]]}, {"both": [["0x100c4534", "jg 0x2", "0x100b0eb4"]]}, {"orig": [["0x100c4536", "mov eax, ecx"], ["0x100c4538", "mov dword ptr [edx], eax"]], "recomp": [["0x100b0eb6", "mov eax, edx"], ["0x100b0eb8", "mov dword ptr [ecx], eax"]]}, {"both": [["0x100c453a", "mov eax, dword ptr [edi + 4]", "0x100b0eba"]]}, {"orig": [["0x100c453d", "mov ecx, dword ptr [edx + 4]"], ["0x100c4540", "cmp eax, ecx"]], "recomp": [["0x100b0ebd", "mov edx, dword ptr [ecx + 4]"], ["0x100b0ec0", "cmp eax, edx"]]}, {"both": [["0x100c4542", "jg 0x2", "0x100b0ec2"]]}, {"orig": [["0x100c4544", "mov eax, ecx"], ["0x100c4546", "mov dword ptr [edx + 4], eax"]], "recomp": [["0x100b0ec4", "mov eax, edx"], ["0x100b0ec6", "mov dword ptr [ecx + 4], eax"]]}, {"both": [["0x100c4549", "mov eax, dword ptr [edi + 8]", "0x100b0ec9"]]}, {"orig": [["0x100c454c", "mov ecx, dword ptr [edx + 8]"], ["0x100c454f", "cmp eax, ecx"]], "recomp": [["0x100b0ecc", "mov edx, dword ptr [ecx + 8]"], ["0x100b0ecf", "cmp eax, edx"]]}, {"both": [["0x100c4551", "jl 0x2", "0x100b0ed1"]]}, {"orig": [["0x100c4553", "mov eax, ecx"], ["0x100c4555", "mov dword ptr [edx + 8], eax"]], "recomp": [["0x100b0ed3", "mov eax, edx"], ["0x100b0ed5", "mov dword ptr [ecx + 8], eax"]]}, {"both": [["0x100c4558", "mov eax, dword ptr [edi + 0xc]", "0x100b0ed8"]]}, {"orig": [["0x100c455b", "mov ecx, dword ptr [edx + 0xc]"], ["0x100c455e", "cmp eax, ecx"]], "recomp": [["0x100b0edb", "mov edx, dword ptr [ecx + 0xc]"], ["0x100b0ede", "cmp edx, eax"]]}, {"both": [["0x100c4560", "jl 0x2", "0x100b0ee0"]]}, {"orig": [["0x100c4562", "mov eax, ecx"], ["0x100c4564", "mov dword ptr [edx + 0xc], eax"]], "recomp": [["0x100b0ee2", "mov edx, eax"], ["0x100b0ee4", "mov dword ptr [ecx + 0xc], edx"]]}, {"both": [["0x100c4567", "jmp 0xc", "0x100b0ee7"], ["0x100c4569", "mov edi, dword ptr [esp + 0x1c]", "0x100b0ee9"], ["0x100c456d", "push edi", "0x100b0eed"], ["0x100c456e", "mov ecx, esi", "0x100b0eee"], ["0x100c4570", "call MxRegionCursor::ProcessRectOverlapAscending (FUNCTION)", "0x100b0ef0"], ["0x100c4575", "mov eax, dword ptr [esi + 0xc]", "0x100b0ef5"], ["0x100c4578", "pop ebp", "0x100b0ef8"], ["0x100c4579", "pop edi", "0x100b0ef9"], ["0x100c457a", "pop esi", "0x100b0efa"], ["0x100c457b", "pop ebx", "0x100b0efb"]]}]]]}, {"address": "0x100c4590", "recomp": "0x100b0f10", "name": "MxRegionCursor::VTable0x2c", "matching": 1.0, "diff": []}, {"address": "0x100c4680", "recomp": "0x100b1000", "name": "MxRegionCursor::Reset", "matching": 1.0, "diff": []}, {"address": "0x100c46c0", "recomp": "0x100b1040", "name": "MxRegionCursor::ResetAndInitializeCursor", "matching": 1.0, "diff": []}, {"address": "0x100c4790", "recomp": "0x100b1110", "name": "MxRegionLeftRightListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c4800", "recomp": "0x100b1180", "name": "MxPtrListCursor<MxRegionLeftRight>::~MxPtrListCursor<MxRegionLeftRight>", "matching": 1.0, "diff": []}, {"address": "0x100c4850", "recomp": "0x100b11d0", "name": "MxListCursor<MxRegionLeftRight *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c48c0", "recomp": "0x100b1240", "name": "MxPtrListCursor<MxRegionLeftRight>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c4930", "recomp": "0x100b12b0", "name": "MxListCursor<MxRegionLeftRight *>::~MxListCursor<MxRegionLeftRight *>", "matching": 1.0, "diff": []}, {"address": "0x100c4980", "recomp": "0x100b1300", "name": "MxRegionCursor::UpdateRect", "matching": 1.0, "diff": []}, {"address": "0x100c4a20", "recomp": "0x100b13a0", "name": "MxRegionCursor::ProcessRectOverlapAscending", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c4ad4,22 +0x100b1454,22 @@", [{"both": [["0x100c4ad4", "mov eax, dword ptr [esp + 0x10]", "0x100b1454"], ["0x100c4ad8", "push edx", "0x100b1458"], ["0x100c4ad9", "mov edx, dword ptr [esp + 0x18]", "0x100b1459"], ["0x100c4add", "mov ecx, dword ptr [eax]", "0x100b145d"], ["0x100c4adf", "push ecx", "0x100b145f"], ["0x100c4ae0", "mov eax, dword ptr [edx]", "0x100b1460"], ["0x100c4ae2", "push eax", "0x100b1462"], ["0x100c4ae3", "mov ecx, edi", "0x100b1463"], ["0x100c4ae5", "call MxRegionCursor::UpdateRect (FUNCTION)", "0x100b1465"], ["0x100c4aea", "mov edx, dword ptr [edi + 0xc]", "0x100b146a"]]}, {"orig": [["0x100c4aed", "mov ecx, dword ptr [esi]"], ["0x100c4aef", "mov eax, dword ptr [edx]"]], "recomp": [["0x100b146d", "mov eax, dword ptr [esi]"], ["0x100b146f", "mov ecx, dword ptr [edx]"]]}, {"both": [["0x100c4af1", "cmp eax, ecx", "0x100b1471"], ["0x100c4af3", "jg 0x2", "0x100b1473"], ["0x100c4af5", "mov eax, ecx", "0x100b1475"], ["0x100c4af7", "mov dword ptr [edx], eax", "0x100b1477"], ["0x100c4af9", "mov eax, dword ptr [edx + 4]", "0x100b1479"], ["0x100c4afc", "mov ecx, dword ptr [esi + 4]", "0x100b147c"], ["0x100c4aff", "cmp eax, ecx", "0x100b147f"], ["0x100c4b01", "jg 0x2", "0x100b1481"], ["0x100c4b03", "mov eax, ecx", "0x100b1483"], ["0x100c4b05", "mov dword ptr [edx + 4], eax", "0x100b1485"]]}]]]}, {"address": "0x100c4b50", "recomp": "0x100b14d0", "name": "MxRegionCursor::ProcessOverlapWithRect", "matching": 0.957983193277311, "diff": [["@@ -0x100c4b82,23 +0x100b1502,23 @@", [{"both": [["0x100c4b82", "mov ecx, dword ptr [eax]", "0x100b1502"], ["0x100c4b84", "test eax, eax", "0x100b1504"], ["0x100c4b86", "mov dword ptr [esp + 0xc], ecx", "0x100b1506"], ["0x100c4b8a", "je 0xe3", "0x100b150a"], ["0x100c4b90", "mov ebx, dword ptr [esp + 0xc]", "0x100b1510"], ["0x100c4b94", "mov eax, dword ptr [esi + 4]", "0x100b1514"], ["0x100c4b97", "add ebx, 4", "0x100b1517"], ["0x100c4b9a", "cmp dword ptr [ebx], eax", "0x100b151a"], ["0x100c4b9c", "jle 0xc1", "0x100b151c"], ["0x100c4ba2", "mov eax, dword ptr [esp + 0xc]", "0x100b1522"]]}, {"orig": [["0x100c4ba6", "mov ecx, dword ptr [eax]"], ["0x100c4ba8", "cmp dword ptr [esi + 0xc], ecx"], ["0x100c4bab", "jle -0x51"]], "recomp": [["0x100b1526", "mov ecx, dword ptr [esi + 0xc]"], ["0x100b1529", "cmp dword ptr [eax], ecx"], ["0x100b152b", "jge -0x51"]]}, {"both": [["0x100c4bad", "mov ecx, dword ptr [eax + 8]", "0x100b152d"], ["0x100c4bb0", "push ecx", "0x100b1530"], ["0x100c4bb1", "mov ecx, edi", "0x100b1531"], ["0x100c4bb3", "call MxRegionCursor::ResetAndInitializeCursor (FUNCTION)", "0x100b1533"], ["0x100c4bb8", "mov ecx, dword ptr [edi + 0x14]", "0x100b1538"], ["0x100c4bbb", "mov eax, dword ptr [ecx + 0xc]", "0x100b153b"], ["0x100c4bbe", "test eax, eax", "0x100b153e"], ["0x100c4bc0", "jne 0xb", "0x100b1540"], ["0x100c4bc2", "mov eax, dword ptr [ecx + 8]", "0x100b1542"], ["0x100c4bc5", "mov edx, dword ptr [eax + 0x14]", "0x100b1545"]]}]], ["@@ -0x100c4c08,22 +0x100b1588,22 @@", [{"both": [["0x100c4c08", "mov eax, dword ptr [esp + 0x10]", "0x100b1588"], ["0x100c4c0c", "push edx", "0x100b158c"], ["0x100c4c0d", "mov edx, dword ptr [esp + 0x18]", "0x100b158d"], ["0x100c4c11", "mov ecx, dword ptr [eax]", "0x100b1591"], ["0x100c4c13", "push ecx", "0x100b1593"], ["0x100c4c14", "mov eax, dword ptr [edx]", "0x100b1594"], ["0x100c4c16", "push eax", "0x100b1596"], ["0x100c4c17", "mov ecx, edi", "0x100b1597"], ["0x100c4c19", "call MxRegionCursor::UpdateRect (FUNCTION)", "0x100b1599"], ["0x100c4c1e", "mov edx, dword ptr [edi + 0xc]", "0x100b159e"]]}, {"orig": [["0x100c4c21", "mov ecx, dword ptr [esi]"], ["0x100c4c23", "mov eax, dword ptr [edx]"]], "recomp": [["0x100b15a1", "mov eax, dword ptr [esi]"], ["0x100b15a3", "mov ecx, dword ptr [edx]"]]}, {"both": [["0x100c4c25", "cmp eax, ecx", "0x100b15a5"], ["0x100c4c27", "jg 0x2", "0x100b15a7"], ["0x100c4c29", "mov eax, ecx", "0x100b15a9"], ["0x100c4c2b", "mov dword ptr [edx], eax", "0x100b15ab"], ["0x100c4c2d", "mov eax, dword ptr [edx + 4]", "0x100b15ad"], ["0x100c4c30", "mov ecx, dword ptr [esi + 4]", "0x100b15b0"], ["0x100c4c33", "cmp eax, ecx", "0x100b15b3"], ["0x100c4c35", "jg 0x2", "0x100b15b5"], ["0x100c4c37", "mov eax, ecx", "0x100b15b7"], ["0x100c4c39", "mov dword ptr [edx + 4], eax", "0x100b15b9"]]}]]]}, {"address": "0x100c4c90", "recomp": "0x100b57a0", "name": "MxRegionTopBottom::MxRegionTopBottom", "matching": 1.0, "diff": []}, {"address": "0x100c4d80", "recomp": "0x100b5890", "name": "MxCollection<MxRegionLeftRight *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100c4d90", "recomp": "0x100b58a0", "name": "MxCollection<MxRegionLeftRight *>::~MxCollection<MxRegionLeftRight *>", "matching": 1.0, "diff": []}, {"address": "0x100c4de0", "recomp": "0x100b58f0", "name": "MxCollection<MxRegionLeftRight *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c4df0", "recomp": "0x100b5900", "name": "MxList<MxRegionLeftRight *>::~MxList<MxRegionLeftRight *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c4df9,33 +0x100b5909,33 @@", [{"both": [["0x100c4df9", "push -1", "0x100b5909"], ["0x100c4dfb", "push <OFFSET1>", "0x100b590b"], ["0x100c4e00", "push eax", "0x100b5910"], ["0x100c4e01", "mov dword ptr fs:[0], esp", "0x100b5911"], ["0x100c4e08", "mov dword ptr [ecx], MxList<MxRegionLeftRight *>::`vftable' (VTABLE)", "0x100b5918"], ["0x100c4e0e", "sub esp, 4", "0x100b591e"], ["0x100c4e11", "mov dword ptr [ebp - 0x10], ecx", "0x100b5921"], ["0x100c4e14", "mov dword ptr [ebp - 4], 0", "0x100b5924"], ["0x100c4e1b", "push esi", "0x100b592b"], ["0x100c4e1c", "push edi", "0x100b592c"]]}, {"orig": [["0x100c4e1d", "mov esi, dword ptr [ecx + 0x10]"], ["0x100c4e20", "test esi, esi"]], "recomp": [["0x100b592d", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b5930", "test edi, edi"]]}, {"both": [["0x100c4e22", "je 0x1c", "0x100b5932"]]}, {"orig": [["0x100c4e24", "mov edi, dword ptr [esi + 8]"], ["0x100c4e27", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b5934", "mov esi, dword ptr [edi + 8]"], ["0x100b5937", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100c4e29", "push eax", "0x100b5939"], ["0x100c4e2a", "mov ecx, dword ptr [ebp - 0x10]", "0x100b593a"], ["0x100c4e2d", "call dword ptr [ecx + 0xc]", "0x100b593d"], ["0x100c4e30", "add esp, 4", "0x100b5940"]]}, {"orig": [["0x100c4e33", "push esi"]], "recomp": [["0x100b5943", "push edi"]]}, {"both": [["0x100c4e34", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b5944"], ["0x100c4e39", "add esp, 4", "0x100b5949"]]}, {"orig": [["0x100c4e3c", "mov esi, edi"]], "recomp": [["0x100b594c", "mov edi, esi"]]}, {"both": [["0x100c4e3e", "jmp -0x20", "0x100b594e"], ["0x100c4e40", "xor eax, eax", "0x100b5950"], ["0x100c4e42", "mov ecx, dword ptr [ebp - 0x10]", "0x100b5952"], ["0x100c4e45", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b5955"], ["0x100c4e4c", "mov dword ptr [ecx + 8], eax", "0x100b595c"], ["0x100c4e4f", "mov dword ptr [ecx + 0x14], eax", "0x100b595f"], ["0x100c4e52", "mov dword ptr [ecx + 0x10], eax", "0x100b5962"], ["0x100c4e55", "call <OFFSET4>", "0x100b5965"], ["0x100c4e5a", "mov eax, dword ptr [ebp - 0xc]", "0x100b596a"], ["0x100c4e5d", "pop edi", "0x100b596d"]]}]]]}, {"address": "0x100c4e80", "recomp": "0x100b5990", "name": "MxPtrList<MxRegionLeftRight>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c4e90", "recomp": "0x100b59a0", "name": "MxRegionLeftRightList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c4f00", "recomp": "0x100b5a10", "name": "MxPtrList<MxRegionLeftRight>::~MxPtrList<MxRegionLeftRight>", "matching": 1.0, "diff": []}, {"address": "0x100c4f50", "recomp": "0x100b5a60", "name": "MxCollection<MxRegionLeftRight *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c4fc0", "recomp": "0x100b5ad0", "name": "MxList<MxRegionLeftRight *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c4fc9,33 +0x100b5ad9,33 @@", [{"both": [["0x100c4fc9", "push -1", "0x100b5ad9"], ["0x100c4fcb", "push <OFFSET1>", "0x100b5adb"], ["0x100c4fd0", "push eax", "0x100b5ae0"], ["0x100c4fd1", "mov dword ptr fs:[0], esp", "0x100b5ae1"], ["0x100c4fd8", "mov dword ptr [ecx], MxList<MxRegionLeftRight *>::`vftable' (VTABLE)", "0x100b5ae8"], ["0x100c4fde", "sub esp, 4", "0x100b5aee"], ["0x100c4fe1", "mov dword ptr [ebp - 0x10], ecx", "0x100b5af1"], ["0x100c4fe4", "mov dword ptr [ebp - 4], 0", "0x100b5af4"], ["0x100c4feb", "push esi", "0x100b5afb"], ["0x100c4fec", "push edi", "0x100b5afc"]]}, {"orig": [["0x100c4fed", "mov esi, dword ptr [ecx + 0x10]"], ["0x100c4ff0", "test esi, esi"]], "recomp": [["0x100b5afd", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b5b00", "test edi, edi"]]}, {"both": [["0x100c4ff2", "je 0x1c", "0x100b5b02"]]}, {"orig": [["0x100c4ff4", "mov edi, dword ptr [esi + 8]"], ["0x100c4ff7", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b5b04", "mov esi, dword ptr [edi + 8]"], ["0x100b5b07", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100c4ff9", "push eax", "0x100b5b09"], ["0x100c4ffa", "mov ecx, dword ptr [ebp - 0x10]", "0x100b5b0a"], ["0x100c4ffd", "call dword ptr [ecx + 0xc]", "0x100b5b0d"], ["0x100c5000", "add esp, 4", "0x100b5b10"]]}, {"orig": [["0x100c5003", "push esi"]], "recomp": [["0x100b5b13", "push edi"]]}, {"both": [["0x100c5004", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b5b14"], ["0x100c5009", "add esp, 4", "0x100b5b19"]]}, {"orig": [["0x100c500c", "mov esi, edi"]], "recomp": [["0x100b5b1c", "mov edi, esi"]]}, {"both": [["0x100c500e", "jmp -0x20", "0x100b5b1e"], ["0x100c5010", "xor eax, eax", "0x100b5b20"], ["0x100c5012", "mov ecx, dword ptr [ebp - 0x10]", "0x100b5b22"], ["0x100c5015", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b5b25"], ["0x100c501c", "mov dword ptr [ecx + 8], eax", "0x100b5b2c"], ["0x100c501f", "mov dword ptr [ecx + 0x14], eax", "0x100b5b2f"], ["0x100c5022", "mov dword ptr [ecx + 0x10], eax", "0x100b5b32"], ["0x100c5025", "call <OFFSET4>", "0x100b5b35"], ["0x100c502a", "test byte ptr [ebp + 8], 1", "0x100b5b3a"], ["0x100c502e", "je 0xc", "0x100b5b3e"]]}]]]}, {"address": "0x100c5070", "recomp": "0x100b5b80", "name": "MxPtrList<MxRegionLeftRight>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c50e0", "recomp": "0x100b5bf0", "name": "MxRegionTopBottom::MxRegionTopBottom", "matching": 1.0, "diff": []}, {"address": "0x100c5280", "recomp": "0x100b5d90", "name": "MxRegionTopBottom::MergeOrExpandRegions", "matching": 1.0, "diff": []}, {"address": "0x100c54f0", "recomp": "0x100b6000", "name": "MxListCursor<MxRegionLeftRight *>::MxListCursor<MxRegionLeftRight *>", "matching": 1.0, "diff": []}, {"address": "0x100c5560", "recomp": "0x100b6070", "name": "MxRegionLeftRightListCursor::~MxRegionLeftRightListCursor", "matching": 1.0, "diff": []}, {"address": "0x100c55b0", "recomp": "0x100b60c0", "name": "MxListCursor<MxRegionLeftRight *>::operator=", "matching": 1.0, "diff": []}, {"address": "0x100c55d0", "recomp": "0x100b60e0", "name": "MxRegionTopBottom::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c56bc,46 +0x100b61cc,46 @@", [{"both": [["0x100c56bc", "mov eax, dword ptr [ebp - 0x2c]", "0x100b61cc"], ["0x100c56bf", "mov dword ptr [ebp - 0x10], esi", "0x100b61cf"], ["0x100c56c2", "mov ecx, dword ptr [eax + 4]", "0x100b61d2"], ["0x100c56c5", "mov edx, dword ptr [eax]", "0x100b61d5"], ["0x100c56c7", "mov dword ptr [esi], edx", "0x100b61d7"], ["0x100c56c9", "mov dword ptr [esi + 4], ecx", "0x100b61d9"], ["0x100c56cc", "jmp 0x7", "0x100b61dc"], ["0x100c56ce", "mov dword ptr [ebp - 0x10], 0", "0x100b61de"], ["0x100c56d5", "mov eax, dword ptr [ebp - 0x24]", "0x100b61e5"], ["0x100c56d8", "push 0xc", "0x100b61e8"]]}, {"orig": [["0x100c56da", "mov ebx, dword ptr [eax + 8]"]], "recomp": [["0x100b61ea", "mov esi, dword ptr [eax + 8]"]]}, {"both": [["0x100c56dd", "mov byte ptr [ebp - 4], 4", "0x100b61ed"]]}, {"orig": [["0x100c56e1", "mov esi, dword ptr [ebx + 0x14]"]], "recomp": [["0x100b61f1", "mov ebx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100c56e4", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b61f4"], ["0x100c56e9", "mov dword ptr [ebp - 0x28], eax", "0x100b61f9"], ["0x100c56ec", "add esp, 4", "0x100b61fc"], ["0x100c56ef", "mov byte ptr [ebp - 4], 6", "0x100b61ff"], ["0x100c56f3", "mov edi, eax", "0x100b6203"], ["0x100c56f5", "mov eax, 0", "0x100b6205"], ["0x100c56fa", "test edi, edi", "0x100b620a"], ["0x100c56fc", "je 0x11", "0x100b620c"], ["0x100c56fe", "mov eax, dword ptr [ebp - 0x10]", "0x100b620e"], ["0x100c5701", "mov dword ptr [edi], eax", "0x100b6211"], ["0x100c5703", "mov eax, edi", "0x100b6213"]]}, {"orig": [["0x100c5705", "mov dword ptr [edi + 4], esi"]], "recomp": [["0x100b6215", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x100c5708", "mov dword ptr [edi + 8], 0", "0x100b6218"], ["0x100c570f", "mov byte ptr [ebp - 4], 4", "0x100b621f"]]}, {"orig": [["0x100c5713", "test esi, esi"]], "recomp": [["0x100b6223", "test ebx, ebx"]]}, {"both": [["0x100c5715", "je 0xe", "0x100b6225"]]}, {"orig": [["0x100c5717", "mov dword ptr [esi + 8], eax"], ["0x100c571a", "mov dword ptr [ebx + 0x14], eax"], ["0x100c571d", "inc dword ptr [ebx + 8]"]], "recomp": [["0x100b6227", "mov dword ptr [ebx + 8], eax"], ["0x100b622a", "mov dword ptr [esi + 0x14], eax"], ["0x100b622d", "inc dword ptr [esi + 8]"]]}, {"both": [["0x100c5720", "jmp -0xb3", "0x100b6230"]]}, {"orig": [["0x100c5725", "mov dword ptr [ebx + 0x10], eax"], ["0x100c5728", "mov dword ptr [ebx + 0x14], eax"], ["0x100c572b", "inc dword ptr [ebx + 8]"]], "recomp": [["0x100b6235", "mov dword ptr [esi + 0x10], eax"], ["0x100b6238", "mov dword ptr [esi + 0x14], eax"], ["0x100b623b", "inc dword ptr [esi + 8]"]]}, {"both": [["0x100c572e", "jmp -0xc1", "0x100b623e"], ["0x100c5733", "mov eax, dword ptr [ebp - 0x28]", "0x100b6243"], ["0x100c5736", "push eax", "0x100b6246"], ["0x100c5737", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b6247"], ["0x100c573c", "add esp, 4", "0x100b624c"], ["0x100c573f", "ret ", "0x100b624f"], ["0x100c5740", "mov eax, dword ptr [ebp - 0x28]", "0x100b6250"], ["0x100c5743", "push eax", "0x100b6253"], ["0x100c5744", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b6254"], ["0x100c5749", "add esp, 4", "0x100b6259"]]}]]]}, {"address": "0x100c57b0", "recomp": "0x100b62c0", "name": "MxRegionTopBottom::CheckHorizontalOverlap", "matching": 1.0, "diff": []}, {"address": "0x100c58c0", "recomp": "0x100b63d0", "name": "MxList<MxRegionLeftRight *>::InsertEntry", "matching": 0.8214285714285714, "diff": [["@@ -0x100c58dd,39 +0x100b63ed,39 @@", [{"both": [["0x100c58dd", "mov edi, ecx", "0x100b63ed"], ["0x100c58df", "push 0xc", "0x100b63ef"], ["0x100c58e1", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b63f1"], ["0x100c58e6", "mov dword ptr [ebp - 0x10], eax", "0x100b63f6"], ["0x100c58e9", "add esp, 4", "0x100b63f9"], ["0x100c58ec", "mov dword ptr [ebp - 4], 0", "0x100b63fc"], ["0x100c58f3", "mov esi, eax", "0x100b6403"], ["0x100c58f5", "test esi, esi", "0x100b6405"], ["0x100c58f7", "je 0x15", "0x100b6407"], ["0x100c58f9", "mov eax, dword ptr [ebp + 8]", "0x100b6409"]]}, {"orig": [["0x100c58fc", "mov edx, dword ptr [ebp + 0xc]"], ["0x100c58ff", "mov ecx, dword ptr [ebp + 0x10]"]], "recomp": [["0x100b640c", "mov ecx, dword ptr [ebp + 0xc]"], ["0x100b640f", "mov edx, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100c5902", "mov dword ptr [esi], eax", "0x100b6412"], ["0x100c5904", "mov eax, esi", "0x100b6414"]]}, {"orig": [["0x100c5906", "mov dword ptr [esi + 4], edx"], ["0x100c5909", "mov dword ptr [esi + 8], ecx"]], "recomp": [["0x100b6416", "mov dword ptr [esi + 4], ecx"], ["0x100b6419", "mov dword ptr [esi + 8], edx"]]}, {"both": [["0x100c590c", "jmp 0x8", "0x100b641c"], ["0x100c590e", "xor eax, eax", "0x100b641e"]]}, {"orig": [["0x100c5910", "mov ecx, dword ptr [ebp + 0x10]"], ["0x100c5913", "mov edx, dword ptr [ebp + 0xc]"]], "recomp": [["0x100b6420", "mov ecx, dword ptr [ebp + 0xc]"], ["0x100b6423", "mov edx, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100c5916", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b6426"]]}, {"orig": [["0x100c591d", "test edx, edx"]], "recomp": [["0x100b642d", "test ecx, ecx"]]}, {"both": [["0x100c591f", "je 0x5", "0x100b642f"]]}, {"orig": [["0x100c5921", "mov dword ptr [edx + 8], eax"]], "recomp": [["0x100b6431", "mov dword ptr [ecx + 8], eax"]]}, {"both": [["0x100c5924", "jmp 0x3", "0x100b6434"], ["0x100c5926", "mov dword ptr [edi + 0x10], eax", "0x100b6436"]]}, {"orig": [["0x100c5929", "test ecx, ecx"]], "recomp": [["0x100b6439", "test edx, edx"]]}, {"both": [["0x100c592b", "je 0x18", "0x100b643b"]]}, {"orig": [["0x100c592d", "mov dword ptr [ecx + 4], eax"]], "recomp": [["0x100b643d", "mov dword ptr [edx + 4], eax"]]}, {"both": [["0x100c5930", "mov ecx, dword ptr [ebp - 0xc]", "0x100b6440"], ["0x100c5933", "inc dword ptr [edi + 8]", "0x100b6443"], ["0x100c5936", "mov dword ptr fs:[0], ecx", "0x100b6446"], ["0x100c593d", "pop edi", "0x100b644d"], ["0x100c593e", "pop esi", "0x100b644e"], ["0x100c593f", "mov esp, ebp", "0x100b644f"], ["0x100c5941", "pop ebp", "0x100b6451"], ["0x100c5942", "ret 0xc", "0x100b6452"], ["0x100c5945", "mov dword ptr [edi + 0x14], eax", "0x100b6455"], ["0x100c5948", "jmp -0x1a", "0x100b6458"]]}]]]}, {"address": "0x100c5970", "recomp": "0x100b6480", "name": "MxList<MxRegionTopBottom *>::InsertEntry", "matching": 1.0, "diff": []}, {"address": "0x100c5a20", "recomp": "0x100b6530", "name": "MxListEntry<MxRegionTopBottom *>::MxListEntry<MxRegionTopBottom *>", "matching": 1.0, "diff": []}, {"address": "0x100c5a40", "recomp": "0x100b6550", "name": "MxList<MxRegionLeftRight *>::DeleteEntry", "matching": 1.0, "diff": []}, {"address": "0x100c5a90", "recomp": "0x100ba550", "name": "MxSmk::LoadHeader", "matching": 1.0, "diff": []}, {"address": "0x100c5d40", "recomp": "0x100ba800", "name": "MxSmk::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c5db0", "recomp": "0x100ba870", "name": "MxSmk::LoadFrame", "matching": 1.0, "diff": []}, {"address": "0x100c6050", "recomp": "0x100bab10", "name": "MxSmk::GetRect", "matching": 0.8641975308641975, "diff": [["@@ -0x100c608b,54 +0x100bab4b,54 @@", [{"both": [["0x100c608b", "pop ebp", "0x100bab4b"], ["0x100c608c", "pop edi", "0x100bab4c"], ["0x100c608d", "pop esi", "0x100bab4d"], ["0x100c608e", "pop ebx", "0x100bab4e"], ["0x100c608f", "add esp, 4", "0x100bab4f"], ["0x100c6092", "ret ", "0x100bab52"], ["0x100c6093", "mov eax, dword ptr [esp + 0x1c]", "0x100bab53"], ["0x100c6097", "mov word ptr [eax], 2", "0x100bab57"], ["0x100c609c", "mov ebp, dword ptr [esi]", "0x100bab5c"], ["0x100c609e", "mov ecx, dword ptr [esi + 4]", "0x100bab5e"]]}, {"orig": [["0x100c60a1", "mov edi, dword ptr [esi + 8]"], ["0x100c60a4", "mov ebx, dword ptr [esi + 0xc]"], ["0x100c60a7", "add edi, ebp"], ["0x100c60a9", "add ebx, ecx"]], "recomp": [["0x100bab61", "mov ebx, dword ptr [esi + 8]"], ["0x100bab64", "mov edi, dword ptr [esi + 0xc]"], ["0x100bab67", "add ebx, ebp"], ["0x100bab69", "add edi, ecx"]]}, {"both": [["0x100c60ab", "mov eax, dword ptr [esp + 0x18]", "0x100bab6b"], ["0x100c60af", "push esi", "0x100bab6f"], ["0x100c60b0", "mov dword ptr [esp + 0x14], ecx", "0x100bab70"], ["0x100c60b4", "push eax", "0x100bab74"], ["0x100c60b5", "call _SmackGetRect (FUNCTION)", "0x100bab75"], ["0x100c60ba", "add esp, 8", "0x100bab7a"], ["0x100c60bd", "test al, al", "0x100bab7d"], ["0x100c60bf", "je 0x29", "0x100bab7f"], ["0x100c60c1", "mov eax, dword ptr [esi]", "0x100bab81"], ["0x100c60c3", "cmp ebp, eax", "0x100bab83"], ["0x100c60c5", "jbe 0x2", "0x100bab85"], ["0x100c60c7", "mov ebp, eax", "0x100bab87"], ["0x100c60c9", "add eax, dword ptr [esi + 8]", "0x100bab89"]]}, {"orig": [["0x100c60cc", "cmp edi, eax"], ["0x100c60ce", "jae 0x2"], ["0x100c60d0", "mov edi, eax"], ["0x100c60d2", "mov ebx, dword ptr [esi + 4]"]], "recomp": [["0x100bab8c", "cmp eax, ebx"], ["0x100bab8e", "jbe 0x2"], ["0x100bab90", "mov ebx, eax"], ["0x100bab92", "mov edi, dword ptr [esi + 4]"]]}, {"both": [["0x100c60d5", "push esi", "0x100bab95"]]}, {"orig": [["0x100c60d6", "add ebx, dword ptr [esi + 0xc]"]], "recomp": [["0x100bab96", "add edi, dword ptr [esi + 0xc]"]]}, {"both": [["0x100c60d9", "mov eax, dword ptr [esp + 0x1c]", "0x100bab99"], ["0x100c60dd", "push eax", "0x100bab9d"], ["0x100c60de", "call _SmackGetRect (FUNCTION)", "0x100bab9e"], ["0x100c60e3", "add esp, 8", "0x100baba3"], ["0x100c60e6", "test al, al", "0x100baba6"], ["0x100c60e8", "jne -0x29", "0x100baba8"], ["0x100c60ea", "mov eax, dword ptr [esp + 0x1c]", "0x100babaa"], ["0x100c60ee", "mov ecx, dword ptr [esp + 0x24]", "0x100babae"], ["0x100c60f2", "mov word ptr [eax], 0", "0x100babb2"], ["0x100c60f7", "mov edx, dword ptr [esp + 0x10]", "0x100babb7"], ["0x100c60fb", "mov al, 1", "0x100babbb"], ["0x100c60fd", "mov dword ptr [ecx], ebp", "0x100babbd"], ["0x100c60ff", "pop ebp", "0x100babbf"], ["0x100c6100", "mov dword ptr [ecx + 4], edx", "0x100babc0"]]}, {"orig": [["0x100c6103", "mov dword ptr [ecx + 8], edi"], ["0x100c6106", "mov dword ptr [ecx + 0xc], ebx"]], "recomp": [["0x100babc3", "mov dword ptr [ecx + 8], ebx"], ["0x100babc6", "mov dword ptr [ecx + 0xc], edi"]]}, {"both": [["0x100c6109", "pop edi", "0x100babc9"], ["0x100c610a", "pop esi", "0x100babca"], ["0x100c610b", "pop ebx", "0x100babcb"], ["0x100c610c", "add esp, 4", "0x100babcc"], ["0x100c610f", "ret ", "0x100babcf"]]}]]]}, {"address": "0x100c6110", "recomp": "0x100b17f0", "name": "MxRAMStreamController::Open", "matching": 1.0, "diff": []}, {"address": "0x100c6210", "recomp": "0x100b18f0", "name": "MxRAMStreamController::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100c6320", "recomp": "0x100b1a00", "name": "MxRAMStreamController::VTable0x24", "matching": 1.0, "diff": []}, {"address": "0x100c63c0", "recomp": "0x100b1aa0", "name": "MxRAMStreamController::DeserializeObject", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c63d0,39 +0x100b1ab0,39 @@", [{"both": [["0x100c63d0", "push eax", "0x100b1ab0"], ["0x100c63d1", "mov dword ptr fs:[0], esp", "0x100b1ab1"], ["0x100c63d8", "sub esp, 0xc", "0x100b1ab8"], ["0x100c63db", "push ebx", "0x100b1abb"], ["0x100c63dc", "push esi", "0x100b1abc"], ["0x100c63dd", "lea eax, [ecx + 8]", "0x100b1abd"], ["0x100c63e0", "push edi", "0x100b1ac0"], ["0x100c63e1", "mov esi, ecx", "0x100b1ac1"], ["0x100c63e3", "push eax", "0x100b1ac3"], ["0x100c63e4", "lea ecx, [ebp - 0x10]", "0x100b1ac4"]]}, {"orig": [["0x100c63e7", "lea ebx, [esi + 0x64]"]], "recomp": [["0x100b1ac7", "lea edi, [esi + 0x64]"]]}, {"both": [["0x100c63ea", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100b1aca"], ["0x100c63ef", "xor eax, eax", "0x100b1acf"]]}, {"orig": [["0x100c63f1", "mov edi, dword ptr [ebp + 8]"]], "recomp": [["0x100b1ad1", "mov ebx, dword ptr [ebp + 8]"]]}, {"both": [["0x100c63f4", "mov dword ptr [ebp - 4], eax", "0x100b1ad4"], ["0x100c63f7", "mov dword ptr [ebp - 0x18], eax", "0x100b1ad7"]]}, {"orig": [["0x100c63fa", "mov eax, dword ptr [edi + 0x94]"], ["0x100c6400", "mov ecx, ebx"]], "recomp": [["0x100b1ada", "mov eax, dword ptr [ebx + 0x94]"], ["0x100b1ae0", "mov ecx, edi"]]}, {"both": [["0x100c6402", "push eax", "0x100b1ae2"], ["0x100c6403", "call MxDSBuffer::FUN_100c6f80 (FUNCTION)", "0x100b1ae3"], ["0x100c6408", "lea eax, [ebp - 0x18]", "0x100b1ae8"]]}, {"orig": [["0x100c640b", "mov ecx, ebx"]], "recomp": [["0x100b1aeb", "mov ecx, edi"]]}, {"both": [["0x100c640d", "push eax", "0x100b1aed"]]}, {"orig": [["0x100c640e", "push edi"]], "recomp": [["0x100b1aee", "push ebx"]]}, {"both": [["0x100c640f", "push esi", "0x100b1aef"], ["0x100c6410", "call MxDSBuffer::FUN_100c67b0 (FUNCTION)", "0x100b1af0"], ["0x100c6415", "push 0", "0x100b1af5"], ["0x100c6417", "lea ecx, [esi + 0x3c]", "0x100b1af7"]]}, {"orig": [["0x100c641a", "push edi"]], "recomp": [["0x100b1afa", "push ebx"]]}, {"both": [["0x100c641b", "mov dword ptr [ebp - 0x14], eax", "0x100b1afb"], ["0x100c641e", "call MxDSObjectList::FindInternal (FUNCTION)", "0x100b1afe"], ["0x100c6423", "test eax, eax", "0x100b1b03"], ["0x100c6425", "jne -0x2d", "0x100b1b05"], ["0x100c6427", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b1b07"], ["0x100c642e", "call <OFFSET6>", "0x100b1b0e"], ["0x100c6433", "mov eax, 0", "0x100b1b13"], ["0x100c6438", "mov ecx, dword ptr [ebp - 0xc]", "0x100b1b18"], ["0x100c643b", "cmp dword ptr [ebp - 0x14], 1", "0x100b1b1b"], ["0x100c643f", "mov dword ptr fs:[0], ecx", "0x100b1b1f"]]}]]]}, {"address": "0x100c6470", "recomp": "0x100b1b50", "name": "MxDSBuffer::MxDSBuffer", "matching": 1.0, "diff": []}, {"address": "0x100c6500", "recomp": "0x100b1be0", "name": "MxDSBuffer::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c6510", "recomp": "0x100b1bf0", "name": "MxDSBuffer::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c6530", "recomp": "0x100b1c10", "name": "MxDSBuffer::~MxDSBuffer", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c65ab,39 +0x100b1c8b,39 @@", [{"both": [["0x100c65ab", "mov eax, esi", "0x100b1c8b"], ["0x100c65ad", "sub edx, edx", "0x100b1c8d"], ["0x100c65af", "div ecx", "0x100b1c8f"], ["0x100c65b1", "mov esi, eax", "0x100b1c91"], ["0x100c65b3", "mov edx, 1", "0x100b1c93"], ["0x100c65b8", "and esi, 0xffffffe7", "0x100b1c98"], ["0x100c65bb", "and al, 0x1f", "0x100b1c9b"], ["0x100c65bd", "shr esi, 3", "0x100b1c9d"], ["0x100c65c0", "mov cl, al", "0x100b1ca0"], ["0x100c65c2", "shl edx, cl", "0x100b1ca2"]]}, {"orig": [["0x100c65c4", "test dword ptr [esi + edi + 0x1c], edx"]], "recomp": [["0x100b1ca4", "test dword ptr [edi + esi + 0x1c], edx"]]}, {"both": [["0x100c65c8", "je 0x3c", "0x100b1ca8"]]}, {"orig": [["0x100c65ca", "xor dword ptr [esi + edi + 0x1c], edx"]], "recomp": [["0x100b1caa", "xor dword ptr [edi + esi + 0x1c], edx"]]}, {"both": [["0x100c65ce", "jmp 0x36", "0x100b1cae"], ["0x100c65d0", "mov eax, esi", "0x100b1cb0"], ["0x100c65d2", "mov ecx, dword ptr [edi + 0x24]", "0x100b1cb2"], ["0x100c65d5", "shl ecx, 0xa", "0x100b1cb5"], ["0x100c65d8", "sub eax, dword ptr [edi + 0x20]", "0x100b1cb8"], ["0x100c65db", "sub edx, edx", "0x100b1cbb"], ["0x100c65dd", "div ecx", "0x100b1cbd"], ["0x100c65df", "mov ecx, eax", "0x100b1cbf"], ["0x100c65e1", "mov edx, 1", "0x100b1cc1"], ["0x100c65e6", "and eax, 0xffffffe7", "0x100b1cc6"], ["0x100c65e9", "and cl, 0x1f", "0x100b1cc9"], ["0x100c65ec", "shr eax, 3", "0x100b1ccc"], ["0x100c65ef", "shl edx, cl", "0x100b1ccf"]]}, {"orig": [["0x100c65f1", "test dword ptr [eax + edi + 0x28], edx"]], "recomp": [["0x100b1cd1", "test dword ptr [edi + eax + 0x28], edx"]]}, {"both": [["0x100c65f5", "je 0xf", "0x100b1cd5"]]}, {"orig": [["0x100c65f7", "xor dword ptr [edi + eax + 0x28], edx"]], "recomp": [["0x100b1cd7", "xor dword ptr [eax + edi + 0x28], edx"]]}, {"both": [["0x100c65fb", "jmp 0x9", "0x100b1cdb"], ["0x100c65fd", "push esi", "0x100b1cdd"], ["0x100c65fe", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b1cde"], ["0x100c6603", "add esp, 4", "0x100b1ce3"], ["0x100c6606", "xor ecx, ecx", "0x100b1ce6"], ["0x100c6608", "mov eax, dword ptr [ebp - 0x10]", "0x100b1ce8"], ["0x100c660b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b1ceb"], ["0x100c6612", "mov dword ptr [eax + 0x14], ecx", "0x100b1cf2"], ["0x100c6615", "mov dword ptr [eax + 0x1c], ecx", "0x100b1cf5"], ["0x100c6618", "call <OFFSET5>", "0x100b1cf8"]]}]]]}, {"address": "0x100c6640", "recomp": "0x100b1d20", "name": "MxDSBuffer::AllocateBuffer", "matching": 0.8476190476190476, "diff": [["@@ -0x100c6640,105 +0x100b1d20,105 @@", [{"both": [["0x100c6640", "sub esp, 4", "0x100b1d20"], ["0x100c6643", "mov dword ptr [esp], 0xffffffff", "0x100b1d23"], ["0x100c664b", "push ebx", "0x100b1d2b"], ["0x100c664c", "push esi", "0x100b1d2c"]]}, {"orig": [["0x100c664d", "mov esi, dword ptr [esp + 0x14]"]], "recomp": []}, {"both": [["0x100c6651", "push edi", "0x100b1d2d"]]}, {"orig": [], "recomp": [["0x100b1d2e", "mov esi, ecx"], ["0x100b1d30", "mov edi, dword ptr [esp + 0x18]"]]}, {"both": [["0x100c6652", "push ebp", "0x100b1d34"]]}, {"orig": [["0x100c6653", "mov edi, ecx"], ["0x100c6655", "test esi, esi"]], "recomp": [["0x100b1d35", "test edi, edi"]]}, {"both": [["0x100c6657", "je 0xe", "0x100b1d37"]]}, {"orig": [["0x100c6659", "cmp esi, 1"]], "recomp": [["0x100b1d39", "cmp edi, 1"]]}, {"both": [["0x100c665c", "je 0xcf", "0x100b1d3c"], ["0x100c6662", "jmp 0xda", "0x100b1d42"], ["0x100c6667", "call Streamer (FUNCTION)", "0x100b1d47"], ["0x100c666c", "mov ecx, dword ptr [esp + 0x18]", "0x100b1d4c"], ["0x100c6670", "shr ecx, 0xa", "0x100b1d50"], ["0x100c6673", "cmp ecx, 0x40", "0x100b1d53"], ["0x100c6676", "je 0x12", "0x100b1d56"], ["0x100c6678", "cmp ecx, 0x80", "0x100b1d58"], ["0x100c667e", "je 0x5f", "0x100b1d5e"], ["0x100c6680", "xor ecx, ecx", "0x100b1d60"]]}, {"orig": [["0x100c6682", "mov dword ptr [edi + 8], ecx"]], "recomp": [["0x100b1d62", "mov dword ptr [esi + 8], ecx"]]}, {"both": [["0x100c6685", "jmp 0xb7", "0x100b1d65"], ["0x100c668a", "xor ebx, ebx", "0x100b1d6a"], ["0x100c668c", "mov edx, ebx", "0x100b1d6c"], ["0x100c668e", "mov ebp, 1", "0x100b1d6e"], ["0x100c6693", "and edx, 0xffffffe7", "0x100b1d73"], ["0x100c6696", "mov ecx, ebx", "0x100b1d76"], ["0x100c6698", "shr edx, 3", "0x100b1d78"], ["0x100c669b", "and cl, 0x1f", "0x100b1d7b"], ["0x100c669e", "shl ebp, cl", "0x100b1d7e"], ["0x100c66a0", "test dword ptr [edx + eax + 0x1c], ebp", "0x100b1d80"], ["0x100c66a4", "je 0x10", "0x100b1d84"], ["0x100c66a6", "inc ebx", "0x100b1d86"], ["0x100c66a7", "cmp ebx, 0x16", "0x100b1d87"], ["0x100c66aa", "jb -0x20", "0x100b1d8a"], ["0x100c66ac", "xor ecx, ecx", "0x100b1d8c"]]}, {"orig": [["0x100c66ae", "mov dword ptr [edi + 8], ecx"]], "recomp": [["0x100b1d8e", "mov dword ptr [esi + 8], ecx"]]}, {"both": [["0x100c66b1", "jmp 0x8b", "0x100b1d91"], ["0x100c66b6", "mov ebp, ebx", "0x100b1d96"], ["0x100c66b8", "mov edx, 1", "0x100b1d98"], ["0x100c66bd", "and ebp, 0xffffffe7", "0x100b1d9d"], ["0x100c66c0", "mov ecx, ebx", "0x100b1da0"], ["0x100c66c2", "shr ebp, 3", "0x100b1da2"], ["0x100c66c5", "and cl, 0x1f", "0x100b1da5"], ["0x100c66c8", "shl edx, cl", "0x100b1da8"], ["0x100c66ca", "xor dword ptr [ebp + eax + 0x1c], edx", "0x100b1daa"], ["0x100c66ce", "mov ecx, dword ptr [eax + 0x18]", "0x100b1dae"], ["0x100c66d1", "imul ecx, ebx", "0x100b1db1"], ["0x100c66d4", "shl ecx, 0xa", "0x100b1db4"], ["0x100c66d7", "add ecx, dword ptr [eax + 0x14]", "0x100b1db7"]]}, {"orig": [["0x100c66da", "mov dword ptr [edi + 8], ecx"]], "recomp": [["0x100b1dba", "mov dword ptr [esi + 8], ecx"]]}, {"both": [["0x100c66dd", "jmp 0x62", "0x100b1dbd"], ["0x100c66df", "xor ebx, ebx", "0x100b1dbf"], ["0x100c66e1", "mov edx, ebx", "0x100b1dc1"], ["0x100c66e3", "mov ebp, 1", "0x100b1dc3"], ["0x100c66e8", "and edx, 0xffffffe7", "0x100b1dc8"], ["0x100c66eb", "mov ecx, ebx", "0x100b1dcb"], ["0x100c66ed", "shr edx, 3", "0x100b1dcd"], ["0x100c66f0", "and cl, 0x1f", "0x100b1dd0"], ["0x100c66f3", "shl ebp, cl", "0x100b1dd3"], ["0x100c66f5", "test dword ptr [edx + eax + 0x28], ebp", "0x100b1dd5"], ["0x100c66f9", "je 0xd", "0x100b1dd9"], ["0x100c66fb", "inc ebx", "0x100b1ddb"], ["0x100c66fc", "cmp ebx, 2", "0x100b1ddc"], ["0x100c66ff", "jb -0x20", "0x100b1ddf"], ["0x100c6701", "xor ecx, ecx", "0x100b1de1"]]}, {"orig": [["0x100c6703", "mov dword ptr [edi + 8], ecx"]], "recomp": [["0x100b1de3", "mov dword ptr [esi + 8], ecx"]]}, {"both": [["0x100c6706", "jmp 0x39", "0x100b1de6"], ["0x100c6708", "mov edx, ebx", "0x100b1de8"], ["0x100c670a", "mov ebp, 1", "0x100b1dea"], ["0x100c670f", "and edx, 0xffffffe7", "0x100b1def"], ["0x100c6712", "mov ecx, ebx", "0x100b1df2"], ["0x100c6714", "shr edx, 3", "0x100b1df4"], ["0x100c6717", "and cl, 0x1f", "0x100b1df7"], ["0x100c671a", "shl ebp, cl", "0x100b1dfa"], ["0x100c671c", "xor dword ptr [edx + eax + 0x28], ebp", "0x100b1dfc"], ["0x100c6720", "mov ecx, dword ptr [eax + 0x24]", "0x100b1e00"], ["0x100c6723", "imul ecx, ebx", "0x100b1e03"], ["0x100c6726", "shl ecx, 0xa", "0x100b1e06"], ["0x100c6729", "add ecx, dword ptr [eax + 0x20]", "0x100b1e09"]]}, {"orig": [["0x100c672c", "mov dword ptr [edi + 8], ecx"]], "recomp": [["0x100b1e0c", "mov dword ptr [esi + 8], ecx"]]}, {"both": [["0x100c672f", "jmp 0x10", "0x100b1e0f"], ["0x100c6731", "mov eax, dword ptr [esp + 0x18]", "0x100b1e11"], ["0x100c6735", "push eax", "0x100b1e15"], ["0x100c6736", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b1e16"], ["0x100c673b", "add esp, 4", "0x100b1e1b"]]}, {"orig": [["0x100c673e", "mov dword ptr [edi + 8], eax"], ["0x100c6741", "mov eax, dword ptr [edi + 8]"], ["0x100c6744", "mov dword ptr [edi + 0xc], eax"], ["0x100c6747", "mov dword ptr [edi + 0x10], eax"]], "recomp": [["0x100b1e1e", "mov dword ptr [esi + 8], eax"], ["0x100b1e21", "mov eax, dword ptr [esi + 8]"], ["0x100b1e24", "mov dword ptr [esi + 0xc], eax"], ["0x100b1e27", "mov dword ptr [esi + 0x10], eax"]]}, {"both": [["0x100c674a", "test eax, eax", "0x100b1e2a"], ["0x100c674c", "je 0x15", "0x100b1e2c"], ["0x100c674e", "mov eax, dword ptr [esp + 0x18]", "0x100b1e2e"]]}, {"orig": [["0x100c6752", "mov dword ptr [edi + 0x24], esi"], ["0x100c6755", "mov dword ptr [edi + 0x2c], eax"], ["0x100c6758", "mov dword ptr [edi + 0x28], eax"]], "recomp": [["0x100b1e32", "mov dword ptr [esi + 0x24], edi"], ["0x100b1e35", "mov dword ptr [esi + 0x2c], eax"], ["0x100b1e38", "mov dword ptr [esi + 0x28], eax"]]}, {"both": [["0x100c675b", "mov dword ptr [esp + 0x10], 0", "0x100b1e3b"], ["0x100c6763", "mov eax, dword ptr [esp + 0x10]", "0x100b1e43"], ["0x100c6767", "pop ebp", "0x100b1e47"], ["0x100c6768", "pop edi", "0x100b1e48"], ["0x100c6769", "pop esi", "0x100b1e49"], ["0x100c676a", "pop ebx", "0x100b1e4a"], ["0x100c676b", "add esp, 4", "0x100b1e4b"], ["0x100c676e", "ret 8", "0x100b1e4e"]]}]]]}, {"address": "0x100c6780", "recomp": "0x100b1e60", "name": "MxDSBuffer::SetBufferPointer", "matching": 1.0, "diff": []}, {"address": "0x100c67b0", "recomp": "0x100b1e90", "name": "MxDSBuffer::FUN_100c67b0", "matching": 1.0, "diff": []}, {"address": "0x100c68a0", "recomp": "0x100b1f80", "name": "MxDSBuffer::CreateObject", "matching": 1.0, "diff": []}, {"address": "0x100c6960", "recomp": "0x100b2040", "name": "MxDSBuffer::StartPresenterFromAction", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c6960,87 +0x100b2040,87 @@", [{"both": [["0x100c6960", "push ebx", "0x100b2040"], ["0x100c6961", "push esi", "0x100b2041"]]}, {"orig": [["0x100c6962", "mov ebx, dword ptr [esp + 0x14]"]], "recomp": [["0x100b2042", "mov esi, dword ptr [esp + 0x14]"]]}, {"both": [["0x100c6966", "push edi", "0x100b2046"], ["0x100c6967", "mov eax, dword ptr [ecx + 0x30]", "0x100b2047"], ["0x100c696a", "push ebp", "0x100b204a"], ["0x100c696b", "mov edi, ecx", "0x100b204b"], ["0x100c696d", "cmp dword ptr [eax + 0xb0], 0", "0x100b204d"], ["0x100c6974", "je 0x15", "0x100b2054"]]}, {"orig": [["0x100c6976", "test ebx, ebx"]], "recomp": [["0x100b2056", "test esi, esi"]]}, {"both": [["0x100c6978", "je 0x8", "0x100b2058"], ["0x100c697a", "push 1", "0x100b205a"]]}, {"orig": [["0x100c697c", "mov eax, dword ptr [ebx]"], ["0x100c697e", "mov ecx, ebx"]], "recomp": [["0x100b205c", "mov eax, dword ptr [esi]"], ["0x100b205e", "mov ecx, esi"]]}, {"both": [["0x100c6980", "call dword ptr [eax]", "0x100b2060"], ["0x100c6982", "xor eax, eax", "0x100b2062"], ["0x100c6984", "pop ebp", "0x100b2064"], ["0x100c6985", "pop edi", "0x100b2065"], ["0x100c6986", "pop esi", "0x100b2066"], ["0x100c6987", "pop ebx", "0x100b2067"], ["0x100c6988", "ret 0xc", "0x100b2068"]]}, {"orig": [["0x100c698b", "mov ebp, dword ptr [ebx]"], ["0x100c698d", "mov esi, dword ptr [esp + 0x18]"], ["0x100c6991", "mov ecx, ebx"], ["0x100c6993", "mov eax, dword ptr [esi + 0x20]"]], "recomp": [["0x100b206b", "mov ebp, dword ptr [esi]"], ["0x100b206d", "mov ebx, dword ptr [esp + 0x18]"], ["0x100b2071", "mov ecx, esi"], ["0x100b2073", "mov eax, dword ptr [ebx + 0x20]"]]}, {"both": [["0x100c6996", "push eax", "0x100b2076"], ["0x100c6997", "call dword ptr [ebp + 0x20]", "0x100b2077"]]}, {"orig": [["0x100c699a", "mov eax, dword ptr [esi + 0x28]"], ["0x100c699d", "mov dword ptr [ebx + 0x28], eax"], ["0x100c69a0", "mov ecx, dword ptr [esi + 0x84]"], ["0x100c69a6", "mov dword ptr [ebx + 0x84], ecx"], ["0x100c69ac", "mov ecx, esi"], ["0x100c69ae", "mov edx, dword ptr [esi + 0x8c]"], ["0x100c69b4", "mov dword ptr [ebx + 0x8c], edx"], ["0x100c69ba", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b207a", "mov eax, dword ptr [ebx + 0x28]"], ["0x100b207d", "mov dword ptr [esi + 0x28], eax"], ["0x100b2080", "mov ecx, dword ptr [ebx + 0x84]"], ["0x100b2086", "mov dword ptr [esi + 0x84], ecx"], ["0x100b208c", "mov ecx, ebx"], ["0x100b208e", "mov edx, dword ptr [ebx + 0x8c]"], ["0x100b2094", "mov dword ptr [esi + 0x8c], edx"], ["0x100b209a", "mov eax, dword ptr [ebx]"]]}, {"both": [["0x100c69bc", "call dword ptr [eax + 0x3c]", "0x100b209c"], ["0x100c69bf", "push eax", "0x100b209f"]]}, {"orig": [["0x100c69c0", "mov ecx, ebx"]], "recomp": [["0x100b20a0", "mov ecx, esi"]]}, {"both": [["0x100c69c2", "call dword ptr [ebp + 0x38]", "0x100b20a2"]]}, {"orig": [["0x100c69c5", "push esi"], ["0x100c69c6", "mov ecx, ebx"]], "recomp": [["0x100b20a5", "push ebx"], ["0x100b20a6", "mov ecx, esi"]]}, {"both": [["0x100c69c8", "call dword ptr [ebp + 0x30]", "0x100b20a8"]]}, {"orig": [["0x100c69cb", "mov ecx, ebx"]], "recomp": [["0x100b20ab", "mov ecx, esi"]]}, {"both": [["0x100c69cd", "call dword ptr [ebp + 0x2c]", "0x100b20ad"], ["0x100c69d0", "push eax", "0x100b20b0"], ["0x100c69d1", "mov ecx, dword ptr [edi + 0x30]", "0x100b20b1"], ["0x100c69d4", "call MxDSStreamingAction::SetInternalAction (FUNCTION)", "0x100b20b4"]]}, {"orig": [["0x100c69d9", "mov esi, dword ptr [esp + 0x14]"], ["0x100c69dd", "push ebx"], ["0x100c69de", "mov ecx, esi"]], "recomp": [["0x100b20b9", "mov ebx, dword ptr [esp + 0x14]"], ["0x100b20bd", "push esi"], ["0x100b20be", "mov ecx, ebx"]]}, {"both": [["0x100c69e0", "call MxStreamController::InsertActionToList54 (FUNCTION)", "0x100b20c0"], ["0x100c69e5", "call MxOmni::GetInstance (FUNCTION)", "0x100b20c5"]]}, {"orig": [], "recomp": [["0x100b20ca", "push esi"], ["0x100b20cb", "mov edx, dword ptr [eax]"]]}, {"both": [["0x100c69ea", "push ebx", "0x100b20cd"]]}, {"orig": [["0x100c69eb", "mov edx, dword ptr [eax]"], ["0x100c69ed", "push esi"]], "recomp": []}, {"both": [["0x100c69ee", "mov ecx, eax", "0x100b20ce"], ["0x100c69f0", "call dword ptr [edx + 0x2c]", "0x100b20d0"], ["0x100c69f3", "test eax, eax", "0x100b20d3"], ["0x100c69f5", "je 0xc", "0x100b20d5"], ["0x100c69f7", "mov eax, 0xffffffff", "0x100b20d7"], ["0x100c69fc", "pop ebp", "0x100b20dc"], ["0x100c69fd", "pop edi", "0x100b20dd"], ["0x100c69fe", "pop esi", "0x100b20de"], ["0x100c69ff", "pop ebx", "0x100b20df"], ["0x100c6a00", "ret 0xc", "0x100b20e0"]]}, {"orig": [["0x100c6a03", "mov eax, dword ptr [ebx + 0x3c]"]], "recomp": [["0x100b20e3", "mov eax, dword ptr [esi + 0x3c]"]]}, {"both": [["0x100c6a06", "mov ecx, dword ptr [edi + 0x30]", "0x100b20e6"], ["0x100c6a09", "mov dword ptr [ecx + 0x3c], eax", "0x100b20e9"], ["0x100c6a0c", "mov ecx, dword ptr [edi + 0x30]", "0x100b20ec"]]}, {"orig": [["0x100c6a0f", "mov edx, dword ptr [ebx + 0x30]"]], "recomp": [["0x100b20ef", "mov edx, dword ptr [esi + 0x30]"]]}, {"both": [["0x100c6a12", "mov dword ptr [ecx + 0x30], edx", "0x100b20f2"]]}, {"orig": [["0x100c6a15", "mov ecx, ebx"], ["0x100c6a17", "mov esi, dword ptr [edi + 0x30]"]], "recomp": [["0x100b20f5", "mov ecx, esi"], ["0x100b20f7", "mov ebx, dword ptr [edi + 0x30]"]]}, {"both": [["0x100c6a1a", "call dword ptr [ebp + 0x24]", "0x100b20fa"], ["0x100c6a1d", "push eax", "0x100b20fd"]]}, {"orig": [["0x100c6a1e", "mov ebx, dword ptr [esi]"], ["0x100c6a20", "mov ecx, esi"], ["0x100c6a22", "call dword ptr [ebx + 0x28]"], ["0x100c6a25", "mov esi, dword ptr [edi + 0x30]"], ["0x100c6a28", "cmp dword ptr [esi + 0xb0], 0"]], "recomp": [["0x100b20fe", "mov ebp, dword ptr [ebx]"], ["0x100b2100", "mov ecx, ebx"], ["0x100b2102", "call dword ptr [ebp + 0x28]"], ["0x100b2105", "mov ebx, dword ptr [edi + 0x30]"], ["0x100b2108", "cmp dword ptr [ebx + 0xb0], 0"]]}, {"both": [["0x100c6a2f", "jne -0xb3", "0x100b210f"], ["0x100c6a35", "mov eax, 0xffffffff", "0x100b2115"], ["0x100c6a3a", "pop ebp", "0x100b211a"], ["0x100c6a3b", "pop edi", "0x100b211b"], ["0x100c6a3c", "pop esi", "0x100b211c"], ["0x100c6a3d", "pop ebx", "0x100b211d"], ["0x100c6a3e", "ret 0xc", "0x100b211e"]]}]]]}, {"address": "0x100c6a50", "recomp": "0x100b2130", "name": "MxDSBuffer::ParseChunk", "matching": 0.8122270742358079, "diff": [["@@ -0x100c6aad,157 +0x100b218d,158 @@", [{"both": [["0x100c6aad", "mov esp, ebp", "0x100b218d"], ["0x100c6aaf", "pop ebp", "0x100b218f"], ["0x100c6ab0", "ret 0x14", "0x100b2190"], ["0x100c6ab3", "mov esi, dword ptr [ebp + 0x18]", "0x100b2193"], ["0x100c6ab6", "mov eax, dword ptr [eax + 0xa8]", "0x100b2196"], ["0x100c6abc", "lea ecx, [esi + 8]", "0x100b219c"], ["0x100c6abf", "add dword ptr [esi + 0x10], eax", "0x100b219f"], ["0x100c6ac2", "mov dword ptr [ebp - 0x18], ecx", "0x100b21a2"], ["0x100c6ac5", "mov ax, word ptr [ecx]", "0x100b21a5"], ["0x100c6ac8", "test al, 0x10", "0x100b21a8"]]}, {"orig": [["0x100c6aca", "jne 0x10f"]], "recomp": [["0x100b21aa", "jne 0x110"]]}, {"both": [["0x100c6ad0", "test al, 2", "0x100b21b0"]]}, {"orig": [["0x100c6ad2", "je 0xc7"]], "recomp": [["0x100b21b2", "je 0xc8"]]}, {"both": [["0x100c6ad8", "mov ecx, dword ptr [edi + 0x30]", "0x100b21b8"], ["0x100c6adb", "lea ebx, [esi + 0xc]", "0x100b21bb"], ["0x100c6ade", "mov eax, dword ptr [ebx]", "0x100b21be"], ["0x100c6ae0", "push eax", "0x100b21c0"], ["0x100c6ae1", "mov eax, dword ptr [ecx]", "0x100b21c1"], ["0x100c6ae3", "call dword ptr [eax + 0x34]", "0x100b21c3"], ["0x100c6ae6", "test al, al", "0x100b21c6"]]}, {"orig": [["0x100c6ae8", "je 0xb1"]], "recomp": [["0x100b21c8", "je 0xb2"]]}, {"both": [["0x100c6aee", "mov ecx, dword ptr [edi + 0x30]", "0x100b21ce"], ["0x100c6af1", "test byte ptr [ecx + 0x30], 4", "0x100b21d1"]]}, {"orig": [["0x100c6af5", "je 0x7a"]], "recomp": [["0x100b21d5", "je 0x7b"]]}, {"both": [["0x100c6af7", "cmp dword ptr [ecx + 0x3c], 1", "0x100b21d7"], ["0x100c6afb", "jg 0xa", "0x100b21db"], ["0x100c6afd", "mov eax, dword ptr [ecx]", "0x100b21dd"], ["0x100c6aff", "call dword ptr [eax + 0x24]", "0x100b21df"], ["0x100c6b02", "cmp eax, -1", "0x100b21e2"]]}, {"orig": [["0x100c6b05", "jne 0x6a"], ["0x100c6b07", "mov ecx, dword ptr [ebx]"], ["0x100c6b09", "mov eax, dword ptr [ebp + 0x10]"], ["0x100c6b0c", "mov ebx, dword ptr [ebp + 8]"], ["0x100c6b0f", "cmp dword ptr [eax + 0x1c], ecx"], ["0x100c6b12", "jne 0x4d"], ["0x100c6b14", "mov ecx, dword ptr [ebx + 0x28]"]], "recomp": [["0x100b21e5", "jne 0x6b"], ["0x100b21e7", "mov eax, dword ptr [ebx]"], ["0x100b21e9", "mov ebx, dword ptr [ebp + 0x10]"], ["0x100b21ec", "cmp dword ptr [ebx + 0x1c], eax"], ["0x100b21ef", "jne 0x51"], ["0x100b21f1", "mov eax, dword ptr [ebp + 8]"], ["0x100b21f4", "mov ecx, dword ptr [eax + 0x28]"]]}, {"both": [["0x100c6b17", "mov eax, dword ptr [ecx]", "0x100b21f7"], ["0x100c6b19", "call dword ptr [eax + 0x28]", "0x100b21f9"], ["0x100c6b1c", "mov ecx, dword ptr [edi + 0x30]", "0x100b21fc"], ["0x100c6b1f", "mov edx, dword ptr [ecx + 0x1c]", "0x100b21ff"], ["0x100c6b22", "mov eax, dword ptr [eax + edx*4]", "0x100b2202"], ["0x100c6b25", "sub edx, edx", "0x100b2205"], ["0x100c6b27", "mov dword ptr [ecx + 0x94], eax", "0x100b2207"], ["0x100c6b2d", "mov ecx, dword ptr [edi + 0x28]", "0x100b220d"], ["0x100c6b30", "div ecx", "0x100b2210"], ["0x100c6b32", "imul eax, ecx", "0x100b2212"], ["0x100c6b35", "mov ecx, dword ptr [edi + 0x30]", "0x100b2215"], ["0x100c6b38", "mov dword ptr [ecx + 0x98], eax", "0x100b2218"], ["0x100c6b3e", "mov ecx, dword ptr [edi + 0x30]", "0x100b221e"], ["0x100c6b41", "push ecx", "0x100b2221"]]}, {"orig": [["0x100c6b42", "mov ecx, ebx"]], "recomp": [["0x100b2222", "mov ecx, dword ptr [ebp + 8]"]]}, {"both": [["0x100c6b44", "call MxStreamController::FindNextActionDataStartFromStreamingAction (FUNCTION)", "0x100b2225"], ["0x100c6b49", "test eax, eax", "0x100b222a"], ["0x100c6b4b", "je 0xc", "0x100b222c"], ["0x100c6b4d", "mov ecx, dword ptr [edi + 0x30]", "0x100b222e"], ["0x100c6b50", "mov edx, dword ptr [ecx + 0x98]", "0x100b2231"], ["0x100c6b56", "mov dword ptr [eax + 0x10], edx", "0x100b2237"], ["0x100c6b59", "mov ecx, dword ptr [edi + 0x30]", "0x100b223a"], ["0x100c6b5c", "call MxDSStreamingAction::FUN_100cd2d0 (FUNCTION)", "0x100b223d"], ["0x100c6b61", "test esi, esi", "0x100b2242"], ["0x100c6b63", "je 0x8", "0x100b2244"], ["0x100c6b65", "push 1", "0x100b2246"], ["0x100c6b67", "mov eax, dword ptr [esi]", "0x100b2248"], ["0x100c6b69", "mov ecx, esi", "0x100b224a"], ["0x100c6b6b", "call dword ptr [eax]", "0x100b224c"], ["0x100c6b6d", "xor esi, esi", "0x100b224e"], ["0x100c6b6f", "jmp 0x31", "0x100b2250"]]}, {"orig": [["0x100c6b71", "mov ecx, dword ptr [ebx]"], ["0x100c6b73", "mov eax, dword ptr [ebp + 0x10]"], ["0x100c6b76", "cmp dword ptr [eax + 0x1c], ecx"], ["0x100c6b79", "jne 0x24"], ["0x100c6b7b", "push eax"], ["0x100c6b7c", "mov ebx, dword ptr [ebp + 8]"], ["0x100c6b7f", "mov ecx, ebx"], ["0x100c6b81", "mov edi, dword ptr [ebx]"]], "recomp": [["0x100b2252", "mov eax, dword ptr [ebx]"], ["0x100b2254", "mov ebx, dword ptr [ebp + 0x10]"], ["0x100b2257", "cmp dword ptr [ebx + 0x1c], eax"], ["0x100b225a", "jne 0x27"], ["0x100b225c", "push ebx"], ["0x100b225d", "mov eax, dword ptr [ebp + 8]"], ["0x100b2260", "mov ecx, eax"], ["0x100b2262", "mov edi, dword ptr [eax]"]]}, {"both": [["0x100c6b83", "call dword ptr [edi + 0x30]", "0x100b2264"], ["0x100c6b86", "test eax, eax", "0x100b2267"], ["0x100c6b88", "jne 0x18", "0x100b2269"]]}, {"orig": [["0x100c6b8a", "mov ecx, dword ptr [ebx + 0x28]"], ["0x100c6b8d", "mov eax, dword ptr [ebp + 0x10]"], ["0x100c6b90", "push eax"]], "recomp": [["0x100b226b", "mov eax, dword ptr [ebp + 8]"], ["0x100b226e", "push ebx"], ["0x100b226f", "mov ecx, dword ptr [eax + 0x28]"]]}, {"both": [["0x100c6b91", "mov edi, dword ptr [ecx]", "0x100b2272"], ["0x100c6b93", "call dword ptr [edi + 0x20]", "0x100b2274"], ["0x100c6b96", "mov dword ptr [ebp - 0x14], 1", "0x100b2277"], ["0x100c6b9d", "jmp 0x3", "0x100b227e"]]}, {"orig": [["0x100c6b9f", "mov ebx, dword ptr [ebp + 8]"]], "recomp": [["0x100b2280", "mov ebx, dword ptr [ebp + 0x10]"]]}, {"both": [["0x100c6ba2", "test esi, esi", "0x100b2283"]]}, {"orig": [["0x100c6ba4", "je 0x101"], ["0x100c6baa", "mov eax, dword ptr [ebp + 0x10]"], ["0x100c6bad", "add ebx, 0x30"], ["0x100c6bb0", "mov ax, word ptr [eax + 0x24]"]], "recomp": [["0x100b2285", "je 0xff"], ["0x100b228b", "mov ax, word ptr [ebx + 0x24]"]]}, {"both": [["0x100c6bb4", "mov ecx, esi", "0x100b228f"], ["0x100c6bb6", "push eax", "0x100b2291"], ["0x100c6bb7", "push 1", "0x100b2292"]]}, {"orig": [["0x100c6bb9", "push ebx"]], "recomp": [["0x100b2294", "mov eax, dword ptr [ebp + 8]"], ["0x100b2297", "add eax, 0x30"], ["0x100b229a", "push eax"]]}, {"both": [["0x100c6bba", "call MxStreamChunk::SendChunk (FUNCTION)", "0x100b229b"], ["0x100c6bbf", "test eax, eax", "0x100b22a0"]]}, {"orig": [["0x100c6bc1", "je 0xe4"]], "recomp": [["0x100b22a2", "je 0xe2"]]}, {"both": [["0x100c6bc7", "test esi, esi", "0x100b22a8"]]}, {"orig": [["0x100c6bc9", "je 0xdc"]], "recomp": [["0x100b22aa", "je 0xda"]]}, {"both": [["0x100c6bcf", "push 1", "0x100b22b0"], ["0x100c6bd1", "mov eax, dword ptr [esi]", "0x100b22b2"], ["0x100c6bd3", "mov ecx, esi", "0x100b22b4"], ["0x100c6bd5", "call dword ptr [eax]", "0x100b22b6"], ["0x100c6bd7", "mov eax, dword ptr [ebp - 0x14]", "0x100b22b8"]]}, {"orig": [["0x100c6bda", "jmp -0x13f"]], "recomp": [["0x100b22bb", "jmp -0x140"]]}, {"both": [["0x100c6bdf", "call MxDSChunk::GetHeaderSize (FUNCTION)", "0x100b22c0"], ["0x100c6be4", "mov ecx, dword ptr [esi + 0x14]", "0x100b22c5"], ["0x100c6be7", "push 0x34", "0x100b22c8"], ["0x100c6be9", "mov edi, 0", "0x100b22ca"], ["0x100c6bee", "lea ebx, [ecx + eax + 8]", "0x100b22cf"], ["0x100c6bf2", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b22d3"], ["0x100c6bf7", "add esp, 4", "0x100b22d8"], ["0x100c6bfa", "mov dword ptr [ebp - 0x10], eax", "0x100b22db"], ["0x100c6bfd", "mov dword ptr [ebp - 4], 0", "0x100b22de"], ["0x100c6c04", "test eax, eax", "0x100b22e5"], ["0x100c6c06", "je 0x9", "0x100b22e7"], ["0x100c6c08", "mov ecx, eax", "0x100b22e9"], ["0x100c6c0a", "call MxDSBuffer::MxDSBuffer (FUNCTION)", "0x100b22eb"], ["0x100c6c0f", "mov edi, eax", "0x100b22f0"], ["0x100c6c11", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b22f2"], ["0x100c6c18", "test edi, edi", "0x100b22f9"]]}, {"orig": [["0x100c6c1a", "je 0xac"]], "recomp": [["0x100b22fb", "je 0xaa"]]}, {"both": [["0x100c6c20", "push 1", "0x100b2301"], ["0x100c6c22", "mov ecx, edi", "0x100b2303"], ["0x100c6c24", "push ebx", "0x100b2305"], ["0x100c6c25", "call MxDSBuffer::AllocateBuffer (FUNCTION)", "0x100b2306"], ["0x100c6c2a", "test eax, eax", "0x100b230b"]]}, {"orig": [["0x100c6c2c", "jne 0x8e"]], "recomp": [["0x100b230d", "jne 0x8c"]]}, {"both": [["0x100c6c32", "mov eax, dword ptr [ebp + 0xc]", "0x100b2313"], ["0x100c6c35", "mov ecx, edi", "0x100b2316"], ["0x100c6c37", "push eax", "0x100b2318"], ["0x100c6c38", "call MxDSBuffer::CalcBytesRemaining (FUNCTION)", "0x100b2319"], ["0x100c6c3d", "test eax, eax", "0x100b231e"]]}, {"orig": [["0x100c6c3f", "jne 0x7f"]], "recomp": [["0x100b2320", "jne 0x7d"]]}, {"both": [["0x100c6c41", "push 0xb4", "0x100b2322"], ["0x100c6c46", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b2327"], ["0x100c6c4b", "add esp, 4", "0x100b232c"], ["0x100c6c4e", "mov dword ptr [ebp - 0x10], eax", "0x100b232f"], ["0x100c6c51", "mov dword ptr [ebp - 4], 1", "0x100b2332"], ["0x100c6c58", "test eax, eax", "0x100b2339"]]}, {"orig": [["0x100c6c5a", "mov eax, 0"], ["0x100c6c5f", "je 0xc"], ["0x100c6c61", "mov eax, dword ptr [ebp + 0x10]"], ["0x100c6c64", "mov ecx, dword ptr [ebp - 0x10]"], ["0x100c6c67", "push eax"]], "recomp": [["0x100b233b", "je 0xd"], ["0x100b233d", "mov ebx, dword ptr [ebp + 0x10]"], ["0x100b2340", "mov ecx, eax"], ["0x100b2342", "push ebx"]]}, {"both": [["0x100c6c68", "call MxDSStreamingAction::MxDSStreamingAction (FUNCTION)", "0x100b2343"]]}, {"orig": [], "recomp": [["0x100b2348", "jmp 0x2"], ["0x100b234a", "xor eax, eax"]]}, {"both": [["0x100c6c6d", "mov ebx, dword ptr [ebp + 0x14]", "0x100b234c"], ["0x100c6c70", "test eax, eax", "0x100b234f"], ["0x100c6c72", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b2351"], ["0x100c6c79", "mov dword ptr [ebx], eax", "0x100b2358"], ["0x100c6c7b", "je 0x43", "0x100b235a"], ["0x100c6c7d", "mov eax, dword ptr [edi + 8]", "0x100b235c"], ["0x100c6c80", "push eax", "0x100b235f"], ["0x100c6c81", "call MxStreamChunk::IntoFlags (FUNCTION)", "0x100b2360"], ["0x100c6c86", "add esp, 4", "0x100b2365"], ["0x100c6c89", "mov ecx, dword ptr [ebp - 0x18]", "0x100b2368"]]}]], ["@@ -0x100c6c94,36 +0x100b2373,37 @@", [{"both": [["0x100c6c94", "mov word ptr [eax], cx", "0x100b2373"], ["0x100c6c97", "mov ecx, esi", "0x100b2376"], ["0x100c6c99", "test ecx, ecx", "0x100b2378"], ["0x100c6c9b", "je 0x6", "0x100b237a"], ["0x100c6c9d", "push 1", "0x100b237c"], ["0x100c6c9f", "mov eax, dword ptr [ecx]", "0x100b237e"], ["0x100c6ca1", "call dword ptr [eax]", "0x100b2380"], ["0x100c6ca3", "mov eax, dword ptr [ebx]", "0x100b2382"], ["0x100c6ca5", "mov dword ptr [eax + 0xa0], edi", "0x100b2384"], ["0x100c6cab", "mov eax, dword ptr [ebp - 0x14]", "0x100b238a"]]}, {"orig": [["0x100c6cae", "jmp -0x213"]], "recomp": [["0x100b238d", "jmp -0x212"]]}, {"both": [["0x100c6cb3", "mov eax, dword ptr [ebp - 0x10]", "0x100b2392"], ["0x100c6cb6", "push eax", "0x100b2395"], ["0x100c6cb7", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b2396"], ["0x100c6cbc", "add esp, 4", "0x100b239b"], ["0x100c6cbf", "ret ", "0x100b239e"], ["0x100c6cc0", "test edi, edi", "0x100b239f"], ["0x100c6cc2", "je 0x8", "0x100b23a1"], ["0x100c6cc4", "push 1", "0x100b23a3"], ["0x100c6cc6", "mov eax, dword ptr [edi]", "0x100b23a5"], ["0x100c6cc8", "mov ecx, edi", "0x100b23a7"], ["0x100c6cca", "call dword ptr [eax]", "0x100b23a9"], ["0x100c6ccc", "mov ecx, esi", "0x100b23ab"], ["0x100c6cce", "test ecx, ecx", "0x100b23ad"], ["0x100c6cd0", "je 0x6", "0x100b23af"], ["0x100c6cd2", "push 1", "0x100b23b1"], ["0x100c6cd4", "mov eax, dword ptr [ecx]", "0x100b23b3"], ["0x100c6cd6", "call dword ptr [eax]", "0x100b23b5"], ["0x100c6cd8", "mov eax, 0xffffffff", "0x100b23b7"]]}, {"orig": [["0x100c6cdd", "jmp -0x242"]], "recomp": [["0x100b23bc", "jmp -0x241"]]}, {"both": [["0x100c6ce2", "mov eax, <OFFSET13>", "0x100b23c1"], ["0x100c6ce7", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b23c6"], ["0x100c6cec", "mov eax, dword ptr [ebp - 0x10]", "0x100b23cb"], ["0x100c6cef", "push eax", "0x100b23ce"], ["0x100c6cf0", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b23cf"], ["0x100c6cf5", "add esp, 4", "0x100b23d4"]]}, {"orig": [], "recomp": [["0x100b23d7", "ret "]]}]]]}, {"address": "0x100c6d00", "recomp": "0x100b23e0", "name": "MxDSBuffer::ReadChunk", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c6d07,24 +0x100b23e7,24 @@", [{"both": [["0x100c6d07", "mov ebp, esp", "0x100b23e7"], ["0x100c6d09", "push -1", "0x100b23e9"], ["0x100c6d0b", "push <OFFSET1>", "0x100b23eb"], ["0x100c6d10", "push eax", "0x100b23f0"], ["0x100c6d11", "mov dword ptr fs:[0], esp", "0x100b23f1"], ["0x100c6d18", "xor eax, eax", "0x100b23f8"], ["0x100c6d1a", "sub esp, 8", "0x100b23fa"], ["0x100c6d1d", "push ebx", "0x100b23fd"], ["0x100c6d1e", "push esi", "0x100b23fe"], ["0x100c6d1f", "push edi", "0x100b23ff"]]}, {"orig": [["0x100c6d20", "mov edi, dword ptr [ebp + 0xc]"], ["0x100c6d23", "lea ecx, [edi + 8]"]], "recomp": [["0x100b2400", "mov esi, dword ptr [ebp + 0xc]"], ["0x100b2403", "lea ecx, [esi + 8]"]]}, {"both": [["0x100c6d26", "mov dword ptr [ebp - 0x14], ecx", "0x100b2406"]]}, {"orig": [["0x100c6d29", "mov ecx, dword ptr [edi]"]], "recomp": [["0x100b2409", "mov ecx, dword ptr [esi]"]]}, {"both": [["0x100c6d2b", "cmp ecx, 0x624f784d", "0x100b240b"], ["0x100c6d31", "je 0x19", "0x100b2411"], ["0x100c6d33", "cmp ecx, 0x6843784d", "0x100b2413"], ["0x100c6d39", "je 0x23", "0x100b2419"], ["0x100c6d3b", "mov ecx, dword ptr [ebp - 0xc]", "0x100b241b"], ["0x100c6d3e", "pop edi", "0x100b241e"], ["0x100c6d3f", "mov dword ptr fs:[0], ecx", "0x100b241f"], ["0x100c6d46", "pop esi", "0x100b2426"], ["0x100c6d47", "pop ebx", "0x100b2427"], ["0x100c6d48", "mov esp, ebp", "0x100b2428"]]}]], ["@@ -0x100c6d52,39 +0x100b2432,39 @@", [{"both": [["0x100c6d52", "push eax", "0x100b2432"], ["0x100c6d53", "push ecx", "0x100b2433"], ["0x100c6d54", "call DeserializeDSObjectDispatch (FUNCTION)", "0x100b2434"], ["0x100c6d59", "add esp, 8", "0x100b2439"], ["0x100c6d5c", "jmp -0x23", "0x100b243c"], ["0x100c6d5e", "push 0x20", "0x100b243e"], ["0x100c6d60", "xor ebx, ebx", "0x100b2440"], ["0x100c6d62", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b2442"], ["0x100c6d67", "mov dword ptr [ebp - 0x10], eax", "0x100b2447"], ["0x100c6d6a", "add esp, 4", "0x100b244a"]]}, {"orig": [["0x100c6d6d", "mov esi, eax"]], "recomp": [["0x100b244d", "mov edi, eax"]]}, {"both": [["0x100c6d6f", "mov dword ptr [ebp - 4], ebx", "0x100b244f"]]}, {"orig": [["0x100c6d72", "test esi, esi"]], "recomp": [["0x100b2452", "test edi, edi"]]}, {"both": [["0x100c6d74", "je 0x23", "0x100b2454"]]}, {"orig": [["0x100c6d76", "mov ecx, esi"]], "recomp": [["0x100b2456", "mov ecx, edi"]]}, {"both": [["0x100c6d78", "call MxDSChunk::MxDSChunk (FUNCTION)", "0x100b2458"], ["0x100c6d7d", "mov byte ptr [ebp - 4], 1", "0x100b245d"]]}, {"orig": [["0x100c6d81", "mov dword ptr [esi + 0x1c], ebx"]], "recomp": [["0x100b2461", "mov dword ptr [edi + 0x1c], ebx"]]}, {"both": [["0x100c6d84", "mov byte ptr [ebp - 4], bl", "0x100b2464"]]}, {"orig": [["0x100c6d87", "mov ebx, esi"], ["0x100c6d89", "mov dword ptr [esi], MxStreamChunk::`vftable' (VTABLE)"]], "recomp": [["0x100b2467", "mov ebx, edi"], ["0x100b2469", "mov dword ptr [edi], MxStreamChunk::`vftable' (VTABLE)"]]}, {"both": [["0x100c6d8f", "jmp 0xa", "0x100b246f"], ["0x100c6d91", "mov ecx, dword ptr [ebp - 0x10]", "0x100b2471"], ["0x100c6d94", "jmp MxDSChunk::~MxDSChunk (FUNCTION)", "0x100b2474"], ["0x100c6d99", "xor ebx, ebx", "0x100b2479"], ["0x100c6d9b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b247b"], ["0x100c6da2", "test ebx, ebx", "0x100b2482"], ["0x100c6da4", "je 0x1e", "0x100b2484"]]}, {"orig": [["0x100c6da6", "push edi"]], "recomp": [["0x100b2486", "push esi"]]}, {"both": [["0x100c6da7", "mov eax, dword ptr [ebp + 8]", "0x100b2487"], ["0x100c6daa", "push eax", "0x100b248a"], ["0x100c6dab", "mov ecx, ebx", "0x100b248b"], ["0x100c6dad", "call MxStreamChunk::ReadChunk (FUNCTION)", "0x100b248d"], ["0x100c6db2", "test eax, eax", "0x100b2492"], ["0x100c6db4", "je 0xe", "0x100b2494"], ["0x100c6db6", "test ebx, ebx", "0x100b2496"], ["0x100c6db8", "je 0x8", "0x100b2498"], ["0x100c6dba", "push 1", "0x100b249a"], ["0x100c6dbc", "mov eax, dword ptr [ebx]", "0x100b249c"]]}]]]}, {"address": "0x100c6df0", "recomp": "0x100b24d0", "name": "MxDSBuffer::SkipToData", "matching": 1.0, "diff": []}, {"address": "0x100c6ec0", "recomp": "0x100b25a0", "name": "MxDSBuffer::ReleaseRef", "matching": 1.0, "diff": []}, {"address": "0x100c6ee0", "recomp": "0x100b25c0", "name": "MxDSBuffer::AddRef", "matching": 1.0, "diff": []}, {"address": "0x100c6ef0", "recomp": "0x100b25d0", "name": "MxDSBuffer::CalcBytesRemaining", "matching": 0.6545454545454545, "diff": [["@@ -0x100c6ef0,55 +0x100b25d0,55 @@", [{"both": [["0x100c6ef0", "push ebx", "0x100b25d0"], ["0x100c6ef1", "push esi", "0x100b25d1"], ["0x100c6ef2", "push edi", "0x100b25d2"]]}, {"orig": [["0x100c6ef3", "mov ebx, ecx"]], "recomp": []}, {"both": [["0x100c6ef5", "push ebp", "0x100b25d3"]]}, {"orig": [], "recomp": [["0x100b25d4", "cmp dword ptr [ecx + 0x24], 1"], ["0x100b25d8", "mov ebp, ecx"]]}, {"both": [["0x100c6ef6", "mov edi, 0xffffffff", "0x100b25da"]]}, {"orig": [["0x100c6efb", "cmp dword ptr [ebx + 0x24], 1"]], "recomp": []}, {"both": [["0x100c6eff", "jne 0x73", "0x100b25df"]]}, {"orig": [["0x100c6f01", "mov eax, dword ptr [ebx + 0x2c]"]], "recomp": [["0x100b25e1", "mov eax, dword ptr [ebp + 0x2c]"]]}, {"both": [["0x100c6f04", "test eax, eax", "0x100b25e4"], ["0x100c6f06", "je 0x6c", "0x100b25e6"]]}, {"orig": [["0x100c6f08", "cmp dword ptr [ebx + 0x28], eax"]], "recomp": [["0x100b25e8", "cmp dword ptr [ebp + 0x28], eax"]]}, {"both": [["0x100c6f0b", "jne 0xe", "0x100b25eb"], ["0x100c6f0d", "mov ecx, dword ptr [esp + 0x14]", "0x100b25ed"], ["0x100c6f11", "mov esi, ecx", "0x100b25f1"]]}, {"orig": [["0x100c6f13", "mov ebp, dword ptr [ecx + 4]"], ["0x100c6f16", "add ebp, 8"]], "recomp": [["0x100b25f3", "mov ebx, dword ptr [ecx + 4]"], ["0x100b25f6", "add ebx, 8"]]}, {"both": [["0x100c6f19", "jmp 0x17", "0x100b25f9"], ["0x100c6f1b", "call MxDSChunk::GetHeaderSize (FUNCTION)", "0x100b25fb"], ["0x100c6f20", "mov ecx, dword ptr [esp + 0x14]", "0x100b2600"], ["0x100c6f24", "lea esi, [ecx + eax + 8]", "0x100b2604"]]}, {"orig": [["0x100c6f28", "mov ebp, dword ptr [ecx + 4]"]], "recomp": [["0x100b2608", "mov ebx, dword ptr [ecx + 4]"]]}, {"both": [["0x100c6f2b", "call MxDSChunk::GetHeaderSize (FUNCTION)", "0x100b260b"]]}, {"orig": [["0x100c6f30", "sub ebp, eax"], ["0x100c6f32", "mov eax, dword ptr [ebx + 0x2c]"], ["0x100c6f35", "cmp ebp, eax"], ["0x100c6f37", "ja 0x3b"], ["0x100c6f39", "mov edi, dword ptr [ebx + 0x28]"], ["0x100c6f3c", "mov ecx, ebp"]], "recomp": [["0x100b2610", "sub ebx, eax"], ["0x100b2612", "mov eax, dword ptr [ebp + 0x2c]"], ["0x100b2615", "cmp eax, ebx"], ["0x100b2617", "jb 0x3b"], ["0x100b2619", "mov edi, dword ptr [ebp + 0x28]"], ["0x100b261c", "mov ecx, ebx"]]}, {"both": [["0x100c6f3e", "shr ecx, 2", "0x100b261e"], ["0x100c6f41", "sub edi, eax", "0x100b2621"]]}, {"orig": [["0x100c6f43", "add edi, dword ptr [ebx + 8]"]], "recomp": [["0x100b2623", "add edi, dword ptr [ebp + 8]"]]}, {"both": [["0x100c6f46", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100b2626"]]}, {"orig": [["0x100c6f48", "mov ecx, ebp"]], "recomp": [["0x100b2628", "mov ecx, ebx"]]}, {"both": [["0x100c6f4a", "and ecx, 3", "0x100b262a"], ["0x100c6f4d", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100b262d"]]}, {"orig": [["0x100c6f4f", "mov eax, dword ptr [ebx + 0x2c]"], ["0x100c6f52", "cmp dword ptr [ebx + 0x28], eax"]], "recomp": [["0x100b262f", "mov eax, dword ptr [ebp + 0x2c]"], ["0x100b2632", "cmp dword ptr [ebp + 0x28], eax"]]}, {"both": [["0x100c6f55", "jne 0x18", "0x100b2635"]]}, {"orig": [["0x100c6f57", "mov esi, dword ptr [ebx + 8]"]], "recomp": [["0x100b2637", "mov esi, dword ptr [ebp + 8]"]]}, {"both": [["0x100c6f5a", "push esi", "0x100b263a"], ["0x100c6f5b", "call MxStreamChunk::IntoLength (FUNCTION)", "0x100b263b"], ["0x100c6f60", "add esp, 4", "0x100b2640"], ["0x100c6f63", "mov edi, dword ptr [eax]", "0x100b2643"], ["0x100c6f65", "call MxDSChunk::GetHeaderSize (FUNCTION)", "0x100b2645"], ["0x100c6f6a", "add edi, eax", "0x100b264a"], ["0x100c6f6c", "mov dword ptr [esi + 4], edi", "0x100b264c"], ["0x100c6f6f", "xor edi, edi", "0x100b264f"]]}, {"orig": [["0x100c6f71", "sub dword ptr [ebx + 0x2c], ebp"]], "recomp": [["0x100b2651", "sub dword ptr [ebp + 0x2c], ebx"]]}, {"both": [["0x100c6f74", "mov eax, edi", "0x100b2654"], ["0x100c6f76", "pop ebp", "0x100b2656"], ["0x100c6f77", "pop edi", "0x100b2657"], ["0x100c6f78", "pop esi", "0x100b2658"], ["0x100c6f79", "pop ebx", "0x100b2659"], ["0x100c6f7a", "ret 4", "0x100b265a"]]}]]]}, {"address": "0x100c6f80", "recomp": "0x100b2660", "name": "MxDSBuffer::FUN_100c6f80", "matching": 1.0, "diff": []}, {"address": "0x100c6fa0", "recomp": "0x100b2680", "name": "MxDSBuffer::FUN_100c6fa0", "matching": 0.23636363636363636, "diff": [["@@ -0x100c6fa0,54 +0x100b2680,56 @@", [{"both": [["0x100c6fa0", "mov edx, dword ptr [esp + 4]", "0x100b2680"]]}, {"orig": [["0x100c6fa4", "sub esp, 4"]], "recomp": [["0x100b2684", "push esi"], ["0x100b2685", "mov eax, edx"]]}, {"both": [["0x100c6fa7", "test edx, edx", "0x100b2687"]]}, {"orig": [["0x100c6fa9", "push ebx"], ["0x100c6faa", "push esi"], ["0x100c6fab", "push edi"], ["0x100c6fac", "je 0x6"], ["0x100c6fae", "mov dword ptr [esp + 0xc], edx"], ["0x100c6fb2", "jmp 0x7"]], "recomp": [["0x100b2689", "jne 0x3"]]}, {"both": [["0x100c6fb4", "mov eax, dword ptr [ecx + 8]", "0x100b268b"]]}, {"orig": [["0x100c6fb7", "mov dword ptr [esp + 0xc], eax"]], "recomp": []}, {"both": [["0x100c6fbb", "mov esi, dword ptr [ecx + 0x28]", "0x100b268e"]]}, {"orig": [["0x100c6fbe", "mov eax, dword ptr [ecx + 8]"], ["0x100c6fc1", "lea ecx, [esi + eax - 8]"], ["0x100c6fc5", "cmp dword ptr [esp + 0xc], ecx"], ["0x100c6fc9", "ja 0xa7"], ["0x100c6fcf", "mov esi, 0xc"], ["0x100c6fd4", "mov edi, 8"], ["0x100c6fd9", "mov eax, dword ptr [esp + 0xc]"], ["0x100c6fdd", "mov eax, dword ptr [eax]"], ["0x100c6fdf", "cmp eax, 0x5453494c"], ["0x100c6fe4", "ja 0x14"], ["0x100c6fe6", "je 0x4d"], ["0x100c6fe8", "cmp eax, 0x46464952"], ["0x100c6fed", "je 0x46"]], "recomp": [["0x100b2691", "mov ecx, dword ptr [ecx + 8]"], ["0x100b2694", "lea esi, [esi + ecx - 8]"], ["0x100b2698", "cmp esi, eax"], ["0x100b269a", "jb 0x76"], ["0x100b269c", "mov ecx, dword ptr [eax]"], ["0x100b269e", "cmp ecx, 0x5453494c"], ["0x100b26a4", "ja 0x10"], ["0x100b26a6", "je 0x44"], ["0x100b26a8", "cmp ecx, 0x46464952"], ["0x100b26ae", "je 0x3c"]]}, {"both": [["0x100c6fef", "xor eax, eax", "0x100b26b0"]]}, {"orig": [["0x100c6ff1", "pop edi"]], "recomp": []}, {"both": [["0x100c6ff2", "pop esi", "0x100b26b2"]]}, {"orig": [["0x100c6ff3", "pop ebx"], ["0x100c6ff4", "add esp, 4"]], "recomp": []}, {"both": [["0x100c6ff7", "ret 4", "0x100b26b3"]]}, {"orig": [["0x100c6ffa", "cmp eax, 0x624f784d"], ["0x100c6fff", "ja 0x14"], ["0x100c7001", "je 0x3e"], ["0x100c7003", "cmp eax, 0x6144784d"], ["0x100c7008", "je 0x31"]], "recomp": [["0x100b26b6", "cmp ecx, 0x624f784d"], ["0x100b26bc", "ja 0x10"], ["0x100b26be", "je 0x36"], ["0x100b26c0", "cmp ecx, 0x6144784d"], ["0x100b26c6", "je 0x29"]]}, {"both": [["0x100c700a", "xor eax, eax", "0x100b26c8"]]}, {"orig": [["0x100c700c", "pop edi"]], "recomp": []}, {"both": [["0x100c700d", "pop esi", "0x100b26ca"]]}, {"orig": [["0x100c700e", "pop ebx"], ["0x100c700f", "add esp, 4"]], "recomp": []}, {"both": [["0x100c7012", "ret 4", "0x100b26cb"]]}, {"orig": [["0x100c7015", "cmp eax, 0x6448784d"], ["0x100c701a", "je 0x43"], ["0x100c701c", "cmp eax, 0x6843784d"], ["0x100c7021", "je 0x1e"], ["0x100c7023", "cmp eax, 0x7453784d"], ["0x100c7028", "je 0x11"]], "recomp": [["0x100b26ce", "cmp ecx, 0x6448784d"], ["0x100b26d4", "je 0x30"], ["0x100b26d6", "cmp ecx, 0x6843784d"], ["0x100b26dc", "je 0x18"], ["0x100b26de", "cmp ecx, 0x7453784d"], ["0x100b26e4", "je 0xb"]]}, {"both": [["0x100c702a", "xor eax, eax", "0x100b26e6"]]}, {"orig": [["0x100c702c", "pop edi"]], "recomp": []}, {"both": [["0x100c702d", "pop esi", "0x100b26e8"]]}, {"orig": [["0x100c702e", "pop ebx"], ["0x100c702f", "add esp, 4"]], "recomp": []}, {"both": [["0x100c7032", "ret 4", "0x100b26e9"]]}, {"orig": [], "recomp": [["0x100b26ec", "add eax, 0xc"], ["0x100b26ef", "jmp 0x1d"], ["0x100b26f1", "add eax, 8"], ["0x100b26f4", "jmp 0x18"], ["0x100b26f6", "cmp edx, eax"], ["0x100b26f8", "jne 0x1a"], ["0x100b26fa", "mov ecx, eax"], ["0x100b26fc", "and ecx, 1"], ["0x100b26ff", "add eax, ecx"], ["0x100b2701", "add eax, 8"], ["0x100b2704", "jmp 0x8"], ["0x100b2706", "mov ecx, dword ptr [eax + 4]"], ["0x100b2709", "add ecx, 8"], ["0x100b270c", "add eax, ecx"], ["0x100b270e", "cmp esi, eax"], ["0x100b2710", "jae -0x76"], ["0x100b2712", "xor eax, eax"], ["0x100b2714", "pop esi"], ["0x100b2715", "ret 4"]]}]]]}, {"address": "0x100c7090", "recomp": "0x100b2720", "name": "MxDSBuffer::FUN_100c7090", "matching": 1.0, "diff": []}, {"address": "0x100c70d0", "recomp": "0x100b2760", "name": "MxDSBuffer::Append", "matching": 1.0, "diff": []}, {"address": "0x100c7120", "recomp": "0x100b27b0", "name": "MxDiskStreamController::MxDiskStreamController", "matching": 1.0, "diff": []}, {"address": "0x100c7330", "recomp": "0x100b29c0", "name": "list<MxDSObject *,allocator<MxDSObject *> >::_Buynode", "matching": 1.0, "diff": []}, {"address": "0x100c7360", "recomp": "0x100b29f0", "name": "MxDiskStreamController::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c7370", "recomp": "0x100b2a00", "name": "MxDiskStreamController::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c7420", "recomp": "0x100b2ab0", "name": "list<MxDSBuffer *,allocator<MxDSBuffer *> >::~list<MxDSBuffer *,allocator<MxDSBuffer *> >", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c7443,21 +0x100b2ad3,21 @@", [{"both": [["0x100c7443", "mov eax, dword ptr [eax]", "0x100b2ad3"], ["0x100c7445", "mov dword ptr [ecx], eax", "0x100b2ad5"], ["0x100c7447", "mov ecx, dword ptr [edx]", "0x100b2ad7"], ["0x100c7449", "mov eax, dword ptr [esp + 8]", "0x100b2ad9"], ["0x100c744d", "push eax", "0x100b2add"], ["0x100c744e", "mov edx, dword ptr [eax]", "0x100b2ade"], ["0x100c7450", "mov dword ptr [edx + 4], ecx", "0x100b2ae0"], ["0x100c7453", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b2ae3"], ["0x100c7458", "add esp, 4", "0x100b2ae8"], ["0x100c745b", "dec dword ptr [esi + 8]", "0x100b2aeb"]]}, {"orig": [["0x100c745e", "cmp dword ptr [esp + 0x10], edi"]], "recomp": [["0x100b2aee", "cmp edi, dword ptr [esp + 0x10]"]]}, {"both": [["0x100c7462", "jne -0x2e", "0x100b2af2"], ["0x100c7464", "mov eax, dword ptr [esi + 4]", "0x100b2af4"], ["0x100c7467", "push eax", "0x100b2af7"], ["0x100c7468", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b2af8"], ["0x100c746d", "mov dword ptr [esi + 4], 0", "0x100b2afd"], ["0x100c7474", "add esp, 4", "0x100b2b04"], ["0x100c7477", "mov dword ptr [esi + 8], 0", "0x100b2b07"], ["0x100c747e", "pop edi", "0x100b2b0e"], ["0x100c747f", "pop esi", "0x100b2b0f"], ["0x100c7480", "add esp, 0xc", "0x100b2b10"]]}]]]}, {"address": "0x100c7490", "recomp": "0x100b2b20", "name": "list<MxDSBuffer *,allocator<MxDSBuffer *> >::_Buynode", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c7490,13 +0x100b2b20,13 @@", [{"both": [["0x100c7490", "push 0xc", "0x100b2b20"], ["0x100c7492", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b2b22"]]}, {"orig": [["0x100c7497", "mov edx, dword ptr [esp + 0xc]"]], "recomp": [["0x100b2b27", "mov ecx, dword ptr [esp + 0xc]"]]}, {"both": [["0x100c749b", "add esp, 4", "0x100b2b2b"]]}, {"orig": [["0x100c749e", "test edx, edx"]], "recomp": [["0x100b2b2e", "test ecx, ecx"]]}, {"both": [["0x100c74a0", "je 0xc", "0x100b2b30"]]}, {"orig": [["0x100c74a2", "mov ecx, dword ptr [esp + 4]"], ["0x100c74a6", "mov dword ptr [eax], ecx"], ["0x100c74a8", "mov dword ptr [eax + 4], edx"]], "recomp": [["0x100b2b32", "mov edx, dword ptr [esp + 4]"], ["0x100b2b36", "mov dword ptr [eax], edx"], ["0x100b2b38", "mov dword ptr [eax + 4], ecx"]]}, {"both": [["0x100c74ab", "ret 8", "0x100b2b3b"], ["0x100c74ae", "mov dword ptr [eax], eax", "0x100b2b3e"], ["0x100c74b0", "mov dword ptr [eax + 4], eax", "0x100b2b40"], ["0x100c74b3", "ret 8", "0x100b2b43"]]}]]]}, {"address": "0x100c74c0", "recomp": "0x100b2b50", "name": "MxDiskStreamController::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c74e0", "recomp": "0x100b2b70", "name": "List<MxDSBuffer *>::~List<MxDSBuffer *>", "matching": 1.0, "diff": []}, {"address": "0x100c7530", "recomp": "0x100b2bc0", "name": "MxDiskStreamController::~MxDiskStreamController", "matching": 1.0, "diff": []}, {"address": "0x100c7790", "recomp": "0x100b2e20", "name": "MxDiskStreamController::Open", "matching": 1.0, "diff": []}, {"address": "0x100c7880", "recomp": "0x100b2f10", "name": "MxDiskStreamController::VTable0x18", "matching": 1.0, "diff": []}, {"address": "0x100c7890", "recomp": "0x100b2f20", "name": "MxDiskStreamController::FUN_100c7890", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c78dd,33 +0x100b2f6d,33 @@", [{"both": [["0x100c78dd", "pop edi", "0x100b2f6d"], ["0x100c78de", "mov dword ptr fs:[0], ecx", "0x100b2f6e"], ["0x100c78e5", "pop esi", "0x100b2f75"], ["0x100c78e6", "pop ebx", "0x100b2f76"], ["0x100c78e7", "mov esp, ebp", "0x100b2f77"], ["0x100c78e9", "pop ebp", "0x100b2f79"], ["0x100c78ea", "ret 4", "0x100b2f7a"], ["0x100c78ed", "mov eax, dword ptr [esi + 0x84]", "0x100b2f7d"], ["0x100c78f3", "push 0xc", "0x100b2f83"], ["0x100c78f5", "mov dword ptr [ebp - 0x10], eax", "0x100b2f85"]]}, {"orig": [["0x100c78f8", "lea ebx, [eax + 4]"], ["0x100c78fb", "mov edi, dword ptr [ebx]"]], "recomp": [["0x100b2f88", "lea edi, [eax + 4]"], ["0x100b2f8b", "mov ebx, dword ptr [edi]"]]}, {"both": [["0x100c78fd", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b2f8d"], ["0x100c7902", "add esp, 4", "0x100b2f92"]]}, {"orig": [["0x100c7905", "test edi, edi"]], "recomp": [["0x100b2f95", "test ebx, ebx"]]}, {"both": [["0x100c7907", "je 0xa", "0x100b2f97"], ["0x100c7909", "mov ecx, dword ptr [ebp - 0x10]", "0x100b2f99"], ["0x100c790c", "mov dword ptr [eax], ecx", "0x100b2f9c"]]}, {"orig": [["0x100c790e", "mov dword ptr [eax + 4], edi"]], "recomp": [["0x100b2f9e", "mov dword ptr [eax + 4], ebx"]]}, {"both": [["0x100c7911", "jmp 0x5", "0x100b2fa1"], ["0x100c7913", "mov dword ptr [eax], eax", "0x100b2fa3"], ["0x100c7915", "mov dword ptr [eax + 4], eax", "0x100b2fa5"]]}, {"orig": [["0x100c7918", "mov dword ptr [ebx], eax"]], "recomp": [["0x100b2fa8", "mov dword ptr [edi], eax"]]}, {"both": [["0x100c791a", "mov ecx, dword ptr [eax + 4]", "0x100b2faa"], ["0x100c791d", "mov dword ptr [ecx], eax", "0x100b2fad"], ["0x100c791f", "add eax, 8", "0x100b2faf"], ["0x100c7922", "je 0x5", "0x100b2fb2"], ["0x100c7924", "mov ecx, dword ptr [ebp + 8]", "0x100b2fb4"], ["0x100c7927", "mov dword ptr [eax], ecx", "0x100b2fb7"], ["0x100c7929", "mov ecx, esi", "0x100b2fb9"], ["0x100c792b", "inc dword ptr [esi + 0x88]", "0x100b2fbb"], ["0x100c7931", "call MxDiskStreamController::FUN_100c7970 (FUNCTION)", "0x100b2fc1"], ["0x100c7936", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b2fc6"]]}]]]}, {"address": "0x100c7960", "recomp": "0x100b2ff0", "name": "MxDiskStreamController::VTable0x34", "matching": 1.0, "diff": []}, {"address": "0x100c7970", "recomp": "0x100b3000", "name": "MxDiskStreamController::FUN_100c7970", "matching": 1.0, "diff": []}, {"address": "0x100c7980", "recomp": "0x100b3010", "name": "MxDiskStreamController::FUN_100c7980", "matching": 1.0, "diff": []}, {"address": "0x100c7ac0", "recomp": "0x100b3150", "name": "MxDiskStreamController::VTable0x28", "matching": 1.0, "diff": []}, {"address": "0x100c7c00", "recomp": "0x100b3290", "name": "MxDiskStreamController::VTable0x30", "matching": 1.0, "diff": []}, {"address": "0x100c7cb0", "recomp": "0x100b3340", "name": "MxDiskStreamController::FUN_100c7cb0", "matching": 1.0, "diff": []}, {"address": "0x100c7ce0", "recomp": "0x100b3370", "name": "MxDiskStreamController::FUN_100c7ce0", "matching": 1.0, "diff": []}, {"address": "0x100c7d10", "recomp": "0x100b33a0", "name": "MxDiskStreamController::FUN_100c7d10", "matching": 1.0, "diff": []}, {"address": "0x100c7db0", "recomp": "0x100b3440", "name": "MxDiskStreamController::FUN_100c7db0", "matching": 0.8687782805429864, "diff": [["@@ -0x100c7dd0,51 +0x100b3460,52 @@", [{"both": [["0x100c7dd0", "push edi", "0x100b3460"], ["0x100c7dd1", "mov esi, ecx", "0x100b3461"], ["0x100c7dd3", "push eax", "0x100b3463"], ["0x100c7dd4", "lea ecx, [ebp - 0x1c]", "0x100b3464"], ["0x100c7dd7", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100b3467"], ["0x100c7ddc", "mov eax, dword ptr [esi + 0x4c]", "0x100b346c"], ["0x100c7ddf", "mov dword ptr [ebp - 4], 0", "0x100b346f"], ["0x100c7de6", "mov ecx, dword ptr [eax]", "0x100b3476"], ["0x100c7de8", "mov dword ptr [ebp - 0x10], ecx", "0x100b3478"], ["0x100c7deb", "cmp ecx, eax", "0x100b347b"]]}, {"orig": [["0x100c7ded", "je 0x54"]], "recomp": [["0x100b347d", "je 0x56"]]}, {"both": [["0x100c7def", "mov ecx, dword ptr [esi + 0x68]", "0x100b347f"], ["0x100c7df2", "mov eax, dword ptr [ebp - 0x10]", "0x100b3482"], ["0x100c7df5", "mov edx, dword ptr [ecx]", "0x100b3485"]]}, {"orig": [], "recomp": [["0x100b3487", "mov edi, dword ptr [eax + 8]"]]}, {"both": [["0x100c7df7", "mov dword ptr [ebp - 0x14], edx", "0x100b348a"]]}, {"orig": [["0x100c7dfa", "cmp ecx, edx"], ["0x100c7dfc", "mov edi, dword ptr [eax + 8]"], ["0x100c7dff", "je 0x35"]], "recomp": [["0x100b348d", "cmp ecx, dword ptr [ecx]"], ["0x100b348f", "je 0x37"]]}, {"both": [["0x100c7e01", "mov edx, dword ptr [edi + 8]", "0x100b3491"], ["0x100c7e04", "mov eax, dword ptr [ebp - 0x14]", "0x100b3494"], ["0x100c7e07", "mov ebx, dword ptr [eax + 8]", "0x100b3497"], ["0x100c7e0a", "mov dword ptr [ebp - 0x18], ebx", "0x100b349a"], ["0x100c7e0d", "cmp dword ptr [ebx + 0x1c], edx", "0x100b349d"]]}, {"orig": [["0x100c7e10", "jne 0x18"], ["0x100c7e12", "mov bx, word ptr [edi + 0xc]"]], "recomp": [["0x100b34a0", "jne 0x1a"], ["0x100b34a2", "mov eax, ebx"], ["0x100b34a4", "mov ax, word ptr [eax + 0x24]"], ["0x100b34a8", "cmp word ptr [edi + 0xc], ax"], ["0x100b34ac", "jne 0xe"], ["0x100b34ae", "mov ebx, dword ptr [edi + 0x10]"]]}, {"both": [["0x100c7e16", "mov eax, dword ptr [ebp - 0x18]", "0x100b34b1"]]}, {"orig": [["0x100c7e19", "cmp word ptr [eax + 0x24], bx"], ["0x100c7e1d", "jne 0xb"], ["0x100c7e1f", "mov ebx, dword ptr [edi + 0x10]"]], "recomp": []}, {"both": [["0x100c7e22", "cmp dword ptr [eax + 0x98], ebx", "0x100b34b4"], ["0x100c7e28", "je 0x38", "0x100b34ba"], ["0x100c7e2a", "mov eax, dword ptr [ebp - 0x14]", "0x100b34bc"], ["0x100c7e2d", "mov ebx, dword ptr [eax]", "0x100b34bf"], ["0x100c7e2f", "mov dword ptr [ebp - 0x14], ebx", "0x100b34c1"], ["0x100c7e32", "cmp ebx, ecx", "0x100b34c4"]]}, {"orig": [["0x100c7e34", "jne -0x32"]], "recomp": [["0x100b34c6", "jne -0x34"]]}, {"both": [["0x100c7e36", "mov eax, dword ptr [ebp - 0x10]", "0x100b34c8"], ["0x100c7e39", "mov edx, dword ptr [eax]", "0x100b34cb"], ["0x100c7e3b", "mov dword ptr [ebp - 0x10], edx", "0x100b34cd"], ["0x100c7e3e", "cmp edx, dword ptr [esi + 0x4c]", "0x100b34d0"]]}, {"orig": [["0x100c7e41", "jne -0x51"]], "recomp": [["0x100b34d3", "jne -0x53"]]}, {"both": [["0x100c7e43", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b34d5"], ["0x100c7e4a", "call <OFFSET3>", "0x100b34dc"], ["0x100c7e4f", "xor eax, eax", "0x100b34e1"], ["0x100c7e51", "mov ecx, dword ptr [ebp - 0xc]", "0x100b34e3"], ["0x100c7e54", "pop edi", "0x100b34e6"], ["0x100c7e55", "mov dword ptr fs:[0], ecx", "0x100b34e7"], ["0x100c7e5c", "pop esi", "0x100b34ee"], ["0x100c7e5d", "pop ebx", "0x100b34ef"], ["0x100c7e5e", "mov esp, ebp", "0x100b34f0"], ["0x100c7e60", "pop ebp", "0x100b34f2"]]}]], ["@@ -0x100c7e91,29 +0x100b3523,31 @@", [{"both": [["0x100c7e91", "lea edi, [ebp - 0x20]", "0x100b3523"], ["0x100c7e94", "mov edx, dword ptr [esi + 0x4c]", "0x100b3526"], ["0x100c7e97", "push edi", "0x100b3529"], ["0x100c7e98", "push edx", "0x100b352a"], ["0x100c7e99", "lea eax, [ebp - 0x10]", "0x100b352b"], ["0x100c7e9c", "push eax", "0x100b352e"], ["0x100c7e9d", "lea ecx, [esi + 0x48]", "0x100b352f"], ["0x100c7ea0", "call list<MxNextActionDataStart *,allocator<MxNextActionDataStart *> >::insert (FUNCTION)", "0x100b3532"], ["0x100c7ea5", "mov edx, dword ptr [ebp - 0x14]", "0x100b3537"], ["0x100c7ea8", "mov eax, dword ptr [ebp - 0x14]", "0x100b353a"]]}, {"orig": [["0x100c7eab", "push eax"]], "recomp": []}, {"both": [["0x100c7eac", "mov ecx, dword ptr [edx + 4]", "0x100b353d"], ["0x100c7eaf", "add edx, 4", "0x100b3540"], ["0x100c7eb2", "mov ebx, dword ptr [eax]", "0x100b3543"], ["0x100c7eb4", "mov dword ptr [ecx], ebx", "0x100b3545"], ["0x100c7eb6", "mov ecx, dword ptr [edx]", "0x100b3547"]]}, {"orig": [], "recomp": [["0x100b3549", "mov eax, dword ptr [ebp - 0x14]"]]}, {"both": [["0x100c7eb8", "mov ebx, dword ptr [eax]", "0x100b354c"], ["0x100c7eba", "mov dword ptr [ebx + 4], ecx", "0x100b354e"]]}, {"orig": [], "recomp": [["0x100b3551", "mov eax, dword ptr [ebp - 0x14]"], ["0x100b3554", "push eax"]]}, {"both": [["0x100c7ebd", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b3555"], ["0x100c7ec2", "add esp, 4", "0x100b355a"], ["0x100c7ec5", "dec dword ptr [esi + 0x6c]", "0x100b355d"], ["0x100c7ec8", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b3560"], ["0x100c7ecf", "call <OFFSET3>", "0x100b3567"], ["0x100c7ed4", "mov eax, dword ptr [ebp - 0x18]", "0x100b356c"]]}, {"orig": [["0x100c7ed7", "jmp -0x8b"]], "recomp": [["0x100b356f", "jmp -0x91"]]}, {"both": [["0x100c7edc", "mov eax, <OFFSET6>", "0x100b3574"], ["0x100c7ee1", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b3579"], ["0x100c7ee6", "lea ecx, [ebp - 0x1c]", "0x100b357e"], ["0x100c7ee9", "jmp MxAutoLock::~MxAutoLock (FUNCTION)", "0x100b3581"]]}]]]}, {"address": "0x100c7ef0", "recomp": "0x100b3590", "name": "list<MxNextActionDataStart *,allocator<MxNextActionDataStart *> >::insert", "matching": 1.0, "diff": []}, {"address": "0x100c7f40", "recomp": "0x100b35e0", "name": "MxDiskStreamController::FUN_100c7f40", "matching": 1.0, "diff": []}, {"address": "0x100c7ff0", "recomp": "0x100b3690", "name": "MxDiskStreamController::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100c8120", "recomp": "0x100b37c0", "name": "MxDiskStreamController::FUN_100c8120", "matching": 1.0, "diff": []}, {"address": "0x100c8160", "recomp": "0x100b3800", "name": "MxDiskStreamController::VTable0x24", "matching": 1.0, "diff": []}, {"address": "0x100c8360", "recomp": "0x100b3a00", "name": "MxDiskStreamController::FUN_100c8360", "matching": 1.0, "diff": []}, {"address": "0x100c84a0", "recomp": "0x100b3b40", "name": "MxDiskStreamController::InsertToList74", "matching": 1.0, "diff": []}, {"address": "0x100c8540", "recomp": "0x100b3be0", "name": "MxDiskStreamController::FUN_100c8540", "matching": 0.9176470588235294, "diff": [["@@ -0x100c8561,32 +0x100b3c01,29 @@", [{"both": [["0x100c8561", "mov esi, ecx", "0x100b3c01"], ["0x100c8563", "push eax", "0x100b3c03"], ["0x100c8564", "lea ecx, [ebp - 0x18]", "0x100b3c04"], ["0x100c8567", "xor edi, edi", "0x100b3c07"], ["0x100c8569", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100b3c09"], ["0x100c856e", "mov eax, dword ptr [esi + 0x78]", "0x100b3c0e"], ["0x100c8571", "mov dword ptr [ebp - 4], edi", "0x100b3c11"], ["0x100c8574", "mov ecx, dword ptr [eax]", "0x100b3c14"], ["0x100c8576", "mov dword ptr [ebp - 0x10], ecx", "0x100b3c16"], ["0x100c8579", "cmp ecx, eax", "0x100b3c19"]]}, {"orig": [["0x100c857b", "je 0x59"]], "recomp": [["0x100b3c1b", "je 0x50"]]}, {"both": [["0x100c857d", "mov eax, dword ptr [ebp - 0x10]", "0x100b3c1d"], ["0x100c8580", "mov ebx, dword ptr [eax + 8]", "0x100b3c20"], ["0x100c8583", "cmp word ptr [ebx + 0x20], di", "0x100b3c23"]]}, {"orig": [["0x100c8587", "jne 0x3d"]], "recomp": [["0x100b3c27", "jne 0x34"]]}, {"both": [["0x100c8589", "mov dword ptr [ebp - 0x14], eax", "0x100b3c29"]]}, {"orig": [["0x100c858c", "mov eax, dword ptr [ebp - 0x10]"]], "recomp": []}, {"both": [["0x100c858f", "mov ecx, dword ptr [eax]", "0x100b3c2c"], ["0x100c8591", "mov dword ptr [ebp - 0x10], ecx", "0x100b3c2e"]]}, {"orig": [["0x100c8594", "mov ecx, dword ptr [ebp - 0x14]"], ["0x100c8597", "add ecx, 4"], ["0x100c859a", "mov eax, dword ptr [ebp - 0x14]"]], "recomp": [["0x100b3c31", "lea ecx, [eax + 4]"]]}, {"both": [["0x100c859d", "mov eax, dword ptr [eax]", "0x100b3c34"], ["0x100c859f", "mov edx, dword ptr [ecx]", "0x100b3c36"], ["0x100c85a1", "mov dword ptr [edx], eax", "0x100b3c38"], ["0x100c85a3", "mov edx, dword ptr [ecx]", "0x100b3c3a"], ["0x100c85a5", "mov eax, dword ptr [ebp - 0x14]", "0x100b3c3c"], ["0x100c85a8", "mov ecx, dword ptr [eax]", "0x100b3c3f"], ["0x100c85aa", "mov dword ptr [ecx + 4], edx", "0x100b3c41"], ["0x100c85ad", "mov eax, dword ptr [ebp - 0x14]", "0x100b3c44"], ["0x100c85b0", "push eax", "0x100b3c47"], ["0x100c85b1", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b3c48"]]}]], ["@@ -0x100c85b9,21 +0x100b3c50,21 @@", [{"both": [["0x100c85b9", "mov ecx, esi", "0x100b3c50"], ["0x100c85bb", "dec dword ptr [esi + 0x7c]", "0x100b3c52"], ["0x100c85be", "push ebx", "0x100b3c55"], ["0x100c85bf", "call MxDiskStreamController::FUN_100c7ce0 (FUNCTION)", "0x100b3c56"], ["0x100c85c4", "jmp 0x8", "0x100b3c5b"], ["0x100c85c6", "mov eax, dword ptr [ebp - 0x10]", "0x100b3c5d"], ["0x100c85c9", "mov ecx, dword ptr [eax]", "0x100b3c60"], ["0x100c85cb", "mov dword ptr [ebp - 0x10], ecx", "0x100b3c62"], ["0x100c85ce", "mov eax, dword ptr [ebp - 0x10]", "0x100b3c65"], ["0x100c85d1", "cmp dword ptr [esi + 0x78], eax", "0x100b3c68"]]}, {"orig": [["0x100c85d4", "jne -0x59"]], "recomp": [["0x100b3c6b", "jne -0x50"]]}, {"both": [["0x100c85d6", "cmp dword ptr [esi + 0x50], 0", "0x100b3c6d"], ["0x100c85da", "jne 0x2b", "0x100b3c71"], ["0x100c85dc", "cmp dword ptr [esi + 0x6c], 0", "0x100b3c73"], ["0x100c85e0", "je 0x25", "0x100b3c77"], ["0x100c85e2", "lea edi, [esi + 0x64]", "0x100b3c79"], ["0x100c85e5", "mov eax, dword ptr [esi + 0x68]", "0x100b3c7c"], ["0x100c85e8", "lea ecx, [ebp - 0x14]", "0x100b3c7f"], ["0x100c85eb", "mov eax, dword ptr [eax]", "0x100b3c82"], ["0x100c85ed", "push eax", "0x100b3c84"], ["0x100c85ee", "push ecx", "0x100b3c85"]]}]], ["@@ -0x100c860e,10 +0x100b3ca5,13 @@", [{"both": [["0x100c860e", "call <OFFSET7>", "0x100b3ca5"], ["0x100c8613", "mov eax, dword ptr [ebp - 0xc]", "0x100b3caa"], ["0x100c8616", "pop edi", "0x100b3cad"], ["0x100c8617", "mov dword ptr fs:[0], eax", "0x100b3cae"], ["0x100c861d", "pop esi", "0x100b3cb4"], ["0x100c861e", "pop ebx", "0x100b3cb5"], ["0x100c861f", "mov esp, ebp", "0x100b3cb6"], ["0x100c8621", "pop ebp", "0x100b3cb8"], ["0x100c8622", "ret ", "0x100b3cb9"], ["0x100c8623", "mov eax, <OFFSET8>", "0x100b3cba"]]}, {"orig": [], "recomp": [["0x100b3cbf", "jmp ___CxxFrameHandler (FUNCTION)"], ["0x100b3cc4", "lea ecx, [ebp - 0x18]"], ["0x100b3cc7", "jmp MxAutoLock::~MxAutoLock (FUNCTION)"]]}]]]}, {"address": "0x100c8640", "recomp": "0x100b3cd0", "name": "MxDiskStreamController::Tickle", "matching": 1.0, "diff": []}, {"address": "0x100c8670", "recomp": "0x100b3d00", "name": "MxDiskStreamController::FUN_100c8670", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c868c,36 +0x100b3d1c,36 @@", [{"both": [["0x100c868c", "push esi", "0x100b3d1c"], ["0x100c868d", "lea eax, [ecx + 0x9c]", "0x100b3d1d"], ["0x100c8693", "push edi", "0x100b3d23"], ["0x100c8694", "mov esi, ecx", "0x100b3d24"], ["0x100c8696", "push eax", "0x100b3d26"], ["0x100c8697", "lea ecx, [ebp - 0x14]", "0x100b3d27"], ["0x100c869a", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100b3d2a"], ["0x100c869f", "mov dword ptr [ebp - 4], 0", "0x100b3d2f"], ["0x100c86a6", "mov eax, dword ptr [ebp + 8]", "0x100b3d36"], ["0x100c86a9", "mov ecx, dword ptr [esi + 0xbc]", "0x100b3d39"]]}, {"orig": [["0x100c86af", "lea edi, [ecx + 4]"]], "recomp": [["0x100b3d3f", "lea ebx, [ecx + 4]"]]}, {"both": [["0x100c86b2", "mov dword ptr [ebp - 0x10], ecx", "0x100b3d42"], ["0x100c86b5", "push 0xc", "0x100b3d45"], ["0x100c86b7", "mov dword ptr [ebp - 0x18], eax", "0x100b3d47"]]}, {"orig": [["0x100c86ba", "mov ebx, dword ptr [edi]"]], "recomp": [["0x100b3d4a", "mov edi, dword ptr [ebx]"]]}, {"both": [["0x100c86bc", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b3d4c"], ["0x100c86c1", "add esp, 4", "0x100b3d51"]]}, {"orig": [["0x100c86c4", "test ebx, ebx"]], "recomp": [["0x100b3d54", "test edi, edi"]]}, {"both": [["0x100c86c6", "je 0xa", "0x100b3d56"], ["0x100c86c8", "mov ecx, dword ptr [ebp - 0x10]", "0x100b3d58"], ["0x100c86cb", "mov dword ptr [eax], ecx", "0x100b3d5b"]]}, {"orig": [["0x100c86cd", "mov dword ptr [eax + 4], ebx"]], "recomp": [["0x100b3d5d", "mov dword ptr [eax + 4], edi"]]}, {"both": [["0x100c86d0", "jmp 0x5", "0x100b3d60"], ["0x100c86d2", "mov dword ptr [eax], eax", "0x100b3d62"], ["0x100c86d4", "mov dword ptr [eax + 4], eax", "0x100b3d64"]]}, {"orig": [["0x100c86d7", "mov dword ptr [edi], eax"]], "recomp": [["0x100b3d67", "mov dword ptr [ebx], eax"]]}, {"both": [["0x100c86d9", "mov ecx, dword ptr [eax + 4]", "0x100b3d69"], ["0x100c86dc", "mov dword ptr [ecx], eax", "0x100b3d6c"], ["0x100c86de", "add eax, 8", "0x100b3d6e"], ["0x100c86e1", "je 0x5", "0x100b3d71"], ["0x100c86e3", "mov ecx, dword ptr [ebp - 0x18]", "0x100b3d73"], ["0x100c86e6", "mov dword ptr [eax], ecx", "0x100b3d76"], ["0x100c86e8", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b3d78"], ["0x100c86ef", "inc dword ptr [esi + 0xc0]", "0x100b3d7f"], ["0x100c86f5", "call <OFFSET4>", "0x100b3d85"], ["0x100c86fa", "mov eax, dword ptr [ebp - 0xc]", "0x100b3d8a"]]}]]]}, {"address": "0x100c8720", "recomp": "0x100b3db0", "name": "MxDiskStreamController::FUN_100c8720", "matching": 1.0, "diff": []}, {"address": "0x100c87d0", "recomp": "0x100ba1e0", "name": "MxSemaphore::MxSemaphore", "matching": 1.0, "diff": []}, {"address": "0x100c87e0", "recomp": "0x100ac050", "name": "MxSemaphore::~MxSemaphore", "matching": 1.0, "diff": []}, {"address": "0x100c8800", "recomp": "0x100ba1f0", "name": "MxSemaphore::Init", "matching": 1.0, "diff": []}, {"address": "0x100c8830", "recomp": "0x100ba220", "name": "MxSemaphore::Wait", "matching": 1.0, "diff": []}, {"address": "0x100c8850", "recomp": "0x100ba240", "name": "MxSemaphore::Release", "matching": 1.0, "diff": []}, {"address": "0x100c8870", "recomp": "0x100b65a0", "name": "MxDSObjectAction::MxDSObjectAction", "matching": 1.0, "diff": []}, {"address": "0x100c88e0", "recomp": "0x100b6610", "name": "MxDSObjectAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c88f0", "recomp": "0x100b6620", "name": "MxDSObjectAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c8a00", "recomp": "0x100b6730", "name": "MxDSObjectAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c8a20", "recomp": "0x100b6750", "name": "MxDSObjectAction::~MxDSObjectAction", "matching": 1.0, "diff": []}, {"address": "0x100c8a70", "recomp": "0x100b67a0", "name": "MxDSObjectAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100c8a80", "recomp": "0x100b67b0", "name": "MxDSObjectAction::operator=", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c8a80,15 +0x100b67b0,15 @@", [{"both": [["0x100c8a80", "push esi", "0x100b67b0"], ["0x100c8a81", "push edi", "0x100b67b1"], ["0x100c8a82", "mov edi, ecx", "0x100b67b2"], ["0x100c8a84", "mov esi, dword ptr [esp + 0xc]", "0x100b67b4"]]}, {"orig": [["0x100c8a88", "cmp esi, edi"]], "recomp": [["0x100b67b8", "cmp edi, esi"]]}, {"both": [["0x100c8a8a", "jne 0x7", "0x100b67ba"], ["0x100c8a8c", "mov eax, edi", "0x100b67bc"], ["0x100c8a8e", "pop edi", "0x100b67be"], ["0x100c8a8f", "pop esi", "0x100b67bf"], ["0x100c8a90", "ret 4", "0x100b67c0"], ["0x100c8a93", "push esi", "0x100b67c3"], ["0x100c8a94", "mov ecx, edi", "0x100b67c4"], ["0x100c8a96", "call MxDSMediaAction::operator= (FUNCTION)", "0x100b67c6"], ["0x100c8a9b", "push esi", "0x100b67cb"], ["0x100c8a9c", "mov eax, dword ptr [edi]", "0x100b67cc"]]}]]]}, {"address": "0x100c8ab0", "recomp": "0x100b67e0", "name": "MxDSObjectAction::Clone", "matching": 1.0, "diff": []}, {"address": "0x100c8b40", "recomp": "0x100b9d30", "name": "MxDSMediaAction::MxDSMediaAction", "matching": 1.0, "diff": []}, {"address": "0x100c8be0", "recomp": "0x100b9dd0", "name": "MxDSMediaAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c8bf0", "recomp": "0x100b9de0", "name": "MxDSMediaAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c8cd0", "recomp": "0x100b9ec0", "name": "MxDSMediaAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c8cf0", "recomp": "0x100b9ee0", "name": "MxDSMediaAction::~MxDSMediaAction", "matching": 1.0, "diff": []}, {"address": "0x100c8d60", "recomp": "0x100b9f50", "name": "MxDSMediaAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100c8dc0", "recomp": "0x100b9fb0", "name": "MxDSMediaAction::operator=", "matching": 1.0, "diff": []}, {"address": "0x100c8df0", "recomp": "0x100b9fe0", "name": "MxDSMediaAction::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c8df6,40 +0x100b9fe6,40 @@", [{"both": [["0x100c8df6", "push ebp", "0x100b9fe6"], ["0x100c8df7", "mov ebp, esp", "0x100b9fe7"], ["0x100c8df9", "push -1", "0x100b9fe9"], ["0x100c8dfb", "push <OFFSET1>", "0x100b9feb"], ["0x100c8e00", "push eax", "0x100b9ff0"], ["0x100c8e01", "mov dword ptr fs:[0], esp", "0x100b9ff1"], ["0x100c8e08", "sub esp, 4", "0x100b9ff8"], ["0x100c8e0b", "push ebx", "0x100b9ffb"], ["0x100c8e0c", "push esi", "0x100b9ffc"], ["0x100c8e0d", "push edi", "0x100b9ffd"]]}, {"orig": [["0x100c8e0e", "mov esi, ecx"]], "recomp": [["0x100b9ffe", "mov ebx, ecx"]]}, {"both": [["0x100c8e10", "push 0xb8", "0x100ba000"], ["0x100c8e15", "call ??2@YAPAXI@Z (FUNCTION)", "0x100ba005"], ["0x100c8e1a", "mov dword ptr [ebp - 0x10], eax", "0x100ba00a"], ["0x100c8e1d", "add esp, 4", "0x100ba00d"], ["0x100c8e20", "mov edi, eax", "0x100ba010"]]}, {"orig": [["0x100c8e22", "mov ebx, 0"]], "recomp": [["0x100ba012", "mov esi, 0"]]}, {"both": [["0x100c8e27", "mov dword ptr [ebp - 4], 0", "0x100ba017"], ["0x100c8e2e", "test edi, edi", "0x100ba01e"], ["0x100c8e30", "je 0x9", "0x100ba020"], ["0x100c8e32", "mov ecx, edi", "0x100ba022"], ["0x100c8e34", "call MxDSMediaAction::MxDSMediaAction (FUNCTION)", "0x100ba024"]]}, {"orig": [["0x100c8e39", "mov ebx, eax"]], "recomp": [["0x100ba029", "mov esi, eax"]]}, {"both": [["0x100c8e3b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100ba02b"]]}, {"orig": [["0x100c8e42", "test ebx, ebx"]], "recomp": [["0x100ba032", "test esi, esi"]]}, {"both": [["0x100c8e44", "je 0x8", "0x100ba034"]]}, {"orig": [["0x100c8e46", "push esi"], ["0x100c8e47", "mov ecx, ebx"]], "recomp": [["0x100ba036", "push ebx"], ["0x100ba037", "mov ecx, esi"]]}, {"both": [["0x100c8e49", "call MxDSMediaAction::operator= (FUNCTION)", "0x100ba039"]]}, {"orig": [["0x100c8e4e", "mov eax, ebx"]], "recomp": [["0x100ba03e", "mov eax, esi"]]}, {"both": [["0x100c8e50", "mov ecx, dword ptr [ebp - 0xc]", "0x100ba040"], ["0x100c8e53", "mov dword ptr fs:[0], ecx", "0x100ba043"], ["0x100c8e5a", "pop edi", "0x100ba04a"], ["0x100c8e5b", "pop esi", "0x100ba04b"], ["0x100c8e5c", "pop ebx", "0x100ba04c"], ["0x100c8e5d", "mov esp, ebp", "0x100ba04d"], ["0x100c8e5f", "pop ebp", "0x100ba04f"], ["0x100c8e60", "ret ", "0x100ba050"], ["0x100c8e61", "mov eax, <OFFSET5>", "0x100ba051"], ["0x100c8e66", "jmp ___CxxFrameHandler (FUNCTION)", "0x100ba056"]]}]]]}, {"address": "0x100c8e80", "recomp": "0x100ba070", "name": "MxDSMediaAction::CopyMediaSrcPath", "matching": 1.0, "diff": []}, {"address": "0x100c8f00", "recomp": "0x100ba0f0", "name": "MxDSMediaAction::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x100c8f10", "recomp": "0x100ba100", "name": "MxDSMediaAction::GetSizeOnDisk", "matching": 1.0, "diff": []}, {"address": "0x100c8f60", "recomp": "0x100ba150", "name": "MxDSMediaAction::Deserialize", "matching": 1.0, "diff": []}, {"address": "0x100c8ff0", "recomp": "0x100b9a60", "name": "MxDSAnim::MxDSAnim", "matching": 1.0, "diff": []}, {"address": "0x100c9060", "recomp": "0x100b9ad0", "name": "MxDSAnim::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c9070", "recomp": "0x100b9ae0", "name": "MxDSAnim::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c9180", "recomp": "0x100b9bf0", "name": "MxDSAnim::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c91a0", "recomp": "0x100b9c10", "name": "MxDSAnim::~MxDSAnim", "matching": 1.0, "diff": []}, {"address": "0x100c91f0", "recomp": "0x100b9c60", "name": "MxDSAnim::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100c9200", "recomp": "0x100b9c70", "name": "MxDSAnim::operator=", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c9200,15 +0x100b9c70,15 @@", [{"both": [["0x100c9200", "push esi", "0x100b9c70"], ["0x100c9201", "push edi", "0x100b9c71"], ["0x100c9202", "mov edi, ecx", "0x100b9c72"], ["0x100c9204", "mov esi, dword ptr [esp + 0xc]", "0x100b9c74"]]}, {"orig": [["0x100c9208", "cmp esi, edi"]], "recomp": [["0x100b9c78", "cmp edi, esi"]]}, {"both": [["0x100c920a", "jne 0x7", "0x100b9c7a"], ["0x100c920c", "mov eax, edi", "0x100b9c7c"], ["0x100c920e", "pop edi", "0x100b9c7e"], ["0x100c920f", "pop esi", "0x100b9c7f"], ["0x100c9210", "ret 4", "0x100b9c80"], ["0x100c9213", "push esi", "0x100b9c83"], ["0x100c9214", "mov ecx, edi", "0x100b9c84"], ["0x100c9216", "call MxDSMediaAction::operator= (FUNCTION)", "0x100b9c86"], ["0x100c921b", "push esi", "0x100b9c8b"], ["0x100c921c", "mov ecx, edi", "0x100b9c8c"]]}]]]}, {"address": "0x100c9230", "recomp": "0x100b9ca0", "name": "MxDSAnim::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c9236,40 +0x100b9ca6,40 @@", [{"both": [["0x100c9236", "push ebp", "0x100b9ca6"], ["0x100c9237", "mov ebp, esp", "0x100b9ca7"], ["0x100c9239", "push -1", "0x100b9ca9"], ["0x100c923b", "push <OFFSET1>", "0x100b9cab"], ["0x100c9240", "push eax", "0x100b9cb0"], ["0x100c9241", "mov dword ptr fs:[0], esp", "0x100b9cb1"], ["0x100c9248", "sub esp, 4", "0x100b9cb8"], ["0x100c924b", "push ebx", "0x100b9cbb"], ["0x100c924c", "push esi", "0x100b9cbc"], ["0x100c924d", "push edi", "0x100b9cbd"]]}, {"orig": [["0x100c924e", "mov esi, ecx"]], "recomp": [["0x100b9cbe", "mov ebx, ecx"]]}, {"both": [["0x100c9250", "push 0xb8", "0x100b9cc0"], ["0x100c9255", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b9cc5"], ["0x100c925a", "mov dword ptr [ebp - 0x10], eax", "0x100b9cca"], ["0x100c925d", "add esp, 4", "0x100b9ccd"], ["0x100c9260", "mov edi, eax", "0x100b9cd0"]]}, {"orig": [["0x100c9262", "mov ebx, 0"]], "recomp": [["0x100b9cd2", "mov esi, 0"]]}, {"both": [["0x100c9267", "mov dword ptr [ebp - 4], 0", "0x100b9cd7"], ["0x100c926e", "test edi, edi", "0x100b9cde"], ["0x100c9270", "je 0x9", "0x100b9ce0"], ["0x100c9272", "mov ecx, edi", "0x100b9ce2"], ["0x100c9274", "call MxDSAnim::MxDSAnim (FUNCTION)", "0x100b9ce4"]]}, {"orig": [["0x100c9279", "mov ebx, eax"]], "recomp": [["0x100b9ce9", "mov esi, eax"]]}, {"both": [["0x100c927b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b9ceb"]]}, {"orig": [["0x100c9282", "test ebx, ebx"]], "recomp": [["0x100b9cf2", "test esi, esi"]]}, {"both": [["0x100c9284", "je 0x8", "0x100b9cf4"]]}, {"orig": [["0x100c9286", "push esi"], ["0x100c9287", "mov ecx, ebx"]], "recomp": [["0x100b9cf6", "push ebx"], ["0x100b9cf7", "mov ecx, esi"]]}, {"both": [["0x100c9289", "call MxDSAnim::operator= (FUNCTION)", "0x100b9cf9"]]}, {"orig": [["0x100c928e", "mov eax, ebx"]], "recomp": [["0x100b9cfe", "mov eax, esi"]]}, {"both": [["0x100c9290", "mov ecx, dword ptr [ebp - 0xc]", "0x100b9d00"], ["0x100c9293", "mov dword ptr fs:[0], ecx", "0x100b9d03"], ["0x100c929a", "pop edi", "0x100b9d0a"], ["0x100c929b", "pop esi", "0x100b9d0b"], ["0x100c929c", "pop ebx", "0x100b9d0c"], ["0x100c929d", "mov esp, ebp", "0x100b9d0d"], ["0x100c929f", "pop ebp", "0x100b9d0f"], ["0x100c92a0", "ret ", "0x100b9d10"], ["0x100c92a1", "mov eax, <OFFSET5>", "0x100b9d11"], ["0x100c92a6", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b9d16"]]}]]]}, {"address": "0x100c92c0", "recomp": "0x100b9730", "name": "MxDSSound::MxDSSound", "matching": 1.0, "diff": []}, {"address": "0x100c9330", "recomp": "0x100b97a0", "name": "MxDSSound::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c9340", "recomp": "0x100b97b0", "name": "MxDSSound::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c9450", "recomp": "0x100b98c0", "name": "MxDSSound::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c9470", "recomp": "0x100b98e0", "name": "MxDSSound::~MxDSSound", "matching": 1.0, "diff": []}, {"address": "0x100c94c0", "recomp": "0x100b9930", "name": "MxDSSound::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100c94e0", "recomp": "0x100b9950", "name": "MxDSSound::operator=", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c94e0,20 +0x100b9950,20 @@", [{"both": [["0x100c94e0", "push esi", "0x100b9950"], ["0x100c94e1", "push edi", "0x100b9951"]]}, {"orig": [["0x100c94e2", "mov esi, ecx"], ["0x100c94e4", "mov edi, dword ptr [esp + 0xc]"], ["0x100c94e8", "cmp esi, edi"]], "recomp": [["0x100b9952", "mov edi, ecx"], ["0x100b9954", "mov esi, dword ptr [esp + 0xc]"], ["0x100b9958", "cmp edi, esi"]]}, {"both": [["0x100c94ea", "jne 0x7", "0x100b995a"]]}, {"orig": [["0x100c94ec", "mov eax, esi"]], "recomp": [["0x100b995c", "mov eax, edi"]]}, {"both": [["0x100c94ee", "pop edi", "0x100b995e"], ["0x100c94ef", "pop esi", "0x100b995f"], ["0x100c94f0", "ret 4", "0x100b9960"]]}, {"orig": [["0x100c94f3", "push edi"], ["0x100c94f4", "mov ecx, esi"]], "recomp": [["0x100b9963", "push esi"], ["0x100b9964", "mov ecx, edi"]]}, {"both": [["0x100c94f6", "call MxDSMediaAction::operator= (FUNCTION)", "0x100b9966"]]}, {"orig": [["0x100c94fb", "push edi"], ["0x100c94fc", "mov ecx, esi"]], "recomp": [["0x100b996b", "push esi"], ["0x100b996c", "mov ecx, edi"]]}, {"both": [["0x100c94fe", "call MxDSSound::CopyFrom (FUNCTION)", "0x100b996e"]]}, {"orig": [["0x100c9503", "mov eax, esi"]], "recomp": [["0x100b9973", "mov eax, edi"]]}, {"both": [["0x100c9505", "pop edi", "0x100b9975"], ["0x100c9506", "pop esi", "0x100b9976"], ["0x100c9507", "ret 4", "0x100b9977"]]}]]]}, {"address": "0x100c9510", "recomp": "0x100b9980", "name": "MxDSSound::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c9516,40 +0x100b9986,40 @@", [{"both": [["0x100c9516", "push ebp", "0x100b9986"], ["0x100c9517", "mov ebp, esp", "0x100b9987"], ["0x100c9519", "push -1", "0x100b9989"], ["0x100c951b", "push <OFFSET1>", "0x100b998b"], ["0x100c9520", "push eax", "0x100b9990"], ["0x100c9521", "mov dword ptr fs:[0], esp", "0x100b9991"], ["0x100c9528", "sub esp, 4", "0x100b9998"], ["0x100c952b", "push ebx", "0x100b999b"], ["0x100c952c", "push esi", "0x100b999c"], ["0x100c952d", "push edi", "0x100b999d"]]}, {"orig": [["0x100c952e", "mov esi, ecx"]], "recomp": [["0x100b999e", "mov ebx, ecx"]]}, {"both": [["0x100c9530", "push 0xc0", "0x100b99a0"], ["0x100c9535", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b99a5"], ["0x100c953a", "mov dword ptr [ebp - 0x10], eax", "0x100b99aa"], ["0x100c953d", "add esp, 4", "0x100b99ad"], ["0x100c9540", "mov edi, eax", "0x100b99b0"]]}, {"orig": [["0x100c9542", "mov ebx, 0"]], "recomp": [["0x100b99b2", "mov esi, 0"]]}, {"both": [["0x100c9547", "mov dword ptr [ebp - 4], 0", "0x100b99b7"], ["0x100c954e", "test edi, edi", "0x100b99be"], ["0x100c9550", "je 0x9", "0x100b99c0"], ["0x100c9552", "mov ecx, edi", "0x100b99c2"], ["0x100c9554", "call MxDSSound::MxDSSound (FUNCTION)", "0x100b99c4"]]}, {"orig": [["0x100c9559", "mov ebx, eax"]], "recomp": [["0x100b99c9", "mov esi, eax"]]}, {"both": [["0x100c955b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b99cb"]]}, {"orig": [["0x100c9562", "test ebx, ebx"]], "recomp": [["0x100b99d2", "test esi, esi"]]}, {"both": [["0x100c9564", "je 0x8", "0x100b99d4"]]}, {"orig": [["0x100c9566", "push esi"], ["0x100c9567", "mov ecx, ebx"]], "recomp": [["0x100b99d6", "push ebx"], ["0x100b99d7", "mov ecx, esi"]]}, {"both": [["0x100c9569", "call MxDSSound::operator= (FUNCTION)", "0x100b99d9"]]}, {"orig": [["0x100c956e", "mov eax, ebx"]], "recomp": [["0x100b99de", "mov eax, esi"]]}, {"both": [["0x100c9570", "mov ecx, dword ptr [ebp - 0xc]", "0x100b99e0"], ["0x100c9573", "mov dword ptr fs:[0], ecx", "0x100b99e3"], ["0x100c957a", "pop edi", "0x100b99ea"], ["0x100c957b", "pop esi", "0x100b99eb"], ["0x100c957c", "pop ebx", "0x100b99ec"], ["0x100c957d", "mov esp, ebp", "0x100b99ed"], ["0x100c957f", "pop ebp", "0x100b99ef"], ["0x100c9580", "ret ", "0x100b99f0"], ["0x100c9581", "mov eax, <OFFSET5>", "0x100b99f1"], ["0x100c9586", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b99f6"]]}]]]}, {"address": "0x100c95a0", "recomp": "0x100b9a10", "name": "MxDSSound::Deserialize", "matching": 1.0, "diff": []}, {"address": "0x100c95d0", "recomp": "0x100b9a40", "name": "MxDSSound::GetSizeOnDisk", "matching": 1.0, "diff": []}, {"address": "0x100c95f0", "recomp": "0x100b7d50", "name": "MxDSEvent::MxDSEvent", "matching": 1.0, "diff": []}, {"address": "0x100c9660", "recomp": "0x100b7dc0", "name": "MxDSEvent::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c9670", "recomp": "0x100b7dd0", "name": "MxDSEvent::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c9780", "recomp": "0x100b7ee0", "name": "MxDSEvent::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c97a0", "recomp": "0x100b7f00", "name": "MxDSEvent::~MxDSEvent", "matching": 1.0, "diff": []}, {"address": "0x100c97f0", "recomp": "0x100b7f50", "name": "MxDSEvent::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100c9800", "recomp": "0x100b7f60", "name": "MxDSEvent::operator=", "matching": 1.0, "diff": []}, {"address": "0x100c9830", "recomp": "0x100b7f90", "name": "MxDSEvent::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c9836,40 +0x100b7f96,40 @@", [{"both": [["0x100c9836", "push ebp", "0x100b7f96"], ["0x100c9837", "mov ebp, esp", "0x100b7f97"], ["0x100c9839", "push -1", "0x100b7f99"], ["0x100c983b", "push <OFFSET1>", "0x100b7f9b"], ["0x100c9840", "push eax", "0x100b7fa0"], ["0x100c9841", "mov dword ptr fs:[0], esp", "0x100b7fa1"], ["0x100c9848", "sub esp, 4", "0x100b7fa8"], ["0x100c984b", "push ebx", "0x100b7fab"], ["0x100c984c", "push esi", "0x100b7fac"], ["0x100c984d", "push edi", "0x100b7fad"]]}, {"orig": [["0x100c984e", "mov esi, ecx"]], "recomp": [["0x100b7fae", "mov ebx, ecx"]]}, {"both": [["0x100c9850", "push 0xb8", "0x100b7fb0"], ["0x100c9855", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b7fb5"], ["0x100c985a", "mov dword ptr [ebp - 0x10], eax", "0x100b7fba"], ["0x100c985d", "add esp, 4", "0x100b7fbd"], ["0x100c9860", "mov edi, eax", "0x100b7fc0"]]}, {"orig": [["0x100c9862", "mov ebx, 0"]], "recomp": [["0x100b7fc2", "mov esi, 0"]]}, {"both": [["0x100c9867", "mov dword ptr [ebp - 4], 0", "0x100b7fc7"], ["0x100c986e", "test edi, edi", "0x100b7fce"], ["0x100c9870", "je 0x9", "0x100b7fd0"], ["0x100c9872", "mov ecx, edi", "0x100b7fd2"], ["0x100c9874", "call MxDSEvent::MxDSEvent (FUNCTION)", "0x100b7fd4"]]}, {"orig": [["0x100c9879", "mov ebx, eax"]], "recomp": [["0x100b7fd9", "mov esi, eax"]]}, {"both": [["0x100c987b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b7fdb"]]}, {"orig": [["0x100c9882", "test ebx, ebx"]], "recomp": [["0x100b7fe2", "test esi, esi"]]}, {"both": [["0x100c9884", "je 0x8", "0x100b7fe4"]]}, {"orig": [["0x100c9886", "push esi"], ["0x100c9887", "mov ecx, ebx"]], "recomp": [["0x100b7fe6", "push ebx"], ["0x100b7fe7", "mov ecx, esi"]]}, {"both": [["0x100c9889", "call MxDSEvent::operator= (FUNCTION)", "0x100b7fe9"]]}, {"orig": [["0x100c988e", "mov eax, ebx"]], "recomp": [["0x100b7fee", "mov eax, esi"]]}, {"both": [["0x100c9890", "mov ecx, dword ptr [ebp - 0xc]", "0x100b7ff0"], ["0x100c9893", "mov dword ptr fs:[0], ecx", "0x100b7ff3"], ["0x100c989a", "pop edi", "0x100b7ffa"], ["0x100c989b", "pop esi", "0x100b7ffb"], ["0x100c989c", "pop ebx", "0x100b7ffc"], ["0x100c989d", "mov esp, ebp", "0x100b7ffd"], ["0x100c989f", "pop ebp", "0x100b7fff"], ["0x100c98a0", "ret ", "0x100b8000"], ["0x100c98a1", "mov eax, <OFFSET5>", "0x100b8001"], ["0x100c98a6", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b8006"]]}]]]}, {"address": "0x100c98c0", "recomp": "0x100b6870", "name": "MxDSStill::MxDSStill", "matching": 1.0, "diff": []}, {"address": "0x100c9930", "recomp": "0x100b68e0", "name": "MxDSStill::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c9940", "recomp": "0x100b68f0", "name": "MxDSStill::IsA", "matching": 1.0, "diff": []}, {"address": "0x100c9a50", "recomp": "0x100b6a00", "name": "MxDSStill::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c9a70", "recomp": "0x100b6a20", "name": "MxDSStill::~MxDSStill", "matching": 1.0, "diff": []}, {"address": "0x100c9ac0", "recomp": "0x100b6a70", "name": "MxDSStill::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100c9ad0", "recomp": "0x100b6a80", "name": "MxDSStill::operator=", "matching": 1.0, "diff": []}, {"address": "0x100c9b00", "recomp": "0x100b6ab0", "name": "MxDSStill::Clone", "matching": 1.0, "diff": []}, {"address": "0x100c9b90", "recomp": "0x100b88f0", "name": "MxDSMultiAction::MxDSMultiAction", "matching": 1.0, "diff": []}, {"address": "0x100c9c90", "recomp": "0x100b89f0", "name": "MxDSActionList::Compare", "matching": 1.0, "diff": []}, {"address": "0x100c9cb0", "recomp": "0x100b8a10", "name": "MxDSActionList::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c9cc0", "recomp": "0x100b8a20", "name": "MxCollection<MxDSAction *>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100c9cd0", "recomp": "0x100b8a30", "name": "MxCollection<MxDSAction *>::~MxCollection<MxDSAction *>", "matching": 1.0, "diff": []}, {"address": "0x100c9d20", "recomp": "0x100b8a80", "name": "MxCollection<MxDSAction *>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100c9d30", "recomp": "0x100b8a90", "name": "MxList<MxDSAction *>::~MxList<MxDSAction *>", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c9d39,33 +0x100b8a99,33 @@", [{"both": [["0x100c9d39", "push -1", "0x100b8a99"], ["0x100c9d3b", "push <OFFSET1>", "0x100b8a9b"], ["0x100c9d40", "push eax", "0x100b8aa0"], ["0x100c9d41", "mov dword ptr fs:[0], esp", "0x100b8aa1"], ["0x100c9d48", "mov dword ptr [ecx], MxList<MxDSAction *>::`vftable' (VTABLE)", "0x100b8aa8"], ["0x100c9d4e", "sub esp, 4", "0x100b8aae"], ["0x100c9d51", "mov dword ptr [ebp - 0x10], ecx", "0x100b8ab1"], ["0x100c9d54", "mov dword ptr [ebp - 4], 0", "0x100b8ab4"], ["0x100c9d5b", "push esi", "0x100b8abb"], ["0x100c9d5c", "push edi", "0x100b8abc"]]}, {"orig": [["0x100c9d5d", "mov esi, dword ptr [ecx + 0x10]"], ["0x100c9d60", "test esi, esi"]], "recomp": [["0x100b8abd", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b8ac0", "test edi, edi"]]}, {"both": [["0x100c9d62", "je 0x1c", "0x100b8ac2"]]}, {"orig": [["0x100c9d64", "mov edi, dword ptr [esi + 8]"], ["0x100c9d67", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b8ac4", "mov esi, dword ptr [edi + 8]"], ["0x100b8ac7", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100c9d69", "push eax", "0x100b8ac9"], ["0x100c9d6a", "mov ecx, dword ptr [ebp - 0x10]", "0x100b8aca"], ["0x100c9d6d", "call dword ptr [ecx + 0xc]", "0x100b8acd"], ["0x100c9d70", "add esp, 4", "0x100b8ad0"]]}, {"orig": [["0x100c9d73", "push esi"]], "recomp": [["0x100b8ad3", "push edi"]]}, {"both": [["0x100c9d74", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b8ad4"], ["0x100c9d79", "add esp, 4", "0x100b8ad9"]]}, {"orig": [["0x100c9d7c", "mov esi, edi"]], "recomp": [["0x100b8adc", "mov edi, esi"]]}, {"both": [["0x100c9d7e", "jmp -0x20", "0x100b8ade"], ["0x100c9d80", "xor eax, eax", "0x100b8ae0"], ["0x100c9d82", "mov ecx, dword ptr [ebp - 0x10]", "0x100b8ae2"], ["0x100c9d85", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b8ae5"], ["0x100c9d8c", "mov dword ptr [ecx + 8], eax", "0x100b8aec"], ["0x100c9d8f", "mov dword ptr [ecx + 0x14], eax", "0x100b8aef"], ["0x100c9d92", "mov dword ptr [ecx + 0x10], eax", "0x100b8af2"], ["0x100c9d95", "call <OFFSET4>", "0x100b8af5"], ["0x100c9d9a", "mov eax, dword ptr [ebp - 0xc]", "0x100b8afa"], ["0x100c9d9d", "pop edi", "0x100b8afd"]]}]]]}, {"address": "0x100c9dc0", "recomp": "0x100b8b20", "name": "MxDSActionList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c9e30", "recomp": "0x100b8b90", "name": "MxCollection<MxDSAction *>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100c9ea0", "recomp": "0x100b8c00", "name": "MxList<MxDSAction *>::`scalar deleting destructor'", "matching": 1.0, "effective": true, "diff": [["@@ -0x100c9ea9,33 +0x100b8c09,33 @@", [{"both": [["0x100c9ea9", "push -1", "0x100b8c09"], ["0x100c9eab", "push <OFFSET1>", "0x100b8c0b"], ["0x100c9eb0", "push eax", "0x100b8c10"], ["0x100c9eb1", "mov dword ptr fs:[0], esp", "0x100b8c11"], ["0x100c9eb8", "mov dword ptr [ecx], MxList<MxDSAction *>::`vftable' (VTABLE)", "0x100b8c18"], ["0x100c9ebe", "sub esp, 4", "0x100b8c1e"], ["0x100c9ec1", "mov dword ptr [ebp - 0x10], ecx", "0x100b8c21"], ["0x100c9ec4", "mov dword ptr [ebp - 4], 0", "0x100b8c24"], ["0x100c9ecb", "push esi", "0x100b8c2b"], ["0x100c9ecc", "push edi", "0x100b8c2c"]]}, {"orig": [["0x100c9ecd", "mov esi, dword ptr [ecx + 0x10]"], ["0x100c9ed0", "test esi, esi"]], "recomp": [["0x100b8c2d", "mov edi, dword ptr [ecx + 0x10]"], ["0x100b8c30", "test edi, edi"]]}, {"both": [["0x100c9ed2", "je 0x1c", "0x100b8c32"]]}, {"orig": [["0x100c9ed4", "mov edi, dword ptr [esi + 8]"], ["0x100c9ed7", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b8c34", "mov esi, dword ptr [edi + 8]"], ["0x100b8c37", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100c9ed9", "push eax", "0x100b8c39"], ["0x100c9eda", "mov ecx, dword ptr [ebp - 0x10]", "0x100b8c3a"], ["0x100c9edd", "call dword ptr [ecx + 0xc]", "0x100b8c3d"], ["0x100c9ee0", "add esp, 4", "0x100b8c40"]]}, {"orig": [["0x100c9ee3", "push esi"]], "recomp": [["0x100b8c43", "push edi"]]}, {"both": [["0x100c9ee4", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b8c44"], ["0x100c9ee9", "add esp, 4", "0x100b8c49"]]}, {"orig": [["0x100c9eec", "mov esi, edi"]], "recomp": [["0x100b8c4c", "mov edi, esi"]]}, {"both": [["0x100c9eee", "jmp -0x20", "0x100b8c4e"], ["0x100c9ef0", "xor eax, eax", "0x100b8c50"], ["0x100c9ef2", "mov ecx, dword ptr [ebp - 0x10]", "0x100b8c52"], ["0x100c9ef5", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b8c55"], ["0x100c9efc", "mov dword ptr [ecx + 8], eax", "0x100b8c5c"], ["0x100c9eff", "mov dword ptr [ecx + 0x14], eax", "0x100b8c5f"], ["0x100c9f02", "mov dword ptr [ecx + 0x10], eax", "0x100b8c62"], ["0x100c9f05", "call <OFFSET4>", "0x100b8c65"], ["0x100c9f0a", "test byte ptr [ebp + 8], 1", "0x100b8c6a"], ["0x100c9f0e", "je 0xc", "0x100b8c6e"]]}]]]}, {"address": "0x100c9f50", "recomp": "0x100b8cb0", "name": "MxDSMultiAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100c9f60", "recomp": "0x100b8cc0", "name": "MxDSMultiAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100ca040", "recomp": "0x100b8da0", "name": "MxDSMultiAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100ca060", "recomp": "0x100b8dc0", "name": "MxDSMultiAction::~MxDSMultiAction", "matching": 1.0, "diff": []}, {"address": "0x100ca0d0", "recomp": "0x100b8e30", "name": "MxDSMultiAction::CopyFrom", "matching": 1.0, "effective": true, "diff": [["@@ -0x100ca0d9,32 +0x100b8e39,32 @@", [{"both": [["0x100ca0d9", "push -1", "0x100b8e39"], ["0x100ca0db", "push <OFFSET1>", "0x100b8e3b"], ["0x100ca0e0", "push eax", "0x100b8e40"], ["0x100ca0e1", "mov dword ptr fs:[0], esp", "0x100b8e41"], ["0x100ca0e8", "sub esp, 0x20", "0x100b8e48"], ["0x100ca0eb", "mov dword ptr [ebp - 0x20], ecx", "0x100b8e4b"], ["0x100ca0ee", "push ebx", "0x100b8e4e"], ["0x100ca0ef", "push esi", "0x100b8e4f"], ["0x100ca0f0", "mov ebx, dword ptr [ecx + 0x98]", "0x100b8e50"], ["0x100ca0f6", "push edi", "0x100b8e56"]]}, {"orig": [["0x100ca0f7", "mov esi, dword ptr [ebx + 0x10]"], ["0x100ca0fa", "test esi, esi"]], "recomp": [["0x100b8e57", "mov edi, dword ptr [ebx + 0x10]"], ["0x100b8e5a", "test edi, edi"]]}, {"both": [["0x100ca0fc", "je 0x19", "0x100b8e5c"]]}, {"orig": [["0x100ca0fe", "mov edi, dword ptr [esi + 8]"], ["0x100ca101", "mov eax, dword ptr [esi]"]], "recomp": [["0x100b8e5e", "mov esi, dword ptr [edi + 8]"], ["0x100b8e61", "mov eax, dword ptr [edi]"]]}, {"both": [["0x100ca103", "push eax", "0x100b8e63"], ["0x100ca104", "call dword ptr [ebx + 0xc]", "0x100b8e64"], ["0x100ca107", "add esp, 4", "0x100b8e67"]]}, {"orig": [["0x100ca10a", "push esi"]], "recomp": [["0x100b8e6a", "push edi"]]}, {"both": [["0x100ca10b", "call ??3@YAXPAX@Z (FUNCTION)", "0x100b8e6b"], ["0x100ca110", "add esp, 4", "0x100b8e70"]]}, {"orig": [["0x100ca113", "mov esi, edi"]], "recomp": [["0x100b8e73", "mov edi, esi"]]}, {"both": [["0x100ca115", "jmp -0x1d", "0x100b8e75"], ["0x100ca117", "mov eax, dword ptr [ebp + 8]", "0x100b8e77"], ["0x100ca11a", "lea ecx, [ebp - 0x1c]", "0x100b8e7a"], ["0x100ca11d", "mov dword ptr [ebx + 8], 0", "0x100b8e7d"], ["0x100ca124", "mov dword ptr [ebx + 0x14], 0", "0x100b8e84"], ["0x100ca12b", "mov dword ptr [ebx + 0x10], 0", "0x100b8e8b"], ["0x100ca132", "mov esi, dword ptr [eax + 0x98]", "0x100b8e92"], ["0x100ca138", "call MxCore::MxCore (FUNCTION)", "0x100b8e98"], ["0x100ca13d", "mov dword ptr [ebp - 4], 0", "0x100b8e9d"], ["0x100ca144", "mov eax, 0xffffffff", "0x100b8ea4"]]}]]]}, {"address": "0x100ca260", "recomp": "0x100b8fc0", "name": "MxDSMultiAction::operator=", "matching": 1.0, "diff": []}, {"address": "0x100ca290", "recomp": "0x100b8ff0", "name": "MxDSMultiAction::SetUnknown90", "matching": 1.0, "diff": []}, {"address": "0x100ca370", "recomp": "0x100b90d0", "name": "MxDSMultiAction::MergeFrom", "matching": 1.0, "diff": []}, {"address": "0x100ca450", "recomp": "0x100b91b0", "name": "MxDSMultiAction::HasId", "matching": 1.0, "diff": []}, {"address": "0x100ca550", "recomp": "0x100b92b0", "name": "MxDSMultiAction::Clone", "matching": 1.0, "diff": []}, {"address": "0x100ca5e0", "recomp": "0x100b9340", "name": "MxDSMultiAction::VTable0x14", "matching": 1.0, "diff": []}, {"address": "0x100ca6c0", "recomp": "0x100b9420", "name": "MxDSMultiAction::GetSizeOnDisk", "matching": 1.0, "diff": []}, {"address": "0x100ca7b0", "recomp": "0x100b9510", "name": "MxDSMultiAction::Deserialize", "matching": 1.0, "diff": []}, {"address": "0x100ca8c0", "recomp": "0x100b9620", "name": "MxDSMultiAction::SetAtomId", "matching": 1.0, "diff": []}, {"address": "0x100ca9d0", "recomp": "0x100b8440", "name": "MxDSSerialAction::MxDSSerialAction", "matching": 1.0, "diff": []}, {"address": "0x100caac0", "recomp": "0x100b8670", "name": "MxDSSerialAction::SetDuration", "matching": 1.0, "diff": []}, {"address": "0x100caad0", "recomp": "0x100b8530", "name": "MxDSSerialAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100caae0", "recomp": "0x100b8540", "name": "MxDSSerialAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100cabf0", "recomp": "0x100b8650", "name": "MxDSSerialAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cac10", "recomp": "0x100b8680", "name": "MxDSSerialAction::~MxDSSerialAction", "matching": 1.0, "diff": []}, {"address": "0x100cac90", "recomp": "0x100b8700", "name": "MxDSSerialAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100caca0", "recomp": "0x100b8710", "name": "MxDSSerialAction::operator=", "matching": 1.0, "diff": []}, {"address": "0x100cacd0", "recomp": "0x100b8740", "name": "MxDSSerialAction::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100cacd6,40 +0x100b8746,40 @@", [{"both": [["0x100cacd6", "push ebp", "0x100b8746"], ["0x100cacd7", "mov ebp, esp", "0x100b8747"], ["0x100cacd9", "push -1", "0x100b8749"], ["0x100cacdb", "push <OFFSET1>", "0x100b874b"], ["0x100cace0", "push eax", "0x100b8750"], ["0x100cace1", "mov dword ptr fs:[0], esp", "0x100b8751"], ["0x100cace8", "sub esp, 4", "0x100b8758"], ["0x100caceb", "push ebx", "0x100b875b"], ["0x100cacec", "push esi", "0x100b875c"], ["0x100caced", "push edi", "0x100b875d"]]}, {"orig": [["0x100cacee", "mov ebx, ecx"]], "recomp": [["0x100b875e", "mov esi, ecx"]]}, {"both": [["0x100cacf0", "push 0xa8", "0x100b8760"], ["0x100cacf5", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b8765"], ["0x100cacfa", "mov dword ptr [ebp - 0x10], eax", "0x100b876a"], ["0x100cacfd", "add esp, 4", "0x100b876d"], ["0x100cad00", "mov edi, eax", "0x100b8770"]]}, {"orig": [["0x100cad02", "mov esi, 0"]], "recomp": [["0x100b8772", "mov ebx, 0"]]}, {"both": [["0x100cad07", "mov dword ptr [ebp - 4], 0", "0x100b8777"], ["0x100cad0e", "test edi, edi", "0x100b877e"], ["0x100cad10", "je 0x9", "0x100b8780"], ["0x100cad12", "mov ecx, edi", "0x100b8782"], ["0x100cad14", "call MxDSSerialAction::MxDSSerialAction (FUNCTION)", "0x100b8784"]]}, {"orig": [["0x100cad19", "mov esi, eax"]], "recomp": [["0x100b8789", "mov ebx, eax"]]}, {"both": [["0x100cad1b", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b878b"]]}, {"orig": [["0x100cad22", "test esi, esi"]], "recomp": [["0x100b8792", "test ebx, ebx"]]}, {"both": [["0x100cad24", "je 0x8", "0x100b8794"]]}, {"orig": [["0x100cad26", "push ebx"], ["0x100cad27", "mov ecx, esi"]], "recomp": [["0x100b8796", "push esi"], ["0x100b8797", "mov ecx, ebx"]]}, {"both": [["0x100cad29", "call MxDSSerialAction::operator= (FUNCTION)", "0x100b8799"]]}, {"orig": [["0x100cad2e", "mov eax, esi"]], "recomp": [["0x100b879e", "mov eax, ebx"]]}, {"both": [["0x100cad30", "mov ecx, dword ptr [ebp - 0xc]", "0x100b87a0"], ["0x100cad33", "mov dword ptr fs:[0], ecx", "0x100b87a3"], ["0x100cad3a", "pop edi", "0x100b87aa"], ["0x100cad3b", "pop esi", "0x100b87ab"], ["0x100cad3c", "pop ebx", "0x100b87ac"], ["0x100cad3d", "mov esp, ebp", "0x100b87ad"], ["0x100cad3f", "pop ebp", "0x100b87af"], ["0x100cad40", "ret ", "0x100b87b0"], ["0x100cad41", "mov eax, <OFFSET5>", "0x100b87b1"], ["0x100cad46", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b87b6"]]}]]]}, {"address": "0x100cad60", "recomp": "0x100b87d0", "name": "MxDSSerialAction::GetDuration", "matching": 1.0, "diff": []}, {"address": "0x100cae80", "recomp": "0x100b8020", "name": "MxDSParallelAction::MxDSParallelAction", "matching": 1.0, "diff": []}, {"address": "0x100caef0", "recomp": "0x100b6c50", "name": "MxDSParallelAction::SetDuration", "matching": 1.0, "diff": []}, {"address": "0x100caf00", "recomp": "0x100b8090", "name": "MxDSParallelAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100caf10", "recomp": "0x100b80a0", "name": "MxDSParallelAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100cb020", "recomp": "0x100b81b0", "name": "MxDSParallelAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cb040", "recomp": "0x100b81d0", "name": "MxDSParallelAction::~MxDSParallelAction", "matching": 1.0, "diff": []}, {"address": "0x100cb090", "recomp": "0x100b8220", "name": "MxDSParallelAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100cb0a0", "recomp": "0x100b8230", "name": "MxDSParallelAction::operator=", "matching": 1.0, "diff": []}, {"address": "0x100cb0d0", "recomp": "0x100b8260", "name": "MxDSParallelAction::Clone", "matching": 1.0, "diff": []}, {"address": "0x100cb160", "recomp": "0x100b82f0", "name": "MxDSParallelAction::GetDuration", "matching": 1.0, "diff": []}, {"address": "0x100cb2b0", "recomp": "0x100b6b40", "name": "MxDSSelectAction::MxDSSelectAction", "matching": 1.0, "diff": []}, {"address": "0x100cb3c0", "recomp": "0x100b6c60", "name": "MxCollection<MxString>::Compare", "matching": 1.0, "diff": []}, {"address": "0x100cb420", "recomp": "0x100b6cc0", "name": "MxCollection<MxString>::~MxCollection<MxString>", "matching": 1.0, "diff": []}, {"address": "0x100cb470", "recomp": "0x100b6d10", "name": "MxCollection<MxString>::Destroy", "matching": 1.0, "diff": []}, {"address": "0x100cb4c0", "recomp": "0x100b6d60", "name": "MxList<MxString>::~MxList<MxString>", "matching": 1.0, "diff": []}, {"address": "0x100cb590", "recomp": "0x100b6e30", "name": "MxCollection<MxString>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cb600", "recomp": "0x100b6ea0", "name": "MxList<MxString>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cb6f0", "recomp": "0x100b6f90", "name": "MxDSSelectAction::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100cb700", "recomp": "0x100b6fa0", "name": "MxDSSelectAction::IsA", "matching": 1.0, "diff": []}, {"address": "0x100cb840", "recomp": "0x100b7140", "name": "MxDSSelectAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cb860", "recomp": "0x100b7160", "name": "MxStringList::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cb8d0", "recomp": "0x100b71d0", "name": "MxDSSelectAction::~MxDSSelectAction", "matching": 1.0, "diff": []}, {"address": "0x100cb950", "recomp": "0x100b7250", "name": "MxDSSelectAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100cbb40", "recomp": "0x100b7440", "name": "MxList<MxString>::Append", "matching": 1.0, "diff": []}, {"address": "0x100cbbd0", "recomp": "0x100b74d0", "name": "MxStringListCursor::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cbc40", "recomp": "0x100b7540", "name": "MxListCursor<MxString>::~MxListCursor<MxString>", "matching": 1.0, "diff": []}, {"address": "0x100cbc90", "recomp": "0x100b7590", "name": "MxListCursor<MxString>::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cbd00", "recomp": "0x100b7600", "name": "MxStringListCursor::~MxStringListCursor", "matching": 1.0, "diff": []}, {"address": "0x100cbd50", "recomp": "0x100b7650", "name": "MxDSSelectAction::operator=", "matching": 1.0, "diff": []}, {"address": "0x100cbd80", "recomp": "0x100b7680", "name": "MxDSSelectAction::Clone", "matching": 1.0, "effective": true, "diff": [["@@ -0x100cbd86,40 +0x100b7686,40 @@", [{"both": [["0x100cbd86", "push ebp", "0x100b7686"], ["0x100cbd87", "mov ebp, esp", "0x100b7687"], ["0x100cbd89", "push -1", "0x100b7689"], ["0x100cbd8b", "push <OFFSET1>", "0x100b768b"], ["0x100cbd90", "push eax", "0x100b7690"], ["0x100cbd91", "mov dword ptr fs:[0], esp", "0x100b7691"], ["0x100cbd98", "sub esp, 4", "0x100b7698"], ["0x100cbd9b", "push ebx", "0x100b769b"], ["0x100cbd9c", "push esi", "0x100b769c"], ["0x100cbd9d", "push edi", "0x100b769d"]]}, {"orig": [["0x100cbd9e", "mov ebx, ecx"]], "recomp": [["0x100b769e", "mov esi, ecx"]]}, {"both": [["0x100cbda0", "push 0xb0", "0x100b76a0"], ["0x100cbda5", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b76a5"], ["0x100cbdaa", "mov dword ptr [ebp - 0x10], eax", "0x100b76aa"], ["0x100cbdad", "add esp, 4", "0x100b76ad"], ["0x100cbdb0", "mov edi, eax", "0x100b76b0"]]}, {"orig": [["0x100cbdb2", "mov esi, 0"]], "recomp": [["0x100b76b2", "mov ebx, 0"]]}, {"both": [["0x100cbdb7", "mov dword ptr [ebp - 4], 0", "0x100b76b7"], ["0x100cbdbe", "test edi, edi", "0x100b76be"], ["0x100cbdc0", "je 0x9", "0x100b76c0"], ["0x100cbdc2", "mov ecx, edi", "0x100b76c2"], ["0x100cbdc4", "call MxDSSelectAction::MxDSSelectAction (FUNCTION)", "0x100b76c4"]]}, {"orig": [["0x100cbdc9", "mov esi, eax"]], "recomp": [["0x100b76c9", "mov ebx, eax"]]}, {"both": [["0x100cbdcb", "mov dword ptr [ebp - 4], 0xffffffff", "0x100b76cb"]]}, {"orig": [["0x100cbdd2", "test esi, esi"]], "recomp": [["0x100b76d2", "test ebx, ebx"]]}, {"both": [["0x100cbdd4", "je 0x8", "0x100b76d4"]]}, {"orig": [["0x100cbdd6", "push ebx"], ["0x100cbdd7", "mov ecx, esi"]], "recomp": [["0x100b76d6", "push esi"], ["0x100b76d7", "mov ecx, ebx"]]}, {"both": [["0x100cbdd9", "call MxDSSelectAction::operator= (FUNCTION)", "0x100b76d9"]]}, {"orig": [["0x100cbdde", "mov eax, esi"]], "recomp": [["0x100b76de", "mov eax, ebx"]]}, {"both": [["0x100cbde0", "mov ecx, dword ptr [ebp - 0xc]", "0x100b76e0"], ["0x100cbde3", "mov dword ptr fs:[0], ecx", "0x100b76e3"], ["0x100cbdea", "pop edi", "0x100b76ea"], ["0x100cbdeb", "pop esi", "0x100b76eb"], ["0x100cbdec", "pop ebx", "0x100b76ec"], ["0x100cbded", "mov esp, ebp", "0x100b76ed"], ["0x100cbdef", "pop ebp", "0x100b76ef"], ["0x100cbdf0", "ret ", "0x100b76f0"], ["0x100cbdf1", "mov eax, <OFFSET5>", "0x100b76f1"], ["0x100cbdf6", "jmp ___CxxFrameHandler (FUNCTION)", "0x100b76f6"]]}]]]}, {"address": "0x100cbe10", "recomp": "0x100b7710", "name": "MxDSSelectAction::GetSizeOnDisk", "matching": 1.0, "diff": []}, {"address": "0x100cbf60", "recomp": "0x100b7860", "name": "MxDSSelectAction::Deserialize", "matching": 0.9469964664310954, "diff": [["@@ -0x100cc0a5,26 +0x100b79a5,26 @@", [{"both": [["0x100cc0a5", "mov eax, dword ptr [ebp - 0x14]", "0x100b79a5"], ["0x100cc0a8", "mov dword ptr [ebp - 0x30], 0xffffffff", "0x100b79a8"], ["0x100cc0af", "mov ecx, dword ptr [eax + 0xac]", "0x100b79af"], ["0x100cc0b5", "mov dword ptr [ebp - 0x10], ecx", "0x100b79b5"], ["0x100cc0b8", "mov eax, dword ptr [ecx + 0x10]", "0x100b79b8"], ["0x100cc0bb", "mov dword ptr [ebp - 0x1a], eax", "0x100b79bb"], ["0x100cc0be", "cmp dword ptr [ebp - 0x1a], 0", "0x100b79be"], ["0x100cc0c2", "je 0x4e", "0x100b79c2"], ["0x100cc0c4", "mov eax, dword ptr [ebp - 0x1a]", "0x100b79c4"], ["0x100cc0c7", "sub esp, 0x10", "0x100b79c7"]]}, {"orig": [], "recomp": [["0x100b79ca", "mov dword ptr [ebp - 0x28], esp"]]}, {"both": [["0x100cc0ca", "mov ecx, dword ptr [eax + 0x14]", "0x100b79cd"]]}, {"orig": [], "recomp": [["0x100b79d0", "mov edx, dword ptr [ebp - 0x28]"], ["0x100b79d3", "push edx"]]}, {"both": [["0x100cc0cd", "mov dword ptr [ebp - 0x38], ecx", "0x100b79d4"]]}, {"orig": [["0x100cc0d0", "mov dword ptr [ebp - 0x28], esp"], ["0x100cc0d3", "mov edx, dword ptr [ebp - 0x28]"]], "recomp": []}, {"both": [["0x100cc0d6", "mov ecx, dword ptr [ebp - 0x1a]", "0x100b79d7"]]}, {"orig": [["0x100cc0d9", "push edx"]], "recomp": []}, {"both": [["0x100cc0da", "call MxListEntry<MxString>::GetValue (FUNCTION)", "0x100b79da"], ["0x100cc0df", "mov ebx, dword ptr [ebp - 0x10]", "0x100b79df"], ["0x100cc0e2", "mov byte ptr [ebp - 4], 0", "0x100b79e2"], ["0x100cc0e6", "call dword ptr [ebx + 0xc]", "0x100b79e6"], ["0x100cc0e9", "add esp, 0x10", "0x100b79e9"], ["0x100cc0ec", "cmp dword ptr [ebp - 0x1a], 0", "0x100b79ec"], ["0x100cc0f0", "je 0x1b", "0x100b79f0"], ["0x100cc0f2", "mov byte ptr [ebp - 4], 0", "0x100b79f2"], ["0x100cc0f6", "mov eax, dword ptr [ebp - 0x1a]", "0x100b79f6"], ["0x100cc0f9", "mov dword ptr [ebp - 0x2c], eax", "0x100b79f9"]]}]], ["@@ -0x100cc1bf,51 +0x100b7abf,51 @@", [{"both": [["0x100cc1bf", "mov eax, dword ptr [edx + 4]", "0x100b7abf"], ["0x100cc1c2", "add edx, 8", "0x100b7ac2"], ["0x100cc1c5", "and eax, 1", "0x100b7ac5"], ["0x100cc1c8", "mov dword ptr [ebp - 0x2c], eax", "0x100b7ac8"], ["0x100cc1cb", "mov dword ptr [ecx], edx", "0x100b7acb"], ["0x100cc1cd", "mov eax, dword ptr [ebp + 0xc]", "0x100b7acd"], ["0x100cc1d0", "push eax", "0x100b7ad0"], ["0x100cc1d1", "push ecx", "0x100b7ad1"], ["0x100cc1d2", "call DeserializeDSObjectDispatch (FUNCTION)", "0x100b7ad2"], ["0x100cc1d7", "add esp, 8", "0x100b7ad7"]]}, {"orig": [["0x100cc1da", "mov ecx, dword ptr [ebp - 0x10]"]], "recomp": [["0x100b7ada", "mov ecx, dword ptr [ebp - 0x30]"]]}, {"both": [["0x100cc1dd", "mov dword ptr [ebp - 0x1a], eax", "0x100b7add"]]}, {"orig": [["0x100cc1e0", "cmp dword ptr [ebp - 0x30], ecx"]], "recomp": [["0x100b7ae0", "cmp dword ptr [ebp - 0x10], ecx"]]}, {"both": [["0x100cc1e3", "jne 0x57", "0x100b7ae3"], ["0x100cc1e5", "mov eax, dword ptr [ebp - 0x14]", "0x100b7ae5"], ["0x100cc1e8", "push 0xc", "0x100b7ae8"]]}, {"orig": [["0x100cc1ea", "mov ebx, dword ptr [eax + 0x98]"], ["0x100cc1f0", "mov esi, dword ptr [ebx + 0x14]"]], "recomp": [["0x100b7aea", "mov esi, dword ptr [eax + 0x98]"], ["0x100b7af0", "mov ebx, dword ptr [esi + 0x14]"]]}, {"both": [["0x100cc1f3", "call ??2@YAPAXI@Z (FUNCTION)", "0x100b7af3"], ["0x100cc1f8", "mov dword ptr [ebp - 0x28], eax", "0x100b7af8"], ["0x100cc1fb", "add esp, 4", "0x100b7afb"], ["0x100cc1fe", "mov byte ptr [ebp - 4], 4", "0x100b7afe"], ["0x100cc202", "mov edi, eax", "0x100b7b02"], ["0x100cc204", "mov eax, 0", "0x100b7b04"], ["0x100cc209", "test edi, edi", "0x100b7b09"], ["0x100cc20b", "je 0x11", "0x100b7b0b"], ["0x100cc20d", "mov eax, dword ptr [ebp - 0x1a]", "0x100b7b0d"], ["0x100cc210", "mov dword ptr [edi], eax", "0x100b7b10"], ["0x100cc212", "mov eax, edi", "0x100b7b12"]]}, {"orig": [["0x100cc214", "mov dword ptr [edi + 4], esi"]], "recomp": [["0x100b7b14", "mov dword ptr [edi + 4], ebx"]]}, {"both": [["0x100cc217", "mov dword ptr [edi + 8], 0", "0x100b7b17"], ["0x100cc21e", "mov byte ptr [ebp - 4], 0", "0x100b7b1e"]]}, {"orig": [["0x100cc222", "test esi, esi"]], "recomp": [["0x100b7b22", "test ebx, ebx"]]}, {"both": [["0x100cc224", "je 0xb", "0x100b7b24"]]}, {"orig": [["0x100cc226", "mov dword ptr [esi + 8], eax"], ["0x100cc229", "mov dword ptr [ebx + 0x14], eax"], ["0x100cc22c", "inc dword ptr [ebx + 8]"]], "recomp": [["0x100b7b26", "mov dword ptr [ebx + 8], eax"], ["0x100b7b29", "mov dword ptr [esi + 0x14], eax"], ["0x100b7b2c", "inc dword ptr [esi + 8]"]]}, {"both": [["0x100cc22f", "jmp 0x1c", "0x100b7b2f"]]}, {"orig": [["0x100cc231", "mov dword ptr [ebx + 0x10], eax"], ["0x100cc234", "mov dword ptr [ebx + 0x14], eax"], ["0x100cc237", "inc dword ptr [ebx + 8]"]], "recomp": [["0x100b7b31", "mov dword ptr [esi + 0x10], eax"], ["0x100b7b34", "mov dword ptr [esi + 0x14], eax"], ["0x100b7b37", "inc dword ptr [esi + 8]"]]}, {"both": [["0x100cc23a", "jmp 0x11", "0x100b7b3a"], ["0x100cc23c", "cmp dword ptr [ebp - 0x1a], 0", "0x100b7b3c"], ["0x100cc240", "je 0xb", "0x100b7b40"], ["0x100cc242", "push 1", "0x100b7b42"], ["0x100cc244", "mov eax, dword ptr [ebp - 0x1a]", "0x100b7b44"], ["0x100cc247", "mov ecx, eax", "0x100b7b47"], ["0x100cc249", "mov ebx, dword ptr [eax]", "0x100b7b49"], ["0x100cc24b", "call dword ptr [ebx]", "0x100b7b4b"], ["0x100cc24d", "mov eax, dword ptr [ebp - 0x2c]", "0x100b7b4d"], ["0x100cc250", "mov ecx, dword ptr [ebp + 8]", "0x100b7b50"]]}]]]}, {"address": "0x100cc2d0", "recomp": "0x100b7bd0", "name": "MxList<MxString>::InsertEntry", "matching": 1.0, "diff": []}, {"address": "0x100cc3c0", "recomp": "0x100b7cc0", "name": "MxListEntry<MxString>::MxListEntry<MxString>", "matching": 1.0, "diff": []}, {"address": "0x100cc450", "recomp": "0x100b70e0", "name": "MxListEntry<MxString>::GetValue", "matching": 1.0, "diff": []}, {"address": "0x100cc4b0", "recomp": "0x100a9580", "name": "MxDSFile::MxDSFile", "matching": 1.0, "diff": []}, {"address": "0x100cc590", "recomp": "0x100a9660", "name": "MxDSFile::Open", "matching": 1.0, "diff": []}, {"address": "0x100cc620", "recomp": "0x100a96f0", "name": "MxDSFile::ReadChunks", "matching": 1.0, "diff": []}, {"address": "0x100cc740", "recomp": "0x100a9810", "name": "MxDSFile::Close", "matching": 1.0, "diff": []}, {"address": "0x100cc780", "recomp": "0x100a9850", "name": "MxDSFile::Read", "matching": 1.0, "diff": []}, {"address": "0x100cc7b0", "recomp": "0x100a9880", "name": "MxDSFile::Seek", "matching": 1.0, "diff": []}, {"address": "0x100cc7e0", "recomp": "0x100a98b0", "name": "MxDSFile::GetBufferSize", "matching": 1.0, "diff": []}, {"address": "0x100cc7f0", "recomp": "0x100a98c0", "name": "MxDSFile::GetStreamBuffersNum", "matching": 1.0, "diff": []}, {"address": "0x100cc800", "recomp": "0x100a98d0", "name": "MXIOINFO::MXIOINFO", "matching": 1.0, "diff": []}, {"address": "0x100cc820", "recomp": "0x100a98f0", "name": "MXIOINFO::~MXIOINFO", "matching": 1.0, "diff": []}, {"address": "0x100cc830", "recomp": "0x100a9900", "name": "MXIOINFO::Open", "matching": 1.0, "diff": []}, {"address": "0x100cc8e0", "recomp": "0x100a99b0", "name": "MXIOINFO::Close", "matching": 1.0, "diff": []}, {"address": "0x100cc930", "recomp": "0x100a9a00", "name": "MXIOINFO::Read", "matching": 1.0, "effective": true, "diff": [["@@ -0x100cc940,22 +0x100a9a10,22 @@", [{"both": [["0x100cc940", "push ebp", "0x100a9a10"], ["0x100cc941", "cmp dword ptr [ebx + 0x18], 0", "0x100a9a11"], ["0x100cc945", "je 0x58", "0x100a9a15"], ["0x100cc947", "mov eax, dword ptr [ebx + 0x20]", "0x100a9a17"], ["0x100cc94a", "mov ebp, dword ptr [esp + 0x1c]", "0x100a9a1a"], ["0x100cc94e", "sub eax, dword ptr [ebx + 0x1c]", "0x100a9a1e"], ["0x100cc951", "test ebp, ebp", "0x100a9a21"], ["0x100cc953", "jle 0x91", "0x100a9a23"], ["0x100cc959", "test eax, eax", "0x100a9a29"], ["0x100cc95b", "jle 0x24", "0x100a9a2b"]]}, {"orig": [["0x100cc95d", "cmp ebp, eax"], ["0x100cc95f", "jge 0x2"]], "recomp": [["0x100a9a2d", "cmp eax, ebp"], ["0x100a9a2f", "jle 0x2"]]}, {"both": [["0x100cc961", "mov eax, ebp", "0x100a9a31"], ["0x100cc963", "mov edi, dword ptr [esp + 0x18]", "0x100a9a33"], ["0x100cc967", "mov esi, dword ptr [ebx + 0x1c]", "0x100a9a37"], ["0x100cc96a", "mov ecx, eax", "0x100a9a3a"], ["0x100cc96c", "sub ebp, eax", "0x100a9a3c"], ["0x100cc96e", "shr ecx, 2", "0x100a9a3e"], ["0x100cc971", "rep movsd dword ptr es:[edi], dword ptr [esi]", "0x100a9a41"], ["0x100cc973", "mov ecx, eax", "0x100a9a43"], ["0x100cc975", "and ecx, 3", "0x100a9a45"], ["0x100cc978", "rep movsb byte ptr es:[edi], byte ptr [esi]", "0x100a9a48"]]}]]]}, {"address": "0x100cca00", "recomp": "0x100a9ad0", "name": "MXIOINFO::Seek", "matching": 0.9086294416243654, "diff": [["@@ -0x100cca00,19 +0x100a9ad0,19 @@", [{"both": [["0x100cca00", "push ebx", "0x100a9ad0"], ["0x100cca01", "push esi", "0x100a9ad1"], ["0x100cca02", "push edi", "0x100a9ad2"], ["0x100cca03", "mov ebx, 0xffffffff", "0x100a9ad3"], ["0x100cca08", "push ebp", "0x100a9ad8"], ["0x100cca09", "mov edi, ecx", "0x100a9ad9"], ["0x100cca0b", "mov ecx, dword ptr [ecx + 0x18]", "0x100a9adb"], ["0x100cca0e", "test ecx, ecx", "0x100a9ade"]]}, {"orig": [["0x100cca10", "je 0x159"]], "recomp": [["0x100a9ae0", "je 0x157"]]}, {"both": [["0x100cca16", "mov ebp, dword ptr [esp + 0x18]", "0x100a9ae6"], ["0x100cca1a", "cmp ebp, 1", "0x100a9aea"], ["0x100cca1d", "jne 0x22", "0x100a9aed"], ["0x100cca1f", "mov esi, dword ptr [esp + 0x14]", "0x100a9aef"], ["0x100cca23", "mov eax, dword ptr [edi + 0x1c]", "0x100a9af3"], ["0x100cca26", "test esi, esi", "0x100a9af6"], ["0x100cca28", "jne 0xc", "0x100a9af8"], ["0x100cca2a", "sub eax, ecx", "0x100a9afa"], ["0x100cca2c", "pop ebp", "0x100a9afc"], ["0x100cca2d", "add eax, dword ptr [edi + 0x28]", "0x100a9afd"]]}]], ["@@ -0x100cca3f,34 +0x100a9b0f,33 @@", [{"both": [["0x100cca3f", "jmp 0x15", "0x100a9b0f"], ["0x100cca41", "cmp ebp, 2", "0x100a9b11"], ["0x100cca44", "jne 0xc", "0x100a9b14"], ["0x100cca46", "mov eax, 0xffffffff", "0x100a9b16"], ["0x100cca4b", "pop ebp", "0x100a9b1b"], ["0x100cca4c", "pop edi", "0x100a9b1c"], ["0x100cca4d", "pop esi", "0x100a9b1d"], ["0x100cca4e", "pop ebx", "0x100a9b1e"], ["0x100cca4f", "ret 8", "0x100a9b1f"], ["0x100cca52", "mov esi, dword ptr [esp + 0x14]", "0x100a9b22"]]}, {"orig": [["0x100cca56", "mov edx, dword ptr [edi + 0x28]"], ["0x100cca59", "cmp esi, edx"], ["0x100cca5b", "jl 0x1d"], ["0x100cca5d", "mov eax, dword ptr [edi + 0x14]"], ["0x100cca60", "add eax, edx"]], "recomp": [["0x100a9b26", "mov eax, dword ptr [edi + 0x28]"]]}, {"both": [["0x100cca62", "cmp eax, esi", "0x100a9b29"]]}, {"orig": [["0x100cca64", "jle 0x14"], ["0x100cca66", "mov eax, esi"]], "recomp": [["0x100a9b2b", "jg 0x1b"], ["0x100a9b2d", "mov edx, dword ptr [edi + 0x14]"], ["0x100a9b30", "add edx, eax"], ["0x100a9b32", "cmp edx, esi"], ["0x100a9b34", "jle 0x12"], ["0x100a9b36", "sub ecx, eax"]]}, {"both": [["0x100cca68", "mov ebx, esi", "0x100a9b38"]]}, {"orig": [["0x100cca6a", "sub eax, edx"]], "recomp": [["0x100a9b3a", "add ecx, esi"], ["0x100a9b3c", "mov eax, ebx"]]}, {"both": [["0x100cca6c", "pop ebp", "0x100a9b3e"]]}, {"orig": [["0x100cca6d", "add eax, ecx"], ["0x100cca6f", "mov dword ptr [edi + 0x1c], eax"], ["0x100cca72", "mov eax, ebx"]], "recomp": [["0x100a9b3f", "mov dword ptr [edi + 0x1c], ecx"]]}, {"both": [["0x100cca74", "pop edi", "0x100a9b42"], ["0x100cca75", "pop esi", "0x100a9b43"], ["0x100cca76", "pop ebx", "0x100a9b44"], ["0x100cca77", "ret 8", "0x100a9b45"], ["0x100cca7a", "cmp dword ptr [edi + 0x44], 0", "0x100a9b48"], ["0x100cca7e", "je 0x12f", "0x100a9b4c"], ["0x100cca84", "push 0", "0x100a9b52"], ["0x100cca86", "mov ecx, edi", "0x100a9b54"], ["0x100cca88", "call MXIOINFO::Flush (FUNCTION)", "0x100a9b56"], ["0x100cca8d", "test ax, ax", "0x100a9b5b"]]}]], ["@@ -0x100ccabc,21 +0x100a9b8a,21 @@", [{"both": [["0x100ccabc", "pop edi", "0x100a9b8a"], ["0x100ccabd", "pop esi", "0x100a9b8b"], ["0x100ccabe", "pop ebx", "0x100a9b8c"], ["0x100ccabf", "ret 8", "0x100a9b8d"], ["0x100ccac2", "mov ecx, esi", "0x100a9b90"], ["0x100ccac4", "mov eax, esi", "0x100a9b92"], ["0x100ccac6", "cdq ", "0x100a9b94"], ["0x100ccac7", "idiv dword ptr [edi + 0x14]", "0x100a9b95"], ["0x100ccaca", "sub ecx, edx", "0x100a9b98"], ["0x100ccacc", "mov dword ptr [edi + 0x28], ecx", "0x100a9b9a"]]}, {"orig": [["0x100ccacf", "cmp esi, ecx"]], "recomp": [["0x100a9b9d", "cmp ecx, esi"]]}, {"both": [["0x100ccad1", "je 0x1e", "0x100a9b9f"], ["0x100ccad3", "push 0", "0x100a9ba1"], ["0x100ccad5", "mov eax, dword ptr [edi + 0x44]", "0x100a9ba3"], ["0x100ccad8", "push ecx", "0x100a9ba6"], ["0x100ccad9", "push eax", "0x100a9ba7"], ["0x100ccada", "call ebp", "0x100a9ba8"], ["0x100ccadc", "mov dword ptr [edi + 0x2c], eax", "0x100a9baa"], ["0x100ccadf", "cmp eax, -1", "0x100a9bad"], ["0x100ccae2", "jne 0xd", "0x100a9bb0"], ["0x100ccae4", "push 1", "0x100a9bb2"]]}]], ["@@ -0x100ccb3c,27 +0x100a9c0a,27 @@", [{"both": [["0x100ccb3c", "push eax", "0x100a9c0a"], ["0x100ccb3d", "call ebp", "0x100a9c0b"], ["0x100ccb3f", "pop ebp", "0x100a9c0d"], ["0x100ccb40", "mov dword ptr [edi + 0x2c], eax", "0x100a9c0e"], ["0x100ccb43", "mov eax, ebx", "0x100a9c11"], ["0x100ccb45", "pop edi", "0x100a9c13"], ["0x100ccb46", "pop esi", "0x100a9c14"], ["0x100ccb47", "pop ebx", "0x100a9c15"], ["0x100ccb48", "ret 8", "0x100a9c16"], ["0x100ccb4b", "mov edx, dword ptr [edi + 0x18]", "0x100a9c19"]]}, {"orig": [["0x100ccb4e", "mov ecx, esi"]], "recomp": [["0x100a9c1c", "add dword ptr [edi + 0x2c], eax"], ["0x100a9c1f", "mov ecx, edx"], ["0x100a9c21", "add eax, edx"]]}, {"both": [["0x100ccb50", "sub ecx, dword ptr [edi + 0x28]", "0x100a9c23"]]}, {"orig": [["0x100ccb53", "add dword ptr [edi + 0x2c], eax"], ["0x100ccb56", "add ecx, edx"], ["0x100ccb58", "add eax, edx"]], "recomp": [["0x100a9c26", "mov dword ptr [edi + 0x20], eax"], ["0x100a9c29", "add ecx, esi"]]}, {"both": [["0x100ccb5a", "mov dword ptr [edi + 0x1c], ecx", "0x100a9c2b"]]}, {"orig": [["0x100ccb5d", "mov dword ptr [edi + 0x20], eax"]], "recomp": []}, {"both": [["0x100ccb60", "cmp ecx, eax", "0x100a9c2e"], ["0x100ccb62", "jae 0x4f", "0x100a9c30"], ["0x100ccb64", "mov eax, esi", "0x100a9c32"], ["0x100ccb66", "mov ebx, esi", "0x100a9c34"], ["0x100ccb68", "pop ebp", "0x100a9c36"], ["0x100ccb69", "pop edi", "0x100a9c37"], ["0x100ccb6a", "pop esi", "0x100a9c38"], ["0x100ccb6b", "pop ebx", "0x100a9c39"], ["0x100ccb6c", "ret 8", "0x100a9c3a"], ["0x100ccb6f", "mov eax, dword ptr [edi + 0x44]", "0x100a9c3d"]]}]], ["@@ -0x100ccba8,10 +0x100a9c76,11 @@", [{"both": [["0x100ccba8", "mov eax, dword ptr [edi + 0x44]", "0x100a9c76"], ["0x100ccbab", "push 0", "0x100a9c79"], ["0x100ccbad", "push eax", "0x100a9c7b"], ["0x100ccbae", "call ebp", "0x100a9c7c"], ["0x100ccbb0", "mov dword ptr [edi + 0x2c], eax", "0x100a9c7e"], ["0x100ccbb3", "mov eax, ebx", "0x100a9c81"], ["0x100ccbb5", "pop ebp", "0x100a9c83"], ["0x100ccbb6", "pop edi", "0x100a9c84"], ["0x100ccbb7", "pop esi", "0x100a9c85"], ["0x100ccbb8", "pop ebx", "0x100a9c86"]]}, {"orig": [], "recomp": [["0x100a9c87", "ret 8"]]}]]]}, {"address": "0x100ccbc0", "recomp": "0x100a9c90", "name": "MXIOINFO::SetBuffer", "matching": 1.0, "diff": []}, {"address": "0x100ccc10", "recomp": "0x100a9ce0", "name": "MXIOINFO::Flush", "matching": 1.0, "diff": []}, {"address": "0x100ccd00", "recomp": "0x100a9dd0", "name": "MXIOINFO::Advance", "matching": 0.9624060150375939, "diff": [["@@ -0x100ccd3c,34 +0x100a9e0c,34 @@", [{"both": [["0x100ccd3c", "jle 0x67", "0x100a9e0c"], ["0x100ccd3e", "mov eax, dword ptr [esi + 0x28]", "0x100a9e0e"], ["0x100ccd41", "cmp dword ptr [esi + 0x2c], eax", "0x100a9e11"], ["0x100ccd44", "je 0x10", "0x100a9e14"], ["0x100ccd46", "push 0", "0x100a9e16"], ["0x100ccd48", "push eax", "0x100a9e18"], ["0x100ccd49", "mov eax, dword ptr [esi + 0x44]", "0x100a9e19"], ["0x100ccd4c", "push eax", "0x100a9e1c"], ["0x100ccd4d", "call dword ptr [->KERNEL32.DLL:_llseek (FUNCTION)]", "0x100a9e1d"], ["0x100ccd53", "mov dword ptr [esi + 0x2c], eax", "0x100a9e23"]]}, {"orig": [["0x100ccd56", "mov eax, dword ptr [esi + 0x28]"], ["0x100ccd59", "cmp dword ptr [esi + 0x2c], eax"]], "recomp": [["0x100a9e26", "mov eax, dword ptr [esi + 0x2c]"], ["0x100a9e29", "cmp dword ptr [esi + 0x28], eax"]]}, {"both": [["0x100ccd5c", "je 0x6", "0x100a9e2c"], ["0x100ccd5e", "mov di, 0x107", "0x100a9e2e"], ["0x100ccd62", "jmp 0x30", "0x100a9e32"], ["0x100ccd64", "push ebx", "0x100a9e34"], ["0x100ccd65", "mov eax, dword ptr [esi + 0x18]", "0x100a9e35"], ["0x100ccd68", "push eax", "0x100a9e38"], ["0x100ccd69", "mov ecx, dword ptr [esi + 0x44]", "0x100a9e39"], ["0x100ccd6c", "push ecx", "0x100a9e3c"], ["0x100ccd6d", "call dword ptr [->KERNEL32.DLL:_hwrite (FUNCTION)]", "0x100a9e3d"], ["0x100ccd73", "cmp eax, -1", "0x100a9e43"], ["0x100ccd76", "je 0x18", "0x100a9e46"]]}, {"orig": [["0x100ccd78", "cmp ebx, eax"]], "recomp": [["0x100a9e48", "cmp eax, ebx"]]}, {"both": [["0x100ccd7a", "jne 0x14", "0x100a9e4a"], ["0x100ccd7c", "add dword ptr [esi + 0x2c], eax", "0x100a9e4c"], ["0x100ccd7f", "and dword ptr [esi], 0xefffffff", "0x100a9e4f"], ["0x100ccd85", "mov eax, dword ptr [esi + 0x18]", "0x100a9e55"], ["0x100ccd88", "mov dword ptr [esi + 0x1c], eax", "0x100a9e58"], ["0x100ccd8b", "mov dword ptr [esi + 0x20], eax", "0x100a9e5b"], ["0x100ccd8e", "jmp 0x15", "0x100a9e5e"], ["0x100ccd90", "mov di, 0x106", "0x100a9e60"], ["0x100ccd94", "push 1", "0x100a9e64"], ["0x100ccd96", "mov eax, dword ptr [esi + 0x44]", "0x100a9e66"]]}]], ["@@ -0x100ccdba,22 +0x100a9e8a,22 @@", [{"both": [["0x100ccdba", "test ebx, ebx", "0x100a9e8a"], ["0x100ccdbc", "jle 0x8b", "0x100a9e8c"], ["0x100ccdc2", "cmp dword ptr [esi + 0x2c], eax", "0x100a9e92"], ["0x100ccdc5", "je 0x10", "0x100a9e95"], ["0x100ccdc7", "push 0", "0x100a9e97"], ["0x100ccdc9", "push eax", "0x100a9e99"], ["0x100ccdca", "mov eax, dword ptr [esi + 0x44]", "0x100a9e9a"], ["0x100ccdcd", "push eax", "0x100a9e9d"], ["0x100ccdce", "call dword ptr [->KERNEL32.DLL:_llseek (FUNCTION)]", "0x100a9e9e"], ["0x100ccdd4", "mov dword ptr [esi + 0x2c], eax", "0x100a9ea4"]]}, {"orig": [["0x100ccdd7", "mov eax, dword ptr [esi + 0x28]"], ["0x100ccdda", "cmp dword ptr [esi + 0x2c], eax"]], "recomp": [["0x100a9ea7", "mov eax, dword ptr [esi + 0x2c]"], ["0x100a9eaa", "cmp dword ptr [esi + 0x28], eax"]]}, {"both": [["0x100ccddd", "je 0x1f", "0x100a9ead"], ["0x100ccddf", "mov di, 0x107", "0x100a9eaf"], ["0x100ccde3", "push 1", "0x100a9eb3"], ["0x100ccde5", "push 0", "0x100a9eb5"], ["0x100ccde7", "mov eax, dword ptr [esi + 0x44]", "0x100a9eb7"], ["0x100ccdea", "push eax", "0x100a9eba"], ["0x100ccdeb", "call dword ptr [->KERNEL32.DLL:_llseek (FUNCTION)]", "0x100a9ebb"], ["0x100ccdf1", "pop ebp", "0x100a9ec1"], ["0x100ccdf2", "mov dword ptr [esi + 0x2c], eax", "0x100a9ec2"], ["0x100ccdf5", "mov ax, di", "0x100a9ec5"]]}]]]}, {"address": "0x100cce60", "recomp": "0x100a9f30", "name": "MXIOINFO::Descend", "matching": 0.9857142857142858, "diff": [["@@ -0x100ccedd,22 +0x100a9fad,22 @@", [{"both": [["0x100ccedd", "mov ecx, esi", "0x100a9fad"], ["0x100ccedf", "call MXIOINFO::Read (FUNCTION)", "0x100a9faf"], ["0x100ccee4", "cmp eax, 4", "0x100a9fb4"], ["0x100ccee7", "je 0x115", "0x100a9fb7"], ["0x100cceed", "mov bx, 0x105", "0x100a9fbd"], ["0x100ccef1", "jmp 0x10c", "0x100a9fc1"], ["0x100ccef6", "mov dword ptr [esp + 0x14], 0x7fffffff", "0x100a9fc6"], ["0x100ccefe", "mov eax, dword ptr [esp + 0x34]", "0x100a9fce"], ["0x100ccf02", "test eax, eax", "0x100a9fd2"], ["0x100ccf04", "je 0xa", "0x100a9fd4"]]}, {"orig": [["0x100ccf06", "mov ecx, dword ptr [eax + 4]"], ["0x100ccf09", "add ecx, dword ptr [eax + 0xc]"]], "recomp": [["0x100a9fd6", "mov ecx, dword ptr [eax + 0xc]"], ["0x100a9fd9", "add ecx, dword ptr [eax + 4]"]]}, {"both": [["0x100ccf0c", "mov dword ptr [esp + 0x14], ecx", "0x100a9fdc"], ["0x100ccf10", "mov ebp, 1", "0x100a9fe0"], ["0x100ccf15", "xor eax, eax", "0x100a9fe5"], ["0x100ccf17", "mov dword ptr [esp + 0x10], eax", "0x100a9fe7"], ["0x100ccf1b", "mov dword ptr [esp + 0x28], eax", "0x100a9feb"], ["0x100ccf1f", "lea eax, [esp + 0x18]", "0x100a9fef"], ["0x100ccf23", "push 8", "0x100a9ff3"], ["0x100ccf25", "push eax", "0x100a9ff5"], ["0x100ccf26", "mov ecx, esi", "0x100a9ff6"], ["0x100ccf28", "call MXIOINFO::Read (FUNCTION)", "0x100a9ff8"]]}]]]}, {"address": "0x100cd010", "recomp": "0x100ba260", "name": "MxDSStreamingAction::MxDSStreamingAction", "matching": 1.0, "diff": []}, {"address": "0x100cd090", "recomp": "0x100ba300", "name": "MxDSStreamingAction::HasId", "matching": 1.0, "diff": []}, {"address": "0x100cd0b0", "recomp": "0x100ba2e0", "name": "MxDSStreamingAction::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100cd0d0", "recomp": "0x100ba320", "name": "MxDSStreamingAction::MxDSStreamingAction", "matching": 1.0, "diff": []}, {"address": "0x100cd150", "recomp": "0x100ba3a0", "name": "MxDSStreamingAction::~MxDSStreamingAction", "matching": 1.0, "diff": []}, {"address": "0x100cd1e0", "recomp": "0x100ba430", "name": "MxDSStreamingAction::Init", "matching": 1.0, "diff": []}, {"address": "0x100cd220", "recomp": "0x100ba470", "name": "MxDSStreamingAction::CopyFrom", "matching": 1.0, "diff": []}, {"address": "0x100cd2a0", "recomp": "0x100ba4f0", "name": "MxDSStreamingAction::SetInternalAction", "matching": 1.0, "diff": []}, {"address": "0x100cd2d0", "recomp": "0x100ba520", "name": "MxDSStreamingAction::FUN_100cd2d0", "matching": 1.0, "diff": []}, {"address": "0x100cd782", "recomp": "0x100d04a0", "name": "_SmackGetSizeTables", "matching": 0.9397590361445783, "diff": [["@@ -0x100cd782,12 +0x100d04a0,17 @@", [{"both": [["0x100cd782", "mov eax, 0x7468", "0x100d04a0"], ["0x100cd787", "ret ", "0x100d04a5"]]}, {"orig": [], "recomp": [["0x100d04a6", "xchg ebx, ebx"], ["0x100d04a8", "xchg ecx, ecx"], ["0x100d04aa", "xchg ebx, ebx"], ["0x100d04ac", "xchg ecx, ecx"], ["0x100d04ae", "xchg ebx, ebx"]]}, {"both": [["0x100cd788", "add esi, 0x7468", "0x100d04b0"], ["0x100cd78e", "shr eax, 2", "0x100d04b6"], ["0x100cd791", "test byte ptr [esi], 1", "0x100d04b9"], ["0x100cd794", "jne 0x8", "0x100d04bc"], ["0x100cd796", "add esi, 4", "0x100d04be"], ["0x100cd799", "dec eax", "0x100d04c1"], ["0x100cd79a", "jne -0xb", "0x100d04c2"], ["0x100cd79c", "jmp 0x19", "0x100d04c4"], ["0x100cd79e", "movzx edx, word ptr [esi + 2]", "0x100d04c6"], ["0x100cd7a2", "mov ch, 1", "0x100d04ca"]]}]]]}, {"address": "0x100cd7e8", "recomp": "0x100d0510", "name": "_SmackDoTables", "matching": 0.9720101781170484, "diff": [["@@ -0x100cd9ca,20 +0x100d06f2,28 @@", [{"both": [["0x100cd9ca", "add esi, ecx", "0x100d06f2"], ["0x100cd9cc", "call <OFFSET14>", "0x100d06f4"], ["0x100cd9d1", "pop esi", "0x100d06f9"], ["0x100cd9d2", "pop edi", "0x100d06fa"], ["0x100cd9d3", "pop edx", "0x100d06fb"], ["0x100cd9d4", "pop ecx", "0x100d06fc"], ["0x100cd9d5", "pop ebx", "0x100d06fd"], ["0x100cd9d6", "pop es", "0x100d06fe"], ["0x100cd9d7", "pop ebp", "0x100d06ff"], ["0x100cd9d8", "ret ", "0x100d0700"]]}, {"orig": [], "recomp": [["0x100d0701", "xchg ebx, ebx"], ["0x100d0703", "xchg ecx, ecx"], ["0x100d0705", "xchg ebx, ebx"], ["0x100d0707", "xchg ecx, ecx"], ["0x100d0709", "xchg ebx, ebx"], ["0x100d070b", "xchg ecx, ecx"], ["0x100d070d", "xchg ebx, ebx"], ["0x100d070f", "nop "]]}, {"both": [["0x100cd9d9", "push esi", "0x100d0710"], ["0x100cd9da", "push ecx", "0x100d0711"], ["0x100cd9db", "push edx", "0x100d0712"], ["0x100cd9dc", "push ebx", "0x100d0713"], ["0x100cd9dd", "mov edx, edi", "0x100d0714"], ["0x100cd9df", "mov esi, dword ptr [edx + 2]", "0x100d0716"], ["0x100cd9e2", "mov edi, dword ptr [edx + 6]", "0x100d0719"], ["0x100cd9e5", "mov ebp, dword ptr [<OFFSET15>]", "0x100d071c"], ["0x100cd9eb", "movzx ebx, word ptr [edx + 0xa]", "0x100d0722"], ["0x100cd9ef", "cmp ebx, 0", "0x100d0726"]]}]], ["@@ -0x100cda6b,10 +0x100d07a2,13 @@", [{"both": [["0x100cda6b", "movzx eax, word ptr [edi]", "0x100d07a2"], ["0x100cda6e", "add edi, 2", "0x100d07a5"], ["0x100cda71", "mov dword ptr [<OFFSET22>], eax", "0x100d07a8"], ["0x100cda76", "mov dword ptr [<OFFSET23>], edi", "0x100d07ad"], ["0x100cda7c", "mov edi, edx", "0x100d07b3"], ["0x100cda7e", "pop ebx", "0x100d07b5"], ["0x100cda7f", "pop edx", "0x100d07b6"], ["0x100cda80", "pop ecx", "0x100d07b7"], ["0x100cda81", "pop esi", "0x100d07b8"], ["0x100cda82", "ret ", "0x100d07b9"]]}, {"orig": [], "recomp": [["0x100d07ba", "xchg ebx, ebx"], ["0x100d07bc", "xchg ecx, ecx"], ["0x100d07be", "xchg ebx, ebx"]]}]]]}, {"address": "0x100cda83", "recomp": "0x100d07c0", "name": "_SmackDoFrameToBuffer", "matching": 0.8255813953488372, "diff": [["@@ -0x100cdb33,53 +0x100d0870,65 @@", [{"both": [["0x100cdb33", "mov eax, dword ptr [edi + 4]", "0x100d0870"], ["0x100cdb36", "mov dword ptr [edi + 0x20], 0", "0x100d0873"], ["0x100cdb3d", "mov dword ptr [edi + 0x2c], 0", "0x100d087a"], ["0x100cdb44", "mov dword ptr [edi + 0x30], 0", "0x100d0881"], ["0x100cdb4b", "add edi, 0x38", "0x100d0888"], ["0x100cdb4e", "mov dword ptr [<OFFSET15>], edi", "0x100d088b"], ["0x100cdb54", "xor edi, edi", "0x100d0891"], ["0x100cdb56", "mov dword ptr [<OFFSET16>], edi", "0x100d0893"], ["0x100cdb5c", "mov dword ptr [<OFFSET17>], edi", "0x100d0899"], ["0x100cdb62", "mov edi, eax", "0x100d089f"]]}, {"orig": [["0x100cdb64", "jmp 0x1a"]], "recomp": [["0x100d08a1", "jmp 0x1d"]]}, {"both": [["0x100cdb66", "xchg ebx, ebx", "0x100d08a3"], ["0x100cdb68", "xchg ecx, ecx", "0x100d08a5"], ["0x100cdb6a", "xchg ebx, ebx", "0x100d08a7"], ["0x100cdb6c", "xchg ecx, ecx", "0x100d08a9"], ["0x100cdb6e", "xchg ebx, ebx", "0x100d08ab"]]}, {"orig": [["0x100cdb70", "push eax"], ["0x100cdb71", "fmul qword ptr [eax + edx]"], ["0x100cdb74", "shl dl, 1"], ["0x100cdb76", "or al, 0x10"], ["0x100cdb78", "mov al, 0xe8"], ["0x100cdb7a", "or al, 0x10"], ["0x100cdb7c", "push eax"], ["0x100cdb7d", "jmp 0x10a0100c"], ["0x100cdb82", "daa "], ["0x100cdb83", "adc byte ptr [eax], dl"], ["0x100cdb85", "cmp al, 0x11"], ["0x100cdb87", "ja 0x17"]], "recomp": [["0x100d08ad", "xchg ecx, ecx"], ["0x100d08af", "nop "], ["0x100d08b0", "ror byte ptr [ecx], 0xd"], ["0x100d08b3", "adc byte ptr [eax - 0x1feff2f0], dl"], ["0x100d08b9", "pop ss"], ["0x100d08ba", "or eax, 0xd188010"], ["0x100d08bf", "adc byte ptr [eax + <OFFSET8>], ah"], ["0x100d08c5", "cmp al, 8"], ["0x100d08c7", "ja 0x47"]]}, {"both": [["0x100cdb89", "mov cl, al", "0x100d08c9"]]}, {"orig": [["0x100cdb8b", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d08cb", "mov edx, dword ptr [esi]"], ["0x100d08cd", "dec cl"]]}, {"both": [["0x100cdb8e", "add esi, 2", "0x100d08cf"]]}, {"orig": [["0x100cdb91", "dec cl"]], "recomp": []}, {"both": [["0x100cdb93", "shl edx, cl", "0x100d08d2"]]}, {"orig": [], "recomp": [["0x100d08d4", "mov ecx, dword ptr [<OFFSET7>]"], ["0x100d08da", "or edx, ebx"], ["0x100d08dc", "mov ebx, edx"], ["0x100d08de", "and edx, 0xff"]]}, {"both": [["0x100cdb95", "add al, 0x10", "0x100d08e4"]]}, {"orig": [["0x100cdb97", "or ebx, edx"], ["0x100cdb99", "jmp 0x5"]], "recomp": [["0x100d08e6", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d08e9", "shr ebx, cl"], ["0x100d08eb", "sub al, cl"], ["0x100d08ed", "shr ecx, 8"], ["0x100d08f0", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d08f6", "mov edx, dword ptr [ecx]"], ["0x100d08f8", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d08ff", "jne 0x63"], ["0x100d0901", "jmp 0x37"], ["0x100d0903", "xchg ebx, ebx"], ["0x100d0905", "xchg ecx, ecx"], ["0x100d0907", "xchg ebx, ebx"], ["0x100d0909", "xchg ecx, ecx"]]}, {"both": [["0x100cdb9b", "xchg ebx, ebx", "0x100d090b"], ["0x100cdb9d", "xchg ecx, ecx", "0x100d090d"], ["0x100cdb9f", "nop ", "0x100d090f"]]}, {"orig": [["0x100cdba0", "mov cx, bx"], ["0x100cdba3", "mov edx, dword ptr [<OFFSET7>]"], ["0x100cdba9", "and ecx, 0xff"], ["0x100cdbaf", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d0910", "mov dx, bx"], ["0x100d0913", "mov ecx, dword ptr [<OFFSET7>]"], ["0x100d0919", "and edx, 0xff"], ["0x100d091f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cdbb2", "shr ebx, cl", "0x100d0922"], ["0x100cdbb4", "sub al, cl", "0x100d0924"], ["0x100cdbb6", "shr ecx, 8", "0x100d0926"], ["0x100cdbb9", "add ecx, dword ptr [<OFFSET1>]", "0x100d0929"], ["0x100cdbbf", "mov edx, dword ptr [ecx]", "0x100d092f"], ["0x100cdbc1", "cmp dx, word ptr [<OFFSET2>]", "0x100d0931"], ["0x100cdbc8", "jne 0x2a", "0x100d0938"], ["0x100cdbca", "shr edx, 0xd", "0x100d093a"], ["0x100cdbcd", "dec al", "0x100d093d"], ["0x100cdbcf", "jne 0x7", "0x100d093f"]]}]], ["@@ -0x100cdbd3,44 +0x100d0943,44 @@", [{"both": [["0x100cdbd3", "add esi, 4", "0x100d0943"], ["0x100cdbd6", "mov al, 0x20", "0x100d0946"], ["0x100cdbd8", "and edx, 0xffff8", "0x100d0948"], ["0x100cdbde", "shr ebx, 1", "0x100d094e"], ["0x100cdbe0", "jb 0x5", "0x100d0950"], ["0x100cdbe2", "mov edx, 4", "0x100d0952"], ["0x100cdbe7", "add ecx, edx", "0x100d0957"], ["0x100cdbe9", "mov edx, dword ptr [ecx]", "0x100d0959"], ["0x100cdbeb", "cmp dx, word ptr [<OFFSET2>]", "0x100d095b"], ["0x100cdbf2", "je -0x2a", "0x100d0962"]]}, {"orig": [], "recomp": [["0x100d0964", "mov ecx, dword ptr [<OFFSET18>]"], ["0x100d096a", "ror edx, 0x10"]]}, {"both": [["0x100cdbf4", "mov byte ptr [<OFFSET8>], al", "0x100d096d"]]}, {"orig": [["0x100cdbf9", "shld ecx, edx, 0x10"], ["0x100cdbfd", "mov ax, cx"], ["0x100cdc00", "mov ecx, dword ptr [<OFFSET18>]"]], "recomp": [["0x100d0972", "mov ax, dx"], ["0x100d0975", "ror edx, 0x10"]]}, {"both": [["0x100cdc06", "cmp dword ptr [ecx], edx", "0x100d0978"], ["0x100cdc08", "je 0x20", "0x100d097a"], ["0x100cdc0a", "mov dword ptr [<OFFSET19>], eax", "0x100d097c"], ["0x100cdc0f", "mov eax, dword ptr [ecx]", "0x100d0981"], ["0x100cdc11", "mov dword ptr [ecx], edx", "0x100d0983"], ["0x100cdc13", "mov ecx, dword ptr [<OFFSET20>]", "0x100d0985"], ["0x100cdc19", "mov edx, dword ptr [ecx]", "0x100d098b"], ["0x100cdc1b", "mov dword ptr [ecx], eax", "0x100d098d"], ["0x100cdc1d", "mov ecx, dword ptr [<OFFSET21>]", "0x100d098f"]]}, {"orig": [], "recomp": [["0x100d0995", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100cdc23", "mov dword ptr [ecx], edx", "0x100d099a"]]}, {"orig": [["0x100cdc25", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100cdc2a", "mov edx, eax", "0x100d099c"], ["0x100cdc2c", "and edx, 0xfc", "0x100d099e"], ["0x100cdc32", "mov ecx, eax", "0x100d09a4"], ["0x100cdc34", "mov edx, dword ptr [edx + <OFFSET22>]", "0x100d09a6"], ["0x100cdc3a", "and ecx, 3", "0x100d09ac"], ["0x100cdc3d", "mov dword ptr [<OFFSET23>], edx", "0x100d09af"], ["0x100cdc43", "jmp dword ptr cs:[ecx*4 + <OFFSET24>]", "0x100d09b5"], ["0x100cdc4b", "xchg ebx, ebx", "0x100d09bd"]]}, {"orig": [["0x100cdc4d", "xchg ecx, ecx"]], "recomp": []}, {"both": [["0x100cdc4f", "nop ", "0x100d09bf"], ["0x100cdc50", "add dword ptr [<OFFSET16>], edx", "0x100d09c0"], ["0x100cdc56", "mov ecx, dword ptr [<OFFSET16>]", "0x100d09c6"], ["0x100cdc5c", "cmp dword ptr [<OFFSET17>], ecx", "0x100d09cc"], ["0x100cdc62", "ja 0x35", "0x100d09d2"], ["0x100cdc64", "mov eax, dword ptr [<OFFSET17>]", "0x100d09d4"], ["0x100cdc69", "add ecx, 0xf", "0x100d09d9"], ["0x100cdc6c", "shr ecx, 4", "0x100d09dc"], ["0x100cdc6f", "shr eax, 4", "0x100d09df"], ["0x100cdc72", "cmp eax, ecx", "0x100d09e2"]]}]], ["@@ -0x100cdc76,40 +0x100d09e6,47 @@", [{"both": [["0x100cdc76", "add eax, dword ptr [<OFFSET15>]", "0x100d09e6"], ["0x100cdc7c", "add ecx, dword ptr [<OFFSET15>]", "0x100d09ec"], ["0x100cdc82", "mov byte ptr [eax], 1", "0x100d09f2"], ["0x100cdc85", "inc eax", "0x100d09f5"], ["0x100cdc86", "cmp eax, ecx", "0x100d09f6"], ["0x100cdc88", "jne -0x8", "0x100d09f8"], ["0x100cdc8a", "sub ecx, dword ptr [<OFFSET15>]", "0x100d09fa"], ["0x100cdc90", "shl ecx, 4", "0x100d0a00"], ["0x100cdc93", "mov dword ptr [<OFFSET17>], ecx", "0x100d0a03"], ["0x100cdc99", "mov al, byte ptr [<OFFSET8>]", "0x100d0a09"]]}, {"orig": [["0x100cdc9e", "cmp al, 0x11"], ["0x100cdca0", "ja 0x1e"]], "recomp": [["0x100d0a0e", "cmp al, 0xa"], ["0x100d0a10", "ja 0x3e"]]}, {"both": [["0x100cdca2", "mov cl, al", "0x100d0a12"]]}, {"orig": [["0x100cdca4", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d0a14", "mov edx, dword ptr [esi]"], ["0x100d0a16", "dec cl"]]}, {"both": [["0x100cdca7", "add esi, 2", "0x100d0a18"]]}, {"orig": [["0x100cdcaa", "dec cl"]], "recomp": []}, {"both": [["0x100cdcac", "shl edx, cl", "0x100d0a1b"]]}, {"orig": [], "recomp": [["0x100d0a1d", "mov ecx, dword ptr [<OFFSET5>]"], ["0x100d0a23", "or edx, ebx"], ["0x100d0a25", "mov ebx, edx"], ["0x100d0a27", "and edx, 0x3ff"]]}, {"both": [["0x100cdcae", "add al, 0x10", "0x100d0a2d"]]}, {"orig": [["0x100cdcb0", "or ebx, edx"], ["0x100cdcb2", "jmp 0xc"]], "recomp": [["0x100d0a2f", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d0a32", "shr ebx, cl"], ["0x100d0a34", "sub al, cl"], ["0x100d0a36", "shr ecx, 8"], ["0x100d0a39", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d0a3f", "mov edx, dword ptr [ecx]"], ["0x100d0a41", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d0a48", "jne 0x5a"], ["0x100d0a4a", "jmp 0x2e"]]}, {"both": [["0x100cdcb4", "xchg ebx, ebx", "0x100d0a4c"], ["0x100cdcb6", "xchg ecx, ecx", "0x100d0a4e"]]}, {"orig": [["0x100cdcb8", "xchg ebx, ebx"], ["0x100cdcba", "xchg ecx, ecx"], ["0x100cdcbc", "xchg ebx, ebx"], ["0x100cdcbe", "xchg ecx, ecx"], ["0x100cdcc0", "mov cx, bx"], ["0x100cdcc3", "mov edx, dword ptr [<OFFSET5>]"], ["0x100cdcc9", "and ecx, 0x3ff"], ["0x100cdccf", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d0a50", "mov dx, bx"], ["0x100d0a53", "mov ecx, dword ptr [<OFFSET5>]"], ["0x100d0a59", "and edx, 0x3ff"], ["0x100d0a5f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cdcd2", "shr ebx, cl", "0x100d0a62"], ["0x100cdcd4", "sub al, cl", "0x100d0a64"], ["0x100cdcd6", "shr ecx, 8", "0x100d0a66"], ["0x100cdcd9", "add ecx, dword ptr [<OFFSET1>]", "0x100d0a69"], ["0x100cdcdf", "mov edx, dword ptr [ecx]", "0x100d0a6f"], ["0x100cdce1", "cmp dx, word ptr [<OFFSET2>]", "0x100d0a71"], ["0x100cdce8", "jne 0x2a", "0x100d0a78"], ["0x100cdcea", "shr edx, 0xd", "0x100d0a7a"], ["0x100cdced", "dec al", "0x100d0a7d"], ["0x100cdcef", "jne 0x7", "0x100d0a7f"]]}]], ["@@ -0x100cdcf3,49 +0x100d0a83,64 @@", [{"both": [["0x100cdcf3", "add esi, 4", "0x100d0a83"], ["0x100cdcf6", "mov al, 0x20", "0x100d0a86"], ["0x100cdcf8", "and edx, 0xffff8", "0x100d0a88"], ["0x100cdcfe", "shr ebx, 1", "0x100d0a8e"], ["0x100cdd00", "jb 0x5", "0x100d0a90"], ["0x100cdd02", "mov edx, 4", "0x100d0a92"], ["0x100cdd07", "add ecx, edx", "0x100d0a97"], ["0x100cdd09", "mov edx, dword ptr [ecx]", "0x100d0a99"], ["0x100cdd0b", "cmp dx, word ptr [<OFFSET2>]", "0x100d0a9b"], ["0x100cdd12", "je -0x2a", "0x100d0aa2"]]}, {"orig": [], "recomp": [["0x100d0aa4", "mov ecx, dword ptr [<OFFSET25>]"]]}, {"both": [["0x100cdd14", "mov byte ptr [<OFFSET8>], al", "0x100d0aaa"], ["0x100cdd19", "mov eax, edx", "0x100d0aaf"]]}, {"orig": [["0x100cdd1b", "mov ecx, dword ptr [<OFFSET25>]"]], "recomp": []}, {"both": [["0x100cdd21", "cmp dword ptr [ecx], edx", "0x100d0ab1"], ["0x100cdd23", "je 0x20", "0x100d0ab3"], ["0x100cdd25", "mov dword ptr [<OFFSET19>], eax", "0x100d0ab5"], ["0x100cdd2a", "mov eax, dword ptr [ecx]", "0x100d0aba"], ["0x100cdd2c", "mov dword ptr [ecx], edx", "0x100d0abc"], ["0x100cdd2e", "mov ecx, dword ptr [<OFFSET26>]", "0x100d0abe"], ["0x100cdd34", "mov edx, dword ptr [ecx]", "0x100d0ac4"], ["0x100cdd36", "mov dword ptr [ecx], eax", "0x100d0ac6"], ["0x100cdd38", "mov ecx, dword ptr [<OFFSET27>]", "0x100d0ac8"]]}, {"orig": [], "recomp": [["0x100d0ace", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100cdd3e", "mov dword ptr [ecx], edx", "0x100d0ad3"]]}, {"orig": [["0x100cdd40", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100cdd45", "mov al, byte ptr [<OFFSET8>]", "0x100d0ad5"]]}, {"orig": [["0x100cdd4a", "cmp al, 0x11"], ["0x100cdd4c", "ja 0x12"]], "recomp": [["0x100d0ada", "cmp al, 0xb"], ["0x100d0adc", "ja 0x42"]]}, {"both": [["0x100cdd4e", "mov cl, al", "0x100d0ade"]]}, {"orig": [["0x100cdd50", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d0ae0", "mov edx, dword ptr [esi]"], ["0x100d0ae2", "dec cl"]]}, {"both": [["0x100cdd53", "add esi, 2", "0x100d0ae4"]]}, {"orig": [["0x100cdd56", "dec cl"]], "recomp": []}, {"both": [["0x100cdd58", "shl edx, cl", "0x100d0ae7"]]}, {"orig": [], "recomp": [["0x100d0ae9", "mov ecx, dword ptr [<OFFSET4>]"], ["0x100d0aef", "or edx, ebx"], ["0x100d0af1", "mov ebx, edx"], ["0x100d0af3", "and edx, 0x7ff"]]}, {"both": [["0x100cdd5a", "add al, 0x10", "0x100d0af9"]]}, {"orig": [["0x100cdd5c", "or ebx, edx"], ["0x100cdd5e", "jmp 0x0"], ["0x100cdd60", "mov cx, bx"], ["0x100cdd63", "mov edx, dword ptr [<OFFSET4>]"], ["0x100cdd69", "and ecx, 0x7ff"], ["0x100cdd6f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d0afb", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d0afe", "shr ebx, cl"], ["0x100d0b00", "sub al, cl"], ["0x100d0b02", "shr ecx, 8"], ["0x100d0b05", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d0b0b", "mov edx, dword ptr [ecx]"], ["0x100d0b0d", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d0b14", "jne 0x5e"], ["0x100d0b16", "jmp 0x32"], ["0x100d0b18", "xchg ebx, ebx"], ["0x100d0b1a", "xchg ecx, ecx"], ["0x100d0b1c", "xchg ebx, ebx"], ["0x100d0b1e", "xchg ecx, ecx"], ["0x100d0b20", "mov dx, bx"], ["0x100d0b23", "mov ecx, dword ptr [<OFFSET4>]"], ["0x100d0b29", "and edx, 0x7ff"], ["0x100d0b2f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cdd72", "shr ebx, cl", "0x100d0b32"], ["0x100cdd74", "sub al, cl", "0x100d0b34"], ["0x100cdd76", "shr ecx, 8", "0x100d0b36"], ["0x100cdd79", "add ecx, dword ptr [<OFFSET1>]", "0x100d0b39"], ["0x100cdd7f", "mov edx, dword ptr [ecx]", "0x100d0b3f"], ["0x100cdd81", "cmp dx, word ptr [<OFFSET2>]", "0x100d0b41"], ["0x100cdd88", "jne 0x2a", "0x100d0b48"], ["0x100cdd8a", "shr edx, 0xd", "0x100d0b4a"], ["0x100cdd8d", "dec al", "0x100d0b4d"], ["0x100cdd8f", "jne 0x7", "0x100d0b4f"]]}]], ["@@ -0x100cdd93,49 +0x100d0b53,49 @@", [{"both": [["0x100cdd93", "add esi, 4", "0x100d0b53"], ["0x100cdd96", "mov al, 0x20", "0x100d0b56"], ["0x100cdd98", "and edx, 0xffff8", "0x100d0b58"], ["0x100cdd9e", "shr ebx, 1", "0x100d0b5e"], ["0x100cdda0", "jb 0x5", "0x100d0b60"], ["0x100cdda2", "mov edx, 4", "0x100d0b62"], ["0x100cdda7", "add ecx, edx", "0x100d0b67"], ["0x100cdda9", "mov edx, dword ptr [ecx]", "0x100d0b69"], ["0x100cddab", "cmp dx, word ptr [<OFFSET2>]", "0x100d0b6b"], ["0x100cddb2", "je -0x2a", "0x100d0b72"]]}, {"orig": [], "recomp": [["0x100d0b74", "mov ecx, dword ptr [<OFFSET28>]"], ["0x100d0b7a", "ror edx, 0x10"]]}, {"both": [["0x100cddb4", "mov byte ptr [<OFFSET8>], al", "0x100d0b7d"]]}, {"orig": [["0x100cddb9", "shld ecx, edx, 0x10"], ["0x100cddbd", "mov ax, cx"], ["0x100cddc0", "mov ecx, dword ptr [<OFFSET28>]"]], "recomp": [["0x100d0b82", "mov ax, dx"], ["0x100d0b85", "ror edx, 0x10"]]}, {"both": [["0x100cddc6", "cmp dword ptr [ecx], edx", "0x100d0b88"], ["0x100cddc8", "je 0x20", "0x100d0b8a"], ["0x100cddca", "mov dword ptr [<OFFSET19>], eax", "0x100d0b8c"], ["0x100cddcf", "mov eax, dword ptr [ecx]", "0x100d0b91"], ["0x100cddd1", "mov dword ptr [ecx], edx", "0x100d0b93"], ["0x100cddd3", "mov ecx, dword ptr [<OFFSET29>]", "0x100d0b95"], ["0x100cddd9", "mov edx, dword ptr [ecx]", "0x100d0b9b"], ["0x100cdddb", "mov dword ptr [ecx], eax", "0x100d0b9d"], ["0x100cdddd", "mov ecx, dword ptr [<OFFSET30>]", "0x100d0b9f"]]}, {"orig": [], "recomp": [["0x100d0ba5", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100cdde3", "mov dword ptr [ecx], edx", "0x100d0baa"]]}, {"orig": [["0x100cdde5", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100cddea", "mov edx, eax", "0x100d0bac"], ["0x100cddec", "mov ecx, eax", "0x100d0bae"], ["0x100cddee", "ror eax, 0x10", "0x100d0bb0"], ["0x100cddf1", "mov dx, ax", "0x100d0bb3"], ["0x100cddf4", "shrd eax, ecx, 0x1c", "0x100d0bb6"], ["0x100cddf8", "and eax, 0xf0", "0x100d0bba"], ["0x100cddfd", "add eax, <OFFSET31>", "0x100d0bbf"], ["0x100cde02", "jmp eax", "0x100d0bc4"], ["0x100cde04", "xchg ebx, ebx", "0x100d0bc6"], ["0x100cde06", "xchg ecx, ecx", "0x100d0bc8"], ["0x100cde08", "xchg ebx, ebx", "0x100d0bca"], ["0x100cde0a", "xchg ecx, ecx", "0x100d0bcc"], ["0x100cde0c", "xchg ebx, ebx", "0x100d0bce"]]}, {"orig": [["0x100cde0e", "xchg ecx, ecx"]], "recomp": []}, {"both": [["0x100cde10", "mov al, dl", "0x100d0bd0"], ["0x100cde12", "mov ah, dl", "0x100d0bd2"], ["0x100cde14", "shl eax, 0x10", "0x100d0bd4"], ["0x100cde17", "mov al, dl", "0x100d0bd7"], ["0x100cde19", "mov ah, dl", "0x100d0bd9"], ["0x100cde1b", "jmp 0xf0", "0x100d0bdb"], ["0x100cde20", "mov eax, edx", "0x100d0be0"], ["0x100cde22", "mov ah, dl", "0x100d0be2"], ["0x100cde24", "rol eax, 8", "0x100d0be4"], ["0x100cde27", "jmp 0xe4", "0x100d0be7"]]}]], ["@@ -0x100ce267,37 +0x100d1027,37 @@", [{"both": [["0x100ce267", "mov al, dh", "0x100d1027"], ["0x100ce269", "mov ah, dh", "0x100d1029"], ["0x100ce26b", "jmp 0x3", "0x100d102b"], ["0x100ce26d", "xchg ebx, ebx", "0x100d102d"], ["0x100ce26f", "nop ", "0x100d102f"], ["0x100ce270", "mov dword ptr [edi + ebp*2], eax", "0x100d1030"], ["0x100ce273", "sub edi, dword ptr [<OFFSET12>]", "0x100d1033"], ["0x100ce279", "dec dword ptr [<OFFSET10>]", "0x100d1039"], ["0x100ce27f", "je 0x1f", "0x100d103f"], ["0x100ce281", "dec dword ptr [<OFFSET23>]", "0x100d1041"]]}, {"orig": [["0x100ce287", "jne -0x5f4"], ["0x100ce28d", "jmp -0x712"]], "recomp": [["0x100d1047", "jne -0x644"], ["0x100d104d", "jmp -0x792"]]}, {"both": [["0x100ce292", "xchg ebx, ebx", "0x100d1052"], ["0x100ce294", "xchg ecx, ecx", "0x100d1054"], ["0x100ce296", "xchg ebx, ebx", "0x100d1056"], ["0x100ce298", "xchg ecx, ecx", "0x100d1058"], ["0x100ce29a", "xchg ebx, ebx", "0x100d105a"], ["0x100ce29c", "xchg ecx, ecx", "0x100d105c"], ["0x100ce29e", "xchg ebx, ebx", "0x100d105e"], ["0x100ce2a0", "dec dword ptr [<OFFSET11>]", "0x100d1060"]]}, {"orig": [["0x100ce2a6", "je 0x794"]], "recomp": [["0x100d1066", "je 0x904"]]}, {"both": [["0x100ce2ac", "add edi, dword ptr [<OFFSET14>]", "0x100d106c"], ["0x100ce2b2", "mov eax, dword ptr [<OFFSET9>]", "0x100d1072"], ["0x100ce2b7", "mov dword ptr [<OFFSET10>], eax", "0x100d1077"], ["0x100ce2bc", "dec dword ptr [<OFFSET23>]", "0x100d107c"]]}, {"orig": [["0x100ce2c2", "jne -0x62f"], ["0x100ce2c8", "jmp -0x74d"]], "recomp": [["0x100d1082", "jne -0x67f"], ["0x100d1088", "jmp -0x7cd"]]}, {"both": [["0x100ce2cd", "xchg ebx, ebx", "0x100d108d"], ["0x100ce2cf", "nop ", "0x100d108f"], ["0x100ce2d0", "add dword ptr [<OFFSET16>], edx", "0x100d1090"], ["0x100ce2d6", "mov ecx, dword ptr [<OFFSET16>]", "0x100d1096"], ["0x100ce2dc", "cmp dword ptr [<OFFSET17>], ecx", "0x100d109c"], ["0x100ce2e2", "ja 0x35", "0x100d10a2"], ["0x100ce2e4", "mov eax, dword ptr [<OFFSET17>]", "0x100d10a4"], ["0x100ce2e9", "add ecx, 0xf", "0x100d10a9"], ["0x100ce2ec", "shr ecx, 4", "0x100d10ac"], ["0x100ce2ef", "shr eax, 4", "0x100d10af"]]}]], ["@@ -0x100ce2f6,40 +0x100d10b6,47 @@", [{"both": [["0x100ce2f6", "add eax, dword ptr [<OFFSET15>]", "0x100d10b6"], ["0x100ce2fc", "add ecx, dword ptr [<OFFSET15>]", "0x100d10bc"], ["0x100ce302", "mov byte ptr [eax], 1", "0x100d10c2"], ["0x100ce305", "inc eax", "0x100d10c5"], ["0x100ce306", "cmp eax, ecx", "0x100d10c6"], ["0x100ce308", "jne -0x8", "0x100d10c8"], ["0x100ce30a", "sub ecx, dword ptr [<OFFSET15>]", "0x100d10ca"], ["0x100ce310", "shl ecx, 4", "0x100d10d0"], ["0x100ce313", "mov dword ptr [<OFFSET17>], ecx", "0x100d10d3"], ["0x100ce319", "mov al, byte ptr [<OFFSET8>]", "0x100d10d9"]]}, {"orig": [["0x100ce31e", "cmp al, 0x11"], ["0x100ce320", "ja 0x1e"]], "recomp": [["0x100d10de", "cmp al, 0xc"], ["0x100d10e0", "ja 0x3e"]]}, {"both": [["0x100ce322", "mov cl, al", "0x100d10e2"]]}, {"orig": [["0x100ce324", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d10e4", "mov edx, dword ptr [esi]"], ["0x100d10e6", "dec cl"]]}, {"both": [["0x100ce327", "add esi, 2", "0x100d10e8"]]}, {"orig": [["0x100ce32a", "dec cl"]], "recomp": []}, {"both": [["0x100ce32c", "shl edx, cl", "0x100d10eb"]]}, {"orig": [], "recomp": [["0x100d10ed", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d10f3", "or edx, ebx"], ["0x100d10f5", "mov ebx, edx"], ["0x100d10f7", "and edx, 0xfff"]]}, {"both": [["0x100ce32e", "add al, 0x10", "0x100d10fd"]]}, {"orig": [["0x100ce330", "or ebx, edx"], ["0x100ce332", "jmp 0xc"]], "recomp": [["0x100d10ff", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d1102", "shr ebx, cl"], ["0x100d1104", "sub al, cl"], ["0x100d1106", "shr ecx, 8"], ["0x100d1109", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d110f", "mov edx, dword ptr [ecx]"], ["0x100d1111", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d1118", "jne 0x5a"], ["0x100d111a", "jmp 0x2e"]]}, {"both": [["0x100ce334", "xchg ebx, ebx", "0x100d111c"], ["0x100ce336", "xchg ecx, ecx", "0x100d111e"]]}, {"orig": [["0x100ce338", "xchg ebx, ebx"], ["0x100ce33a", "xchg ecx, ecx"], ["0x100ce33c", "xchg ebx, ebx"], ["0x100ce33e", "xchg ecx, ecx"], ["0x100ce340", "mov cx, bx"], ["0x100ce343", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce349", "and ecx, 0xfff"], ["0x100ce34f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d1120", "mov dx, bx"], ["0x100d1123", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d1129", "and edx, 0xfff"], ["0x100d112f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce352", "shr ebx, cl", "0x100d1132"], ["0x100ce354", "sub al, cl", "0x100d1134"], ["0x100ce356", "shr ecx, 8", "0x100d1136"], ["0x100ce359", "add ecx, dword ptr [<OFFSET1>]", "0x100d1139"], ["0x100ce35f", "mov edx, dword ptr [ecx]", "0x100d113f"], ["0x100ce361", "cmp dx, word ptr [<OFFSET2>]", "0x100d1141"], ["0x100ce368", "jne 0x2a", "0x100d1148"], ["0x100ce36a", "shr edx, 0xd", "0x100d114a"], ["0x100ce36d", "dec al", "0x100d114d"], ["0x100ce36f", "jne 0x7", "0x100d114f"]]}]], ["@@ -0x100ce373,49 +0x100d1153,64 @@", [{"both": [["0x100ce373", "add esi, 4", "0x100d1153"], ["0x100ce376", "mov al, 0x20", "0x100d1156"], ["0x100ce378", "and edx, 0xffff8", "0x100d1158"], ["0x100ce37e", "shr ebx, 1", "0x100d115e"], ["0x100ce380", "jb 0x5", "0x100d1160"], ["0x100ce382", "mov edx, 4", "0x100d1162"], ["0x100ce387", "add ecx, edx", "0x100d1167"], ["0x100ce389", "mov edx, dword ptr [ecx]", "0x100d1169"], ["0x100ce38b", "cmp dx, word ptr [<OFFSET2>]", "0x100d116b"], ["0x100ce392", "je -0x2a", "0x100d1172"]]}, {"orig": [], "recomp": [["0x100d1174", "mov ecx, dword ptr [<OFFSET35>]"]]}, {"both": [["0x100ce394", "mov byte ptr [<OFFSET8>], al", "0x100d117a"], ["0x100ce399", "mov eax, edx", "0x100d117f"]]}, {"orig": [["0x100ce39b", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": []}, {"both": [["0x100ce3a1", "cmp dword ptr [ecx], edx", "0x100d1181"], ["0x100ce3a3", "je 0x20", "0x100d1183"], ["0x100ce3a5", "mov dword ptr [<OFFSET19>], eax", "0x100d1185"], ["0x100ce3aa", "mov eax, dword ptr [ecx]", "0x100d118a"], ["0x100ce3ac", "mov dword ptr [ecx], edx", "0x100d118c"], ["0x100ce3ae", "mov ecx, dword ptr [<OFFSET36>]", "0x100d118e"], ["0x100ce3b4", "mov edx, dword ptr [ecx]", "0x100d1194"], ["0x100ce3b6", "mov dword ptr [ecx], eax", "0x100d1196"], ["0x100ce3b8", "mov ecx, dword ptr [<OFFSET37>]", "0x100d1198"]]}, {"orig": [], "recomp": [["0x100d119e", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce3be", "mov dword ptr [ecx], edx", "0x100d11a3"]]}, {"orig": [["0x100ce3c0", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce3c5", "mov al, byte ptr [<OFFSET8>]", "0x100d11a5"]]}, {"orig": [["0x100ce3ca", "cmp al, 0x11"], ["0x100ce3cc", "ja 0x12"]], "recomp": [["0x100d11aa", "cmp al, 0xc"], ["0x100d11ac", "ja 0x42"]]}, {"both": [["0x100ce3ce", "mov cl, al", "0x100d11ae"]]}, {"orig": [["0x100ce3d0", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d11b0", "mov edx, dword ptr [esi]"], ["0x100d11b2", "dec cl"]]}, {"both": [["0x100ce3d3", "add esi, 2", "0x100d11b4"]]}, {"orig": [["0x100ce3d6", "dec cl"]], "recomp": []}, {"both": [["0x100ce3d8", "shl edx, cl", "0x100d11b7"]]}, {"orig": [], "recomp": [["0x100d11b9", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d11bf", "or edx, ebx"], ["0x100d11c1", "mov ebx, edx"], ["0x100d11c3", "and edx, 0xfff"]]}, {"both": [["0x100ce3da", "add al, 0x10", "0x100d11c9"]]}, {"orig": [["0x100ce3dc", "or ebx, edx"], ["0x100ce3de", "jmp 0x0"], ["0x100ce3e0", "mov cx, bx"], ["0x100ce3e3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce3e9", "and ecx, 0xfff"], ["0x100ce3ef", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d11cb", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d11ce", "shr ebx, cl"], ["0x100d11d0", "sub al, cl"], ["0x100d11d2", "shr ecx, 8"], ["0x100d11d5", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d11db", "mov edx, dword ptr [ecx]"], ["0x100d11dd", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d11e4", "jne 0x5e"], ["0x100d11e6", "jmp 0x32"], ["0x100d11e8", "xchg ebx, ebx"], ["0x100d11ea", "xchg ecx, ecx"], ["0x100d11ec", "xchg ebx, ebx"], ["0x100d11ee", "xchg ecx, ecx"], ["0x100d11f0", "mov dx, bx"], ["0x100d11f3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d11f9", "and edx, 0xfff"], ["0x100d11ff", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce3f2", "shr ebx, cl", "0x100d1202"], ["0x100ce3f4", "sub al, cl", "0x100d1204"], ["0x100ce3f6", "shr ecx, 8", "0x100d1206"], ["0x100ce3f9", "add ecx, dword ptr [<OFFSET1>]", "0x100d1209"], ["0x100ce3ff", "mov edx, dword ptr [ecx]", "0x100d120f"], ["0x100ce401", "cmp dx, word ptr [<OFFSET2>]", "0x100d1211"], ["0x100ce408", "jne 0x2a", "0x100d1218"], ["0x100ce40a", "shr edx, 0xd", "0x100d121a"], ["0x100ce40d", "dec al", "0x100d121d"], ["0x100ce40f", "jne 0x7", "0x100d121f"]]}]], ["@@ -0x100ce413,56 +0x100d1223,71 @@", [{"both": [["0x100ce413", "add esi, 4", "0x100d1223"], ["0x100ce416", "mov al, 0x20", "0x100d1226"], ["0x100ce418", "and edx, 0xffff8", "0x100d1228"], ["0x100ce41e", "shr ebx, 1", "0x100d122e"], ["0x100ce420", "jb 0x5", "0x100d1230"], ["0x100ce422", "mov edx, 4", "0x100d1232"], ["0x100ce427", "add ecx, edx", "0x100d1237"], ["0x100ce429", "mov edx, dword ptr [ecx]", "0x100d1239"], ["0x100ce42b", "cmp dx, word ptr [<OFFSET2>]", "0x100d123b"], ["0x100ce432", "je -0x2a", "0x100d1242"]]}, {"orig": [], "recomp": [["0x100d1244", "mov ecx, dword ptr [<OFFSET35>]"], ["0x100d124a", "ror edx, 0x10"]]}, {"both": [["0x100ce434", "mov byte ptr [<OFFSET8>], al", "0x100d124d"]]}, {"orig": [["0x100ce439", "shld ecx, edx, 0x10"], ["0x100ce43d", "mov ax, cx"], ["0x100ce440", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": [["0x100d1252", "mov ax, dx"], ["0x100d1255", "ror edx, 0x10"]]}, {"both": [["0x100ce446", "cmp dword ptr [ecx], edx", "0x100d1258"], ["0x100ce448", "je 0x20", "0x100d125a"], ["0x100ce44a", "mov dword ptr [<OFFSET19>], eax", "0x100d125c"], ["0x100ce44f", "mov eax, dword ptr [ecx]", "0x100d1261"], ["0x100ce451", "mov dword ptr [ecx], edx", "0x100d1263"], ["0x100ce453", "mov ecx, dword ptr [<OFFSET36>]", "0x100d1265"], ["0x100ce459", "mov edx, dword ptr [ecx]", "0x100d126b"], ["0x100ce45b", "mov dword ptr [ecx], eax", "0x100d126d"], ["0x100ce45d", "mov ecx, dword ptr [<OFFSET37>]", "0x100d126f"]]}, {"orig": [], "recomp": [["0x100d1275", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce463", "mov dword ptr [ecx], edx", "0x100d127a"]]}, {"orig": [["0x100ce465", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce46a", "mov dword ptr [edi], eax", "0x100d127c"], ["0x100ce46c", "add edi, ebp", "0x100d127e"], ["0x100ce46e", "mov al, byte ptr [<OFFSET8>]", "0x100d1280"]]}, {"orig": [["0x100ce473", "cmp al, 0x11"], ["0x100ce475", "ja 0x19"]], "recomp": [["0x100d1285", "cmp al, 0xc"], ["0x100d1287", "ja 0x47"]]}, {"both": [["0x100ce477", "mov cl, al", "0x100d1289"]]}, {"orig": [["0x100ce479", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d128b", "mov edx, dword ptr [esi]"], ["0x100d128d", "dec cl"]]}, {"both": [["0x100ce47c", "add esi, 2", "0x100d128f"]]}, {"orig": [["0x100ce47f", "dec cl"]], "recomp": []}, {"both": [["0x100ce481", "shl edx, cl", "0x100d1292"]]}, {"orig": [], "recomp": [["0x100d1294", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d129a", "or edx, ebx"], ["0x100d129c", "mov ebx, edx"], ["0x100d129e", "and edx, 0xfff"]]}, {"both": [["0x100ce483", "add al, 0x10", "0x100d12a4"]]}, {"orig": [["0x100ce485", "or ebx, edx"], ["0x100ce487", "jmp 0x7"]], "recomp": [["0x100d12a6", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d12a9", "shr ebx, cl"], ["0x100d12ab", "sub al, cl"], ["0x100d12ad", "shr ecx, 8"], ["0x100d12b0", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d12b6", "mov edx, dword ptr [ecx]"], ["0x100d12b8", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d12bf", "jne 0x63"], ["0x100d12c1", "jmp 0x37"]]}, {"both": [["0x100ce489", "xchg ebx, ebx", "0x100d12c3"], ["0x100ce48b", "xchg ecx, ecx", "0x100d12c5"], ["0x100ce48d", "xchg ebx, ebx", "0x100d12c7"]]}, {"orig": [], "recomp": [["0x100d12c9", "xchg ecx, ecx"], ["0x100d12cb", "xchg ebx, ebx"], ["0x100d12cd", "xchg ecx, ecx"]]}, {"both": [["0x100ce48f", "nop ", "0x100d12cf"]]}, {"orig": [["0x100ce490", "mov cx, bx"], ["0x100ce493", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce499", "and ecx, 0xfff"], ["0x100ce49f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d12d0", "mov dx, bx"], ["0x100d12d3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d12d9", "and edx, 0xfff"], ["0x100d12df", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce4a2", "shr ebx, cl", "0x100d12e2"], ["0x100ce4a4", "sub al, cl", "0x100d12e4"], ["0x100ce4a6", "shr ecx, 8", "0x100d12e6"], ["0x100ce4a9", "add ecx, dword ptr [<OFFSET1>]", "0x100d12e9"], ["0x100ce4af", "mov edx, dword ptr [ecx]", "0x100d12ef"], ["0x100ce4b1", "cmp dx, word ptr [<OFFSET2>]", "0x100d12f1"], ["0x100ce4b8", "jne 0x2a", "0x100d12f8"], ["0x100ce4ba", "shr edx, 0xd", "0x100d12fa"], ["0x100ce4bd", "dec al", "0x100d12fd"], ["0x100ce4bf", "jne 0x7", "0x100d12ff"]]}]], ["@@ -0x100ce4c3,49 +0x100d1303,64 @@", [{"both": [["0x100ce4c3", "add esi, 4", "0x100d1303"], ["0x100ce4c6", "mov al, 0x20", "0x100d1306"], ["0x100ce4c8", "and edx, 0xffff8", "0x100d1308"], ["0x100ce4ce", "shr ebx, 1", "0x100d130e"], ["0x100ce4d0", "jb 0x5", "0x100d1310"], ["0x100ce4d2", "mov edx, 4", "0x100d1312"], ["0x100ce4d7", "add ecx, edx", "0x100d1317"], ["0x100ce4d9", "mov edx, dword ptr [ecx]", "0x100d1319"], ["0x100ce4db", "cmp dx, word ptr [<OFFSET2>]", "0x100d131b"], ["0x100ce4e2", "je -0x2a", "0x100d1322"]]}, {"orig": [], "recomp": [["0x100d1324", "mov ecx, dword ptr [<OFFSET35>]"]]}, {"both": [["0x100ce4e4", "mov byte ptr [<OFFSET8>], al", "0x100d132a"], ["0x100ce4e9", "mov eax, edx", "0x100d132f"]]}, {"orig": [["0x100ce4eb", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": []}, {"both": [["0x100ce4f1", "cmp dword ptr [ecx], edx", "0x100d1331"], ["0x100ce4f3", "je 0x20", "0x100d1333"], ["0x100ce4f5", "mov dword ptr [<OFFSET19>], eax", "0x100d1335"], ["0x100ce4fa", "mov eax, dword ptr [ecx]", "0x100d133a"], ["0x100ce4fc", "mov dword ptr [ecx], edx", "0x100d133c"], ["0x100ce4fe", "mov ecx, dword ptr [<OFFSET36>]", "0x100d133e"], ["0x100ce504", "mov edx, dword ptr [ecx]", "0x100d1344"], ["0x100ce506", "mov dword ptr [ecx], eax", "0x100d1346"], ["0x100ce508", "mov ecx, dword ptr [<OFFSET37>]", "0x100d1348"]]}, {"orig": [], "recomp": [["0x100d134e", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce50e", "mov dword ptr [ecx], edx", "0x100d1353"]]}, {"orig": [["0x100ce510", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce515", "mov al, byte ptr [<OFFSET8>]", "0x100d1355"]]}, {"orig": [["0x100ce51a", "cmp al, 0x11"], ["0x100ce51c", "ja 0x12"]], "recomp": [["0x100d135a", "cmp al, 0xc"], ["0x100d135c", "ja 0x42"]]}, {"both": [["0x100ce51e", "mov cl, al", "0x100d135e"]]}, {"orig": [["0x100ce520", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d1360", "mov edx, dword ptr [esi]"], ["0x100d1362", "dec cl"]]}, {"both": [["0x100ce523", "add esi, 2", "0x100d1364"]]}, {"orig": [["0x100ce526", "dec cl"]], "recomp": []}, {"both": [["0x100ce528", "shl edx, cl", "0x100d1367"]]}, {"orig": [], "recomp": [["0x100d1369", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d136f", "or edx, ebx"], ["0x100d1371", "mov ebx, edx"], ["0x100d1373", "and edx, 0xfff"]]}, {"both": [["0x100ce52a", "add al, 0x10", "0x100d1379"]]}, {"orig": [["0x100ce52c", "or ebx, edx"], ["0x100ce52e", "jmp 0x0"], ["0x100ce530", "mov cx, bx"], ["0x100ce533", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce539", "and ecx, 0xfff"], ["0x100ce53f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d137b", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d137e", "shr ebx, cl"], ["0x100d1380", "sub al, cl"], ["0x100d1382", "shr ecx, 8"], ["0x100d1385", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d138b", "mov edx, dword ptr [ecx]"], ["0x100d138d", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d1394", "jne 0x5e"], ["0x100d1396", "jmp 0x32"], ["0x100d1398", "xchg ebx, ebx"], ["0x100d139a", "xchg ecx, ecx"], ["0x100d139c", "xchg ebx, ebx"], ["0x100d139e", "xchg ecx, ecx"], ["0x100d13a0", "mov dx, bx"], ["0x100d13a3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d13a9", "and edx, 0xfff"], ["0x100d13af", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce542", "shr ebx, cl", "0x100d13b2"], ["0x100ce544", "sub al, cl", "0x100d13b4"], ["0x100ce546", "shr ecx, 8", "0x100d13b6"], ["0x100ce549", "add ecx, dword ptr [<OFFSET1>]", "0x100d13b9"], ["0x100ce54f", "mov edx, dword ptr [ecx]", "0x100d13bf"], ["0x100ce551", "cmp dx, word ptr [<OFFSET2>]", "0x100d13c1"], ["0x100ce558", "jne 0x2a", "0x100d13c8"], ["0x100ce55a", "shr edx, 0xd", "0x100d13ca"], ["0x100ce55d", "dec al", "0x100d13cd"], ["0x100ce55f", "jne 0x7", "0x100d13cf"]]}]], ["@@ -0x100ce563,56 +0x100d13d3,71 @@", [{"both": [["0x100ce563", "add esi, 4", "0x100d13d3"], ["0x100ce566", "mov al, 0x20", "0x100d13d6"], ["0x100ce568", "and edx, 0xffff8", "0x100d13d8"], ["0x100ce56e", "shr ebx, 1", "0x100d13de"], ["0x100ce570", "jb 0x5", "0x100d13e0"], ["0x100ce572", "mov edx, 4", "0x100d13e2"], ["0x100ce577", "add ecx, edx", "0x100d13e7"], ["0x100ce579", "mov edx, dword ptr [ecx]", "0x100d13e9"], ["0x100ce57b", "cmp dx, word ptr [<OFFSET2>]", "0x100d13eb"], ["0x100ce582", "je -0x2a", "0x100d13f2"]]}, {"orig": [], "recomp": [["0x100d13f4", "mov ecx, dword ptr [<OFFSET35>]"], ["0x100d13fa", "ror edx, 0x10"]]}, {"both": [["0x100ce584", "mov byte ptr [<OFFSET8>], al", "0x100d13fd"]]}, {"orig": [["0x100ce589", "shld ecx, edx, 0x10"], ["0x100ce58d", "mov ax, cx"], ["0x100ce590", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": [["0x100d1402", "mov ax, dx"], ["0x100d1405", "ror edx, 0x10"]]}, {"both": [["0x100ce596", "cmp dword ptr [ecx], edx", "0x100d1408"], ["0x100ce598", "je 0x20", "0x100d140a"], ["0x100ce59a", "mov dword ptr [<OFFSET19>], eax", "0x100d140c"], ["0x100ce59f", "mov eax, dword ptr [ecx]", "0x100d1411"], ["0x100ce5a1", "mov dword ptr [ecx], edx", "0x100d1413"], ["0x100ce5a3", "mov ecx, dword ptr [<OFFSET36>]", "0x100d1415"], ["0x100ce5a9", "mov edx, dword ptr [ecx]", "0x100d141b"], ["0x100ce5ab", "mov dword ptr [ecx], eax", "0x100d141d"], ["0x100ce5ad", "mov ecx, dword ptr [<OFFSET37>]", "0x100d141f"]]}, {"orig": [], "recomp": [["0x100d1425", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce5b3", "mov dword ptr [ecx], edx", "0x100d142a"]]}, {"orig": [["0x100ce5b5", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce5ba", "mov dword ptr [edi], eax", "0x100d142c"], ["0x100ce5bc", "mov al, byte ptr [<OFFSET8>]", "0x100d142e"]]}, {"orig": [["0x100ce5c1", "cmp al, 0x11"], ["0x100ce5c3", "ja 0x1b"]], "recomp": [["0x100d1433", "cmp al, 0xc"], ["0x100d1435", "ja 0x49"]]}, {"both": [["0x100ce5c5", "mov cl, al", "0x100d1437"]]}, {"orig": [["0x100ce5c7", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d1439", "mov edx, dword ptr [esi]"], ["0x100d143b", "dec cl"]]}, {"both": [["0x100ce5ca", "add esi, 2", "0x100d143d"]]}, {"orig": [["0x100ce5cd", "dec cl"]], "recomp": []}, {"both": [["0x100ce5cf", "shl edx, cl", "0x100d1440"]]}, {"orig": [], "recomp": [["0x100d1442", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d1448", "or edx, ebx"], ["0x100d144a", "mov ebx, edx"], ["0x100d144c", "and edx, 0xfff"]]}, {"both": [["0x100ce5d1", "add al, 0x10", "0x100d1452"]]}, {"orig": [["0x100ce5d3", "or ebx, edx"], ["0x100ce5d5", "jmp 0x9"]], "recomp": [["0x100d1454", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d1457", "shr ebx, cl"], ["0x100d1459", "sub al, cl"], ["0x100d145b", "shr ecx, 8"], ["0x100d145e", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d1464", "mov edx, dword ptr [ecx]"], ["0x100d1466", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d146d", "jne 0x65"], ["0x100d146f", "jmp 0x39"]]}, {"both": [["0x100ce5d7", "xchg ebx, ebx", "0x100d1471"], ["0x100ce5d9", "xchg ecx, ecx", "0x100d1473"], ["0x100ce5db", "xchg ebx, ebx", "0x100d1475"], ["0x100ce5dd", "xchg ecx, ecx", "0x100d1477"]]}, {"orig": [], "recomp": [["0x100d1479", "xchg ebx, ebx"], ["0x100d147b", "xchg ecx, ecx"], ["0x100d147d", "xchg ebx, ebx"]]}, {"both": [["0x100ce5df", "nop ", "0x100d147f"]]}, {"orig": [["0x100ce5e0", "mov cx, bx"], ["0x100ce5e3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce5e9", "and ecx, 0xfff"], ["0x100ce5ef", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d1480", "mov dx, bx"], ["0x100d1483", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d1489", "and edx, 0xfff"], ["0x100d148f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce5f2", "shr ebx, cl", "0x100d1492"], ["0x100ce5f4", "sub al, cl", "0x100d1494"], ["0x100ce5f6", "shr ecx, 8", "0x100d1496"], ["0x100ce5f9", "add ecx, dword ptr [<OFFSET1>]", "0x100d1499"], ["0x100ce5ff", "mov edx, dword ptr [ecx]", "0x100d149f"], ["0x100ce601", "cmp dx, word ptr [<OFFSET2>]", "0x100d14a1"], ["0x100ce608", "jne 0x2a", "0x100d14a8"], ["0x100ce60a", "shr edx, 0xd", "0x100d14aa"], ["0x100ce60d", "dec al", "0x100d14ad"], ["0x100ce60f", "jne 0x7", "0x100d14af"]]}]], ["@@ -0x100ce613,49 +0x100d14b3,64 @@", [{"both": [["0x100ce613", "add esi, 4", "0x100d14b3"], ["0x100ce616", "mov al, 0x20", "0x100d14b6"], ["0x100ce618", "and edx, 0xffff8", "0x100d14b8"], ["0x100ce61e", "shr ebx, 1", "0x100d14be"], ["0x100ce620", "jb 0x5", "0x100d14c0"], ["0x100ce622", "mov edx, 4", "0x100d14c2"], ["0x100ce627", "add ecx, edx", "0x100d14c7"], ["0x100ce629", "mov edx, dword ptr [ecx]", "0x100d14c9"], ["0x100ce62b", "cmp dx, word ptr [<OFFSET2>]", "0x100d14cb"], ["0x100ce632", "je -0x2a", "0x100d14d2"]]}, {"orig": [], "recomp": [["0x100d14d4", "mov ecx, dword ptr [<OFFSET35>]"]]}, {"both": [["0x100ce634", "mov byte ptr [<OFFSET8>], al", "0x100d14da"], ["0x100ce639", "mov eax, edx", "0x100d14df"]]}, {"orig": [["0x100ce63b", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": []}, {"both": [["0x100ce641", "cmp dword ptr [ecx], edx", "0x100d14e1"], ["0x100ce643", "je 0x20", "0x100d14e3"], ["0x100ce645", "mov dword ptr [<OFFSET19>], eax", "0x100d14e5"], ["0x100ce64a", "mov eax, dword ptr [ecx]", "0x100d14ea"], ["0x100ce64c", "mov dword ptr [ecx], edx", "0x100d14ec"], ["0x100ce64e", "mov ecx, dword ptr [<OFFSET36>]", "0x100d14ee"], ["0x100ce654", "mov edx, dword ptr [ecx]", "0x100d14f4"], ["0x100ce656", "mov dword ptr [ecx], eax", "0x100d14f6"], ["0x100ce658", "mov ecx, dword ptr [<OFFSET37>]", "0x100d14f8"]]}, {"orig": [], "recomp": [["0x100d14fe", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce65e", "mov dword ptr [ecx], edx", "0x100d1503"]]}, {"orig": [["0x100ce660", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce665", "mov al, byte ptr [<OFFSET8>]", "0x100d1505"]]}, {"orig": [["0x100ce66a", "cmp al, 0x11"], ["0x100ce66c", "ja 0x12"]], "recomp": [["0x100d150a", "cmp al, 0xc"], ["0x100d150c", "ja 0x42"]]}, {"both": [["0x100ce66e", "mov cl, al", "0x100d150e"]]}, {"orig": [["0x100ce670", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d1510", "mov edx, dword ptr [esi]"], ["0x100d1512", "dec cl"]]}, {"both": [["0x100ce673", "add esi, 2", "0x100d1514"]]}, {"orig": [["0x100ce676", "dec cl"]], "recomp": []}, {"both": [["0x100ce678", "shl edx, cl", "0x100d1517"]]}, {"orig": [], "recomp": [["0x100d1519", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d151f", "or edx, ebx"], ["0x100d1521", "mov ebx, edx"], ["0x100d1523", "and edx, 0xfff"]]}, {"both": [["0x100ce67a", "add al, 0x10", "0x100d1529"]]}, {"orig": [["0x100ce67c", "or ebx, edx"], ["0x100ce67e", "jmp 0x0"], ["0x100ce680", "mov cx, bx"], ["0x100ce683", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce689", "and ecx, 0xfff"], ["0x100ce68f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d152b", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d152e", "shr ebx, cl"], ["0x100d1530", "sub al, cl"], ["0x100d1532", "shr ecx, 8"], ["0x100d1535", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d153b", "mov edx, dword ptr [ecx]"], ["0x100d153d", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d1544", "jne 0x5e"], ["0x100d1546", "jmp 0x32"], ["0x100d1548", "xchg ebx, ebx"], ["0x100d154a", "xchg ecx, ecx"], ["0x100d154c", "xchg ebx, ebx"], ["0x100d154e", "xchg ecx, ecx"], ["0x100d1550", "mov dx, bx"], ["0x100d1553", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d1559", "and edx, 0xfff"], ["0x100d155f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce692", "shr ebx, cl", "0x100d1562"], ["0x100ce694", "sub al, cl", "0x100d1564"], ["0x100ce696", "shr ecx, 8", "0x100d1566"], ["0x100ce699", "add ecx, dword ptr [<OFFSET1>]", "0x100d1569"], ["0x100ce69f", "mov edx, dword ptr [ecx]", "0x100d156f"], ["0x100ce6a1", "cmp dx, word ptr [<OFFSET2>]", "0x100d1571"], ["0x100ce6a8", "jne 0x2a", "0x100d1578"], ["0x100ce6aa", "shr edx, 0xd", "0x100d157a"], ["0x100ce6ad", "dec al", "0x100d157d"], ["0x100ce6af", "jne 0x7", "0x100d157f"]]}]], ["@@ -0x100ce6b3,55 +0x100d1583,70 @@", [{"both": [["0x100ce6b3", "add esi, 4", "0x100d1583"], ["0x100ce6b6", "mov al, 0x20", "0x100d1586"], ["0x100ce6b8", "and edx, 0xffff8", "0x100d1588"], ["0x100ce6be", "shr ebx, 1", "0x100d158e"], ["0x100ce6c0", "jb 0x5", "0x100d1590"], ["0x100ce6c2", "mov edx, 4", "0x100d1592"], ["0x100ce6c7", "add ecx, edx", "0x100d1597"], ["0x100ce6c9", "mov edx, dword ptr [ecx]", "0x100d1599"], ["0x100ce6cb", "cmp dx, word ptr [<OFFSET2>]", "0x100d159b"], ["0x100ce6d2", "je -0x2a", "0x100d15a2"]]}, {"orig": [], "recomp": [["0x100d15a4", "mov ecx, dword ptr [<OFFSET35>]"], ["0x100d15aa", "ror edx, 0x10"]]}, {"both": [["0x100ce6d4", "mov byte ptr [<OFFSET8>], al", "0x100d15ad"]]}, {"orig": [["0x100ce6d9", "shld ecx, edx, 0x10"], ["0x100ce6dd", "mov ax, cx"], ["0x100ce6e0", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": [["0x100d15b2", "mov ax, dx"], ["0x100d15b5", "ror edx, 0x10"]]}, {"both": [["0x100ce6e6", "cmp dword ptr [ecx], edx", "0x100d15b8"], ["0x100ce6e8", "je 0x20", "0x100d15ba"], ["0x100ce6ea", "mov dword ptr [<OFFSET19>], eax", "0x100d15bc"], ["0x100ce6ef", "mov eax, dword ptr [ecx]", "0x100d15c1"], ["0x100ce6f1", "mov dword ptr [ecx], edx", "0x100d15c3"], ["0x100ce6f3", "mov ecx, dword ptr [<OFFSET36>]", "0x100d15c5"], ["0x100ce6f9", "mov edx, dword ptr [ecx]", "0x100d15cb"], ["0x100ce6fb", "mov dword ptr [ecx], eax", "0x100d15cd"], ["0x100ce6fd", "mov ecx, dword ptr [<OFFSET37>]", "0x100d15cf"]]}, {"orig": [], "recomp": [["0x100d15d5", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce703", "mov dword ptr [ecx], edx", "0x100d15da"]]}, {"orig": [["0x100ce705", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce70a", "mov dword ptr [edi + ebp], eax", "0x100d15dc"], ["0x100ce70d", "mov al, byte ptr [<OFFSET8>]", "0x100d15df"]]}, {"orig": [["0x100ce712", "cmp al, 0x11"], ["0x100ce714", "ja 0x1a"]], "recomp": [["0x100d15e4", "cmp al, 0xc"], ["0x100d15e6", "ja 0x48"]]}, {"both": [["0x100ce716", "mov cl, al", "0x100d15e8"]]}, {"orig": [["0x100ce718", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d15ea", "mov edx, dword ptr [esi]"], ["0x100d15ec", "dec cl"]]}, {"both": [["0x100ce71b", "add esi, 2", "0x100d15ee"]]}, {"orig": [["0x100ce71e", "dec cl"]], "recomp": []}, {"both": [["0x100ce720", "shl edx, cl", "0x100d15f1"]]}, {"orig": [], "recomp": [["0x100d15f3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d15f9", "or edx, ebx"], ["0x100d15fb", "mov ebx, edx"], ["0x100d15fd", "and edx, 0xfff"]]}, {"both": [["0x100ce722", "add al, 0x10", "0x100d1603"]]}, {"orig": [["0x100ce724", "or ebx, edx"], ["0x100ce726", "jmp 0x8"]], "recomp": [["0x100d1605", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d1608", "shr ebx, cl"], ["0x100d160a", "sub al, cl"], ["0x100d160c", "shr ecx, 8"], ["0x100d160f", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d1615", "mov edx, dword ptr [ecx]"], ["0x100d1617", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d161e", "jne 0x64"], ["0x100d1620", "jmp 0x38"]]}, {"both": [["0x100ce728", "xchg ebx, ebx", "0x100d1622"], ["0x100ce72a", "xchg ecx, ecx", "0x100d1624"], ["0x100ce72c", "xchg ebx, ebx", "0x100d1626"], ["0x100ce72e", "xchg ecx, ecx", "0x100d1628"]]}, {"orig": [["0x100ce730", "mov cx, bx"], ["0x100ce733", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce739", "and ecx, 0xfff"], ["0x100ce73f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d162a", "xchg ebx, ebx"], ["0x100d162c", "xchg ecx, ecx"], ["0x100d162e", "xchg ebx, ebx"], ["0x100d1630", "mov dx, bx"], ["0x100d1633", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d1639", "and edx, 0xfff"], ["0x100d163f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce742", "shr ebx, cl", "0x100d1642"], ["0x100ce744", "sub al, cl", "0x100d1644"], ["0x100ce746", "shr ecx, 8", "0x100d1646"], ["0x100ce749", "add ecx, dword ptr [<OFFSET1>]", "0x100d1649"], ["0x100ce74f", "mov edx, dword ptr [ecx]", "0x100d164f"], ["0x100ce751", "cmp dx, word ptr [<OFFSET2>]", "0x100d1651"], ["0x100ce758", "jne 0x2a", "0x100d1658"], ["0x100ce75a", "shr edx, 0xd", "0x100d165a"], ["0x100ce75d", "dec al", "0x100d165d"], ["0x100ce75f", "jne 0x7", "0x100d165f"]]}]], ["@@ -0x100ce763,49 +0x100d1663,64 @@", [{"both": [["0x100ce763", "add esi, 4", "0x100d1663"], ["0x100ce766", "mov al, 0x20", "0x100d1666"], ["0x100ce768", "and edx, 0xffff8", "0x100d1668"], ["0x100ce76e", "shr ebx, 1", "0x100d166e"], ["0x100ce770", "jb 0x5", "0x100d1670"], ["0x100ce772", "mov edx, 4", "0x100d1672"], ["0x100ce777", "add ecx, edx", "0x100d1677"], ["0x100ce779", "mov edx, dword ptr [ecx]", "0x100d1679"], ["0x100ce77b", "cmp dx, word ptr [<OFFSET2>]", "0x100d167b"], ["0x100ce782", "je -0x2a", "0x100d1682"]]}, {"orig": [], "recomp": [["0x100d1684", "mov ecx, dword ptr [<OFFSET35>]"]]}, {"both": [["0x100ce784", "mov byte ptr [<OFFSET8>], al", "0x100d168a"], ["0x100ce789", "mov eax, edx", "0x100d168f"]]}, {"orig": [["0x100ce78b", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": []}, {"both": [["0x100ce791", "cmp dword ptr [ecx], edx", "0x100d1691"], ["0x100ce793", "je 0x20", "0x100d1693"], ["0x100ce795", "mov dword ptr [<OFFSET19>], eax", "0x100d1695"], ["0x100ce79a", "mov eax, dword ptr [ecx]", "0x100d169a"], ["0x100ce79c", "mov dword ptr [ecx], edx", "0x100d169c"], ["0x100ce79e", "mov ecx, dword ptr [<OFFSET36>]", "0x100d169e"], ["0x100ce7a4", "mov edx, dword ptr [ecx]", "0x100d16a4"], ["0x100ce7a6", "mov dword ptr [ecx], eax", "0x100d16a6"], ["0x100ce7a8", "mov ecx, dword ptr [<OFFSET37>]", "0x100d16a8"]]}, {"orig": [], "recomp": [["0x100d16ae", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce7ae", "mov dword ptr [ecx], edx", "0x100d16b3"]]}, {"orig": [["0x100ce7b0", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce7b5", "mov al, byte ptr [<OFFSET8>]", "0x100d16b5"]]}, {"orig": [["0x100ce7ba", "cmp al, 0x11"], ["0x100ce7bc", "ja 0x12"]], "recomp": [["0x100d16ba", "cmp al, 0xc"], ["0x100d16bc", "ja 0x42"]]}, {"both": [["0x100ce7be", "mov cl, al", "0x100d16be"]]}, {"orig": [["0x100ce7c0", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d16c0", "mov edx, dword ptr [esi]"], ["0x100d16c2", "dec cl"]]}, {"both": [["0x100ce7c3", "add esi, 2", "0x100d16c4"]]}, {"orig": [["0x100ce7c6", "dec cl"]], "recomp": []}, {"both": [["0x100ce7c8", "shl edx, cl", "0x100d16c7"]]}, {"orig": [], "recomp": [["0x100d16c9", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d16cf", "or edx, ebx"], ["0x100d16d1", "mov ebx, edx"], ["0x100d16d3", "and edx, 0xfff"]]}, {"both": [["0x100ce7ca", "add al, 0x10", "0x100d16d9"]]}, {"orig": [["0x100ce7cc", "or ebx, edx"], ["0x100ce7ce", "jmp 0x0"], ["0x100ce7d0", "mov cx, bx"], ["0x100ce7d3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100ce7d9", "and ecx, 0xfff"], ["0x100ce7df", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d16db", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d16de", "shr ebx, cl"], ["0x100d16e0", "sub al, cl"], ["0x100d16e2", "shr ecx, 8"], ["0x100d16e5", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d16eb", "mov edx, dword ptr [ecx]"], ["0x100d16ed", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d16f4", "jne 0x5e"], ["0x100d16f6", "jmp 0x32"], ["0x100d16f8", "xchg ebx, ebx"], ["0x100d16fa", "xchg ecx, ecx"], ["0x100d16fc", "xchg ebx, ebx"], ["0x100d16fe", "xchg ecx, ecx"], ["0x100d1700", "mov dx, bx"], ["0x100d1703", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d1709", "and edx, 0xfff"], ["0x100d170f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ce7e2", "shr ebx, cl", "0x100d1712"], ["0x100ce7e4", "sub al, cl", "0x100d1714"], ["0x100ce7e6", "shr ecx, 8", "0x100d1716"], ["0x100ce7e9", "add ecx, dword ptr [<OFFSET1>]", "0x100d1719"], ["0x100ce7ef", "mov edx, dword ptr [ecx]", "0x100d171f"], ["0x100ce7f1", "cmp dx, word ptr [<OFFSET2>]", "0x100d1721"], ["0x100ce7f8", "jne 0x2a", "0x100d1728"], ["0x100ce7fa", "shr edx, 0xd", "0x100d172a"], ["0x100ce7fd", "dec al", "0x100d172d"], ["0x100ce7ff", "jne 0x7", "0x100d172f"]]}]], ["@@ -0x100ce803,52 +0x100d1733,52 @@", [{"both": [["0x100ce803", "add esi, 4", "0x100d1733"], ["0x100ce806", "mov al, 0x20", "0x100d1736"], ["0x100ce808", "and edx, 0xffff8", "0x100d1738"], ["0x100ce80e", "shr ebx, 1", "0x100d173e"], ["0x100ce810", "jb 0x5", "0x100d1740"], ["0x100ce812", "mov edx, 4", "0x100d1742"], ["0x100ce817", "add ecx, edx", "0x100d1747"], ["0x100ce819", "mov edx, dword ptr [ecx]", "0x100d1749"], ["0x100ce81b", "cmp dx, word ptr [<OFFSET2>]", "0x100d174b"], ["0x100ce822", "je -0x2a", "0x100d1752"]]}, {"orig": [], "recomp": [["0x100d1754", "mov ecx, dword ptr [<OFFSET35>]"], ["0x100d175a", "ror edx, 0x10"]]}, {"both": [["0x100ce824", "mov byte ptr [<OFFSET8>], al", "0x100d175d"]]}, {"orig": [["0x100ce829", "shld ecx, edx, 0x10"], ["0x100ce82d", "mov ax, cx"], ["0x100ce830", "mov ecx, dword ptr [<OFFSET35>]"]], "recomp": [["0x100d1762", "mov ax, dx"], ["0x100d1765", "ror edx, 0x10"]]}, {"both": [["0x100ce836", "cmp dword ptr [ecx], edx", "0x100d1768"], ["0x100ce838", "je 0x20", "0x100d176a"], ["0x100ce83a", "mov dword ptr [<OFFSET19>], eax", "0x100d176c"], ["0x100ce83f", "mov eax, dword ptr [ecx]", "0x100d1771"], ["0x100ce841", "mov dword ptr [ecx], edx", "0x100d1773"], ["0x100ce843", "mov ecx, dword ptr [<OFFSET36>]", "0x100d1775"], ["0x100ce849", "mov edx, dword ptr [ecx]", "0x100d177b"], ["0x100ce84b", "mov dword ptr [ecx], eax", "0x100d177d"], ["0x100ce84d", "mov ecx, dword ptr [<OFFSET37>]", "0x100d177f"]]}, {"orig": [], "recomp": [["0x100d1785", "mov eax, dword ptr [<OFFSET19>]"]]}, {"both": [["0x100ce853", "mov dword ptr [ecx], edx", "0x100d178a"]]}, {"orig": [["0x100ce855", "mov eax, dword ptr [<OFFSET19>]"]], "recomp": []}, {"both": [["0x100ce85a", "mov dword ptr [edi + ebp*2], eax", "0x100d178c"], ["0x100ce85d", "sub edi, dword ptr [<OFFSET12>]", "0x100d178f"], ["0x100ce863", "dec dword ptr [<OFFSET10>]", "0x100d1795"]]}, {"orig": [["0x100ce869", "je 0x15"]], "recomp": [["0x100d179b", "je 0x13"]]}, {"both": [["0x100ce86b", "dec dword ptr [<OFFSET23>]", "0x100d179d"]]}, {"orig": [["0x100ce871", "jne -0x55e"], ["0x100ce877", "jmp -0xcfc"]], "recomp": [["0x100d17a3", "jne -0x6d0"], ["0x100d17a9", "jmp -0xeee"]]}, {"both": [["0x100ce87c", "xchg ebx, ebx", "0x100d17ae"]]}, {"orig": [["0x100ce87e", "xchg ecx, ecx"]], "recomp": []}, {"both": [["0x100ce880", "dec dword ptr [<OFFSET11>]", "0x100d17b0"], ["0x100ce886", "je 0x1b4", "0x100d17b6"], ["0x100ce88c", "add edi, dword ptr [<OFFSET14>]", "0x100d17bc"], ["0x100ce892", "mov eax, dword ptr [<OFFSET9>]", "0x100d17c2"], ["0x100ce897", "mov dword ptr [<OFFSET10>], eax", "0x100d17c7"], ["0x100ce89c", "dec dword ptr [<OFFSET23>]", "0x100d17cc"]]}, {"orig": [["0x100ce8a2", "jne -0x58f"], ["0x100ce8a8", "jmp -0xd2d"]], "recomp": [["0x100d17d2", "jne -0x6ff"], ["0x100d17d8", "jmp -0xf1d"]]}, {"both": [["0x100ce8ad", "xchg ebx, ebx", "0x100d17dd"], ["0x100ce8af", "nop ", "0x100d17df"], ["0x100ce8b0", "mov ecx, dword ptr [<OFFSET16>]", "0x100d17e0"], ["0x100ce8b6", "add ecx, edx", "0x100d17e6"], ["0x100ce8b8", "mov dword ptr [<OFFSET16>], ecx", "0x100d17e8"], ["0x100ce8be", "mov eax, dword ptr [<OFFSET17>]", "0x100d17ee"], ["0x100ce8c3", "cmp eax, ecx", "0x100d17f3"], ["0x100ce8c5", "ja 0x2d", "0x100d17f5"], ["0x100ce8c7", "shr ecx, 4", "0x100d17f7"], ["0x100ce8ca", "shr eax, 4", "0x100d17fa"]]}]], ["@@ -0x100ce8ee,35 +0x100d181e,35 @@", [{"both": [["0x100ce8ee", "mov dword ptr [<OFFSET17>], ecx", "0x100d181e"], ["0x100ce8f4", "mov ecx, dword ptr [<OFFSET10>]", "0x100d1824"], ["0x100ce8fa", "cmp edx, ecx", "0x100d182a"], ["0x100ce8fc", "jae 0x2", "0x100d182c"], ["0x100ce8fe", "mov ecx, edx", "0x100d182e"], ["0x100ce900", "lea edi, [edi + ecx*4]", "0x100d1830"], ["0x100ce903", "sub dword ptr [<OFFSET10>], ecx", "0x100d1833"], ["0x100ce909", "je 0x15", "0x100d1839"], ["0x100ce90b", "sub edx, ecx", "0x100d183b"], ["0x100ce90d", "jne -0x1b", "0x100d183d"]]}, {"orig": [["0x100ce90f", "jmp -0xd94"]], "recomp": [["0x100d183f", "jmp -0xf84"]]}, {"both": [["0x100ce914", "xchg ebx, ebx", "0x100d1844"], ["0x100ce916", "xchg ecx, ecx", "0x100d1846"], ["0x100ce918", "xchg ebx, ebx", "0x100d1848"], ["0x100ce91a", "xchg ecx, ecx", "0x100d184a"], ["0x100ce91c", "xchg ebx, ebx", "0x100d184c"], ["0x100ce91e", "xchg ecx, ecx", "0x100d184e"], ["0x100ce920", "dec dword ptr [<OFFSET11>]", "0x100d1850"], ["0x100ce926", "je 0x114", "0x100d1856"], ["0x100ce92c", "add edi, dword ptr [<OFFSET14>]", "0x100d185c"], ["0x100ce932", "mov eax, dword ptr [<OFFSET9>]", "0x100d1862"], ["0x100ce937", "mov dword ptr [<OFFSET10>], eax", "0x100d1867"], ["0x100ce93c", "sub edx, ecx", "0x100d186c"], ["0x100ce93e", "jne -0x4c", "0x100d186e"]]}, {"orig": [["0x100ce940", "jmp -0xdc5"]], "recomp": [["0x100d1870", "jmp -0xfb5"]]}, {"both": [["0x100ce945", "xchg ebx, ebx", "0x100d1875"], ["0x100ce947", "xchg ecx, ecx", "0x100d1877"], ["0x100ce949", "xchg ebx, ebx", "0x100d1879"], ["0x100ce94b", "xchg ecx, ecx", "0x100d187b"], ["0x100ce94d", "xchg ebx, ebx", "0x100d187d"], ["0x100ce94f", "nop ", "0x100d187f"], ["0x100ce950", "add dword ptr [<OFFSET16>], edx", "0x100d1880"], ["0x100ce956", "mov ecx, dword ptr [<OFFSET16>]", "0x100d1886"], ["0x100ce95c", "cmp dword ptr [<OFFSET17>], ecx", "0x100d188c"], ["0x100ce962", "ja 0x3f", "0x100d1892"]]}]], ["@@ -0x100ce9de,38 +0x100d190e,42 @@", [{"both": [["0x100ce9de", "rep stosd dword ptr es:[edi], eax", "0x100d190e"], ["0x100ce9e0", "add edi, ebp", "0x100d1910"], ["0x100ce9e2", "mov ecx, edx", "0x100d1912"], ["0x100ce9e4", "rep stosd dword ptr es:[edi], eax", "0x100d1914"], ["0x100ce9e6", "sub edi, dword ptr [<OFFSET13>]", "0x100d1916"], ["0x100ce9ec", "mov ebp, dword ptr [<OFFSET19>]", "0x100d191c"], ["0x100ce9f2", "sub dword ptr [<OFFSET10>], edx", "0x100d1922"], ["0x100ce9f8", "je 0x16", "0x100d1928"], ["0x100ce9fa", "sub dword ptr [<OFFSET23>], edx", "0x100d192a"], ["0x100cea00", "jne -0x55", "0x100d1930"]]}, {"orig": [["0x100cea02", "jmp -0xe87"]], "recomp": [["0x100d1932", "jmp -0x1077"]]}, {"both": [["0x100cea07", "xchg ebx, ebx", "0x100d1937"], ["0x100cea09", "xchg ecx, ecx", "0x100d1939"], ["0x100cea0b", "xchg ebx, ebx", "0x100d193b"], ["0x100cea0d", "xchg ecx, ecx", "0x100d193d"], ["0x100cea0f", "nop ", "0x100d193f"], ["0x100cea10", "dec dword ptr [<OFFSET11>]", "0x100d1940"], ["0x100cea16", "je 0x28", "0x100d1946"], ["0x100cea18", "add edi, dword ptr [<OFFSET14>]", "0x100d1948"], ["0x100cea1e", "sub dword ptr [<OFFSET23>], edx", "0x100d194e"], ["0x100cea24", "mov ecx, dword ptr [<OFFSET9>]", "0x100d1954"], ["0x100cea2a", "mov dword ptr [<OFFSET10>], ecx", "0x100d195a"], ["0x100cea30", "jne -0x89", "0x100d1960"]]}, {"orig": [["0x100cea36", "jmp -0xebb"]], "recomp": [["0x100d1966", "jmp -0x10ab"]]}, {"both": [["0x100cea3b", "xchg ebx, ebx", "0x100d196b"], ["0x100cea3d", "xchg ecx, ecx", "0x100d196d"], ["0x100cea3f", "nop ", "0x100d196f"], ["0x100cea40", "mov eax, dword ptr [<OFFSET17>]", "0x100d1970"], ["0x100cea45", "shr eax, 4", "0x100d1975"], ["0x100cea48", "add eax, dword ptr [<OFFSET15>]", "0x100d1978"], ["0x100cea4e", "mov byte ptr [eax], 0", "0x100d197e"], ["0x100cea51", "pop edx", "0x100d1981"], ["0x100cea52", "pop esi", "0x100d1982"], ["0x100cea53", "pop edi", "0x100d1983"], ["0x100cea54", "pop ebx", "0x100d1984"], ["0x100cea55", "pop es", "0x100d1985"], ["0x100cea56", "pop ebp", "0x100d1986"], ["0x100cea57", "ret ", "0x100d1987"]]}, {"orig": [], "recomp": [["0x100d1988", "xchg ebx, ebx"], ["0x100d198a", "xchg ecx, ecx"], ["0x100d198c", "xchg ebx, ebx"], ["0x100d198e", "xchg ecx, ecx"]]}]]]}, {"address": "0x100cea58", "recomp": "0x100d1990", "name": "_SmackDoFrameToVESA", "matching": 0.7502979737783075, "diff": [["@@ -0x100cead8,30 +0x100d1a10,26 @@", [{"both": [["0x100cead8", "mov eax, dword ptr [edi + 4]", "0x100d1a10"], ["0x100ceadb", "mov dword ptr [<OFFSET9>], eax", "0x100d1a13"], ["0x100ceae0", "movzx eax, word ptr [edi + 8]", "0x100d1a18"], ["0x100ceae4", "mov dword ptr [<OFFSET10>], eax", "0x100d1a1c"], ["0x100ceae9", "add edi, 0xa", "0x100d1a21"], ["0x100ceaec", "mov dword ptr [<OFFSET11>], edi", "0x100d1a24"], ["0x100ceaf2", "push eax", "0x100d1a2a"], ["0x100ceaf3", "mov edi, dword ptr [<OFFSET11>]", "0x100d1a2b"], ["0x100ceaf9", "mov ax, word ptr [edi]", "0x100d1a31"], ["0x100ceafc", "cmp ax, 0xfffd", "0x100d1a34"]]}, {"orig": [["0x100ceb00", "jb 0x1e"]], "recomp": [["0x100d1a38", "jb 0x16"]]}, {"both": [["0x100ceb02", "cmp ax, 0xfffe", "0x100d1a3a"]]}, {"orig": [["0x100ceb06", "ja 0x1084"], ["0x100ceb0c", "je 0x18"]], "recomp": [["0x100d1a3e", "ja 0x128c"], ["0x100d1a44", "je 0x10"]]}, {"both": [["0x100ceb0e", "push <OFFSET12>", "0x100d1a46"]]}, {"orig": [["0x100ceb13", "jmp -0x113f"], ["0x100ceb18", "xchg ebx, ebx"], ["0x100ceb1a", "xchg ecx, ecx"], ["0x100ceb1c", "xchg ebx, ebx"], ["0x100ceb1e", "xchg ecx, ecx"]], "recomp": [["0x100d1a4b", "jmp -0x1340"]]}, {"both": [["0x100ceb20", "call dword ptr [<OFFSET9>]", "0x100d1a50"], ["0x100ceb26", "add edi, 2", "0x100d1a56"], ["0x100ceb29", "movzx eax, word ptr [edi]", "0x100d1a59"], ["0x100ceb2c", "mov ebp, eax", "0x100d1a5c"], ["0x100ceb2e", "movzx eax, word ptr [edi + 2]", "0x100d1a5e"], ["0x100ceb32", "mov dword ptr [<OFFSET13>], eax", "0x100d1a62"], ["0x100ceb37", "mov dword ptr [<OFFSET14>], eax", "0x100d1a67"], ["0x100ceb3c", "movzx eax, word ptr [edi + 4]", "0x100d1a6c"], ["0x100ceb40", "mov dword ptr [<OFFSET15>], eax", "0x100d1a70"], ["0x100ceb45", "movzx eax, word ptr [edi + 6]", "0x100d1a75"]]}]], ["@@ -0x100ceb4e,52 +0x100d1a7e,63 @@", [{"both": [["0x100ceb4e", "movzx eax, word ptr [edi + 8]", "0x100d1a7e"], ["0x100ceb52", "mov dword ptr [<OFFSET17>], eax", "0x100d1a82"], ["0x100ceb57", "add edi, 0xa", "0x100d1a87"], ["0x100ceb5a", "movzx eax, word ptr [edi + 4]", "0x100d1a8a"], ["0x100ceb5e", "mov dword ptr [<OFFSET18>], eax", "0x100d1a8e"], ["0x100ceb63", "mov eax, dword ptr [edi]", "0x100d1a93"], ["0x100ceb65", "add edi, 6", "0x100d1a95"], ["0x100ceb68", "mov dword ptr [<OFFSET11>], edi", "0x100d1a98"], ["0x100ceb6e", "mov edi, eax", "0x100d1a9e"], ["0x100ceb70", "cmp dword ptr [<OFFSET18>], 0", "0x100d1aa0"]]}, {"orig": [["0x100ceb77", "je -0x8a"]], "recomp": [["0x100d1aa7", "je -0x7e"]]}, {"both": [["0x100ceb7d", "pop eax", "0x100d1aa9"]]}, {"orig": [["0x100ceb7e", "jmp 0x10"], ["0x100ceb80", "pushal "], ["0x100ceb81", "in al, dx"], ["0x100ceb82", "or al, 0x10"], ["0x100ceb84", "xor bl, dh"], ["0x100ceb86", "or al, 0x10"], ["0x100ceb88", "pushal "], ["0x100ceb89", "stc "], ["0x100ceb8a", "or al, 0x10"], ["0x100ceb8c", "push eax"], ["0x100ceb8d", "cli "], ["0x100ceb8e", "or al, 0x10"], ["0x100ceb90", "mov al, byte ptr [<OFFSET8>]"], ["0x100ceb95", "cmp al, 0x11"], ["0x100ceb97", "ja 0x17"]], "recomp": [["0x100d1aaa", "jmp 0x14"], ["0x100d1aac", "xchg ebx, ebx"], ["0x100d1aae", "xchg ecx, ecx"], ["0x100d1ab0", "rcr byte ptr [ebx], 0xd"], ["0x100d1ab3", "adc al, dh"], ["0x100d1ab5", "and cl, byte ptr [<OFFSET19>]"], ["0x100d1abb", "adc byte ptr [eax - 0x5feff2d5], dl"], ["0x100d1ac1", "mov al, 0xc0"], ["0x100d1ac3", "adc byte ptr [eax], dl"], ["0x100d1ac5", "cmp al, 8"], ["0x100d1ac7", "ja 0x47"]]}, {"both": [["0x100ceb99", "mov cl, al", "0x100d1ac9"]]}, {"orig": [["0x100ceb9b", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d1acb", "mov edx, dword ptr [esi]"], ["0x100d1acd", "dec cl"]]}, {"both": [["0x100ceb9e", "add esi, 2", "0x100d1acf"]]}, {"orig": [["0x100ceba1", "dec cl"]], "recomp": []}, {"both": [["0x100ceba3", "shl edx, cl", "0x100d1ad2"]]}, {"orig": [], "recomp": [["0x100d1ad4", "mov ecx, dword ptr [<OFFSET7>]"], ["0x100d1ada", "or edx, ebx"], ["0x100d1adc", "mov ebx, edx"], ["0x100d1ade", "and edx, 0xff"]]}, {"both": [["0x100ceba5", "add al, 0x10", "0x100d1ae4"]]}, {"orig": [["0x100ceba7", "or ebx, edx"], ["0x100ceba9", "jmp 0x5"]], "recomp": [["0x100d1ae6", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d1ae9", "shr ebx, cl"], ["0x100d1aeb", "sub al, cl"], ["0x100d1aed", "shr ecx, 8"], ["0x100d1af0", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d1af6", "mov edx, dword ptr [ecx]"], ["0x100d1af8", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d1aff", "jne 0x63"], ["0x100d1b01", "jmp 0x37"], ["0x100d1b03", "xchg ebx, ebx"], ["0x100d1b05", "xchg ecx, ecx"], ["0x100d1b07", "xchg ebx, ebx"], ["0x100d1b09", "xchg ecx, ecx"]]}, {"both": [["0x100cebab", "xchg ebx, ebx", "0x100d1b0b"], ["0x100cebad", "xchg ecx, ecx", "0x100d1b0d"], ["0x100cebaf", "nop ", "0x100d1b0f"]]}, {"orig": [["0x100cebb0", "mov cx, bx"], ["0x100cebb3", "mov edx, dword ptr [<OFFSET7>]"], ["0x100cebb9", "and ecx, 0xff"], ["0x100cebbf", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d1b10", "mov dx, bx"], ["0x100d1b13", "mov ecx, dword ptr [<OFFSET7>]"], ["0x100d1b19", "and edx, 0xff"], ["0x100d1b1f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cebc2", "shr ebx, cl", "0x100d1b22"], ["0x100cebc4", "sub al, cl", "0x100d1b24"], ["0x100cebc6", "shr ecx, 8", "0x100d1b26"], ["0x100cebc9", "add ecx, dword ptr [<OFFSET1>]", "0x100d1b29"], ["0x100cebcf", "mov edx, dword ptr [ecx]", "0x100d1b2f"], ["0x100cebd1", "cmp dx, word ptr [<OFFSET2>]", "0x100d1b31"], ["0x100cebd8", "jne 0x2a", "0x100d1b38"], ["0x100cebda", "shr edx, 0xd", "0x100d1b3a"], ["0x100cebdd", "dec al", "0x100d1b3d"], ["0x100cebdf", "jne 0x7", "0x100d1b3f"]]}]], ["@@ -0x100cebe3,63 +0x100d1b43,78 @@", [{"both": [["0x100cebe3", "add esi, 4", "0x100d1b43"], ["0x100cebe6", "mov al, 0x20", "0x100d1b46"], ["0x100cebe8", "and edx, 0xffff8", "0x100d1b48"], ["0x100cebee", "shr ebx, 1", "0x100d1b4e"], ["0x100cebf0", "jb 0x5", "0x100d1b50"], ["0x100cebf2", "mov edx, 4", "0x100d1b52"], ["0x100cebf7", "add ecx, edx", "0x100d1b57"], ["0x100cebf9", "mov edx, dword ptr [ecx]", "0x100d1b59"], ["0x100cebfb", "cmp dx, word ptr [<OFFSET2>]", "0x100d1b5b"], ["0x100cec02", "je -0x2a", "0x100d1b62"]]}, {"orig": [], "recomp": [["0x100d1b64", "mov ecx, dword ptr [<OFFSET20>]"], ["0x100d1b6a", "ror edx, 0x10"]]}, {"both": [["0x100cec04", "mov byte ptr [<OFFSET8>], al", "0x100d1b6d"]]}, {"orig": [["0x100cec09", "shld ecx, edx, 0x10"], ["0x100cec0d", "mov ax, cx"], ["0x100cec10", "mov ecx, dword ptr [<OFFSET19>]"]], "recomp": [["0x100d1b72", "mov ax, dx"], ["0x100d1b75", "ror edx, 0x10"]]}, {"both": [["0x100cec16", "cmp dword ptr [ecx], edx", "0x100d1b78"], ["0x100cec18", "je 0x20", "0x100d1b7a"]]}, {"orig": [["0x100cec1a", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d1b7c", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cec1f", "mov eax, dword ptr [ecx]", "0x100d1b81"], ["0x100cec21", "mov dword ptr [ecx], edx", "0x100d1b83"]]}, {"orig": [["0x100cec23", "mov ecx, dword ptr [<OFFSET21>]"]], "recomp": [["0x100d1b85", "mov ecx, dword ptr [<OFFSET22>]"]]}, {"both": [["0x100cec29", "mov edx, dword ptr [ecx]", "0x100d1b8b"], ["0x100cec2b", "mov dword ptr [ecx], eax", "0x100d1b8d"]]}, {"orig": [["0x100cec2d", "mov ecx, dword ptr [<OFFSET22>]"]], "recomp": [["0x100d1b8f", "mov ecx, dword ptr [<OFFSET23>]"], ["0x100d1b95", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cec33", "mov dword ptr [ecx], edx", "0x100d1b9a"]]}, {"orig": [["0x100cec35", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cec3a", "mov edx, eax", "0x100d1b9c"], ["0x100cec3c", "and edx, 0xfc", "0x100d1b9e"], ["0x100cec42", "mov ecx, eax", "0x100d1ba4"]]}, {"orig": [["0x100cec44", "mov edx, dword ptr [edx + <OFFSET23>]"]], "recomp": [["0x100d1ba6", "mov edx, dword ptr [edx + <OFFSET24>]"]]}, {"both": [["0x100cec4a", "and ecx, 3", "0x100d1bac"]]}, {"orig": [["0x100cec4d", "mov dword ptr [<OFFSET24>], edx"], ["0x100cec53", "jmp dword ptr cs:[ecx*4 + <OFFSET25>]"]], "recomp": [["0x100d1baf", "mov dword ptr [<OFFSET25>], edx"], ["0x100d1bb5", "jmp dword ptr cs:[ecx*4 + <OFFSET26>]"], ["0x100d1bbd", "xchg ebx, ebx"], ["0x100d1bbf", "nop "], ["0x100d1bc0", "mov al, byte ptr [<OFFSET8>]"], ["0x100d1bc5", "cmp al, 0xa"], ["0x100d1bc7", "ja 0x47"], ["0x100d1bc9", "mov cl, al"], ["0x100d1bcb", "mov edx, dword ptr [esi]"], ["0x100d1bcd", "dec cl"], ["0x100d1bcf", "add esi, 2"], ["0x100d1bd2", "shl edx, cl"], ["0x100d1bd4", "mov ecx, dword ptr [<OFFSET5>]"], ["0x100d1bda", "or edx, ebx"], ["0x100d1bdc", "mov ebx, edx"], ["0x100d1bde", "and edx, 0x3ff"], ["0x100d1be4", "add al, 0x10"], ["0x100d1be6", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d1be9", "shr ebx, cl"], ["0x100d1beb", "sub al, cl"], ["0x100d1bed", "shr ecx, 8"], ["0x100d1bf0", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d1bf6", "mov edx, dword ptr [ecx]"], ["0x100d1bf8", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d1bff", "jne 0x63"], ["0x100d1c01", "jmp 0x37"], ["0x100d1c03", "xchg ebx, ebx"], ["0x100d1c05", "xchg ecx, ecx"], ["0x100d1c07", "xchg ebx, ebx"], ["0x100d1c09", "xchg ecx, ecx"]]}, {"both": [["0x100cec5b", "xchg ebx, ebx", "0x100d1c0b"], ["0x100cec5d", "xchg ecx, ecx", "0x100d1c0d"], ["0x100cec5f", "nop ", "0x100d1c0f"]]}, {"orig": [["0x100cec60", "mov al, byte ptr [<OFFSET8>]"], ["0x100cec65", "cmp al, 0x11"], ["0x100cec67", "ja 0x17"], ["0x100cec69", "mov cl, al"], ["0x100cec6b", "movzx edx, word ptr [esi]"], ["0x100cec6e", "add esi, 2"], ["0x100cec71", "dec cl"], ["0x100cec73", "shl edx, cl"], ["0x100cec75", "add al, 0x10"], ["0x100cec77", "or ebx, edx"], ["0x100cec79", "jmp 0x5"], ["0x100cec7b", "xchg ebx, ebx"], ["0x100cec7d", "xchg ecx, ecx"], ["0x100cec7f", "nop "], ["0x100cec80", "mov cx, bx"], ["0x100cec83", "mov edx, dword ptr [<OFFSET5>]"], ["0x100cec89", "and ecx, 0x3ff"], ["0x100cec8f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d1c10", "mov dx, bx"], ["0x100d1c13", "mov ecx, dword ptr [<OFFSET5>]"], ["0x100d1c19", "and edx, 0x3ff"], ["0x100d1c1f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cec92", "shr ebx, cl", "0x100d1c22"], ["0x100cec94", "sub al, cl", "0x100d1c24"], ["0x100cec96", "shr ecx, 8", "0x100d1c26"], ["0x100cec99", "add ecx, dword ptr [<OFFSET1>]", "0x100d1c29"], ["0x100cec9f", "mov edx, dword ptr [ecx]", "0x100d1c2f"], ["0x100ceca1", "cmp dx, word ptr [<OFFSET2>]", "0x100d1c31"], ["0x100ceca8", "jne 0x2a", "0x100d1c38"], ["0x100cecaa", "shr edx, 0xd", "0x100d1c3a"], ["0x100cecad", "dec al", "0x100d1c3d"], ["0x100cecaf", "jne 0x7", "0x100d1c3f"]]}]], ["@@ -0x100cecb3,49 +0x100d1c43,64 @@", [{"both": [["0x100cecb3", "add esi, 4", "0x100d1c43"], ["0x100cecb6", "mov al, 0x20", "0x100d1c46"], ["0x100cecb8", "and edx, 0xffff8", "0x100d1c48"], ["0x100cecbe", "shr ebx, 1", "0x100d1c4e"], ["0x100cecc0", "jb 0x5", "0x100d1c50"], ["0x100cecc2", "mov edx, 4", "0x100d1c52"], ["0x100cecc7", "add ecx, edx", "0x100d1c57"], ["0x100cecc9", "mov edx, dword ptr [ecx]", "0x100d1c59"], ["0x100ceccb", "cmp dx, word ptr [<OFFSET2>]", "0x100d1c5b"], ["0x100cecd2", "je -0x2a", "0x100d1c62"]]}, {"orig": [], "recomp": [["0x100d1c64", "mov ecx, dword ptr [<OFFSET27>]"]]}, {"both": [["0x100cecd4", "mov byte ptr [<OFFSET8>], al", "0x100d1c6a"], ["0x100cecd9", "mov eax, edx", "0x100d1c6f"]]}, {"orig": [["0x100cecdb", "mov ecx, dword ptr [<OFFSET26>]"]], "recomp": []}, {"both": [["0x100cece1", "cmp dword ptr [ecx], edx", "0x100d1c71"], ["0x100cece3", "je 0x20", "0x100d1c73"]]}, {"orig": [["0x100cece5", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d1c75", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cecea", "mov eax, dword ptr [ecx]", "0x100d1c7a"], ["0x100cecec", "mov dword ptr [ecx], edx", "0x100d1c7c"]]}, {"orig": [["0x100cecee", "mov ecx, dword ptr [<OFFSET27>]"]], "recomp": [["0x100d1c7e", "mov ecx, dword ptr [<OFFSET28>]"]]}, {"both": [["0x100cecf4", "mov edx, dword ptr [ecx]", "0x100d1c84"], ["0x100cecf6", "mov dword ptr [ecx], eax", "0x100d1c86"]]}, {"orig": [["0x100cecf8", "mov ecx, dword ptr [<OFFSET28>]"]], "recomp": [["0x100d1c88", "mov ecx, dword ptr [<OFFSET29>]"], ["0x100d1c8e", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cecfe", "mov dword ptr [ecx], edx", "0x100d1c93"]]}, {"orig": [["0x100ced00", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100ced05", "mov al, byte ptr [<OFFSET8>]", "0x100d1c95"]]}, {"orig": [["0x100ced0a", "cmp al, 0x11"], ["0x100ced0c", "ja 0x12"]], "recomp": [["0x100d1c9a", "cmp al, 0xb"], ["0x100d1c9c", "ja 0x42"]]}, {"both": [["0x100ced0e", "mov cl, al", "0x100d1c9e"]]}, {"orig": [["0x100ced10", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d1ca0", "mov edx, dword ptr [esi]"], ["0x100d1ca2", "dec cl"]]}, {"both": [["0x100ced13", "add esi, 2", "0x100d1ca4"]]}, {"orig": [["0x100ced16", "dec cl"]], "recomp": []}, {"both": [["0x100ced18", "shl edx, cl", "0x100d1ca7"]]}, {"orig": [], "recomp": [["0x100d1ca9", "mov ecx, dword ptr [<OFFSET4>]"], ["0x100d1caf", "or edx, ebx"], ["0x100d1cb1", "mov ebx, edx"], ["0x100d1cb3", "and edx, 0x7ff"]]}, {"both": [["0x100ced1a", "add al, 0x10", "0x100d1cb9"]]}, {"orig": [["0x100ced1c", "or ebx, edx"], ["0x100ced1e", "jmp 0x0"], ["0x100ced20", "mov cx, bx"], ["0x100ced23", "mov edx, dword ptr [<OFFSET4>]"], ["0x100ced29", "and ecx, 0x7ff"], ["0x100ced2f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d1cbb", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d1cbe", "shr ebx, cl"], ["0x100d1cc0", "sub al, cl"], ["0x100d1cc2", "shr ecx, 8"], ["0x100d1cc5", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d1ccb", "mov edx, dword ptr [ecx]"], ["0x100d1ccd", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d1cd4", "jne 0x5e"], ["0x100d1cd6", "jmp 0x32"], ["0x100d1cd8", "xchg ebx, ebx"], ["0x100d1cda", "xchg ecx, ecx"], ["0x100d1cdc", "xchg ebx, ebx"], ["0x100d1cde", "xchg ecx, ecx"], ["0x100d1ce0", "mov dx, bx"], ["0x100d1ce3", "mov ecx, dword ptr [<OFFSET4>]"], ["0x100d1ce9", "and edx, 0x7ff"], ["0x100d1cef", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100ced32", "shr ebx, cl", "0x100d1cf2"], ["0x100ced34", "sub al, cl", "0x100d1cf4"], ["0x100ced36", "shr ecx, 8", "0x100d1cf6"], ["0x100ced39", "add ecx, dword ptr [<OFFSET1>]", "0x100d1cf9"], ["0x100ced3f", "mov edx, dword ptr [ecx]", "0x100d1cff"], ["0x100ced41", "cmp dx, word ptr [<OFFSET2>]", "0x100d1d01"], ["0x100ced48", "jne 0x2a", "0x100d1d08"], ["0x100ced4a", "shr edx, 0xd", "0x100d1d0a"], ["0x100ced4d", "dec al", "0x100d1d0d"], ["0x100ced4f", "jne 0x7", "0x100d1d0f"]]}]], ["@@ -0x100ced53,49 +0x100d1d13,49 @@", [{"both": [["0x100ced53", "add esi, 4", "0x100d1d13"], ["0x100ced56", "mov al, 0x20", "0x100d1d16"], ["0x100ced58", "and edx, 0xffff8", "0x100d1d18"], ["0x100ced5e", "shr ebx, 1", "0x100d1d1e"], ["0x100ced60", "jb 0x5", "0x100d1d20"], ["0x100ced62", "mov edx, 4", "0x100d1d22"], ["0x100ced67", "add ecx, edx", "0x100d1d27"], ["0x100ced69", "mov edx, dword ptr [ecx]", "0x100d1d29"], ["0x100ced6b", "cmp dx, word ptr [<OFFSET2>]", "0x100d1d2b"], ["0x100ced72", "je -0x2a", "0x100d1d32"]]}, {"orig": [], "recomp": [["0x100d1d34", "mov ecx, dword ptr [<OFFSET30>]"], ["0x100d1d3a", "ror edx, 0x10"]]}, {"both": [["0x100ced74", "mov byte ptr [<OFFSET8>], al", "0x100d1d3d"]]}, {"orig": [["0x100ced79", "shld ecx, edx, 0x10"], ["0x100ced7d", "mov ax, cx"], ["0x100ced80", "mov ecx, dword ptr [<OFFSET29>]"]], "recomp": [["0x100d1d42", "mov ax, dx"], ["0x100d1d45", "ror edx, 0x10"]]}, {"both": [["0x100ced86", "cmp dword ptr [ecx], edx", "0x100d1d48"], ["0x100ced88", "je 0x20", "0x100d1d4a"]]}, {"orig": [["0x100ced8a", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d1d4c", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100ced8f", "mov eax, dword ptr [ecx]", "0x100d1d51"], ["0x100ced91", "mov dword ptr [ecx], edx", "0x100d1d53"]]}, {"orig": [["0x100ced93", "mov ecx, dword ptr [<OFFSET30>]"]], "recomp": [["0x100d1d55", "mov ecx, dword ptr [<OFFSET31>]"]]}, {"both": [["0x100ced99", "mov edx, dword ptr [ecx]", "0x100d1d5b"], ["0x100ced9b", "mov dword ptr [ecx], eax", "0x100d1d5d"]]}, {"orig": [["0x100ced9d", "mov ecx, dword ptr [<OFFSET31>]"]], "recomp": [["0x100d1d5f", "mov ecx, dword ptr [<OFFSET32>]"], ["0x100d1d65", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100ceda3", "mov dword ptr [ecx], edx", "0x100d1d6a"]]}, {"orig": [["0x100ceda5", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cedaa", "mov edx, eax", "0x100d1d6c"], ["0x100cedac", "mov ecx, eax", "0x100d1d6e"], ["0x100cedae", "ror eax, 0x10", "0x100d1d70"], ["0x100cedb1", "mov dx, ax", "0x100d1d73"], ["0x100cedb4", "shrd eax, ecx, 0x1c", "0x100d1d76"], ["0x100cedb8", "and eax, 0xf0", "0x100d1d7a"]]}, {"orig": [["0x100cedbd", "add eax, <OFFSET32>"]], "recomp": [["0x100d1d7f", "add eax, <OFFSET33>"]]}, {"both": [["0x100cedc2", "jmp eax", "0x100d1d84"], ["0x100cedc4", "xchg ebx, ebx", "0x100d1d86"], ["0x100cedc6", "xchg ecx, ecx", "0x100d1d88"], ["0x100cedc8", "xchg ebx, ebx", "0x100d1d8a"], ["0x100cedca", "xchg ecx, ecx", "0x100d1d8c"], ["0x100cedcc", "xchg ebx, ebx", "0x100d1d8e"]]}, {"orig": [["0x100cedce", "xchg ecx, ecx"]], "recomp": []}, {"both": [["0x100cedd0", "mov al, dl", "0x100d1d90"], ["0x100cedd2", "mov ah, dl", "0x100d1d92"], ["0x100cedd4", "shl eax, 0x10", "0x100d1d94"], ["0x100cedd7", "mov al, dl", "0x100d1d97"], ["0x100cedd9", "mov ah, dl", "0x100d1d99"], ["0x100ceddb", "jmp 0xf0", "0x100d1d9b"], ["0x100cede0", "mov eax, edx", "0x100d1da0"], ["0x100cede2", "mov ah, dl", "0x100d1da2"], ["0x100cede4", "rol eax, 8", "0x100d1da4"], ["0x100cede7", "jmp 0xe4", "0x100d1da7"]]}]], ["@@ -0x100ceec4,21 +0x100d1e84,21 @@", [{"both": [["0x100ceec4", "shl eax, 0x10", "0x100d1e84"], ["0x100ceec7", "mov al, dh", "0x100d1e87"], ["0x100ceec9", "mov ah, dh", "0x100d1e89"], ["0x100ceecb", "jmp 0x3", "0x100d1e8b"], ["0x100ceecd", "xchg ebx, ebx", "0x100d1e8d"], ["0x100ceecf", "nop ", "0x100d1e8f"], ["0x100ceed0", "mov dword ptr [edi], eax", "0x100d1e90"], ["0x100ceed2", "mov eax, ecx", "0x100d1e92"], ["0x100ceed4", "add edi, ebp", "0x100d1e94"], ["0x100ceed6", "and eax, 0xf0", "0x100d1e96"]]}, {"orig": [["0x100ceedb", "add eax, <OFFSET33>"]], "recomp": [["0x100d1e9b", "add eax, <OFFSET34>"]]}, {"both": [["0x100ceee0", "jmp eax", "0x100d1ea0"], ["0x100ceee2", "xchg ebx, ebx", "0x100d1ea2"], ["0x100ceee4", "xchg ecx, ecx", "0x100d1ea4"], ["0x100ceee6", "xchg ebx, ebx", "0x100d1ea6"], ["0x100ceee8", "xchg ecx, ecx", "0x100d1ea8"], ["0x100ceeea", "xchg ebx, ebx", "0x100d1eaa"], ["0x100ceeec", "xchg ecx, ecx", "0x100d1eac"], ["0x100ceeee", "xchg ebx, ebx", "0x100d1eae"], ["0x100ceef0", "mov al, dl", "0x100d1eb0"], ["0x100ceef2", "mov ah, dl", "0x100d1eb2"]]}]], ["@@ -0x100cefe2,21 +0x100d1fa2,21 @@", [{"both": [["0x100cefe2", "mov ah, dh", "0x100d1fa2"], ["0x100cefe4", "shl eax, 0x10", "0x100d1fa4"], ["0x100cefe7", "mov al, dh", "0x100d1fa7"], ["0x100cefe9", "mov ah, dh", "0x100d1fa9"], ["0x100cefeb", "jmp 0x3", "0x100d1fab"], ["0x100cefed", "xchg ebx, ebx", "0x100d1fad"], ["0x100cefef", "nop ", "0x100d1faf"], ["0x100ceff0", "mov dword ptr [edi], eax", "0x100d1fb0"], ["0x100ceff2", "shld eax, ecx, 0x1c", "0x100d1fb2"], ["0x100ceff6", "and eax, 0xf0", "0x100d1fb6"]]}, {"orig": [["0x100ceffb", "add eax, <OFFSET34>"]], "recomp": [["0x100d1fbb", "add eax, <OFFSET35>"]]}, {"both": [["0x100cf000", "jmp eax", "0x100d1fc0"], ["0x100cf002", "xchg ebx, ebx", "0x100d1fc2"], ["0x100cf004", "xchg ecx, ecx", "0x100d1fc4"], ["0x100cf006", "xchg ebx, ebx", "0x100d1fc6"], ["0x100cf008", "xchg ecx, ecx", "0x100d1fc8"], ["0x100cf00a", "xchg ebx, ebx", "0x100d1fca"], ["0x100cf00c", "xchg ecx, ecx", "0x100d1fcc"], ["0x100cf00e", "xchg ebx, ebx", "0x100d1fce"], ["0x100cf010", "mov al, dl", "0x100d1fd0"], ["0x100cf012", "mov ah, dl", "0x100d1fd2"]]}]], ["@@ -0x100cf102,21 +0x100d20c2,21 @@", [{"both": [["0x100cf102", "mov ah, dh", "0x100d20c2"], ["0x100cf104", "shl eax, 0x10", "0x100d20c4"], ["0x100cf107", "mov al, dh", "0x100d20c7"], ["0x100cf109", "mov ah, dh", "0x100d20c9"], ["0x100cf10b", "jmp 0x3", "0x100d20cb"], ["0x100cf10d", "xchg ebx, ebx", "0x100d20cd"], ["0x100cf10f", "nop ", "0x100d20cf"], ["0x100cf110", "mov dword ptr [edi + ebp], eax", "0x100d20d0"], ["0x100cf113", "shld eax, ecx, 0x18", "0x100d20d3"], ["0x100cf117", "and eax, 0xf0", "0x100d20d7"]]}, {"orig": [["0x100cf11c", "add eax, <OFFSET35>"]], "recomp": [["0x100d20dc", "add eax, <OFFSET36>"]]}, {"both": [["0x100cf121", "jmp eax", "0x100d20e1"], ["0x100cf123", "xchg ebx, ebx", "0x100d20e3"], ["0x100cf125", "xchg ecx, ecx", "0x100d20e5"], ["0x100cf127", "xchg ebx, ebx", "0x100d20e7"], ["0x100cf129", "xchg ecx, ecx", "0x100d20e9"], ["0x100cf12b", "xchg ebx, ebx", "0x100d20eb"], ["0x100cf12d", "xchg ecx, ecx", "0x100d20ed"], ["0x100cf12f", "nop ", "0x100d20ef"], ["0x100cf130", "mov al, dl", "0x100d20f0"], ["0x100cf132", "mov ah, dl", "0x100d20f2"]]}]], ["@@ -0x100cf224,52 +0x100d21e4,52 @@", [{"both": [["0x100cf224", "shl eax, 0x10", "0x100d21e4"], ["0x100cf227", "mov al, dh", "0x100d21e7"], ["0x100cf229", "mov ah, dh", "0x100d21e9"], ["0x100cf22b", "jmp 0x3", "0x100d21eb"], ["0x100cf22d", "xchg ebx, ebx", "0x100d21ed"], ["0x100cf22f", "nop ", "0x100d21ef"], ["0x100cf230", "mov dword ptr [edi + ebp*2], eax", "0x100d21f0"], ["0x100cf233", "sub edi, dword ptr [<OFFSET15>]", "0x100d21f3"], ["0x100cf239", "dec dword ptr [<OFFSET14>]", "0x100d21f9"], ["0x100cf23f", "je 0x1f", "0x100d21ff"]]}, {"orig": [["0x100cf241", "dec dword ptr [<OFFSET24>]"], ["0x100cf247", "jne -0x5ed"], ["0x100cf24d", "jmp -0x6c2"]], "recomp": [["0x100d2201", "dec dword ptr [<OFFSET25>]"], ["0x100d2207", "jne -0x64d"], ["0x100d220d", "jmp -0x752"]]}, {"both": [["0x100cf252", "xchg ebx, ebx", "0x100d2212"], ["0x100cf254", "xchg ecx, ecx", "0x100d2214"], ["0x100cf256", "xchg ebx, ebx", "0x100d2216"], ["0x100cf258", "xchg ecx, ecx", "0x100d2218"], ["0x100cf25a", "xchg ebx, ebx", "0x100d221a"], ["0x100cf25c", "xchg ecx, ecx", "0x100d221c"], ["0x100cf25e", "xchg ebx, ebx", "0x100d221e"], ["0x100cf260", "dec dword ptr [<OFFSET18>]", "0x100d2220"], ["0x100cf266", "je 0x28", "0x100d2226"], ["0x100cf268", "add edi, dword ptr [<OFFSET17>]", "0x100d2228"], ["0x100cf26e", "mov eax, dword ptr [<OFFSET13>]", "0x100d222e"], ["0x100cf273", "mov dword ptr [<OFFSET14>], eax", "0x100d2233"]]}, {"orig": [["0x100cf278", "dec dword ptr [<OFFSET24>]"], ["0x100cf27e", "jne -0x624"], ["0x100cf284", "jmp -0x6f9"]], "recomp": [["0x100d2238", "dec dword ptr [<OFFSET25>]"], ["0x100d223e", "jne -0x684"], ["0x100d2244", "jmp -0x789"]]}, {"both": [["0x100cf289", "xchg ebx, ebx", "0x100d2249"], ["0x100cf28b", "xchg ecx, ecx", "0x100d224b"], ["0x100cf28d", "xchg ebx, ebx", "0x100d224d"], ["0x100cf28f", "nop ", "0x100d224f"], ["0x100cf290", "push eax", "0x100d2250"], ["0x100cf291", "mov edi, dword ptr [<OFFSET11>]", "0x100d2251"], ["0x100cf297", "mov ax, word ptr [edi]", "0x100d2257"], ["0x100cf29a", "cmp ax, 0xfffd", "0x100d225a"], ["0x100cf29e", "jb 0x20", "0x100d225e"], ["0x100cf2a0", "cmp ax, 0xfffe", "0x100d2260"]]}, {"orig": [["0x100cf2a4", "ja 0x8e6"]], "recomp": [["0x100d2264", "ja 0xa66"]]}, {"both": [["0x100cf2aa", "je 0x1a", "0x100d226a"]]}, {"orig": [["0x100cf2ac", "push <OFFSET36>"], ["0x100cf2b1", "jmp -0x18dd"]], "recomp": [["0x100d226c", "push <OFFSET37>"], ["0x100d2271", "jmp -0x1b66"]]}, {"both": [["0x100cf2b6", "xchg ebx, ebx", "0x100d2276"], ["0x100cf2b8", "xchg ecx, ecx", "0x100d2278"], ["0x100cf2ba", "xchg ebx, ebx", "0x100d227a"], ["0x100cf2bc", "xchg ecx, ecx", "0x100d227c"], ["0x100cf2be", "xchg ebx, ebx", "0x100d227e"], ["0x100cf2c0", "call dword ptr [<OFFSET9>]", "0x100d2280"], ["0x100cf2c6", "add edi, 2", "0x100d2286"], ["0x100cf2c9", "movzx eax, word ptr [edi]", "0x100d2289"], ["0x100cf2cc", "mov ebp, eax", "0x100d228c"], ["0x100cf2ce", "movzx eax, word ptr [edi + 2]", "0x100d228e"]]}]], ["@@ -0x100cf31d,37 +0x100d22dd,52 @@", [{"both": [["0x100cf31d", "pop eax", "0x100d22dd"], ["0x100cf31e", "jmp -0xb5", "0x100d22de"], ["0x100cf323", "xchg ebx, ebx", "0x100d22e3"], ["0x100cf325", "xchg ecx, ecx", "0x100d22e5"], ["0x100cf327", "xchg ebx, ebx", "0x100d22e7"], ["0x100cf329", "xchg ecx, ecx", "0x100d22e9"], ["0x100cf32b", "xchg ebx, ebx", "0x100d22eb"], ["0x100cf32d", "xchg ecx, ecx", "0x100d22ed"], ["0x100cf32f", "nop ", "0x100d22ef"], ["0x100cf330", "mov al, byte ptr [<OFFSET8>]", "0x100d22f0"]]}, {"orig": [["0x100cf335", "cmp al, 0x11"], ["0x100cf337", "ja 0x17"]], "recomp": [["0x100d22f5", "cmp al, 0xc"], ["0x100d22f7", "ja 0x47"]]}, {"both": [["0x100cf339", "mov cl, al", "0x100d22f9"]]}, {"orig": [["0x100cf33b", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d22fb", "mov edx, dword ptr [esi]"], ["0x100d22fd", "dec cl"]]}, {"both": [["0x100cf33e", "add esi, 2", "0x100d22ff"]]}, {"orig": [["0x100cf341", "dec cl"]], "recomp": []}, {"both": [["0x100cf343", "shl edx, cl", "0x100d2302"]]}, {"orig": [], "recomp": [["0x100d2304", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d230a", "or edx, ebx"], ["0x100d230c", "mov ebx, edx"], ["0x100d230e", "and edx, 0xfff"]]}, {"both": [["0x100cf345", "add al, 0x10", "0x100d2314"]]}, {"orig": [["0x100cf347", "or ebx, edx"], ["0x100cf349", "jmp 0x5"]], "recomp": [["0x100d2316", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d2319", "shr ebx, cl"], ["0x100d231b", "sub al, cl"], ["0x100d231d", "shr ecx, 8"], ["0x100d2320", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d2326", "mov edx, dword ptr [ecx]"], ["0x100d2328", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d232f", "jne 0x63"], ["0x100d2331", "jmp 0x37"], ["0x100d2333", "xchg ebx, ebx"], ["0x100d2335", "xchg ecx, ecx"], ["0x100d2337", "xchg ebx, ebx"], ["0x100d2339", "xchg ecx, ecx"]]}, {"both": [["0x100cf34b", "xchg ebx, ebx", "0x100d233b"], ["0x100cf34d", "xchg ecx, ecx", "0x100d233d"], ["0x100cf34f", "nop ", "0x100d233f"]]}, {"orig": [["0x100cf350", "mov cx, bx"], ["0x100cf353", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf359", "and ecx, 0xfff"], ["0x100cf35f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d2340", "mov dx, bx"], ["0x100d2343", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2349", "and edx, 0xfff"], ["0x100d234f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf362", "shr ebx, cl", "0x100d2352"], ["0x100cf364", "sub al, cl", "0x100d2354"], ["0x100cf366", "shr ecx, 8", "0x100d2356"], ["0x100cf369", "add ecx, dword ptr [<OFFSET1>]", "0x100d2359"], ["0x100cf36f", "mov edx, dword ptr [ecx]", "0x100d235f"], ["0x100cf371", "cmp dx, word ptr [<OFFSET2>]", "0x100d2361"], ["0x100cf378", "jne 0x2a", "0x100d2368"], ["0x100cf37a", "shr edx, 0xd", "0x100d236a"], ["0x100cf37d", "dec al", "0x100d236d"], ["0x100cf37f", "jne 0x7", "0x100d236f"]]}]], ["@@ -0x100cf383,49 +0x100d2373,64 @@", [{"both": [["0x100cf383", "add esi, 4", "0x100d2373"], ["0x100cf386", "mov al, 0x20", "0x100d2376"], ["0x100cf388", "and edx, 0xffff8", "0x100d2378"], ["0x100cf38e", "shr ebx, 1", "0x100d237e"], ["0x100cf390", "jb 0x5", "0x100d2380"], ["0x100cf392", "mov edx, 4", "0x100d2382"], ["0x100cf397", "add ecx, edx", "0x100d2387"], ["0x100cf399", "mov edx, dword ptr [ecx]", "0x100d2389"], ["0x100cf39b", "cmp dx, word ptr [<OFFSET2>]", "0x100d238b"], ["0x100cf3a2", "je -0x2a", "0x100d2392"]]}, {"orig": [], "recomp": [["0x100d2394", "mov ecx, dword ptr [<OFFSET38>]"]]}, {"both": [["0x100cf3a4", "mov byte ptr [<OFFSET8>], al", "0x100d239a"], ["0x100cf3a9", "mov eax, edx", "0x100d239f"]]}, {"orig": [["0x100cf3ab", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": []}, {"both": [["0x100cf3b1", "cmp dword ptr [ecx], edx", "0x100d23a1"], ["0x100cf3b3", "je 0x20", "0x100d23a3"]]}, {"orig": [["0x100cf3b5", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d23a5", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf3ba", "mov eax, dword ptr [ecx]", "0x100d23aa"], ["0x100cf3bc", "mov dword ptr [ecx], edx", "0x100d23ac"]]}, {"orig": [["0x100cf3be", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d23ae", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf3c4", "mov edx, dword ptr [ecx]", "0x100d23b4"], ["0x100cf3c6", "mov dword ptr [ecx], eax", "0x100d23b6"]]}, {"orig": [["0x100cf3c8", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d23b8", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d23be", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf3ce", "mov dword ptr [ecx], edx", "0x100d23c3"]]}, {"orig": [["0x100cf3d0", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf3d5", "mov al, byte ptr [<OFFSET8>]", "0x100d23c5"]]}, {"orig": [["0x100cf3da", "cmp al, 0x11"], ["0x100cf3dc", "ja 0x12"]], "recomp": [["0x100d23ca", "cmp al, 0xc"], ["0x100d23cc", "ja 0x42"]]}, {"both": [["0x100cf3de", "mov cl, al", "0x100d23ce"]]}, {"orig": [["0x100cf3e0", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d23d0", "mov edx, dword ptr [esi]"], ["0x100d23d2", "dec cl"]]}, {"both": [["0x100cf3e3", "add esi, 2", "0x100d23d4"]]}, {"orig": [["0x100cf3e6", "dec cl"]], "recomp": []}, {"both": [["0x100cf3e8", "shl edx, cl", "0x100d23d7"]]}, {"orig": [], "recomp": [["0x100d23d9", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d23df", "or edx, ebx"], ["0x100d23e1", "mov ebx, edx"], ["0x100d23e3", "and edx, 0xfff"]]}, {"both": [["0x100cf3ea", "add al, 0x10", "0x100d23e9"]]}, {"orig": [["0x100cf3ec", "or ebx, edx"], ["0x100cf3ee", "jmp 0x0"], ["0x100cf3f0", "mov cx, bx"], ["0x100cf3f3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf3f9", "and ecx, 0xfff"], ["0x100cf3ff", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d23eb", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d23ee", "shr ebx, cl"], ["0x100d23f0", "sub al, cl"], ["0x100d23f2", "shr ecx, 8"], ["0x100d23f5", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d23fb", "mov edx, dword ptr [ecx]"], ["0x100d23fd", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d2404", "jne 0x5e"], ["0x100d2406", "jmp 0x32"], ["0x100d2408", "xchg ebx, ebx"], ["0x100d240a", "xchg ecx, ecx"], ["0x100d240c", "xchg ebx, ebx"], ["0x100d240e", "xchg ecx, ecx"], ["0x100d2410", "mov dx, bx"], ["0x100d2413", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2419", "and edx, 0xfff"], ["0x100d241f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf402", "shr ebx, cl", "0x100d2422"], ["0x100cf404", "sub al, cl", "0x100d2424"], ["0x100cf406", "shr ecx, 8", "0x100d2426"], ["0x100cf409", "add ecx, dword ptr [<OFFSET1>]", "0x100d2429"], ["0x100cf40f", "mov edx, dword ptr [ecx]", "0x100d242f"], ["0x100cf411", "cmp dx, word ptr [<OFFSET2>]", "0x100d2431"], ["0x100cf418", "jne 0x2a", "0x100d2438"], ["0x100cf41a", "shr edx, 0xd", "0x100d243a"], ["0x100cf41d", "dec al", "0x100d243d"], ["0x100cf41f", "jne 0x7", "0x100d243f"]]}]], ["@@ -0x100cf423,56 +0x100d2443,71 @@", [{"both": [["0x100cf423", "add esi, 4", "0x100d2443"], ["0x100cf426", "mov al, 0x20", "0x100d2446"], ["0x100cf428", "and edx, 0xffff8", "0x100d2448"], ["0x100cf42e", "shr ebx, 1", "0x100d244e"], ["0x100cf430", "jb 0x5", "0x100d2450"], ["0x100cf432", "mov edx, 4", "0x100d2452"], ["0x100cf437", "add ecx, edx", "0x100d2457"], ["0x100cf439", "mov edx, dword ptr [ecx]", "0x100d2459"], ["0x100cf43b", "cmp dx, word ptr [<OFFSET2>]", "0x100d245b"], ["0x100cf442", "je -0x2a", "0x100d2462"]]}, {"orig": [], "recomp": [["0x100d2464", "mov ecx, dword ptr [<OFFSET38>]"], ["0x100d246a", "ror edx, 0x10"]]}, {"both": [["0x100cf444", "mov byte ptr [<OFFSET8>], al", "0x100d246d"]]}, {"orig": [["0x100cf449", "shld ecx, edx, 0x10"], ["0x100cf44d", "mov ax, cx"], ["0x100cf450", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": [["0x100d2472", "mov ax, dx"], ["0x100d2475", "ror edx, 0x10"]]}, {"both": [["0x100cf456", "cmp dword ptr [ecx], edx", "0x100d2478"], ["0x100cf458", "je 0x20", "0x100d247a"]]}, {"orig": [["0x100cf45a", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d247c", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf45f", "mov eax, dword ptr [ecx]", "0x100d2481"], ["0x100cf461", "mov dword ptr [ecx], edx", "0x100d2483"]]}, {"orig": [["0x100cf463", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d2485", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf469", "mov edx, dword ptr [ecx]", "0x100d248b"], ["0x100cf46b", "mov dword ptr [ecx], eax", "0x100d248d"]]}, {"orig": [["0x100cf46d", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d248f", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d2495", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf473", "mov dword ptr [ecx], edx", "0x100d249a"]]}, {"orig": [["0x100cf475", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf47a", "mov dword ptr [edi], eax", "0x100d249c"], ["0x100cf47c", "add edi, ebp", "0x100d249e"], ["0x100cf47e", "mov al, byte ptr [<OFFSET8>]", "0x100d24a0"]]}, {"orig": [["0x100cf483", "cmp al, 0x11"], ["0x100cf485", "ja 0x19"]], "recomp": [["0x100d24a5", "cmp al, 0xc"], ["0x100d24a7", "ja 0x47"]]}, {"both": [["0x100cf487", "mov cl, al", "0x100d24a9"]]}, {"orig": [["0x100cf489", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d24ab", "mov edx, dword ptr [esi]"], ["0x100d24ad", "dec cl"]]}, {"both": [["0x100cf48c", "add esi, 2", "0x100d24af"]]}, {"orig": [["0x100cf48f", "dec cl"]], "recomp": []}, {"both": [["0x100cf491", "shl edx, cl", "0x100d24b2"]]}, {"orig": [], "recomp": [["0x100d24b4", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d24ba", "or edx, ebx"], ["0x100d24bc", "mov ebx, edx"], ["0x100d24be", "and edx, 0xfff"]]}, {"both": [["0x100cf493", "add al, 0x10", "0x100d24c4"]]}, {"orig": [["0x100cf495", "or ebx, edx"], ["0x100cf497", "jmp 0x7"]], "recomp": [["0x100d24c6", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d24c9", "shr ebx, cl"], ["0x100d24cb", "sub al, cl"], ["0x100d24cd", "shr ecx, 8"], ["0x100d24d0", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d24d6", "mov edx, dword ptr [ecx]"], ["0x100d24d8", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d24df", "jne 0x63"], ["0x100d24e1", "jmp 0x37"]]}, {"both": [["0x100cf499", "xchg ebx, ebx", "0x100d24e3"], ["0x100cf49b", "xchg ecx, ecx", "0x100d24e5"], ["0x100cf49d", "xchg ebx, ebx", "0x100d24e7"]]}, {"orig": [], "recomp": [["0x100d24e9", "xchg ecx, ecx"], ["0x100d24eb", "xchg ebx, ebx"], ["0x100d24ed", "xchg ecx, ecx"]]}, {"both": [["0x100cf49f", "nop ", "0x100d24ef"]]}, {"orig": [["0x100cf4a0", "mov cx, bx"], ["0x100cf4a3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf4a9", "and ecx, 0xfff"], ["0x100cf4af", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d24f0", "mov dx, bx"], ["0x100d24f3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d24f9", "and edx, 0xfff"], ["0x100d24ff", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf4b2", "shr ebx, cl", "0x100d2502"], ["0x100cf4b4", "sub al, cl", "0x100d2504"], ["0x100cf4b6", "shr ecx, 8", "0x100d2506"], ["0x100cf4b9", "add ecx, dword ptr [<OFFSET1>]", "0x100d2509"], ["0x100cf4bf", "mov edx, dword ptr [ecx]", "0x100d250f"], ["0x100cf4c1", "cmp dx, word ptr [<OFFSET2>]", "0x100d2511"], ["0x100cf4c8", "jne 0x2a", "0x100d2518"], ["0x100cf4ca", "shr edx, 0xd", "0x100d251a"], ["0x100cf4cd", "dec al", "0x100d251d"], ["0x100cf4cf", "jne 0x7", "0x100d251f"]]}]], ["@@ -0x100cf4d3,49 +0x100d2523,64 @@", [{"both": [["0x100cf4d3", "add esi, 4", "0x100d2523"], ["0x100cf4d6", "mov al, 0x20", "0x100d2526"], ["0x100cf4d8", "and edx, 0xffff8", "0x100d2528"], ["0x100cf4de", "shr ebx, 1", "0x100d252e"], ["0x100cf4e0", "jb 0x5", "0x100d2530"], ["0x100cf4e2", "mov edx, 4", "0x100d2532"], ["0x100cf4e7", "add ecx, edx", "0x100d2537"], ["0x100cf4e9", "mov edx, dword ptr [ecx]", "0x100d2539"], ["0x100cf4eb", "cmp dx, word ptr [<OFFSET2>]", "0x100d253b"], ["0x100cf4f2", "je -0x2a", "0x100d2542"]]}, {"orig": [], "recomp": [["0x100d2544", "mov ecx, dword ptr [<OFFSET38>]"]]}, {"both": [["0x100cf4f4", "mov byte ptr [<OFFSET8>], al", "0x100d254a"], ["0x100cf4f9", "mov eax, edx", "0x100d254f"]]}, {"orig": [["0x100cf4fb", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": []}, {"both": [["0x100cf501", "cmp dword ptr [ecx], edx", "0x100d2551"], ["0x100cf503", "je 0x20", "0x100d2553"]]}, {"orig": [["0x100cf505", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d2555", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf50a", "mov eax, dword ptr [ecx]", "0x100d255a"], ["0x100cf50c", "mov dword ptr [ecx], edx", "0x100d255c"]]}, {"orig": [["0x100cf50e", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d255e", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf514", "mov edx, dword ptr [ecx]", "0x100d2564"], ["0x100cf516", "mov dword ptr [ecx], eax", "0x100d2566"]]}, {"orig": [["0x100cf518", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d2568", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d256e", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf51e", "mov dword ptr [ecx], edx", "0x100d2573"]]}, {"orig": [["0x100cf520", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf525", "mov al, byte ptr [<OFFSET8>]", "0x100d2575"]]}, {"orig": [["0x100cf52a", "cmp al, 0x11"], ["0x100cf52c", "ja 0x12"]], "recomp": [["0x100d257a", "cmp al, 0xc"], ["0x100d257c", "ja 0x42"]]}, {"both": [["0x100cf52e", "mov cl, al", "0x100d257e"]]}, {"orig": [["0x100cf530", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d2580", "mov edx, dword ptr [esi]"], ["0x100d2582", "dec cl"]]}, {"both": [["0x100cf533", "add esi, 2", "0x100d2584"]]}, {"orig": [["0x100cf536", "dec cl"]], "recomp": []}, {"both": [["0x100cf538", "shl edx, cl", "0x100d2587"]]}, {"orig": [], "recomp": [["0x100d2589", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d258f", "or edx, ebx"], ["0x100d2591", "mov ebx, edx"], ["0x100d2593", "and edx, 0xfff"]]}, {"both": [["0x100cf53a", "add al, 0x10", "0x100d2599"]]}, {"orig": [["0x100cf53c", "or ebx, edx"], ["0x100cf53e", "jmp 0x0"], ["0x100cf540", "mov cx, bx"], ["0x100cf543", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf549", "and ecx, 0xfff"], ["0x100cf54f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d259b", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d259e", "shr ebx, cl"], ["0x100d25a0", "sub al, cl"], ["0x100d25a2", "shr ecx, 8"], ["0x100d25a5", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d25ab", "mov edx, dword ptr [ecx]"], ["0x100d25ad", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d25b4", "jne 0x5e"], ["0x100d25b6", "jmp 0x32"], ["0x100d25b8", "xchg ebx, ebx"], ["0x100d25ba", "xchg ecx, ecx"], ["0x100d25bc", "xchg ebx, ebx"], ["0x100d25be", "xchg ecx, ecx"], ["0x100d25c0", "mov dx, bx"], ["0x100d25c3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d25c9", "and edx, 0xfff"], ["0x100d25cf", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf552", "shr ebx, cl", "0x100d25d2"], ["0x100cf554", "sub al, cl", "0x100d25d4"], ["0x100cf556", "shr ecx, 8", "0x100d25d6"], ["0x100cf559", "add ecx, dword ptr [<OFFSET1>]", "0x100d25d9"], ["0x100cf55f", "mov edx, dword ptr [ecx]", "0x100d25df"], ["0x100cf561", "cmp dx, word ptr [<OFFSET2>]", "0x100d25e1"], ["0x100cf568", "jne 0x2a", "0x100d25e8"], ["0x100cf56a", "shr edx, 0xd", "0x100d25ea"], ["0x100cf56d", "dec al", "0x100d25ed"], ["0x100cf56f", "jne 0x7", "0x100d25ef"]]}]], ["@@ -0x100cf573,56 +0x100d25f3,71 @@", [{"both": [["0x100cf573", "add esi, 4", "0x100d25f3"], ["0x100cf576", "mov al, 0x20", "0x100d25f6"], ["0x100cf578", "and edx, 0xffff8", "0x100d25f8"], ["0x100cf57e", "shr ebx, 1", "0x100d25fe"], ["0x100cf580", "jb 0x5", "0x100d2600"], ["0x100cf582", "mov edx, 4", "0x100d2602"], ["0x100cf587", "add ecx, edx", "0x100d2607"], ["0x100cf589", "mov edx, dword ptr [ecx]", "0x100d2609"], ["0x100cf58b", "cmp dx, word ptr [<OFFSET2>]", "0x100d260b"], ["0x100cf592", "je -0x2a", "0x100d2612"]]}, {"orig": [], "recomp": [["0x100d2614", "mov ecx, dword ptr [<OFFSET38>]"], ["0x100d261a", "ror edx, 0x10"]]}, {"both": [["0x100cf594", "mov byte ptr [<OFFSET8>], al", "0x100d261d"]]}, {"orig": [["0x100cf599", "shld ecx, edx, 0x10"], ["0x100cf59d", "mov ax, cx"], ["0x100cf5a0", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": [["0x100d2622", "mov ax, dx"], ["0x100d2625", "ror edx, 0x10"]]}, {"both": [["0x100cf5a6", "cmp dword ptr [ecx], edx", "0x100d2628"], ["0x100cf5a8", "je 0x20", "0x100d262a"]]}, {"orig": [["0x100cf5aa", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d262c", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf5af", "mov eax, dword ptr [ecx]", "0x100d2631"], ["0x100cf5b1", "mov dword ptr [ecx], edx", "0x100d2633"]]}, {"orig": [["0x100cf5b3", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d2635", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf5b9", "mov edx, dword ptr [ecx]", "0x100d263b"], ["0x100cf5bb", "mov dword ptr [ecx], eax", "0x100d263d"]]}, {"orig": [["0x100cf5bd", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d263f", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d2645", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf5c3", "mov dword ptr [ecx], edx", "0x100d264a"]]}, {"orig": [["0x100cf5c5", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf5ca", "mov dword ptr [edi], eax", "0x100d264c"], ["0x100cf5cc", "mov al, byte ptr [<OFFSET8>]", "0x100d264e"]]}, {"orig": [["0x100cf5d1", "cmp al, 0x11"], ["0x100cf5d3", "ja 0x1b"]], "recomp": [["0x100d2653", "cmp al, 0xc"], ["0x100d2655", "ja 0x49"]]}, {"both": [["0x100cf5d5", "mov cl, al", "0x100d2657"]]}, {"orig": [["0x100cf5d7", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d2659", "mov edx, dword ptr [esi]"], ["0x100d265b", "dec cl"]]}, {"both": [["0x100cf5da", "add esi, 2", "0x100d265d"]]}, {"orig": [["0x100cf5dd", "dec cl"]], "recomp": []}, {"both": [["0x100cf5df", "shl edx, cl", "0x100d2660"]]}, {"orig": [], "recomp": [["0x100d2662", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2668", "or edx, ebx"], ["0x100d266a", "mov ebx, edx"], ["0x100d266c", "and edx, 0xfff"]]}, {"both": [["0x100cf5e1", "add al, 0x10", "0x100d2672"]]}, {"orig": [["0x100cf5e3", "or ebx, edx"], ["0x100cf5e5", "jmp 0x9"]], "recomp": [["0x100d2674", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d2677", "shr ebx, cl"], ["0x100d2679", "sub al, cl"], ["0x100d267b", "shr ecx, 8"], ["0x100d267e", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d2684", "mov edx, dword ptr [ecx]"], ["0x100d2686", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d268d", "jne 0x65"], ["0x100d268f", "jmp 0x39"]]}, {"both": [["0x100cf5e7", "xchg ebx, ebx", "0x100d2691"], ["0x100cf5e9", "xchg ecx, ecx", "0x100d2693"], ["0x100cf5eb", "xchg ebx, ebx", "0x100d2695"], ["0x100cf5ed", "xchg ecx, ecx", "0x100d2697"]]}, {"orig": [], "recomp": [["0x100d2699", "xchg ebx, ebx"], ["0x100d269b", "xchg ecx, ecx"], ["0x100d269d", "xchg ebx, ebx"]]}, {"both": [["0x100cf5ef", "nop ", "0x100d269f"]]}, {"orig": [["0x100cf5f0", "mov cx, bx"], ["0x100cf5f3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf5f9", "and ecx, 0xfff"], ["0x100cf5ff", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d26a0", "mov dx, bx"], ["0x100d26a3", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d26a9", "and edx, 0xfff"], ["0x100d26af", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf602", "shr ebx, cl", "0x100d26b2"], ["0x100cf604", "sub al, cl", "0x100d26b4"], ["0x100cf606", "shr ecx, 8", "0x100d26b6"], ["0x100cf609", "add ecx, dword ptr [<OFFSET1>]", "0x100d26b9"], ["0x100cf60f", "mov edx, dword ptr [ecx]", "0x100d26bf"], ["0x100cf611", "cmp dx, word ptr [<OFFSET2>]", "0x100d26c1"], ["0x100cf618", "jne 0x2a", "0x100d26c8"], ["0x100cf61a", "shr edx, 0xd", "0x100d26ca"], ["0x100cf61d", "dec al", "0x100d26cd"], ["0x100cf61f", "jne 0x7", "0x100d26cf"]]}]], ["@@ -0x100cf623,49 +0x100d26d3,64 @@", [{"both": [["0x100cf623", "add esi, 4", "0x100d26d3"], ["0x100cf626", "mov al, 0x20", "0x100d26d6"], ["0x100cf628", "and edx, 0xffff8", "0x100d26d8"], ["0x100cf62e", "shr ebx, 1", "0x100d26de"], ["0x100cf630", "jb 0x5", "0x100d26e0"], ["0x100cf632", "mov edx, 4", "0x100d26e2"], ["0x100cf637", "add ecx, edx", "0x100d26e7"], ["0x100cf639", "mov edx, dword ptr [ecx]", "0x100d26e9"], ["0x100cf63b", "cmp dx, word ptr [<OFFSET2>]", "0x100d26eb"], ["0x100cf642", "je -0x2a", "0x100d26f2"]]}, {"orig": [], "recomp": [["0x100d26f4", "mov ecx, dword ptr [<OFFSET38>]"]]}, {"both": [["0x100cf644", "mov byte ptr [<OFFSET8>], al", "0x100d26fa"], ["0x100cf649", "mov eax, edx", "0x100d26ff"]]}, {"orig": [["0x100cf64b", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": []}, {"both": [["0x100cf651", "cmp dword ptr [ecx], edx", "0x100d2701"], ["0x100cf653", "je 0x20", "0x100d2703"]]}, {"orig": [["0x100cf655", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d2705", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf65a", "mov eax, dword ptr [ecx]", "0x100d270a"], ["0x100cf65c", "mov dword ptr [ecx], edx", "0x100d270c"]]}, {"orig": [["0x100cf65e", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d270e", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf664", "mov edx, dword ptr [ecx]", "0x100d2714"], ["0x100cf666", "mov dword ptr [ecx], eax", "0x100d2716"]]}, {"orig": [["0x100cf668", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d2718", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d271e", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf66e", "mov dword ptr [ecx], edx", "0x100d2723"]]}, {"orig": [["0x100cf670", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf675", "mov al, byte ptr [<OFFSET8>]", "0x100d2725"]]}, {"orig": [["0x100cf67a", "cmp al, 0x11"], ["0x100cf67c", "ja 0x12"]], "recomp": [["0x100d272a", "cmp al, 0xc"], ["0x100d272c", "ja 0x42"]]}, {"both": [["0x100cf67e", "mov cl, al", "0x100d272e"]]}, {"orig": [["0x100cf680", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d2730", "mov edx, dword ptr [esi]"], ["0x100d2732", "dec cl"]]}, {"both": [["0x100cf683", "add esi, 2", "0x100d2734"]]}, {"orig": [["0x100cf686", "dec cl"]], "recomp": []}, {"both": [["0x100cf688", "shl edx, cl", "0x100d2737"]]}, {"orig": [], "recomp": [["0x100d2739", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d273f", "or edx, ebx"], ["0x100d2741", "mov ebx, edx"], ["0x100d2743", "and edx, 0xfff"]]}, {"both": [["0x100cf68a", "add al, 0x10", "0x100d2749"]]}, {"orig": [["0x100cf68c", "or ebx, edx"], ["0x100cf68e", "jmp 0x0"], ["0x100cf690", "mov cx, bx"], ["0x100cf693", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf699", "and ecx, 0xfff"], ["0x100cf69f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d274b", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d274e", "shr ebx, cl"], ["0x100d2750", "sub al, cl"], ["0x100d2752", "shr ecx, 8"], ["0x100d2755", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d275b", "mov edx, dword ptr [ecx]"], ["0x100d275d", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d2764", "jne 0x5e"], ["0x100d2766", "jmp 0x32"], ["0x100d2768", "xchg ebx, ebx"], ["0x100d276a", "xchg ecx, ecx"], ["0x100d276c", "xchg ebx, ebx"], ["0x100d276e", "xchg ecx, ecx"], ["0x100d2770", "mov dx, bx"], ["0x100d2773", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2779", "and edx, 0xfff"], ["0x100d277f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf6a2", "shr ebx, cl", "0x100d2782"], ["0x100cf6a4", "sub al, cl", "0x100d2784"], ["0x100cf6a6", "shr ecx, 8", "0x100d2786"], ["0x100cf6a9", "add ecx, dword ptr [<OFFSET1>]", "0x100d2789"], ["0x100cf6af", "mov edx, dword ptr [ecx]", "0x100d278f"], ["0x100cf6b1", "cmp dx, word ptr [<OFFSET2>]", "0x100d2791"], ["0x100cf6b8", "jne 0x2a", "0x100d2798"], ["0x100cf6ba", "shr edx, 0xd", "0x100d279a"], ["0x100cf6bd", "dec al", "0x100d279d"], ["0x100cf6bf", "jne 0x7", "0x100d279f"]]}]], ["@@ -0x100cf6c3,55 +0x100d27a3,70 @@", [{"both": [["0x100cf6c3", "add esi, 4", "0x100d27a3"], ["0x100cf6c6", "mov al, 0x20", "0x100d27a6"], ["0x100cf6c8", "and edx, 0xffff8", "0x100d27a8"], ["0x100cf6ce", "shr ebx, 1", "0x100d27ae"], ["0x100cf6d0", "jb 0x5", "0x100d27b0"], ["0x100cf6d2", "mov edx, 4", "0x100d27b2"], ["0x100cf6d7", "add ecx, edx", "0x100d27b7"], ["0x100cf6d9", "mov edx, dword ptr [ecx]", "0x100d27b9"], ["0x100cf6db", "cmp dx, word ptr [<OFFSET2>]", "0x100d27bb"], ["0x100cf6e2", "je -0x2a", "0x100d27c2"]]}, {"orig": [], "recomp": [["0x100d27c4", "mov ecx, dword ptr [<OFFSET38>]"], ["0x100d27ca", "ror edx, 0x10"]]}, {"both": [["0x100cf6e4", "mov byte ptr [<OFFSET8>], al", "0x100d27cd"]]}, {"orig": [["0x100cf6e9", "shld ecx, edx, 0x10"], ["0x100cf6ed", "mov ax, cx"], ["0x100cf6f0", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": [["0x100d27d2", "mov ax, dx"], ["0x100d27d5", "ror edx, 0x10"]]}, {"both": [["0x100cf6f6", "cmp dword ptr [ecx], edx", "0x100d27d8"], ["0x100cf6f8", "je 0x20", "0x100d27da"]]}, {"orig": [["0x100cf6fa", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d27dc", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf6ff", "mov eax, dword ptr [ecx]", "0x100d27e1"], ["0x100cf701", "mov dword ptr [ecx], edx", "0x100d27e3"]]}, {"orig": [["0x100cf703", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d27e5", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf709", "mov edx, dword ptr [ecx]", "0x100d27eb"], ["0x100cf70b", "mov dword ptr [ecx], eax", "0x100d27ed"]]}, {"orig": [["0x100cf70d", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d27ef", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d27f5", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf713", "mov dword ptr [ecx], edx", "0x100d27fa"]]}, {"orig": [["0x100cf715", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf71a", "mov dword ptr [edi + ebp], eax", "0x100d27fc"], ["0x100cf71d", "mov al, byte ptr [<OFFSET8>]", "0x100d27ff"]]}, {"orig": [["0x100cf722", "cmp al, 0x11"], ["0x100cf724", "ja 0x1a"]], "recomp": [["0x100d2804", "cmp al, 0xc"], ["0x100d2806", "ja 0x48"]]}, {"both": [["0x100cf726", "mov cl, al", "0x100d2808"]]}, {"orig": [["0x100cf728", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d280a", "mov edx, dword ptr [esi]"], ["0x100d280c", "dec cl"]]}, {"both": [["0x100cf72b", "add esi, 2", "0x100d280e"]]}, {"orig": [["0x100cf72e", "dec cl"]], "recomp": []}, {"both": [["0x100cf730", "shl edx, cl", "0x100d2811"]]}, {"orig": [], "recomp": [["0x100d2813", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2819", "or edx, ebx"], ["0x100d281b", "mov ebx, edx"], ["0x100d281d", "and edx, 0xfff"]]}, {"both": [["0x100cf732", "add al, 0x10", "0x100d2823"]]}, {"orig": [["0x100cf734", "or ebx, edx"], ["0x100cf736", "jmp 0x8"]], "recomp": [["0x100d2825", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d2828", "shr ebx, cl"], ["0x100d282a", "sub al, cl"], ["0x100d282c", "shr ecx, 8"], ["0x100d282f", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d2835", "mov edx, dword ptr [ecx]"], ["0x100d2837", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d283e", "jne 0x64"], ["0x100d2840", "jmp 0x38"]]}, {"both": [["0x100cf738", "xchg ebx, ebx", "0x100d2842"], ["0x100cf73a", "xchg ecx, ecx", "0x100d2844"], ["0x100cf73c", "xchg ebx, ebx", "0x100d2846"], ["0x100cf73e", "xchg ecx, ecx", "0x100d2848"]]}, {"orig": [["0x100cf740", "mov cx, bx"], ["0x100cf743", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf749", "and ecx, 0xfff"], ["0x100cf74f", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d284a", "xchg ebx, ebx"], ["0x100d284c", "xchg ecx, ecx"], ["0x100d284e", "xchg ebx, ebx"], ["0x100d2850", "mov dx, bx"], ["0x100d2853", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2859", "and edx, 0xfff"], ["0x100d285f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf752", "shr ebx, cl", "0x100d2862"], ["0x100cf754", "sub al, cl", "0x100d2864"], ["0x100cf756", "shr ecx, 8", "0x100d2866"], ["0x100cf759", "add ecx, dword ptr [<OFFSET1>]", "0x100d2869"], ["0x100cf75f", "mov edx, dword ptr [ecx]", "0x100d286f"], ["0x100cf761", "cmp dx, word ptr [<OFFSET2>]", "0x100d2871"], ["0x100cf768", "jne 0x2a", "0x100d2878"], ["0x100cf76a", "shr edx, 0xd", "0x100d287a"], ["0x100cf76d", "dec al", "0x100d287d"], ["0x100cf76f", "jne 0x7", "0x100d287f"]]}]], ["@@ -0x100cf773,49 +0x100d2883,64 @@", [{"both": [["0x100cf773", "add esi, 4", "0x100d2883"], ["0x100cf776", "mov al, 0x20", "0x100d2886"], ["0x100cf778", "and edx, 0xffff8", "0x100d2888"], ["0x100cf77e", "shr ebx, 1", "0x100d288e"], ["0x100cf780", "jb 0x5", "0x100d2890"], ["0x100cf782", "mov edx, 4", "0x100d2892"], ["0x100cf787", "add ecx, edx", "0x100d2897"], ["0x100cf789", "mov edx, dword ptr [ecx]", "0x100d2899"], ["0x100cf78b", "cmp dx, word ptr [<OFFSET2>]", "0x100d289b"], ["0x100cf792", "je -0x2a", "0x100d28a2"]]}, {"orig": [], "recomp": [["0x100d28a4", "mov ecx, dword ptr [<OFFSET38>]"]]}, {"both": [["0x100cf794", "mov byte ptr [<OFFSET8>], al", "0x100d28aa"], ["0x100cf799", "mov eax, edx", "0x100d28af"]]}, {"orig": [["0x100cf79b", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": []}, {"both": [["0x100cf7a1", "cmp dword ptr [ecx], edx", "0x100d28b1"], ["0x100cf7a3", "je 0x20", "0x100d28b3"]]}, {"orig": [["0x100cf7a5", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d28b5", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf7aa", "mov eax, dword ptr [ecx]", "0x100d28ba"], ["0x100cf7ac", "mov dword ptr [ecx], edx", "0x100d28bc"]]}, {"orig": [["0x100cf7ae", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d28be", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf7b4", "mov edx, dword ptr [ecx]", "0x100d28c4"], ["0x100cf7b6", "mov dword ptr [ecx], eax", "0x100d28c6"]]}, {"orig": [["0x100cf7b8", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d28c8", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d28ce", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf7be", "mov dword ptr [ecx], edx", "0x100d28d3"]]}, {"orig": [["0x100cf7c0", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf7c5", "mov al, byte ptr [<OFFSET8>]", "0x100d28d5"]]}, {"orig": [["0x100cf7ca", "cmp al, 0x11"], ["0x100cf7cc", "ja 0x12"]], "recomp": [["0x100d28da", "cmp al, 0xc"], ["0x100d28dc", "ja 0x42"]]}, {"both": [["0x100cf7ce", "mov cl, al", "0x100d28de"]]}, {"orig": [["0x100cf7d0", "movzx edx, word ptr [esi]"]], "recomp": [["0x100d28e0", "mov edx, dword ptr [esi]"], ["0x100d28e2", "dec cl"]]}, {"both": [["0x100cf7d3", "add esi, 2", "0x100d28e4"]]}, {"orig": [["0x100cf7d6", "dec cl"]], "recomp": []}, {"both": [["0x100cf7d8", "shl edx, cl", "0x100d28e7"]]}, {"orig": [], "recomp": [["0x100d28e9", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d28ef", "or edx, ebx"], ["0x100d28f1", "mov ebx, edx"], ["0x100d28f3", "and edx, 0xfff"]]}, {"both": [["0x100cf7da", "add al, 0x10", "0x100d28f9"]]}, {"orig": [["0x100cf7dc", "or ebx, edx"], ["0x100cf7de", "jmp 0x0"], ["0x100cf7e0", "mov cx, bx"], ["0x100cf7e3", "mov edx, dword ptr [<OFFSET6>]"], ["0x100cf7e9", "and ecx, 0xfff"], ["0x100cf7ef", "mov ecx, dword ptr [edx + ecx*4]"]], "recomp": [["0x100d28fb", "mov ecx, dword ptr [ecx + edx*4]"], ["0x100d28fe", "shr ebx, cl"], ["0x100d2900", "sub al, cl"], ["0x100d2902", "shr ecx, 8"], ["0x100d2905", "add ecx, dword ptr [<OFFSET1>]"], ["0x100d290b", "mov edx, dword ptr [ecx]"], ["0x100d290d", "cmp dx, word ptr [<OFFSET2>]"], ["0x100d2914", "jne 0x5e"], ["0x100d2916", "jmp 0x32"], ["0x100d2918", "xchg ebx, ebx"], ["0x100d291a", "xchg ecx, ecx"], ["0x100d291c", "xchg ebx, ebx"], ["0x100d291e", "xchg ecx, ecx"], ["0x100d2920", "mov dx, bx"], ["0x100d2923", "mov ecx, dword ptr [<OFFSET6>]"], ["0x100d2929", "and edx, 0xfff"], ["0x100d292f", "mov ecx, dword ptr [ecx + edx*4]"]]}, {"both": [["0x100cf7f2", "shr ebx, cl", "0x100d2932"], ["0x100cf7f4", "sub al, cl", "0x100d2934"], ["0x100cf7f6", "shr ecx, 8", "0x100d2936"], ["0x100cf7f9", "add ecx, dword ptr [<OFFSET1>]", "0x100d2939"], ["0x100cf7ff", "mov edx, dword ptr [ecx]", "0x100d293f"], ["0x100cf801", "cmp dx, word ptr [<OFFSET2>]", "0x100d2941"], ["0x100cf808", "jne 0x2a", "0x100d2948"], ["0x100cf80a", "shr edx, 0xd", "0x100d294a"], ["0x100cf80d", "dec al", "0x100d294d"], ["0x100cf80f", "jne 0x7", "0x100d294f"]]}]], ["@@ -0x100cf813,66 +0x100d2953,66 @@", [{"both": [["0x100cf813", "add esi, 4", "0x100d2953"], ["0x100cf816", "mov al, 0x20", "0x100d2956"], ["0x100cf818", "and edx, 0xffff8", "0x100d2958"], ["0x100cf81e", "shr ebx, 1", "0x100d295e"], ["0x100cf820", "jb 0x5", "0x100d2960"], ["0x100cf822", "mov edx, 4", "0x100d2962"], ["0x100cf827", "add ecx, edx", "0x100d2967"], ["0x100cf829", "mov edx, dword ptr [ecx]", "0x100d2969"], ["0x100cf82b", "cmp dx, word ptr [<OFFSET2>]", "0x100d296b"], ["0x100cf832", "je -0x2a", "0x100d2972"]]}, {"orig": [], "recomp": [["0x100d2974", "mov ecx, dword ptr [<OFFSET38>]"], ["0x100d297a", "ror edx, 0x10"]]}, {"both": [["0x100cf834", "mov byte ptr [<OFFSET8>], al", "0x100d297d"]]}, {"orig": [["0x100cf839", "shld ecx, edx, 0x10"], ["0x100cf83d", "mov ax, cx"], ["0x100cf840", "mov ecx, dword ptr [<OFFSET37>]"]], "recomp": [["0x100d2982", "mov ax, dx"], ["0x100d2985", "ror edx, 0x10"]]}, {"both": [["0x100cf846", "cmp dword ptr [ecx], edx", "0x100d2988"], ["0x100cf848", "je 0x20", "0x100d298a"]]}, {"orig": [["0x100cf84a", "mov dword ptr [<OFFSET20>], eax"]], "recomp": [["0x100d298c", "mov dword ptr [<OFFSET21>], eax"]]}, {"both": [["0x100cf84f", "mov eax, dword ptr [ecx]", "0x100d2991"], ["0x100cf851", "mov dword ptr [ecx], edx", "0x100d2993"]]}, {"orig": [["0x100cf853", "mov ecx, dword ptr [<OFFSET38>]"]], "recomp": [["0x100d2995", "mov ecx, dword ptr [<OFFSET39>]"]]}, {"both": [["0x100cf859", "mov edx, dword ptr [ecx]", "0x100d299b"], ["0x100cf85b", "mov dword ptr [ecx], eax", "0x100d299d"]]}, {"orig": [["0x100cf85d", "mov ecx, dword ptr [<OFFSET39>]"]], "recomp": [["0x100d299f", "mov ecx, dword ptr [<OFFSET40>]"], ["0x100d29a5", "mov eax, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cf863", "mov dword ptr [ecx], edx", "0x100d29aa"]]}, {"orig": [["0x100cf865", "mov eax, dword ptr [<OFFSET20>]"]], "recomp": []}, {"both": [["0x100cf86a", "mov dword ptr [edi + ebp*2], eax", "0x100d29ac"], ["0x100cf86d", "sub edi, dword ptr [<OFFSET15>]", "0x100d29af"], ["0x100cf873", "dec dword ptr [<OFFSET14>]", "0x100d29b5"]]}, {"orig": [["0x100cf879", "je 0x15"], ["0x100cf87b", "dec dword ptr [<OFFSET24>]"], ["0x100cf881", "jne -0x557"], ["0x100cf887", "jmp -0xcfc"]], "recomp": [["0x100d29bb", "je 0x13"], ["0x100d29bd", "dec dword ptr [<OFFSET25>]"], ["0x100d29c3", "jne -0x6d9"], ["0x100d29c9", "jmp -0xf0e"]]}, {"both": [["0x100cf88c", "xchg ebx, ebx", "0x100d29ce"]]}, {"orig": [["0x100cf88e", "xchg ecx, ecx"]], "recomp": []}, {"both": [["0x100cf890", "dec dword ptr [<OFFSET18>]", "0x100d29d0"], ["0x100cf896", "je 0x28", "0x100d29d6"], ["0x100cf898", "add edi, dword ptr [<OFFSET17>]", "0x100d29d8"], ["0x100cf89e", "mov eax, dword ptr [<OFFSET13>]", "0x100d29de"], ["0x100cf8a3", "mov dword ptr [<OFFSET14>], eax", "0x100d29e3"]]}, {"orig": [["0x100cf8a8", "dec dword ptr [<OFFSET24>]"], ["0x100cf8ae", "jne -0x584"], ["0x100cf8b4", "jmp -0xd29"]], "recomp": [["0x100d29e8", "dec dword ptr [<OFFSET25>]"], ["0x100d29ee", "jne -0x704"], ["0x100d29f4", "jmp -0xf39"]]}, {"both": [["0x100cf8b9", "xchg ebx, ebx", "0x100d29f9"], ["0x100cf8bb", "xchg ecx, ecx", "0x100d29fb"], ["0x100cf8bd", "xchg ebx, ebx", "0x100d29fd"], ["0x100cf8bf", "nop ", "0x100d29ff"], ["0x100cf8c0", "push eax", "0x100d2a00"], ["0x100cf8c1", "mov edi, dword ptr [<OFFSET11>]", "0x100d2a01"], ["0x100cf8c7", "mov ax, word ptr [edi]", "0x100d2a07"], ["0x100cf8ca", "cmp ax, 0xfffd", "0x100d2a0a"], ["0x100cf8ce", "jb 0x20", "0x100d2a0e"], ["0x100cf8d0", "cmp ax, 0xfffe", "0x100d2a10"], ["0x100cf8d4", "ja 0x2b6", "0x100d2a14"], ["0x100cf8da", "je 0x1a", "0x100d2a1a"]]}, {"orig": [["0x100cf8dc", "push <OFFSET40>"], ["0x100cf8e1", "jmp -0x1f0d"]], "recomp": [["0x100d2a1c", "push <OFFSET41>"], ["0x100d2a21", "jmp -0x2316"]]}, {"both": [["0x100cf8e6", "xchg ebx, ebx", "0x100d2a26"], ["0x100cf8e8", "xchg ecx, ecx", "0x100d2a28"], ["0x100cf8ea", "xchg ebx, ebx", "0x100d2a2a"], ["0x100cf8ec", "xchg ecx, ecx", "0x100d2a2c"], ["0x100cf8ee", "xchg ebx, ebx", "0x100d2a2e"], ["0x100cf8f0", "call dword ptr [<OFFSET9>]", "0x100d2a30"], ["0x100cf8f6", "add edi, 2", "0x100d2a36"], ["0x100cf8f9", "movzx eax, word ptr [edi]", "0x100d2a39"], ["0x100cf8fc", "mov ebp, eax", "0x100d2a3c"], ["0x100cf8fe", "movzx eax, word ptr [edi + 2]", "0x100d2a3e"]]}]], ["@@ -0x100cf95f,47 +0x100d2a9f,47 @@", [{"both": [["0x100cf95f", "nop ", "0x100d2a9f"], ["0x100cf960", "mov ecx, dword ptr [<OFFSET14>]", "0x100d2aa0"], ["0x100cf966", "cmp edx, ecx", "0x100d2aa6"], ["0x100cf968", "jae 0x2", "0x100d2aa8"], ["0x100cf96a", "mov ecx, edx", "0x100d2aaa"], ["0x100cf96c", "lea edi, [edi + ecx*4]", "0x100d2aac"], ["0x100cf96f", "sub dword ptr [<OFFSET14>], ecx", "0x100d2aaf"], ["0x100cf975", "je 0x9", "0x100d2ab5"], ["0x100cf977", "sub edx, ecx", "0x100d2ab7"], ["0x100cf979", "jne -0x1b", "0x100d2ab9"]]}, {"orig": [["0x100cf97b", "jmp -0xdf0"]], "recomp": [["0x100d2abb", "jmp -0x1000"]]}, {"both": [["0x100cf980", "dec dword ptr [<OFFSET18>]", "0x100d2ac0"], ["0x100cf986", "je 0x28", "0x100d2ac6"], ["0x100cf988", "add edi, dword ptr [<OFFSET17>]", "0x100d2ac8"], ["0x100cf98e", "mov eax, dword ptr [<OFFSET13>]", "0x100d2ace"], ["0x100cf993", "mov dword ptr [<OFFSET14>], eax", "0x100d2ad3"], ["0x100cf998", "sub edx, ecx", "0x100d2ad8"], ["0x100cf99a", "jne -0x3c", "0x100d2ada"]]}, {"orig": [["0x100cf99c", "jmp -0xe11"]], "recomp": [["0x100d2adc", "jmp -0x1021"]]}, {"both": [["0x100cf9a1", "xchg ebx, ebx", "0x100d2ae1"], ["0x100cf9a3", "xchg ecx, ecx", "0x100d2ae3"], ["0x100cf9a5", "xchg ebx, ebx", "0x100d2ae5"], ["0x100cf9a7", "xchg ecx, ecx", "0x100d2ae7"], ["0x100cf9a9", "xchg ebx, ebx", "0x100d2ae9"], ["0x100cf9ab", "xchg ecx, ecx", "0x100d2aeb"], ["0x100cf9ad", "xchg ebx, ebx", "0x100d2aed"], ["0x100cf9af", "nop ", "0x100d2aef"], ["0x100cf9b0", "push eax", "0x100d2af0"], ["0x100cf9b1", "mov edi, dword ptr [<OFFSET11>]", "0x100d2af1"], ["0x100cf9b7", "mov ax, word ptr [edi]", "0x100d2af7"], ["0x100cf9ba", "cmp ax, 0xfffd", "0x100d2afa"], ["0x100cf9be", "jb 0x20", "0x100d2afe"], ["0x100cf9c0", "cmp ax, 0xfffe", "0x100d2b00"], ["0x100cf9c4", "ja 0x1c6", "0x100d2b04"], ["0x100cf9ca", "je 0x1a", "0x100d2b0a"]]}, {"orig": [["0x100cf9cc", "push <OFFSET41>"], ["0x100cf9d1", "jmp -0x1ffd"]], "recomp": [["0x100d2b0c", "push <OFFSET42>"], ["0x100d2b11", "jmp -0x2406"]]}, {"both": [["0x100cf9d6", "xchg ebx, ebx", "0x100d2b16"], ["0x100cf9d8", "xchg ecx, ecx", "0x100d2b18"], ["0x100cf9da", "xchg ebx, ebx", "0x100d2b1a"], ["0x100cf9dc", "xchg ecx, ecx", "0x100d2b1c"], ["0x100cf9de", "xchg ebx, ebx", "0x100d2b1e"], ["0x100cf9e0", "call dword ptr [<OFFSET9>]", "0x100d2b20"], ["0x100cf9e6", "add edi, 2", "0x100d2b26"], ["0x100cf9e9", "movzx eax, word ptr [edi]", "0x100d2b29"], ["0x100cf9ec", "mov ebp, eax", "0x100d2b2c"], ["0x100cf9ee", "movzx eax, word ptr [edi + 2]", "0x100d2b2e"]]}]], ["@@ -0x100cfa47,71 +0x100d2b87,71 @@", [{"both": [["0x100cfa47", "xchg ebx, ebx", "0x100d2b87"], ["0x100cfa49", "xchg ecx, ecx", "0x100d2b89"], ["0x100cfa4b", "xchg ebx, ebx", "0x100d2b8b"], ["0x100cfa4d", "xchg ecx, ecx", "0x100d2b8d"], ["0x100cfa4f", "nop ", "0x100d2b8f"], ["0x100cfa50", "mov al, ah", "0x100d2b90"], ["0x100cfa52", "mov ecx, eax", "0x100d2b92"], ["0x100cfa54", "shl eax, 0x10", "0x100d2b94"], ["0x100cfa57", "mov ax, cx", "0x100d2b97"], ["0x100cfa5a", "mov ecx, dword ptr [<OFFSET14>]", "0x100d2b9a"]]}, {"orig": [["0x100cfa60", "cmp dword ptr [<OFFSET24>], ecx"]], "recomp": [["0x100d2ba0", "cmp dword ptr [<OFFSET25>], ecx"]]}, {"both": [["0x100cfa66", "jae 0x6", "0x100d2ba6"]]}, {"orig": [["0x100cfa68", "mov ecx, dword ptr [<OFFSET24>]"], ["0x100cfa6e", "mov dword ptr [<OFFSET20>], ebp"]], "recomp": [["0x100d2ba8", "mov ecx, dword ptr [<OFFSET25>]"], ["0x100d2bae", "mov dword ptr [<OFFSET21>], ebp"]]}, {"both": [["0x100cfa74", "lea edx, [ecx*4]", "0x100d2bb4"], ["0x100cfa7b", "sub ebp, edx", "0x100d2bbb"], ["0x100cfa7d", "mov edx, ecx", "0x100d2bbd"], ["0x100cfa7f", "rep stosd dword ptr es:[edi], eax", "0x100d2bbf"], ["0x100cfa81", "add edi, ebp", "0x100d2bc1"], ["0x100cfa83", "mov ecx, edx", "0x100d2bc3"], ["0x100cfa85", "rep stosd dword ptr es:[edi], eax", "0x100d2bc5"], ["0x100cfa87", "add edi, ebp", "0x100d2bc7"], ["0x100cfa89", "mov ecx, edx", "0x100d2bc9"], ["0x100cfa8b", "rep stosd dword ptr es:[edi], eax", "0x100d2bcb"], ["0x100cfa8d", "add edi, ebp", "0x100d2bcd"], ["0x100cfa8f", "mov ecx, edx", "0x100d2bcf"], ["0x100cfa91", "rep stosd dword ptr es:[edi], eax", "0x100d2bd1"], ["0x100cfa93", "sub edi, dword ptr [<OFFSET16>]", "0x100d2bd3"]]}, {"orig": [["0x100cfa99", "mov ebp, dword ptr [<OFFSET20>]"]], "recomp": [["0x100d2bd9", "mov ebp, dword ptr [<OFFSET21>]"]]}, {"both": [["0x100cfa9f", "sub dword ptr [<OFFSET14>], edx", "0x100d2bdf"], ["0x100cfaa5", "je 0x19", "0x100d2be5"]]}, {"orig": [["0x100cfaa7", "sub dword ptr [<OFFSET24>], edx"]], "recomp": [["0x100d2be7", "sub dword ptr [<OFFSET25>], edx"]]}, {"both": [["0x100cfaad", "jne -0x55", "0x100d2bed"]]}, {"orig": [["0x100cfaaf", "jmp -0xf24"]], "recomp": [["0x100d2bef", "jmp -0x1134"]]}, {"both": [["0x100cfab4", "xchg ebx, ebx", "0x100d2bf4"], ["0x100cfab6", "xchg ecx, ecx", "0x100d2bf6"], ["0x100cfab8", "xchg ebx, ebx", "0x100d2bf8"], ["0x100cfaba", "xchg ecx, ecx", "0x100d2bfa"], ["0x100cfabc", "xchg ebx, ebx", "0x100d2bfc"], ["0x100cfabe", "xchg ecx, ecx", "0x100d2bfe"], ["0x100cfac0", "dec dword ptr [<OFFSET18>]", "0x100d2c00"], ["0x100cfac6", "je 0x28", "0x100d2c06"], ["0x100cfac8", "add edi, dword ptr [<OFFSET17>]", "0x100d2c08"]]}, {"orig": [["0x100cface", "sub dword ptr [<OFFSET24>], edx"]], "recomp": [["0x100d2c0e", "sub dword ptr [<OFFSET25>], edx"]]}, {"both": [["0x100cfad4", "mov ecx, dword ptr [<OFFSET13>]", "0x100d2c14"], ["0x100cfada", "mov dword ptr [<OFFSET14>], ecx", "0x100d2c1a"], ["0x100cfae0", "jne -0x8c", "0x100d2c20"]]}, {"orig": [["0x100cfae6", "jmp -0xf5b"]], "recomp": [["0x100d2c26", "jmp -0x116b"]]}, {"both": [["0x100cfaeb", "xchg ebx, ebx", "0x100d2c2b"], ["0x100cfaed", "xchg ecx, ecx", "0x100d2c2d"], ["0x100cfaef", "nop ", "0x100d2c2f"], ["0x100cfaf0", "push eax", "0x100d2c30"], ["0x100cfaf1", "mov edi, dword ptr [<OFFSET11>]", "0x100d2c31"], ["0x100cfaf7", "mov ax, word ptr [edi]", "0x100d2c37"], ["0x100cfafa", "cmp ax, 0xfffd", "0x100d2c3a"], ["0x100cfafe", "jb 0x20", "0x100d2c3e"], ["0x100cfb00", "cmp ax, 0xfffe", "0x100d2c40"], ["0x100cfb04", "ja 0x86", "0x100d2c44"], ["0x100cfb0a", "je 0x1a", "0x100d2c4a"]]}, {"orig": [["0x100cfb0c", "push <OFFSET42>"], ["0x100cfb11", "jmp -0x213d"]], "recomp": [["0x100d2c4c", "push <OFFSET43>"], ["0x100d2c51", "jmp -0x2546"]]}, {"both": [["0x100cfb16", "xchg ebx, ebx", "0x100d2c56"], ["0x100cfb18", "xchg ecx, ecx", "0x100d2c58"], ["0x100cfb1a", "xchg ebx, ebx", "0x100d2c5a"], ["0x100cfb1c", "xchg ecx, ecx", "0x100d2c5c"], ["0x100cfb1e", "xchg ebx, ebx", "0x100d2c5e"], ["0x100cfb20", "call dword ptr [<OFFSET9>]", "0x100d2c60"], ["0x100cfb26", "add edi, 2", "0x100d2c66"], ["0x100cfb29", "movzx eax, word ptr [edi]", "0x100d2c69"], ["0x100cfb2c", "mov ebp, eax", "0x100d2c6c"], ["0x100cfb2e", "movzx eax, word ptr [edi + 2]", "0x100d2c6e"]]}]], ["@@ -,199 +0x100d2ccd,14 @@", [{"both": [["0x100cfb8d", "xchg ecx, ecx", "0x100d2ccd"], ["0x100cfb8f", "nop ", "0x100d2ccf"], ["0x100cfb90", "pop eax", "0x100d2cd0"], ["0x100cfb91", "pop edx", "0x100d2cd1"], ["0x100cfb92", "pop esi", "0x100d2cd2"], ["0x100cfb93", "pop edi", "0x100d2cd3"], ["0x100cfb94", "pop ebx", "0x100d2cd4"], ["0x100cfb95", "pop es", "0x100d2cd5"], ["0x100cfb96", "pop ebp", "0x100d2cd6"], ["0x100cfb97", "ret ", "0x100d2cd7"]]}, {"orig": [["0x100cfb98", "push ebp"], ["0x100cfb99", "mov ebp, esp"], ["0x100cfb9b", "push ebx"], ["0x100cfb9c", "push ecx"], ["0x100cfb9d", "push edx"], ["0x100cfb9e", "push edi"], ["0x100cfb9f", "push esi"], ["0x100cfba0", "mov esi, dword ptr [ebp + 0xc]"], ["0x100cfba3", "cmp esi, dword ptr [ebp + 0x14]"], ["0x100cfba6", "jne 0x3"], ["0x100cfba8", "mov esi, dword ptr [ebp + 0x10]"], ["0x100cfbab", "mov ecx, dword ptr [ebp + 0x1c]"], ["0x100cfbae", "test ecx, 0xffffffff"], ["0x100cfbb4", "je 0x1cd"], ["0x100cfbba", "mov edi, dword ptr [ebp + 8]"], ["0x100cfbbd", "mov ebx, dword ptr [ebp + 0x18]"], ["0x100cfbc0", "test ebx, 0xffffffff"], ["0x100cfbc6", "je 0x11"], ["0x100cfbc8", "test byte ptr [ebx + 2], 1"], ["0x100cfbcc", "je 0x6"], ["0x100cfbce", "cmp byte ptr [ebx + 1], 0x80"], ["0x100cfbd2", "jne 0x27"], ["0x100cfbd4", "cmp byte ptr [ebx], 0x80"], ["0x100cfbd7", "jne 0x22"], ["0x100cfbd9", "cld "], ["0x100cfbda", "lea eax, [esi + ecx]"], ["0x100cfbdd", "cmp eax, dword ptr [ebp + 0x14]"], ["0x100cfbe0", "jbe 0xf"], ["0x100cfbe2", "sub eax, dword ptr [ebp + 0x14]"], ["0x100cfbe5", "sub ecx, eax"], ["0x100cfbe7", "shr ecx, 2"], ["0x100cfbea", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x100cfbec", "mov esi, dword ptr [ebp + 0x10]"], ["0x100cfbef", "mov ecx, eax"], ["0x100cfbf1", "shr ecx, 2"], ["0x100cfbf4", "rep movsd dword ptr es:[edi], dword ptr [esi]"], ["0x100cfbf6", "jmp 0x18c"], ["0x100cfbfb", "lea eax, [esi + ecx]"], ["0x100cfbfe", "xor edx, edx"], ["0x100cfc00", "mov dl, byte ptr [ebx + 2]"], ["0x100cfc03", "add ebx, 4"], ["0x100cfc06", "cmp eax, dword ptr [ebp + 0x14]"], ["0x100cfc09", "ja 0x8"], ["0x100cfc0b", "jmp dword ptr cs:[edx*4 + <OFFSET43>]"], ["0x100cfc13", "sub eax, dword ptr [ebp + 0x14]"], ["0x100cfc16", "sub ecx, eax"], ["0x100cfc18", "push ebp"], ["0x100cfc19", "mov ebp, eax"], ["0x100cfc1b", "shr ecx, 2"], ["0x100cfc1e", "jmp dword ptr cs:[edx*4 + <OFFSET44>]"]], "recomp": []}, {"both": [["0x100cfc26", "xchg ebx, ebx", "0x100d2cd8"], ["0x100cfc28", "xchg ecx, ecx", "0x100d2cda"], ["0x100cfc2a", "xchg ebx, ebx", "0x100d2cdc"], ["0x100cfc2c", "xchg ecx, ecx", "0x100d2cde"]]}, {"orig": [["0x100cfc2e", "xchg ebx, ebx"], ["", "Jump table:"], ["0x100cfc30", "Jump_dest_0"], ["0x100cfc34", "Jump_dest_1"], ["0x100cfc38", "Jump_dest_2"], ["0x100cfc3c", "Jump_dest_3"], ["", "Jump table:"], ["0x100cfc40", "Jump_dest_0"], ["0x100cfc44", "Jump_dest_1"], ["0x100cfc48", "Jump_dest_2"], ["0x100cfc4c", "Jump_dest_3"], ["0x100cfc50", "mov eax, dword ptr [esi]"], ["0x100cfc52", "add esi, 4"], ["0x100cfc55", "mov dl, al"], ["0x100cfc57", "mov al, byte ptr [ebx + edx]"], ["0x100cfc5a", "mov dl, ah"], ["0x100cfc5c", "mov ah, byte ptr [ebx + edx]"], ["0x100cfc5f", "ror eax, 0x10"], ["0x100cfc62", "mov dl, al"], ["0x100cfc64", "mov al, byte ptr [ebx + edx]"], ["0x100cfc67", "mov dl, ah"], ["0x100cfc69", "mov ah, byte ptr [ebx + edx]"], ["0x100cfc6c", "ror eax, 0x10"], ["0x100cfc6f", "mov dword ptr [edi], eax"], ["0x100cfc71", "add edi, 4"], ["0x100cfc74", "dec ecx"], ["0x100cfc75", "jne -0x27"], ["0x100cfc77", "mov ecx, ebp"], ["0x100cfc79", "pop ebp"], ["0x100cfc7a", "mov esi, dword ptr [ebp + 0x10]"], ["0x100cfc7d", "shr ecx, 2"], ["0x100cfc80", "mov eax, dword ptr [esi]"], ["0x100cfc82", "add esi, 4"], ["0x100cfc85", "mov dl, al"], ["0x100cfc87", "mov al, byte ptr [ebx + edx]"], ["0x100cfc8a", "mov dl, ah"], ["0x100cfc8c", "mov ah, byte ptr [ebx + edx]"], ["0x100cfc8f", "ror eax, 0x10"], ["0x100cfc92", "mov dl, al"], ["0x100cfc94", "mov al, byte ptr [ebx + edx]"], ["0x100cfc97", "mov dl, ah"], ["0x100cfc99", "mov ah, byte ptr [ebx + edx]"], ["0x100cfc9c", "ror eax, 0x10"], ["0x100cfc9f", "mov dword ptr [edi], eax"], ["0x100cfca1", "add edi, 4"], ["0x100cfca4", "dec ecx"], ["0x100cfca5", "jne -0x27"], ["0x100cfca7", "jmp 0xdb"], ["0x100cfcac", "xchg ebx, ebx"], ["0x100cfcae", "xchg ecx, ecx"], ["0x100cfcb0", "mov eax, dword ptr [esi]"], ["0x100cfcb2", "add esi, 4"], ["0x100cfcb5", "mov dl, al"], ["0x100cfcb7", "mov al, byte ptr [ebx + edx]"], ["0x100cfcba", "mov dl, ah"], ["0x100cfcbc", "mov ah, byte ptr [ebx + edx + 0x100]"], ["0x100cfcc3", "ror eax, 0x10"], ["0x100cfcc6", "mov dl, al"], ["0x100cfcc8", "mov al, byte ptr [ebx + edx]"], ["0x100cfccb", "mov dl, ah"], ["0x100cfccd", "mov ah, byte ptr [ebx + edx + 0x100]"], ["0x100cfcd4", "ror eax, 0x10"], ["0x100cfcd7", "mov dword ptr [edi], eax"], ["0x100cfcd9", "add edi, 4"], ["0x100cfcdc", "dec ecx"], ["0x100cfcdd", "jne -0x2f"], ["0x100cfcdf", "mov ecx, ebp"], ["0x100cfce1", "pop ebp"], ["0x100cfce2", "mov esi, dword ptr [ebp + 0x10]"], ["0x100cfce5", "shr ecx, 2"], ["0x100cfce8", "mov eax, dword ptr [esi]"], ["0x100cfcea", "add esi, 4"], ["0x100cfced", "mov dl, al"], ["0x100cfcef", "mov al, byte ptr [ebx + edx]"], ["0x100cfcf2", "mov dl, ah"], ["0x100cfcf4", "mov ah, byte ptr [ebx + edx + 0x100]"], ["0x100cfcfb", "ror eax, 0x10"], ["0x100cfcfe", "mov dl, al"], ["0x100cfd00", "mov al, byte ptr [ebx + edx]"], ["0x100cfd03", "mov dl, ah"], ["0x100cfd05", "mov ah, byte ptr [ebx + edx + 0x100]"], ["0x100cfd0c", "ror eax, 0x10"], ["0x100cfd0f", "mov dword ptr [edi], eax"], ["0x100cfd11", "add edi, 4"], ["0x100cfd14", "dec ecx"], ["0x100cfd15", "jne -0x2f"], ["0x100cfd17", "jmp 0x6e"], ["0x100cfd19", "xchg ebx, ebx"], ["0x100cfd1b", "xchg ecx, ecx"], ["0x100cfd1d", "xchg ebx, ebx"], ["0x100cfd1f", "nop "], ["0x100cfd20", "mov eax, dword ptr [esi]"], ["0x100cfd22", "add esi, 4"], ["0x100cfd25", "mov dl, al"], ["0x100cfd27", "mov al, byte ptr [ebx + edx]"], ["0x100cfd2a", "mov dl, ah"], ["0x100cfd2c", "mov ah, byte ptr [ebx + edx]"], ["0x100cfd2f", "ror eax, 0x10"], ["0x100cfd32", "mov dl, al"], ["0x100cfd34", "mov al, byte ptr [ebx + edx + 0x100]"], ["0x100cfd3b", "mov dl, ah"], ["0x100cfd3d", "mov ah, byte ptr [ebx + edx + 0x100]"], ["0x100cfd44", "ror eax, 0x10"], ["0x100cfd47", "mov dword ptr [edi], eax"], ["0x100cfd49", "add edi, 4"], ["0x100cfd4c", "dec ecx"], ["0x100cfd4d", "jne -0x2f"], ["0x100cfd4f", "mov ecx, ebp"], ["0x100cfd51", "pop ebp"], ["0x100cfd52", "mov esi, dword ptr [ebp + 0x10]"], ["0x100cfd55", "shr ecx, 2"], ["0x100cfd58", "mov eax, dword ptr [esi]"], ["0x100cfd5a", "add esi, 4"], ["0x100cfd5d", "mov dl, al"], ["0x100cfd5f", "mov al, byte ptr [ebx + edx]"], ["0x100cfd62", "mov dl, ah"], ["0x100cfd64", "mov ah, byte ptr [ebx + edx]"], ["0x100cfd67", "ror eax, 0x10"], ["0x100cfd6a", "mov dl, al"], ["0x100cfd6c", "mov al, byte ptr [ebx + edx + 0x100]"], ["0x100cfd73", "mov dl, ah"], ["0x100cfd75", "mov ah, byte ptr [ebx + edx + 0x100]"], ["0x100cfd7c", "ror eax, 0x10"], ["0x100cfd7f", "mov dword ptr [edi], eax"], ["0x100cfd81", "add edi, 4"], ["0x100cfd84", "dec ecx"], ["0x100cfd85", "jne -0x2f"], ["0x100cfd87", "mov eax, esi"], ["0x100cfd89", "pop esi"], ["0x100cfd8a", "pop edi"], ["0x100cfd8b", "pop edx"], ["0x100cfd8c", "pop ecx"], ["0x100cfd8d", "pop ebx"], ["0x100cfd8e", "pop ebp"], ["0x100cfd8f", "ret "]], "recomp": []}]]]}, {"address": "0x100cfd90", "recomp": "0x100d2ce0", "name": "_SmackDoPCM", "matching": 0.9982300884955753, "diff": [["@@ -0x100d0515,10 +0x100d3465,12 @@", [{"both": [["0x100d0515", "cmp edi, dword ptr [ebp + 0x18]", "0x100d3465"], ["0x100d0518", "jne -0x112", "0x100d3468"], ["0x100d051e", "mov edi, dword ptr [ebp + 0x14]", "0x100d346e"], ["0x100d0521", "jmp -0x11a", "0x100d3471"], ["0x100d0526", "pop es", "0x100d3476"], ["0x100d0527", "pop edi", "0x100d3477"], ["0x100d0528", "pop esi", "0x100d3478"], ["0x100d0529", "pop ebx", "0x100d3479"], ["0x100d052a", "pop ebp", "0x100d347a"], ["0x100d052b", "ret ", "0x100d347b"]]}, {"orig": [], "recomp": [["0x100d347c", "xchg ebx, ebx"], ["0x100d347e", "xchg ecx, ecx"]]}]]]}, {"address": "0x100d052c", "recomp": "0x100d3480", "name": "_SmackGetSizeDeltas", "matching": 0.8387096774193549, "diff": [["@@ -0x100d0530,10 +0x100d3484,15 @@", [{"both": [["0x100d0530", "push ecx", "0x100d3484"], ["0x100d0531", "mov eax, dword ptr [ebp + 8]", "0x100d3485"], ["0x100d0534", "mov ecx, dword ptr [ebp + 0xc]", "0x100d3488"], ["0x100d0537", "mul ecx", "0x100d348b"], ["0x100d0539", "shr eax, 8", "0x100d348d"], ["0x100d053c", "add eax, 0x20", "0x100d3490"], ["0x100d053f", "pop ecx", "0x100d3493"], ["0x100d0540", "pop edx", "0x100d3494"], ["0x100d0541", "pop ebp", "0x100d3495"], ["0x100d0542", "ret ", "0x100d3496"]]}, {"orig": [], "recomp": [["0x100d3497", "xchg ebx, ebx"], ["0x100d3499", "xchg ecx, ecx"], ["0x100d349b", "xchg ebx, ebx"], ["0x100d349d", "xchg ecx, ecx"], ["0x100d349f", "nop "]]}]]]}, {"address": "0x100d0543", "recomp": "0x100d34a0", "name": "_SmackGetRect", "matching": 0.9595959595959596, "diff": [["@@ -0x100d0643,10 +0x100d35a0,18 @@", [{"both": [["0x100d0643", "jmp 0x8", "0x100d35a0"], ["0x100d0645", "mov byte ptr [esi], 1", "0x100d35a2"], ["0x100d0648", "mov eax, 0", "0x100d35a5"], ["0x100d064d", "pop edx", "0x100d35aa"], ["0x100d064e", "pop ecx", "0x100d35ab"], ["0x100d064f", "pop ebx", "0x100d35ac"], ["0x100d0650", "pop edi", "0x100d35ad"], ["0x100d0651", "pop esi", "0x100d35ae"], ["0x100d0652", "pop ebp", "0x100d35af"], ["0x100d0653", "ret ", "0x100d35b0"]]}, {"orig": [], "recomp": [["0x100d35b1", "xchg ebx, ebx"], ["0x100d35b3", "xchg ecx, ecx"], ["0x100d35b5", "xchg ebx, ebx"], ["0x100d35b7", "xchg ecx, ecx"], ["0x100d35b9", "xchg ebx, ebx"], ["0x100d35bb", "xchg ecx, ecx"], ["0x100d35bd", "xchg ebx, ebx"], ["0x100d35bf", "nop "]]}]]]}, {"address": "0x100d0654", "recomp": "0x100d35c0", "name": "_SmackRemapTables", "matching": 0.463768115942029, "diff": [["@@ -0x100d0716,10 +0x100d3682,195 @@", [{"both": [["0x100d0716", "mov byte ptr [esi - 1], ah", "0x100d3682"], ["0x100d0719", "dec ecx", "0x100d3685"], ["0x100d071a", "jne -0x1f", "0x100d3686"], ["0x100d071c", "pop es", "0x100d3688"], ["0x100d071d", "pop edx", "0x100d3689"], ["0x100d071e", "pop ebx", "0x100d368a"], ["0x100d071f", "pop esi", "0x100d368b"], ["0x100d0720", "pop edi", "0x100d368c"], ["0x100d0721", "pop ebp", "0x100d368d"], ["0x100d0722", "ret ", "0x100d368e"]]}, {"orig": [], "recomp": [["0x100d368f", "nop "], ["0x100d3690", "add byte ptr [eax], al"], ["0x100d3692", "add byte ptr [eax], al"], ["0x100d3694", "add byte ptr [eax], al"], ["0x100d3696", "add byte ptr [eax], al"], ["0x100d3698", "add byte ptr [eax], al"], ["0x100d369a", "add byte ptr [eax], al"], ["0x100d369c", "add byte ptr [eax], al"], ["0x100d369e", "add byte ptr [eax], al"], ["0x100d36a0", "add byte ptr [eax], al"], ["0x100d36a2", "add byte ptr [eax], al"], ["0x100d36a4", "add byte ptr [eax], al"], ["0x100d36a6", "add byte ptr [eax], al"], ["0x100d36a8", "add byte ptr [eax], al"], ["0x100d36aa", "add byte ptr [eax], al"], ["0x100d36ac", "add byte ptr [eax], al"], ["0x100d36ae", "add byte ptr [eax], al"], ["0x100d36b0", "add byte ptr [eax], al"], ["0x100d36b2", "add byte ptr [eax], al"], ["0x100d36b4", "add byte ptr [eax], al"], ["0x100d36b6", "add byte ptr [eax], al"], ["0x100d36b8", "add byte ptr [eax], al"], ["0x100d36ba", "add byte ptr [eax], al"], ["0x100d36bc", "add byte ptr [eax], al"], ["0x100d36be", "add byte ptr [eax], al"], ["0x100d36c0", "add byte ptr [eax], al"], ["0x100d36c2", "add byte ptr [eax], al"], ["0x100d36c4", "add byte ptr [eax], al"], ["0x100d36c6", "add byte ptr [eax], al"], ["0x100d36c8", "add byte ptr [eax], al"], ["0x100d36ca", "add byte ptr [eax], al"], ["0x100d36cc", "add byte ptr [eax], al"], ["0x100d36ce", "add byte ptr [eax], al"], ["0x100d36d0", "add byte ptr [eax], al"], ["0x100d36d2", "add byte ptr [eax], al"], ["0x100d36d4", "add byte ptr [eax], al"], ["0x100d36d6", "add byte ptr [eax], al"], ["0x100d36d8", "add byte ptr [eax], al"], ["0x100d36da", "add byte ptr [eax], al"], ["0x100d36dc", "add byte ptr [eax], al"], ["0x100d36de", "add byte ptr [eax], al"], ["0x100d36e0", "add byte ptr [eax], al"], ["0x100d36e2", "add byte ptr [eax], al"], ["0x100d36e4", "add byte ptr [eax], al"], ["0x100d36e6", "add byte ptr [eax], al"], ["0x100d36e8", "add byte ptr [eax], al"], ["0x100d36ea", "add byte ptr [eax], al"], ["0x100d36ec", "add byte ptr [eax], al"], ["0x100d36ee", "add byte ptr [eax], al"], ["0x100d36f0", "add byte ptr [eax], al"], ["0x100d36f2", "add byte ptr [eax], al"], ["0x100d36f4", "add byte ptr [eax], al"], ["0x100d36f6", "add byte ptr [eax], al"], ["0x100d36f8", "add byte ptr [eax], al"], ["0x100d36fa", "add byte ptr [eax], al"], ["0x100d36fc", "add byte ptr [eax], al"], ["0x100d36fe", "add byte ptr [eax], al"], ["0x100d3700", "add byte ptr [eax], al"], ["0x100d3702", "add byte ptr [eax], al"], ["0x100d3704", "add byte ptr [eax], al"], ["0x100d3706", "add byte ptr [eax], al"], ["0x100d3708", "add byte ptr [eax], al"], ["0x100d370a", "add byte ptr [eax], al"], ["0x100d370c", "add byte ptr [eax], al"], ["0x100d370e", "add byte ptr [eax], al"], ["0x100d3710", "add byte ptr [eax], al"], ["0x100d3712", "add byte ptr [eax], al"], ["0x100d3714", "add byte ptr [eax], al"], ["0x100d3716", "add byte ptr [eax], al"], ["0x100d3718", "add byte ptr [eax], al"], ["0x100d371a", "add byte ptr [eax], al"], ["0x100d371c", "add byte ptr [eax], al"], ["0x100d371e", "add byte ptr [eax], al"], ["0x100d3720", "add byte ptr [eax], al"], ["0x100d3722", "add byte ptr [eax], al"], ["0x100d3724", "add byte ptr [eax], al"], ["0x100d3726", "add byte ptr [eax], al"], ["0x100d3728", "add byte ptr [eax], al"], ["0x100d372a", "add byte ptr [eax], al"], ["0x100d372c", "add byte ptr [eax], al"], ["0x100d372e", "add byte ptr [eax], al"], ["0x100d3730", "add byte ptr [eax], al"], ["0x100d3732", "add byte ptr [eax], al"], ["0x100d3734", "add byte ptr [eax], al"], ["0x100d3736", "add byte ptr [eax], al"], ["0x100d3738", "add byte ptr [eax], al"], ["0x100d373a", "add byte ptr [eax], al"], ["0x100d373c", "add byte ptr [eax], al"], ["0x100d373e", "add byte ptr [eax], al"], ["0x100d3740", "add byte ptr [eax], al"], ["0x100d3742", "add byte ptr [eax], al"], ["0x100d3744", "add byte ptr [eax], al"], ["0x100d3746", "add byte ptr [eax], al"], ["0x100d3748", "add byte ptr [eax], al"], ["0x100d374a", "add byte ptr [eax], al"], ["0x100d374c", "add byte ptr [eax], al"], ["0x100d374e", "add byte ptr [eax], al"], ["0x100d3750", "add byte ptr [eax], al"], ["0x100d3752", "add byte ptr [eax], al"], ["0x100d3754", "add byte ptr [eax], al"], ["0x100d3756", "add byte ptr [eax], al"], ["0x100d3758", "add byte ptr [eax], al"], ["0x100d375a", "add byte ptr [eax], al"], ["0x100d375c", "add byte ptr [eax], al"], ["0x100d375e", "add byte ptr [eax], al"], ["0x100d3760", "add byte ptr [eax], al"], ["0x100d3762", "add byte ptr [eax], al"], ["0x100d3764", "add byte ptr [eax], al"], ["0x100d3766", "add byte ptr [eax], al"], ["0x100d3768", "add byte ptr [eax], al"], ["0x100d376a", "add byte ptr [eax], al"], ["0x100d376c", "add byte ptr [eax], al"], ["0x100d376e", "add byte ptr [eax], al"], ["0x100d3770", "add byte ptr [eax], al"], ["0x100d3772", "add byte ptr [eax], al"], ["0x100d3774", "add byte ptr [eax], al"], ["0x100d3776", "add byte ptr [eax], al"], ["0x100d3778", "add byte ptr [eax], al"], ["0x100d377a", "add byte ptr [eax], al"], ["0x100d377c", "add byte ptr [eax], al"], ["0x100d377e", "add byte ptr [eax], al"], ["0x100d3780", "add byte ptr [eax], al"], ["0x100d3782", "add byte ptr [eax], al"], ["0x100d3784", "add byte ptr [eax], al"], ["0x100d3786", "add byte ptr [eax], al"], ["0x100d3788", "add byte ptr [eax], al"], ["0x100d378a", "add byte ptr [eax], al"], ["0x100d378c", "add byte ptr [eax], al"], ["0x100d378e", "add byte ptr [eax], al"], ["0x100d3790", "add byte ptr [eax], al"], ["0x100d3792", "add byte ptr [eax], al"], ["0x100d3794", "add byte ptr [eax], al"], ["0x100d3796", "add byte ptr [eax], al"], ["0x100d3798", "add byte ptr [eax], al"], ["0x100d379a", "add byte ptr [eax], al"], ["0x100d379c", "add byte ptr [eax], al"], ["0x100d379e", "add byte ptr [eax], al"], ["0x100d37a0", "add byte ptr [eax], al"], ["0x100d37a2", "add byte ptr [eax], al"], ["0x100d37a4", "add byte ptr [eax], al"], ["0x100d37a6", "add byte ptr [eax], al"], ["0x100d37a8", "add byte ptr [eax], al"], ["0x100d37aa", "add byte ptr [eax], al"], ["0x100d37ac", "add byte ptr [eax], al"], ["0x100d37ae", "add byte ptr [eax], al"], ["0x100d37b0", "add byte ptr [eax], al"], ["0x100d37b2", "add byte ptr [eax], al"], ["0x100d37b4", "add byte ptr [eax], al"], ["0x100d37b6", "add byte ptr [eax], al"], ["0x100d37b8", "add byte ptr [eax], al"], ["0x100d37ba", "add byte ptr [eax], al"], ["0x100d37bc", "add byte ptr [eax], al"], ["0x100d37be", "add byte ptr [eax], al"], ["0x100d37c0", "add byte ptr [eax], al"], ["0x100d37c2", "add byte ptr [eax], al"], ["0x100d37c4", "add byte ptr [eax], al"], ["0x100d37c6", "add byte ptr [eax], al"], ["0x100d37c8", "add byte ptr [eax], al"], ["0x100d37ca", "add byte ptr [eax], al"], ["0x100d37cc", "add byte ptr [eax], al"], ["0x100d37ce", "add byte ptr [eax], al"], ["0x100d37d0", "add byte ptr [eax], al"], ["0x100d37d2", "add byte ptr [eax], al"], ["0x100d37d4", "add byte ptr [eax], al"], ["0x100d37d6", "add byte ptr [eax], al"], ["0x100d37d8", "add byte ptr [eax], al"], ["0x100d37da", "add byte ptr [eax], al"], ["0x100d37dc", "add byte ptr [eax], al"], ["0x100d37de", "add byte ptr [eax], al"], ["0x100d37e0", "add byte ptr [eax], al"], ["0x100d37e2", "add byte ptr [eax], al"], ["0x100d37e4", "add byte ptr [eax], al"], ["0x100d37e6", "add byte ptr [eax], al"], ["0x100d37e8", "add byte ptr [eax], al"], ["0x100d37ea", "add byte ptr [eax], al"], ["0x100d37ec", "add byte ptr [eax], al"], ["0x100d37ee", "add byte ptr [eax], al"], ["0x100d37f0", "add byte ptr [eax], al"], ["0x100d37f2", "add byte ptr [eax], al"], ["0x100d37f4", "add byte ptr [eax], al"], ["0x100d37f6", "add byte ptr [eax], al"], ["0x100d37f8", "add byte ptr [eax], al"], ["0x100d37fa", "add byte ptr [eax], al"], ["0x100d37fc", "add byte ptr [eax], al"], ["0x100d37fe", "add byte ptr [eax], al"]]}]]]}, {"address": "0x100d0730", "recomp": "0x100babd0", "name": "MxRAMStreamProvider::MxRAMStreamProvider", "matching": 1.0, "diff": []}, {"address": "0x100d07c0", "recomp": "0x100bacf0", "name": "MxStreamProvider::SetResourceToGet", "matching": 1.0, "diff": []}, {"address": "0x100d07d0", "recomp": "0x100bad00", "name": "MxStreamProvider::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100d07e0", "recomp": "0x100bac60", "name": "MxStreamProvider::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100d07f0", "recomp": "0x100bac70", "name": "MxStreamProvider::IsA", "matching": 1.0, "diff": []}, {"address": "0x100d0870", "recomp": "0x100bad10", "name": "MxStreamProvider::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100d08e0", "recomp": "0x100bad80", "name": "MxStreamProvider::~MxStreamProvider", "matching": 1.0, "diff": []}, {"address": "0x100d0930", "recomp": "0x100baeb0", "name": "MxRAMStreamProvider::GetFileSize", "matching": 1.0, "diff": []}, {"address": "0x100d0940", "recomp": "0x100baec0", "name": "MxRAMStreamProvider::GetStreamBuffersNum", "matching": 1.0, "diff": []}, {"address": "0x100d0950", "recomp": "0x100baed0", "name": "MxRAMStreamProvider::GetLengthInDWords", "matching": 1.0, "diff": []}, {"address": "0x100d0960", "recomp": "0x100baee0", "name": "MxRAMStreamProvider::GetBufferForDWords", "matching": 1.0, "diff": []}, {"address": "0x100d0970", "recomp": "0x100badd0", "name": "MxRAMStreamProvider::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100d0980", "recomp": "0x100bade0", "name": "MxRAMStreamProvider::IsA", "matching": 1.0, "diff": []}, {"address": "0x100d0a30", "recomp": "0x100bae90", "name": "MxRAMStreamProvider::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100d0a50", "recomp": "0x100baef0", "name": "MxRAMStreamProvider::~MxRAMStreamProvider", "matching": 1.0, "diff": []}, {"address": "0x100d0ae0", "recomp": "0x100baf80", "name": "MxRAMStreamProvider::SetResourceToGet", "matching": 1.0, "diff": []}, {"address": "0x100d0d80", "recomp": "0x100bb220", "name": "ReadData", "matching": 0.9583333333333334, "diff": [["@@ -0x100d0e17,25 +0x100bb2b7,25 @@", [{"both": [["0x100d0e17", "add ecx, eax", "0x100bb2b7"], ["0x100d0e19", "add ecx, 8", "0x100bb2b9"], ["0x100d0e1c", "add dword ptr [esp + 0x10], ecx", "0x100bb2bc"], ["0x100d0e20", "cmp dword ptr [ebx], 0x6843784d", "0x100bb2c0"], ["0x100d0e26", "jne 0x66", "0x100bb2c6"], ["0x100d0e28", "push ebx", "0x100bb2c8"], ["0x100d0e29", "call MxStreamChunk::IntoFlags (FUNCTION)", "0x100bb2c9"], ["0x100d0e2e", "add esp, 4", "0x100bb2ce"], ["0x100d0e31", "test byte ptr [eax], 0x10", "0x100bb2d1"], ["0x100d0e34", "je 0x58", "0x100bb2d4"]]}, {"orig": [["0x100d0e36", "push esi"]], "recomp": [["0x100bb2d6", "push ebx"]]}, {"both": [["0x100d0e37", "call MxStreamChunk::IntoObjectId (FUNCTION)", "0x100bb2d7"], ["0x100d0e3c", "add esp, 4", "0x100bb2dc"], ["0x100d0e3f", "mov ebp, dword ptr [eax]", "0x100bb2df"]]}, {"orig": [["0x100d0e41", "push ebx"]], "recomp": [["0x100bb2e1", "push esi"]]}, {"both": [["0x100d0e42", "call MxStreamChunk::IntoObjectId (FUNCTION)", "0x100bb2e2"], ["0x100d0e47", "add esp, 4", "0x100bb2e7"], ["0x100d0e4a", "cmp ebp, dword ptr [eax]", "0x100bb2ea"], ["0x100d0e4c", "jne 0x32", "0x100bb2ec"], ["0x100d0e4e", "push esi", "0x100bb2ee"], ["0x100d0e4f", "call MxStreamChunk::IntoFlags (FUNCTION)", "0x100bb2ef"], ["0x100d0e54", "add esp, 4", "0x100bb2f4"], ["0x100d0e57", "test byte ptr [eax], 0x10", "0x100bb2f7"], ["0x100d0e5a", "je 0x24", "0x100bb2fa"], ["0x100d0e5c", "push ebx", "0x100bb2fc"]]}]], ["@@ -0x100d0eec,21 +0x100bb38c,21 @@", [{"both": [["0x100d0eec", "jmp 0x4", "0x100bb38c"], ["0x100d0eee", "inc dword ptr [esp + 0x10]", "0x100bb38e"], ["0x100d0ef2", "mov eax, dword ptr [esp + 0x14]", "0x100bb392"], ["0x100d0ef6", "cmp dword ptr [esp + 0x10], eax", "0x100bb396"], ["0x100d0efa", "jb -0x15b", "0x100bb39a"], ["0x100d0f00", "push ebx", "0x100bb3a0"], ["0x100d0f01", "call MxStreamChunk::IntoFlags (FUNCTION)", "0x100bb3a1"], ["0x100d0f06", "and word ptr [eax], 0xffef", "0x100bb3a6"], ["0x100d0f0b", "add esp, 4", "0x100bb3ab"], ["0x100d0f0e", "mov eax, dword ptr [ebx + 4]", "0x100bb3ae"]]}, {"orig": [], "recomp": [["0x100bb3b1", "sub ebx, dword ptr [esp + 0x20]"]]}, {"both": [["0x100d0f11", "mov ecx, eax", "0x100bb3b5"]]}, {"orig": [], "recomp": [["0x100bb3b7", "pop ebp"]]}, {"both": [["0x100d0f13", "and ecx, 1", "0x100bb3b8"]]}, {"orig": [["0x100d0f16", "sub ecx, dword ptr [esp + 0x20]"], ["0x100d0f1a", "pop ebp"], ["0x100d0f1b", "add ecx, ebx"]], "recomp": []}, {"both": [["0x100d0f1d", "pop edi", "0x100bb3bb"]]}, {"orig": [], "recomp": [["0x100bb3bc", "add ebx, ecx"]]}, {"both": [["0x100d0f1e", "pop esi", "0x100bb3be"]]}, {"orig": [], "recomp": [["0x100bb3bf", "lea eax, [ebx + eax + 8]"]]}, {"both": [["0x100d0f1f", "pop ebx", "0x100bb3c3"]]}, {"orig": [["0x100d0f20", "lea eax, [ecx + eax + 8]"]], "recomp": []}, {"both": [["0x100d0f24", "add esp, 0xc", "0x100bb3c4"], ["0x100d0f27", "ret ", "0x100bb3c7"]]}]]]}, {"address": "0x100d0f30", "recomp": "0x100bb3d0", "name": "MxDiskStreamProviderThread::Run", "matching": 1.0, "diff": []}, {"address": "0x100d0f50", "recomp": "0x100bb3f0", "name": "MxDiskStreamProviderThread::StartWithTarget", "matching": 1.0, "diff": []}, {"address": "0x100d0f70", "recomp": "0x100bb410", "name": "MxDiskStreamProvider::MxDiskStreamProvider", "matching": 1.0, "diff": []}, {"address": "0x100d10a0", "recomp": "0x100bb540", "name": "MxDiskStreamProviderThread::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100d1110", "recomp": "0x100bb5b0", "name": "MxDiskStreamProviderThread::~MxDiskStreamProviderThread", "matching": 1.0, "diff": []}, {"address": "0x100d1160", "recomp": "0x100bb600", "name": "MxDiskStreamProvider::ClassName", "matching": 1.0, "diff": []}, {"address": "0x100d1170", "recomp": "0x100bb610", "name": "MxDiskStreamProvider::IsA", "matching": 1.0, "diff": []}, {"address": "0x100d1220", "recomp": "0x100bb6c0", "name": "MxDiskStreamProvider::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100d1240", "recomp": "0x100bb6e0", "name": "MxDiskStreamProvider::~MxDiskStreamProvider", "matching": 1.0, "diff": []}, {"address": "0x100d13d0", "recomp": "0x100bb870", "name": "MxDiskStreamProvider::SetResourceToGet", "matching": 1.0, "diff": []}, {"address": "0x100d15e0", "recomp": "0x100bba80", "name": "MxDiskStreamProvider::VTable0x20", "matching": 1.0, "diff": []}, {"address": "0x100d1750", "recomp": "0x100bbbf0", "name": "MxDiskStreamProvider::WaitForWorkToComplete", "matching": 1.0, "effective": true, "diff": [["@@ -0x100d1750,19 +0x100bbbf0,19 @@", [{"both": [["0x100d1750", "push esi", "0x100bbbf0"], ["0x100d1751", "push edi", "0x100bbbf1"], ["0x100d1752", "cmp byte ptr [ecx + 0x34], 0", "0x100bbbf2"]]}, {"orig": [["0x100d1756", "mov edi, ecx"]], "recomp": [["0x100bbbf6", "mov esi, ecx"]]}, {"both": [["0x100d1758", "je 0x1f", "0x100bbbf8"]]}, {"orig": [["0x100d175a", "lea esi, [edi + 0x2c]"]], "recomp": [["0x100bbbfa", "lea edi, [esi + 0x2c]"]]}, {"both": [["0x100d175d", "push -1", "0x100bbbfd"]]}, {"orig": [], "recomp": [["0x100bbbff", "mov ecx, edi"], ["0x100bbc01", "call MxSemaphore::Wait (FUNCTION)"], ["0x100bbc06", "cmp byte ptr [esi + 0x35], 0"], ["0x100bbc0a", "je 0x7"]]}, {"both": [["0x100d175f", "mov ecx, esi", "0x100bbc0c"]]}, {"orig": [["0x100d1761", "call MxSemaphore::Wait (FUNCTION)"], ["0x100d1766", "cmp byte ptr [edi + 0x35], 0"], ["0x100d176a", "je 0x7"], ["0x100d176c", "mov ecx, edi"]], "recomp": []}, {"both": [["0x100d176e", "call MxDiskStreamProvider::PerformWork (FUNCTION)", "0x100bbc0e"]]}, {"orig": [["0x100d1773", "cmp byte ptr [edi + 0x34], 0"]], "recomp": [["0x100bbc13", "cmp byte ptr [esi + 0x34], 0"]]}, {"both": [["0x100d1777", "jne -0x1c", "0x100bbc17"], ["0x100d1779", "xor eax, eax", "0x100bbc19"], ["0x100d177b", "pop edi", "0x100bbc1b"], ["0x100d177c", "pop esi", "0x100bbc1c"], ["0x100d177d", "ret ", "0x100bbc1d"]]}]]]}, {"address": "0x100d1780", "recomp": "0x100bbc20", "name": "MxDiskStreamProvider::FUN_100d1780", "matching": 1.0, "diff": []}, {"address": "0x100d18f0", "recomp": "0x100bbd90", "name": "MxDiskStreamProvider::PerformWork", "matching": 0.9712460063897763, "diff": [["@@ -0x100d1993,34 +0x100bbe33,37 @@", [{"both": [["0x100d1993", "mov eax, dword ptr [ebp - 0x18]", "0x100bbe33"], ["0x100d1996", "lea ecx, [ebp - 0x20]", "0x100bbe36"], ["0x100d1999", "push eax", "0x100bbe39"], ["0x100d199a", "call MxAutoLock::MxAutoLock (FUNCTION)", "0x100bbe3a"], ["0x100d199f", "mov eax, dword ptr [ebp - 0x10]", "0x100bbe3f"], ["0x100d19a2", "mov dword ptr [ebp - 4], 1", "0x100bbe42"], ["0x100d19a9", "cmp dword ptr [eax + 0x5c], 0", "0x100bbe49"], ["0x100d19ad", "jne 0x11", "0x100bbe4d"], ["0x100d19af", "mov dword ptr [ebp - 4], 0xffffffff", "0x100bbe4f"], ["0x100d19b6", "call <OFFSET7>", "0x100bbe56"]]}, {"orig": [["0x100d19bb", "jmp 0xe8"]], "recomp": [["0x100bbe5b", "jmp 0xf1"]]}, {"both": [["0x100d19c0", "mov eax, dword ptr [ebp - 0x10]", "0x100bbe60"], ["0x100d19c3", "mov ecx, dword ptr [eax + 0x58]", "0x100bbe63"], ["0x100d19c6", "mov eax, dword ptr [ecx]", "0x100bbe66"], ["0x100d19c8", "mov edx, dword ptr [eax + 8]", "0x100bbe68"], ["0x100d19cb", "mov esi, dword ptr [eax]", "0x100bbe6b"], ["0x100d19cd", "mov dword ptr [ebp - 0x14], edx", "0x100bbe6d"]]}, {"orig": [], "recomp": [["0x100bbe70", "mov dword ptr [ebp - 0x18], eax"]]}, {"both": [["0x100d19d0", "lea edx, [eax + 4]", "0x100bbe73"]]}, {"orig": [["0x100d19d3", "push eax"]], "recomp": []}, {"both": [["0x100d19d4", "mov ecx, dword ptr [edx]", "0x100bbe76"], ["0x100d19d6", "mov dword ptr [ecx], esi", "0x100bbe78"], ["0x100d19d8", "mov ecx, dword ptr [edx]", "0x100bbe7a"]]}, {"orig": [], "recomp": [["0x100bbe7c", "mov eax, dword ptr [ebp - 0x18]"]]}, {"both": [["0x100d19da", "mov esi, dword ptr [eax]", "0x100bbe7f"], ["0x100d19dc", "mov dword ptr [esi + 4], ecx", "0x100bbe81"]]}, {"orig": [], "recomp": [["0x100bbe84", "mov eax, dword ptr [ebp - 0x18]"], ["0x100bbe87", "push eax"]]}, {"both": [["0x100d19df", "call ??3@YAXPAX@Z (FUNCTION)", "0x100bbe88"], ["0x100d19e4", "add esp, 4", "0x100bbe8d"], ["0x100d19e7", "mov eax, dword ptr [ebp - 0x10]", "0x100bbe90"], ["0x100d19ea", "mov dword ptr [ebp - 4], 0xffffffff", "0x100bbe93"], ["0x100d19f1", "dec dword ptr [eax + 0x5c]", "0x100bbe9a"], ["0x100d19f4", "call <OFFSET7>", "0x100bbe9d"], ["0x100d19f9", "mov eax, dword ptr [ebp - 0x14]", "0x100bbea2"], ["0x100d19fc", "mov ecx, dword ptr [eax + 0xa0]", "0x100bbea5"], ["0x100d1a02", "add eax, 0xa0", "0x100bbeab"], ["0x100d1a07", "cmp dword ptr [ecx + 0x28], 0x20000", "0x100bbeb0"]]}]], ["@@ -0x100d1aa8,17 +0x100bbf51,17 @@", [{"both": [["0x100d1aa8", "cmp dword ptr [ebp - 0x14], 0", "0x100bbf51"], ["0x100d1aac", "je 0xc", "0x100bbf55"], ["0x100d1aae", "mov eax, dword ptr [ebp - 0x14]", "0x100bbf57"], ["0x100d1ab1", "mov ecx, dword ptr [ebp - 0x1c]", "0x100bbf5a"], ["0x100d1ab4", "push eax", "0x100bbf5d"], ["0x100d1ab5", "call MxDiskStreamController::FUN_100c8670 (FUNCTION)", "0x100bbf5e"], ["0x100d1aba", "push 0", "0x100bbf63"], ["0x100d1abc", "mov ecx, dword ptr [ebp - 0x10]", "0x100bbf65"], ["0x100d1abf", "add ecx, 0x10", "0x100bbf68"], ["0x100d1ac2", "call MxThread::Sleep (FUNCTION)", "0x100bbf6b"]]}, {"orig": [["0x100d1ac7", "jmp -0x153"]], "recomp": [["0x100bbf70", "jmp -0x15c"]]}, {"both": [["0x100d1acc", "lea ecx, [ebp - 0x20]", "0x100bbf75"], ["0x100d1acf", "jmp MxAutoLock::~MxAutoLock (FUNCTION)", "0x100bbf78"], ["0x100d1ad4", "mov eax, <OFFSET13>", "0x100bbf7d"], ["0x100d1ad9", "jmp ___CxxFrameHandler (FUNCTION)", "0x100bbf82"], ["0x100d1ade", "lea ecx, [ebp - 0x20]", "0x100bbf87"], ["0x100d1ae1", "jmp MxAutoLock::~MxAutoLock (FUNCTION)", "0x100bbf8a"]]}]]]}, {"address": "0x100d1af0", "recomp": "0x100bbf90", "name": "MxDiskStreamProvider::FUN_100d1af0", "matching": 1.0, "diff": []}, {"address": "0x100d1b20", "recomp": "0x100bbfc0", "name": "MxDiskStreamProvider::FUN_100d1b20", "matching": 1.0, "diff": []}, {"address": "0x100d1e90", "recomp": "0x100bc330", "name": "MxDiskStreamProvider::GetFileSize", "matching": 1.0, "diff": []}, {"address": "0x100d1ea0", "recomp": "0x100bc340", "name": "MxDiskStreamProvider::GetStreamBuffersNum", "matching": 1.0, "diff": []}, {"address": "0x100d1eb0", "recomp": "0x100bc350", "name": "MxDiskStreamProvider::GetLengthInDWords", "matching": 1.0, "diff": []}, {"address": "0x100d1ec0", "recomp": "0x100bc360", "name": "MxDiskStreamProvider::GetBufferForDWords", "matching": 1.0, "diff": []}, {"address": "0x100d1ed0", "recomp": "0x100cf960", "name": "_strnicmp", "matching": 1.0, "diff": []}, {"address": "0x100d1fd0", "recomp": "0x100cfa60", "name": "_strupr", "matching": 1.0, "diff": []}, {"address": "0x100d2130", "recomp": "0x100c29a0", "name": "_vsprintf", "matching": 1.0, "diff": []}, {"address": "0x100d21c2", "recomp": "0x100c2a32", "name": "__CIpow", "matching": 1.0, "diff": []}, {"address": "0x100d21f0", "recomp": "0x100c2ad0", "name": "_strstr", "matching": 0.9848484848484849, "diff": [["@@ -0x100d224b,21 +0x100c2b2b,21 @@", [{"both": [["0x100d224b", "mov ah, byte ptr [esi - 1]", "0x100c2b2b"], ["0x100d224e", "add ecx, 2", "0x100c2b2e"], ["0x100d2251", "cmp al, ah", "0x100c2b31"], ["0x100d2253", "je -0x21", "0x100c2b33"], ["0x100d2255", "jmp -0x4f", "0x100c2b35"], ["0x100d2257", "xor eax, eax", "0x100c2b37"], ["0x100d2259", "pop esi", "0x100c2b39"], ["0x100d225a", "pop ebx", "0x100c2b3a"], ["0x100d225b", "pop edi", "0x100c2b3b"], ["0x100d225c", "mov al, dl", "0x100c2b3c"]]}, {"orig": [["0x100d225e", "jmp -0x3a74d"]], "recomp": [["0x100c2b3e", "jmp ___from_strstr_to_strchr (UNK)"]]}, {"both": [["0x100d2263", "lea eax, [edi - 1]", "0x100c2b43"], ["0x100d2266", "pop esi", "0x100c2b46"], ["0x100d2267", "pop ebx", "0x100c2b47"], ["0x100d2268", "pop edi", "0x100c2b48"], ["0x100d2269", "ret ", "0x100c2b49"], ["0x100d226a", "mov eax, edi", "0x100c2b4a"], ["0x100d226c", "pop esi", "0x100c2b4c"], ["0x100d226d", "pop ebx", "0x100c2b4d"], ["0x100d226e", "pop edi", "0x100c2b4e"], ["0x100d226f", "ret ", "0x100c2b4f"]]}]]]}, {"address": "0x100d2270", "recomp": "0x100c2c20", "name": "__beginthreadex", "matching": 1.0, "diff": []}, {"address": "0x100d3740", "recomp": "0x100bc3a0", "name": "LegoBox::Read", "matching": 1.0, "diff": []}, {"address": "0x100d3770", "recomp": "0x100bc3d0", "name": "LegoSphere::Read", "matching": 1.0, "diff": []}, {"address": "0x100d37b0", "recomp": "0x100bc410", "name": "LegoVertex::LegoVertex", "matching": 1.0, "diff": []}, {"address": "0x100d37c0", "recomp": "0x100bc420", "name": "LegoVertex::Read", "matching": 1.0, "diff": []}, {"address": "0x100d3810", "recomp": "0x100bc470", "name": "LegoMesh::LegoMesh", "matching": 1.0, "diff": []}, {"address": "0x100d3840", "recomp": "0x100bc4a0", "name": "LegoMesh::`scalar deleting destructor'", "matching": 1.0, "diff": []}, {"address": "0x100d3860", "recomp": "0x100bc4c0", "name": "LegoMesh::~LegoMesh", "matching": 1.0, "diff": []}, {"address": "0x100d38f0", "recomp": "0x100bc550", "name": "LegoMesh::Read", "matching": 1.0, "diff": []}, {"address": "0x100d3a20", "recomp": "0x100bc680", "name": "LegoColor::Read", "matching": 1.0, "diff": []}, {"address": "0x100d4018", "recomp": "0x100d4060", "name": "Score::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d40f8", "recomp": "0x100d41f8", "name": "Helicopter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d41e8", "recomp": "0x100d4338", "name": "Mx4DPointFloat::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4288", "recomp": "0x100d4180", "name": "Vector2::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4300", "recomp": "0x100d42e8", "name": "MxMatrix::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4350", "recomp": "0x100d4138", "name": "Matrix4::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4398", "recomp": "0x100d43d8", "name": "IslePathActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4488", "recomp": "0x100d44c8", "name": "Mx3DPointFloat::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4518", "recomp": "0x100d4558", "name": "Vector3::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d45a0", "recomp": "0x100d45e0", "name": "Vector4::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4650", "recomp": "0x100d4680", "name": "GasStation::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d46c0", "recomp": "0x100d46f0", "name": "LegoState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d46e0", "recomp": "0x100d4710", "name": "GasStationState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4718", "recomp": "0x100d4730", "name": "LegoCacheSound::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4768", "recomp": "0x100d4770", "name": "LegoObjectFactory::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4788", "recomp": "0x100d50e8", "name": "Doors::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4858", "recomp": "0x100d4880", "name": "LegoEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d48a8", "recomp": "0x100d5070", "name": "RaceStandsEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4900", "recomp": "0x100d4be8", "name": "LegoLoopingAnimPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d49a8", "recomp": "0x100d4e98", "name": "MxWavePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4a18", "recomp": "0x100d5240", "name": "BeachHouseEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4a70", "recomp": "0x100d5050", "name": "LegoAct2State::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4a90", "recomp": "0x100d4e78", "name": "JukeBoxState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4ab0", "recomp": "0x100d4c90", "name": "PoliceEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4b08", "recomp": "0x100d54c0", "name": "MxSoundPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4b70", "recomp": "0x100d50c8", "name": "CarRaceState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4b90", "recomp": "0x100d4f28", "name": "InfoCenterEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4be8", "recomp": "0x100d49c0", "name": "MxVideoPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4c70", "recomp": "0x100d4818", "name": "MxAudioPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4cd8", "recomp": "0x100d4d48", "name": "MxMediaPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4d38", "recomp": "0x100d5450", "name": "MxPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4d90", "recomp": "0x100d53f0", "name": "LegoTexturePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4df0", "recomp": "0x100d4ce8", "name": "LegoPartPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4e50", "recomp": "0x100d4790", "name": "LegoModelPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4ed8", "recomp": "0x100d4b18", "name": "Act2GenActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4fa8", "recomp": "0x100d48d0", "name": "JetskiRaceState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4fc8", "recomp": "0x100d4f08", "name": "Act3State::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d4fe8", "recomp": "0x100d4a48", "name": "JetskiRace::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5068", "recomp": "0x100d4da8", "name": "HospitalEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d50c0", "recomp": "0x100d4fa0", "name": "CaveEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5118", "recomp": "0x100d48f0", "name": "LegoActionControlPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5178", "recomp": "0x100d5528", "name": "IsleActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5200", "recomp": "0x100d4ff8", "name": "JailEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5258", "recomp": "0x100d4e20", "name": "GasStationEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d52b0", "recomp": "0x100d5380", "name": "Lego3DWavePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5320", "recomp": "0x100d4950", "name": "LegoActorPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5390", "recomp": "0x100d54a8", "name": "MxEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d53a8", "recomp": "0x100d4ac8", "name": "Act2PoliceStation::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d53f8", "recomp": "0x100d4e00", "name": "ScoreState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5418", "recomp": "0x100d4f80", "name": "HelicopterState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5440", "recomp": "0x100d52a0", "name": "LegoAnimActor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5510", "recomp": "0x100d5370", "name": "LegoAnimActor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5520", "recomp": "0x100d51b8", "name": "Pizzeria::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d55f0", "recomp": "0x100d55f0", "name": "SkateBoard::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d56e0", "recomp": "0x100d56e8", "name": "MxNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d56e8", "recomp": "0x100d56e0", "name": "MxParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5778", "recomp": "0x100d5760", "name": "Lego3DSound::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d57b0", "recomp": "0x100d5788", "name": "LegoCameraController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d58a0", "recomp": "0x100d5938", "name": "LegoRaceCar::`vftable'{for `LegoRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d58a8", "recomp": "0x100d5940", "name": "LegoRaceCar::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d58b8", "recomp": "0x100d5950", "name": "LegoRaceCar::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5984", "recomp": "0x100d5a1c", "name": "LegoRaceCar::`vftable'{for `LegoRaceMap'}", "matching": 1.0, "diff": []}, {"address": "0x100d5988", "recomp": "0x100d5a20", "name": "LegoRaceCar::`vftable'{for `LegoCarRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5a08", "recomp": "0x100d5aa0", "name": "LegoJetski::`vftable'{for `LegoCarRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5a28", "recomp": "0x100d5ac0", "name": "LegoJetski::`vftable'{for `LegoRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5a30", "recomp": "0x100d5ac8", "name": "LegoJetski::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5a40", "recomp": "0x100d5ad8", "name": "LegoJetski::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5b10", "recomp": "0x100d5ba8", "name": "LegoJetski::`vftable'{for `LegoRaceMap'}", "matching": 1.0, "diff": []}, {"address": "0x100d5b78", "recomp": "0x100d5c00", "name": "LegoRaceActor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5b88", "recomp": "0x100d5c10", "name": "LegoRaceActor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d5c54", "recomp": "0x100d5cdc", "name": "LegoRaceActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5c88", "recomp": "0x100d5ce0", "name": "BuildingEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5db0", "recomp": "0x100d5d58", "name": "LegoRace::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5e30", "recomp": "0x100d5dd8", "name": "RaceState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5e50", "recomp": "0x100d5e58", "name": "CarRace::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5ee8", "recomp": "0x100d5ee0", "name": "PizzeriaState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5f20", "recomp": "0x100d5f08", "name": "ElevatorBottom::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d5fa8", "recomp": "0x100d5f78", "name": "LegoLoadCacheSoundPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6078", "recomp": "0x100d6040", "name": "Act2Actor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d6148", "recomp": "0x100d6110", "name": "Act2Actor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d6230", "recomp": "0x100d61d8", "name": "LegoPathStructNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6280", "recomp": "0x100d6270", "name": "LegoWorld::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d62f0", "recomp": "0x100d6210", "name": "MxPtrList<MxPresenter>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6308", "recomp": "0x100d6228", "name": "MxPresenterList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6320", "recomp": "0x100d6240", "name": "MxPtrList<LegoPathController>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6338", "recomp": "0x100d6258", "name": "LegoPathControllerList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6350", "recomp": "0x100d62e0", "name": "MxCollection<MxPresenter *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6368", "recomp": "0x100d62f8", "name": "MxList<MxPresenter *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6380", "recomp": "0x100d6310", "name": "MxCollection<LegoPathController *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6398", "recomp": "0x100d6328", "name": "MxList<LegoPathController *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d63b0", "recomp": "0x100d63e8", "name": "MxCollection<LegoCacheSound *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d63c8", "recomp": "0x100d6340", "name": "MxList<LegoCacheSound *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d63e0", "recomp": "0x100d6358", "name": "MxPtrList<LegoCacheSound>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d63f8", "recomp": "0x100d6370", "name": "LegoCacheSoundList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6410", "recomp": "0x100d6388", "name": "MxCollection<LegoEntity *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6428", "recomp": "0x100d63a0", "name": "MxList<LegoEntity *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6440", "recomp": "0x100d63b8", "name": "MxPtrList<LegoEntity>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6458", "recomp": "0x100d63d0", "name": "LegoEntityList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6470", "recomp": "0x100d6448", "name": "MxPresenterListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6488", "recomp": "0x100d6460", "name": "MxListCursor<MxPresenter *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d64a0", "recomp": "0x100d64c0", "name": "MxListCursor<LegoCacheSound *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d64b8", "recomp": "0x100d6400", "name": "MxPtrListCursor<LegoEntity>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d64d0", "recomp": "0x100d6418", "name": "LegoEntityListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d64e8", "recomp": "0x100d64a8", "name": "MxListCursor<LegoEntity *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6500", "recomp": "0x100d6478", "name": "MxPtrListCursor<LegoCacheSound>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6518", "recomp": "0x100d6490", "name": "LegoCacheSoundListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6530", "recomp": "0x100d6430", "name": "MxPtrListCursor<MxPresenter>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6548", "recomp": "0x100d64d8", "name": "MxPtrListCursor<LegoPathController>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6560", "recomp": "0x100d64f0", "name": "LegoPathControllerListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6578", "recomp": "0x100d6508", "name": "MxListCursor<LegoPathController *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6658", "recomp": "0x100d6560", "name": "LegoCarBuild::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d66e0", "recomp": "0x100d65e8", "name": "LegoVehicleBuildState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6758", "recomp": "0x100d6650", "name": "LegoPlantManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6790", "recomp": "0x100d6680", "name": "BumpBouy::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d6860", "recomp": "0x100d6750", "name": "BumpBouy::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d6888", "recomp": "0x100d6760", "name": "MxCollection<ModelDbPart *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d68a0", "recomp": "0x100d6778", "name": "MxList<ModelDbPart *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d68b8", "recomp": "0x100d6790", "name": "ModelDbPartList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d68d0", "recomp": "0x100d67a8", "name": "MxListCursor<ModelDbPart *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d68e8", "recomp": "0x100d67c0", "name": "ModelDbPartListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6918", "recomp": "0x100d67e8", "name": "RaceCar::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6a20", "recomp": "0x100d68f8", "name": "MxCollection<MxCore *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6a38", "recomp": "0x100d6910", "name": "MxList<MxCore *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6a50", "recomp": "0x100d6928", "name": "MxPtrList<MxCore>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6a68", "recomp": "0x100d6940", "name": "LegoNotifyList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6a80", "recomp": "0x100d68d8", "name": "LegoControlManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6a98", "recomp": "0x100d6958", "name": "LegoControlManagerNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6aa0", "recomp": "0x100d68f0", "name": "LegoEventNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6aa8", "recomp": "0x100d6978", "name": "LegoNotifyListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6ac0", "recomp": "0x100d6990", "name": "MxListCursor<MxCore *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6ad8", "recomp": "0x100d6960", "name": "MxPtrListCursor<MxCore>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6b10", "recomp": "0x100d69a8", "name": "LegoSoundManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6b4c", "recomp": "0x100d69ec", "name": "LegoCacheSoundManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6c00", "recomp": "0x100d6a90", "name": "LegoExtraActor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d6c10", "recomp": "0x100d6aa0", "name": "LegoExtraActor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d6cdc", "recomp": "0x100d6b6c", "name": "LegoExtraActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6d10", "recomp": "0x100d6b80", "name": "Radio::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6d28", "recomp": "0x100d6b98", "name": "RadioState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6d68", "recomp": "0x100d6bc8", "name": "LegoActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6e28", "recomp": "0x100d6c80", "name": "LegoPathActor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6f50", "recomp": "0x100d6d98", "name": "LegoBuildingManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d6fb8", "recomp": "0x100d6df0", "name": "Isle::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7028", "recomp": "0x100d6e60", "name": "Act1State::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7090", "recomp": "0x100d70a8", "name": "Motocycle::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d71a8", "recomp": "0x100d6e98", "name": "Ambulance::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d72a0", "recomp": "0x100d6f90", "name": "AmbulanceMissionState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d72d8", "recomp": "0x100d72c8", "name": "InfocenterDoor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7380", "recomp": "0x100d6fc0", "name": "Pizza::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7408", "recomp": "0x100d7048", "name": "PizzaMissionState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7498", "recomp": "0x100d73b8", "name": "MxVariable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d74a8", "recomp": "0x100d73a8", "name": "LegoBackgroundColor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d74b8", "recomp": "0x100d73c8", "name": "LegoFullScreenMovie::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7588", "recomp": "0x100d7450", "name": "MxPtrListCursor<LegoWorld>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d75a0", "recomp": "0x100d7468", "name": "LegoWorldListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d75b8", "recomp": "0x100d7480", "name": "MxListCursor<LegoWorld *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7668", "recomp": "0x100d7518", "name": "Act3Actor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7738", "recomp": "0x100d75e8", "name": "Act3Actor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7750", "recomp": "0x100d7600", "name": "Act3Cop::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7820", "recomp": "0x100d76d0", "name": "Act3Cop::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7838", "recomp": "0x100d76e8", "name": "Act3Brickster::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7908", "recomp": "0x100d77b8", "name": "Act3Brickster::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7920", "recomp": "0x100d77d0", "name": "Act3Shark::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d79f0", "recomp": "0x100d78a0", "name": "Act3Shark::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d7a38", "recomp": "0x100d7968", "name": "MxStillPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7ac8", "recomp": "0x100d78d8", "name": "LegoMeterPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7b88", "recomp": "0x100d79f8", "name": "MxControlPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7c10", "recomp": "0x100d7a70", "name": "LegoPathPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7c88", "recomp": "0x100d7ad0", "name": "LegoPhoneme::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7d60", "recomp": "0x100d7b30", "name": "LegoPathController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7d80", "recomp": "0x100d7b50", "name": "LegoStorage::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7d9c", "recomp": "0x100d7b78", "name": "LegoPathStructBase::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7da0", "recomp": "0x100d7b70", "name": "LegoPathStruct::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7da8", "recomp": "0x100d7b7c", "name": "LegoPathCtrlEdge::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7de8", "recomp": "0x100d7d08", "name": "LegoAnimMMPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7e50", "recomp": "0x100d7d70", "name": "MxDSActionListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7e68", "recomp": "0x100d7d88", "name": "MxListCursor<MxDSAction *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7e80", "recomp": "0x100d7da0", "name": "LegoEndAnimNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7ea0", "recomp": "0x100d7db0", "name": "MxTransitionManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7ee0", "recomp": "0x100d7de8", "name": "TowTrack::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d7fd8", "recomp": "0x100d7ee0", "name": "TowTrackMissionState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8040", "recomp": "0x100d7f10", "name": "LegoPhonemePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d80c8", "recomp": "0x100d7fb0", "name": "MxListCursor<LegoPhoneme *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d80e0", "recomp": "0x100d7f98", "name": "LegoPhonemeListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8110", "recomp": "0x100d7fd0", "name": "MxCollection<LegoNamedTexture *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8128", "recomp": "0x100d7fe8", "name": "MxList<LegoNamedTexture *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8140", "recomp": "0x100d8000", "name": "MxPtrList<LegoNamedTexture>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8158", "recomp": "0x100d8018", "name": "LegoNamedTextureList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8170", "recomp": "0x100d8048", "name": "MxListCursor<LegoNamedTexture *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8188", "recomp": "0x100d8060", "name": "MxPtrListCursor<LegoNamedTexture>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d81a0", "recomp": "0x100d8030", "name": "LegoNamedTextureListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d82e0", "recomp": "0x100d8190", "name": "LegoAct2::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8350", "recomp": "0x100d8208", "name": "MxActionNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8358", "recomp": "0x100d8200", "name": "MxEndActionNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8398", "recomp": "0x100d8238", "name": "LegoEntityPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8460", "recomp": "0x100d71e8", "name": "Act3Ammo::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d85b8", "recomp": "0x100d8320", "name": "LegoNavController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8618", "recomp": "0x100d8370", "name": "LegoPathBoundary::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8638", "recomp": "0x100d83f0", "name": "LegoOmni::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8680", "recomp": "0x100d8460", "name": "LegoWorldList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8698", "recomp": "0x100d84d8", "name": "WhoAmIVariable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d86a8", "recomp": "0x100d84e8", "name": "CursorVariable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d86b8", "recomp": "0x100d84f8", "name": "CameraLocationVariable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d86c8", "recomp": "0x100d8480", "name": "VisibilityVariable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d86d4", "recomp": "0x100d84f4", "name": "LegoContainer<LegoTextureInfo>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d86d8", "recomp": "0x100d8438", "name": "MxTickleManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d86fc", "recomp": "0x100d8478", "name": "LegoTextureContainer::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8700", "recomp": "0x100d8490", "name": "MxCollection<LegoWorld *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8718", "recomp": "0x100d84a8", "name": "MxList<LegoWorld *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8730", "recomp": "0x100d84c0", "name": "MxPtrList<LegoWorld>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8760", "recomp": "0x100d8510", "name": "LegoInputManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d87b8", "recomp": "0x100d8568", "name": "MxCollection<LegoEventNotificationParam>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d87d0", "recomp": "0x100d8580", "name": "MxList<LegoEventNotificationParam>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d87e8", "recomp": "0x100d8598", "name": "MxQueue<LegoEventNotificationParam>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8800", "recomp": "0x100d85b0", "name": "LegoEventQueue::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8858", "recomp": "0x100d85f8", "name": "LegoRaceMap::`vftable'{for `LegoRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d8860", "recomp": "0x100d8600", "name": "LegoRaceMap::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d8870", "recomp": "0x100d8610", "name": "LegoRaceMap::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d893c", "recomp": "0x100d86dc", "name": "LegoRaceMap::`vftable'{for `LegoRaceMap'}", "matching": 1.0, "diff": []}, {"address": "0x100d8958", "recomp": "0x100d86e8", "name": "JukeBox::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d89e0", "recomp": "0x100d8760", "name": "LegoFlcTexturePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8a80", "recomp": "0x100d87f0", "name": "Police::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8af0", "recomp": "0x100d8860", "name": "PoliceState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8c18", "recomp": "0x100d8970", "name": "LegoAnimationManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8c30", "recomp": "0x100d8988", "name": "MxCollection<LegoROI *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8c48", "recomp": "0x100d89a0", "name": "MxList<LegoROI *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8c60", "recomp": "0x100d89b8", "name": "MxPtrList<LegoROI>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8c78", "recomp": "0x100d89d0", "name": "LegoROIList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8c90", "recomp": "0x100d8a30", "name": "LegoTranInfoList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8ca8", "recomp": "0x100d89e8", "name": "MxCollection<LegoTranInfo *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8cc0", "recomp": "0x100d8a00", "name": "MxList<LegoTranInfo *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8cd8", "recomp": "0x100d8a18", "name": "MxPtrList<LegoTranInfo>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8cf0", "recomp": "0x100d8a78", "name": "MxListCursor<LegoTranInfo *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8d08", "recomp": "0x100d8a48", "name": "MxPtrListCursor<LegoTranInfo>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8d20", "recomp": "0x100d8a60", "name": "LegoTranInfoListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8d38", "recomp": "0x100d8a90", "name": "MxPtrListCursor<LegoROI>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8d50", "recomp": "0x100d8aa8", "name": "LegoROIListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8d68", "recomp": "0x100d8ac0", "name": "MxListCursor<LegoROI *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8d80", "recomp": "0x100d8ad8", "name": "AnimState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8dd8", "recomp": "0x100d8c00", "name": "LegoMouseController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8e08", "recomp": "0x100d8c30", "name": "LegoPointOfViewController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8ee0", "recomp": "0x100d8cb8", "name": "LegoWorldPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d8f98", "recomp": "0x100d8d60", "name": "DuneBuggy::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d90c8", "recomp": "0x100d8e80", "name": "LegoAnimPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9170", "recomp": "0x100d8f50", "name": "LegoLocomotionAnimPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9218", "recomp": "0x100d8ff8", "name": "MxCollection<LegoROI **>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9230", "recomp": "0x100d9010", "name": "MxList<LegoROI **>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9248", "recomp": "0x100d9028", "name": "MxPtrList<LegoROI *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9260", "recomp": "0x100d9040", "name": "LegoROIMapList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9278", "recomp": "0x100d9060", "name": "LegoHideAnimPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9338", "recomp": "0x100d9110", "name": "Infocenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d93a8", "recomp": "0x100d9180", "name": "InfocenterState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d93f8", "recomp": "0x100d91c8", "name": "RaceSkel::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d94c8", "recomp": "0x100d9298", "name": "RaceSkel::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100d9628", "recomp": "0x100d92e0", "name": "Act3::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d96b0", "recomp": "0x100d9370", "name": "MxCompositeMediaPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9730", "recomp": "0x100d93e0", "name": "Hospital::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d97a0", "recomp": "0x100d9450", "name": "HospitalState::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9808", "recomp": "0x100d94b0", "name": "Bike::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9928", "recomp": "0x100d95a8", "name": "RegistrationBook::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d99e0", "recomp": "0x100d8b30", "name": "LegoCarBuildAnimPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9aa0", "recomp": "0x100d9618", "name": "LegoPalettePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9b60", "recomp": "0x100d96d0", "name": "Act2Brick::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9c88", "recomp": "0x100d97e8", "name": "LegoVideoManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9cc8", "recomp": "0x100d9870", "name": "LegoDeviceEnumerate::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9cd0", "recomp": "0x100d9828", "name": "MxCollection<LegoPhoneme *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9ce8", "recomp": "0x100d9840", "name": "MxList<LegoPhoneme *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9d00", "recomp": "0x100d9858", "name": "LegoPhonemeList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9d30", "recomp": "0x100d98e0", "name": "MxCollection<LegoLOD *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9d48", "recomp": "0x100d98f8", "name": "MxList<LegoLOD *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9d60", "recomp": "0x100d9910", "name": "MxPtrList<LegoLOD>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9d78", "recomp": "0x100d9928", "name": "LegoLODList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9d90", "recomp": "0x100d9880", "name": "MxCollection<LegoNamedPart *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9da8", "recomp": "0x100d9898", "name": "MxList<LegoNamedPart *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9dc0", "recomp": "0x100d98b0", "name": "MxPtrList<LegoNamedPart>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9dd8", "recomp": "0x100d98c8", "name": "LegoNamedPartList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9df0", "recomp": "0x100d9970", "name": "MxListCursor<LegoLOD *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9e08", "recomp": "0x100d9940", "name": "MxPtrListCursor<LegoLOD>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9e20", "recomp": "0x100d9958", "name": "LegoLODListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9e38", "recomp": "0x100d99a0", "name": "MxPtrListCursor<LegoNamedPart>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9e50", "recomp": "0x100d9988", "name": "LegoNamedPartListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9e68", "recomp": "0x100d99b8", "name": "MxListCursor<LegoNamedPart *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9ec8", "recomp": "0x100d9a08", "name": "Jetski::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100d9fe8", "recomp": "0x100d9af8", "name": "MxBackgroundAudioManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100da0c0", "recomp": "0x100d9b88", "name": "LegoCarRaceActor::`vftable'{for `LegoRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da0c8", "recomp": "0x100d9b90", "name": "LegoCarRaceActor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da0d8", "recomp": "0x100d9ba0", "name": "LegoCarRaceActor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da1a8", "recomp": "0x100d9c70", "name": "LegoCarRaceActor::`vftable'{for `LegoCarRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da208", "recomp": "0x100d7be8", "name": "LegoJetskiRaceActor::`vftable'{for `LegoCarRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da228", "recomp": "0x100d7c08", "name": "LegoJetskiRaceActor::`vftable'{for `LegoRaceActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da230", "recomp": "0x100d7c10", "name": "LegoJetskiRaceActor::`vftable'{for `LegoAnimActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da240", "recomp": "0x100d7c20", "name": "LegoJetskiRaceActor::`vftable'{for `LegoPathActor'}", "matching": 1.0, "diff": []}, {"address": "0x100da328", "recomp": "0x100d9c98", "name": "HistoryBook::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100da878", "recomp": "0x100d8220", "name": "CustomizeAnimFileVariable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100da8a0", "recomp": "0x100d9d48", "name": "JukeBoxEntity::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db710", "recomp": "0x100d9dc0", "name": "LegoMemory::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db730", "recomp": "0x100d9de0", "name": "LegoFile::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db764", "recomp": "0x100d9e08", "name": "LegoTreeNode::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db768", "recomp": "0x100d9e10", "name": "LegoTree::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db778", "recomp": "0x100d9e20", "name": "LegoTreeNodeData::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db7b8", "recomp": "0x100d9e2c", "name": "LegoEdge::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db7c0", "recomp": "0x100d9e70", "name": "LegoWEEdge::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db7f4", "recomp": "0x100d9e34", "name": "LegoUnknown100db7f4::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db7f8", "recomp": "0x100d9e38", "name": "LegoWEGEdge::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db800", "recomp": "0x100d9e78", "name": "MxDirect3D::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db814", "recomp": "0x100d9e8c", "name": "MxDeviceEnumerate::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db818", "recomp": "0x100d9e90", "name": "MxDirectDraw::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db8c8", "recomp": "0x100d9ef0", "name": "LegoAnimNodeData::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db8d8", "recomp": "0x100d9f00", "name": "LegoAnim::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db910", "recomp": "0x100d9f20", "name": "TglImpl::RendererImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db948", "recomp": "0x100d9f60", "name": "Tgl::Renderer::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db980", "recomp": "0x100d9f58", "name": "Tgl::Object::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db988", "recomp": "0x100d9f98", "name": "TglImpl::DeviceImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db9b8", "recomp": "0x100d9fc8", "name": "Tgl::Device::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100db9e8", "recomp": "0x100d9ff8", "name": "TglImpl::ViewImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dba28", "recomp": "0x100da038", "name": "Tgl::View::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dba68", "recomp": "0x100da078", "name": "TglImpl::GroupImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbaa0", "recomp": "0x100da0b0", "name": "Tgl::Group::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbad8", "recomp": "0x100da0e8", "name": "TglImpl::CameraImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbae8", "recomp": "0x100da0f8", "name": "Tgl::Camera::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbaf8", "recomp": "0x100da108", "name": "TglImpl::LightImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbb08", "recomp": "0x100da118", "name": "Tgl::Light::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbb18", "recomp": "0x100da128", "name": "TglImpl::MeshBuilderImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbb30", "recomp": "0x100da140", "name": "Tgl::MeshBuilder::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbb48", "recomp": "0x100da158", "name": "TglImpl::TextureImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbb68", "recomp": "0x100da178", "name": "Tgl::Texture::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbb88", "recomp": "0x100da1e0", "name": "TglImpl::MeshImpl::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbbb0", "recomp": "0x100da208", "name": "Tgl::Mesh::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbc08", "recomp": "0x100da278", "name": "OrientableROI::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbc38", "recomp": "0x100da260", "name": "ROI::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbd70", "recomp": "0x100da490", "name": "ViewLOD::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbd88", "recomp": "0x100da308", "name": "ViewManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbd90", "recomp": "0x100da478", "name": "LODObject::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbdbc", "recomp": "0x100da318", "name": "ViewLODListManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbdc0", "recomp": "0x100da31c", "name": "LODList<ViewLOD>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbdc4", "recomp": "0x100da320", "name": "ViewLODList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbdc8", "recomp": "0x100da324", "name": "LODListBase::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbe38", "recomp": "0x100da3c8", "name": "LegoROI::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbe70", "recomp": "0x100da390", "name": "ViewROI::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbea8", "recomp": "0x100da400", "name": "TimeROI::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbf10", "recomp": "0x100da460", "name": "LegoLOD::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbf78", "recomp": "0x100da4e8", "name": "Lego3DView::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dbfa4", "recomp": "0x100da508", "name": "Lego3DManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc000", "recomp": "0x100da558", "name": "LegoView::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc018", "recomp": "0x100da570", "name": "LegoView1::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc060", "recomp": "0x100da5a8", "name": "TglSurface::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc078", "recomp": "0x100da5c0", "name": "MxNotificationManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc098", "recomp": "0x100da5e0", "name": "MxDSAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc0e0", "recomp": "0x100da628", "name": "MxTimer::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc0f8", "recomp": "0x100da640", "name": "MxCore::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc110", "recomp": "0x100da658", "name": "MxString::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc128", "recomp": "0x100da670", "name": "MxSoundManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc168", "recomp": "0x100da6b0", "name": "MxOmni::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc1b0", "recomp": "0x100da6f8", "name": "MxCollection<MxVariable *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc1c8", "recomp": "0x100da730", "name": "MxVariableTable::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc1e8", "recomp": "0x100da710", "name": "MxHashTable<MxVariable *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc208", "recomp": "0x100da750", "name": "MxType4NotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc210", "recomp": "0x100da758", "name": "MxStartActionNotificationParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc218", "recomp": "0x100dc53c", "name": "MxOmniCreateParam::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc220", "recomp": "0x100da760", "name": "MxObjectFactory::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc240", "recomp": "0x100da780", "name": "MxLoopingMIDIPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc2a8", "recomp": "0x100da858", "name": "MxStreamChunk::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc2bc", "recomp": "0x100da850", "name": "MxVideoPresenter::AlphaMask::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc2c0", "recomp": "0x100daa10", "name": "MxFlcPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc348", "recomp": "0x100dae48", "name": "MxSmkPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc3d8", "recomp": "0x100daef0", "name": "MxPtrList<MxRect32>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc3f0", "recomp": "0x100daf20", "name": "MxRectList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc408", "recomp": "0x100daf08", "name": "MxPtrListCursor<MxRect32>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc420", "recomp": "0x100daf38", "name": "MxRectListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc438", "recomp": "0x100daf50", "name": "MxListCursor<MxRect32 *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc450", "recomp": "0x100daed8", "name": "MxList<MxRect32 *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc468", "recomp": "0x100daf68", "name": "MxCollection<MxRect32 *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc480", "recomp": "0x100dad58", "name": "MxLoopingFlcPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc510", "recomp": "0x100da888", "name": "MxStreamChunkListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc528", "recomp": "0x100da870", "name": "MxListCursor<MxStreamChunk *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc540", "recomp": "0x100dacc8", "name": "MxLoopingSmkPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc5d0", "recomp": "0x100da8a0", "name": "MxCollection<MxStreamChunk *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc5e8", "recomp": "0x100da8b8", "name": "MxList<MxStreamChunk *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc600", "recomp": "0x100da8d0", "name": "MxStreamChunkList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc618", "recomp": "0x100da7e8", "name": "MxCompositePresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc680", "recomp": "0x100da8e8", "name": "MxHashTableCursor<MxVariable *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc698", "recomp": "0x100da900", "name": "MxDSSubscriber::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc6b0", "recomp": "0x100da918", "name": "MxMediaManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc6d8", "recomp": "0x100dab38", "name": "MxTickleThread::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc6e0", "recomp": "0x100da940", "name": "MxAudioManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc710", "recomp": "0x100da970", "name": "MxStreamer::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc728", "recomp": "0x100da988", "name": "MxRAMStreamController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc760", "recomp": "0x100da9c0", "name": "MxStreamerNotification::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc768", "recomp": "0x100da9c8", "name": "MxDisplaySurface::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc7b0", "recomp": "0x100db0a0", "name": "MxBitmap::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc7f8", "recomp": "0x100daa98", "name": "MxDSChunk::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc810", "recomp": "0x100daab0", "name": "MxVideoManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc848", "recomp": "0x100daae8", "name": "MxPalette::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc860", "recomp": "0x100dab28", "name": "MxThread::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc868", "recomp": "0x100dab00", "name": "MxDSObject::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc890", "recomp": "0x100d8380", "name": "MxDSFile::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc8c8", "recomp": "0x100d83b8", "name": "MxDSSource::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc900", "recomp": "0x100dab40", "name": "MxEventManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc930", "recomp": "0x100dab70", "name": "MxMusicManager::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc968", "recomp": "0x100daba8", "name": "MxStreamController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc9a0", "recomp": "0x100dabe0", "name": "MxNextActionDataStart::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dc9b8", "recomp": "0x100dac60", "name": "MxMusicPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dca20", "recomp": "0x100dabf8", "name": "MxMIDIPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dca88", "recomp": "0x100dade8", "name": "MxEventPresenter::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcae8", "recomp": "0x100db0e8", "name": "MxRegion::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcb10", "recomp": "0x100db110", "name": "MxCollection<MxRegionTopBottom *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcb28", "recomp": "0x100db128", "name": "MxList<MxRegionTopBottom *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcb40", "recomp": "0x100db140", "name": "MxPtrList<MxRegionTopBottom>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcb58", "recomp": "0x100db158", "name": "MxRegionTopBottomList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcb70", "recomp": "0x100daf98", "name": "MxPtrListCursor<MxRegionTopBottom>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcb88", "recomp": "0x100dafb0", "name": "MxRegionTopBottomListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcba0", "recomp": "0x100daf80", "name": "MxListCursor<MxRegionTopBottom *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcbb8", "recomp": "0x100dafc8", "name": "MxRegionCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcbf8", "recomp": "0x100db020", "name": "MxPtrListCursor<MxRegionLeftRight>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcc10", "recomp": "0x100db038", "name": "MxRegionLeftRightListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcc28", "recomp": "0x100db008", "name": "MxListCursor<MxRegionLeftRight *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcc40", "recomp": "0x100db170", "name": "MxCollection<MxRegionLeftRight *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcc58", "recomp": "0x100db188", "name": "MxList<MxRegionLeftRight *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcc70", "recomp": "0x100db1a0", "name": "MxPtrList<MxRegionLeftRight>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcc88", "recomp": "0x100db1b8", "name": "MxRegionLeftRightList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcca0", "recomp": "0x100db050", "name": "MxDSBuffer::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dccb8", "recomp": "0x100db068", "name": "MxDiskStreamController::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dccf0", "recomp": "0x100dab30", "name": "MxSemaphore::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dccf8", "recomp": "0x100db1d0", "name": "MxDSObjectAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcd40", "recomp": "0x100db518", "name": "MxDSMediaAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcd88", "recomp": "0x100db4d0", "name": "MxDSAnim::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcdd0", "recomp": "0x100db488", "name": "MxDSSound::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dce18", "recomp": "0x100db320", "name": "MxDSEvent::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dce60", "recomp": "0x100db218", "name": "MxDSStill::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcea8", "recomp": "0x100db440", "name": "MxCollection<MxDSAction *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcec0", "recomp": "0x100db458", "name": "MxList<MxDSAction *>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dced8", "recomp": "0x100db470", "name": "MxDSActionList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcef0", "recomp": "0x100db3f8", "name": "MxDSMultiAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcf38", "recomp": "0x100db3b0", "name": "MxDSSerialAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcf80", "recomp": "0x100db368", "name": "MxDSParallelAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dcfc8", "recomp": "0x100db2a8", "name": "MxDSSelectAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd010", "recomp": "0x100db260", "name": "MxCollection<MxString>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd028", "recomp": "0x100db278", "name": "MxList<MxString>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd040", "recomp": "0x100db290", "name": "MxStringList::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd058", "recomp": "0x100db2f0", "name": "MxStringListCursor::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd070", "recomp": "0x100db308", "name": "MxListCursor<MxString>::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd088", "recomp": "0x100db560", "name": "MxDSStreamingAction::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd0d0", "recomp": "0x100db5a8", "name": "MxRAMStreamProvider::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd100", "recomp": "0x100db5d8", "name": "MxStreamProvider::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd130", "recomp": "0x100db608", "name": "MxDiskStreamProviderThread::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd138", "recomp": "0x100db610", "name": "MxDiskStreamProvider::`vftable'", "matching": 1.0, "diff": []}, {"address": "0x100dd228", "recomp": "0x100db644", "name": "LegoMesh::`vftable'", "matching": 1.0, "diff": []}];</script>
|
|
<script>// reccmp.js
|
|
/* global data */
|
|
|
|
// Unwrap array of functions into a dictionary with address as the key.
|
|
const dataDict = Object.fromEntries(data.map(row => [row.address, row]));
|
|
|
|
function getDataByAddr(addr) {
|
|
return dataDict[addr];
|
|
}
|
|
|
|
//
|
|
// Pure functions
|
|
//
|
|
|
|
function formatAsm(entries, addrOption) {
|
|
const output = [];
|
|
|
|
const createTh = (text) => {
|
|
const th = document.createElement('th');
|
|
th.innerText = text;
|
|
return th;
|
|
};
|
|
|
|
const createTd = (text, className = '') => {
|
|
const td = document.createElement('td');
|
|
td.innerText = text;
|
|
td.className = className;
|
|
return td;
|
|
};
|
|
|
|
entries.forEach(obj => {
|
|
// These won't all be present. You get "both" for an equal node
|
|
// and orig/recomp for a diff.
|
|
const { both = [], orig = [], recomp = [] } = obj;
|
|
|
|
output.push(...both.map(([addr, line, recompAddr]) => {
|
|
const tr = document.createElement('tr');
|
|
tr.appendChild(createTh(addr));
|
|
tr.appendChild(createTh(recompAddr));
|
|
tr.appendChild(createTd(line));
|
|
return tr;
|
|
}));
|
|
|
|
output.push(...orig.map(([addr, line]) => {
|
|
const tr = document.createElement('tr');
|
|
tr.appendChild(createTh(addr));
|
|
tr.appendChild(createTh(''));
|
|
tr.appendChild(createTd(`-${line}`, 'diffneg'));
|
|
return tr;
|
|
}));
|
|
|
|
output.push(...recomp.map(([addr, line]) => {
|
|
const tr = document.createElement('tr');
|
|
tr.appendChild(createTh(''));
|
|
tr.appendChild(createTh(addr));
|
|
tr.appendChild(createTd(`+${line}`, 'diffpos'));
|
|
return tr;
|
|
}));
|
|
});
|
|
|
|
return output;
|
|
}
|
|
|
|
// Special internal values to ensure this sort order for matching column:
|
|
// 1. Stub
|
|
// 2. Any match percentage [0.0, 1.0)
|
|
// 3. Effective match
|
|
// 4. Actual 100% match
|
|
function matchingColAdjustment(row) {
|
|
if ('stub' in row) {
|
|
return -1;
|
|
}
|
|
|
|
if ('effective' in row) {
|
|
return 1.0;
|
|
}
|
|
|
|
if (row.matching === 1.0) {
|
|
return 1000;
|
|
}
|
|
|
|
return row.matching;
|
|
}
|
|
|
|
function getCppClass(str) {
|
|
const idx = str.indexOf('::');
|
|
if (idx !== -1) {
|
|
return str.slice(0, idx);
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
// Clamp string length to specified length and pad with ellipsis
|
|
function stringTruncate(str, maxlen = 20) {
|
|
str = getCppClass(str);
|
|
if (str.length > maxlen) {
|
|
return `${str.slice(0, maxlen)}...`;
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
function getMatchPercentText(row) {
|
|
if ('stub' in row) {
|
|
return 'stub';
|
|
}
|
|
|
|
if ('effective' in row) {
|
|
return '100.00%*';
|
|
}
|
|
|
|
return (row.matching * 100).toFixed(2) + '%';
|
|
}
|
|
|
|
function countDiffs(row) {
|
|
const { diff = '' } = row;
|
|
if (diff === '') {
|
|
return '';
|
|
}
|
|
|
|
const diffs = diff.map(([slug, subgroups]) => subgroups).flat();
|
|
const diffLength = diffs.filter(d => !('both' in d)).length;
|
|
const diffWord = diffLength === 1 ? 'diff' : 'diffs';
|
|
return diffLength === 0 ? '' : `${diffLength} ${diffWord}`;
|
|
}
|
|
|
|
// Helper for this set/remove attribute block
|
|
function setBooleanAttribute(element, attribute, value) {
|
|
if (value) {
|
|
element.setAttribute(attribute, '');
|
|
} else {
|
|
element.removeAttribute(attribute);
|
|
}
|
|
}
|
|
|
|
function copyToClipboard(value) {
|
|
navigator.clipboard.writeText(value);
|
|
}
|
|
|
|
const PAGE_SIZE = 200;
|
|
|
|
//
|
|
// Global state
|
|
//
|
|
|
|
class ListingState {
|
|
constructor() {
|
|
this._query = '';
|
|
this._sortCol = 'address';
|
|
this._filterType = 1;
|
|
this._sortDesc = false;
|
|
this._hidePerfect = false;
|
|
this._hideStub = false;
|
|
this._showRecomp = false;
|
|
this._expanded = {};
|
|
this._page = 0;
|
|
|
|
this._listeners = [];
|
|
|
|
this._results = [];
|
|
this.updateResults();
|
|
}
|
|
|
|
addListener(fn) {
|
|
this._listeners.push(fn);
|
|
}
|
|
|
|
callListeners() {
|
|
for (const fn of this._listeners) {
|
|
fn();
|
|
}
|
|
}
|
|
|
|
isExpanded(addr) {
|
|
return addr in this._expanded;
|
|
}
|
|
|
|
toggleExpanded(addr) {
|
|
this.setExpanded(addr, !this.isExpanded(addr));
|
|
}
|
|
|
|
setExpanded(addr, value) {
|
|
if (value) {
|
|
this._expanded[addr] = true;
|
|
} else {
|
|
delete this._expanded[addr];
|
|
}
|
|
}
|
|
|
|
updateResults() {
|
|
const filterFn = this.rowFilterFn.bind(this);
|
|
const sortFn = this.rowSortFn.bind(this);
|
|
|
|
this._results = data.filter(filterFn).sort(sortFn);
|
|
|
|
// Set _page directly to avoid double call to listeners.
|
|
this._page = this.pageClamp(this.page);
|
|
this.callListeners();
|
|
}
|
|
|
|
pageSlice() {
|
|
return this._results.slice(this.page * PAGE_SIZE, (this.page + 1) * PAGE_SIZE);
|
|
}
|
|
|
|
resultsCount() {
|
|
return this._results.length;
|
|
}
|
|
|
|
pageCount() {
|
|
return Math.ceil(this._results.length / PAGE_SIZE);
|
|
}
|
|
|
|
maxPage() {
|
|
return Math.max(0, this.pageCount() - 1);
|
|
}
|
|
|
|
// A list showing the range of each page based on the sort column and direction.
|
|
pageHeadings() {
|
|
if (this._results.length === 0) {
|
|
return [];
|
|
}
|
|
|
|
const headings = [];
|
|
|
|
for (let i = 0; i < this.pageCount(); i++) {
|
|
const startIdx = i * PAGE_SIZE;
|
|
const endIdx = Math.min(this._results.length, ((i + 1) * PAGE_SIZE)) - 1;
|
|
|
|
let start = this._results[startIdx][this.sortCol];
|
|
let end = this._results[endIdx][this.sortCol];
|
|
|
|
if (this.sortCol === 'matching') {
|
|
start = getMatchPercentText(this._results[startIdx]);
|
|
end = getMatchPercentText(this._results[endIdx]);
|
|
}
|
|
|
|
headings.push([i, stringTruncate(start), stringTruncate(end)]);
|
|
}
|
|
|
|
return headings;
|
|
}
|
|
|
|
rowFilterFn(row) {
|
|
// Destructuring sets defaults for optional values from this object.
|
|
const {
|
|
effective = false,
|
|
stub = false,
|
|
diff = '',
|
|
name,
|
|
address,
|
|
matching
|
|
} = row;
|
|
|
|
if (this.hidePerfect && (effective || matching >= 1)) {
|
|
return false;
|
|
}
|
|
|
|
if (this.hideStub && stub) {
|
|
return false;
|
|
}
|
|
|
|
if (this.query === '') {
|
|
return true;
|
|
}
|
|
|
|
// Name/addr search
|
|
if (this.filterType === 1) {
|
|
return (
|
|
address.includes(this.query) ||
|
|
name.toLowerCase().includes(this.query)
|
|
);
|
|
}
|
|
|
|
// no diff for review.
|
|
if (diff === '') {
|
|
return false;
|
|
}
|
|
|
|
// special matcher for combined diff
|
|
const anyLineMatch = ([addr, line]) => line.toLowerCase().trim().includes(this.query);
|
|
|
|
// Flatten all diff groups for the search
|
|
const diffs = diff.map(([slug, subgroups]) => subgroups).flat();
|
|
for (const subgroup of diffs) {
|
|
const { both = [], orig = [], recomp = [] } = subgroup;
|
|
|
|
// If search includes context
|
|
if (this.filterType === 2 && both.some(anyLineMatch)) {
|
|
return true;
|
|
}
|
|
|
|
if (orig.some(anyLineMatch) || recomp.some(anyLineMatch)) {
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
rowSortFn(rowA, rowB) {
|
|
const valA = this.sortCol === 'matching'
|
|
? matchingColAdjustment(rowA)
|
|
: rowA[this.sortCol];
|
|
|
|
const valB = this.sortCol === 'matching'
|
|
? matchingColAdjustment(rowB)
|
|
: rowB[this.sortCol];
|
|
|
|
if (valA > valB) {
|
|
return this.sortDesc ? -1 : 1;
|
|
} else if (valA < valB) {
|
|
return this.sortDesc ? 1 : -1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
pageClamp(page) {
|
|
return Math.max(0, Math.min(page, this.maxPage()));
|
|
}
|
|
|
|
get page() {
|
|
return this._page;
|
|
}
|
|
|
|
set page(page) {
|
|
this._page = this.pageClamp(page);
|
|
this.callListeners();
|
|
}
|
|
|
|
get filterType() {
|
|
return parseInt(this._filterType);
|
|
}
|
|
|
|
set filterType(value) {
|
|
value = parseInt(value);
|
|
if (value >= 1 && value <= 3) {
|
|
this._filterType = value;
|
|
}
|
|
this.updateResults();
|
|
}
|
|
|
|
get query() {
|
|
return this._query;
|
|
}
|
|
|
|
set query(value) {
|
|
// Normalize search string
|
|
this._query = value.toLowerCase().trim();
|
|
this.updateResults();
|
|
}
|
|
|
|
get showRecomp() {
|
|
return this._showRecomp;
|
|
}
|
|
|
|
set showRecomp(value) {
|
|
// Don't sort by the recomp column we are about to hide
|
|
if (!value && this.sortCol === 'recomp') {
|
|
this._sortCol = 'address';
|
|
}
|
|
|
|
this._showRecomp = value;
|
|
this.callListeners();
|
|
}
|
|
|
|
get sortCol() {
|
|
return this._sortCol;
|
|
}
|
|
|
|
set sortCol(column) {
|
|
if (column === this._sortCol) {
|
|
this._sortDesc = !this._sortDesc;
|
|
} else {
|
|
this._sortCol = column;
|
|
}
|
|
|
|
this.updateResults();
|
|
}
|
|
|
|
get sortDesc() {
|
|
return this._sortDesc;
|
|
}
|
|
|
|
set sortDesc(value) {
|
|
this._sortDesc = value;
|
|
this.updateResults();
|
|
}
|
|
|
|
get hidePerfect() {
|
|
return this._hidePerfect;
|
|
}
|
|
|
|
set hidePerfect(value) {
|
|
this._hidePerfect = value;
|
|
this.updateResults();
|
|
}
|
|
|
|
get hideStub() {
|
|
return this._hideStub;
|
|
}
|
|
|
|
set hideStub(value) {
|
|
this._hideStub = value;
|
|
this.updateResults();
|
|
}
|
|
}
|
|
|
|
const appState = new ListingState();
|
|
|
|
//
|
|
// Custom elements
|
|
//
|
|
|
|
// Sets sort indicator arrow based on element attributes.
|
|
class SortIndicator extends window.HTMLElement {
|
|
static observedAttributes = ['data-sort'];
|
|
|
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
if (newValue === null) {
|
|
// Reserve space for blank indicator so column width stays the same
|
|
this.innerHTML = ' ';
|
|
} else {
|
|
this.innerHTML = newValue === 'asc' ? '▲' : '▼';
|
|
}
|
|
}
|
|
}
|
|
|
|
class FuncRow extends window.HTMLElement {
|
|
connectedCallback() {
|
|
if (this.shadowRoot !== null) {
|
|
return;
|
|
}
|
|
|
|
const template = document.querySelector('template#funcrow-template').content;
|
|
const shadow = this.attachShadow({ mode: 'open' });
|
|
shadow.appendChild(template.cloneNode(true));
|
|
shadow.querySelector(':host > div[data-col="name"]').addEventListener('click', evt => {
|
|
this.dispatchEvent(new Event('name-click'));
|
|
});
|
|
}
|
|
|
|
get address() {
|
|
return this.getAttribute('data-address');
|
|
}
|
|
}
|
|
|
|
class NoDiffMessage extends window.HTMLElement {
|
|
connectedCallback() {
|
|
if (this.shadowRoot !== null) {
|
|
return;
|
|
}
|
|
|
|
const template = document.querySelector('template#nodiff-template').content;
|
|
const shadow = this.attachShadow({ mode: 'open' });
|
|
shadow.appendChild(template.cloneNode(true));
|
|
}
|
|
}
|
|
|
|
class CanCopy extends window.HTMLElement {
|
|
connectedCallback() {
|
|
if (this.shadowRoot !== null) {
|
|
return;
|
|
}
|
|
|
|
const template = document.querySelector('template#can-copy-template').content;
|
|
const shadow = this.attachShadow({ mode: 'open' });
|
|
shadow.appendChild(template.cloneNode(true));
|
|
|
|
const el = shadow.querySelector('slot').assignedNodes()[0];
|
|
el.addEventListener('mouseout', evt => { this.copied = false; });
|
|
el.addEventListener('click', evt => {
|
|
copyToClipboard(evt.target.textContent);
|
|
this.copied = true;
|
|
});
|
|
}
|
|
|
|
get copied() {
|
|
return this.getAttribute('copied');
|
|
}
|
|
|
|
set copied(value) {
|
|
if (value) {
|
|
setTimeout(() => { this.copied = false; }, 2000);
|
|
}
|
|
setBooleanAttribute(this, 'copied', value);
|
|
}
|
|
}
|
|
|
|
// Displays asm diff for the given @data-address value.
|
|
class DiffRow extends window.HTMLElement {
|
|
connectedCallback() {
|
|
if (this.shadowRoot !== null) {
|
|
return;
|
|
}
|
|
|
|
const template = document.querySelector('template#diffrow-template').content;
|
|
const shadow = this.attachShadow({ mode: 'open' });
|
|
shadow.appendChild(template.cloneNode(true));
|
|
}
|
|
|
|
get address() {
|
|
return this.getAttribute('data-address');
|
|
}
|
|
|
|
set address(value) {
|
|
this.setAttribute('data-address', value);
|
|
}
|
|
}
|
|
|
|
class DiffDisplayOptions extends window.HTMLElement {
|
|
static observedAttributes = ['data-option'];
|
|
|
|
connectedCallback() {
|
|
if (this.shadowRoot !== null) {
|
|
return;
|
|
}
|
|
|
|
const shadow = this.attachShadow({ mode: 'open' });
|
|
shadow.innerHTML = `
|
|
<style>
|
|
fieldset {
|
|
align-items: center;
|
|
display: flex;
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
label {
|
|
margin-right: 10px;
|
|
user-select: none;
|
|
}
|
|
|
|
label, input {
|
|
cursor: pointer;
|
|
}
|
|
</style>
|
|
<fieldset>
|
|
<legend>Address display:</legend>
|
|
<input type="radio" id="showNone" name="addrDisplay" value=0>
|
|
<label for="showNone">None</label>
|
|
<input type="radio" id="showOrig" name="addrDisplay" value=1>
|
|
<label for="showOrig">Original</label>
|
|
<input type="radio" id="showBoth" name="addrDisplay" value=2>
|
|
<label for="showBoth">Both</label>
|
|
</fieldset>`;
|
|
|
|
shadow.querySelectorAll('input[type=radio]').forEach(radio => {
|
|
const checked = this.option === radio.getAttribute('value');
|
|
setBooleanAttribute(radio, 'checked', checked);
|
|
|
|
radio.addEventListener('change', evt => (this.option = evt.target.value));
|
|
});
|
|
}
|
|
|
|
set option(value) {
|
|
this.setAttribute('data-option', parseInt(value));
|
|
}
|
|
|
|
get option() {
|
|
return this.getAttribute('data-option') ?? 1;
|
|
}
|
|
|
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
if (name !== 'data-option') {
|
|
return;
|
|
}
|
|
|
|
this.dispatchEvent(new Event('change'));
|
|
}
|
|
}
|
|
|
|
class DiffDisplay extends window.HTMLElement {
|
|
static observedAttributes = ['data-option'];
|
|
|
|
connectedCallback() {
|
|
if (this.querySelector('diff-display-options') !== null) {
|
|
return;
|
|
}
|
|
|
|
const optControl = new DiffDisplayOptions();
|
|
optControl.option = this.option;
|
|
optControl.addEventListener('change', evt => (this.option = evt.target.option));
|
|
this.appendChild(optControl);
|
|
|
|
const div = document.createElement('div');
|
|
const obj = getDataByAddr(this.address);
|
|
|
|
const createHeaderLine = (text, className) => {
|
|
const div = document.createElement('div');
|
|
div.textContent = text;
|
|
div.className = className;
|
|
return div;
|
|
};
|
|
|
|
const groups = obj.diff;
|
|
groups.forEach(([slug, subgroups]) => {
|
|
const secondTable = document.createElement('table');
|
|
secondTable.classList.add('diffTable');
|
|
|
|
const hdr = document.createElement('div');
|
|
hdr.appendChild(createHeaderLine('---', 'diffneg'));
|
|
hdr.appendChild(createHeaderLine('+++', 'diffpos'));
|
|
hdr.appendChild(createHeaderLine(slug, 'diffslug'));
|
|
div.appendChild(hdr);
|
|
|
|
const tbody = document.createElement('tbody');
|
|
secondTable.appendChild(tbody);
|
|
|
|
const diffs = formatAsm(subgroups, this.option);
|
|
for (const el of diffs) {
|
|
tbody.appendChild(el);
|
|
}
|
|
|
|
div.appendChild(secondTable);
|
|
});
|
|
|
|
this.appendChild(div);
|
|
}
|
|
|
|
get address() {
|
|
return this.getAttribute('data-address');
|
|
}
|
|
|
|
set address(value) {
|
|
this.setAttribute('data-address', value);
|
|
}
|
|
|
|
get option() {
|
|
return this.getAttribute('data-option') ?? 1;
|
|
}
|
|
|
|
set option(value) {
|
|
this.setAttribute('data-option', value);
|
|
}
|
|
}
|
|
|
|
class ListingOptions extends window.HTMLElement {
|
|
constructor() {
|
|
super();
|
|
|
|
// Register to receive updates
|
|
appState.addListener(() => this.onUpdate());
|
|
|
|
const input = this.querySelector('input[type=search]');
|
|
input.oninput = evt => (appState.query = evt.target.value);
|
|
|
|
const hidePerf = this.querySelector('input#cbHidePerfect');
|
|
hidePerf.onchange = evt => (appState.hidePerfect = evt.target.checked);
|
|
hidePerf.checked = appState.hidePerfect;
|
|
|
|
const hideStub = this.querySelector('input#cbHideStub');
|
|
hideStub.onchange = evt => (appState.hideStub = evt.target.checked);
|
|
hideStub.checked = appState.hideStub;
|
|
|
|
const showRecomp = this.querySelector('input#cbShowRecomp');
|
|
showRecomp.onchange = evt => (appState.showRecomp = evt.target.checked);
|
|
showRecomp.checked = appState.showRecomp;
|
|
|
|
this.querySelector('button#pagePrev').addEventListener('click', evt => {
|
|
appState.page = appState.page - 1;
|
|
});
|
|
|
|
this.querySelector('button#pageNext').addEventListener('click', evt => {
|
|
appState.page = appState.page + 1;
|
|
});
|
|
|
|
this.querySelector('select#pageSelect').addEventListener('change', evt => {
|
|
appState.page = evt.target.value;
|
|
});
|
|
|
|
this.querySelectorAll('input[name=filterType]').forEach(radio => {
|
|
const checked = appState.filterType === parseInt(radio.getAttribute('value'));
|
|
setBooleanAttribute(radio, 'checked', checked);
|
|
|
|
radio.onchange = evt => (appState.filterType = radio.getAttribute('value'));
|
|
});
|
|
|
|
this.onUpdate();
|
|
}
|
|
|
|
onUpdate() {
|
|
// Update input placeholder based on search type
|
|
this.querySelector('input[type=search]').placeholder = appState.filterType === 1
|
|
? 'Search for offset or function name...'
|
|
: 'Search for instruction...';
|
|
|
|
// Update page number and max page
|
|
this.querySelector('fieldset#pageDisplay > legend').textContent = `Page ${appState.page + 1} of ${Math.max(1, appState.pageCount())}`;
|
|
|
|
// Disable prev/next buttons on first/last page
|
|
setBooleanAttribute(this.querySelector('button#pagePrev'), 'disabled', appState.page === 0);
|
|
setBooleanAttribute(this.querySelector('button#pageNext'), 'disabled', appState.page === appState.maxPage());
|
|
|
|
// Update page select dropdown
|
|
const pageSelect = this.querySelector('select#pageSelect');
|
|
setBooleanAttribute(pageSelect, 'disabled', appState.resultsCount() === 0);
|
|
pageSelect.innerHTML = '';
|
|
|
|
if (appState.resultsCount() === 0) {
|
|
const opt = document.createElement('option');
|
|
opt.textContent = '- no results -';
|
|
pageSelect.appendChild(opt);
|
|
} else {
|
|
for (const row of appState.pageHeadings()) {
|
|
const opt = document.createElement('option');
|
|
opt.value = row[0];
|
|
if (appState.page === row[0]) {
|
|
opt.setAttribute('selected', '');
|
|
}
|
|
|
|
const [start, end] = [row[1], row[2]];
|
|
|
|
opt.textContent = `${appState.sortCol}: ${start} to ${end}`;
|
|
pageSelect.appendChild(opt);
|
|
}
|
|
}
|
|
|
|
// Update row count
|
|
this.querySelector('#rowcount').textContent = `${appState.resultsCount()}`;
|
|
}
|
|
}
|
|
|
|
// Main application.
|
|
class ListingTable extends window.HTMLElement {
|
|
constructor() {
|
|
super();
|
|
|
|
// Register to receive updates
|
|
appState.addListener(() => this.somethingChanged());
|
|
}
|
|
|
|
setDiffRow(address, shouldExpand) {
|
|
const tbody = this.querySelector('tbody');
|
|
const funcrow = tbody.querySelector(`func-row[data-address="${address}"]`);
|
|
if (funcrow === null) {
|
|
return;
|
|
}
|
|
|
|
const existing = tbody.querySelector(`diff-row[data-address="${address}"]`);
|
|
if (existing !== null) {
|
|
if (!shouldExpand) {
|
|
tbody.removeChild(existing);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
const diffrow = document.createElement('diff-row');
|
|
diffrow.address = address;
|
|
|
|
// Decide what goes inside the diff row.
|
|
const obj = getDataByAddr(address);
|
|
|
|
if ('stub' in obj) {
|
|
const msg = document.createElement('no-diff');
|
|
const p = document.createElement('div');
|
|
p.innerText = 'Stub. No diff.';
|
|
msg.appendChild(p);
|
|
diffrow.appendChild(msg);
|
|
} else if (obj.diff.length === 0) {
|
|
const msg = document.createElement('no-diff');
|
|
const p = document.createElement('div');
|
|
p.innerText = 'Identical function - no diff';
|
|
msg.appendChild(p);
|
|
diffrow.appendChild(msg);
|
|
} else {
|
|
const dd = new DiffDisplay();
|
|
dd.option = '1';
|
|
dd.address = address;
|
|
diffrow.appendChild(dd);
|
|
}
|
|
|
|
// Insert the diff row after the parent func row.
|
|
tbody.insertBefore(diffrow, funcrow.nextSibling);
|
|
}
|
|
|
|
connectedCallback() {
|
|
const thead = this.querySelector('thead');
|
|
const headers = thead.querySelectorAll('th:not([data-no-sort])'); // TODO
|
|
headers.forEach(th => {
|
|
const col = th.getAttribute('data-col');
|
|
if (col) {
|
|
const span = th.querySelector('span');
|
|
if (span) {
|
|
span.addEventListener('click', evt => { appState.sortCol = col; });
|
|
}
|
|
}
|
|
});
|
|
|
|
this.somethingChanged();
|
|
}
|
|
|
|
somethingChanged() {
|
|
// Toggle recomp/diffs column
|
|
setBooleanAttribute(this.querySelector('table'), 'show-recomp', appState.showRecomp);
|
|
this.querySelectorAll('func-row[data-address]').forEach(row => {
|
|
setBooleanAttribute(row, 'show-recomp', appState.showRecomp);
|
|
});
|
|
|
|
const thead = this.querySelector('thead');
|
|
const headers = thead.querySelectorAll('th');
|
|
|
|
// Update sort indicator
|
|
headers.forEach(th => {
|
|
const col = th.getAttribute('data-col');
|
|
const indicator = th.querySelector('sort-indicator');
|
|
if (indicator === null) {
|
|
return;
|
|
}
|
|
|
|
if (appState.sortCol === col) {
|
|
indicator.setAttribute('data-sort', appState.sortDesc ? 'desc' : 'asc');
|
|
} else {
|
|
indicator.removeAttribute('data-sort');
|
|
}
|
|
});
|
|
|
|
// Add the rows
|
|
const tbody = this.querySelector('tbody');
|
|
tbody.innerHTML = ''; // ?
|
|
|
|
for (const obj of appState.pageSlice()) {
|
|
const row = document.createElement('func-row');
|
|
row.setAttribute('data-address', obj.address); // ?
|
|
row.addEventListener('name-click', evt => {
|
|
appState.toggleExpanded(obj.address);
|
|
this.setDiffRow(obj.address, appState.isExpanded(obj.address));
|
|
});
|
|
setBooleanAttribute(row, 'show-recomp', appState.showRecomp);
|
|
setBooleanAttribute(row, 'expanded', appState.isExpanded(row));
|
|
|
|
const items = [
|
|
['address', obj.address],
|
|
['recomp', obj.recomp],
|
|
['name', obj.name],
|
|
['diffs', countDiffs(obj)],
|
|
['matching', getMatchPercentText(obj)]
|
|
];
|
|
|
|
items.forEach(([slotName, content]) => {
|
|
const div = document.createElement('span');
|
|
div.setAttribute('slot', slotName);
|
|
div.innerText = content;
|
|
row.appendChild(div);
|
|
});
|
|
|
|
tbody.appendChild(row);
|
|
|
|
if (appState.isExpanded(obj.address)) {
|
|
this.setDiffRow(obj.address, true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
window.onload = () => {
|
|
window.customElements.define('listing-table', ListingTable);
|
|
window.customElements.define('listing-options', ListingOptions);
|
|
window.customElements.define('diff-display', DiffDisplay);
|
|
window.customElements.define('diff-display-options', DiffDisplayOptions);
|
|
window.customElements.define('sort-indicator', SortIndicator);
|
|
window.customElements.define('func-row', FuncRow);
|
|
window.customElements.define('diff-row', DiffRow);
|
|
window.customElements.define('no-diff', NoDiffMessage);
|
|
window.customElements.define('can-copy', CanCopy);
|
|
};
|
|
</script>
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="main">
|
|
<h1>Decompilation Status</h1>
|
|
<listing-options>
|
|
<input id="search" type="search" placeholder="Search for offset or function name...">
|
|
<div class="filters">
|
|
<fieldset>
|
|
<legend>Options:</legend>
|
|
<input type="checkbox" id="cbHidePerfect" />
|
|
<label for="cbHidePerfect">Hide 100% match</label>
|
|
<input type="checkbox" id="cbHideStub" />
|
|
<label for="cbHideStub">Hide stubs</label>
|
|
<input type="checkbox" id="cbShowRecomp" />
|
|
<label for="cbShowRecomp">Show recomp address</label>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>Search filters on:</legend>
|
|
<input type="radio" name="filterType" id="filterName" value=1 checked />
|
|
<label for="filterName">Name/address</label>
|
|
<input type="radio" name="filterType" id="filterAsm" value=2 />
|
|
<label for="filterAsm">Asm output</label>
|
|
<input type="radio" name="filterType" id="filterDiff" value=3 />
|
|
<label for="filterDiff">Asm diffs only</label>
|
|
</fieldset>
|
|
</div>
|
|
<div class="filters">
|
|
<p class="rowcount">Results: <span id="rowcount"></span></p>
|
|
<fieldset id="pageDisplay">
|
|
<legend>Page</legend>
|
|
<button id="pagePrev">prev</button>
|
|
<select id="pageSelect">
|
|
</select>
|
|
<button id="pageNext">next</button>
|
|
</fieldset>
|
|
</div>
|
|
</listing-options>
|
|
<listing-table>
|
|
<table id="listing">
|
|
<thead>
|
|
<tr>
|
|
<th data-col="address">
|
|
<div>
|
|
<span>Address</span>
|
|
<sort-indicator/>
|
|
</div>
|
|
</th>
|
|
<th data-col="recomp">
|
|
<div>
|
|
<span>Recomp</span>
|
|
<sort-indicator/>
|
|
</div>
|
|
</th>
|
|
<th data-col="name">
|
|
<div>
|
|
<span>Name</span>
|
|
<sort-indicator/>
|
|
</div>
|
|
</th>
|
|
<th data-col="diffs" data-no-sort></th>
|
|
<th data-col="matching">
|
|
<div>
|
|
<sort-indicator></sort-indicator>
|
|
<span>Matching</span>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
</tbody>
|
|
</table>
|
|
</listing-table>
|
|
</div>
|
|
<template id="funcrow-template">
|
|
<style>
|
|
:host(:not([hidden])) {
|
|
display: table-row;
|
|
}
|
|
|
|
:host(:not([show-recomp])) > div[data-col="recomp"] {
|
|
display: none;
|
|
}
|
|
|
|
div[data-col="name"]:hover {
|
|
cursor: pointer;
|
|
}
|
|
|
|
div[data-col="name"]:hover > ::slotted(*) {
|
|
text-decoration: underline;
|
|
text-decoration-style: dotted;
|
|
}
|
|
|
|
::slotted(*:not([slot="name"])) {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
:host > div {
|
|
border-top: 1px #f0f0f0 solid;
|
|
display: table-cell;
|
|
padding: 0.5em;
|
|
word-break: break-all !important;
|
|
}
|
|
|
|
:host > div:last-child {
|
|
text-align: right;
|
|
}
|
|
</style>
|
|
<div data-col="address"><can-copy><slot name="address"></slot></can-copy></div>
|
|
<div data-col="recomp"><can-copy><slot name="recomp"></slot></can-copy></div>
|
|
<div data-col="name"><slot name="name"></slot></div>
|
|
<div data-col="diffs"><slot name="diffs"></slot></div>
|
|
<div data-col="matching"><slot name="matching"></slot></div>
|
|
</template>
|
|
<template id="diffrow-template">
|
|
<style>
|
|
:host(:not([hidden])) {
|
|
display: table-row;
|
|
contain: paint;
|
|
}
|
|
|
|
td.singleCell {
|
|
border: 1px #f0f0f0 solid;
|
|
border-bottom: 0px none;
|
|
display: table-cell;
|
|
padding: 0.5em;
|
|
word-break: break-all !important;
|
|
}
|
|
</style>
|
|
<td class="singleCell" colspan="5">
|
|
<slot></slot>
|
|
</td>
|
|
</template>
|
|
<template id="nodiff-template">
|
|
<style>
|
|
::slotted(*) {
|
|
font-style: italic;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
<slot></slot>
|
|
</template>
|
|
<template id="can-copy-template">
|
|
<style>
|
|
:host {
|
|
position: relative;
|
|
}
|
|
::slotted(*) {
|
|
cursor: pointer;
|
|
}
|
|
slot::after {
|
|
background-color: #fff;
|
|
color: #222;
|
|
display: none;
|
|
font-size: 12px;
|
|
padding: 1px 2px;
|
|
width: fit-content;
|
|
border-radius: 1px;
|
|
text-align: center;
|
|
bottom: 120%;
|
|
box-shadow: 0 4px 14px 0 rgba(0,0,0,.2), 0 0 0 1px rgba(0,0,0,.05);
|
|
position: absolute;
|
|
white-space: nowrap;
|
|
transition: .1s;
|
|
content: 'Copy to clipboard';
|
|
}
|
|
::slotted(*:hover) {
|
|
text-decoration: underline;
|
|
text-decoration-style: dotted;
|
|
}
|
|
slot:hover::after {
|
|
display: block;
|
|
}
|
|
:host([copied]) > slot:hover::after {
|
|
content: 'Copied!';
|
|
}
|
|
</style>
|
|
<slot></slot>
|
|
</template>
|
|
</body>
|
|
</html>
|