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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
mov esi, edx
mov ebx, ecx
push edi
cmp dword [esi + 4], 0
je 0x48b0b2
mov ecx, 0x4042e0
mov edx, fcn.004108c0
jmp 0x48b0bc
mov ecx, fcn.00404290
mov edx, fcn.00410860
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
cmp eax, dword [esi + 0xc]
jbe case.0x48b0ee.6
mov eax, dword [esi + 8]
add eax, 0xfffffffd
mov dword [esp + 0x1c], 0xffffffff
cmp eax, 0xd
ja case.0x48b0ee.6
movzx eax, byte [eax + 0x48b4e8]
jmp dword [eax*4 + 0x48b4d8]
xor edi, edi
cmp dword [esi + 0x30], edi
jbe 0x48b168
lea esp, [esp]
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
imul ecx, edi
add eax, 8
push ebx
add eax, ecx
push eax
call edx
mov edx, dword [esi + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x20]
imul edx, edi
add eax, 4
push 1
add eax, edx
cdq
push edx
push eax
lea eax, [esp + 0x26]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x1c
cmp eax, 1
je 0x48b13f
or al, 0xff
jmp 0x48b143
mov al, byte [esp + 0x12]
mov ecx, dword [esi + 0x48]
mov edx, dword [esp + 0x24]
cmp ecx, edx
jb 0x48b158
movzx eax, al
lea eax, [edx + eax*8]
cmp ecx, eax
jb 0x48b164
inc edi
cmp edi, dword [esi + 0x30]
jae 0x48b168
mov edx, dword [esp + 0x18]
jmp 0x48b100
mov dword [esp + 0x1c], edi
mov eax, dword [esi + 0x2c]
cdq
push 1
push edx
push eax
lea eax, [esp + 0x1e]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
jne 0x48b189
cmp byte [esp + 0x12], 0
je 0x48b18f
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x2c]
push ebx
lea ecx, [eax + 0x18]
add eax, 8
push eax
mov dword [esp + 0x2c], ecx
call dword [esp + 0x20]
mov ecx, dword [esi + 0x2c]
add esp, 8
add ecx, eax
xor edi, edi
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x24]
push ebx
lea eax, [eax + edi*2]
push eax
call dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add esp, 8
movzx eax, ax
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [esi + 0x7c], eax
cdq
push 1
push edx
push eax
lea eax, [esp + 0x1f]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
jne 0x48b1f2
cmp byte [esp + 0x13], 0
je 0x48b2df
mov eax, dword [esi + 0x7c]
cdq
push 1
push edx
push eax
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
je 0x48b213
mov byte [esp + 0x12], 0xff
jmp 0x48b21b
mov al, byte [esp + 0x14]
mov byte [esp + 0x12], al
mov eax, dword [esi + 0x7c]
add eax, 4
cdq
push 1
push edx
push eax
lea eax, [esp + 0x21]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
je 0x48b23f
mov byte [esp + 0x11], 0xff
jmp 0x48b247
mov al, byte [esp + 0x15]
mov byte [esp + 0x11], al
mov eax, dword [esi + 0x7c]
add eax, 8
cdq
push 1
push edx
push eax
lea eax, [esp + 0x22]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
je 0x48b26b
mov byte [esp + 0x10], 0xff
jmp 0x48b273
mov al, byte [esp + 0x16]
mov byte [esp + 0x10], al
mov eax, dword [esi + 0x7c]
add eax, 0xc
cdq
push 1
push edx
push eax
lea eax, [esp + 0x23]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
je 0x48b294
or al, 0xff
jmp 0x48b298
mov al, byte [esp + 0x17]
movzx ecx, al
movzx eax, byte [esp + 0x10]
add ecx, eax
movzx eax, byte [esp + 0x11]
add ecx, eax
movzx eax, byte [esp + 0x12]
add ecx, eax
and ecx, 0x1f
cmp ecx, edi
jne 0x48b2f9
mov eax, dword [esi + 0x7c]
add eax, 0x10
push ebx
push eax
call dword [esp + 0x28]
movzx eax, ax
add esp, 8
cmp eax, dword [esp + 0x1c]
je case.0x48b0ee.6
add dword [esi + 0x7c], 0x14
mov eax, dword [esi + 0x7c]
jmp 0x48b1d0
inc edi
cmp edi, 0x20
jl 0x48b1b0
mov dword [esi + 0x7c], 0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
cmp dword [esi + 0x30], edi
jbe 0x48b378
lea esp, [esp]
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
imul ecx, edi
add eax, 8
push ebx
add eax, ecx
push eax
call edx
mov edx, dword [esi + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x20]
imul edx, edi
add eax, 4
push 1
add eax, edx
cdq
push edx
push eax
lea eax, [esp + 0x2b]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x1c
cmp eax, 1
je 0x48b34f
or al, 0xff
jmp 0x48b353
mov al, byte [esp + 0x17]
mov ecx, dword [esi + 0x48]
mov edx, dword [esp + 0x24]
cmp ecx, edx
jb 0x48b368
movzx eax, al
lea eax, [edx + eax*8]
cmp ecx, eax
jb 0x48b374
inc edi
cmp edi, dword [esi + 0x30]
jae 0x48b378
mov edx, dword [esp + 0x18]
jmp 0x48b310
mov dword [esp + 0x1c], edi
mov eax, dword [esi + 0x2c]
cdq
push 1
push edx
push eax
lea eax, [esp + 0x23]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
jne 0x48b399
cmp byte [esp + 0x17], 0
je 0x48b39f
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x78], eax
mov edi, dword [esi + 0x2c]
push ebx
lea eax, [edi + 8]
push eax
call dword [esp + 0x20]
lea ecx, [edi + 0xc]
add eax, edi
push ebx
push ecx
mov dword [esp + 0x34], eax
call dword [esp + 0x28]
mov ecx, dword [esi + 0x2c]
xor edi, edi
add ecx, eax
add esp, 0x10
mov dword [esp + 0x2c], ecx
cmp dword [esi + 0x30], edi
jbe case.0x48b0ee.6
mov eax, edi
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
add eax, 0xc
push ebx
push eax
call dword [esp + 0x28]
movzx eax, ax
add esp, 8
cmp eax, dword [esp + 0x1c]
je 0x48b402
inc edi
cmp edi, dword [esi + 0x30]
jb 0x48b3d1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push dword [esp + 0x2c]
jmp 0x48b4bf
xor edi, edi
cmp dword [esi + 0x30], edi
jbe 0x48b43c
mov eax, dword [esi + 0x44]
imul eax, edi
push ebx
add eax, dword [esi + 0x3c]
add eax, dword [esi + 0x20]
push eax
call ecx
movzx eax, ax
add esp, 8
cmp eax, dword [esi + 0x48]
ja 0x48b432
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x20]
inc edi
cmp edi, dword [esi + 0x30]
jb 0x48b413
mov eax, dword [esi + 0x2c]
cdq
push 1
push edx
push eax
lea eax, [esp + 0x23]
push eax
mov eax, dword [ebx]
push ebx
call eax
add esp, 0x14
cmp eax, 1
jne 0x48b45d
cmp byte [esp + 0x17], 0
je 0x48b463
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x2c]
add eax, 8
push ebx
push eax
call dword [esp + 0x20]
mov ecx, dword [esi + 0x30]
mov edi, eax
add edi, dword [esi + 0x2c]
mov eax, ecx
shl eax, 4
add esp, 8
add eax, edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], eax
test ecx, ecx
je case.0x48b0ee.6
lea eax, [edi + 0xc]
push ebx
push eax
call dword [esp + 0x20]
add esp, 8
cmp eax, dword [esp + 0x1c]
je 0x48b4bd
mov eax, dword [esp + 0x20]
add edi, 0x10
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esi + 0x30]
jb 0x48b491
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push edi
call dword [esp + 0x20]
add esp, 8
add eax, dword [esp + 0x2c]
mov dword [esi + 0x7c], eax
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret