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

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, dword [esp + 0x28]
push edi
mov edi, ecx
nop dword [eax]
mov ecx, dword [esi]
xor ebx, ebx
cmp ecx, dword [esi + 4]
jae 0x48a669
mov al, byte [ecx]
movzx ebx, al
test al, al
jle 0x48a669
lea eax, [ecx + 1]
mov dword [esi], eax
jmp 0x48a67f
push ebx
mov ecx, esi
call fcn.0041a670
mov ebx, eax
lea ecx, [ebx - 1]
cmp ecx, 0x7f
jae case.default.0x48a68e
mov ecx, ebx
shr ecx, 3
dec ecx
cmp ecx, 0xb
ja case.default.0x48a68e
jmp dword [ecx*4 + 0x48ab60]
cmp bl, 0xa
jne case.default.0x48a68e
or dword [edi + 8], 1
mov eax, dword [edi + 4]
and eax, 0xfffffffe
test byte [edi + 4], 1
je 0x48a6b1
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x78]
cmp ecx, 0x576458
jne 0x48a6cd
push 0x576458
push eax
lea ecx, [edi + 0x78]
call fcn.00424550
mov ecx, dword [edi + 0x78]
push ecx
push esi
call fcn.0041c060
add esp, 8
jmp 0x48ab3d
cmp bl, 0x12
jne case.default.0x48a68e
or dword [edi + 8], 2
mov eax, dword [edi + 4]
and eax, 0xfffffffe
test byte [edi + 4], 1
je 0x48a6f8
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x7c]
cmp ecx, 0x576458
jne 0x48a714
push 0x576458
push eax
lea ecx, [edi + 0x7c]
call fcn.00424550
mov ecx, dword [edi + 0x7c]
push ecx
push esi
call fcn.0041c060
add esp, 8
jmp 0x48ab3d
cmp bl, 0x1a
jne case.default.0x48a68e
lea ecx, [edi + 0x10]
call fcn.004386d0
push eax
push esi
call fcn.0041c060
add esp, 8
test al, al
je 0x48ab45
lea ecx, [edi + 0x10]
call fcn.004387a0
dec eax
lea ecx, [edi + 0x10]
push eax
call fcn.00438830
lea ecx, [edi + 0x10]
call fcn.004387a0
dec eax
lea ecx, [edi + 0x10]
push eax
call fcn.00438830
jmp 0x48a650
cmp bl, 0x22
jne case.default.0x48a68e
mov ecx, dword [edi + 0x2c]
test ecx, ecx
je 0x48a7a4
mov eax, dword [edi + 0x24]
mov edx, dword [ecx]
cmp eax, edx
jge 0x48a79f
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x24], eax
call fcn.0047d330
add esp, 8
jmp 0x48ab3d
cmp edx, dword [edi + 0x28]
jne 0x48a7b6
mov eax, dword [edi + 0x28]
lea ecx, [edi + 0x20]
inc eax
push eax
call fcn.00438d70
mov ecx, dword [edi + 0x2c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x20]
call fcn.0047a7a0
mov edx, dword [edi + 0x24]
add esp, 4
mov ecx, dword [edi + 0x2c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x24]
push esi
call fcn.0047d330
add esp, 8
jmp 0x48ab3d
cmp bl, 0x2a
jne case.default.0x48a68e
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x48a819
mov eax, dword [edi + 0x34]
mov edx, dword [ecx]
cmp eax, edx
jge 0x48a814
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x34], eax
call fcn.0047d3a0
add esp, 8
jmp 0x48ab3d
cmp edx, dword [edi + 0x38]
jne 0x48a82b
mov eax, dword [edi + 0x38]
lea ecx, [edi + 0x30]
inc eax
push eax
call fcn.00438d70
mov ecx, dword [edi + 0x3c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x30]
call fcn.0047a910
mov edx, dword [edi + 0x34]
add esp, 4
mov ecx, dword [edi + 0x3c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x34]
push esi
call fcn.0047d3a0
add esp, 8
jmp 0x48ab3d
cmp bl, 0x32
jne case.default.0x48a68e
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x48a881
mov eax, dword [edi + 0x44]
mov edx, dword [ecx]
cmp eax, edx
jge 0x48a87c
mov ebp, dword [ecx + eax*4 + 4]
inc eax
mov dword [edi + 0x44], eax
jmp 0x48a8b2
cmp edx, dword [edi + 0x48]
jne 0x48a893
mov eax, dword [edi + 0x48]
lea ecx, [edi + 0x40]
inc eax
push eax
call fcn.00438d70
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x40]
call fcn.0047b950
mov ecx, dword [edi + 0x44]
mov ebp, eax
mov eax, dword [edi + 0x4c]
add esp, 4
mov dword [eax + ecx*4 + 4], ebp
inc dword [edi + 0x44]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x48a8c9
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x48a8c9
inc eax
mov dword [esi], eax
jmp 0x48a8da
mov ecx, esi
call fcn.0041b110
mov ecx, eax
test ecx, ecx
js 0x48ab45
push ecx
lea eax, [esp + 0x14]
mov ecx, esi
push eax
call fcn.00419e90
cmp dword [esp + 0x14], 0
jl 0x48ab45
push esi
mov ecx, ebp
call fcn.0048bf70
test al, al
je 0x48ab45
push dword [esp + 0x10]
mov ecx, esi
call fcn.00419e30
jmp 0x48ab3d
cmp bl, 0x3a
jne case.default.0x48a68e
mov ecx, dword [edi + 0x5c]
test ecx, ecx
je 0x48a947
mov eax, dword [edi + 0x54]
mov edx, dword [ecx]
cmp eax, edx
jge 0x48a942
mov ebp, dword [ecx + eax*4 + 4]
inc eax
push ebp
push esi
mov dword [edi + 0x54], eax
call fcn.0047d410
add esp, 8
jmp 0x48ab3d
cmp edx, dword [edi + 0x58]
jne 0x48a959
mov eax, dword [edi + 0x58]
lea ecx, [edi + 0x50]
inc eax
push eax
call fcn.00438d70
mov ecx, dword [edi + 0x5c]
mov edx, dword [ecx]
lea eax, [edx + 1]
mov dword [ecx], eax
push dword [edi + 0x50]
call fcn.0047aea0
mov edx, dword [edi + 0x54]
add esp, 4
mov ecx, dword [edi + 0x5c]
mov ebp, eax
push ebp
mov dword [ecx + edx*4 + 4], ebp
inc dword [edi + 0x54]
push esi
call fcn.0047d410
add esp, 8
jmp 0x48ab3d
cmp bl, 0x42
jne case.default.0x48a68e
mov ecx, edi
call fcn.00465ea0
mov ebx, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x48a9b0
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x48a9b0
inc eax
mov dword [esi], eax
jmp 0x48a9c1
mov ecx, esi
call fcn.0041b110
mov ecx, eax
test ecx, ecx
js 0x48ab45
push ecx
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.00419e90
cmp dword [esp + 0x1c], 0
jl 0x48ab45
push esi
mov ecx, ebx
call fcn.0048acd0
test al, al
je 0x48ab45
push dword [esp + 0x18]
mov ecx, esi
call fcn.00419e30
jmp 0x48ab3d
cmp bl, 0x4a
jne case.default.0x48a68e
mov ecx, edi
call fcn.00465ee0
mov ebx, eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x48aa22
movzx ecx, byte [eax]
cmp ecx, 0x80
jae 0x48aa22
inc eax
mov dword [esi], eax
jmp 0x48aa33
mov ecx, esi
call fcn.0041b110
mov ecx, eax
test ecx, ecx
js 0x48ab45
push ecx
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.00419e90
cmp dword [esp + 0x24], 0
jl 0x48ab45
push esi
mov ecx, ebx
call fcn.0048c360
test al, al
je 0x48ab45
push dword [esp + 0x20]
mov ecx, esi
call fcn.00419e30
jmp 0x48ab3d
cmp bl, 0x50
jne 0x48aa86
lea eax, [edi + 0x60]
push eax
push esi
push 0x50
push 1
call fcn.0047d6c0
add esp, 0x10
jmp 0x48ab3d
cmp bl, 0x52
jne case.default.0x48a68e
lea eax, [edi + 0x60]
push eax
push esi
call fcn.0047d620
add esp, 8
jmp 0x48ab3d
cmp bl, 0x58
jne 0x48aabc
lea eax, [edi + 0x6c]
push eax
push esi
push 0x58
push 1
call fcn.0047d6c0
add esp, 0x10
jmp 0x48ab3d
cmp bl, 0x5a
jne case.default.0x48a68e
lea eax, [edi + 0x6c]
push eax
push esi
call fcn.0047d620
add esp, 8
jmp 0x48ab3d
cmp bl, 0x62
jne case.default.0x48a68e
or dword [edi + 8], 4
mov eax, dword [edi + 4]
and eax, 0xfffffffe
test byte [edi + 4], 1
je 0x48aae8
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x80]
cmp ecx, 0x576458
jne 0x48ab0d
push 0x576458
push eax
lea ecx, [edi + 0x80]
call fcn.00424550
mov ecx, dword [edi + 0x80]
push ecx
push esi
call fcn.0041c060
add esp, 8
jmp 0x48ab3d
test ebx, ebx
je 0x48ab51
test byte [edi + 4], 1
lea ecx, [edi + 4]
je 0x48ab2d
mov eax, dword [ecx]
and eax, 0xfffffffe
jmp 0x48ab32
call fcn.00408308
push eax
push ebx
push esi
call fcn.00434e10
add esp, 0xc
test al, al
jne 0x48a650
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x18
ret 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x18
ret 4