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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb4]
cmp eax, dword [ecx + 8]
jbe 0x52fdf4
sub esp, 0x134
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 8], edx
call fcn.0047fa40
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
cmp dword [0x81b9f8], eax
je 0x52fd04
cmp dword [0x81ba18], eax
je 0x52fbae
cmp dword [0x81b9e8], eax
je 0x52facc
cmp dword [0x81ba00], eax
je 0x52f9da
cmp dword [0x81b9e0], eax
je 0x52f93c
nop
mov eax, dword [esp + 0x140]
mov ecx, eax
and eax, 0x1f
cmp eax, 6
ja 0x52ed15
cmp eax, 1
je 0x52ec80
cmp eax, 2
jb 0x52ec35
cmp eax, 3
ja 0x52ebf9
cmp eax, 2
jne 0x52ebe8
mov eax, dword [esp + 0x13c]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00408b60
mov eax, dword [esp + 8]
lea ecx, [0x6ca250]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov edx, dword [esp + 0x13c]
movsx eax, byte [edx]
mov ecx, eax
sar eax, 0x1f
jmp 0x52eba7
cmp eax, 4
jne 0x52ec0f
mov edx, dword [esp + 0x13c]
movsx eax, word [edx]
mov ecx, eax
sar eax, 0x1f
jmp 0x52eba7
cmp eax, 5
jne 0x52ec24
mov edx, dword [esp + 0x13c]
mov eax, dword [edx]
mov ecx, eax
sar eax, 0x1f
jmp 0x52eba7
mov edx, dword [esp + 0x13c]
mov ecx, dword [edx]
mov eax, dword [edx + 4]
jmp 0x52eba7
lea eax, [0x6728e9]
mov dword [esp], eax
mov dword [esp + 4], 0xf
call fcn.00408c10
mov eax, dword [esp + 8]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
lea ecx, [0x6c88f0]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0047d4c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x52ecde
mov eax, dword [0x815cc8]
mov ecx, dword [0x815ccc]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov eax, dword [0x815cc0]
mov ecx, dword [0x815cc4]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
lea edx, [esp + 0xc]
mov dword [esp + 0x90], edx
cmp eax, 0x17
je 0x52f59f
cmp eax, 0x18
jne 0x52eee6
mov eax, dword [esp + 0x150]
cmp eax, 0x12
je 0x52ee81
cmp eax, 0x13
je 0x52ee1c
cmp eax, 0x16
jne 0x52edb5
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0047f950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0052dba0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0047f950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x6ca2d0]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0047f950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0052da90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0047f950
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0052dc60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
cmp eax, 0x19
jne 0x52ec35
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov edx, dword [esp + 0x13c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0047fa40
lea eax, [esp + 8]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x78], edx
xor ebx, ebx
jmp 0x52ef3b
mov eax, dword [esp + 0x60]
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x60], ebx
mov eax, dword [ecx + 0x64]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x60]
cmp dword [esp + 4], eax
jle 0x52efce
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
lea edi, [esp + 0x100]
mov esi, dword [esp + 0x8c]
call fcn.0045b41e
mov eax, dword [esp + 0x10c]
test eax, eax
je 0x52ef2c
lea eax, [0x67b735]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00408c10
mov eax, dword [esp + 8]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
lea ecx, [0x6c88f0]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
add esp, 0x134
ret
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
je 0x52f54e
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov dword [esp + 4], 0
call ecx
lea edi, [esp + 0x100]
mov esi, dword [esp + 0x8c]
call fcn.0045b41e
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
cmp dword [0x81ba08], eax
je 0x52f3e5
xor eax, eax
mov ecx, dword [esp + 0x4c]
sub ecx, eax
test ecx, ecx
je 0x52f394
mov dword [esp + 0x48], eax
lea edx, [esp + 8]
mov dword [esp + 0x88], edx
cmp ecx, 1
je 0x52f267
mov dword [esp + 0x50], ecx
lea eax, [0x63fe20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00442930
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
xor ecx, ecx
jmp 0x52f089
lea ecx, [esi + 1]
mov eax, ebx
mov edx, dword [esp + 0x50]
cmp edx, ecx
jle 0x52f222
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov edx, dword [esp + 0x13c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x140]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x48]
lea esi, [ecx + ebp]
mov dword [esp + 0x6c], esi
mov dword [esp + 0xc], esi
call fcn.0047dee0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0x2c]
mov esi, dword [esp + 0x78]
mov dword [esp], esi
mov edi, dword [esp + 0x6c]
mov dword [esp + 4], edi
call ebp
lea edi, [esp + 0x100]
mov esi, dword [esp + 0x8c]
call fcn.0045b41e
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x66ec68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
call fcn.00478700
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0052bbb0
lea edi, [esp + 0xe8]
mov esi, dword [esp + 0x88]
call fcn.0045b464
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x90]
lea esi, [esp + 0xe8]
call fcn.0045b464
call fcn.0052fe00
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x64]
cmp ebp, esi
jbe 0x52fd8d
mov edi, ebx
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + esi*8]
mov dword [ebp], edx
mov edx, dword [0x8326a0]
lea ebp, [ebx + esi*8 + 4]
test edx, edx
jne 0x52f20b
mov dword [ebp], ecx
test eax, eax
je 0x52f084
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], edi
add esp, 0x134
ret
mov dword [esp + 0x70], eax
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0045ace0
mov eax, dword [esp + 0x70]
mov edi, edx
jmp 0x52f1d8
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca270]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov ecx, dword [esp + 0x138]
mov dword [esp], ecx
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0047dee0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], edx
mov ebx, dword [esp + 0x44]
mov ebx, dword [ebx + 0x2c]
mov ebp, dword [esp + 0x78]
mov dword [esp], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 4], ebp
call ebx
lea edi, [esp + 0x100]
mov esi, dword [esp + 0x8c]
call fcn.0045b41e
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x66ec68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
call fcn.00478700
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0052bbb0
lea edi, [esp + 0xe8]
mov esi, dword [esp + 0x88]
call fcn.0045b464
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x90]
lea esi, [esp + 0xe8]
call fcn.0045b464
call fcn.0052fe00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca230]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0x81ba0c]
mov dword [esp + 8], eax
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
je 0x52f033
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0047dee0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x68], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0047e320
mov eax, dword [esp + 0xc]
test eax, eax
jg 0x52f475
mov eax, 1
jmp 0x52f035
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
call fcn.0047d570
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00528260
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x52f524
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca230]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jb 0x52fd96
mov ebx, dword [esp + 0x40]
sub ebx, eax
sub ecx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x74]
lea edx, [ebx + eax]
mov eax, ecx
mov ecx, ebp
jmp 0x52f4df
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca230]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov edx, dword [esp + 0x13c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0047fa40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
je 0x52f8c6
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.0045af8a
mov ecx, dword [esp + 0x138]
mov dword [esp], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x140]
mov dword [esp + 8], ebx
call fcn.0047e320
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x52f875
cmp ecx, 1
je 0x52f7e6
mov dword [esp + 0x54], ecx
lea eax, [0x63fe20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00442930
mov eax, dword [esp + 0xc]
mov dword [esp + 0x84], eax
xor ecx, ecx
jmp 0x52f65e
lea ecx, [esi + 1]
mov eax, ebx
mov edx, dword [esp + 0x54]
cmp edx, ecx
jle 0x52f750
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov edx, dword [esp + 0x13c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x140]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0047dfe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov edi, dword [esp + 0x90]
lea esi, [esp + 0xd0]
call fcn.0045b464
call fcn.0052fe00
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x5c]
cmp ebp, esi
jbe 0x52fd84
mov edi, ebx
mov ebx, dword [esp + 0x84]
lea ebp, [ebx + esi*8]
mov dword [ebp], edx
mov edx, dword [0x8326a0]
lea ebp, [ebx + esi*8 + 4]
test edx, edx
jne 0x52f739
mov dword [ebp], ecx
test eax, eax
je 0x52f659
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], edi
add esp, 0x134
ret
mov dword [esp + 0x70], eax
mov edx, edi
mov edi, ebp
mov eax, ecx
call fcn.0045ace0
mov eax, dword [esp + 0x70]
mov edi, edx
jmp 0x52f706
movzx ecx, byte [esp + 0x158]
test cl, cl
je 0x52f7a1
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca2b0]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca270]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0047dfe0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov edi, dword [esp + 0x90]
lea esi, [esp + 0xd0]
call fcn.0045b464
call fcn.0052fe00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca230]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
call fcn.0047d570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca230]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0x81b9e4]
mov dword [esp + 8], eax
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
je 0x52eb67
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0047e190
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [0x66da00]
cmp eax, edx
jne 0x52fd9b
mov dword [esp], ecx
call fcn.0052cf00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x81ba04]
mov dword [esp + 8], edx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x52fa09
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x94]
jmp 0x52eb5b
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0047e190
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [0x642e80]
cmp edx, ecx
jne 0x52fdb1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp edx, 2
jge 0x52fa9d
lea eax, [0x6779a1]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x6c88f0]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
add esp, 0x134
ret
mov ebx, dword [ecx]
cmp ebx, 2
jg 0x52fa56
jge 0x52faac
cmp dword [ecx + 4], 0x28
jge 0x52fa56
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00408c90
mov ebx, dword [esp + 0xc]
xor ecx, ecx
lea edx, [0x6ca290]
xor eax, eax
jmp 0x52fa7a
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x81b9ec]
mov dword [esp + 8], edx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x52fafb
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x94]
jmp 0x52eb4f
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0047e190
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [0x653900]
cmp edx, ecx
jne 0x52fdc7
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], eax
lea eax, [0x6ca1f0]
mov dword [esp], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
call fcn.00408d80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x81ba1c]
mov dword [esp + 8], edx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x52fbdd
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x94]
jmp 0x52eb43
mov eax, dword [esp + 0x138]
mov dword [esp], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0047e190
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.0045af8b
lea eax, [0x66c3e0]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jne 0x52fddd
lea edi, [esp + 0xbc]
call fcn.0045b46e
lea edi, [esp + 0xa8]
lea esi, [esp + 0xbc]
call fcn.0045b46e
cmp dword [esp + 0x154], 0x18
jne 0x52fca2
mov edi, esp
lea esi, [esp + 0xa8]
call fcn.0045b46e
call fcn.0052df50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov edi, esp
lea esi, [esp + 0xa8]
call fcn.0045b46e
call fcn.0052de10
movzx eax, byte [esp + 0x14]
test al, al
jne 0x52fc5c
mov edi, esp
lea esi, [esp + 0xa8]
call fcn.0045b46e
call fcn.0052de70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ebx
add esp, 0x134
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x81b9fc]
mov dword [esp + 8], edx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x52fd33
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x94]
jmp 0x52eb37
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00408c90
mov eax, dword [esp + 0xc]
lea ecx, [0x6ca230]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
add esp, 0x134
ret
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
call fcn.0045adc0
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x633380]
mov dword [esp + 8], eax
call fcn.004088c0
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x633380]
mov dword [esp + 8], eax
call fcn.004088c0
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x633380]
mov dword [esp + 8], eax
call fcn.004088c0
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x633380]
mov dword [esp + 8], eax
call fcn.004088c0
nop
call fcn.00459790
jmp fcn.0052ead0