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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc8
mov eax, dword [0x6ae654]
xor eax, esp
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, ecx
mov dword [esp + 0x40], eax
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x40], edi
cmp dword [esi + 0x24], 0
je 0x4bee9d
mov ecx, dword [esi + 0x1c]
cmp ecx, 1
jle 0x4bee9d
mov eax, dword [esi + 0x14]
add eax, 0xfffffffe
add ecx, eax
mov eax, dword [esi + 0x10]
dec eax
and ecx, eax
mov eax, dword [esi + 0xc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
sub ecx, dword [edx + 0x18]
sbb eax, dword [edx + 0x1c]
test eax, eax
jg 0x4bf416
jl 0x4bee18
cmp ecx, 0x3e8
ja 0x4bf416
push edi
push edx
call fcn.004e2ae0
movsd xmm1, qword [esi + 0x40]
xorps xmm5, xmm5
fstp qword [esp + 0x30]
subsd xmm1, qword [esp + 0x30]
add esp, 8
divsd xmm1, qword [esi + 0x40]
comisd xmm1, xmm5
jbe 0x4bee47
mulsd xmm1, qword [0x662238]
movsd xmm0, qword [esi + 0x38]
addsd xmm0, xmm1
movsd xmm1, qword [0x663278]
comisd xmm1, xmm0
movsd qword [esi + 0x38], xmm0
jbe 0x4bee6d
movsd qword [esi + 0x38], xmm1
jmp 0x4bf2a1
cmp dword [esi + 0x60], 0
movaps xmm1, xmm0
jne 0x4bee7d
movd xmm2, dword [esi + 0x34]
jmp 0x4bee82
movd xmm2, dword [esi + 0x20]
cvtdq2pd xmm2, xmm2
comisd xmm0, xmm2
jbe 0x4bf2a1
movaps xmm1, xmm2
movsd qword [esi + 0x38], xmm2
jmp 0x4bf2a1
cmp dword [esi + 0x28], 0
je 0x4bf230
mov ecx, dword [esi + 0x20]
mov dword [esp + 0x14], ecx
cmp ecx, 0x1e
jg 0x4bf230
mov edx, dword [esi + 0x18]
cmp edx, 1
jb 0x4bf416
xor eax, eax
mov dword [esp + 8], eax
cmp dword [ebp + 0x18], eax
je 0x4beee7
movd xmm0, ecx
mov ecx, 1
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [esi + 0x38]
cmova eax, ecx
mov dword [esp + 8], eax
movd xmm1, dword [esi + 0x2c]
mov ecx, 0x1e
cvtdq2pd xmm1, xmm1
mov edi, dword [esi + 0x1c]
cmp edi, edx
cmovg edi, edx
xor eax, eax
mov dword [esp + 0x10], eax
cmp edi, ecx
mov dword [esp + 0x24], edi
xorps xmm0, xmm0
cmovl ecx, edi
divsd xmm1, qword [0x663738]
lea eax, [edi - 1]
mov dword [esp + 0xc], ecx
lea ecx, [esi + 8]
push eax
movsd qword [esp + 0x3c], xmm0
movsd qword [esp + 0x1c], xmm1
movd xmm1, dword [esi + 0x30]
cvtdq2pd xmm1, xmm1
movsd qword [esp + 0x34], xmm0
divsd xmm1, qword [0x663738]
movups xmmword [esp + 0x6c], xmm0
movsd qword [esp + 0x2c], xmm1
movups xmmword [esp + 0x7c], xmm0
call fcn.004bf6d0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x88], xmm0
movups xmm0, xmmword [eax + 0x10]
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x6c]
push eax
movups xmmword [esp + 0xa0], xmm0
call fcn.0051f190
mov edi, 1
add esp, 8
cmp dword [esp + 0xc], edi
jle 0x4bf0cb
mov eax, dword [esp + 0x24]
lea ecx, [esi + 8]
sub eax, edi
mov dword [esp + 0x38], edi
dec eax
push eax
call fcn.004bf6d0
movups xmm2, xmmword [eax]
movups xmmword [esp + 0xa8], xmm2
movups xmm0, xmmword [eax + 0x10]
movaps xmm1, xmm2
subsd xmm1, qword [esp + 0x88]
movups xmmword [esp + 0x48], xmm0
movups xmmword [esp + 0xb8], xmm0
movaps xmm0, xmm2
mulsd xmm1, xmm1
unpckhpd xmm0, xmm2
subsd xmm0, qword [esp + 0x90]
movups xmmword [esp + 0x58], xmm2
mulsd xmm0, xmm0
addsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4bf001
sqrtsd xmm0, xmm0
jmp 0x4bf006
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm5, xmm5
comisd xmm0, xmm5
jbe 0x4bf049
addsd xmm0, qword [esp + 0x30]
inc dword [esp + 0x10]
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x6c]
push eax
movsd qword [esp + 0x38], xmm0
call fcn.0051f190
movups xmm0, xmmword [esp + 0xc0]
add esp, 8
movups xmm1, xmmword [esp + 0xa8]
xorps xmm5, xmm5
jmp 0x4bf053
movups xmm0, xmmword [esp + 0x48]
movups xmm1, xmmword [esp + 0x58]
inc edi
comisd xmm5, xmm0
movups xmmword [esp + 0x88], xmm1
movups xmmword [esp + 0x98], xmm0
jae 0x4bf0a1
mov ecx, dword [esp + 0xc]
cmp edi, ecx
jl 0x4bef95
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x10]
cmp eax, 1
jl 0x4bf0da
movsd xmm1, qword [esp + 0x30]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
comisd xmm1, xmm5
ja 0x4bf0e5
jmp 0x4bf0dd
cmp dword [esp + 0x38], 1
mov dword [esp + 0xc], edi
jne 0x4bf07a
mov edi, dword [esp + 8]
test edi, edi
je 0x4bf0c4
movd xmm0, dword [esi + 0x34]
cvtdq2pd xmm0, xmm0
movsd qword [esi + 0x38], xmm0
jmp 0x4bf07e
movsd qword [esi + 0x38], xmm5
jmp 0x4bf07e
movsd xmm1, qword [esp + 0x38]
xorps xmm5, xmm5
mov edi, dword [esp + 8]
jmp 0x4bf0dd
xorps xmm1, xmm1
test edi, edi
je 0x4bf219
movsd xmm0, qword [esp + 0x28]
subsd xmm0, xmm1
comisd xmm0, xmm5
movsd qword [esp + 0x28], xmm0
jbe 0x4bf155
movsd xmm1, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
subsd xmm1, qword [esp + 0x70]
subsd xmm0, qword [esp + 0x68]
mulsd xmm1, xmm1
mulsd xmm0, xmm0
addsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4bf131
sqrtsd xmm0, xmm0
jmp 0x4bf136
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
divsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x28]
xorps xmm5, xmm5
mulsd xmm1, qword [esp + 0x18]
mulsd xmm0, xmm1
cvttsd2si edx, xmm0
jmp 0x4bf159
mov edx, dword [esp + 0x14]
cmp dword [esi + 0x60], 0
jne 0x4bf169
mov ecx, dword [esi + 0x34]
cmp edx, ecx
cmovge ecx, edx
jmp 0x4bf172
cmp edx, dword [esi + 0x20]
mov ecx, edx
cmovl ecx, dword [esi + 0x20]
movsd xmm3, qword [0x662230]
test edi, edi
je 0x4bf186
movsd xmm3, qword [0x662238]
movsd xmm1, qword [esi + 0x38]
movd xmm2, ecx
movaps xmm0, xmm1
cvtdq2pd xmm2, xmm2
subsd xmm0, xmm2
andps xmm0, xmmword [0x662280]
comisd xmm3, xmm0
jbe 0x4bf1b1
movsd qword [esi + 0x38], xmm2
movaps xmm1, xmm2
jmp 0x4bf1cc
comisd xmm1, xmm2
jbe 0x4bf1bd
subsd xmm1, xmm3
jmp 0x4bf1c7
comisd xmm2, xmm1
jbe 0x4bf1cc
addsd xmm1, xmm3
movsd qword [esi + 0x38], xmm1
movd xmm0, dword [esp + 0xc]
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jb 0x4bf1e4
movsd qword [esi + 0x38], xmm0
movaps xmm1, xmm0
movaps xmm0, xmm1
test edi, edi
jne 0x4bf206
mov eax, dword [esp + 0x24]
dec eax
movd xmm2, eax
cvtdq2pd xmm2, xmm2
comisd xmm1, xmm2
jb 0x4bf206
movsd qword [esi + 0x38], xmm2
movaps xmm0, xmm2
movsd xmm1, qword [0x660700]
comisd xmm0, xmm1
jb 0x4bf219
movsd qword [esi + 0x38], xmm1
cvttsd2si eax, qword [esi + 0x38]
mov dword [esp + 8], eax
cmp eax, 1
jl 0x4bf416
jmp 0x4bf2be
cmp dword [esi + 0x60], 0
jne 0x4bf24b
mov edi, dword [esi + 0x34]
xorps xmm5, xmm5
movd xmm1, edi
cvtdq2pd xmm1, xmm1
movsd qword [esi + 0x38], xmm1
jmp 0x4bf2a5
movd xmm2, dword [esi + 0x20]
movsd xmm3, qword [esi + 0x38]
cvtdq2pd xmm2, xmm2
comisd xmm2, xmm3
jbe 0x4bf28d
movaps xmm0, xmm2
movsd xmm1, qword [0x662238]
subsd xmm0, xmm3
addsd xmm0, qword [0x660be0]
divsd xmm0, xmm2
minsd xmm1, xmm0
addsd xmm1, xmm3
movsd qword [esi + 0x38], xmm1
comisd xmm1, xmm2
jmp 0x4bf294
movaps xmm1, xmm3
comisd xmm3, xmm2
jbe 0x4bf29e
movaps xmm1, xmm2
movsd qword [esi + 0x38], xmm2
xorps xmm5, xmm5
cvttsd2si edi, xmm1
xor ecx, ecx
mov dword [esp + 8], edi
xor edx, edx
xorps xmm2, xmm2
xorps xmm3, xmm3
xorps xmm4, xmm4
test edi, edi
jle 0x4bf364
xor eax, eax
xor edx, edx
xorps xmm2, xmm2
mov dword [esp + 0xc], eax
xorps xmm3, xmm3
xorps xmm4, xmm4
xor edi, edi
test eax, eax
je 0x4bf2d9
mov ecx, edx
jmp 0x4bf334
mov ecx, dword [esi + 0x1c]
cmp edi, ecx
jl 0x4bf2ed
mov eax, 1
mov ecx, edx
mov dword [esp + 0xc], eax
jmp 0x4bf334
mov eax, dword [esi + 0x14]
sub ecx, edi
dec eax
add ecx, eax
mov eax, dword [esi + 0x10]
dec eax
and ecx, eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp + 0x10]
sub eax, dword [ecx + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
sbb eax, dword [ecx + 0x1c]
mov dword [esp + 0x1c], eax
js 0x4bf330
jg 0x4bf323
cmp dword [esp + 0x14], 0x3e8
jbe 0x4bf330
mov eax, 1
mov ecx, edx
mov dword [esp + 0xc], eax
jmp 0x4bf334
mov eax, dword [esp + 0xc]
test ecx, ecx
je 0x4bf416
addsd xmm2, qword [ecx]
addsd xmm3, qword [ecx + 8]
addsd xmm4, qword [ecx + 0x10]
inc edi
mov edx, ecx
cmp edi, dword [esp + 8]
jl 0x4bf2d1
movsd xmm1, qword [esi + 0x38]
mov ecx, dword [esp + 0xc]
mov edi, dword [esp + 8]
movd xmm6, edi
cvtdq2pd xmm6, xmm6
subsd xmm1, xmm6
ucomisd xmm1, xmm5
lahf
test ah, 0x44
jnp 0x4bf3e3
mov eax, edx
test ecx, ecx
jne 0x4bf3b9
mov ecx, dword [esi + 0x1c]
cmp edi, ecx
jge 0x4bf3b9
mov eax, dword [esi + 0x14]
sub ecx, edi
dec eax
add ecx, eax
mov eax, dword [esi + 0x10]
dec eax
and ecx, eax
mov eax, dword [esi + 0xc]
mov esi, dword [ebp + 0x14]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp + 0x10]
sub ecx, dword [eax + 0x18]
sbb esi, dword [eax + 0x1c]
mov dword [esp + 0x1c], esi
js 0x4bf3b9
jg 0x4bf3b7
cmp ecx, 0x3e8
jbe 0x4bf3b9
mov eax, edx
movsd xmm0, qword [eax]
addsd xmm6, xmm1
mulsd xmm0, xmm1
addsd xmm2, xmm0
movsd xmm0, qword [eax + 8]
mulsd xmm0, xmm1
addsd xmm3, xmm0
movsd xmm0, qword [eax + 0x10]
mulsd xmm0, xmm1
addsd xmm4, xmm0
movsd xmm1, qword [0x660be0]
divsd xmm1, xmm6
mov eax, dword [esp + 0x40]
movaps xmm0, xmm1
mulsd xmm0, xmm2
movsd qword [eax], xmm0
movaps xmm0, xmm1
mulsd xmm0, xmm3
mulsd xmm1, xmm4
movsd qword [eax + 8], xmm0
mov eax, dword [esp + 0x44]
movsd qword [eax], xmm1
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor ecx, esp
call fcn.005a4e1e
mov esp, ebp
pop ebp
ret 0x14