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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59ff7d
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov eax, dword [edx + 0xc]
test eax, eax
je 0x59fd09
mov ebx, dword [edx]
mov ecx, dword [edx + 4]
cmp ecx, eax
jbe 0x59ff77
lea ebp, [eax + eax*2]
mov eax, ecx
lea ecx, [ebx + ebp*8]
cmp byte [ecx], 3
jne 0x59fcfd
lea ecx, [ebx + ebp*8 + 8]
mov ecx, dword [ecx]
test cl, 4
je 0x59fcfd
xor ecx, ecx
jmp 0x59fd1a
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
lea ebx, [edi + 0x18]
mov edx, esi
mov dword [esp + 0x14], ecx
lea edi, [esp + 0x38]
mov esi, ebx
call fcn.0045f054
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, edx
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jbe 0x59ff70
lea edx, [edx + edx*2]
lea edx, [ebp + edx*8]
movzx edx, byte [edx]
mov edi, ebx
movzx ebx, byte [esp + 0x38]
cmp bl, 1
ja 0x59fd71
cmp dl, 4
je 0x59fd96
mov edx, dword [esp + 0x40]
cmp edx, ecx
jae 0x59ff69
lea ecx, [edx + edx*2]
lea ecx, [ebp + ecx*8]
cmp byte [ecx], 4
jne 0x59fd8b
jmp 0x59fd96
cmp bl, 3
jne 0x59fd86
cmp dl, 4
jne 0x59fd8b
mov ecx, dword [esp + 0x40]
test cl, 8
jne 0x59fd8b
jmp 0x59fda2
cmp dl, 4
je 0x59fde4
mov ecx, dword [esp + 0x14]
inc ecx
cmp eax, ecx
jg 0x59fd15
jmp 0x59fdae
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp], esi
call fcn.0059df80
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.0059e380
mov eax, dword [esp + 4]
test eax, eax
je 0x59fdf0
nop
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
test edx, edx
je 0x59fdf0
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
xor ebx, ebx
jmp 0x59fe05
mov dword [esp + 0x7c], 0
add esp, 0x74
ret
mov dword [esp + 0x7c], eax
add esp, 0x74
ret
mov ebp, dword [esp + 0x1c]
add ebp, 0x18
mov edx, esi
mov ebx, ecx
mov ecx, ebp
mov dword [esp + 0x1c], ecx
lea edi, [esp + 0x20]
mov esi, ecx
call fcn.0045f054
movzx ecx, byte [esp + 0x20]
cmp cl, 6
ja 0x59fe70
cmp cl, 1
jbe 0x59fe75
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x59ff62
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x59fe60
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x59ff44
mov ecx, eax
xor eax, eax
call fcn.0045e950
mov eax, ecx
jmp 0x59ff44
cmp cl, 7
jne 0x59fe7c
mov esi, edx
jmp 0x59ff44
cmp cl, 0xa
ja 0x59ff42
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
cmp ebx, ecx
jae 0x59ff5b
lea ecx, [ebx + ebx*8]
mov dword [ebp + ecx*4 + 0x1c], 0
mov dword [ebp + ecx*4 + 0x20], 0
lea edi, [ebp + ecx*4 + 0x18]
mov esi, edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x59febf
mov dword [ebp + ecx*4 + 0x18], 0
jmp 0x59feca
mov edx, eax
xor eax, eax
call fcn.0045e950
mov eax, edx
mov dword [esp + 0x10], ecx
lea edi, [esp + 0x50]
mov edx, eax
xor eax, eax
call fcn.0045eb77
lea edi, [esp + 0x50]
mov eax, esi
lea esi, [esp + 0x20]
call fcn.0045f054
mov ecx, dword [edx + 4]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x59ff54
mov ecx, dword [esp + 0x10]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x59ff10
lea esi, [esp + 0x50]
call fcn.0045f036
jmp 0x59ff3a
mov dword [esp + 0xc], ebx
lea eax, [0x611680]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
call fcn.0040ff10
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov eax, edx
mov esi, dword [esp + 0x14]
jmp 0x59ff44
mov esi, edx
lea ecx, [ebx + 1]
cmp esi, ecx
jg 0x59fdf8
jmp 0x59fdf0
mov eax, ebx
call fcn.0045e9d0
mov eax, ebx
call fcn.0045e9d0
mov eax, ebx
call fcn.0045e9d0
mov eax, edx
call fcn.0045e9e0
mov eax, edx
call fcn.0045e9e0
call fcn.0045e9d0
nop
call fcn.0045d540
jmp fcn.0059fcb0