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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59c612
sub esp, 0x54
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.00465fe6
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
cmp ecx, eax
jl 0x59c519
nop
nop
movzx edx, word [esp + 0x58]
mov ebx, edx
shr dx, 8
movzx edx, dx
lea ebp, [0x7083a9]
movzx edx, byte [ebp + edx]
and ebx, 0xff
movzx ebx, byte [ebx + ebp]
add edx, ebx
movzx edx, dl
test edx, edx
je 0x59c4f8
cmp ecx, eax
jb 0x59c60c
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x64]
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov edi, dword [esp + 0x5c]
add ebx, edi
mov dword [esp], ebx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
call fcn.0059d690
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
test eax, eax
je 0x59c217
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
test ecx, ecx
je 0x59c1bc
mov ecx, dword [ecx + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebp
lea eax, [0x6f8a0d]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x3c]
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 + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x54
ret
movzx esi, word [esp + 0x58]
test si, 1
je 0x59c23a
test ebx, ebx
jbe 0x59c603
movzx edi, word [edx]
mov word [esp + 0x6c], di
mov ecx, 1
jmp 0x59c23c
xor ecx, ecx
test si, 2
je 0x59c255
cmp ecx, ebx
jae 0x59c5fa
movzx edi, word [edx + ecx*2]
mov word [esp + 0x6e], di
inc ecx
test si, 4
je 0x59c26e
cmp ecx, ebx
jae 0x59c5f1
movzx edi, word [edx + ecx*2]
mov word [esp + 0x70], di
inc ecx
test si, 8
je 0x59c287
cmp ecx, ebx
jae 0x59c5e8
movzx edi, word [edx + ecx*2]
mov word [esp + 0x72], di
inc ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x28], ebx
test si, 0x10
je 0x59c323
cmp ecx, ebx
jae 0x59c5df
movzx edi, word [edx + ecx*2]
test di, di
je 0x59c303
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
mov word [esp + 0xc], di
call fcn.0059c930
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
test edx, edx
jne 0x59c306
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
movzx esi, word [esp + 0x58]
mov eax, edx
mov edx, dword [esp + 0x38]
inc ecx
jmp 0x59c323
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
add esp, 0x54
ret
test si, 0x20
je 0x59c3ba
cmp ecx, ebx
jae 0x59c5d6
movzx edi, word [edx + ecx*2]
test di, di
je 0x59c39a
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
mov word [esp + 0xc], di
call fcn.0059c930
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
test edx, edx
jne 0x59c39d
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
movzx esi, word [esp + 0x58]
mov eax, edx
mov edx, dword [esp + 0x38]
inc ecx
jmp 0x59c3ba
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
add esp, 0x54
ret
test si, 0x40
je 0x59c454
cmp ecx, ebx
jae 0x59c5cd
movzx edi, word [edx + ecx*2]
test di, di
je 0x59c434
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
mov word [esp + 0xc], di
call fcn.0059c930
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
test edx, edx
jne 0x59c437
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
movzx esi, word [esp + 0x58]
mov eax, edx
mov edx, dword [esp + 0x38]
inc ecx
jmp 0x59c454
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
add esp, 0x54
ret
test si, 0x80
je 0x59c4d4
cmp ecx, ebx
jae 0x59c5c4
movzx ecx, word [edx + ecx*2]
test cx, cx
je 0x59c4d4
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov word [esp + 0xc], cx
call fcn.0059c930
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
test ebx, ebx
jne 0x59c4b7
mov eax, ebx
jmp 0x59c4d4
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ebp
add esp, 0x54
ret
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ebp
add esp, 0x54
ret
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x54
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x54
ret
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
mov eax, ecx
mov ecx, ebx
call fcn.00465e00
xor eax, eax
mov ecx, eax
call fcn.00465e00
call fcn.00465e60
nop
call fcn.004649b0
jmp fcn.0059c0f0