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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x58d080
sub esp, 0xd0
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax]
mov edx, dword [eax + 0x30]
test edx, edx
je 0x58d063
mov dword [esp + 0x64], ecx
lea eax, [0x64c1a0]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x30]
mov edi, dword [esp + 4]
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x2c]
mov dword [edi + 4], ecx
mov dword [edi + 8], ebx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x58d053
mov dword [edi], edx
mov ecx, dword [eax + 0x30]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], ebx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x58d03e
mov dword [edi + 0xc], edx
mov eax, dword [esp + 0x64]
movzx ecx, word [eax + 0x24]
mov word [edi + 0x18], cx
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00589ef0
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x58d029
mov dword [esp + 0x60], esi
lea edi, [esp + 0x84]
xor eax, eax
call fcn.0045af7d
lea edi, [esp + 0x90]
call fcn.0045b40a
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx + 0x30]
movzx edx, byte [edx + 0xd]
test dl, dl
je 0x58d01e
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 0x30]
test ebx, ebx
setg bl
mov byte [esp + 0xcd], bl
mov ebx, dword [ecx + 0x30]
movzx ebx, byte [ebx + 0xc]
test bl, bl
je 0x58d017
mov ebx, dword [edx + 0x24]
test ebx, ebx
setg bl
mov byte [esp + 0xcc], bl
lea eax, [esp + 0x84]
mov dword [esp], eax
call fcn.00592790
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [eax + 0x40]
mov ecx, dword [ecx + 0x20]
mov dword [esp], edx
call ecx
lea eax, [esp + 0x84]
mov dword [esp], eax
call fcn.00592790
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00581ab0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x58d002
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 4]
test edx, edx
je 0x58cfe5
lea edi, [esp + 0x68]
xor eax, eax
call fcn.0045af89
mov byte [esp + 0x74], 1
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx + 0x30]
mov ebx, dword [esp + 0x64]
movzx ebp, word [ebx + 0x24]
mov esi, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
mov word [esp], bp
mov ebp, dword [esp + 0x60]
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00579620
mov ecx, dword [esp + 0x18]
movzx edx, word [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov word [esp + 0x76], dx
test ecx, ecx
jne 0x58cfaf
mov word [esp], dx
call fcn.00578cc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 4]
test ecx, ecx
jne 0x58cf81
mov byte [esp + 0x37], dl
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx + 0x3c]
mov ebx, dword [ecx + 0x40]
mov dword [esp], eax
lea ebp, [0x67b96d]
mov dword [esp + 4], ebp
mov dword [esp + 8], 0x22
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00578a80
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov ebx, dword [esp + 0x48]
mov dword [esp], ebx
call fcn.00408b00
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x37]
cmp cl, 0xe2
je 0x58cf57
lea ecx, [0x6c8710]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
lea ebp, [0x63fa00]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00409040
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
test ebp, ebp
je 0x58cf46
mov eax, dword [edx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], ecx
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x30]
test eax, eax
je 0x58cea3
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.00581150
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x67a88c]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00445d20
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [0x63eca0]
mov dword [esp], edx
call fcn.0040b4f0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x8326a0]
test eax, eax
jne 0x58ce98
mov eax, dword [esp + 0x50]
mov dword [edi], eax
lea eax, [0x6c8150]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edi
add esp, 0xd0
ret
mov eax, dword [esp + 0x50]
call fcn.0045ace0
jmp 0x58ce7d
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x78], ecx
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.00594560
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x40]
mov ecx, dword [ecx + 0x20]
mov dword [esp], eax
call ecx
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.00594560
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00581ab0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x58cf29
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
add esp, 0xd0
ret
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
add esp, 0xd0
ret
mov ebp, dword [0x81b960]
mov ecx, dword [0x81b964]
jmp 0x58cd99
lea eax, [0x644360]
mov dword [esp], eax
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
lea ecx, [0x6c8050]
jmp 0x58cd55
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.00581150
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
add esp, 0xd0
ret
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.00581150
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xdc], eax
add esp, 0xd0
ret
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
add esp, 0xd0
ret
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
add esp, 0xd0
ret
xor ebx, ebx
jmp 0x58cbe0
mov edx, dword [esp + 0x60]
xor ebx, ebx
jmp 0x58cbc2
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
add esp, 0xd0
ret
lea ecx, [edi + 0xc]
mov ebx, edi
mov edi, ecx
mov eax, edx
call fcn.0045ace0
mov edi, ebx
jmp 0x58cb56
mov ecx, eax
mov eax, edx
call fcn.0045ace0
mov eax, ecx
jmp 0x58cb33
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
add esp, 0xd0
ret
call fcn.00459790
jmp fcn.0058cac0