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

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x20]
push ebx
push ebp
push esi
mov esi, ecx
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x1c]
lea edi, [esi + 8]
push eax
push ecx
push edx
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.005923a0
test eax, eax
jne 0x58fae7
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
lea ebp, [esi + 0x218]
push ecx
mov ecx, edi
mov dword [esp + 0x14], ebp
mov dword [ebp], eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 4], 0
mov dword [esi + 0x1c], eax
mov dword [esi + 0x124], eax
call fcn.00590430
test eax, eax
jne 0x58fb2b
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x1c
ret 0x10
mov edx, dword [esp + 0x38]
lea ecx, [esi + 0x110]
push edx
mov dword [esp + 0x38], ecx
call fcn.00590430
test eax, eax
jne 0x58fb52
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esi + 0x74]
mov ebx, 0x600000
test eax, eax
jg 0x58fb68
jl 0x58fb65
cmp dword [esi + 0x70], ebx
jae 0x58fb68
mov ebx, dword [esi + 0x70]
push ebx
call fcn.005de9fe
mov edi, eax
add esp, 4
test edi, edi
jne 0x58fb86
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push ebp
push ebx
push edi
push eax
call fcn.005904c0
test eax, eax
je 0x58fbaf
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x70]
cmp ecx, eax
jne 0x58fb86
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x74]
cmp edx, eax
jne 0x58fb86
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push ebp
push ebx
push edi
push eax
call fcn.005904c0
test eax, eax
je 0x58fbe4
mov ecx, dword [esi + 0x180]
mov eax, dword [esi + 0x178]
cmp ecx, eax
jne 0x58fbaf
mov edx, dword [esi + 0x184]
mov eax, dword [esi + 0x17c]
cmp edx, eax
jne 0x58fbaf
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
sub eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 4]
sbb eax, ebx
push edi
mov dword [esp + 0x2c], eax
call fcn.005ddf8a
mov eax, dword [esi + 0x24]
add esp, 4
test eax, eax
jne 0x58fc1d
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esi + 0x12c]
test eax, eax
jne 0x58fc36
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x1c
ret 0x10
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.00591300
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.00591300
mov eax, dword [esi + 0x1a8]
mov ecx, ebx
push eax
call fcn.005917f0
mov ecx, dword [esi + 0xa0]
push ecx
mov ecx, edi
call fcn.005917f0
mov edx, dword [esi + 0x154]
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x140]
sub edx, eax
mov eax, dword [esi + 0x48]
sub edx, ecx
mov ecx, dword [esi + 0x38]
sub edx, eax
mov eax, dword [esi + 0x134]
sub edx, ecx
mov ecx, dword [esi + 0x4c]
add edx, eax
mov eax, dword [esi + 0x40]
add edx, ecx
add edx, eax
mov eax, dword [esi + 0x2c]
lea ecx, [edx + eax + 0x50]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov ecx, ebx
call fcn.00592260
test eax, eax
jne 0x58fcc1
pop edi
pop esi
pop ebp
mov eax, 0xfffffff9
pop ebx
add esp, 0x1c
ret 0x10
mov edx, dword [ebp]
mov eax, dword [esp + 0x3c]
add edx, 8
mov dword [ebp], edx
mov ecx, dword [ebp + 4]
adc ecx, 0
cmp eax, 0x40
mov dword [ebp + 4], ecx
je 0x58feb8
mov ebx, dword [esi + 0x118]
test ebx, ebx
je 0x58fd5a
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x38], eax
je 0x58fd5a
mov ebp, dword [esi + 0x84]
test ebp, ebp
jne 0x58fd09
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x58fd52
mov eax, dword [esi + 0x18c]
push 0
push 0x3e8
push 0
push eax
call fcn.005e09d0
push 0
push ebx
push edx
push eax
call fcn.005dffe0
push 0
push 0x3e8
mov edi, eax
push 0
push ebp
inc edi
call fcn.005e09d0
mov ecx, dword [esp + 0x38]
push 0
push ecx
push edx
push eax
call fcn.005dffe0
mov ebp, dword [esp + 0x10]
inc eax
jmp 0x58feca
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x3c], 0x80
je 0x58feb8
mov edi, dword [esi + 0x190]
test edi, edi
je 0x58fdd0
test ebx, ebx
je 0x58fdd0
mov eax, dword [esi + 0x88]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x58fdd0
mov ebp, dword [esi + 0x10]
test ebp, ebp
je 0x58fdcc
push 0
push 0x3e8
push 0
push edi
call fcn.005e09d0
push 0
push ebx
push edx
push eax
call fcn.005dffe0
mov edx, dword [esp + 0x3c]
push 0
push 0x3e8
push 0
push edx
mov edi, eax
call fcn.005e09d0
push 0
push ebp
push edx
push eax
call fcn.005dffe0
mov ebp, dword [esp + 0x10]
jmp 0x58feca
mov ebp, dword [esp + 0x10]
mov ecx, dword [esi + 0x18c]
test ecx, ecx
je 0x58fe0c
mov eax, dword [esi + 0x11c]
test eax, eax
jne 0x58fdec
test ebx, ebx
je 0x58fe0c
test eax, eax
je 0x58fdee
mov ebx, eax
push 0
push 0x3e8
push 0
push ecx
call fcn.005e09d0
push 0
push ebx
push edx
push eax
call fcn.005dffe0
mov edi, eax
inc edi
jmp 0x58fe3b
mov eax, dword [esi + 0x11c]
test eax, eax
jne 0x58fe1e
test ebx, ebx
je 0x58fe3b
test eax, eax
je 0x58fe20
mov ebx, eax
push 0
push 0x3e8
push 0
push edi
call fcn.005e09d0
push 0
push ebx
push edx
push eax
call fcn.005dffe0
mov edi, eax
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x58fe7a
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x58fe57
mov edx, dword [esi + 0x10]
test edx, edx
je 0x58fe7a
test eax, eax
je 0x58fe5b
mov esi, eax
jmp 0x58fe5e
mov esi, dword [esi + 0x10]
push 0
push 0x3e8
push 0
push ecx
call fcn.005e09d0
push 0
push esi
push edx
push eax
call fcn.005dffe0
inc eax
jmp 0x58feca
mov ebx, dword [esi + 0x14]
test ebx, ebx
jne 0x58fe97
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x58fe90
mov eax, dword [esi + 0x88]
jmp 0x58feca
test ebx, ebx
jne 0x58fe97
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x88]
push 0
push 0x3e8
push 0
push eax
call fcn.005e09d0
push 0
push ebx
push edx
push eax
call fcn.005dffe0
jmp 0x58feca
mov ecx, edi
call fcn.005919e0
mov ecx, dword [esp + 0x14]
mov edi, eax
call fcn.005919e0
cmp edi, eax
jbe 0x58fed0
mov eax, edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push eax
push ebp
push esi
mov ecx, edi
call fcn.00592190
push ebp
push 1
push esi
mov ecx, edi
call fcn.00591a70
mov ecx, dword [esp + 0x34]
push ebp
push 2
push esi
call fcn.00591a70
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
mov ecx, edi
call fcn.005922c0
neg eax
sbb eax, eax
pop edi
and eax, 9
pop esi
pop ebp
add eax, 0xfffffff8
pop ebx
add esp, 0x1c
ret 0x10