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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
mov dword [esp + 0x20], 0
cmp dword [ebp + 8], 0
mov eax, dword [0x10075e30]
push esi
push edi
mov dword [esp + 0x14], eax
je 0x48e193
lea ecx, [esp + 0x18]
push ecx
lea edx, [ebp + 8]
push edx
add eax, 0x48
push eax
call fcn.00497f50
test eax, eax
je 0x48e193
mov eax, dword [esp + 0x18]
mov dword [ebp + 8], eax
cmp dword [ebp + 0x18], 0xa
mov ebx, dword [ebp + 0x10]
jne 0x48e59f
push 0x200
xor eax, eax
mov dword [esp + 0x38], 0xff
call fcn.004b15e0
xor esi, esi
mov word [eax], si
mov edi, dword [ebx + 8]
shr edi, 1
mov dword [esp + 0x30], eax
lea eax, [edi + 1]
add esp, 4
cmp eax, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x78], esi
jbe 0x48e1e6
lea ecx, [eax + eax]
push ecx
call fcn.004b1530
mov esi, eax
add esp, 4
mov dword [esp + 0x78], esi
add edi, edi
push edi
lea edx, [ebx + 0xc]
push edx
push esi
mov word [edi + esi], 0
call dword [0x10075f88]
xor eax, eax
push esi
lea edi, [esp + 0x4c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
call fcn.00498aa0
cmp dword [ebx + 4], 0
mov edx, dword [esp + 0x48]
je 0x48e2be
push 0x200
xor eax, eax
mov dword [esp + 0x28], 0xff
call fcn.004b15e0
mov edx, dword [esp + 0x18]
mov word [eax], 0
mov ecx, dword [ebx + 4]
mov dword [esp + 0x20], eax
add esp, 4
lea eax, [esp + 0x1c]
push eax
mov eax, dword [edx]
push ecx
mov dword [esp + 0x28], 0
call fcn.004c4bc0
mov eax, edi
push eax
push 0x10060788
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x48]
push edx
call fcn.00497ac0
add esp, 0xc
push eax
lea esi, [esp + 0x5c]
call fcn.00497a20
mov eax, dword [eax]
add esp, 8
push eax
lea edi, [esp + 0x30]
call fcn.00498aa0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48e2b3
call fcn.004b16a0
mov eax, dword [esp + 0x3c]
xor esi, esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
jmp 0x48e3ac
mov eax, dword [esp + 0x3c]
xor esi, esi
jmp 0x48e3ac
movzx eax, word [edx]
test ax, ax
mov ecx, edx
je 0x48e2e6
movzx eax, ax
jmp 0x48e2d0
cmp ax, 0x5c
je 0x48e381
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48e2d0
push 0x200
xor eax, eax
mov dword [esp + 0x28], 0xff
call fcn.004b15e0
mov edx, dword [ebp + 8]
add esp, 4
mov dword [esp + 0x1c], eax
mov word [eax], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x28], 0
call fcn.004c4bc0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x48]
push ecx
push 0x10060788
push edx
lea eax, [esp + 0x6c]
call fcn.004bc9d0
add esp, 4
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00497ac0
add esp, 0xc
push eax
lea esi, [esp + 0x5c]
call fcn.00497a20
mov ecx, dword [eax]
add esp, 8
push ecx
lea edi, [esp + 0x30]
call fcn.00498aa0
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48e38d
call fcn.004b16a0
xor esi, esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
jmp 0x48e38f
push edx
lea edi, [esp + 0x30]
call fcn.00498aa0
jmp 0x48e3c2
xor esi, esi
mov eax, dword [esp + 0x3c]
cmp eax, esi
je 0x48e3a8
call fcn.004b16a0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x48e3b5
call fcn.004b16a0
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x48e3c2
call fcn.004b16a0
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
push edx
push eax
call fcn.004bfdc0
test eax, eax
mov edi, dword [esp + 0x2c]
jne 0x48e489
mov ecx, dword [esi]
push 1
push edi
lea eax, [esp + 0x40]
push eax
call fcn.004c1430
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x48e41f
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x48e418
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x38], 0
cmp dword [esp + 0x18], 0
jne 0x48e489
push edi
lea eax, [esp + 0x40]
mov dword [esp + 0x2c], 1
call fcn.004bc9d0
mov eax, dword [eax]
add esp, 4
push 1
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esi]
call fcn.004c1430
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x48e477
mov edx, dword [ecx]
mov eax, dword [edx + 0x58]
call eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48e470
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], 0
cmp dword [esp + 0x1c], 0
jne 0x48e489
push 1
mov eax, esi
call fcn.004925b0
test eax, eax
mov byte [esp + 0x13], 0
je 0x48e48e
mov byte [esp + 0x13], 1
test byte [esp + 0x28], 1
je 0x48e4b0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48e4b0
call fcn.004b16a0
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
cmp byte [esp + 0x13], 0
je 0x48e57a
push edi
lea eax, [esp + 0x20]
push eax
call dword [0x10075f80]
xor eax, eax
lea edx, [esp + 0x80]
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
push edx
lea eax, [esp + 0x64]
lea ecx, [esp + 0x20]
push eax
mov dword [esp + 0x68], 0x18
mov dword [esp + 0x74], 0x40
mov dword [esp + 0x70], ecx
call fcn.0048f520
neg eax
sbb eax, eax
add eax, 1
cmp byte [ebx], 0
jne 0x48e53c
test eax, eax
je 0x48e53c
lea ecx, [esp + 0x48]
call fcn.004894f0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48e525
call fcn.004b16a0
lea ecx, [esp + 0x2c]
call fcn.004894f0
mov eax, 0xc0000035
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov edx, dword [ebp + 8]
mov ecx, dword [esi]
push edi
push edx
call fcn.004c56d0
mov esi, eax
mov eax, dword [esp + 0x48]
test eax, eax
je 0x48e557
call fcn.004b16a0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48e564
call fcn.004b16a0
test edi, edi
je 0x48e56f
mov eax, edi
call fcn.004b16a0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [esp + 0x48]
test eax, eax
je 0x48e587
call fcn.004b16a0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48e594
call fcn.004b16a0
test edi, edi
je 0x48e59f
mov eax, edi
call fcn.004b16a0
mov esi, dword [esp + 0x14]
mov edi, dword [ebp + 8]
mov eax, dword [esi]
push edi
push eax
call fcn.004bfdc0
test eax, eax
je 0x48e80b
xor eax, eax
cmp dword [0x10075ef0], eax
je 0x48e636
mov eax, esi
mov ecx, dword [eax]
xor esi, esi
push 0x100
xor eax, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0xff
call fcn.004b15e0
add esp, 4
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], eax
push 0x1006078c
lea esi, [esp + 0x30]
mov byte [eax], 0
call fcn.00498280
mov edx, dword [esp + 0x1c]
sub esp, 0xc
mov eax, esp
push edi
push edx
call fcn.004bfe80
mov eax, esi
call fcn.00498f20
push 0x100607b0
mov esi, eax
call fcn.00498280
lea eax, [esp + 0x2c]
push eax
call fcn.0049ce70
mov esi, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [ebp + 0x18]
add ecx, 0xfffffffc
cmp ecx, 0x1a
ja 0x48e78f
movzx ecx, byte [ecx + 0x10006458]
jmp dword [ecx*4 + 0x1000643c]
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [esi]
call fcn.004c4a30
cmp eax, 1
jne 0x48e843
cmp dword [ebp + 0x18], 0xd
jne 0x48e843
push 0x18
lea ecx, [esp + 0x64]
push ecx
call dword [0x10075f84]
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x68], edi
call fcn.0048e100
mov edi, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
mov eax, dword [0x10075e30]
mov eax, dword [eax + 0x1b4]
push ecx
mov ecx, dword [ebp + 0xc]
push edx
push ebx
push ecx
push edi
call eax
mov edi, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14