Function at 0x5b1f40
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.005b3b10
mov ebx, dword [ebp + 0x28]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x5b1f7d
push ebx
push ebx
mov ecx, eax
call fcn.005b32c0
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 sub.mfc90u.dll_new__
add esp, 4
xor esi, esi
mov dword [esp + 0x10], eax
test ebx, ebx
jle 0x5b1fd3
test esi, esi
jl 0x5b1fb3
cmp esi, dword [ebp + 0x28]
jge 0x5b1fb3
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x5b1fb5
xor edi, edi
mov ecx, edi
call fcn.005a6720
test eax, eax
je 0x5b1fce
mov edx, dword [edi]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + 0x78]
push eax
mov ecx, edi
call edx
inc esi
cmp esi, ebx
jl 0x5b1fa2
xor esi, esi
test ebx, ebx
jle 0x5b201f
lea esp, [esp]
test esi, esi
jl 0x5b1ff1
cmp esi, dword [ebp + 0x28]
jge 0x5b1ff1
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + esi*4]
jmp 0x5b1ff3
xor edi, edi
mov ecx, edi
call fcn.005a6720
test eax, eax
je 0x5b2011
mov edx, dword [edi]
mov eax, dword [esp + 0x30]
mov edx, dword [edx + 0x80]
push eax
mov ecx, edi
call edx
jmp 0x5b2013
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x5b1fe0
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.005b1e10
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 0x5b2094
test ebx, ebx
jl 0x5b2077
cmp ebx, dword [ebp + 0x28]
jge 0x5b2077
mov edx, dword [ebp + 0x24]
mov ecx, dword [edx + ebx*4]
jmp 0x5b2079
xor ecx, ecx
call fcn.005a6720
test eax, eax
je 0x5b208d
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebx*4]
lea esi, [esi + ecx + 7]
inc ebx
cmp ebx, dword [esp + 0x14]
jl 0x5b2066
cmp esi, edi
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 4]
jle 0x5b20ad
mov eax, esi
sub eax, edi
cmp ebx, eax
jle 0x5b20a9
mov ebx, eax
test ebx, ebx
jge 0x5b20af
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.005b32c0
sub dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x14]
xor edi, edi
test ebx, ebx
jle 0x5b2145
lea esp, [esp]
test edi, edi
jl 0x5b20f1
cmp edi, dword [ebp + 0x28]
jge 0x5b20f1
mov ecx, dword [ebp + 0x24]
mov esi, dword [ecx + edi*4]
jmp 0x5b20f3
xor esi, esi
mov ecx, esi
call fcn.005a6720
test eax, eax
je 0x5b2140
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.005b0d50
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 0x5b20e0
xor esi, esi
test ebx, ebx
jle 0x5b217c
jmp 0x5b2150
test esi, esi
jl 0x5b2161
cmp esi, dword [ebp + 0x28]
jge 0x5b2161
mov edx, dword [ebp + 0x24]
mov edi, dword [edx + esi*4]
jmp 0x5b2163
xor edi, edi
mov ecx, edi
call fcn.005a6720
test eax, eax
je 0x5b2177
mov eax, dword [edi]
mov edx, dword [eax + 0x7c]
mov ecx, edi
call edx
inc esi
cmp esi, ebx
jl 0x5b2150
mov eax, dword [esp + 0x10]
push eax
call sub.mfc90u.dll_delete__
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10