Function at 0x549694
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Check os version
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x25
push 0
push 0
dec ecx
jne 0x54969c
push ebx
push esi
push edi
mov ebx, eax
mov esi, dword [0x59263c]
xor eax, eax
push ebp
push 0x54b118
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0xc]
mov eax, dword [ebx + 0x87c]
call fcn.00474c2c
mov edx, dword [ebp - 0xc]
mov eax, dword [esi]
add eax, 0x1c
call fcn.00404d58
lea edx, [ebp - 0x10]
mov eax, dword [ebx + 0x330]
call fcn.00474c2c
mov edx, dword [ebp - 0x10]
mov eax, dword [esi]
add eax, 0x30
call fcn.00404d58
mov eax, dword [ebx + 0x818]
mov edx, dword [eax]
call dword [edx + 0xcc]
lea edx, [ebp - 0x14]
call fcn.00409a00
mov eax, dword [ebp - 0x14]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x14
call fcn.00405238
pop edx
mov byte [eax + 0xd], dl
mov eax, dword [ebx + 0x9dc]
mov edx, dword [eax]
call dword [edx + 0xcc]
lea edx, [ebp - 0x18]
call fcn.00409a00
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x14
call fcn.00405238
pop edx
mov byte [eax + 1], dl
mov eax, dword [ebx + 0x9e0]
mov edx, dword [eax]
call dword [edx + 0xcc]
lea edx, [ebp - 0x1c]
call fcn.00409a00
mov eax, dword [ebp - 0x1c]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x14
call fcn.00405238
pop edx
mov byte [eax + 2], dl
mov eax, dword [ebx + 0x3c8]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0x20]
call fcn.00409a00
mov eax, dword [ebp - 0x20]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x14
call fcn.00405238
pop edx
mov byte [eax + 0xc], dl
mov eax, dword [ebx + 0xa58]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x5497bf
mov eax, dword [esi]
add eax, 0x18
call fcn.00405238
mov byte [eax + 1], 0x2b
jmp 0x5497cd
mov eax, dword [esi]
add eax, 0x18
call fcn.00405238
mov byte [eax + 1], 0x2d
mov eax, dword [ebx + 0xa50]
mov edx, dword [eax]
call dword [edx + 0xcc]
lea edx, [ebp - 0x24]
call fcn.00409a00
mov eax, dword [ebp - 0x24]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x18
call fcn.00405238
pop edx
mov byte [eax], dl
mov eax, dword [ebx + 0xa68]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x549818
mov eax, dword [esi]
add eax, 0x18
call fcn.00405238
mov byte [eax + 3], 0x2b
jmp 0x549826
mov eax, dword [esi]
add eax, 0x18
call fcn.00405238
mov byte [eax + 3], 0x2d
mov eax, dword [ebx + 0xa60]
mov edx, dword [eax]
call dword [edx + 0xcc]
lea edx, [ebp - 0x28]
call fcn.00409a00
mov eax, dword [ebp - 0x28]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x18
call fcn.00405238
pop edx
mov byte [eax + 2], dl
mov eax, dword [ebx + 0x7b8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xb5], al
lea edx, [ebp - 0x30]
mov eax, dword [ebx + 0x888]
call fcn.00474c2c
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.004986c4
mov edx, dword [ebp - 0x2c]
mov eax, dword [esi]
add eax, 0x78
call fcn.00404d58
mov eax, dword [ebx + 0x7c8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xb6], al
mov eax, dword [ebx + 0x7d4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xb7], al
mov eax, dword [ebx + 0x7bc]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xb8], al
mov eax, dword [ebx + 0x7c0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xb9], al
mov eax, dword [ebx + 0x7c4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xba], al
mov eax, dword [ebx + 0x7e8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xbc], al
mov eax, dword [ebx + 0x7f8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xbb], al
lea edx, [ebp - 0x34]
mov eax, dword [ebx + 0x7cc]
call fcn.00474c2c
mov eax, dword [ebp - 0x34]
mov edx, dword [esi]
movzx edx, word [edx + 0xfe]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xfe], ax
mov eax, dword [ebx + 0xa7c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc5], al
lea edx, [ebp - 0x38]
mov eax, dword [ebx + 0x7ec]
call fcn.00474c2c
mov eax, dword [ebp - 0x38]
mov edx, dword [esi]
movzx edx, word [edx + 0x10c]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x10c], ax
lea edx, [ebp - 0x3c]
mov eax, dword [ebx + 0xa34]
call fcn.00474c2c
mov eax, dword [ebp - 0x3c]
mov edx, dword [esi]
mov edx, dword [edx + 0x19c]
call fcn.00409b78
mov edx, dword [esi]
mov dword [edx + 0x19c], eax
lea edx, [ebp - 0x40]
mov eax, dword [ebx + 0x61c]
call fcn.00474c2c
mov eax, dword [ebp - 0x40]
mov edx, dword [esi]
movsx edx, word [edx + 0xa4]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xa4], ax
lea edx, [ebp - 0x44]
mov eax, dword [ebx + 0x624]
call fcn.00474c2c
mov eax, dword [ebp - 0x44]
mov edx, dword [esi]
movsx edx, word [edx + 0xa6]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xa6], ax
lea edx, [ebp - 0x48]
mov eax, dword [ebx + 0x5f8]
call fcn.00474c2c
mov eax, dword [ebp - 0x48]
mov edx, dword [esi]
movsx edx, word [edx + 0xb0]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xb0], ax
lea edx, [ebp - 0x4c]
mov eax, dword [ebx + 0x5fc]
call fcn.00474c2c
mov eax, dword [ebp - 0x4c]
mov edx, dword [esi]
movsx edx, word [edx + 0xb2]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xb2], ax
lea edx, [ebp - 0x50]
mov eax, dword [ebx + 0x62c]
call fcn.00474c2c
mov eax, dword [ebp - 0x50]
mov edx, dword [esi]
movsx edx, word [edx + 0xa8]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xa8], ax
mov eax, dword [ebx + 0x5f0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe8], al
mov eax, dword [ebx + 0x470]
mov edx, dword [eax]
call dword [edx + 0xcc]
test eax, eax
sete al
mov edx, dword [esi]
mov byte [edx + 0xbd], al
mov eax, dword [ebx + 0x474]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xbe], al
mov eax, dword [ebx + 0x5d8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xbf], al
lea edx, [ebp - 0x54]
mov eax, dword [ebx + 0x70c]
call fcn.00474c2c
mov eax, dword [ebp - 0x54]
mov edx, dword [esi]
movzx edx, word [edx + 0x100]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x100], ax
lea edx, [ebp - 0x58]
mov eax, dword [ebx + 0x710]
call fcn.00474c2c
mov eax, dword [ebp - 0x58]
mov edx, dword [esi]
movzx edx, word [edx + 0x102]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x102], ax
mov eax, dword [ebx + 0x714]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe9], al
mov eax, dword [ebx + 0x700]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x549b7b
mov eax, dword [esi]
cmp word [eax + 0x100], 1
jb 0x549b7b
mov eax, dword [esi]
cmp word [eax + 0x102], 1
jb 0x549b7b
mov eax, dword [esi]
mov ax, word [eax + 0x102]
mov edx, dword [esi]
cmp ax, word [edx + 0x100]
jae 0x549b91
mov eax, dword [esi]
mov word [eax + 0x100], 0
mov eax, dword [esi]
mov word [eax + 0x102], 0
lea edx, [ebp - 0x5c]
mov eax, dword [ebx + 0x708]
call fcn.005291ec
mov eax, dword [ebp - 0x5c]
mov edx, 0x54b134
call fcn.0040512c
je 0x549bda
mov eax, dword [ebx + 0x708]
cmp byte [eax + 0x228], 0
je 0x549bda
lea edx, [ebp - 0x60]
mov eax, dword [ebx + 0x708]
call fcn.005291ec
mov edx, dword [ebp - 0x60]
mov eax, dword [esi]
add eax, 0x38
call fcn.00404d58
jmp 0x549be4
mov eax, dword [esi]
add eax, 0x38
call fcn.00404d04
mov eax, dword [ebx + 0x6b0]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x84], al
mov eax, dword [ebx + 0x6b4]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x85], al
mov eax, dword [ebx + 0xa70]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xeb], al
mov eax, dword [ebx + 0x6c8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc0], al
lea edx, [ebp - 0x64]
mov eax, dword [ebx + 0x6e8]
call fcn.00474c2c
mov eax, dword [ebp - 0x64]
mov edx, dword [esi]
movzx edx, word [edx + 0x104]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x104], ax
mov eax, dword [ebx + 0x6e4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc1], al
mov eax, dword [ebx + 0x6b8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf3], al
lea edx, [ebp - 0x68]
mov eax, dword [ebx + 0x6bc]
call fcn.00474c2c
mov eax, dword [ebp - 0x68]
mov edx, dword [esi]
movzx edx, word [edx + 0x106]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x106], ax
mov eax, dword [ebx + 0x3a4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc2], al
mov eax, dword [ebx + 0x3c4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc3], al
mov eax, dword [ebx + 0x3cc]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc4], al
mov eax, dword [ebx + 0x5e4]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x549d1b
mov eax, dword [ebx + 0x5e4]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x549d1f
xor eax, eax
jmp 0x549d21
mov al, 1
mov edx, dword [esi]
mov byte [edx + 0xea], al
mov eax, dword [ebx + 0x974]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf9], al
mov eax, dword [ebx + 0x9cc]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc8], al
mov eax, dword [ebx + 0x9d8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc6], al
mov eax, dword [ebx + 0x9d0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc7], al
mov eax, dword [ebx + 0x670]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xc9], al
mov eax, dword [ebx + 0x6a4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xca], al
mov eax, dword [ebx + 0x96c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xcb], al
mov eax, dword [ebx + 0x758]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf4], al
mov eax, dword [ebx + 0x968]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf5], al
mov eax, dword [ebx + 0xa74]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf6], al
mov eax, dword [ebx + 0x8b4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xee], al
mov eax, dword [ebx + 0x8b0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xed], al
mov eax, dword [ebx + 0x8a8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xec], al
mov eax, dword [ebx + 0x8ac]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, eax
lea ecx, [ebp - 0x6c]
mov eax, dword [ebx + 0x8ac]
mov eax, dword [eax + 0x23c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x6c]
mov eax, dword [esi]
add eax, 0x5c
call fcn.00404d58
mov eax, dword [ebx + 0x63c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xcc], al
lea edx, [ebp - 0x70]
mov eax, dword [ebx + 0x640]
call fcn.00474c2c
mov edx, dword [ebp - 0x70]
mov eax, dword [esi]
add eax, 0x40
call fcn.00404d58
lea edx, [ebp - 0x74]
mov eax, dword [ebx + 0x644]
call fcn.00474c2c
mov edx, dword [ebp - 0x74]
mov eax, dword [esi]
add eax, 0x44
call fcn.00404d58
lea edx, [ebp - 0x78]
mov eax, dword [ebx + 0x900]
call fcn.00474c2c
mov edx, dword [ebp - 0x78]
mov eax, dword [esi]
add eax, 0x54
call fcn.00404d58
mov eax, dword [ebx + 0x99c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xfa], al
mov eax, dword [ebx + 0x9a0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xfb], al
mov eax, dword [ebx + 0x5c4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd4], al
mov eax, dword [ebx + 0x504]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd8], al
lea edx, [ebp - 0x7c]
mov eax, dword [ebx + 0x904]
call fcn.00474c2c
mov edx, dword [ebp - 0x7c]
mov eax, dword [esi]
add eax, 0x58
call fcn.00404d58
mov eax, dword [ebx + 0x648]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xcd], al
mov eax, dword [ebx + 0x674]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x86], al
mov eax, dword [ebx + 0x678]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x87], al
mov eax, dword [ebx + 0x67c]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x88], al
lea edx, [ebp - 0x80]
mov eax, dword [ebx + 0x500]
call fcn.00474c2c
mov eax, dword [ebp - 0x80]
mov edx, dword [esi]
movsx edx, word [edx + 0xaa]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xaa], ax
lea edx, [ebp - 0x84]
mov eax, dword [ebx + 0x4fc]
call fcn.00474c2c
mov eax, dword [ebp - 0x84]
mov edx, dword [esi]
movsx edx, word [edx + 0xac]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xac], ax
mov eax, dword [ebx + 0x458]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xcf], al
mov eax, dword [ebx + 0x9b4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xce], al
mov eax, dword [ebx + 0x74c]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x89], al
mov eax, dword [ebx + 0x750]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x8a], al
mov eax, dword [ebx + 0x754]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x8b], al
mov eax, dword [ebx + 0x738]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x8c], al
mov eax, dword [ebx + 0x65c]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x9c], al
mov eax, dword [ebx + 0x794]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf7], al
mov eax, dword [ebx + 0x660]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x9d], al
mov eax, dword [ebx + 0x664]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x9e], al
mov eax, dword [ebx + 0x3a0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd1], al
mov eax, dword [ebx + 0x360]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd3], al
mov eax, dword [ebx + 0x53c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd2], al
mov eax, dword [ebx + 0x35c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd5], al
mov eax, dword [ebx + 0x364]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd6], al
mov eax, dword [ebx + 0x368]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd7], al
mov eax, dword [ebx + 0x444]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x8d], al
mov eax, dword [ebx + 0x454]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x138], eax
lea edx, [ebp - 0x88]
mov eax, dword [ebx + 0xa84]
call fcn.00474c2c
mov eax, dword [ebp - 0x88]
mov edx, dword [esi]
mov edx, dword [edx + 0x1b0]
call fcn.00409b78
mov edx, dword [esi]
mov dword [edx + 0x1b0], eax
lea edx, [ebp - 0x8c]
mov eax, dword [ebx + 0xa90]
call fcn.00474c2c
mov eax, dword [ebp - 0x8c]
mov edx, dword [esi]
mov edx, dword [edx + 0x1a8]
call fcn.00409b78
mov edx, dword [esi]
mov dword [edx + 0x1a8], eax
lea edx, [ebp - 0x90]
mov eax, dword [ebx + 0xa94]
call fcn.00474c2c
mov eax, dword [ebp - 0x90]
mov edx, dword [esi]
mov edx, dword [edx + 0x1ac]
call fcn.00409b78
mov edx, dword [esi]
mov dword [edx + 0x1ac], eax
mov eax, dword [ebx + 0x8dc]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0x94]
call fcn.00409a00
mov eax, dword [ebp - 0x94]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax], dl
mov eax, dword [ebx + 0x8c0]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0x98]
call fcn.00409a00
mov eax, dword [ebp - 0x98]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 2], dl
mov eax, dword [ebx + 0x8c8]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0x9c]
call fcn.00409a00
mov eax, dword [ebp - 0x9c]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 3], dl
mov eax, dword [ebx + 0x8c4]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xa0]
call fcn.00409a00
mov eax, dword [ebp - 0xa0]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 4], dl
mov eax, dword [ebx + 0x8d4]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xa4]
call fcn.00409a00
mov eax, dword [ebp - 0xa4]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 5], dl
mov eax, dword [ebx + 0x8d8]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xa8]
call fcn.00409a00
mov eax, dword [ebp - 0xa8]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 6], dl
mov eax, dword [ebx + 0x8bc]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xac]
call fcn.00409a00
mov eax, dword [ebp - 0xac]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 7], dl
mov eax, dword [ebx + 0x964]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xb0]
call fcn.00409a00
mov eax, dword [ebp - 0xb0]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 8], dl
mov eax, dword [ebx + 0x950]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xb4]
call fcn.00409a00
mov eax, dword [ebp - 0xb4]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 9], dl
mov eax, dword [ebx + 0x954]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xb8]
call fcn.00409a00
mov eax, dword [ebp - 0xb8]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 0xa], dl
mov eax, dword [ebx + 0x95c]
mov edx, dword [eax]
call dword [edx + 0xcc]
lea edx, [ebp - 0xbc]
call fcn.00409a00
mov eax, dword [ebp - 0xbc]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 0xb], dl
mov eax, dword [ebx + 0xa04]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xc0]
call fcn.00409a00
mov eax, dword [ebp - 0xc0]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x74
call fcn.00405238
pop edx
mov byte [eax + 0xc], dl
mov eax, dword [ebx + 0x8cc]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xb4], al
mov eax, dword [ebx + 0xa48]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x8e], al
mov eax, dword [ebx + 0x764]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x8f], al
mov eax, dword [ebx + 0xa24]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x90], al
mov eax, dword [ebx + 0xa20]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x91], al
mov eax, dword [ebx + 0xa28]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x92], al
mov eax, dword [ebx + 0xa2c]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x93], al
mov eax, dword [ebx + 0x49c]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xc4]
call fcn.00409a00
mov eax, dword [ebp - 0xc4]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
pop edx
mov byte [eax], dl
mov eax, dword [ebx + 0x4a0]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xc8]
call fcn.00409a00
mov eax, dword [ebp - 0xc8]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
pop edx
mov byte [eax + 1], dl
mov eax, dword [ebx + 0x4a4]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xcc]
call fcn.00409a00
mov eax, dword [ebp - 0xcc]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
pop edx
mov byte [eax + 2], dl
mov eax, dword [ebx + 0x4a8]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xd0]
call fcn.00409a00
mov eax, dword [ebp - 0xd0]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
pop edx
mov byte [eax + 3], dl
mov eax, dword [ebx + 0x4b0]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xd4]
call fcn.00409a00
mov eax, dword [ebp - 0xd4]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
pop edx
mov byte [eax + 4], dl
mov eax, dword [ebx + 0x4ac]
mov edx, dword [eax]
call dword [edx + 0xc8]
and eax, 0x7f
lea edx, [ebp - 0xd8]
call fcn.00409a00
mov eax, dword [ebp - 0xd8]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
pop edx
mov byte [eax + 5], dl
mov dword [ebp - 4], 7
mov edx, dword [ebp - 4]
sub edx, 7
mov eax, dword [ebx + 0x59c]
call fcn.0051f2a8
and eax, 0x7f
lea edx, [ebp - 0xdc]
call fcn.00409a00
mov eax, dword [ebp - 0xdc]
mov al, byte [eax]
push eax
mov eax, dword [esi]
add eax, 0x70
call fcn.00405238
mov edx, dword [ebp - 4]
pop ecx
mov byte [eax + edx - 1], cl
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x16
jne 0x54a640
mov eax, dword [ebx + 0x8e0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf8], al
lea edx, [ebp - 0xe0]
mov eax, dword [ebx + 0x408]
call fcn.00474c2c
mov edx, dword [ebp - 0xe0]
mov eax, dword [esi]
add eax, 0x48
call fcn.00404d58
mov eax, dword [ebx + 0x42c]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x140], eax
mov eax, dword [ebx + 0x958]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x12c], eax
mov eax, dword [ebx + 0x430]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x144], eax
mov eax, dword [ebx + 0x434]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x148], eax
mov eax, dword [ebx + 0x438]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x150], eax
mov eax, dword [ebx + 0x8e4]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x128], eax
mov eax, dword [ebx + 0x76c]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x134], eax
mov eax, dword [ebx + 0x77c]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x114], eax
mov eax, dword [ebx + 0x778]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x118], eax
mov eax, dword [ebx + 0x774]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x11c], eax
mov eax, dword [ebx + 0x8e8]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x120], eax
mov eax, dword [ebx + 0x770]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x124], eax
mov eax, dword [ebx + 0x780]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x130], eax
mov eax, dword [ebx + 0xa08]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x154], eax
mov eax, dword [ebx + 0x788]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x9f], al
mov eax, dword [ebx + 0x78c]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0xa0], al
lea edx, [ebp - 0xe4]
mov eax, dword [ebx + 0x988]
call fcn.00474c2c
mov eax, dword [ebp - 0xe4]
mov edx, 0x64
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x108], ax
mov eax, dword [ebx + 0x3ec]
mov edx, dword [eax]
call dword [edx + 0xcc]
mov edx, dword [esi]
mov byte [edx + 0x94], al
lea edx, [ebp - 0xe8]
mov eax, dword [ebx + 0x898]
call fcn.00474c2c
mov edx, dword [ebp - 0xe8]
mov eax, dword [esi]
add eax, 0x4c
call fcn.00404d58
mov eax, dword [ebx + 0x3f0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xd9], al
mov eax, dword [ebx + 0x558]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe1], al
lea edx, [ebp - 0xec]
mov eax, dword [ebx + 0x97c]
call fcn.00474c2c
mov eax, dword [ebp - 0xec]
mov edx, 3
call fcn.00409b78
mov edx, dword [esi]
mov byte [edx + 0x96], al
mov eax, dword [ebx + 0x564]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x54a8d1
mov eax, dword [esi]
mov byte [eax + 0x95], 2
jmp 0x54a8f7
mov eax, dword [ebx + 0x560]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x54a8ee
mov eax, dword [esi]
mov byte [eax + 0x95], 1
jmp 0x54a8f7
mov eax, dword [esi]
mov byte [eax + 0x95], 0
mov eax, dword [ebx + 0x3b0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xda], al
lea edx, [ebp - 0xf0]
mov eax, dword [ebx + 0x490]
call fcn.00474c2c
mov eax, dword [ebp - 0xf0]
mov edx, dword [esi]
movsx edx, word [edx + 0xae]
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0xae], ax
mov eax, dword [ebx + 0x4e8]
mov eax, dword [eax + 0x224]
mov edx, dword [esi]
mov dword [edx + 0x13c], eax
mov eax, dword [ebx + 0x3d8]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf2], al
lea edx, [ebp - 0xf4]
mov eax, dword [ebx + 0x494]
call fcn.00474c2c
mov eax, dword [ebp - 0xf4]
mov edx, dword [esi]
movzx edx, byte [edx + 0x97]
call fcn.00409b78
mov edx, dword [esi]
mov byte [edx + 0x97], al
mov eax, dword [ebx + 0x530]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xdc], al
mov eax, dword [ebx + 0x534]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xdd], al
lea edx, [ebp - 0xf8]
mov eax, dword [ebx + 0x9f8]
call fcn.0051f738
mov edx, dword [ebp - 0xf8]
mov eax, dword [esi]
add eax, 0x50
call fcn.00404d58
mov eax, dword [ebx + 0x6f4]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe0], al
mov eax, dword [ebx + 0x6f0]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xdf], al
mov eax, dword [ebx + 0x92c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe6], al
mov eax, dword [ebx + 0x6ec]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xf1], al
mov eax, dword [ebx + 0x990]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x54aa62
mov eax, dword [ebx + 0x994]
mov edx, dword [eax]
call dword [edx + 0xcc]
inc eax
mov edx, dword [esi]
mov byte [edx + 0x9b], al
jmp 0x54aa6b
mov eax, dword [esi]
mov byte [eax + 0x9b], 0
mov eax, dword [ebx + 0x52c]
mov edx, dword [eax]
call dword [edx + 0xcc]
dec eax
sete al
mov edx, dword [esi]
mov byte [edx + 0xde], al
mov eax, dword [ebx + 0x594]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe4], al
mov eax, dword [ebx + 0x58c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe2], al
mov eax, dword [ebx + 0x598]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe5], al
mov eax, dword [ebx + 0x590]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe3], al
mov eax, dword [ebx + 0x66c]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xef], al
mov eax, dword [ebx + 0x918]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xe7], al
lea edx, [ebp - 0xfc]
mov eax, dword [ebx + 0x91c]
call fcn.00474c2c
mov eax, dword [ebp - 0xfc]
mov edx, 0x754e
call fcn.00409b78
mov edx, dword [esi]
mov word [edx + 0x110], ax
lea edx, [ebp - 0x100]
mov eax, dword [ebx + 0x920]
call fcn.00474c2c
mov edx, dword [ebp - 0x100]
mov eax, dword [esi]
add eax, 0x60
call fcn.00404d58
lea edx, [ebp - 0x104]
mov eax, dword [ebx + 0x924]
call fcn.00474c2c
mov edx, dword [ebp - 0x104]
mov eax, dword [esi]
add eax, 0x64
call fcn.00404d58
lea edx, [ebp - 0x108]
mov eax, dword [ebx + 0x88c]
call fcn.00474c2c
mov edx, dword [ebp - 0x108]
mov eax, dword [esi]
add eax, 0x68
call fcn.00404d58
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebx + 0x8a0]
mov eax, dword [eax + 0x22c]
call fcn.00459820
dec eax
test eax, eax
jl 0x54ac35
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x8a0]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
push dword [eax + 0x24]
push 0x54b144
mov eax, dword [ebx + 0x8a0]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x110]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x110]
lea eax, [ebp - 0x10c]
mov edx, 3
call fcn.004050a0
mov edx, dword [ebp - 0x10c]
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x54abc4
mov eax, dword [ebx + 0x6d8]
mov eax, dword [eax + 0x218]
mov edx, dword [esi]
mov edi, dword [edx + 0x170]
cmp eax, edi
je 0x54ac60
mov eax, dword [ebx + 0x6d8]
mov edx, dword [eax + 0x218]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x33c]
mov eax, dword [eax + 0x218]
mov edx, dword [esi]
mov edi, dword [edx + 0x16c]
cmp eax, edi
je 0x54ac8b
mov eax, dword [ebx + 0x33c]
mov edx, dword [eax + 0x218]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x4c8]
mov eax, dword [eax + 0x218]
mov edx, dword [esi]
mov edi, dword [edx + 0x158]
cmp eax, edi
je 0x54acb6
mov eax, dword [ebx + 0x4c8]
mov edx, dword [eax + 0x218]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebx + 0x574]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x114]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
mov edx, 0x54b150
call fcn.0040512c
jne 0x54ad04
mov eax, dword [esi]
mov edx, dword [ebp - 4]
lea eax, [eax + edx*4 + 0x174]
call fcn.00404d04
jmp 0x54ad3f
mov eax, dword [ebx + 0x574]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x118]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x118]
mov eax, dword [esi]
mov ecx, dword [ebp - 4]
lea eax, [eax + ecx*4 + 0x174]
call fcn.00404d58
inc dword [ebp - 4]
cmp dword [ebp - 4], 6
jne 0x54acbb
mov eax, dword [ebx + 0x578]
mov edx, dword [eax]
call dword [edx + 0xc8]
mov edx, dword [esi]
mov byte [edx + 0xdb], al
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebx + 0x5c8]
mov eax, dword [eax + 0x22c]
call fcn.00459820
dec eax
test eax, eax
jl 0x54ae01
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x5c8]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x120]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x120]
push 0x54b144
mov eax, dword [ebx + 0x5c8]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
push dword [eax + 0x24]
lea eax, [ebp - 0x11c]
mov edx, 3
call fcn.004050a0
mov edx, dword [ebp - 0x11c]
mov eax, dword [esi]
mov eax, dword [eax + 0x160]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x54ad90
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [esi]
mov eax, dword [eax + 0x168]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, dword [ebx + 0x43c]
mov eax, dword [eax + 0x22c]
call fcn.00459820
dec eax
test eax, eax
jl 0x54aef2
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x43c]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x124]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x124]
cmp byte [eax], 0x46
je 0x54ae93
mov eax, dword [ebx + 0x43c]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov edx, dword [eax + 0x24]
mov eax, dword [esi]
mov eax, dword [eax + 0x168]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 0x43c]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x128]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x128]
cmp byte [eax], 0x44
je 0x54aee6
mov eax, dword [ebx + 0x43c]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov edx, dword [eax + 0x24]
mov eax, dword [esi]
mov eax, dword [eax + 0x164]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x54ae40
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov edx, dword [eax]
call dword [edx + 8]
mov eax, dword [ebx + 0x388]
mov eax, dword [eax + 0x22c]
call fcn.00459820
dec eax
test eax, eax
jl 0x54af46
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x388]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov edx, dword [eax + 0xc]
mov eax, dword [esi]
mov eax, dword [eax + 8]
call fcn.0041aaf4
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x54af1d
mov eax, dword [esi]
mov eax, dword [eax + 0x190]
mov edx, dword [eax]
call dword [edx + 8]
mov eax, dword [ebx + 0x724]
mov eax, dword [eax + 0x22c]
call fcn.00459820
dec eax
test eax, eax
jl 0x54afa0
inc eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], 0
mov eax, dword [ebx + 0x724]
mov eax, dword [eax + 0x22c]
mov edx, dword [ebp - 4]
call fcn.00459850
mov edx, dword [eax + 0xc]
mov eax, dword [esi]
mov eax, dword [eax + 0x190]
call fcn.0041aaf4
inc dword [ebp - 4]
dec dword [ebp - 8]
jne 0x54af74
mov eax, ebx
call fcn.0054dc2c
mov eax, dword [esi]
mov edx, dword [eax + 0x18c]
mov eax, ebx
call fcn.0054ba3c
mov eax, dword [esi]
call fcn.0055f758
mov eax, dword [esi]
call fcn.00562944
mov eax, dword [ebx + 0x9d4]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x54afea
cmp byte [ebx + 0xaa1], 0
jne 0x54afea
xor edx, edx
mov eax, ebx
call fcn.005474b8
jmp 0x54b00e
cmp byte [ebx + 0xaa1], 0
je 0x54b00e
mov eax, dword [ebx + 0x9d4]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
jne 0x54b00e
mov dl, 1
mov eax, ebx
call fcn.005474b8
mov eax, dword [ebx + 0x9e8]
mov edx, dword [eax]
call dword [edx + 0xcc]
cmp eax, dword [ebx + 0xaa8]
je 0x54b03a
mov eax, dword [ebx + 0x9e8]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x54b03a
mov eax, ebx
call fcn.0054945c
mov eax, dword [ebx + 0x9f0]
mov edx, dword [eax]
call dword [edx + 0xcc]
cmp eax, dword [ebx + 0xaac]
je 0x54b066
mov eax, dword [ebx + 0x9f0]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
je 0x54b066
mov eax, ebx
call fcn.005495dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54b122
lea eax, [ebp - 0x128]
mov edx, 8
call fcn.00404d28
lea eax, [ebp - 0x108]
mov edx, 4
call fcn.00404d28
lea eax, [ebp - 0xf8]
call fcn.00404d04
lea eax, [ebp - 0xf4]
mov edx, 6
call fcn.00404d28
lea eax, [ebp - 0xdc]
mov edx, 0x13
call fcn.00404d28
lea eax, [ebp - 0x90]
mov edx, 9
call fcn.00404d28
lea eax, [ebp - 0x6c]
call fcn.00404d04
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.00404d28
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.00404d28
lea eax, [ebp - 0x58]
mov edx, 0xb
call fcn.00404d28
lea eax, [ebp - 0x2c]
mov edx, 7
call fcn.00404d28
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00404d28
ret