Function at 0x10051800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x1036d590
mov eax, dword fs:[0]
push eax
sub esp, 0x324
mov eax, dword [0x10480b90]
xor eax, esp
mov dword [esp + 0x320], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10480b90]
xor eax, esp
push eax
lea eax, [esp + 0x338]
mov dword fs:[0], eax
sub esp, 0x20
mov edi, ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push str.chip.mapping.cfg.xml
mov dword [esp + 0x48], edi
call fcn.10003660
lea esi, [esp + 0x334]
call fcn.100773b0
push str.MT_04x
lea eax, [esp + 0x240]
xor ebx, ebx
push eax
mov dword [esp + 0x348], ebx
call fcn.10015560
lea ecx, [esp + 0x34]
mov byte [esp + 0x340], 1
push ecx
mov ecx, eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], fcn.10029dc0
mov dword [esp + 0x40], 0x1003e140
call fcn.1001bcd0
sub esp, 0x1c
mov edx, esp
mov ecx, eax
mov dword [esp + 0x40], esp
call fcn.10015670
lea edx, [esp + 0x314]
push edx
mov ecx, esi
call fcn.10077440
lea eax, [esp + 0x23c]
push eax
mov byte [esp + 0x344], 3
call fcn.1000b3f0
cmp dword [esp + 0x30c], ebx
je 0x10051f4c
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 2
mov dword [esp + 0x28], ecx
call fcn.1005c100
mov eax, dword [eax]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x1c]
push ecx
mov esi, eax
call fcn.100158b0
mov edx, dword [eax]
mov dword [esp + 0x1c], edx
mov dword [eax], ebx
mov byte [esp + 0x340], 4
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x10051931
push eax
call fcn.102b3490
add esp, 4
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x10051e73
lea eax, [esp + 0x28]
lea ecx, [esp + 0x2f4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], fcn.10029dc0
mov dword [esp + 0x3c], 0x1001e5d0
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], fcn.10029dc0
mov dword [esp + 0x124], 0x1001e7c0
lea esp, [esp]
mov edx, dword [esp + 0x24]
movzx eax, word [edx]
push 0x10420184
push 0x10428434
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.._brom_chip_mapping.cpp
mov dword [esp + 0x58], eax
call fcn.10003660
lea esi, [esp + 0x108]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [esp + 0x10c]
mov byte [esp + 0x350], 5
call fcn.10003660
push esi
push eax
lea ecx, [esp + 0xd0]
push ecx
mov byte [esp + 0x358], 6
call fcn.10015a90
add esp, 0xc
push eax
lea edx, [esp + 0xac]
push edx
mov byte [esp + 0x354], 7
call fcn.10015b40
add esp, 0xc
push eax
lea eax, [esp + 0x88]
push eax
mov byte [esp + 0x350], 8
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [esp + 0x130]
push ecx
mov byte [esp + 0x34c], 9
call fcn.10015b40
add esp, 0xc
mov ebp, eax
push str.Chip_hw_code_revised_from_0x_x_to_0x_s.
lea edx, [esp + 0x188]
push edx
mov byte [esp + 0x348], 0xa
call fcn.10015560
lea ecx, [esp + 0x34]
push ecx
mov ecx, eax
mov byte [esp + 0x344], 0xb
call fcn.1001bcd0
lea edx, [esp + 0x120]
add esp, 4
push edx
mov ecx, eax
call fcn.1001bcd0
add esp, 4
lea edx, [esp + 0x5c]
mov ecx, eax
call fcn.10015670
mov edi, eax
mov byte [esp + 0x340], 0xc
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
push eax
lea edx, [esp + 0x174]
push edx
call fcn.10015980
add esp, 0xc
mov byte [esp + 0x340], 0xd
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x18]
add esi, 4
cmp dword [edi + 0x1c], 0x10
jb 0x10051acf
mov edi, dword [edi + 8]
jmp 0x10051ad2
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
mov eax, dword [ebp + 0x18]
mov edi, 0x10
cmp dword [ebp + 0x1c], edi
jb 0x10051aed
mov ebp, dword [ebp + 8]
jmp 0x10051af0
add ebp, 8
push eax
push ebp
mov ecx, esi
call fcn.10013f30
lea ecx, [esp + 0x16c]
mov byte [esp + 0x340], 0xc
call fcn.10012b30
mov byte [esp + 0x340], 0xb
cmp dword [esp + 0x78], edi
jb 0x10051b28
mov eax, dword [esp + 0x64]
push eax
call fcn.1026bc50
add esp, 4
mov esi, 0xf
push 3
lea ecx, [esp + 0x4c]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
call fcn.1024b380
mov eax, dword [esp + 0x5c]
cmp eax, 0xfffffffd
je 0x10051b66
cmp eax, ebx
je 0x10051b62
mov dword [eax], ebx
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x5c], eax
cmp eax, ebx
jne 0x10051b51
mov dword [esp + 0x5c], ebx
lea ecx, [esp + 0x48]
call fcn.1024b3c0
lea edx, [esp + 0x184]
push edx
mov byte [esp + 0x344], 0xa
call fcn.1000b3f0
mov byte [esp + 0x340], 9
cmp dword [esp + 0x144], edi
jb 0x10051ba5
mov eax, dword [esp + 0x130]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x54]
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
call fcn.1024b380
mov eax, dword [esp + 0x128]
cmp eax, 0xfffffffd
je 0x10051bfe
cmp eax, ebx
je 0x10051bf7
jmp 0x10051be0
mov dword [eax], ebx
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + 4]
mov dword [esp + 0x128], eax
cmp eax, ebx
jne 0x10051be0
mov dword [esp + 0x128], ebx
lea ecx, [esp + 0x50]
call fcn.1024b3c0
mov byte [esp + 0x340], 8
cmp dword [esp + 0x98], edi
jb 0x10051c28
mov edx, dword [esp + 0x84]
push edx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x5c]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
call fcn.1024b380
mov eax, dword [esp + 0x7c]
cmp eax, 0xfffffffd
je 0x10051c6a
cmp eax, ebx
je 0x10051c66
mov dword [eax], ebx
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], eax
cmp eax, ebx
jne 0x10051c55
mov dword [esp + 0x7c], ebx
lea ecx, [esp + 0x58]
call fcn.1024b3c0
mov byte [esp + 0x340], 7
cmp dword [esp + 0xb8], edi
jb 0x10051c94
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x58]
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
call fcn.1024b380
mov eax, dword [esp + 0x9c]
cmp eax, 0xfffffffd
je 0x10051ce2
cmp eax, ebx
je 0x10051cdb
mov dword [eax], ebx
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 4]
mov dword [esp + 0x9c], eax
cmp eax, ebx
jne 0x10051cc4
mov dword [esp + 0x9c], ebx
lea ecx, [esp + 0x54]
call fcn.1024b3c0
mov byte [esp + 0x340], 6
cmp dword [esp + 0xd8], edi
jb 0x10051d0c
mov eax, dword [esp + 0xc4]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x50]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
call fcn.1024b380
mov eax, dword [esp + 0xbc]
cmp eax, 0xfffffffd
je 0x10051d5e
cmp eax, ebx
je 0x10051d57
lea esp, [esp]
mov dword [eax], ebx
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + 4]
mov dword [esp + 0xbc], eax
cmp eax, ebx
jne 0x10051d40
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x4c]
call fcn.1024b3c0
mov byte [esp + 0x340], 5
cmp dword [esp + 0x118], edi
jb 0x10051d88
mov edx, dword [esp + 0x104]
push edx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x34]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], ebx
mov byte [esp + 0x108], bl
call fcn.1024b380
mov eax, dword [esp + 0xfc]
cmp eax, 0xfffffffd
je 0x10051dde
cmp eax, ebx
je 0x10051dd7
jmp 0x10051dc0
mov dword [eax], ebx
mov eax, dword [esp + 0xfc]
mov eax, dword [eax + 4]
mov dword [esp + 0xfc], eax
cmp eax, ebx
jne 0x10051dc0
mov dword [esp + 0xfc], ebx
lea ecx, [esp + 0x30]
call fcn.1024b3c0
mov byte [esp + 0x340], 4
cmp dword [esp + 0xf8], edi
jb 0x10051e08
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x30]
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe8], bl
call fcn.1024b380
mov eax, dword [esp + 0xdc]
cmp eax, 0xfffffffd
je 0x10051e5e
cmp eax, ebx
je 0x10051e57
jmp 0x10051e40
mov dword [eax], ebx
mov edx, dword [esp + 0xdc]
mov eax, dword [edx + 4]
mov dword [esp + 0xdc], eax
cmp eax, ebx
jne 0x10051e40
mov dword [esp + 0xdc], ebx
lea ecx, [esp + 0x2c]
call fcn.1024b3c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x10051980
mov byte [esp + 0x340], 3
cmp eax, ebx
je 0x10051e8c
push eax
call fcn.102b3490
add esp, 4
mov dword [esp + 0x1c], ebx
sub esp, 0x20
lea eax, [esp + 0x314]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call fcn.10003700
call fcn.10054ef0
mov ecx, dword [esp + 0x44]
add esp, 0x20
mov dword [esp + 0x38], edx
mov word [ecx], ax
mov esi, 0x10
mov byte [esp + 0x340], bl
cmp dword [esp + 0x310], esi
jb 0x10051eda
mov edx, dword [esp + 0x2fc]
push edx
call fcn.1026bc50
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x2f4]
mov dword [esp + 0x310], edi
mov dword [esp + 0x30c], ebx
mov byte [esp + 0x2fc], bl
call fcn.100012e0
mov dword [esp + 0x340], 0xffffffff
cmp dword [esp + 0x330], esi
jb 0x10051f24
mov eax, dword [esp + 0x31c]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [esp + 0x314]
mov dword [esp + 0x330], edi
mov dword [esp + 0x32c], ebx
mov byte [esp + 0x31c], bl
call fcn.100012e0
mov al, 1
jmp 0x10052933
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x60]
and eax, 1
mov edx, ecx
and eax, 0xfffffffe
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ebx
lea esi, [esp + 0x5c]
mov byte [esp + 0x340], 0xe
call fcn.1004fc10
push edi
lea eax, [esp + 0x24]
mov edx, esi
call fcn.10054020
lea ecx, [esp + 0x60]
cmp dword [eax], ecx
je 0x100525b2
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], 2
mov dword [esp + 0x30], edx
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x1c]
push edx
mov esi, eax
call fcn.100158b0
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov dword [eax], ebx
mov byte [esp + 0x340], 0xf
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x10051fe8
push eax
call fcn.102b3490
add esp, 4
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x10052563
lea edx, [esp + 0x4c]
mov dword [esp + 0x11c], edx
mov ecx, fcn.10029dc0
mov eax, 0x1001e5d0
lea edx, [esp + 0x30]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x16c], edx
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov esi, dword [esp + 0x24]
push ecx
mov eax, esp
mov dword [eax], ebx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x64]
push ecx
mov eax, esi
call fcn.100543b0
movzx ecx, word [esi]
mov edx, dword [esp + 0x34]
movzx eax, word [edx + 0xe]
push 0x10420184
push 0x104243a0
push str.__line:
sub esp, 0x20
mov dword [esp + 0x78], ecx
mov ecx, esp
mov dword [esp + 0x194], esp
push str.._brom_chip_mapping.cpp
mov dword [esp + 0x60], eax
call fcn.10003660
lea esi, [esp + 0x174]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [esp + 0x138]
mov byte [esp + 0x350], 0x10
call fcn.10003660
push esi
push eax
lea edx, [esp + 0x90]
push edx
mov byte [esp + 0x358], 0x11
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [esp + 0xac]
push eax
mov byte [esp + 0x354], 0x12
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [esp + 0xc8]
push ecx
mov byte [esp + 0x350], 0x13
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [esp + 0x104]
push edx
mov byte [esp + 0x34c], 0x14
call fcn.10015b40
add esp, 0xc
mov ebp, eax
push str.Chip_hw_code_revised_from_0x_x_to_0x_x.
lea eax, [esp + 0x188]
push eax
mov byte [esp + 0x348], 0x15
call fcn.10015560
lea ecx, [esp + 0x11c]
push ecx
mov ecx, eax
mov byte [esp + 0x344], 0x16
call fcn.1001bcd0
lea edx, [esp + 0x170]
add esp, 4
push edx
mov ecx, eax
call fcn.1001bcd0
add esp, 4
lea edx, [esp + 0xdc]
mov ecx, eax
call fcn.10015670
mov edi, eax
mov byte [esp + 0x340], 0x17
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
push eax
lea edx, [esp + 0x180]
push edx
call fcn.10015980
add esp, 0xc
mov byte [esp + 0x340], 0x18
mov esi, dword [eax + 4]
mov eax, dword [edi + 0x18]
add esi, 4
cmp dword [edi + 0x1c], 0x10
jb 0x100521aa
mov edi, dword [edi + 8]
jmp 0x100521ad
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
mov eax, dword [ebp + 0x18]
mov edi, 0x10
cmp dword [ebp + 0x1c], edi
jb 0x100521c8
mov ebp, dword [ebp + 8]
jmp 0x100521cb
add ebp, 8
push eax
push ebp
mov ecx, esi
call fcn.10013f30
lea ecx, [esp + 0x178]
mov byte [esp + 0x340], 0x17
call fcn.10012b30
mov byte [esp + 0x340], 0x16
cmp dword [esp + 0xf8], edi
jb 0x10052209
mov eax, dword [esp + 0xe4]
push eax
call fcn.1026bc50
add esp, 4
mov esi, 0xf
push 3
lea ecx, [esp + 0x58]
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe8], bl
call fcn.1024b380
mov eax, dword [esp + 0xdc]
cmp eax, 0xfffffffd
je 0x1005225e
cmp eax, ebx
je 0x10052257
mov edi, edi
mov dword [eax], ebx
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + 4]
mov dword [esp + 0xdc], eax
cmp eax, ebx
jne 0x10052240
mov dword [esp + 0xdc], ebx
lea ecx, [esp + 0x54]
call fcn.1024b3c0
lea edx, [esp + 0x184]
push edx
mov byte [esp + 0x344], 0x15
call fcn.1000b3f0
mov byte [esp + 0x340], 0x14
cmp dword [esp + 0x118], edi
jb 0x1005229d
mov eax, dword [esp + 0x104]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x5c]
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], ebx
mov byte [esp + 0x108], bl
call fcn.1024b380
mov eax, dword [esp + 0xfc]
cmp eax, 0xfffffffd
je 0x100522ee
cmp eax, ebx
je 0x100522e7
lea ecx, [ecx]
mov dword [eax], ebx
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + 4]
mov dword [esp + 0xfc], eax
cmp eax, ebx
jne 0x100522d0
mov dword [esp + 0xfc], ebx
lea ecx, [esp + 0x58]
call fcn.1024b3c0
mov byte [esp + 0x340], 0x13
cmp dword [esp + 0xd8], edi
jb 0x10052318
mov edx, dword [esp + 0xc4]
push edx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x54]
mov dword [esp + 0xdc], esi
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
call fcn.1024b380
mov eax, dword [esp + 0xbc]
cmp eax, 0xfffffffd
je 0x1005236e
cmp eax, ebx
je 0x10052367
jmp 0x10052350
mov dword [eax], ebx
mov eax, dword [esp + 0xbc]
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], eax
cmp eax, ebx
jne 0x10052350
mov dword [esp + 0xbc], ebx
lea ecx, [esp + 0x50]
call fcn.1024b3c0
mov byte [esp + 0x340], 0x12
cmp dword [esp + 0xb8], edi
jb 0x10052398
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x4c]
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
call fcn.1024b380
mov eax, dword [esp + 0x9c]
cmp eax, 0xfffffffd
je 0x100523ee
cmp eax, ebx
je 0x100523e7
jmp 0x100523d0
mov dword [eax], ebx
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 4]
mov dword [esp + 0x9c], eax
cmp eax, ebx
jne 0x100523d0
mov dword [esp + 0x9c], ebx
lea ecx, [esp + 0x48]
call fcn.1024b3c0
mov byte [esp + 0x340], 0x11
cmp dword [esp + 0x98], edi
jb 0x10052418
mov eax, dword [esp + 0x84]
push eax
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x2c]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
call fcn.1024b380
mov eax, dword [esp + 0x7c]
cmp eax, 0xfffffffd
je 0x1005245a
cmp eax, ebx
je 0x10052456
mov dword [eax], ebx
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + 4]
mov dword [esp + 0x7c], eax
cmp eax, ebx
jne 0x10052445
mov dword [esp + 0x7c], ebx
lea ecx, [esp + 0x28]
call fcn.1024b3c0
mov byte [esp + 0x340], 0x10
cmp dword [esp + 0x144], edi
jb 0x10052484
mov edx, dword [esp + 0x130]
push edx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x48]
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
call fcn.1024b380
mov eax, dword [esp + 0x128]
cmp eax, 0xfffffffd
je 0x100524d2
cmp eax, ebx
je 0x100524cb
mov dword [eax], ebx
mov eax, dword [esp + 0x128]
mov eax, dword [eax + 4]
mov dword [esp + 0x128], eax
cmp eax, ebx
jne 0x100524b4
mov dword [esp + 0x128], ebx
lea ecx, [esp + 0x44]
call fcn.1024b3c0
mov byte [esp + 0x340], 0xf
cmp dword [esp + 0x164], edi
jb 0x100524fc
mov ecx, dword [esp + 0x150]
push ecx
call fcn.1026bc50
add esp, 4
push 3
lea ecx, [esp + 0x24]
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], bl
call fcn.1024b380
mov eax, dword [esp + 0x148]
cmp eax, 0xfffffffd
je 0x1005254e
cmp eax, ebx
je 0x10052547
lea esp, [esp]
mov dword [eax], ebx
mov edx, dword [esp + 0x148]
mov eax, dword [edx + 4]
mov dword [esp + 0x148], eax
cmp eax, ebx
jne 0x10052530
mov dword [esp + 0x148], ebx
lea ecx, [esp + 0x20]
call fcn.1024b3c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x10052030
mov byte [esp + 0x340], 0xe
cmp eax, ebx
je 0x1005257c
push eax
call fcn.102b3490
add esp, 4
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x24]
push ecx
mov eax, esp
mov dword [eax], ebx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x64]
push ecx
mov eax, esi
call fcn.100543b0
mov edx, dword [esp + 0x34]
mov ax, word [edx + 0xe]
lea ecx, [esp + 0x5c]
push ecx
mov edi, ecx
mov word [esi], ax
call fcn.10054240
jmp 0x10051eb5
lea ecx, [esp + 0x5c]
push ecx
mov edi, ecx
mov byte [esp + 0x344], 3
call fcn.10054240
lea edx, [esp + 0x20]
mov dword [esp + 0x20], 2
mov dword [esp + 0x2c], edx
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
mov esi, eax
call fcn.100158b0
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [eax], ebx
mov byte [esp + 0x340], 0x19
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x10052613
push eax
call fcn.102b3490
add esp, 4
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x100528ee
mov ebp, 0x10
jmp 0x10052630
push 0x10420184
push 0x104284a0
push str.__line:
sub esp, 0x20
mov ecx, esp
mov dword [esp + 0x194], esp
push str.._brom_chip_mapping.cpp
call fcn.10003660
lea esi, [esp + 0xa8]
call fcn.10069570
add esp, 0x20
mov esi, eax
push 0x10421098
lea ecx, [esp + 0xac]
mov byte [esp + 0x350], 0x1a
call fcn.10003660
push esi
push eax
lea edx, [esp + 0xd0]
push edx
mov byte [esp + 0x358], 0x1b
call fcn.10015a90
add esp, 0xc
push eax
lea eax, [esp + 0x10c]
push eax
mov byte [esp + 0x354], 0x1c
call fcn.10015b40
add esp, 0xc
push eax
lea ecx, [esp + 0xe8]
push ecx
mov byte [esp + 0x350], 0x1d
call fcn.10015b40
add esp, 0xc
push eax
lea edx, [esp + 0x150]
push edx
mov byte [esp + 0x34c], 0x1e
call fcn.10015b40
add esp, 0xc
mov edi, eax
mov byte [esp + 0x340], 0x1f
call fcn.1005c100
mov eax, dword [eax]
lea ecx, [esp + 0x18]
push ecx
push eax
lea edx, [esp + 0x180]
push edx
call fcn.10015980
add esp, 0xc
mov byte [esp + 0x340], 0x20
mov esi, dword [eax + 4]
push 0x17
add esi, 4
push str.Chip_hw_code_is_intact.
mov ecx, esi
call fcn.10013f30
mov eax, dword [edi + 0x18]
cmp dword [edi + 0x1c], ebp
jb 0x10052734
mov edi, dword [edi + 8]
jmp 0x10052737
add edi, 8
push eax
push edi
mov ecx, esi
call fcn.10013f30
lea ecx, [esp + 0x178]
mov byte [esp + 0x340], 0x1f
call fcn.10012b30
mov byte [esp + 0x340], 0x1e
cmp dword [esp + 0x164], ebp
jb 0x10052775
mov eax, dword [esp + 0x150]
push eax
call fcn.1026bc50
add esp, 4
mov esi, 0xf
lea ecx, [esp + 0x148]
mov dword [esp + 0x164], esi
mov dword [esp + 0x160], ebx
mov byte [esp + 0x150], bl
call fcn.100012e0
mov byte [esp + 0x340], 0x1d
cmp dword [esp + 0xf8], ebp
jb 0x100527bc
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [esp + 0xdc]
mov dword [esp + 0xf8], esi
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
call fcn.100012e0
mov byte [esp + 0x340], 0x1c
cmp dword [esp + 0x118], ebp
jb 0x100527fe
mov edx, dword [esp + 0x104]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [esp + 0xfc]
mov dword [esp + 0x118], esi
mov dword [esp + 0x114], ebx
mov byte [esp + 0x104], bl
call fcn.100012e0
mov byte [esp + 0x340], 0x1b
cmp dword [esp + 0xd8], ebp
jb 0x10052840
mov eax, dword [esp + 0xc4]
push eax
call fcn.1026bc50
add esp, 4
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd8], esi
mov dword [esp + 0xd4], ebx
mov byte [esp + 0xc4], bl
call fcn.100012e0
mov byte [esp + 0x340], 0x1a
cmp dword [esp + 0xb8], ebp
jb 0x10052882
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.1026bc50
add esp, 4
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
call fcn.100012e0
mov byte [esp + 0x340], 0x19
cmp dword [esp + 0x98], ebp
jb 0x100528c4
mov edx, dword [esp + 0x84]
push edx
call fcn.1026bc50
add esp, 4
lea ecx, [esp + 0x7c]
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
call fcn.100012e0
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x10052630
mov byte [esp + 0x340], 3
cmp eax, ebx
je 0x10052907
push eax
call fcn.102b3490
add esp, 4
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x2f4]
mov byte [esp + 0x340], bl
call fcn.10046860
lea esi, [esp + 0x314]
mov dword [esp + 0x340], 0xffffffff
call fcn.10110b20
xor al, al
mov ecx, dword [esp + 0x338]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x320]
xor ecx, esp
call fcn.1026af30
add esp, 0x330
ret