Function at 0x1401193e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov r10, rcx
mov eax, 1
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x60
mov ecx, dword [rbp + 0x38]
mov rbx, qword [rbp + 0x30]
and rsp, 0xfffffffffffffff0
shl rax, cl
movaps xmmword [rsp], xmm6
mov rsi, rax
movaps xmmword [rsp + 0x10], xmm7
shr rsi, 1
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x50], xmm11
je 0x1401195d4
lea rcx, [rsi*8]
mov r11, rdx
cmp rcx, 8
je 0x140119610
cmp rsi, 1
je 0x140119610
shr rax, 2
movapd xmm4, xmmword [0x1403c9150]
lea r15, [r11 + rcx]
lea r14, [r8 + rcx]
mov rdi, rax
lea r13, [r9 + rcx]
lea r12, [rbx + rcx]
mov rdx, rax
add rcx, r10
shl rdi, 4
xor eax, eax
movupd xmm1, xmmword [r13 + rax]
movupd xmm7, xmmword [r9 + rax]
movupd xmm0, xmmword [r11 + rax]
movupd xmm3, xmmword [r15 + rax]
xorpd xmm1, xmm4
movupd xmm2, xmmword [r12 + rax]
movupd xmm6, xmmword [rbx + rax]
mulpd xmm3, xmm1
movupd xmm5, xmmword [r14 + rax]
mulpd xmm0, xmm7
xorpd xmm2, xmm4
mulpd xmm5, xmm2
subpd xmm0, xmm3
movupd xmm3, xmmword [r8 + rax]
mulpd xmm3, xmm6
movupd xmm6, xmmword [r11 + rax]
mulpd xmm1, xmm6
movupd xmm6, xmmword [r8 + rax]
mulpd xmm2, xmm6
subpd xmm3, xmm5
addpd xmm0, xmm3
movups xmmword [r10 + rax], xmm0
movupd xmm0, xmmword [r15 + rax]
mulpd xmm0, xmm7
movupd xmm7, xmmword [rbx + rax]
addpd xmm0, xmm1
movupd xmm1, xmmword [r14 + rax]
mulpd xmm1, xmm7
addpd xmm1, xmm2
addpd xmm0, xmm1
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rdi, rax
jne 0x140119480
lea rcx, [rdx + rdx]
cmp rsi, rcx
je 0x1401195d4
mov rax, rdx
lea rdx, [rsi + rcx]
movq xmm2, qword [0x1403c9140]
shl rax, 4
movsd xmm0, qword [rbx + rdx*8]
movsd xmm1, qword [r9 + rdx*8]
movsd xmm4, qword [rbx + rax]
movsd xmm9, qword [r8 + rax]
xorpd xmm0, xmm2
movsd xmm8, qword [r8 + rdx*8]
xorpd xmm1, xmm2
movsd xmm3, qword [r9 + rax]
movapd xmm2, xmm4
movapd xmm5, xmm0
movapd xmm10, xmm1
movsd xmm7, qword [r11 + rax]
mulsd xmm5, xmm8
movsd xmm6, qword [r11 + rdx*8]
mulsd xmm2, xmm9
mulsd xmm10, xmm6
mulsd xmm0, xmm9
mulsd xmm4, xmm8
mulsd xmm1, xmm7
subsd xmm2, xmm5
movapd xmm5, xmm3
mulsd xmm5, xmm7
mulsd xmm3, xmm6
addsd xmm0, xmm4
subsd xmm5, xmm10
addsd xmm1, xmm3
addsd xmm2, xmm5
addsd xmm0, xmm1
movsd qword [r10 + rax], xmm2
movsd qword [r10 + rdx*8], xmm0
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]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movq xmm5, qword [0x1403c9140]
xor eax, eax
nop word [rax + rax]
movsd xmm0, qword [rbx + rcx]
movsd xmm4, qword [rbx + rax*8]
movsd xmm10, qword [r8 + rax*8]
movsd xmm9, qword [r8 + rcx]
xorpd xmm0, xmm5
movapd xmm2, xmm4
movsd xmm1, qword [r9 + rcx]
movsd xmm3, qword [r9 + rax*8]
movapd xmm6, xmm0
movsd xmm8, qword [r11 + rax*8]
movsd xmm7, qword [r11 + rcx]
mulsd xmm6, xmm9
xorpd xmm1, xmm5
mulsd xmm2, xmm10
movapd xmm11, xmm1
mulsd xmm11, xmm7
mulsd xmm0, xmm10
mulsd xmm4, xmm9
mulsd xmm1, xmm8
subsd xmm2, xmm6
movapd xmm6, xmm3
mulsd xmm6, xmm8
mulsd xmm3, xmm7
addsd xmm0, xmm4
subsd xmm6, xmm11
addsd xmm1, xmm3
addsd xmm2, xmm6
addsd xmm0, xmm1
movsd qword [r10 + rax*8], xmm2
add rax, 1
movsd qword [r10 + rcx], xmm0
add rcx, 8
cmp rsi, rax
jne 0x140119620
jmp 0x1401195d4