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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xf4
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0xf0], eax
mov ecx, dword [ebp + 8]
movsd xmm1, qword [0x10399988]
push ebx
push esi
movss xmm0, dword [ecx + 0xc]
movss xmm5, dword [ecx]
movss xmm4, dword [ecx + 0x18]
movss xmm3, dword [ecx + 4]
movss xmm6, dword [ecx + 8]
movss xmm7, dword [ecx + 0x14]
movss xmm2, dword [ecx + 0x1c]
mov esi, dword [ebp + 0xc]
cvtps2pd xmm0, xmm0
push edi
mov dword [esp + 0x3c], esi
cvtps2pd xmm5, xmm5
movsd qword [esp + 0xb8], xmm0
movss xmm0, dword [ecx + 0x10]
cvtps2pd xmm4, xmm4
cvtps2pd xmm3, xmm3
comisd xmm4, xmm5
cvtps2pd xmm6, xmm6
cvtps2pd xmm0, xmm0
cvtps2pd xmm7, xmm7
cvtps2pd xmm2, xmm2
movsd qword [esp + 0xa0], xmm5
movsd qword [esp + 0xa8], xmm3
movsd qword [esp + 0xb0], xmm6
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xc8], xmm7
movsd qword [esp + 0xd0], xmm4
movsd qword [esp + 0xd8], xmm2
jb 0x10144693
movaps xmm0, xmm5
subsd xmm0, xmm6
comisd xmm1, xmm0
jbe 0x101446b4
subsd xmm6, xmm4
comisd xmm1, xmm6
jmp 0x101446ab
movaps xmm0, xmm6
subsd xmm0, xmm5
comisd xmm1, xmm0
jbe 0x101446b4
movaps xmm0, xmm4
subsd xmm0, xmm6
comisd xmm1, xmm0
jbe 0x101446b4
mov eax, 1
jmp 0x101446b6
xor eax, eax
test al, al
je 0x1014479e
comisd xmm4, xmm5
jb 0x101446e0
movss xmm0, dword [ecx + 0x10]
cvtps2pd xmm0, xmm0
subsd xmm5, xmm0
comisd xmm1, xmm5
jbe 0x10144706
subsd xmm0, xmm4
comisd xmm1, xmm0
jmp 0x101446fd
movss xmm6, dword [ecx + 0x10]
cvtps2pd xmm6, xmm6
movaps xmm0, xmm6
subsd xmm0, xmm5
comisd xmm1, xmm0
jbe 0x10144706
subsd xmm4, xmm6
comisd xmm1, xmm4
jbe 0x10144706
mov eax, 1
jmp 0x10144708
xor eax, eax
test al, al
je 0x1014479e
comisd xmm2, xmm3
movss xmm4, dword [ecx + 0xc]
cvtps2pd xmm4, xmm4
jb 0x10144735
movaps xmm0, xmm3
subsd xmm0, xmm4
comisd xmm1, xmm0
jbe 0x10144756
subsd xmm4, xmm2
comisd xmm1, xmm4
jmp 0x1014474d
movaps xmm0, xmm4
subsd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x10144756
movaps xmm0, xmm2
subsd xmm0, xmm4
comisd xmm1, xmm0
jbe 0x10144756
mov eax, 1
jmp 0x10144758
xor eax, eax
test al, al
je 0x1014479e
comisd xmm2, xmm3
jb 0x10144776
subsd xmm3, xmm7
comisd xmm1, xmm3
jbe 0x10144794
subsd xmm7, xmm2
comisd xmm1, xmm7
jmp 0x1014478b
movaps xmm0, xmm7
subsd xmm0, xmm3
comisd xmm1, xmm0
jbe 0x10144794
subsd xmm2, xmm7
comisd xmm1, xmm2
jbe 0x10144794
mov eax, 1
jmp 0x10144796
xor eax, eax
test al, al
jne case.default.0x101447bc
push 0
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.1009ba90
add esp, 0x10
cmp eax, 3
ja case.default.0x101447bc
jmp dword [eax*4 + 0x10144bec]
movsd xmm2, qword [esp + 0x60]
xorps xmm1, xmm1
comisd xmm2, xmm1
movsd xmm3, qword [esp + 0x50]
movsd xmm4, qword [0x103999a0]
jb 0x101447f6
xorps xmm0, xmm0
subsd xmm0, xmm3
comisd xmm4, xmm0
jbe 0x10144817
movaps xmm0, xmm3
subsd xmm0, xmm2
jmp 0x1014480a
movaps xmm0, xmm3
subsd xmm0, xmm1
comisd xmm4, xmm0
jbe 0x10144817
movaps xmm0, xmm2
subsd xmm0, xmm3
comisd xmm4, xmm0
jbe 0x10144817
mov eax, 1
jmp 0x10144819
xor eax, eax
test al, al
je case.0x101447bc.88
movsd xmm0, qword [esp + 0x68]
sub esp, 0x18
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call fcn.10146890
add esp, 0x18
test al, al
je case.0x101447bc.88
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x58]
movsd xmm0, qword [esp + 0x68]
mulsd xmm0, qword [esp + 0x50]
mulsd xmm2, xmm1
addsd xmm1, xmm1
mulsd xmm1, qword [esp + 0x68]
addsd xmm2, xmm0
divsd xmm2, xmm1
cvtpd2ps xmm1, xmm2
comiss xmm1, dword [0x10386824]
movss dword [esi], xmm1
jbe case.default.0x101447bc
movss xmm0, dword [0x10386834]
comiss xmm0, xmm1
jbe case.default.0x101447bc
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0xa4]
call fcn.10145d20
mov edi, eax
lea ecx, [esp + 0xa0]
lea eax, [esp + 0xe0]
mov dword [esp + 0x4c], edi
push eax
call fcn.10145e00
mov ebx, eax
cmp edi, 2
jne 0x10144951
xor ecx, ecx
test ebx, ebx
jle case.default.0x101447bc
movsd xmm4, qword [esp + 0x98]
xorps xmm3, xmm3
movsd xmm5, qword [esp + 0x90]
nop dword [eax + eax]
movsd xmm2, qword [esp + ecx*8 + 0xe0]
movaps xmm1, xmm4
movaps xmm0, xmm5
subsd xmm1, xmm2
subsd xmm0, xmm2
mulsd xmm1, xmm0
comisd xmm3, xmm1
jae 0x1014487b
inc ecx
cmp ecx, ebx
jl 0x10144910
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret
movsd xmm1, qword [esp + 0xb0]
xor esi, esi
subsd xmm1, qword [esp + 0xa0]
movsd xmm3, qword [esp + 0xc0]
movsd xmm4, qword [esp + 0xc8]
subsd xmm3, qword [esp + 0xb0]
subsd xmm4, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xd0]
subsd xmm2, qword [esp + 0xc0]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0xb8]
subsd xmm1, qword [esp + 0xa8]
movaps xmm0, xmm4
movsd qword [esp + 0x60], xmm3
mulsd xmm0, xmm4
movsd qword [esp + 0x50], xmm4
movsd qword [esp + 0x80], xmm1
movsd xmm1, qword [esp + 0xd8]
subsd xmm1, qword [esp + 0xc8]
movsd qword [esp + 0x78], xmm2
movsd qword [esp + 0x88], xmm1
movaps xmm1, xmm3
mulsd xmm1, xmm3
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esp + 0x80]
mulsd xmm0, xmm0
mulsd xmm1, xmm1
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x40]
addsd xmm1, xmm0
movsd xmm0, qword [esp + 0x88]
mulsd xmm0, xmm0
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [esp + 0x78]
mulsd xmm1, xmm1
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x40]
xor edi, edi
addsd xmm1, xmm0
mulsd xmm1, qword [0x103999a8]
addsd xmm1, xmm1
movsd qword [esp + 0x40], xmm1
test ebx, ebx
jle 0x10144b82
movsd xmm1, qword [0x103878b0]
xorps xmm0, xmm0
movsd xmm5, qword [0x1038b830]
nop
movsd xmm4, qword [esp + edi*8 + 0xe0]
comisd xmm0, xmm4
jae 0x10144b75
comisd xmm4, xmm1
jae 0x10144b75
movsd xmm3, qword [esp + 0x60]
subsd xmm1, xmm4
movsd xmm0, qword [esp + 0x70]
addsd xmm3, xmm3
movsd xmm2, qword [esp + 0x50]
addsd xmm2, xmm2
mulsd xmm0, xmm1
mulsd xmm3, xmm4
mulsd xmm2, xmm4
mulsd xmm0, xmm1
mulsd xmm3, xmm1
mulsd xmm2, xmm1
addsd xmm3, xmm0
movsd xmm0, qword [esp + 0x78]
mulsd xmm0, xmm4
mulsd xmm0, xmm4
addsd xmm3, xmm0
movsd xmm0, qword [esp + 0x80]
mulsd xmm0, xmm1
mulsd xmm3, xmm5
mulsd xmm0, xmm1
movsd xmm1, qword [esp + 0x88]
mulsd xmm1, xmm4
addsd xmm2, xmm0
mulsd xmm3, xmm3
mulsd xmm1, xmm4
addsd xmm2, xmm1
mulsd xmm2, xmm5
mulsd xmm2, xmm2
addsd xmm2, xmm3
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x40]
movsd xmm5, qword [0x1038b830]
comisd xmm1, xmm0
movsd xmm1, qword [0x103878b0]
jbe 0x10144b72
movsd xmm0, qword [esp + edi*8 + 0xe0]
mov eax, dword [esp + 0x3c]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
xorps xmm0, xmm0
inc edi
cmp edi, ebx
jl 0x10144a90
test esi, esi
jne 0x10144bd2
cmp dword [esp + 0x4c], 1
jne 0x10144bd2
movsd xmm1, qword [esp + 0x90]
mov eax, dword [esp + 0x3c]
cvtpd2ps xmm1, xmm1
comiss xmm1, dword [0x10386824]
movss dword [eax], xmm1
jbe 0x10144bd0
movss xmm0, dword [0x10386834]
comiss xmm0, xmm1
jbe 0x10144bd0
mov esi, 1
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf0]
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret
xor esi, esi
mov ecx, dword [esp + 0xfc]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1037e005
mov esp, ebp
pop ebp
ret