Function at 0x180092cd0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
movaps xmmword [rsp + 0x50], xmm11
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
cmp edx, r8d
jge 0x180092f7d
mov r10, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0xd8]
movss xmm1, dword [rsp + 0xd0]
mov rbx, qword [rcx + 0x28]
movsxd rax, r8d
lea rax, [rax + rax*4]
lea r11, [rbx + rax*4]
movsxd r14, edx
lea rax, [r14*4]
lea r15, [rax + rax*4]
lea r8, [rbx + r15]
add r8, 0x14
cmp r8, r11
mov rax, r11
cmova rax, r8
lea rsi, [rbx + r15]
sub rax, rbx
add rax, 0xffffffffffffffec
xor edi, edi
cmp rax, r15
setne dil
sub rax, r15
sub rax, rdi
movabs r12, 0xcccccccccccccccd
mul r12
mov rcx, rdx
shr rcx, 4
lea rax, [rcx + rdi]
cmp rax, 0xb
jbe 0x180092f22
cmp r8, r11
cmovbe r8, r11
sub r8, rbx
add r8, 0xffffffffffffffec
xor r13d, r13d
cmp r8, r15
setne r13b
or r15, r13
sub r8, r15
mov rax, r8
mul r12
shr rdx, 4
add r14, r13
add r14, rdx
lea rax, [r14 + r14*4]
lea rdx, [rbx + rax*4]
add rdx, 8
lea rax, [r9 + 8]
lea r8, [r10 + 8]
cmp rsi, rax
setb bl
cmp rdx, r9
seta bpl
cmp rsi, r8
setb al
cmp rdx, r10
seta dl
test bl, bpl
jne 0x180092f22
and al, dl
jne 0x180092f22
lea rax, [rcx + rdi]
inc rax
mov edx, eax
and edx, 3
mov r8d, 4
cmovne r8, rdx
sub rax, r8
lea rax, [rax + rax*4]
lea rax, [rsi + rax*4]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
movaps xmm3, xmm0
shufps xmm3, xmm0, 0
movss xmm4, dword [r9]
movss xmm5, dword [r9 + 4]
shufps xmm5, xmm5, 0
shufps xmm4, xmm4, 0
movss xmm6, dword [r10]
movss xmm7, dword [r10 + 4]
shufps xmm7, xmm7, 0
shufps xmm6, xmm6, 0
not rcx
add rcx, r8
sub rcx, rdi
nop word [rax + rax]
movss xmm8, dword [rsi + 0x40]
movss xmm9, dword [rsi + 0x2c]
unpcklps xmm9, xmm8
movss xmm8, dword [rsi]
movss xmm10, dword [rsi + 4]
movss xmm11, dword [rsi + 0x14]
unpcklps xmm8, xmm11
movss xmm11, dword [rsi + 0x18]
unpcklps xmm10, xmm11
movlhps xmm10, xmm9
subps xmm10, xmm5
movss xmm9, dword [rsi + 0x3c]
movss xmm11, dword [rsi + 0x28]
unpcklps xmm11, xmm9
movlhps xmm8, xmm11
subps xmm8, xmm4
movaps xmm9, xmm3
mulps xmm9, xmm10
mulps xmm10, xmm2
movaps xmm11, xmm8
mulps xmm11, xmm3
addps xmm11, xmm10
addps xmm11, xmm7
mulps xmm8, xmm2
subps xmm8, xmm9
addps xmm8, xmm6
movss dword [rsi], xmm8
movss dword [rsi + 4], xmm11
movaps xmm9, xmm11
shufps xmm9, xmm8, 0x11
shufps xmm9, xmm8, 0xe2
movlps qword [rsi + 0x14], xmm9
movaps xmm9, xmm8
unpckhps xmm9, xmm11
movlps qword [rsi + 0x28], xmm9
shufps xmm11, xmm8, 0xff
shufps xmm11, xmm8, 0xe2
movlps qword [rsi + 0x3c], xmm11
add rsi, 0x50
add rcx, 4
jne 0x180092e60
mov rsi, rax
unpcklps xmm0, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xe1
movaps xmm2, xmmword [0x1800d5c50]
nop word cs:[rax + rax]
movss xmm3, dword [rsi]
movss xmm4, dword [rsi + 4]
subss xmm4, dword [r9 + 4]
subss xmm3, dword [r9]
movaps xmm5, xmm4
xorps xmm5, xmm2
unpcklps xmm5, xmm4
mulps xmm5, xmm0
unpcklps xmm3, xmm3
mulps xmm3, xmm1
addps xmm3, xmm5
movsd xmm4, qword [r10]
addps xmm4, xmm3
movlps qword [rsi], xmm4
add rsi, 0x14
cmp rsi, r11
jb 0x180092f40
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret