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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2b4]
cmp eax, dword [ecx + 8]
jbe 0x59fdae
sub esp, 0x334
mov eax, 0
mov dword [esp + 0x330], eax
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x33c]
mov ecx, dword [eax]
test byte [eax], al
mov edx, dword [ecx + 0x68]
mov dword [esp + 0xe0], edx
mov ebx, dword [ecx + 0x40]
mov ebp, dword [edx + 0x50]
mov dword [esp + 0x54], ebp
mov esi, dword [edx + 0x54]
mov dword [esp + 0xfc], esi
mov ecx, dword [ecx + 0x44]
mov ebx, dword [ebx + 0x28]
mov dword [esp], ecx
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], ecx
lea edx, [0x5f12a0]
mov dword [esp], edx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [eax], 0
mov dword [eax + 4], 0
nop
movzx ecx, byte [0x7d3b68]
test cl, cl
je 0x59e474
lea ecx, [0x5e21c0]
mov dword [0x7d3b6c], ecx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59e467
mov dword [0x7d3b70], eax
jmp 0x59e47a
lea edi, [0x7d3b70]
call fcn.00464380
jmp 0x59e47a
lea ecx, [0x5e21c0]
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x59e4aa
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x59e4b0
or edx, 0x80
jmp 0x59e4b0
xor edx, edx
xor ecx, ecx
xor eax, eax
test edx, edx
je 0x59e4c4
test edx, 0x200
jne 0x59e4c4
lea eax, [0x66f350]
jmp 0x59e4dc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004c25c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x2c], eax
lea edi, [esp + 0x18c]
xor eax, eax
call fcn.004645c9
lea edi, [esp + 0x284]
call fcn.004645a5
lea ecx, [esp + 0x284]
mov dword [esp + 0x198], ecx
call fcn.0044fff0
mov ecx, dword [esp]
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0x50]
mov ebx, dword [esp + 0x11c]
mov dword [esp], ebx
call edx
mov ecx, dword [esp + 4]
mov dword [esp + 0xac], ecx
cmp ecx, 0x16
je 0x59e554
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x11c]
jmp 0x59e572
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x54]
mov ebx, dword [edx + 0x24]
mov ebp, dword [esp + 0xfc]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xa8], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
lea esi, [esp + 0x24]
jmp 0x59e5c1
add eax, 0x10
mov ecx, dword [esp + 0xa4]
lea edx, [ecx + 1]
mov ebp, dword [esp + 0x38]
mov ecx, edi
cmp edx, ecx
jge 0x59e674
mov dword [esp + 0xa4], edx
mov dword [esp + 0x15c], eax
mov edi, ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
inc ebx
cmp ebp, ebx
jae 0x59e63b
mov dword [esp + 0xa0], edx
mov dword [esp + 0x158], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f1960]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x38], ebp
lea ebp, [esi + ebx*8 - 4]
mov dword [ebp], edx
lea edx, [esi + ebx*8 - 8]
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x59e65b
mov dword [edx], ecx
jmp 0x59e5ae
mov ebp, edi
mov edi, edx
mov eax, ecx
call fcn.00464380
mov eax, dword [esp + 0x15c]
mov edi, ebp
jmp 0x59e5ae
mov dword [esp + 0x34], ebx
mov dword [esp + 0xcc], esi
mov eax, dword [esp + 0x338]
mov dword [esp], eax
mov ecx, dword [esp + 0x340]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x344]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x348]
mov dword [esp + 0xc], ecx
call fcn.0059bf40
mov eax, dword [esp + 0x10]
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xf0], ebx
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
mov esi, dword [esp + 0x11c]
mov dword [esp + 4], esi
call fcn.004c31e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x158], ecx
mov edx, dword [esp + 0x338]
mov dword [esp], edx
call fcn.005bb300
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
lea ecx, [0x60de20]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0xc4], eax
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59e76f
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x20], ecx
jmp 0x59e77e
lea edi, [eax + 0x20]
mov eax, dword [esp + 0x154]
call fcn.00464380
lea eax, [0x6115e0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [0x7f8db0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x59e7a5
mov edx, dword [esp + 0xc4]
mov dword [edx], ecx
jmp 0x59e7b5
mov edi, dword [esp + 0xc4]
mov eax, ecx
call fcn.00464380
mov edx, edi
mov ecx, dword [esp + 0x158]
mov dword [edx + 4], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59e7d5
mov eax, dword [esp + 0x10c]
mov dword [edx + 8], eax
jmp 0x59e7e4
lea edi, [edx + 8]
mov eax, dword [esp + 0x10c]
call fcn.00464380
mov dword [esp], edx
call fcn.005bcf60
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005b1ac0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 8]
mov dword [esp + 0xc8], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
call fcn.005b3bf0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x18], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59e840
mov ecx, dword [esp + 0xc8]
mov dword [eax + 0x1c], ecx
jmp 0x59e853
lea edi, [eax + 0x1c]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00464380
mov eax, ecx
mov ecx, dword [eax + 0x48]
mov ecx, dword [ecx + 0x58]
test ecx, ecx
je 0x59e861
mov ecx, dword [ecx]
jmp 0x59e863
xor ecx, ecx
test ecx, ecx
jne 0x59e997
nop
mov dword [esp], eax
call fcn.005b3bf0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x48]
mov dword [esp + 0xd8], eax
call fcn.0040ccc0
mov eax, dword [esp]
mov dword [esp + 0x150], eax
lea ecx, [0x5f3ea0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x61aebb]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
call fcn.00410c50
mov eax, dword [esp + 0x10]
lea ecx, [0x5f1960]
mov dword [eax], ecx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59e8d6
lea edx, [0x66deac]
mov dword [eax + 4], edx
jmp 0x59e8e4
lea edi, [eax + 4]
lea eax, [0x66deac]
call fcn.00464380
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409ba0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x15c], eax
lea ecx, [0x5f3ea0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
lea edx, [0x61ab86]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
call fcn.00410c50
mov eax, dword [esp + 0x10]
lea ecx, [0x5e6100]
mov dword [eax], ecx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59e958
mov edx, dword [esp + 0x15c]
mov dword [eax + 4], edx
jmp 0x59e967
lea edi, [eax + 4]
mov eax, dword [esp + 0x15c]
call fcn.00464380
mov edx, dword [esp + 0xd8]
test byte [edx], al
mov ebx, dword [0x7f8db0]
test ebx, ebx
jne 0x59e986
mov eax, dword [esp + 0x150]
mov dword [edx + 0x58], eax
jmp 0x59e995
lea edi, [edx + 0x58]
mov eax, dword [esp + 0x150]
call fcn.00464380
mov eax, dword [edx]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [esp + 0x338]
mov ebp, dword [ebx + 4]
mov esi, dword [ebx + 8]
mov edi, dword [esp + 0xfc]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x59ea17
mov edx, dword [esp + 0xf0]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x48]
dec eax
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, 8
add eax, edx
mov dword [esp + 0xc], eax
lea eax, [ecx - 1]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.005ae500
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.005b02d0
mov eax, dword [esp + 4]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x59ea6b
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x338]
mov ebx, dword [eax + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005b3720
mov eax, dword [esp + 0x88]
test eax, eax
mov eax, dword [esp + 0xdc]
jne 0x59ead5
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
lea ecx, [0x59fdc0]
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
lea ecx, [esp + 0x168]
mov dword [esp + 0x330], ecx
mov byte [esp + 0x27], 1
mov dword [esp], eax
call fcn.0056e770
mov eax, dword [esp + 4]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x90], edx
jmp 0x59eadc
add esp, 0x334
ret
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0056df50
movzx eax, byte [esp + 4]
test al, al
je 0x59f183
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
call fcn.004c31e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x9c], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b9800
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
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x158], ecx
mov edx, dword [esp + 0x338]
mov dword [esp], edx
call fcn.005bb300
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
lea ecx, [0x60de20]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0xc0], eax
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59ebdf
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x20], ecx
jmp 0x59ebee
lea edi, [eax + 0x20]
mov eax, dword [esp + 0x154]
call fcn.00464380
lea eax, [0x6115e0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [0x7f8db0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x59ec15
mov edx, dword [esp + 0xc0]
mov dword [edx], ecx
jmp 0x59ec25
mov edi, dword [esp + 0xc0]
mov eax, ecx
call fcn.00464380
mov edx, edi
mov ecx, dword [esp + 0x158]
mov dword [edx + 4], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59ec45
mov eax, dword [esp + 0x108]
mov dword [edx + 8], eax
jmp 0x59ec54
lea edi, [edx + 8]
mov eax, dword [esp + 0x108]
call fcn.00464380
mov dword [esp], edx
call fcn.005bb700
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x118], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x78], edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x59fa52
lea ebx, [edx + ebp]
cmp eax, ebx
jae 0x59ecc4
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
lea eax, [0x608b40]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x100]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x12c], ecx
lea edi, [0x608b40]
mov dword [esp], edi
sub eax, edx
neg eax
shl edx, 2
sar eax, 0x1f
and eax, edx
add eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
sub ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004117e0
mov eax, dword [esp + 0x338]
mov dword [esp], eax
mov ecx, dword [esp + 0xdc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x12c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0xa8]
mov dword [esp + 0x1c], esi
call fcn.005be290
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 8], edx
call fcn.004b9800
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
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x104], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x158], ecx
mov edx, dword [esp + 0x338]
mov dword [esp], edx
call fcn.005bb300
mov eax, dword [esp + 4]
mov dword [esp + 0x154], eax
lea ecx, [0x60de20]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59ee0c
mov ecx, dword [esp + 0x154]
mov dword [eax + 0x20], ecx
jmp 0x59ee1b
lea edi, [eax + 0x20]
mov eax, dword [esp + 0x154]
call fcn.00464380
lea eax, [0x6115e0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [0x7f8db0]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x59ee42
mov edx, dword [esp + 0xbc]
mov dword [edx], ecx
jmp 0x59ee52
mov edi, dword [esp + 0xbc]
mov eax, ecx
call fcn.00464380
mov edx, edi
mov ecx, dword [esp + 0x158]
mov dword [edx + 4], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59ee72
mov eax, dword [esp + 0x104]
mov dword [edx + 8], eax
jmp 0x59ee81
lea edi, [edx + 8]
mov eax, dword [esp + 0x104]
call fcn.00464380
mov dword [esp], edx
lea eax, [0x6223b2]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
lea ecx, [0x5ef2e0]
mov dword [esp + 0xc], ecx
mov edx, 1
lea ebx, [0x799440]
lea edx, [ebx + edx*8]
mov dword [esp + 0x10], edx
call fcn.005bd970
mov eax, dword [esp + 0x338]
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x64]
mov edx, dword [esp + 0x14]
mov ebx, dword [ecx + 0x2c]
mov ebp, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.005c2fb0
lea eax, [0x5f12a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x100]
xor ebx, ebx
jmp 0x59fc20
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00409ba0
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ccde0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xac]
cmp edx, 0x16
jne 0x59f0a4
mov dword [esp + 0x68], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 8], eax
call fcn.004b9800
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x9c], edx
lea ebx, [0x5f3ce0]
mov dword [esp], ebx
lea ebp, [esp + 0x18c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x110]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0xc], esi
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
inc ebx
cmp edx, ebx
jae 0x59f047
mov dword [esp + 0x128], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x61a0c0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x128]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59f03c
mov dword [edi], eax
jmp 0x59f041
call fcn.00464380
mov ebx, ecx
mov ecx, eax
mov eax, edi
mov dword [eax + 4], ebx
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x9c]
mov dword [ecx + edx*4 - 4], ebx
mov ebx, dword [0x7f8db0]
lea edi, [ecx + edx*4 - 0xc]
lea ebp, [ecx + edx*4 - 8]
test ebx, ebx
jne 0x59f085
mov eax, dword [esp + 0x14c]
mov dword [ecx + edx*4 - 0xc], eax
mov eax, dword [esp + 0x15c]
mov dword [ecx + edx*4 - 8], eax
jmp 0x59eadc
mov eax, dword [esp + 0x14c]
call fcn.00464380
mov edi, ebp
mov eax, dword [esp + 0x15c]
call fcn.00464380
jmp 0x59eadc
lea eax, [0x5f3ce0]
mov dword [esp], eax
lea ecx, [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
inc ebx
cmp edx, ebx
jae 0x59f126
mov dword [esp + 0x124], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x61a0c0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x124]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59f11b
mov dword [edi], eax
jmp 0x59f120
call fcn.00464380
mov ebx, ecx
mov ecx, eax
mov eax, edi
mov dword [eax + 4], ebx
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x9c]
mov dword [ecx + edx*4 - 4], ebx
mov ebx, dword [0x7f8db0]
lea edi, [ecx + edx*4 - 0xc]
lea ebp, [ecx + edx*4 - 8]
test ebx, ebx
jne 0x59f164
mov eax, dword [esp + 0x14c]
mov dword [ecx + edx*4 - 0xc], eax
mov eax, dword [esp + 0x15c]
mov dword [ecx + edx*4 - 8], eax
jmp 0x59eadc
mov eax, dword [esp + 0x14c]
call fcn.00464380
mov edi, ebp
mov eax, dword [esp + 0x15c]
call fcn.00464380
jmp 0x59eadc
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0056e630
mov eax, dword [esp + 4]
test eax, eax
je 0x59f1ad
nop
mov eax, dword [esp + 0x338]
mov ecx, dword [eax + 0x20]
mov dword [esp], ecx
call fcn.005b3720
mov eax, dword [esp + 0x338]
mov dword [esp], eax
call fcn.005bb130
mov eax, dword [esp + 4]
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x84], edx
lea edi, [esp + 0x170]
xor eax, eax
call fcn.004645c9
lea edi, [esp + 0x1d8]
call fcn.004645a5
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x17c], ecx
call fcn.0044fff0
mov eax, dword [esp]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x148], ecx
mov eax, dword [eax + 0x24]
mov dword [esp + 0xa8], eax
xor edx, edx
xor ebx, ebx
lea ebp, [esp + 0x24]
xor esi, esi
jmp 0x59f255
mov eax, dword [esp + 0xa4]
inc eax
mov ecx, dword [esp + 0x148]
mov esi, edx
mov edx, eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x114], ebp
mov dword [esp + 0x6c], esi
cmp edx, eax
jge 0x59f34d
mov dword [esp + 0xa4], edx
lea eax, [ecx + edx*8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov ebp, dword [esp + 0x338]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.005bbbb0
mov eax, dword [esp + 0xc]
movzx ecx, byte [esp + 0x10]
test cl, cl
je 0x59f339
mov ecx, dword [eax]
test byte [eax], al
mov edx, dword [esp + 0x6c]
inc edx
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [esp + 0x70]
cmp ebx, edx
jb 0x59f2c3
mov ebp, dword [esp + 0x114]
jmp 0x59f314
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f1960]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0xa0]
lea esi, [ebp + edx*8 - 4]
mov dword [esi], ecx
lea edi, [ebp + edx*8 - 8]
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59f32f
mov dword [edi], eax
jmp 0x59f23b
call fcn.00464380
jmp 0x59f23b
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x114]
jmp 0x59f23b
mov ecx, dword [esp + 0x84]
mov edx, ecx
and ecx, 0x1f
cmp ecx, 0x17
jne 0x59f365
xor eax, eax
jmp 0x59f7f5
test edx, edx
je 0x59f523
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
call fcn.005cd210
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409ba0
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ccde0
mov eax, dword [esp + 0x33c]
mov eax, dword [eax]
mov ecx, dword [esp + 8]
mov dword [esp + 0xf4], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x4c], edx
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebp, dword [esp + 0x14c]
mov dword [esp], ebp
mov ebp, dword [esp + 0x15c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.004bde90
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x9c], edx
lea ebx, [0x5f3ce0]
mov dword [esp], ebx
lea ebp, [esp + 0x170]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xf4]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
inc ebx
cmp edx, ebx
jae 0x59f4ce
mov dword [esp + 0x144], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x61a0c0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x144]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59f4c3
mov dword [edi], eax
jmp 0x59f4c8
call fcn.00464380
mov ebx, ecx
mov ecx, eax
mov eax, edi
mov dword [eax + 4], ebx
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x9c]
mov dword [ecx + edx*4 - 4], ebx
mov ebx, dword [0x7f8db0]
lea edi, [ecx + edx*4 - 0xc]
lea ebp, [ecx + edx*4 - 8]
test ebx, ebx
jne 0x59f509
mov ebx, dword [esp + 0x14c]
mov dword [ecx + edx*4 - 0xc], ebx
mov ebx, dword [esp + 0x15c]
mov dword [ecx + edx*4 - 8], ebx
jmp 0x59f523
mov eax, dword [esp + 0x14c]
call fcn.00464380
mov edi, ebp
mov eax, dword [esp + 0x15c]
call fcn.00464380
lea edi, [esp + 0x1a8]
xor eax, eax
call fcn.004645c4
lea ecx, [0x5f3ce0]
mov dword [esp], ecx
lea edx, [esp + 0x170]
mov dword [esp + 4], edx
lea edx, [esp + 0x1a8]
mov dword [esp + 8], edx
call fcn.0040de60
jmp 0x59f566
lea eax, [esp + 0x1a8]
mov dword [esp], eax
call fcn.0040e090
mov eax, dword [esp + 0x1a8]
test eax, eax
je 0x59f595
mov ecx, dword [esp + 0x1ac]
mov edx, dword [eax]
mov dword [esp + 0xd4], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x74], ecx
xor ebp, ebp
jmp 0x59f5b4
mov byte [esp + 0x27], 0
mov edx, dword [esp + 0x330]
mov eax, dword [edx]
call eax
add esp, 0x334
ret
add ebx, 0xc
inc ebp
mov eax, dword [esp + 0x40]
cmp ebp, ecx
jge 0x59f557
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x15c], ebx
mov esi, dword [ebx + 8]
mov dword [esp + 0x9c], esi
mov edi, dword [ebx + 4]
mov dword [esp + 0x140], edi
mov eax, dword [ebx]
mov dword [esp + 0x14c], eax
and esi, 0x1f
cmp esi, 0x17
jne 0x59f5f0
mov esi, dword [edi + 4]
jmp 0x59f632
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x9c]
mov dword [esp + 8], ecx
call fcn.004bf170
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0x15c]
mov ebp, dword [esp + 0xa8]
mov edi, dword [esp + 0x140]
test esi, esi
jne 0x59f5ac
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x59f667
test esi, 0x200
jne 0x59f667
mov dword [esp + 0xb0], eax
lea eax, [0x66f350]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb0]
jmp 0x59f685
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.004c25c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.004c2f70
mov eax, dword [esp + 0x10]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x138], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x98], edx
lea ebx, [0x5f3ce0]
mov dword [esp], ebx
lea ebp, [esp + 0x18c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xd4]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x40]
mov dword [esp + 0xc], edi
call fcn.004105c0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
jne 0x59f714
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x138]
jmp 0x59f789
lea eax, [0x5f3ce0]
mov dword [esp], eax
lea ecx, [esp + 0x18c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
call fcn.004105c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x14c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x140]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x9c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004c2de0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x140]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c0f10
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0x15c]
mov ebp, dword [esp + 0xa8]
jmp 0x59f5ac
mov ecx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x15c]
cmp dword [ecx + 4], eax
jle 0x59f523
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0x14c]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004be220
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x59fa25
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe4], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x114]
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x70]
mov dword [esp + 0x14], esi
call fcn.005cd210
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409ba0
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ccde0
mov eax, dword [esp + 0x33c]
mov ecx, dword [eax]
mov edx, dword [esp + 8]
mov dword [esp + 0xf8], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x50], ebx
mov ebp, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov esi, dword [esp + 0xe4]
mov dword [esp], esi
mov esi, dword [esp + 0xe8]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x9c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.004bde90
mov eax, dword [esp + 0x14]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x140], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x9c], edx
lea ebx, [0x5f3ce0]
mov dword [esp], ebx
lea ebp, [esp + 0x170]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xf8]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xc], esi
call fcn.00410c50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
inc ebx
cmp edx, ebx
jae 0x59f9ac
mov dword [esp + 0x134], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x61a0c0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x134]
mov dword [edi + 8], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59f9a1
mov dword [edi], eax
jmp 0x59f9a6
call fcn.00464380
mov ebx, ecx
mov ecx, eax
mov eax, edi
mov dword [eax + 4], ebx
lea edx, [ebx + ebx*2]
mov ebx, dword [esp + 0x9c]
mov dword [ecx + edx*4 - 4], ebx
mov ebx, dword [0x7f8db0]
lea edi, [ecx + edx*4 - 0xc]
lea ebp, [ecx + edx*4 - 8]
test ebx, ebx
jne 0x59f9ea
mov ebx, dword [esp + 0x13c]
mov dword [ecx + edx*4 - 0xc], ebx
mov ebx, dword [esp + 0x140]
mov dword [ecx + edx*4 - 8], ebx
jmp 0x59f7d8
mov eax, dword [esp + 0x13c]
call fcn.00464380
mov edi, ebp
mov eax, dword [esp + 0x140]
call fcn.00464380
jmp 0x59f7d8
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
mov ebx, edx
and edx, 0x1f
cmp edx, 0x16
je 0x59fa09
jmp 0x59f835
mov eax, dword [esp + 0xa8]
inc eax
mov ecx, dword [esp + 0x118]
mov ebp, edx
mov edi, ebx
mov edx, dword [esp + 0x78]
mov ebx, eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0x100], esi
mov edi, dword [esp + 0x34]
cmp ebx, edi
jge 0x59ec84
mov dword [esp + 0xa8], ebx
mov eax, dword [esp + 0xcc]
lea ecx, [eax + ebx*8]
mov edx, dword [ecx]
mov dword [esp + 0xd0], edx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x2c]
mov dword [esp], ebp
mov esi, dword [esp + 0xb8]
mov dword [esp + 4], esi
call fcn.004c31e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004bd5d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x140], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x98], edx
lea ebx, [0x60caa0]
mov dword [esp], ebx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [esp + 0x130], eax
lea ecx, [0x60fe00]
mov dword [esp], ecx
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59fb29
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
jmp 0x59fb39
mov edi, eax
mov eax, dword [esp + 0xd0]
call fcn.00464380
mov eax, edi
mov byte [eax + 0x1d], 1
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x59fb52
mov ecx, dword [esp + 0x130]
mov dword [ecx], eax
jmp 0x59fb60
mov edi, dword [esp + 0x130]
call fcn.00464380
mov ecx, edi
mov edx, dword [esp + 0x98]
mov dword [ecx + 0x10], edx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59fb8a
mov edx, dword [esp + 0x13c]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x140]
mov dword [ecx + 0xc], edx
jmp 0x59fba8
lea edi, [ecx + 8]
mov eax, dword [esp + 0x13c]
call fcn.00464380
lea edi, [ecx + 0xc]
mov eax, dword [esp + 0x140]
call fcn.00464380
mov edx, dword [esp + 0x58]
inc edx
mov ebx, dword [esp + 0x5c]
cmp ebx, edx
jb 0x59fbbe
mov esi, dword [esp + 0x100]
jmp 0x59fbfc
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x608b40]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x130]
mov ebx, edi
mov ebp, dword [0x7f8db0]
lea edi, [esi + edx*4 - 4]
test ebp, ebp
jne 0x59fc13
mov dword [esi + edx*4 - 4], ecx
jmp 0x59fa35
mov eax, ecx
call fcn.00464380
jmp 0x59fa35
inc ebx
cmp ebx, ecx
jge 0x59ef1f
mov dword [esp + 0x64], ebx
mov ebp, dword [edx + ebx*4]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x98], edi
nop
and edi, 0x1f
mov dword [esp + 0x94], edi
cmp edi, 0x14
ja 0x59fc6f
lea eax, [edi - 0x12]
cmp eax, 1
ja 0x59fc5d
mov eax, dword [esp + 0x140]
jmp 0x59fc8f
cmp edi, 0x14
jne 0x59fd64
mov eax, dword [esp + 0x140]
jmp 0x59fc79
cmp edi, 0x16
jbe 0x59fc8f
cmp edi, 0x17
jne 0x59fc86
mov edi, dword [esi]
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
jmp 0x59fcca
cmp edi, 0x1a
jne 0x59fd64
mov edi, dword [esp + 0x98]
test edi, 0x200
jne 0x59fcdb
mov dword [esp + 0x138], esi
test edi, 0x80
je 0x59fcb8
mov eax, dword [esi]
mov esi, eax
mov eax, dword [esp + 0x140]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
mov edi, esi
mov esi, dword [esp + 0x138]
xchg edi, eax
test al, al
xchg edi, eax
je 0x59fc1f
mov edi, dword [esp + 0x98]
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call fcn.004bd5d0
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
mov byte [esp + 0xc], 1
call fcn.004be5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x34]
cmp edx, ebx
jae 0x59fd5b
mov ebp, dword [esp + 0x140]
lea esi, [ebp + edx*8]
mov dword [esi], ecx
mov ecx, dword [0x7f8db0]
lea edi, [ebp + edx*8 + 4]
test ecx, ecx
jne 0x59fd42
mov dword [edi], eax
jmp 0x59fd47
call fcn.00464380
mov eax, ebp
mov ecx, dword [esp + 0x58]
mov ebx, edx
mov edx, dword [esp + 0x100]
jmp 0x59fc1f
mov eax, edx
mov ecx, ebx
call fcn.00464400
lea eax, [0x5fd7e0]
mov dword [esp], eax
call fcn.0040c1e0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x61fde3]
mov dword [eax], ecx
mov ecx, dword [esp + 0x94]
mov dword [eax + 8], ecx
lea ecx, [0x5f6540]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
nop
call fcn.00435d10
add esp, 0x334
ret
call fcn.00462f70
jmp fcn.0059e3a0