Function at 0x140078870
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov r10, rcx
mov eax, 1
mov ecx, r9d
shl rax, cl
mov r11, rax
mov rbp, rsp
push r14
shr r11, 1
push r13
push r12
push rdi
mov rdi, rax
push rsi
push rbx
lea rbx, [r8 + r11*8]
sub rsp, 0x20
movsd xmm0, qword [r8]
and rsp, 0xfffffffffffffff0
shr rdi, 2
movsd qword [r10], xmm0
movsd xmm0, qword [rbx]
movaps xmmword [rsp], xmm6
movaps xmmword [rsp + 0x10], xmm7
movsd qword [rdx], xmm0
je 0x140078a94
lea rsi, [rdi*8]
cmp rsi, 8
je 0x140078ab0
cmp rdi, 1
je 0x140078ab0
mov rcx, rax
mov r12, r11
mov r9, qword [str._G__]
movapd xmm4, xmmword [0x1402046f0]
shr rcx, 3
shl r12, 4
lea r14, [r10 + rsi]
xor eax, eax
mov r13, rcx
movapd xmm5, xmmword [0x1402046d0]
add r12, r9
add rsi, rdx
shl r13, 4
nop dword [rax]
movupd xmm1, xmmword [r8 + rax*2]
movupd xmm3, xmmword [r8 + rax*2 + 0x10]
movlpd xmm3, qword [r8 + rax*2 + 8]
movupd xmm0, xmmword [rbx + rax*2]
movhpd xmm1, qword [r8 + rax*2 + 0x10]
movupd xmm2, xmmword [rbx + rax*2 + 0x10]
movlpd xmm2, qword [rbx + rax*2 + 8]
movapd xmm6, xmm1
movhpd xmm0, qword [rbx + rax*2 + 0x10]
subpd xmm1, xmm3
addpd xmm6, xmm3
movapd xmm3, xmm1
mulpd xmm6, xmm4
movups xmmword [r10 + rax], xmm6
movapd xmm6, xmm0
subpd xmm0, xmm2
addpd xmm6, xmm2
movupd xmm2, xmmword [r12 + rax*2 + 0x10]
movlpd xmm2, qword [r12 + rax*2 + 8]
movapd xmm7, xmm0
xorpd xmm2, xmm5
mulpd xmm6, xmm4
mulpd xmm7, xmm2
mulpd xmm1, xmm2
movups xmmword [r14 + rax], xmm6
movupd xmm6, xmmword [r12 + rax*2]
movhpd xmm6, qword [r12 + rax*2 + 0x10]
mulpd xmm3, xmm6
mulpd xmm0, xmm6
subpd xmm3, xmm7
addpd xmm0, xmm1
mulpd xmm3, xmm4
mulpd xmm0, xmm4
movups xmmword [rdx + rax], xmm3
movups xmmword [rsi + rax], xmm0
add rax, 0x10
cmp rax, r13
jne 0x140078920
lea rax, [rcx + rcx]
cmp rdi, rax
je 0x140078a94
mov rsi, rcx
movsd xmm5, qword [0x1402046f0]
lea rbx, [r11 + rcx*4]
shl rcx, 4
shl rsi, 5
movsd xmm1, qword [r8 + rbx*8 + 8]
movsd xmm3, qword [r8 + rbx*8]
movsd xmm4, qword [r8 + rsi + 8]
movsd xmm2, qword [r8 + rsi]
lea r8, [rdi + rax]
add rax, r11
add rax, rax
movapd xmm0, xmm4
addsd xmm0, xmm2
subsd xmm2, xmm4
mulsd xmm0, xmm5
movsd qword [r10 + rcx], xmm0
movapd xmm0, xmm1
addsd xmm0, xmm3
subsd xmm3, xmm1
movsd xmm1, qword [r9 + rax*8 + 8]
xorpd xmm1, xmmword [0x1402046c0]
movapd xmm6, xmm1
mulsd xmm0, xmm5
mulsd xmm6, xmm3
mulsd xmm1, xmm2
movsd qword [r10 + r8*8], xmm0
movsd xmm0, qword [r9 + rax*8]
movapd xmm4, xmm0
mulsd xmm4, xmm2
mulsd xmm0, xmm3
subsd xmm4, xmm6
addsd xmm0, xmm1
mulsd xmm4, xmm5
mulsd xmm0, xmm5
movsd qword [rdx + rcx], xmm4
movsd qword [rdx + r8*8], xmm0
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
lea rsp, [rbp - 0x30]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop rbp
ret
shl r11, 4
lea rcx, [r10 + rsi]
lea r9, [rdx + rsi]
xor eax, eax
movsd xmm5, qword [0x1402046f0]
movq xmm6, qword [0x1402046c0]
add r11, qword [str._G__]
nop dword [rax]
movsd xmm4, qword [r8 + rax*2 + 8]
movsd xmm3, qword [r8 + rax*2]
movsd xmm1, qword [rbx + rax*2 + 8]
movsd xmm2, qword [rbx + rax*2]
movapd xmm0, xmm4
addsd xmm0, xmm3
subsd xmm3, xmm4
movsd xmm4, qword [r11 + rax*2]
mulsd xmm0, xmm5
movsd qword [r10 + rax], xmm0
movapd xmm0, xmm1
addsd xmm0, xmm2
subsd xmm2, xmm1
movsd xmm1, qword [r11 + rax*2 + 8]
xorpd xmm1, xmm6
mulsd xmm0, xmm5
movsd qword [rcx + rax], xmm0
movapd xmm0, xmm1
movapd xmm1, xmm4
mulsd xmm1, xmm3
movapd xmm7, xmm0
mulsd xmm7, xmm2
mulsd xmm0, xmm3
mulsd xmm4, xmm2
subsd xmm1, xmm7
addsd xmm0, xmm4
mulsd xmm1, xmm5
mulsd xmm0, xmm5
movsd qword [rdx + rax], xmm1
movsd qword [r9 + rax], xmm0
add rax, 8
cmp rax, rsi
jne 0x140078ad8
jmp 0x140078a94