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

Disassembly:
mov eax, 0x2864
call fcn.006306e0
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x308]
dec eax
push edi
mov dword [esp + 0x28], esi
mov bl, 1
je 0x590113
dec eax
je 0x5900a5
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2864
ret 4
mov ecx, dword [esi + 0x30c]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov edi, dword [esp + 0x2878]
mov edx, dword [edi]
push 4
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call dword [edx + 0x10]
mov eax, dword [esp + 0x10]
xor ebp, ebp
test eax, eax
jle 0x5902f0
mov ecx, dword [esi + 0x30c]
mov edx, dword [ecx]
call dword [edx + 0x30]
mov edx, dword [edi]
push eax
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call dword [edx + 0x10]
mov ecx, dword [esi + 0x30c]
mov edx, dword [ecx]
lea eax, [esp + 0x74]
push eax
call dword [edx + 0x20]
mov eax, dword [esp + 0x10]
inc ebp
cmp ebp, eax
jl 0x5900d3
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2864
ret 4
mov ecx, dword [esi + 0x30c]
mov edx, dword [ecx]
call dword [edx + 0x44]
mov ecx, dword [esi + 0x30c]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [esi + 0x30c]
mov edx, dword [ecx]
call dword [edx]
mov ebp, dword [esp + 0x2878]
push 4
lea ecx, [esp + 0x14]
mov edi, eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
mov dword [esp + 0x34], edi
call dword [eax + 0x10]
mov edx, dword [esp + 0x10]
push edx
mov ecx, edi
call fcn.00590030
mov ecx, dword [esp + 0x10]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x20], eax
jle 0x590267
mov dword [esp + 0x18], eax
mov esi, dword [edi + 4]
mov eax, dword [esp + 0x18]
push 0x40
lea ecx, [esp + 0x34]
add esi, eax
mov eax, dword [ebp]
push ecx
mov ecx, ebp
call dword [eax + 0x10]
lea edx, [esp + 0x30]
push edx
push esi
call fcn.00630960
mov eax, dword [ebp]
add esp, 8
push 0x40
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebp
call dword [eax + 0x10]
lea edx, [esp + 0x30]
push edx
lea eax, [esi + 0x40]
push eax
call fcn.00630960
mov edx, dword [ebp]
add esp, 8
push 4
lea eax, [esi + 0x80]
push eax
mov ecx, ebp
call dword [edx + 0x10]
mov edx, dword [ebp]
push 4
lea eax, [esp + 0x18]
push eax
mov ecx, ebp
call dword [edx + 0x10]
mov ecx, dword [esp + 0x14]
push ecx
lea ecx, [esi + 0x84]
call fcn.00416d10
mov eax, dword [esp + 0x14]
xor ebx, ebx
test eax, eax
jle 0x590240
mov dword [esp + 0x1c], ebx
mov edx, dword [ebp]
push 0x40
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call dword [edx + 0x10]
mov edi, dword [esi + 0x88]
add edi, dword [esp + 0x1c]
lea ecx, [esp + 0x30]
push ecx
call fcn.0062f7d0
add esp, 4
push eax
lea edx, [esp + 0x34]
push edx
mov ecx, edi
call fcn.00404c50
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc ebx
add ecx, 0x1c
cmp ebx, eax
mov dword [esp + 0x1c], ecx
jl 0x5901f5
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc eax
add edx, 0x94
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
jl 0x590171
mov esi, dword [esp + 0x28]
mov esi, dword [esi + 0x30c]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edx, dword [ebp]
mov ebx, eax
push 4
lea eax, [esp + 0x28]
push eax
mov ecx, ebp
call dword [edx + 0x10]
xor eax, eax
sub esp, 0x44
mov ecx, 0x11
lea edi, [esp + 0x74]
rep stosd dword es:[edi], eax
mov edi, esp
mov ecx, 0x11
lea esi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x68]
push ecx
mov ecx, ebx
call fcn.0058fdb0
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 4]
imul ecx, ecx, 0x44
mov edx, dword [ebp]
push ecx
push eax
mov ecx, ebp
call dword [edx + 0x10]
mov esi, dword [ebx + 4]
xor edi, edi
test esi, esi
je 0x590104
mov ecx, dword [ebx + 8]
sub ecx, esi
mov eax, 0x78787879
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x590104
inc edi
jmp 0x5902c7
pop edi
pop esi
pop ebp
mov al, bl
pop ebx
add esp, 0x2864
ret 4