Function at 0x180097e00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push r14
push r15
sub rsp, 0x30
mov r11, qword [rsp + 0x70]
mov r15, r8
mov rbx, qword [rsp + 0x78]
mov r10, rcx
movaps xmmword [rsp + 0x20], xmm6
movsxd rbp, r9d
mov eax, ebp
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm8
and eax, 0x80000003
jge 0x180097e40
dec eax
or eax, 0xfffffffc
inc eax
movss xmm0, dword [rcx]
mov r14d, ebp
movaps xmm7, xmmword [0x1800f1be0]
movaps xmm5, xmm0
xorps xmm0, xmmword [0x1800f1cf0]
sub r14d, eax
movaps xmm8, xmmword [0x1800f1d00]
movaps xmm6, xmm0
shufps xmm6, xmm6, 0
mov rcx, rbp
mov qword [rsp + 0x58], rdi
shufps xmm5, xmm5, 0
test r9d, r9d
jle 0x180097ef0
mov qword [rsp + 0x50], rsi
mov r9, r15
sub r9, rdx
mov rsi, r11
sub rsi, rdx
mov rdi, rbx
sub rdi, rdx
mov r8, rdx
dec rcx
shr rcx, 2
inc rcx
nop
movups xmm4, xmmword [r8 + r9]
movaps xmm3, xmm8
movaps xmm2, xmm4
mulps xmm2, xmm5
addps xmm2, xmmword [r8]
cmpltps xmm3, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
xorps xmm1, xmmword [0x1800ec490]
cmpltps xmm0, xmm7
andps xmm3, xmm0
andps xmm3, xmm1
xorps xmm3, xmm2
movups xmmword [r8 + rdi], xmm3
mulps xmm3, xmm6
addps xmm3, xmm4
movups xmmword [rsi + r8], xmm3
add r8, 0x10
sub rcx, 1
jne 0x180097ea0
mov rsi, qword [rsp + 0x50]
movaps xmm8, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm6, xmmword [rsp + 0x20]
cmp r14d, ebp
jge 0x18009809a
movss xmm4, dword [0x1800f1b70]
mov r8, rdx
movss xmm3, dword [0x1800f1a04]
sub r8, rbx
sub rbx, r15
movsxd rdi, r14d
sub r11, r15
cmp eax, 4
jl 0x180098050
mov eax, ebp
lea rcx, [r15 + 4]
sub eax, r14d
lea rcx, [rcx + rdi*4]
sub eax, 4
sub rdx, r15
shr eax, 2
inc eax
mov r9d, eax
lea r14d, [r14 + rax*4]
lea rdi, [rdi + rax*4]
nop dword [rax]
nop word [rax + rax]
movss xmm1, dword [r10]
mulss xmm1, dword [rcx - 4]
addss xmm1, dword [rdx + rcx - 4]
comiss xmm1, xmm4
jbe 0x180097f7d
comiss xmm1, xmm3
jae 0x180097f7d
xorps xmm1, xmm1
movss dword [rbx + rcx - 4], xmm1
lea rax, [rbx + rcx]
mulss xmm1, dword [r10]
movss xmm0, dword [rcx - 4]
subss xmm0, xmm1
movss dword [r11 + rcx - 4], xmm0
movss xmm2, dword [rcx]
mulss xmm2, dword [r10]
addss xmm2, dword [rax + r8]
comiss xmm2, xmm4
jbe 0x180097fb8
comiss xmm2, xmm3
jae 0x180097fb8
xorps xmm2, xmm2
movss dword [rax], xmm2
mulss xmm2, dword [r10]
movss xmm0, dword [rcx]
subss xmm0, xmm2
movss dword [r11 + rcx], xmm0
movss xmm1, dword [rcx + 4]
mulss xmm1, dword [r10]
addss xmm1, dword [rdx + rcx + 4]
comiss xmm1, xmm4
jbe 0x180097fec
comiss xmm1, xmm3
jae 0x180097fec
xorps xmm1, xmm1
movss dword [rax + 4], xmm1
mulss xmm1, dword [r10]
movss xmm0, dword [rcx + 4]
subss xmm0, xmm1
movss dword [r11 + rcx + 4], xmm0
movss xmm1, dword [rcx + 8]
mulss xmm1, dword [r10]
addss xmm1, dword [rdx + rcx + 8]
comiss xmm1, xmm4
jbe 0x180098023
comiss xmm1, xmm3
jae 0x180098023
xorps xmm1, xmm1
movss dword [rax + 8], xmm1
movss xmm0, dword [rcx + 8]
mulss xmm1, dword [r10]
subss xmm0, xmm1
movss dword [r11 + rcx + 8], xmm0
add rcx, 0x10
sub r9, 1
jne 0x180097f60
cmp r14d, ebp
jge 0x18009809a
sub ebp, r14d
lea rax, [r15 + rdi*4]
mov edx, ebp
movss xmm1, dword [r10]
lea rcx, [rbx + rax]
mulss xmm1, dword [rax]
addss xmm1, dword [r8 + rcx]
comiss xmm1, xmm4
jbe 0x180098079
comiss xmm1, xmm3
jae 0x180098079
xorps xmm1, xmm1
movss dword [rcx], xmm1
movss xmm0, dword [rax]
mulss xmm1, dword [r10]
subss xmm0, xmm1
movss dword [r11 + rax], xmm0
add rax, 4
sub rdx, 1
jne 0x180098059
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rbp
ret