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

Disassembly:
push ebp
push edi
xor ebp, ebp
push esi
push ebx
sub esp, 0x4c
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
cmp dword [esi + ebp*4], 0xffffffff
lea edi, [ebp + 1]
je 0x480033
mov ebp, edi
jmp 0x480026
test ebp, ebp
jne 0x480070
mov dword [esp + 0x14], 0x53a
mov dword [esp + 0x10], 0x6e0e5a
mov dword [esp + 0xc], 0x6e1230
mov dword [esp + 8], 0x6e0e7d
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00647705
call fcn.00697e77
lea edx, [esi + ebp*4 - 4]
mov eax, dword [edx]
mov dword [esp + 0x20], edx
mov dword [esp], eax
call fcn.0064e8b8
test byte [eax + 8], 8
jne 0x480094
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov dword [ebx + 0x300], eax
mov dword [esp + 4], 4
mov dword [esp], edi
call fcn.00648939
mov edx, eax
mov dword [esp + 0x3c], eax
or eax, 0xffffffff
test edx, edx
je 0x48037a
lea ecx, [edi*4]
mov edi, edx
lea eax, [ebx + 0x35c]
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x250]
test eax, eax
je 0x4800e0
mov eax, dword [eax + 0x34]
test eax, eax
je 0x4800e0
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0x1c]
add eax, 0x3c
mov dword [esp], eax
call fcn.006489dc
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x250], 0
mov dword [esp], eax
call fcn.0063eeb9
mov eax, dword [esp + 0x3c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [ebx + 0x78]
cmp eax, 0xffffffff
mov esi, eax
je 0x4801c1
mov dword [esp], eax
call fcn.0064e8b8
test eax, eax
mov edi, eax
jne 0x480148
mov dword [esp + 8], 0x6e1237
mov dword [esp + 4], 0x10
or esi, 0xffffffff
mov dword [esp], ebx
call fcn.00647705
jmp 0x4801c1
mov eax, dword [eax]
mov dword [esp + 8], 0x6e126a
mov dword [esp + 4], 0x30
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00647705
mov edx, dword [esp + 0x3c]
xor eax, eax
cmp eax, ebp
jge 0x480178
cmp esi, dword [edx + eax*4]
je 0x48019a
inc eax
jmp 0x48016c
jne 0x48019a
mov eax, dword [edi]
mov dword [esp + 8], 0x6e128d
mov dword [esp + 4], 0x10
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00647705
jmp 0x4801c1
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x4801c1
mov edx, dword [eax]
test edx, edx
je 0x4801c1
add eax, 4
cmp esi, dword [edx]
jne 0x4801a4
jmp 0x4801d4
cmp dword [edx + 0xc], 0
mov dword [esp + 0x20], edx
jne 0x480242
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.006489dc
mov eax, esi
jmp 0x48037a
mov eax, dword [edx + 4]
test al, 2
je 0x4801fd
mov ecx, dword [ebx + 0x35c]
test ecx, ecx
je 0x4801fd
mov eax, dword [ecx + 4]
cmp esi, dword [eax + 0x24]
je 0x4801b3
mov eax, dword [edi]
mov dword [esp + 8], 0x6e12c9
mov dword [esp + 0xc], eax
jmp 0x480224
test al, 1
je 0x48022e
mov ecx, dword [ebx + 0x370]
test ecx, ecx
je 0x48022e
mov eax, dword [ecx + 4]
mov ecx, dword [edx + 8]
cmp dword [eax + 8], ecx
je 0x4801b3
mov eax, dword [edi]
mov dword [esp + 8], 0x6e1321
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x10
jmp 0x48028c
test al, 0xc
jne 0x4801b3
mov eax, dword [edi]
mov dword [esp + 8], 0x6e1377
mov dword [esp + 0xc], eax
jmp 0x480224
mov eax, dword [edi]
mov dword [esp + 8], 0x6e13ac
mov dword [esp + 4], 0x30
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00647705
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0xc]
test byte [ecx + 0x11], 2
je 0x480299
cmp dword [ebx + 0x238], 0xffffffff
jl 0x480299
mov eax, dword [ecx]
mov dword [esp + 8], 0x6e13d8
mov dword [esp + 4], 0x18
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00647705
jmp 0x480336
mov eax, dword [ecx + 0x38]
test eax, eax
jne 0x4802b2
mov eax, dword [ecx + 0x30]
mov dword [ebx + 0x250], ecx
test eax, eax
jne 0x4802e3
jmp 0x4801c1
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [esp], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], ecx
call fcn.00648a36
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esp + 0x28]
cmp dword [eax + 0x3c], 0
jne 0x4802a0
jmp 0x480336
mov dword [esp + 0x20], edx
mov dword [esp], ebx
call eax
test eax, eax
mov edx, dword [esp + 0x20]
jns 0x4801c1
mov eax, dword [edx]
mov dword [esp], eax
call fcn.0064e6c1
mov dword [esp + 8], 0x6e13fb
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x10
mov dword [esp], ebx
call fcn.00647705
mov eax, dword [ebx + 0x1c]
add eax, 0x3c
mov dword [esp], eax
call fcn.006489dc
mov dword [ebx + 0x250], 0
mov eax, dword [edi]
mov dword [esp + 8], 0x6e143f
mov dword [esp + 4], 0x30
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.00647705
mov edx, dword [esp + 0x3c]
xor eax, eax
cmp eax, ebp
jge 0x480366
cmp esi, dword [edx + eax*4]
je 0x480366
inc eax
jmp 0x48035a
inc eax
cmp ebp, eax
jle 0x480374
mov ecx, dword [edx + eax*4]
mov dword [edx + eax*4 - 4], ecx
jmp 0x480366
dec ebp
jmp 0x4800ca
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret