Function at 0x5478dc
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Check os version

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x15
push 0
push 0
dec ecx
jne 0x5478e5
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov byte [ebp - 1], dl
mov ebx, eax
mov eax, dword [ebp - 8]
call fcn.004051d0
mov esi, dword [0x59263c]
xor eax, eax
push ebp
push 0x549083
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.005475e8
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
mov eax, dword [ebx + 0x330]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebx + 0x87c]
call fcn.00474c5c
lea eax, [ebp - 0x14]
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 1]
call fcn.00404eec
mov eax, dword [ebp - 0x14]
xor edx, edx
call fcn.00409b78
mov edx, eax
mov eax, dword [ebx + 0x9dc]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
lea eax, [ebp - 0x18]
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 2]
call fcn.00404eec
mov eax, dword [ebp - 0x18]
xor edx, edx
call fcn.00409b78
mov edx, eax
mov eax, dword [ebx + 0x9e0]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
lea eax, [ebp - 0x1c]
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 0xd]
call fcn.00404eec
mov eax, dword [ebp - 0x1c]
xor edx, edx
call fcn.00409b78
mov edx, eax
mov eax, dword [ebx + 0x818]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
lea eax, [ebp - 0x20]
mov edx, dword [esi]
mov edx, dword [edx + 0x14]
mov dl, byte [edx + 0xc]
call fcn.00404eec
mov eax, dword [ebp - 0x20]
xor edx, edx
call fcn.00409b78
dec eax
sete dl
mov eax, dword [ebx + 0x3c8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
cmp byte [eax + 1], 0x2b
jne 0x547a05
mov dl, 1
mov eax, dword [ebx + 0xa58]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x547a15
mov dl, 1
mov eax, dword [ebx + 0xa5c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [ebp - 8]
cmp byte [eax], 0x31
jne 0x547a33
mov eax, dword [ebx + 0xa50]
mov eax, dword [eax + 0x23c]
mov edx, 0x54909c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 8]
cmp byte [eax + 1], 0x31
jne 0x547a52
mov eax, dword [ebx + 0xa50]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490ac
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 8]
cmp byte [eax + 2], 0x31
jne 0x547a71
mov eax, dword [ebx + 0xa50]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490bc
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x24]
mov edx, dword [esi]
mov edx, dword [edx + 0x18]
mov dl, byte [edx]
call fcn.00404eec
mov eax, dword [ebp - 0x24]
xor edx, edx
call fcn.00409b78
mov edx, eax
mov eax, dword [ebx + 0xa50]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cmp byte [eax], 0x31
jne 0x547aba
mov eax, dword [ebx + 0xa60]
mov eax, dword [eax + 0x23c]
mov edx, 0x54909c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 1], 0x31
jne 0x547adb
mov eax, dword [ebx + 0xa60]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490ac
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 2], 0x31
jne 0x547afc
mov eax, dword [ebx + 0xa60]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490bc
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 3], 0x31
jne 0x547b1d
mov eax, dword [ebx + 0xa60]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490d0
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 4], 0x31
jne 0x547b3e
mov eax, dword [ebx + 0xa60]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490e4
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 5], 0x31
jne 0x547b5f
mov eax, dword [ebx + 0xa60]
mov eax, dword [eax + 0x23c]
mov edx, 0x5490f4
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x28]
mov edx, dword [esi]
mov edx, dword [edx + 0x18]
mov dl, byte [edx + 2]
call fcn.00404eec
mov eax, dword [ebp - 0x28]
xor edx, edx
call fcn.00409b78
mov edx, eax
mov eax, dword [ebx + 0xa60]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
cmp byte [eax + 3], 0x2b
jne 0x547ba6
mov dl, 1
mov eax, dword [ebx + 0xa68]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x547bb6
mov dl, 1
mov eax, dword [ebx + 0xa6c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xb5]
mov eax, dword [ebx + 0x7b8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
mov eax, dword [ebx + 0x888]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xc5]
mov eax, dword [ebx + 0xa7c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xb6]
mov eax, dword [ebx + 0x7c8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xb7]
mov eax, dword [ebx + 0x7d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xb8]
mov eax, dword [ebx + 0x7bc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xb9]
mov eax, dword [ebx + 0x7c0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xba]
mov eax, dword [ebx + 0x7c4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xbb]
mov eax, dword [ebx + 0x7f8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xb4]
mov eax, dword [ebx + 0x8cc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x2c]
mov eax, dword [esi]
movzx eax, word [eax + 0xfe]
call fcn.00409a00
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x7cc]
call fcn.00474c5c
mov edx, ebx
mov eax, ebx
call fcn.0054ec60
mov eax, dword [esi]
mov dl, byte [eax + 0xbc]
mov eax, dword [ebx + 0x7e8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, ebx
mov eax, ebx
call fcn.0054ee24
lea edx, [ebp - 0x30]
mov eax, dword [esi]
movsx eax, word [eax + 0xa4]
call fcn.00409a00
mov edx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x61c]
call fcn.00474c5c
lea edx, [ebp - 0x34]
mov eax, dword [esi]
movsx eax, word [eax + 0xa6]
call fcn.00409a00
mov edx, dword [ebp - 0x34]
mov eax, dword [ebx + 0x624]
call fcn.00474c5c
lea edx, [ebp - 0x38]
mov eax, dword [esi]
movsx eax, word [eax + 0xb0]
call fcn.00409a00
mov edx, dword [ebp - 0x38]
mov eax, dword [ebx + 0x5f8]
call fcn.00474c5c
lea edx, [ebp - 0x3c]
mov eax, dword [esi]
movsx eax, word [eax + 0xb2]
call fcn.00409a00
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebx + 0x5fc]
call fcn.00474c5c
lea edx, [ebp - 0x40]
mov eax, dword [esi]
movsx eax, word [eax + 0xa8]
call fcn.00409a00
mov edx, dword [ebp - 0x40]
mov eax, dword [ebx + 0x62c]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xbd]
xor dl, 1
and edx, 0x7f
mov eax, dword [ebx + 0x470]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov dl, byte [eax + 0xbe]
mov eax, dword [ebx + 0x474]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xbf]
mov eax, dword [ebx + 0x5d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x44]
mov eax, dword [esi]
movzx eax, word [eax + 0x10c]
call fcn.00409a00
mov edx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x7ec]
call fcn.00474c5c
lea edx, [ebp - 0x48]
mov eax, dword [esi]
mov eax, dword [eax + 0x19c]
call fcn.00409a00
mov edx, dword [ebp - 0x48]
mov eax, dword [ebx + 0xa34]
call fcn.00474c5c
mov eax, dword [esi]
cmp byte [eax + 0xe8], 0
je 0x547e10
mov dl, 1
mov eax, dword [ebx + 0x5f0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x547e20
mov dl, 1
mov eax, dword [ebx + 0x5f4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov di, word [eax + 0x100]
test di, di
jbe 0x547e76
lea edx, [ebp - 0x4c]
movzx eax, di
call fcn.00409a00
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x70c]
call fcn.00474c5c
lea edx, [ebp - 0x50]
mov eax, dword [esi]
movzx eax, word [eax + 0x102]
call fcn.00409a00
mov edx, dword [ebp - 0x50]
mov eax, dword [ebx + 0x710]
call fcn.00474c5c
mov dl, 1
mov eax, dword [ebx + 0x700]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
cmp dword [eax + 0x38], 0
setne dl
mov eax, dword [ebx + 0x704]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [ebx + 0x704]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x547eaf
mov eax, dword [esi]
mov edx, dword [eax + 0x38]
mov eax, dword [ebx + 0x708]
call fcn.00529360
mov eax, dword [esi]
mov dl, byte [eax + 0xe9]
mov eax, dword [ebx + 0x714]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, ebx
mov eax, ebx
call fcn.0054e354
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x84]
mov eax, dword [ebx + 0x6b0]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x85]
mov eax, dword [ebx + 0x6b4]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov dl, byte [eax + 0xc0]
mov eax, dword [ebx + 0x6c8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x54]
mov eax, dword [esi]
movzx eax, word [eax + 0x104]
call fcn.00409a00
mov edx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x6e8]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xc1]
mov eax, dword [ebx + 0x6e4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x58]
mov eax, dword [esi]
movzx eax, word [eax + 0x106]
call fcn.00409a00
mov edx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x6bc]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xf3]
mov eax, dword [ebx + 0x6b8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [ebx + 0x6b8]
mov eax, ebx
call fcn.0054e610
mov eax, dword [esi]
mov dl, byte [eax + 0xe6]
mov eax, dword [ebx + 0x92c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xf1]
mov eax, dword [ebx + 0x6ec]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xeb]
mov eax, dword [ebx + 0xa70]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xf6]
mov eax, dword [ebx + 0xa74]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc2]
mov eax, dword [ebx + 0x3a4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc3]
mov eax, dword [ebx + 0x3c4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc4]
mov eax, dword [ebx + 0x3cc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xf9]
mov eax, dword [ebx + 0x974]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc8]
mov eax, dword [ebx + 0x9cc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc6]
mov eax, dword [ebx + 0x9d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc7]
mov eax, dword [ebx + 0x9d0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xc9]
mov eax, dword [ebx + 0x670]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xca]
mov eax, dword [ebx + 0x6a4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xf4]
mov eax, dword [ebx + 0x758]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xf5]
mov eax, dword [ebx + 0x968]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xec]
mov eax, dword [ebx + 0x8a8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xed]
mov eax, dword [ebx + 0x8b0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xee]
mov eax, dword [ebx + 0x8b4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, ebx
mov eax, ebx
call fcn.0054df48
mov eax, dword [esi]
mov dl, byte [eax + 0xcc]
mov eax, dword [ebx + 0x63c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x640]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
mov eax, dword [ebx + 0x644]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x58]
mov eax, dword [ebx + 0x904]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x54]
mov eax, dword [ebx + 0x900]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xfa]
mov eax, dword [ebx + 0x99c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xfb]
mov eax, dword [ebx + 0x9a0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd4]
mov eax, dword [ebx + 0x5c4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd8]
mov eax, dword [ebx + 0x504]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, ebx
mov eax, ebx
call fcn.0054c624
mov eax, dword [esi]
mov dl, byte [eax + 0xcd]
mov eax, dword [ebx + 0x648]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dword [ebp - 0xc], 4
mov edi, dword [0x59227c]
mov edx, dword [edi]
mov eax, dword [ebx + 0x674]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
add edi, 4
dec dword [ebp - 0xc]
jne 0x5481fa
mov eax, dword [ebx + 0x674]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebx + 0x678]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x674]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebx + 0x67c]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x86]
mov eax, dword [ebx + 0x674]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x87]
mov eax, dword [ebx + 0x678]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x88]
mov eax, dword [ebx + 0x67c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
lea edx, [ebp - 0x5c]
mov eax, dword [esi]
movsx eax, word [eax + 0xaa]
call fcn.00409a00
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebx + 0x500]
call fcn.00474c5c
lea edx, [ebp - 0x60]
mov eax, dword [esi]
movsx eax, word [eax + 0xac]
call fcn.00409a00
mov edx, dword [ebp - 0x60]
mov eax, dword [ebx + 0x4fc]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xcf]
mov eax, dword [ebx + 0x458]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xce]
mov eax, dword [ebx + 0x9b4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor eax, eax
mov dword [ebp - 0xc], eax
mov edi, dword [0x592028]
mov edx, dword [edi]
mov eax, dword [ebx + 0x74c]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
cmp dword [ebp - 0xc], 5
jge 0x548338
mov edx, dword [edi]
mov eax, dword [ebx + 0x738]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0xc]
add edi, 4
cmp dword [ebp - 0xc], 6
jne 0x54830c
mov eax, dword [esi]
mov dl, byte [eax + 0xcb]
mov eax, dword [ebx + 0x96c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [ebx + 0x74c]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebx + 0x750]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x74c]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebx + 0x754]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x89]
mov eax, dword [ebx + 0x74c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x8a]
mov eax, dword [ebx + 0x750]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x8b]
mov eax, dword [ebx + 0x754]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x8c]
mov eax, dword [ebx + 0x738]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, ebx
call fcn.00547330
mov eax, dword [esi]
mov dl, byte [eax + 0xf7]
mov eax, dword [ebx + 0x794]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x9c]
mov eax, dword [ebx + 0x65c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x9d]
mov eax, dword [ebx + 0x660]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x9e]
mov eax, dword [ebx + 0x664]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov dl, byte [eax + 0xd1]
mov eax, dword [ebx + 0x3a0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd2]
mov eax, dword [ebx + 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd3]
mov eax, dword [ebx + 0x360]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd5]
mov eax, dword [ebx + 0x35c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd6]
mov eax, dword [ebx + 0x364]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xd7]
mov eax, dword [ebx + 0x368]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x8d]
mov eax, dword [ebx + 0x444]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov edx, ebx
mov eax, ebx
call fcn.0054c5f4
mov eax, dword [esi]
mov edx, dword [eax + 0x138]
mov eax, dword [ebx + 0x454]
call fcn.00527968
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax], 0x31
sete dl
mov eax, dword [ebx + 0x8dc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 2], 0x31
sete dl
mov eax, dword [ebx + 0x8c0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 3], 0x31
sete dl
mov eax, dword [ebx + 0x8c8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 4], 0x31
sete dl
mov eax, dword [ebx + 0x8c4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 5], 0x31
sete dl
mov eax, dword [ebx + 0x8d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 6], 0x31
sete dl
mov eax, dword [ebx + 0x8d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 7], 0x31
sete dl
mov eax, dword [ebx + 0x8bc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 8], 0x31
sete dl
mov eax, dword [ebx + 0x964]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 9], 0x31
sete dl
mov eax, dword [ebx + 0x950]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 0xa], 0x31
sete dl
mov eax, dword [ebx + 0x954]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea eax, [ebp - 0x64]
mov edx, dword [esi]
mov edx, dword [edx + 0x74]
mov dl, byte [edx + 0xb]
call fcn.00404eec
mov eax, dword [ebp - 0x64]
xor edx, edx
call fcn.00409b78
mov edx, eax
mov eax, dword [ebx + 0x95c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [ebx + 0x8c4]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x54866c
mov eax, dword [esi]
mov eax, dword [eax + 0x74]
cmp byte [eax + 0xc], 0x31
sete dl
mov eax, dword [ebx + 0xa04]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x548675
xor edx, edx
mov eax, ebx
call fcn.0054fce4
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x8e]
mov eax, dword [ebx + 0xa48]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x8f]
mov eax, dword [ebx + 0x764]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [ebx + 0xa24]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebx + 0xa20]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 8]
lea ecx, [ebp - 0x68]
mov eax, dword [ebx + 0xa24]
mov eax, dword [eax + 0x23c]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x68]
mov eax, dword [ebx + 0xa28]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea ecx, [ebp - 0x6c]
mov eax, dword [ebx + 0xa24]
mov eax, dword [eax + 0x23c]
mov edx, 1
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebx + 0xa28]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 0xa28]
mov edx, dword [eax + 0x23c]
mov eax, dword [ebx + 0xa2c]
mov eax, dword [eax + 0x23c]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x90]
mov eax, dword [ebx + 0xa24]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x91]
mov eax, dword [ebx + 0xa20]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x92]
mov eax, dword [ebx + 0xa28]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x93]
mov eax, dword [ebx + 0xa2c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp byte [eax], 0x31
sete dl
mov eax, dword [ebx + 0x49c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp byte [eax + 1], 0x31
sete dl
mov eax, dword [ebx + 0x4a0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp byte [eax + 2], 0x31
sete dl
mov eax, dword [ebx + 0x4a4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp byte [eax + 3], 0x31
sete dl
mov eax, dword [ebx + 0x4a8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp byte [eax + 4], 0x31
sete dl
mov eax, dword [ebx + 0x4b0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
cmp byte [eax + 5], 0x31
sete dl
mov eax, dword [ebx + 0x4ac]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dword [ebp - 0xc], 7
mov eax, dword [esi]
mov eax, dword [eax + 0x70]
mov edx, dword [ebp - 0xc]
cmp byte [eax + edx - 1], 0x31
sete cl
mov edx, dword [ebp - 0xc]
sub edx, 7
mov eax, dword [ebx + 0x59c]
call fcn.0051f1c0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x16
jne 0x548838
mov edx, ebx
mov eax, ebx
call fcn.0054e640
lea edx, [ebp - 0x74]
mov edi, dword [ebx + 0x3f0]
mov eax, edi
call fcn.00474c2c
push dword [ebp - 0x74]
push 0x549104
lea eax, [ebp - 0x7c]
push eax
xor ecx, ecx
mov edx, 0x549110
mov eax, 0x80000000
call fcn.004c91ac
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.00547808
push dword [ebp - 0x78]
push 0x549134
lea eax, [ebp - 0x70]
mov edx, 4
call fcn.004050a0
mov edx, dword [ebp - 0x70]
mov eax, edi
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x48]
mov eax, dword [ebx + 0x408]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x140]
mov eax, dword [ebx + 0x42c]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x12c]
mov eax, dword [ebx + 0x958]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x144]
mov eax, dword [ebx + 0x430]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x148]
mov eax, dword [ebx + 0x434]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x150]
mov eax, dword [ebx + 0x438]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x128]
mov eax, dword [ebx + 0x8e4]
call fcn.00527968
mov eax, dword [esi]
mov dl, byte [eax + 0xf8]
mov eax, dword [ebx + 0x8e0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov edx, dword [eax + 0x134]
mov eax, dword [ebx + 0x76c]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x114]
mov eax, dword [ebx + 0x77c]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x118]
mov eax, dword [ebx + 0x778]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x11c]
mov eax, dword [ebx + 0x774]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x120]
mov eax, dword [ebx + 0x8e8]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x124]
mov eax, dword [ebx + 0x770]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x130]
mov eax, dword [ebx + 0x780]
call fcn.00527968
mov eax, dword [esi]
mov edx, dword [eax + 0x154]
mov eax, dword [ebx + 0xa08]
call fcn.00527968
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x9f]
mov eax, dword [ebx + 0x788]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0xa0]
mov eax, dword [ebx + 0x78c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
lea edx, [ebp - 0x80]
mov eax, dword [esi]
movzx eax, word [eax + 0x108]
call fcn.00409a00
mov edx, dword [ebp - 0x80]
mov eax, dword [ebx + 0x988]
call fcn.00474c5c
lea edx, [ebp - 0x84]
mov eax, dword [esi]
mov eax, dword [eax + 0x1b0]
call fcn.00409a00
mov edx, dword [ebp - 0x84]
mov eax, dword [ebx + 0xa84]
call fcn.00474c5c
lea edx, [ebp - 0x88]
mov eax, dword [esi]
mov eax, dword [eax + 0x1a8]
call fcn.00409a00
mov edx, dword [ebp - 0x88]
mov eax, dword [ebx + 0xa90]
call fcn.00474c5c
lea edx, [ebp - 0x8c]
mov eax, dword [esi]
mov eax, dword [eax + 0x1ac]
call fcn.00409a00
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0xa94]
call fcn.00474c5c
mov eax, dword [esi]
cmp dword [eax + 0x1b0], 0
setg dl
mov eax, dword [ebx + 0xa8c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov eax, ebx
call fcn.0054fd54
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x94]
mov eax, dword [ebx + 0x3ec]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov edx, ebx
mov eax, ebx
call fcn.0054c51c
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebx + 0x898]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xd9]
mov eax, dword [ebx + 0x3f0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xe1]
mov eax, dword [ebx + 0x558]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov al, byte [eax + 0x95]
sub al, 1
jb 0x548b41
je 0x548b53
dec al
je 0x548b65
jmp 0x548b75
mov dl, 1
mov eax, dword [ebx + 0x55c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x548b75
mov dl, 1
mov eax, dword [ebx + 0x560]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x548b75
mov dl, 1
mov eax, dword [ebx + 0x564]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xea]
mov eax, dword [ebx + 0x5e4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x90]
mov eax, dword [esi]
movzx eax, byte [eax + 0x96]
call fcn.00409a00
mov edx, dword [ebp - 0x90]
mov eax, dword [ebx + 0x97c]
call fcn.00474c5c
xor edx, edx
mov eax, ebx
call fcn.0054d100
mov eax, dword [esi]
mov dl, byte [eax + 0xe2]
mov eax, dword [ebx + 0x58c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xe4]
mov eax, dword [ebx + 0x594]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xe3]
mov eax, dword [ebx + 0x590]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xe5]
mov eax, dword [ebx + 0x598]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, ebx
mov eax, ebx
call fcn.0054e478
mov eax, dword [esi]
mov dl, byte [eax + 0xef]
mov eax, dword [ebx + 0x66c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xe7]
mov eax, dword [ebx + 0x918]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x94]
mov eax, dword [esi]
movzx eax, word [eax + 0x110]
call fcn.00409a00
mov edx, dword [ebp - 0x94]
mov eax, dword [ebx + 0x91c]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
mov eax, dword [ebx + 0x920]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x64]
mov eax, dword [ebx + 0x924]
call fcn.00474c5c
mov edx, ebx
mov eax, ebx
call fcn.0054e480
mov eax, dword [esi]
mov dl, byte [eax + 0xda]
mov eax, dword [ebx + 0x3b0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xdc]
mov eax, dword [ebx + 0x530]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xdd]
mov eax, dword [ebx + 0x534]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
mov eax, dword [ebx + 0x4e8]
call fcn.00527968
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0xde]
mov eax, dword [ebx + 0x52c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov eax, dword [esi]
mov dl, byte [eax + 0xe0]
mov eax, dword [ebx + 0x6f4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
mov dl, byte [eax + 0xdf]
mov eax, dword [ebx + 0x6f0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
cmp byte [eax + 0x9b], 0
seta dl
mov eax, dword [ebx + 0x990]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [ebx + 0x990]
mov edx, dword [eax]
call dword [edx + 0xc8]
test al, al
je 0x548d74
mov eax, dword [esi]
xor edx, edx
mov dl, byte [eax + 0x9b]
dec edx
mov eax, dword [ebx + 0x994]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
jmp 0x548d81
xor edx, edx
mov eax, dword [ebx + 0x994]
call fcn.004ca130
mov eax, dword [esi]
cmp byte [eax + 0xda], 0
jne 0x548d95
mov edx, ebx
mov eax, ebx
call fcn.0054cbb4
lea edx, [ebp - 0x98]
mov eax, dword [esi]
movsx eax, word [eax + 0xae]
call fcn.00409a00
mov edx, dword [ebp - 0x98]
mov eax, dword [ebx + 0x490]
call fcn.00474c5c
mov eax, dword [esi]
mov dl, byte [eax + 0xf2]
mov eax, dword [ebx + 0x3d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi]
cmp byte [eax + 0xf2], 0
jne 0x548de4
mov edx, ebx
mov eax, ebx
call fcn.0054c3e0
mov eax, dword [esi]
mov edx, dword [eax + 0x68]
mov eax, dword [ebx + 0x88c]
call fcn.00474c5c
mov eax, dword [esi]
cmp dword [eax + 0x6c], 0
setne dl
mov eax, dword [ebx + 0x6a0]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor edx, edx
mov eax, dword [ebx + 0x60c]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor edx, edx
mov eax, dword [ebx + 0x64c]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor edx, edx
mov eax, dword [ebx + 0x610]
mov ecx, dword [eax]
call dword [ecx + 0x64]
lea edx, [ebp - 0x9c]
mov eax, dword [esi]
movzx eax, byte [eax + 0x97]
call fcn.00409a00
mov edx, dword [ebp - 0x9c]
mov eax, dword [ebx + 0x494]
call fcn.00474c5c
mov eax, dword [esi]
mov edx, dword [eax + 0x170]
mov eax, dword [ebx + 0x6d8]
call fcn.0046d5e4
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x548f25
inc eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
lea ecx, [ebp - 0xa0]
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
mov edx, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xa0]
mov eax, 0x549140
call fcn.00405324
test eax, eax
jle 0x548f19
lea ecx, [ebp - 0xa8]
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
mov edx, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xa8]
lea ecx, [ebp - 0xa4]
mov dl, 0x2c
call fcn.00499344
mov eax, dword [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xb0]
mov eax, dword [esi]
mov eax, dword [eax + 0x15c]
mov edx, dword [ebp - 0xc]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xb0]
lea ecx, [ebp - 0xac]
mov dl, 0x2c
call fcn.00499244
mov edx, dword [ebp - 0xac]
mov eax, ebx
pop ecx
call fcn.0054f40c
inc dword [ebp - 0xc]
dec dword [ebp - 0x10]
jne 0x548e88
mov eax, dword [esi]
mov edx, dword [eax + 0x16c]
mov eax, dword [ebx + 0x33c]
call fcn.0046d5e4
mov eax, dword [esi]
mov edx, dword [eax + 0x158]
mov eax, dword [ebx + 0x4c8]
call fcn.0046d5e4
mov eax, dword [esi]
mov edx, dword [eax + 0x50]
mov eax, dword [ebx + 0x9f8]
call fcn.0051f7ec
mov eax, ebx
call fcn.00546ff4
mov eax, ebx
call fcn.005471e0
xor edx, edx
mov eax, ebx
call fcn.00546eb0
mov eax, dword [esi]
mov edx, dword [eax + 0x18c]
mov eax, ebx
call fcn.0054b6c0
mov eax, ebx
call fcn.0054b88c
mov eax, ebx
call fcn.0054b7ac
mov eax, ebx
call fcn.0054e688
mov eax, ebx
call fcn.0054dbe8
mov eax, ebx
call fcn.00547418
mov dl, byte [ebx + 0xaa1]
mov eax, dword [ebx + 0x9d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [ebp - 1]
mov eax, dword [ebx + 0x3e0]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [0x5920b8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 4]
cmp dword [eax + 8], 0
setg dl
mov eax, dword [ebx + 0x3bc]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [0x5920b8]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + 8]
cmp dword [eax + 8], 0
setg dl
mov eax, dword [ebx + 0x3d0]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [esi]
movzx edx, word [eax + 0x10e]
mov eax, dword [ebx + 0x3c0]
mov eax, dword [eax + 0x26c]
call fcn.00451e2c
mov dl, 1
call fcn.00450d48
mov edx, ebx
mov eax, ebx
call fcn.0054ef3c
mov eax, ebx
call fcn.00546e3c
mov eax, ebx
call fcn.0054915c
mov byte [ebx + 0xaa0], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54908a
lea eax, [ebp - 0xb0]
mov edx, 0xf
call fcn.00404d28
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.00404d28
lea eax, [ebp - 0x6c]
mov edx, 0x17
call fcn.00404d28
lea eax, [ebp - 8]
call fcn.00404d04
ret