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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59bfe0
sub esp, 0x7c
lea edi, [esp + 0x68]
lea esi, [esp + 0x8c]
call fcn.0045d09e
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
test ecx, 0x80000000
je 0x59bfd3
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or ecx, eax
mov eax, edx
shl edx, 1
mov ebx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, ecx
mov ecx, edx
add edx, 0xd7b17f80
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
test ebx, ebx
sete cl
test edx, edx
sete dl
and ecx, edx
test cl, cl
je 0x59bb22
test eax, 0x3fffffff
je 0x59bfb5
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
call fcn.0059b960
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x7c]
test edx, edx
je 0x59bf9d
mov ebp, edx
mov esi, ebx
mov edi, ebx
lea ebx, [esp + 8]
mov dword [esp + 0x5c], ebx
mov ecx, dword [ecx + 0x70]
test ecx, ecx
je 0x59be7d
test ebp, ebp
mov dword [esp + 0x58], ecx
je 0x59be6b
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], esi
mov edi, esp
mov eax, esi
lea esi, [esp + 0x8c]
call fcn.0045d09e
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
call fcn.0059b8c0
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x59be13
xor eax, eax
mov dword [esp + 0x3c], eax
lea ecx, [0x63c800]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.00405a60
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59bdff
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0x70], eax
lea eax, [0x657480]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
lea ecx, [0x5c9a30]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59bdea
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59bdc5
mov ecx, dword [esp + 0x88]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x10], ecx
lea eax, [0x63c800]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00405a60
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
lea ecx, [0x654ae0]
mov dword [esp], ecx
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
lea ecx, [0x6575a0]
mov dword [esp], ecx
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
lea ecx, [0x5c9b00]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59bd9a
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x3c]
mov dword [eax + 0xc], edx
mov edi, esp
lea esi, [esp + 0x8c]
call fcn.0045d09e
call fcn.0049f290
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0049d780
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
lea ecx, [0x6431c0]
mov dword [esp], ecx
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov dword [esp], 0x14
lea ecx, [0x69282c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
call fcn.0043bb40
lea eax, [0x64af60]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
lea ecx, [0x5d2b90]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59bd88
mov ecx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x7c
ret
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x60]
call fcn.0045c920
mov eax, ecx
jmp 0x59bd72
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.0045c920
lea edi, [ecx + 8]
mov eax, dword [esp + 0x34]
call fcn.0045c920
lea edi, [ecx + 0xc]
mov eax, dword [esp + 0x3c]
call fcn.0045c920
jmp 0x59bcc8
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x88]
call fcn.0045c920
lea edi, [ecx + 0x10]
mov eax, dword [esp + 0x80]
call fcn.0045c920
jmp 0x59bc53
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x40]
call fcn.0045c920
mov eax, ecx
jmp 0x59bc23
mov ecx, dword [esp + 0x80]
lea edi, [ecx + 0x70]
call fcn.0045c920
jmp 0x59bbf4
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x5c]
lea esi, [esp + 0x8c]
call fcn.0045d09e
call fcn.004be8b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x80]
mov dword [ebx + 0x78], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59be61
mov dword [ebx + 0x7c], eax
mov eax, edx
jmp 0x59bbba
lea edi, [ebx + 0x7c]
call fcn.0045c920
jmp 0x59be5a
nop
mov esi, dword [0x7cc06c]
lea ebp, [0x6cd440]
jmp 0x59bb86
test al, al
jne 0x59be88
test ebp, ebp
jmp 0x59bb7c
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], edx
mov eax, edi
mov edi, esp
lea esi, [esp + 0x8c]
call fcn.0045d09e
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
call fcn.0059b8c0
movzx eax, byte [esp + 0x1c]
test al, al
je 0x59bf7f
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x5c]
lea esi, [esp + 0x8c]
call fcn.0045d09e
call fcn.004be8b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x80]
mov dword [ebx + 0x78], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x59bf75
mov dword [ebx + 0x7c], eax
lea eax, [0x64c0a0]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
lea ecx, [0x5c99c0]
mov dword [eax], ecx
mov ecx, dword [0x7e34e0]
lea edi, [eax + 4]
test ecx, ecx
jne 0x59bf4e
lea esi, [esp + 0x8c]
call fcn.0045d09e
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], eax
add esp, 0x7c
ret
mov dword [esp + 0x44], eax
lea eax, [0x677480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00411d70
mov eax, dword [esp + 0x44]
jmp 0x59bf38
lea edi, [ebx + 0x7c]
call fcn.0045c920
jmp 0x59bf05
lea eax, [0x692828]
mov dword [esp + 0xa0], eax
lea eax, [0x6927cc]
mov dword [esp + 0xa4], eax
add esp, 0x7c
ret
nop
mov ebp, dword [0x7cc06c]
mov esi, ebx
mov ebx, ebp
mov ebp, edx
lea edx, [0x6cd440]
jmp 0x59bb65
lea eax, [0x692828]
mov dword [esp + 0xa0], eax
lea eax, [0x6927cc]
mov dword [esp + 0xa4], eax
add esp, 0x7c
ret
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
jmp 0x59bb07
call fcn.0045b380
jmp fcn.0059baa0