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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14c]
cmp eax, dword [ecx + 8]
jbe 0x59d96b
sub esp, 0x1cc
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax]
test byte [eax], al
mov ecx, dword [ecx + 0x68]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov edx, dword [esp + 0x1d0]
mov ebx, dword [edx + 4]
mov ebp, dword [edx + 8]
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebp
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x3c]
mov esi, dword [ecx + 0x40]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
lea ebx, [esp + 0xe0]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call fcn.005c8b70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
test edx, edx
je 0x59ceda
mov dword [esp + 0x48], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0xc], ecx
call fcn.0059bf40
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0xa8]
mov esi, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x34]
mov edx, dword [esp + 0x1d0]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
call fcn.005cc610
mov eax, dword [esp + 0x10]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x4c]
mov dword [esp + 8], ebp
call fcn.005cc2a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 4], edx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
lea eax, [0x61c079]
mov dword [esp], eax
mov dword [esp + 4], 0xa
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004e18f0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x48]
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x80], ebp
jmp 0x59cf02
add esp, 0x1cc
ret
mov ecx, dword [esp + 0xcc]
lea edx, [ecx + 0xc]
mov ecx, dword [esp + 0x80]
inc ecx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x44]
mov ecx, dword [esp + 0x80]
cmp ecx, ebx
jge 0x59cf3d
mov dword [esp + 0xcc], edx
mov ebx, dword [edx]
mov dword [esp + 0x98], ebx
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x84]
jmp 0x59d8ce
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx + 0xc]
test edx, edx
jne 0x59cf54
mov edx, dword [esp + 0x44]
jmp 0x59d0e5
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0xa0], esi
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x1d0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.005bb400
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
lea eax, [0x61c4fa]
mov dword [esp], eax
mov dword [esp + 4], 0xb
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004e18f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
mov edx, dword [esp + 0xac]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ec90
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xac], ebx
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x44], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00409b20
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x40]
cmp edx, eax
jb 0x59d068
mov esi, dword [esp + 0xa0]
jmp 0x59d0ad
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f12a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0xcc]
mov edx, ebp
lea ebx, [esi + eax*8 - 8]
lea ebp, [0x5f1960]
mov dword [ebx], ebp
lea edi, [esi + eax*8 - 4]
mov ebx, dword [0x7f8db0]
test ebx, ebx
jne 0x59d0cb
mov dword [edi], ecx
jmp 0x59d0d6
mov ebx, eax
mov eax, ecx
call fcn.00464380
mov eax, ebx
mov ebp, edx
mov edi, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x44], edx
mov dword [esp + 0xac], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x94], esi
mov ecx, dword [esp + 0x1d4]
mov ebx, dword [ecx]
mov ecx, dword [ebx + 0x40]
mov ebx, dword [ebx + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], ebx
call fcn.005cd0b0
mov eax, dword [esp + 8]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0xac]
mov dword [esp], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], ebx
call fcn.00409b20
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
lea eax, [0x5f1960]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
call fcn.005ae500
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], edx
call fcn.005aff10
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ecx, ecx
je 0x59d1e8
mov edx, dword [esp + 0x1d0]
mov ebx, dword [edx + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005b3720
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x59d280
nop
movzx ecx, byte [0x7d3b68]
test cl, cl
je 0x59d23a
mov ecx, dword [esp + 0xd4]
mov dword [0x7d3b6c], ecx
mov edx, dword [0x7f8db0]
test edx, edx
jne 0x59d226
mov eax, dword [esp + 0xa4]
mov dword [0x7d3b70], eax
jmp 0x59d248
lea edi, [0x7d3b70]
mov eax, dword [esp + 0xa4]
call fcn.00464380
jmp 0x59d248
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x59d278
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x59d286
or edx, 0x80
jmp 0x59d286
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x59d286
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x59d2a4
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004bd5d0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
nop
mov ebx, edx
and edx, 0x1f
cmp edx, 0x16
je 0x59d288
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ebx
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
call fcn.005bb130
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 0x17
jne 0x59d336
mov dword [esp + 0x78], ebx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xc8], eax
lea edi, [esp + 0x104]
xor eax, eax
call fcn.004645c9
lea edi, [esp + 0x120]
call fcn.004645a5
lea ecx, [esp + 0x120]
mov dword [esp + 0x110], ecx
call fcn.0044fff0
mov ecx, dword [esp]
mov dword [esp + 0x10c], ecx
xor eax, eax
jmp 0x59d3a0
lea eax, [0x61a0c0]
mov dword [esp], eax
lea ecx, [esp + 0xe8]
mov dword [esp + 4], ecx
call fcn.00409940
mov eax, dword [esp + 0x1d4]
mov dword [esp], eax
lea eax, [0x61a0c0]
mov dword [esp + 4], eax
call fcn.005a8dc0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
je 0x59d392
mov edx, dword [esp + 0x1d0]
mov edx, dword [edx + 0x20]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005b3720
add esp, 0x1cc
ret
mov ecx, dword [esp + 0x64]
lea eax, [ecx + 1]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe8]
mov ebp, edx
and edx, 0x1f
cmp edx, 0x17
jne 0x59d3c8
mov ecx, dword [ecx + 4]
jmp 0x59d3e0
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004bf170
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x64]
cmp eax, ecx
jge 0x59d607
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004be220
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0xa8]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebx + 0x24]
mov edi, dword [ebx + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.005cd210
mov eax, dword [esp + 0x18]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x6c], edx
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 + 8]
mov dword [esp + 0xd0], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov edx, dword [esp + 0xd4]
mov dword [esp], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
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
lea eax, [0x5f3ce0]
mov dword [esp], eax
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
call fcn.004105c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax + 8]
mov eax, dword [eax]
cmp edx, ecx
jae 0x59d53f
mov dword [esp], eax
mov dword [esp + 4], ecx
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 dword [esp + 0xbc], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], edx
lea ebx, [ecx + ecx*2]
mov ebp, dword [esp + 0x74]
mov dword [eax + ebx*4 - 4], ebp
mov ebp, dword [0x7f8db0]
lea edi, [eax + ebx*4 - 0xc]
lea esi, [eax + ebx*4 - 8]
test ebp, ebp
jne 0x59d583
mov ebp, dword [esp + 0xc4]
mov dword [eax + ebx*4 - 0xc], ebp
mov ebp, dword [esp + 0xc0]
mov dword [eax + ebx*4 - 8], ebp
jmp 0x59d59d
mov eax, dword [esp + 0xc4]
call fcn.00464380
mov edi, esi
mov eax, dword [esp + 0xc0]
call fcn.00464380
lea eax, [0x5f3ce0]
mov dword [esp], eax
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xc], edx
call fcn.00410c50
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x70]
mov dword [edi + 8], eax
mov eax, dword [0x7f8db0]
test eax, eax
jne 0x59d5f6
mov eax, dword [esp + 0xbc]
mov dword [edi], eax
jmp 0x59d399
mov eax, dword [esp + 0xbc]
call fcn.00464380
jmp 0x59d399
xor eax, eax
jmp 0x59d612
mov ecx, dword [esp + 0x60]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0xcc]
cmp dword [ecx + 4], eax
jle 0x59d392
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0xc8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004be220
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x59d899
mov dword [esp + 0x74], ebx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], eax
mov edx, dword [esp + 0xa8]
mov ebp, dword [edx + 0x38]
mov esi, dword [edx + 0x3c]
mov edi, dword [edx + 0x40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.005cd210
mov eax, dword [esp + 0x1d4]
mov ecx, dword [eax]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xd4], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x58], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x5c], ebp
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov edi, dword [esp + 0x8c]
mov dword [esp], edi
mov edi, dword [esp + 0x90]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.004bde90
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc0], edx
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
call fcn.00409ba0
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6100]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ccde0
lea eax, [0x5f3ce0]
mov dword [esp], eax
lea ecx, [esp + 0x104]
mov dword [esp + 4], ecx
call fcn.004108f0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
test cl, cl
jne 0x59d810
mov eax, dword [esp + 0x74]
test eax, eax
je 0x59d78b
test eax, 0x200
jne 0x59d78b
lea ecx, [0x66f350]
mov edx, dword [esp + 0xc4]
jmp 0x59d7b5
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
mov edx, dword [esp + 0xc0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004c25c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.004c2f70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c0f10
jmp 0x59d60b
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x74]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
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 + 0xc4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xc0]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004c0f10
jmp 0x59d60b
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 0x59d87d
jmp 0x59d656
mov ecx, dword [esp + 0x7c]
inc ecx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x98]
mov ebx, ebp
mov ebp, edi
mov edi, edx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xcc]
mov edx, dword [esp + 0x7c]
cmp edx, ecx
jge 0x59cee1
lea ebx, [ebx + edx*8]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
lea edx, [edi + 1]
cmp ebp, edx
jae 0x59d934
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x34], ebx
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f12a0]
mov dword [esp + 0x10], eax
call fcn.0044b300
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x34]
mov edi, ebp
lea ebp, [esi + edx*8 - 8]
mov dword [ebp], ebx
lea ebx, [esi + edx*8 - 4]
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x59d952
mov dword [ebx], ecx
jmp 0x59d8a9
mov ebp, edi
mov edi, ebx
mov eax, ecx
call fcn.00464380
mov eax, dword [esp + 0xac]
mov edi, ebp
jmp 0x59d8a9
call fcn.00462f70
jmp fcn.0059cc60