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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x90
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], rdi
movaps xmmword [rbp + 0x60], xmm6
movaps xmmword [rbp + 0x50], xmm7
movaps xmmword [rbp + 0x40], xmm8
movaps xmmword [rbp + 0x30], xmm9
movaps xmmword [rbp + 0x20], xmm10
mov rax, qword [0x1404a90f8]
xor rax, rbp
mov qword [rbp + 0x18], rax
movsxd r14, dword [rcx + 4]
mov rbx, rcx
movss xmm7, dword [rcx + 0xc]
mov rsi, r8
mov qword [rbp + 0x10], r9
mov r13, rdx
mov dword [rbp + 8], 0
mov rdi, r14
lea rax, [r14*4]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14022835b
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400be3f0
movss xmm8, dword [r13 + 0x3c]
sub rsp, rcx
mov eax, dword [rbx + 0xe8]
mov ecx, 2
cdq
movaps xmm2, xmm8
sub eax, edx
xorps xmm1, xmm1
sar eax, 1
lea r15, [rsp + 0x20]
cmp eax, ecx
mov qword [rbp], r15
cmovg ecx, eax
add eax, 0xfffffffe
xor r10d, r10d
mov dword [rbp + 0xc], ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
maxss xmm1, xmm2
minss xmm8, xmm1
test r14d, r14d
jle 0x14022847f
cmp r14d, 8
jb 0x14022847f
mov r8, qword [rbx + 0x30]
lea eax, [r14 - 1]
movsxd r9, eax
lea rdx, [rbx + 0x30]
lea rax, [rsi + r9*4]
lea rcx, [r15 + r9*4]
cmp r15, rax
ja 0x1402283ea
cmp rcx, rsi
jae 0x14022847f
lea rax, [r8 + r9*4]
cmp r15, rax
ja 0x1402283fc
cmp rcx, r8
jae 0x14022847f
cmp r15, rdx
ja 0x140228406
cmp rcx, rdx
jae 0x14022847f
mov ecx, r14d
and ecx, 0x80000007
jge 0x140228418
dec ecx
or ecx, 0xfffffff8
inc ecx
mov r11, r15
mov eax, r14d
sub eax, ecx
mov rdx, rsi
lea rcx, [r15 + 0x10]
movsxd r12, eax
sub rdx, r15
xor r9d, r9d
mov r15, 0xfffffffffffffff0
neg r11
sub r15, qword [rbp]
nop
movups xmm0, xmmword [rdx + rcx - 0x10]
lea rax, [r15 + rcx]
add r10d, 8
movups xmm1, xmmword [rax + r8]
lea rax, [r11 + rcx]
add r9, 8
lea rcx, [rcx + 0x20]
mulps xmm1, xmm0
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rdx + rcx - 0x20]
movups xmm1, xmmword [rax + r8]
mulps xmm1, xmm0
movups xmmword [rcx - 0x20], xmm1
cmp r9, r12
jl 0x140228440
mov r15, qword [rbp]
movsxd r9, r10d
cmp r9, rdi
jge 0x140228588
mov rax, rdi
sub rax, r9
cmp rax, 4
jl 0x14022854b
lea rdx, [r9 + 1]
mov r10, rdi
sub r10, r9
lea rdx, [r15 + rdx*4]
sub r10, 4
mov r8, rsi
sub r8, r15
shr r10, 2
mov r11d, 4
mov r12, 0xfffffffffffffffc
sub r12, qword [rbp]
sub r11, r15
mov r15d, 8
sub r15, qword [rbp]
inc r10
lea r9, [r9 + r10*4]
nop dword [rax]
mov rax, qword [rbx + 0x30]
lea rcx, [r12 + rdx]
lea rdx, [rdx + 0x10]
movss xmm0, dword [rax + rcx]
mulss xmm0, dword [r8 + rdx - 0x14]
movss dword [rdx - 0x14], xmm0
mov rax, qword [rbx + 0x30]
movss xmm1, dword [r8 + rdx - 0x10]
mulss xmm1, dword [rax + rcx + 4]
movss dword [rdx - 0x10], xmm1
mov rax, qword [rbx + 0x30]
add rax, r11
movss xmm0, dword [rax + rdx - 0x10]
mulss xmm0, dword [r8 + rdx - 0xc]
movss dword [rdx - 0xc], xmm0
mov rax, qword [rbx + 0x30]
add rax, r15
movss xmm0, dword [rax + rdx - 0x10]
mulss xmm0, dword [r8 + rdx - 8]
movss dword [rdx - 8], xmm0
sub r10, 1
jne 0x1402284e0
mov r15, qword [rbp]
cmp r9, rdi
jge 0x14022858c
mov r8, r15
lea rdx, [r15 + r9*4]
neg r8
sub rsi, r15
sub rdi, r9
mov rcx, qword [rbx + 0x30]
lea rdx, [rdx + 4]
add rcx, r8
movss xmm0, dword [rcx + rdx - 4]
mulss xmm0, dword [rsi + rdx - 4]
movss dword [rdx - 4], xmm0
sub rdi, 1
jne 0x140228564
jmp 0x14022858c
mov r15, qword [rbp]
lea rcx, [rbx + 0x10]
mov r8, r15
mov rdx, r15
call fcn.14021ee50
movss xmm1, dword [r15]
movss xmm2, dword [r15 + 8]
movss xmm0, dword [r15 + 4]
mov r12, qword [rbp + 0xc0]
cvtps2pd xmm3, xmm0
movsxd rax, dword [r12 + 0x8c]
mulss xmm1, xmm1
mulsd xmm3, qword [0x1404373f0]
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm0
cvtps2pd xmm0, xmm1
cvtps2pd xmm1, xmm2
addsd xmm3, xmm0
mulsd xmm1, qword [0x140437328]
cvtps2pd xmm0, xmm2
mulsd xmm1, xmm0
addsd xmm3, xmm1
cvtpd2ps xmm2, xmm3
movaps xmm1, xmm2
test eax, eax
jne 0x14022860f
addss xmm1, dword [r12 + 0x88]
movss dword [r12 + 0x88], xmm2
jmp 0x140228630
addss xmm1, dword [r12 + 0x84]
movaps xmm0, xmm2
addss xmm0, dword [r12 + 0x88]
movss dword [r12 + 0x88], xmm0
movss xmm5, dword [0x1404370b4]
movaps xmm0, xmm1
movss xmm6, dword [0x140437710]
mov r8d, 0
movss dword [r12 + 0x84], xmm1
subss xmm0, dword [r12 + rax*4 + 0x48]
cvtps2pd xmm1, xmm1
movss dword [r12 + 0x84], xmm0
mulsd xmm1, qword [0x1404372d0]
movss dword [r12 + rax*4 + 0x48], xmm2
inc dword [r12 + 0x8c]
mov eax, dword [r12 + 0x8c]
cmp eax, 0xf
cvtpd2ps xmm0, xmm1
cmovge eax, r8d
mov dword [r12 + 0x8c], eax
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
movss dword [rbp], xmm0
xorps xmm0, xmm0
mov ecx, dword [rbp]
btr ecx, 0x1f
cvtsi2ss xmm0, rcx
mulss xmm0, xmm5
subss xmm0, xmm6
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1404373c0]
subsd xmm0, qword [0x140437530]
cvtpd2ps xmm2, xmm0
test eax, eax
jle 0x140228768
movss xmm3, dword [0x1404371c8]
mov edx, r8d
movsd xmm4, qword [0x140437508]
lea r8d, [rax - 1]
shr r8d, 1
mov rcx, r15
inc r8d
nop dword [rax]
movss xmm0, dword [rcx + 4]
movss xmm1, dword [rcx]
add rcx, 8
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
movaps xmm0, xmm2
movss dword [rbp], xmm1
xorps xmm1, xmm1
mov eax, dword [rbp]
btr eax, 0x1f
cvtsi2ss xmm1, rax
mov rax, rdx
add rdx, 2
sar rax, 1
mulss xmm1, xmm5
subss xmm1, xmm6
mulss xmm1, xmm3
maxss xmm0, xmm1
movaps xmm1, xmm7
maxss xmm1, xmm0
cvtps2pd xmm0, xmm2
movss dword [r15 + rax*4], xmm1
subsd xmm0, xmm4
cvtpd2ps xmm2, xmm0
sub r8, 1
jne 0x140228700
mov rdi, qword [rbp + 0x10]
lea rsi, [r12 + 0x44]
movss xmm9, dword [0x140437838]
add r13, 0x20
movss xmm10, dword [0x140437744]
mov ebx, 7
add rdi, 8
mov qword [rbp], rbx
mov r14, r8
nop word [rax + rax]
movsxd r9, dword [rdi - 4]
xorps xmm2, xmm2
mov r11, r8
cmp r9, 4
jl 0x140228856
mov rdx, qword [rdi]
movsxd rcx, dword [rdi - 8]
mov r10, rdx
lea rax, [rcx*4]
neg rcx
sub r10, rax
lea r8, [rax + r15]
lea rax, [r9 - 4]
sub r10, r15
shr rax, 2
lea rbx, [rcx*4 + 8]
lea rcx, [rcx*4 + 0xc]
sub rbx, r15
sub rcx, r15
add rbx, rdx
add rcx, rdx
inc rax
lea r11, [rax*4]
movss xmm1, dword [r10 + r8 + 4]
mulss xmm1, dword [r8 + 4]
movss xmm0, dword [r10 + r8]
mulss xmm0, dword [r8]
addss xmm0, xmm2
movaps xmm2, xmm1
movss xmm1, dword [rcx + r8]
mulss xmm1, dword [r8 + 0xc]
addss xmm2, xmm0
movss xmm0, dword [rbx + r8]
mulss xmm0, dword [r8 + 8]
add r8, 0x10
addss xmm2, xmm0
addss xmm2, xmm1
sub rax, 1
jne 0x140228802
mov rbx, qword [rbp]
xor r8d, r8d
cmp r11, r9
jge 0x14022888f
mov rcx, qword [rdi]
movsxd rax, dword [rdi - 8]
lea rdx, [rcx + r11*4]
lea rax, [rax*4]
sub rax, rcx
sub r9, r11
lea rcx, [rax + r15]
movss xmm0, dword [rdx + rcx]
mulss xmm0, dword [rdx]
add rdx, 4
addss xmm2, xmm0
sub r9, 1
jne 0x140228878
mulss xmm2, dword [rdi + 8]
movaps xmm4, xmm9
movsxd r10, dword [rsi]
mov r9d, r8d
mov r11d, dword [rbp + 0xc]
movaps xmm3, xmm10
lea eax, [r10 - 1]
test eax, eax
lea edx, [rax + 0x11]
cmovns edx, eax
movsxd rcx, edx
lea rax, [r14 + rcx]
movss xmm6, dword [r12 + rax*4]
movaps xmm7, xmm6
minss xmm6, xmm2
maxss xmm7, xmm2
cmp r11d, 4
jl 0x140228976
lea rax, [rcx + r14]
lea rcx, [r12 + rax*4]
lea eax, [r11 - 4]
shr eax, 2
inc eax
mov r8d, eax
lea r9d, [rax*4]
sub rcx, 4
sub edx, 1
jns 0x140228900
add edx, 0x11
add rcx, 0x44
movss xmm0, dword [rcx]
sub rcx, 4
sub edx, 1
movaps xmm5, xmm0
maxss xmm5, xmm4
minss xmm0, xmm3
jns 0x14022891f
add edx, 0x11
add rcx, 0x44
movss xmm1, dword [rcx]
sub rcx, 4
sub edx, 1
movaps xmm3, xmm1
maxss xmm3, xmm5
minss xmm1, xmm0
jns 0x14022893e
add edx, 0x11
add rcx, 0x44
movss xmm0, dword [rcx]
sub rcx, 4
sub edx, 1
movaps xmm5, xmm0
maxss xmm5, xmm3
minss xmm0, xmm1
jns 0x14022895d
add edx, 0x11
add rcx, 0x44
movss xmm3, dword [rcx]
movaps xmm4, xmm3
minss xmm3, xmm0
maxss xmm4, xmm5
sub r8, 1
jne 0x1402288f0
cmp r9d, r11d
jge 0x1402289ba
movsxd rcx, edx
add rcx, r14
lea r8, [r12 + rcx*4]
mov ecx, r11d
sub ecx, r9d
sub r8, 4
sub edx, 1
jns 0x14022899b
add edx, 0x11
add r8, 0x44
movss xmm1, dword [r8]
movaps xmm0, xmm1
minss xmm1, xmm3
maxss xmm0, xmm4
movaps xmm3, xmm1
movaps xmm4, xmm0
sub rcx, 1
jne 0x14022898b
xor r8d, r8d
lea rax, [r14 + r10]
movaps xmm0, xmm8
movss dword [r12 + rax*4], xmm2
subss xmm7, xmm4
inc dword [rsi]
subss xmm6, xmm3
mov eax, dword [rsi]
cmp eax, 0x11
cmovge eax, r8d
mov dword [rsi], eax
addss xmm0, dword [r13 - 0x1c]
mov eax, dword [rbp + 8]
comiss xmm7, xmm0
jbe 0x1402289f1
or eax, 5
mov dword [rbp + 8], eax
movss xmm0, dword [r13]
subss xmm0, xmm8
comiss xmm0, xmm6
jbe 0x140228a07
or eax, 2
mov dword [rbp + 8], eax
add rdi, 0x18
add r14, 0x24
add rsi, 0x90
add r13, 4
sub rbx, 1
mov qword [rbp], rbx
jne 0x1402287a0
mov rcx, qword [rbp + 0x18]
xor rcx, rbp
call fcn.1400bd5f0
mov rbx, qword [rbp + 0xa0]
mov rsi, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xb0]
movaps xmm6, xmmword [rbp + 0x60]
movaps xmm7, xmmword [rbp + 0x50]
movaps xmm8, xmmword [rbp + 0x40]
movaps xmm9, xmmword [rbp + 0x30]
movaps xmm10, xmmword [rbp + 0x20]
lea rsp, [rbp + 0x70]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret