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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x58ca22
sub esp, 0x98
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x58c9ef
xor eax, eax
test al, al
jne 0x58c836
mov edx, dword [esp + 0xa8]
test edx, edx
je 0x58c82b
nop
movzx ebx, byte [0x753128]
test bl, bl
je 0x58c81f
mov ebx, dword [esp + 0xa8]
mov dword [0x75312c], ebx
mov ebx, dword [0x770e60]
test ebx, ebx
jne 0x58c808
mov eax, dword [esp + 0xac]
mov dword [0x753130], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x78]
test edx, edx
je 0x58c7fd
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x58c4db
or ebx, 0x80
nop
mov ebp, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x58c74f
xor esi, esi
xchg esi, eax
test al, al
xchg esi, eax
je 0x58c4fb
cmp ebx, 0x16
je 0x58c727
test ebp, ebp
je 0x58c6e4
mov dword [esp + 0x30], ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00488490
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xb4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xb8]
mov dword [esp + 8], esi
call fcn.00488490
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x50]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call eax
movzx eax, byte [esp + 0xc]
test al, al
jne 0x58c68a
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
call fcn.00488490
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0x80]
xor eax, eax
call fcn.0045e1fa
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
call fcn.00409140
mov eax, dword [esp + 8]
lea ecx, [0x5beac0]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x58c609
mov eax, dword [eax + 4]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x74]
test eax, eax
je 0x58c686
mov edx, dword [eax + 4]
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], eax
lea eax, [0x5f67fb]
mov dword [esp], eax
mov dword [esp + 4], 0x21
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004bdd90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0x98
ret
mov edx, eax
jmp 0x58c626
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
call fcn.004875d0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
add esp, 0x98
ret
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00488490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00488ff0
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
jmp 0x58c503
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00485c20
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0xb8]
jmp 0x58c4fb
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00488490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xb8]
mov dword [esp + 8], ebp
call fcn.00488490
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
cmp dword [esp + 0xc], ecx
je 0x58c7e2
xor eax, eax
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x44]
jmp 0x58c4ec
mov dword [esp], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004037a0
movzx eax, byte [esp + 0xc]
jmp 0x58c7c4
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x58c4db
lea edi, [0x753130]
mov eax, dword [esp + 0xac]
call fcn.0045df70
jmp 0x58c4b0
mov eax, dword [esp + 0xac]
jmp 0x58c4b0
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x58c4db
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00485c20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, ecx
and ecx, 0x100
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x58c952
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
call fcn.0058b9f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
test eax, eax
je 0x58c8ec
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
add esp, 0x98
ret
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x58c8d7
mov eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
call fcn.00485c20
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
call fcn.004875d0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
add esp, 0x98
ret
mov dword [esp + 0x64], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00488490
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004890d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00485c20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], eax
call fcn.004875d0
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
jmp 0x58c874
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00485c20
mov eax, dword [esp + 0x14]
test eax, eax
setne al
mov ecx, dword [esp + 0xb8]
jmp 0x58c461
call fcn.0045ca10
jmp fcn.0058c430