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

Disassembly:
sub esp, 0x24
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x10], ebp
cmp dword [ebp + 0x2d0], 0
je 0x4e8cea
movss xmm0, dword [ebp + 8]
lea ecx, [esp + 0x20]
mov eax, dword [ebp]
push ecx
lea ecx, [esp + 0x20]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [ebp + 0xc]
push ecx
mov ecx, ebp
movss dword [esp + 0x20], xmm0
call dword [eax + 0x10]
movd xmm5, dword [esp + 0x38]
movss xmm2, dword [esp + 0x14]
cvtdq2ps xmm5, xmm5
comiss xmm5, xmm2
jb 0x4e8cea
movd xmm6, dword [esp + 0x3c]
movss xmm1, dword [esp + 0x18]
cvtdq2ps xmm6, xmm6
comiss xmm6, xmm1
jb 0x4e8cea
movd xmm0, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm2
comiss xmm0, xmm5
jbe 0x4e8cea
movd xmm0, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
comiss xmm0, xmm6
jbe 0x4e8cea
movd xmm0, dword [ebp + 0x2a8]
subss xmm5, xmm2
cvtdq2ps xmm0, xmm0
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
lea eax, [esp + 0x18]
push eax
subss xmm6, xmm1
xorps xmm7, xmm7
push dword [ebp + 0x2c8]
subss xmm5, xmm0
movd xmm0, dword [ebp + 0x2ac]
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
call fcn.004e8890
mov eax, dword [ebp + 0x2bc]
mov edx, dword [ebp + 0x2b8]
sub eax, edx
mov ecx, dword [esp + 0x14]
mov edi, ecx
sar eax, 2
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
cmp edi, eax
jae 0x4e8cea
mov ebx, dword [edx + edi*4]
xor esi, esi
cmp edi, ecx
movaps xmm3, xmm7
push 0xffffffffffffffff
cmove esi, dword [esp + 0x1c]
push esi
push ecx
mov ecx, ebx
call fcn.0043dc00
cmp dword [ebx + 0x80], 0
addss xmm7, xmm0
jne 0x4e8c6b
comiss xmm6, xmm3
jb 0x4e8c53
comiss xmm7, xmm6
jbe 0x4e8c53
movd xmm4, dword [ebp + 0x2b4]
xor edi, edi
cvtdq2ps xmm4, xmm4
comiss xmm7, xmm4
jb 0x4e8a9b
mov eax, dword [ebp + 0x2b8]
subss xmm4, xmm3
mov ebp, dword [esp + 0x38]
push 1
push esi
push ecx
mov ebp, dword [eax + ebp*4]
mov ecx, ebp
call fcn.0043dc00
comiss xmm0, xmm4
jae 0x4e8cea
nop dword [eax]
inc edi
lea eax, [edi + 1]
push eax
push esi
push ecx
mov ecx, ebp
call fcn.0043dc00
comiss xmm0, xmm4
jb 0x4e8a80
test edi, edi
je 0x4e8cea
mov ebp, dword [ebx + 0x78]
xor edx, edx
mov dword [esp + 0x3c], edx
cmp esi, ebp
jae 0x4e8ae0
lea edi, [esi + 1]
nop dword [eax + eax]
comiss xmm6, xmm3
jb 0x4e8ac8
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0043dc00
addss xmm0, xmm3
comiss xmm0, xmm6
ja 0x4e8b34
push edi
push esi
push ecx
mov ecx, ebx
call fcn.0043dc00
inc esi
addss xmm3, xmm0
inc edi
cmp esi, ebp
jb 0x4e8ab0
mov edx, dword [esp + 0x3c]
cmp edx, ebp
jae 0x4e8bac
mov eax, dword [ebx + 0x8c]
mov ecx, dword [ebx + 0x94]
sub ecx, eax
movd xmm2, eax
movzx eax, word [ebx + 0x60]
cvtdq2ps xmm2, xmm2
cmp ax, 1
jne 0x4e8b3c
shr ecx, 1
push edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x5c7480]
mov ecx, ebx
cvtpd2ps xmm1, xmm0
addss xmm2, xmm1
call fcn.0043a2e0
cdq
sub eax, edx
sar eax, 1
jmp 0x4e8b66
mov edx, esi
mov dword [esp + 0x3c], edx
jmp 0x4e8ae0
cmp ax, 2
jne 0x4e8b75
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
push edx
addsd xmm0, qword [ecx*8 + 0x5c7480]
mov ecx, ebx
cvtpd2ps xmm1, xmm0
addss xmm2, xmm1
call fcn.0043a2e0
mov edx, dword [esp + 0x3c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
mov ecx, dword [ebx + 0x110]
movss xmm4, dword [0x5de0cc]
movaps xmm1, xmm4
subss xmm1, dword [0x5c6ef0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
cvttss2si eax, xmm1
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
jmp 0x4e8bb7
movss xmm4, dword [0x5de0cc]
xorps xmm2, xmm2
push edx
lea eax, [esp + 0x2c]
mov ecx, ebx
push eax
call fcn.0043a260
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
add ebp, esi
cmp esi, ebp
jge 0x4e8c4b
mov ecx, dword [ebx + 0x1a0]
mov eax, 0x92492493
mov edi, dword [ebx + 0x19c]
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [esi*8]
sub edx, esi
mov dword [esp + 0x3c], eax
shl edx, 2
cmp esi, eax
jb 0x4e8c0c
xorps xmm0, xmm0
jmp 0x4e8c28
movd xmm0, dword [edi + edx + 0x10]
mov eax, dword [ebx + 0x178]
movsx ecx, word [edi + edx]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [eax + ecx*4]
mov eax, dword [esp + 0x3c]
divss xmm0, xmm4
comiss xmm5, xmm2
addss xmm2, xmm0
jb 0x4e8c3a
comiss xmm2, xmm5
ja 0x4e8c85
comiss xmm2, xmm5
ja 0x4e8cea
inc esi
add edx, 0x1c
cmp esi, ebp
jl 0x4e8c03
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x2b4]
sub eax, dword [ebp + 0x2ac]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm7, xmm0
jae 0x4e8cea
inc edi
mov dword [esp + 0x38], edi
cmp edi, dword [esp + 0x24]
jae 0x4e8cea
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x2b8]
jmp 0x4e8a05
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
mov ecx, dword [ecx + 0x2b8]
mov edi, dword [ecx + eax*4]
mov eax, 0x92492493
mov ecx, dword [edi + 0x1a0]
mov ebx, dword [edi + 0x19c]
sub ecx, ebx
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x4e8cc9
or eax, 0xffffffff
cwde
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 8
cmp esi, dword [edi + 0x150]
jg 0x4e8cbb
lea eax, [esi*8]
sub eax, esi
movzx eax, word [ebx + eax*4 + 4]
cwde
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x24
ret 8