Function at 0x57e990
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.0057f640
mov ebx, dword [ebp + 0x28]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x57e9cd
push ebx
push ebx
mov ecx, eax
call fcn.0057ff00
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.0047b302
add esp, 4
xor esi, esi
mov dword [esp + 0x10], eax
test ebx, ebx
jle 0x57ea23
test esi, esi
jl 0x57ea03
cmp esi, dword [ebp + 0x28]
jge 0x57ea03
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x57ea05
xor edi, edi
mov ecx, edi
call fcn.0057c290
test eax, eax
je 0x57ea1e
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 0x57e9f2
xor esi, esi
test ebx, ebx
jle 0x57ea6c
lea esp, [esp]
test esi, esi
jl 0x57ea41
cmp esi, dword [ebp + 0x28]
jge 0x57ea41
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x57ea43
xor edi, edi
mov ecx, edi
call fcn.0057c290
test eax, eax
je 0x57ea5e
mov edx, dword [edi]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + 0x78]
push eax
mov ecx, edi
call edx
jmp 0x57ea60
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x57ea30
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.0057e870
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 0x57eae1
test ebx, ebx
jl 0x57eac4
cmp ebx, dword [ebp + 0x28]
jge 0x57eac4
mov edx, dword [ebp + 0x24]
mov ecx, dword [edx + ebx*4]
jmp 0x57eac6
xor ecx, ecx
call fcn.0057c290
test eax, eax
je 0x57eada
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebx*4]
lea esi, [esi + ecx + 7]
inc ebx
cmp ebx, dword [esp + 0x14]
jl 0x57eab3
cmp esi, edi
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 4]
jle 0x57eafa
mov eax, esi
sub eax, edi
cmp ebx, eax
jle 0x57eaf6
mov ebx, eax
test ebx, ebx
jge 0x57eafc
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.0057ff00
sub dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
xor edi, edi
test ebx, ebx
jle 0x57eb90
test edi, edi
jl 0x57eb37
cmp edi, dword [ebp + 0x28]
jge 0x57eb37
mov ecx, dword [ebp + 0x24]
mov esi, dword [ecx + edi*4]
jmp 0x57eb39
xor esi, esi
mov ecx, esi
call fcn.0057c290
test eax, eax
je 0x57eb8b
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esi]
mov edx, dword [edx + 0x84]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + edi*4]
push ecx
mov ecx, esi
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*4]
lea edx, [ebx + ecx + 7]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
inc edi
cmp edi, ebx
jl 0x57eb26
xor esi, esi
test ebx, ebx
jle 0x57ebc2
test esi, esi
jl 0x57eba7
cmp esi, dword [ebp + 0x28]
jge 0x57eba7
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x57eba9
xor edi, edi
mov ecx, edi
call fcn.0057c290
test eax, eax
je 0x57ebbd
mov edx, dword [edi]
mov eax, dword [edx + 0x74]
mov ecx, edi
call eax
inc esi
cmp esi, ebx
jl 0x57eb96
mov ecx, dword [esp + 0x10]
push ecx
call fcn.0047b2f7
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10