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

Disassembly:
sub esp, 0x1c
push ebx
push ebp
mov ebp, ecx
mov eax, dword [ebp + 0x34]
mov eax, dword [eax + 0x90]
push esi
push edi
push eax
call fcn.005302e0
mov ebx, dword [ebp + 0x28]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x52f64d
push ebx
push ebx
mov ecx, eax
call fcn.00530b60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10
xor ecx, ecx
mov eax, ebx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041f55d
add esp, 4
xor esi, esi
mov dword [esp + 0x10], eax
test ebx, ebx
jle 0x52f6a3
test esi, esi
jl 0x52f683
cmp esi, dword [ebp + 0x28]
jge 0x52f683
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x52f685
xor edi, edi
mov ecx, edi
call fcn.005319f0
test eax, eax
je 0x52f69e
mov edx, dword [edi]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + 0x70]
push eax
mov ecx, edi
call edx
inc esi
cmp esi, ebx
jl 0x52f672
xor esi, esi
test ebx, ebx
jle 0x52f6ec
lea esp, [esp]
test esi, esi
jl 0x52f6c1
cmp esi, dword [ebp + 0x28]
jge 0x52f6c1
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x52f6c3
xor edi, edi
mov ecx, edi
call fcn.005319f0
test eax, eax
je 0x52f6de
mov edx, dword [edi]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + 0x78]
push eax
mov ecx, edi
call edx
jmp 0x52f6e0
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x52f6b0
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
sub edi, dword [esi + 8]
mov edx, dword [esp + 0x10]
sub edi, dword [esi]
mov eax, dword [esp + 0x30]
push edi
push edx
push eax
mov ecx, ebp
call fcn.0052f4f0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0xc]
xor ebx, ebx
cmp dword [esp + 0x14], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov esi, 0xfffffff9
jle 0x52f761
test ebx, ebx
jl 0x52f744
cmp ebx, dword [ebp + 0x28]
jge 0x52f744
mov edx, dword [ebp + 0x24]
mov ecx, dword [edx + ebx*4]
jmp 0x52f746
xor ecx, ecx
call fcn.005319f0
test eax, eax
je 0x52f75a
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebx*4]
lea esi, [esi + ecx + 7]
inc ebx
cmp ebx, dword [esp + 0x14]
jl 0x52f733
cmp esi, edi
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 4]
jle 0x52f77a
mov eax, esi
sub eax, edi
cmp ebx, eax
jle 0x52f776
mov ebx, eax
test ebx, ebx
jge 0x52f77c
xor ebx, ebx
sub esi, ebx
xor edx, edx
sub esi, edi
test esi, esi
setg dl
xor eax, eax
test ebx, ebx
setg al
mov dword [ebp + 0x38], ebx
push edx
push eax
call fcn.00530b60
sub dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
xor edi, edi
test ebx, ebx
jle 0x52f80b
test edi, edi
jl 0x52f7b7
cmp edi, dword [ebp + 0x28]
jge 0x52f7b7
mov ecx, dword [ebp + 0x24]
mov esi, dword [ecx + edi*4]
jmp 0x52f7b9
xor esi, esi
mov ecx, esi
call fcn.005319f0
test eax, eax
je 0x52f806
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edi*4]
push ecx
mov ecx, esi
call fcn.0052e430
mov edx, dword [esp + 0x10]
mov eax, dword [edx + edi*4]
lea ecx, [ebx + eax + 7]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
inc edi
cmp edi, ebx
jl 0x52f7a6
xor esi, esi
test ebx, ebx
jle 0x52f83d
test esi, esi
jl 0x52f822
cmp esi, dword [ebp + 0x28]
jge 0x52f822
mov edx, dword [ebp + 0x24]
mov edi, dword [edx + esi*4]
jmp 0x52f824
xor edi, edi
mov ecx, edi
call fcn.005319f0
test eax, eax
je 0x52f838
mov eax, dword [edi]
mov edx, dword [eax + 0x74]
mov ecx, edi
call edx
inc esi
cmp esi, ebx
jl 0x52f811
mov eax, dword [esp + 0x10]
push eax
call fcn.0041f568
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10