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

Disassembly:
sub esp, 0x1c
push ebx
push esi
mov esi, dword [esp + 0x2c]
push edi
mov edi, dword [esi]
mov dword [esp + 0x10], edi
test edi, edi
jne 0x48aa73
call fcn.004e9d50
test eax, eax
jne 0x48aab7
push eax
push 0x40
call fcn.004c2de0
mov edi, eax
mov dword [esp + 0x18], eax
add esp, 8
test edi, edi
je 0x48aab7
push 0x40
push 0
push edi
call sub.MSVCRT.dll_memset
mov dword [esi], edi
add esp, 0xc
mov esi, dword [esp + 0x2c]
mov ebx, dword [esi + 0xe8]
call fcn.004e9d50
test eax, eax
je 0x48a9f4
xor eax, eax
jmp 0x48aa09
test ebx, ebx
jg 0x48a9fc
xor eax, eax
jmp 0x48aa09
mov eax, ebx
cdq
push edx
push eax
call fcn.004c2de0
add esp, 8
mov dword [edi + 0x30], eax
test eax, eax
je 0x48aab7
mov eax, dword [esi + 0xe8]
mov dword [edi + 0x28], eax
lea eax, [esp + 0x30]
push 0
push eax
push 0xa
push esi
call fcn.0048c0c0
add esp, 0x10
test eax, eax
jne 0x48ad39
mov esi, dword [esp + 0x30]
push esi
call fcn.00466d00
add esp, 4
cmp eax, 0x64
jne 0x48aa62
push 0
push esi
call fcn.00467600
mov dword [edi + 0x10], eax
add esp, 8
mov dword [edi + 8], eax
mov eax, edx
mov dword [edi + 0x14], edx
mov dword [edi + 0xc], eax
push esi
call fcn.00468940
add esp, 4
test eax, eax
jne 0x48ad39
mov esi, dword [edi + 0x1c]
xor ebx, ebx
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x30], eax
test esi, esi
jle 0x48aa9d
mov edx, dword [edi + 0x18]
mov ecx, dword [esp + 0x38]
sub edx, ecx
lea esp, [esp]
mov al, byte [edx + ecx]
cmp al, byte [ecx]
jne 0x48aa9d
inc ebx
inc ecx
cmp ebx, esi
jl 0x48aa90
mov esi, dword [esp + 0x3c]
sub esi, ebx
mov dword [esp + 0xc], esi
test esi, esi
jg 0x48aac3
pop edi
pop esi
mov eax, 0x10b
pop ebx
add esp, 0x1c
ret
pop edi
pop esi
mov eax, 7
pop ebx
add esp, 0x1c
ret
mov eax, ebx
cdq
push ebp
mov ecx, eax
xor ebp, ebp
jmp 0x48aad0
shrd ecx, edx, 7
inc ebp
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x48aad0
mov eax, esi
xor edi, edi
cdq
mov ecx, eax
mov eax, edx
mov dword [esp + 0x1c], ecx
mov esi, ecx
mov dword [esp + 0x18], eax
mov ecx, eax
shrd esi, ecx, 7
inc edi
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x48aaf3
mov eax, dword [esp + 0x48]
cdq
mov ecx, eax
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x14]
mov eax, edx
mov dword [esp + 0x24], ecx
mov esi, ecx
mov dword [esp + 0x20], eax
mov ecx, eax
xor edx, edx
shrd esi, ecx, 7
inc edx
shr ecx, 7
mov eax, esi
or eax, ecx
jne 0x48ab20
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
add esi, edx
add esi, ebp
add esi, dword [esp + 0x10]
add esi, dword [esp + 0x48]
test eax, eax
jle 0x48ac0d
mov ebp, dword [esp + 0x30]
add eax, esi
cmp eax, dword [ebp + 0xe8]
jle 0x48ac0d
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
cmp esi, 0xffffffff
jne 0x48ab7c
cmp edx, 0x7fffffff
jne 0x48ab7c
pop ebp
pop edi
pop esi
mov eax, 0x10b
pop ebx
add esp, 0x1c
ret
mov ecx, esi
mov eax, edx
add ecx, 1
mov dword [edi + 0x10], ecx
adc eax, 0
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x34]
push eax
push dword [edi + 0x30]
push edx
push esi
push ebp
call fcn.0048d910
add esp, 0x14
test eax, eax
jne 0x48ad38
inc dword [ebp + 0x34]
lea eax, [ebx + 1]
push eax
push dword [esp + 0x40]
push dword [esp + 0x40]
push edi
push ebp
call fcn.004870f0
add esp, 0x14
test eax, eax
jne 0x48ad38
mov ebp, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0x34], eax
mov dword [edi + 0x1c], eax
mov eax, ebp
cdq
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, edx
mov dword [esp + 0x10], ebp
push eax
push ecx
mov dword [esp + 0x20], eax
call fcn.004bb450
push dword [esp + 0x28]
push dword [esp + 0x30]
lea esi, [eax + ebp]
call fcn.004bb450
add eax, esi
add esp, 0x10
mov esi, dword [esp + 0x48]
inc esi
add esi, eax
jmp 0x48ac11
mov ebp, dword [esp + 0x40]
mov eax, esi
cdq
add dword [edi + 0x38], eax
adc dword [edi + 0x3c], edx
cmp esi, dword [edi + 0x28]
jle 0x48ac58
mov eax, dword [edi + 0x30]
mov dword [esp + 0x28], eax
call fcn.004e9d50
test eax, eax
jne 0x48acf9
test esi, esi
sets al
dec eax
and eax, esi
cdq
push edx
push eax
push dword [esp + 0x30]
call fcn.004c9de0
add esp, 0xc
test eax, eax
je 0x48acf9
mov dword [edi + 0x30], eax
mov dword [edi + 0x28], esi
mov esi, dword [esp + 0x34]
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [edi + 0x30]
add eax, esi
push eax
call fcn.004b9af0
push dword [esp + 0x24]
add esi, eax
mov eax, dword [edi + 0x30]
push dword [esp + 0x2c]
add eax, esi
push eax
call fcn.004b9af0
add esi, eax
mov eax, dword [esp + 0x54]
add eax, ebx
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
push esi
push eax
mov eax, dword [edi + 0x30]
add eax, ebx
push eax
call sub.MSVCRT.dll_memcpy
push dword [esp + 0x44]
mov eax, dword [edi + 0x30]
add ebx, esi
push dword [esp + 0x4c]
add eax, ebx
push eax
call fcn.004b9af0
mov esi, dword [esp + 0x78]
add ebx, eax
mov eax, dword [edi + 0x30]
push esi
push dword [esp + 0x78]
add eax, ebx
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0x3c
lea eax, [ebx + esi]
cmp dword [esp + 0x38], 0
mov dword [edi + 0x2c], eax
je 0x48ad2c
cmp ebp, dword [edi + 0x20]
jle 0x48ad0f
lea esi, [ebp*2]
push esi
push dword [edi + 0x24]
call fcn.0045d560
add esp, 8
test eax, eax
jne 0x48ad06
pop ebp
pop edi
pop esi
mov eax, 7
pop ebx
add esp, 0x1c
ret
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], eax
mov dword [edi + 0x18], eax
push ebp
push dword [esp + 0x40]
push dword [edi + 0x18]
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov dword [edi + 0x1c], ebp
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x3c]
mov dword [edi + 0x18], eax
xor eax, eax
mov dword [edi + 0x1c], ebp
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x1c
ret