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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x59f064
sub esp, 0xb8
mov ecx, dword [esp + 0xc0]
cmp ecx, 8
jl 0x59ecf3
nop
lea edx, [ecx - 2]
mov ebx, dword [esp + 0xbc]
movzx ebp, byte [ebx + 1]
movzx esi, byte [ebx]
shl esi, 8
or ebp, esi
cmp edx, 1
jbe 0x59f057
lea edx, [ecx - 4]
movzx esi, byte [ebx + 3]
mov eax, ebp
movzx ebp, byte [ebx + 2]
shl ebp, 8
or esi, ebp
cmp edx, 3
jbe 0x59f04b
mov word [esp + 0x42], ax
mov word [esp + 0x40], si
movzx edx, byte [ebx + 7]
movzx ebp, byte [ebx + 6]
shl ebp, 8
or edx, ebp
movzx ebp, byte [ebx + 5]
shl ebp, 0x10
or ebp, edx
movzx edx, byte [ebx + 4]
shl edx, 0x18
or edx, ebp
mov dword [esp + 0x44], edx
mov ebp, dword [esp + 0xc4]
xor edi, edi
xor edi, edi
mov dword [esp + 0x58], edi
xor edi, edi
mov dword [esp + 0x70], edi
xor edi, edi
mov dword [esp + 0x54], edi
mov edi, 8
mov dword [esp + 0x50], edi
xor edi, edi
jmp 0x59ede9
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x705e1f]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
mov ecx, dword [esp + 0x5c]
lea edi, [ecx + 1]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov ecx, ebp
mov ebp, esi
movzx esi, word [esp + 0x40]
mov dword [esp + 0x58], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50], eax
movzx eax, word [esp + 0x42]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xbc]
cmp edi, edx
jge 0x59efeb
mov esi, dword [esp + 0x50]
cmp ecx, esi
jb 0x59f044
mov dword [esp + 0x5c], edi
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.00465fe9
mov ecx, ebp
sub ebp, esi
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
add ebp, ebx
mov dword [esp], ebp
mov ebp, dword [esp + 0xc0]
mov eax, ebp
sub ebp, esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.0059f070
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
lea edi, [esp + 0x9c]
lea esi, [esp + 0x18]
call fcn.004664ba
lea edi, [esp + 0x80]
lea esi, [esp + 0x9c]
call fcn.004664ba
test edx, edx
jne 0x59ef3b
mov ecx, dword [esp + 0x54]
inc ecx
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x59ee9b
mov eax, dword [esp + 0x70]
jmp 0x59eecd
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6b37c0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
imul ebx, ecx, 0x1c
lea edi, [ebx + eax - 0x1c]
mov ebx, dword [0x1eaa9f0]
mov ebp, dword [esp + 0x50]
mov esi, ecx
mov ecx, dword [esp + 0x48]
add ecx, ebp
mov dword [esp + 0x4c], ecx
test ebx, ebx
jne 0x59ef01
mov ebx, esi
lea esi, [esp + 0x80]
call fcn.004664ba
jmp 0x59ed9f
mov dword [esp + 0x74], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], edx
lea eax, [0x6b37c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
call fcn.004115f0
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
jmp 0x59ed9f
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
test ebx, ebx
je 0x59ef52
mov ebx, dword [ebx + 4]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebp
lea eax, [0x6faecd]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movzx edx, word [esp + 0x42]
mov word [esp + 0xc8], dx
movzx edx, word [esp + 0x40]
mov word [esp + 0xca], dx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xcc], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
add esp, 0xb8
ret
mov word [esp + 0xc8], ax
mov word [esp + 0xca], si
mov eax, dword [esp + 0x70]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xb8
ret
mov eax, esi
call fcn.00465e60
mov eax, 3
mov ecx, edx
call fcn.00465e00
mov eax, 1
mov ecx, edx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0059ec30