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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb0
push ebx
push ebp
push esi
push edi
mov ebp, ecx
call fcn.00483110
test eax, eax
jne 0x48eb92
lea esi, [ebp + 0xe8]
mov ecx, esi
call fcn.00477730
test eax, eax
jg 0x48eb2b
mov ecx, ebp
call fcn.00488b60
test eax, eax
jl 0x48eb92
cmp dword [ebp + 0x144], 0
mov edi, 1
jne 0x48eb50
cmp dword [ebp + 0x148], edi
jne 0x48eb50
mov ecx, ebp
call fcn.0049cd20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00477730
cmp dword [ebp + 0x8c], 0
mov ebx, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], 0
je 0x48eb9c
lea esi, [ebp + 0x90]
mov ecx, esi
mov dword [esp + 0x10], esi
call fcn.00477730
test eax, eax
jle 0x48eb8e
mov ecx, ebp
call fcn.00489cd0
mov dword [esp + 0x34], eax
test ebx, ebx
jg 0x48ec04
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
jle 0x48eb92
lea esi, [ebp + 0x90]
mov ecx, esi
mov dword [esp + 0x10], esi
call fcn.004778c0
mov ecx, ebp
call fcn.00486480
test eax, eax
jne 0x48ebe3
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 8]
test eax, eax
jne 0x48ebd1
push eax
push eax
mov ecx, esi
call fcn.00477d30
jmp 0x48ebf8
mov eax, dword [eax - 0xc]
shr eax, 2
push 0
push eax
mov ecx, esi
call fcn.00477d30
jmp 0x48ebf8
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x48ebf0
mov eax, dword [eax - 0xc]
shr eax, 2
push eax
mov ecx, esi
call fcn.00477b70
mov dword [ebp + 0x8c], edi
mov dword [ebp + 0x114], edi
mov ecx, ebp
call fcn.00486480
test eax, eax
jne 0x48f12a
cmp dword [ebp + 0x7c], eax
jne 0x48f130
mov ecx, esi
call fcn.00477730
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp + 0x84], 0
je 0x48ecfb
mov ecx, edi
lea ebx, [eax - 2]
test ebx, ebx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ecx
jge 0x48edad
xor ebx, ebx
jmp 0x48edad
xor ecx, ecx
mov ebx, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ecx
cmp eax, edi
jle 0x48ef5f
add eax, 0xffffffff
mov dword [esp + 0x1c], eax
lea esp, [esp]
mov eax, dword [esp + 0x24]
xor ecx, ecx
add eax, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
jl 0x48ef0d
mov eax, dword [esp + 0x28]
lea edi, [ebp + 0xe8]
push eax
mov ecx, edi
call fcn.004779b0
mov ecx, dword [esp + 0x28]
mov esi, eax
push ecx
mov ecx, edi
shr esi, 0x18
call fcn.004779b0
mov edi, eax
and edi, 0xffffff
cmp dword [esp + 0x14], esi
jge 0x48ee8a
mov ecx, dword [esp + 0x10]
mov edx, ebx
sub edx, dword [esp + 0x18]
add edx, edx
push edx
call fcn.004779b0
push 0xffffffffffffffff
push edi
and eax, 0xffffff
push eax
mov ecx, ebp
call fcn.004889b0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
lea eax, [ebx + ebx]
push eax
call fcn.004779b0
push 0xffffffffffffffff
push edi
and eax, 0xffffff
push eax
mov ecx, ebp
call fcn.004889b0
cmp dword [esp + 0x2c], 0
je 0x48ef02
mov ecx, dword [esp + 0x2c]
cmp word [ecx], 0
je 0x48ef02
test eax, eax
je 0x48ef02
cmp word [eax], 0
je 0x48ef02
push eax
call fcn.0047e630
test eax, eax
je 0x48ef02
cmp esi, dword [ebp + 0xe4]
jge 0x48ee9e
mov ecx, ebx
sub ecx, dword [esp + 0x18]
cmp dword [esp + esi*4 + 0x38], ecx
jge 0x48eeef
cmp dword [esp + 0x30], esi
je 0x48eeef
mov edx, dword [esp + esi*4 + 0x38]
mov eax, esi
and edx, 0xffffff
shl eax, 0x18
or edx, eax
cmp dword [ebp + 0x84], 0
push 0
push edx
je 0x48eedc
mov edi, dword [esp + 0x28]
lea ecx, [edi + ebx + 1]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00477dc0
add edi, 1
mov dword [esp + 0x20], edi
jmp 0x48eeeb
mov ecx, dword [esp + 0x18]
push ebx
call fcn.00477dc0
add dword [esp + 0x20], 1
mov dword [esp + 0x30], esi
cmp dword [esp + 0x14], 0
jne 0x48eefa
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], 1
sub dword [esp + 0x28], 1
jns 0x48ede1
cmp dword [ebp + 0x84], 0
je 0x48ef36
mov ecx, dword [esp + 0x10]
call fcn.00477730
cdq
sub eax, edx
sar eax, 1
cmp dword [esp + 0x14], 0
jl 0x48ef50
mov ecx, dword [esp + 0x14]
add ecx, 1
sub eax, ebx
jmp 0x48ef4a
add ebx, dword [esp + 0x20]
cmp dword [esp + 0x14], 0
jl 0x48ef50
mov ecx, dword [esp + 0x14]
add ecx, 1
mov eax, ebx
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
add ebx, dword [esp + 0x18]
sub dword [esp + 0x1c], 1
jne 0x48edc0
mov eax, dword [ebp + 0x54]
mov eax, dword [eax + 8]
test eax, eax
je 0x48f04a
mov eax, dword [eax - 0xc]
shr eax, 2
test eax, eax
jle 0x48f04a
mov ecx, dword [esp + 0x10]
call fcn.00477730
cdq
sub eax, edx
sar eax, 1
test eax, eax
mov dword [esp + 0x18], eax
jle 0x48f04a
xor edi, edi
cmp dword [esp + 0x24], edi
jle 0x48f04a
mov dword [esp + 0x34], 1
lea esp, [esp]
lea ebx, [ebp + 0xe8]
push edi
mov ecx, ebx
call fcn.004779b0
mov esi, eax
shr esi, 0x18
cmp esi, dword [ebp + 0xe4]
jge 0x48efd8
mov ecx, dword [esp + 0x18]
add ecx, 0xffffffff
cmp dword [esp + esi*4 + 0x38], ecx
jge 0x48f01d
cmp dword [ebp + 0x84], 0
push 0
je 0x48f002
mov edx, dword [esp + esi*4 + 0x3c]
mov ecx, dword [esp + 0x14]
mov eax, esi
and edx, 0xffffff
shl eax, 0x18
or edx, eax
push edx
push 0
call fcn.00477dc0
jmp 0x48f01d
mov ecx, dword [esp + esi*4 + 0x3c]
and ecx, 0xffffff
mov edx, esi
shl edx, 0x18
or ecx, edx
push ecx
mov ecx, dword [esp + 0x18]
call fcn.00477d80
add edi, 1
cmp edi, dword [esp + 0x24]
jge 0x48f04a
push edi
mov ecx, ebx
call fcn.004779b0
shr eax, 0x18
cmp esi, eax
jne 0x48f040
add edi, 1
cmp edi, dword [esp + 0x24]
jl 0x48f026
jmp 0x48f04a
cmp edi, dword [esp + 0x24]
jl 0x48efb0
cmp dword [ebp + 0x84], 0
je 0x48f6b4
mov ecx, dword [esp + 0x10]
xor edi, edi
cmp dword [ebp + 0x7c], edi
je 0x48f0ca
call fcn.00477730
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
test ebx, ebx
jle 0x48f6b4
add ebp, 0x80
lea esp, [esp]
push edi
mov ecx, ebp
call fcn.004779b0
mov esi, eax
shr esi, 0x18
test esi, esi
jle 0x48f0b7
push edi
mov ecx, ebp
call fcn.004779b0
mov ecx, eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x10]
and eax, 0xffffff
shl esi, 0x18
or eax, esi
push eax
lea edx, [edi + edi]
push edx
call fcn.00477b10
add edi, 1
cmp edi, ebx
jl 0x48f080
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00477730
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
test ebx, ebx
jle 0x48f6b4
mov ebp, dword [esp + 0x10]
push edi
mov ecx, ebp
call fcn.004779b0
mov esi, eax
shr esi, 0x18
test esi, esi
jle 0x48f117
push edi
mov ecx, ebp
call fcn.004779b0
mov ecx, eax
mov eax, ebx
sub eax, ecx
and eax, 0xffffff
shl esi, 0x18
or eax, esi
push eax
lea edx, [edi + edi]
push edx
mov ecx, ebp
call fcn.00477b10
add edi, 1
cmp edi, ebx
jl 0x48f0e2
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x7c], 0
je 0x48f13c
lea ecx, [ebp + 0x80]
mov dword [esp + 0x1c], ecx
jmp 0x48f142
mov ecx, esi
mov dword [esp + 0x1c], esi
call fcn.00477730
cmp dword [ebp + 0x84], 0
mov esi, eax
je 0x48f21c
mov eax, edi
lea ebx, [esi - 2]
test ebx, ebx
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
jge 0x48f2ce
xor ebx, ebx
jmp 0x48f2ce
xor eax, eax
mov ebx, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov ecx, ebp
call fcn.00486460
test eax, eax
je 0x48f2e4
cmp dword [ebp + 0x7c], 0
jne 0x48f2e4
call fcn.004865e0
cmp esi, edi
jle 0x48f4f0
add esi, 0xffffffff
mov dword [esp + 0xbc], esi
mov eax, dword [esp + 0x24]
xor ecx, ecx
add eax, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
jl 0x48f4a3
jmp 0x48f320
mov eax, dword [esp + 0x28]
lea edi, [ebp + 0xe8]
push eax
mov ecx, edi
call fcn.004779b0
mov ecx, dword [esp + 0x28]
mov esi, eax
push ecx
mov ecx, edi
shr esi, 0x18
call fcn.004779b0
mov edi, eax
mov ecx, ebp
and edi, 0xffffff
call fcn.00486460
test eax, eax
je 0x48f35f
cmp esi, 1
je 0x48f498
cmp dword [esp + 0x14], esi
jge 0x48f427
cmp dword [ebp + 0x7c], 0
push 0xffffffffffffffff
push edi
je 0x48f3bb
mov edx, ebx
sub edx, dword [esp + 0x20]
lea ecx, [ebp + 0x80]
push edx
call fcn.004779b0
mov ecx, dword [esp + 0x18]
and eax, 0xffffff
push eax
call fcn.004779b0
and eax, 0xffffff
push eax
mov ecx, ebp
call fcn.004889b0
push 0xffffffffffffffff
push edi
push ebx
lea ecx, [ebp + 0x80]
mov dword [esp + 0x38], eax
call fcn.004779b0
and eax, 0xffffff
push eax
jmp 0x48f3e0
mov ecx, dword [esp + 0x18]
mov eax, ebx
sub eax, dword [esp + 0x20]
push eax
call fcn.004779b0
and eax, 0xffffff
push eax
mov ecx, ebp
call fcn.004889b0
push 0xffffffffffffffff
push edi
mov dword [esp + 0x34], eax
push ebx
mov ecx, dword [esp + 0x1c]
call fcn.004779b0
and eax, 0xffffff
push eax
mov ecx, ebp
call fcn.004889b0
cmp dword [esp + 0x2c], 0
je 0x48f498
mov ecx, dword [esp + 0x2c]
cmp word [ecx], 0
je 0x48f498
test eax, eax
je 0x48f498
cmp word [eax], 0
je 0x48f498
push eax
call fcn.0047e630
test eax, eax
je 0x48f498
cmp esi, dword [ebp + 0xe4]
jge 0x48f43b
mov edx, ebx
sub edx, dword [esp + 0x18]
cmp dword [esp + esi*4 + 0x38], edx
jge 0x48f485
cmp dword [esp + 0x30], esi
je 0x48f485
mov eax, dword [esp + esi*4 + 0x38]
mov ecx, esi
shl ecx, 0x18
and eax, 0xffffff
or eax, ecx
cmp dword [ebp + 0x84], 0
mov ecx, dword [esp + 0x1c]
push eax
je 0x48f476
mov edi, dword [esp + 0x24]
lea edx, [edi + ebx + 1]
push edx
call fcn.00477c80
add edi, 1
mov dword [esp + 0x20], edi
jmp 0x48f481
push ebx
call fcn.00477c80
add dword [esp + 0x20], 1
mov dword [esp + 0x30], esi
cmp dword [esp + 0x14], 0
jne 0x48f490
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], 1
sub dword [esp + 0x28], 1
jns 0x48f320
cmp dword [ebp + 0x84], 0
je 0x48f4c7
mov ecx, dword [esp + 0x1c]
call fcn.00477730
cmp dword [esp + 0x14], 0
jl 0x48f4de
mov ecx, dword [esp + 0x14]
add ecx, 1
sub eax, ebx
jmp 0x48f4d8
mov eax, dword [esp + 0x14]
add ebx, dword [esp + 0x20]
test eax, eax
jl 0x48f4de
lea ecx, [eax + 1]
mov eax, ebx
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
add ebx, dword [esp + 0x18]
sub dword [esp + 0xbc], 1
jne 0x48f2f6
mov eax, dword [ebp + 0x28]
test eax, eax
je 0x48f553
mov eax, dword [eax - 0xc]
shr eax, 2
test eax, eax
jle 0x48f553
mov ecx, dword [esp + 0x1c]
call fcn.00477730
test eax, eax
mov dword [esp + 0x18], eax
jle 0x48f553
xor edi, edi
cmp dword [esp + 0x24], edi
jle 0x48f553
lea ebx, [ebx]
lea ebx, [ebp + 0xe8]
push edi
mov ecx, ebx
call fcn.004779b0
mov esi, eax
mov ecx, ebp
shr esi, 0x18
call fcn.00486460
test eax, eax
je 0x48f5c7
cmp esi, 1
jne 0x48f5c7
add edi, esi
cmp edi, dword [esp + 0x24]
jl 0x48f520
cmp dword [ebp + 0x84], 0
je 0x48f69e
mov ecx, dword [esp + 0x1c]
xor edi, edi
cmp dword [ebp + 0x7c], edi
je 0x48f654
call fcn.00477730
mov ebx, eax
test ebx, ebx
jle 0x48f69e
mov edi, edi
push edi
lea ecx, [ebp + 0x80]
call fcn.004779b0
mov esi, eax
shr esi, 0x18
test esi, esi
jle 0x48f5bb
push edi
lea ecx, [ebp + 0x80]
call fcn.004779b0
mov ecx, ebx
sub ecx, eax
and ecx, 0xffffff
shl esi, 0x18
or ecx, esi
push ecx
mov ecx, dword [esp + 0x20]
push edi
call fcn.00477b10
add edi, 1
cmp edi, ebx
jl 0x48f580
jmp 0x48f69e
cmp esi, dword [ebp + 0xe4]
jge 0x48f5dc
mov edx, dword [esp + 0x18]
add edx, 0xffffffff
cmp dword [esp + esi*4 + 0x38], edx
jge 0x48f61e
cmp dword [ebp + 0x84], 0
je 0x48f603
mov eax, dword [esp + esi*4 + 0x38]
mov ecx, esi
shl ecx, 0x18
and eax, 0xffffff
or eax, ecx
mov ecx, dword [esp + 0x1c]
push eax
push 0
call fcn.00477c80
jmp 0x48f61e
mov edx, dword [esp + esi*4 + 0x38]
mov ecx, dword [esp + 0x1c]
mov eax, esi
and edx, 0xffffff
shl eax, 0x18
or edx, eax
push edx
call fcn.00477b40
add edi, 1
cmp edi, dword [esp + 0x24]
mov dword [esp + 0x34], 1
jge 0x48f553
push edi
mov ecx, ebx
call fcn.004779b0
shr eax, 0x18
cmp esi, eax
jne 0x48f54d
add edi, 1
cmp edi, dword [esp + 0x24]
jl 0x48f633
jmp 0x48f553
call fcn.00477730
mov ebx, eax
test ebx, ebx
jle 0x48f69e
nop
mov ecx, dword [esp + 0x10]
push edi
call fcn.004779b0
mov esi, eax
shr esi, 0x18
test esi, esi
jle 0x48f697
mov ecx, dword [esp + 0x10]
push edi
call fcn.004779b0
mov ecx, dword [esp + 0x1c]
mov edx, ebx
sub edx, eax
and edx, 0xffffff
shl esi, 0x18
or edx, esi
push edx
push edi
call fcn.00477b10
add edi, 1
cmp edi, ebx
jl 0x48f660
mov ecx, ebp
call fcn.00486460
test eax, eax
je 0x48f6b4
cmp dword [ebp + 0x7c], 0
jne 0x48f6b4
call fcn.0048d610
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret