Function at 0x6f5f3560
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
test r9d, r9d
jle 0x6f5f37d8
lea rax, [rdx + 0x10]
lea r11, [rcx + 0x10]
lea rsi, [r8 + 0x10]
cmp rcx, rax
setae r10b
cmp rdx, r11
setae bl
or r10d, ebx
cmp rcx, rsi
setae dil
cmp r8, r11
setae bpl
or edi, ebp
test r10b, dil
je 0x6f5f37f2
cmp r9d, 0xe
jbe 0x6f5f37f2
mov r12, rdx
shr r12, 3
and r12d, 1
je 0x6f5f37e1
mov r13, qword [rdx]
xor r13, qword [r8]
lea r11, [rdx + 8]
lea rbp, [r8 + 8]
lea rbx, [rcx + 8]
mov r10d, 1
mov qword [rcx], r13
mov eax, r12d
mov edi, r9d
shl rax, 3
sub edi, r12d
mov r12d, 1
add r8, rax
add rdx, rax
mov esi, edi
movdqu xmm0, xmmword [r8]
shr esi, 1
lea r13d, [rsi - 1]
add rcx, rax
mov eax, 0x10
pxor xmm0, xmmword [rdx]
and r13d, 7
cmp r12d, esi
movups xmmword [rcx], xmm0
jae 0x6f5f379e
test r13d, r13d
je 0x6f5f3700
cmp r13d, 1
je 0x6f5f36e0
cmp r13d, 2
je 0x6f5f36c9
cmp r13d, 3
je 0x6f5f36b2
cmp r13d, 4
je 0x6f5f369b
cmp r13d, 5
je 0x6f5f3684
cmp r13d, 6
je 0x6f5f366d
movdqu xmm1, xmmword [r8 + 0x10]
mov r12d, 2
mov eax, 0x20
pxor xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
add r12d, 1
movdqu xmm2, xmmword [r8 + rax]
pxor xmm2, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm2
add rax, 0x10
add r12d, 1
movdqu xmm3, xmmword [r8 + rax]
pxor xmm3, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm3
add rax, 0x10
add r12d, 1
movdqu xmm4, xmmword [r8 + rax]
pxor xmm4, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm4
add rax, 0x10
add r12d, 1
movdqu xmm5, xmmword [r8 + rax]
pxor xmm5, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm5
add rax, 0x10
add r12d, 1
movdqu xmm0, xmmword [r8 + rax]
pxor xmm0, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm0
add rax, 0x10
add r12d, 1
movdqu xmm1, xmmword [r8 + rax]
pxor xmm1, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm1
add rax, 0x10
cmp r12d, esi
jae 0x6f5f379e
add r12d, 8
movdqu xmm2, xmmword [r8 + rax]
pxor xmm2, xmmword [rdx + rax]
movups xmmword [rcx + rax], xmm2
movdqu xmm3, xmmword [r8 + rax + 0x10]
pxor xmm3, xmmword [rdx + rax + 0x10]
movups xmmword [rcx + rax + 0x10], xmm3
movdqu xmm4, xmmword [r8 + rax + 0x20]
pxor xmm4, xmmword [rdx + rax + 0x20]
movups xmmword [rcx + rax + 0x20], xmm4
movdqu xmm5, xmmword [r8 + rax + 0x30]
pxor xmm5, xmmword [rdx + rax + 0x30]
movups xmmword [rcx + rax + 0x30], xmm5
movdqu xmm0, xmmword [r8 + rax + 0x40]
pxor xmm0, xmmword [rdx + rax + 0x40]
movups xmmword [rcx + rax + 0x40], xmm0
movdqu xmm1, xmmword [r8 + rax + 0x50]
pxor xmm1, xmmword [rdx + rax + 0x50]
movups xmmword [rcx + rax + 0x50], xmm1
movdqu xmm2, xmmword [r8 + rax + 0x60]
pxor xmm2, xmmword [rdx + rax + 0x60]
movups xmmword [rcx + rax + 0x60], xmm2
movdqu xmm3, xmmword [r8 + rax + 0x70]
pxor xmm3, xmmword [rdx + rax + 0x70]
movups xmmword [rcx + rax + 0x70], xmm3
sub rax, 0xffffffffffffff80
cmp r12d, esi
jb 0x6f5f3700
mov edx, edi
and edx, 0xfffffffe
mov ecx, edx
add r10d, edx
shl rcx, 3
add rbx, rcx
add r11, rcx
add rbp, rcx
cmp edi, edx
je 0x6f5f37d8
mov r8, qword [rbp]
xor r8, qword [r11]
add r10d, 1
cmp r9d, r10d
mov qword [rbx], r8
jle 0x6f5f37d8
mov r9, qword [r11 + 8]
xor r9, qword [rbp + 8]
mov qword [rbx + 8], r9
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rbp, r8
mov r11, rdx
mov rbx, rcx
xor r10d, r10d
jmp 0x6f5f35dc
sub r9d, 1
xor r12d, r12d
lea rsi, [r9*8 + 8]
add r9, 1
and r9d, 7
je 0x6f5f38ab
cmp r9, 1
je 0x6f5f3892
cmp r9, 2
je 0x6f5f3882
cmp r9, 3
je 0x6f5f3872
cmp r9, 4
je 0x6f5f3862
cmp r9, 5
je 0x6f5f3852
cmp r9, 6
je 0x6f5f3842
mov r13, qword [rdx]
xor r13, qword [r8]
mov r12d, 8
mov qword [rcx], r13
mov rax, qword [rdx + r12]
xor rax, qword [r8 + r12]
mov qword [rcx + r12], rax
add r12, 8
mov rbx, qword [rdx + r12]
xor rbx, qword [r8 + r12]
mov qword [rcx + r12], rbx
add r12, 8
mov rdi, qword [rdx + r12]
xor rdi, qword [r8 + r12]
mov qword [rcx + r12], rdi
add r12, 8
mov rbp, qword [rdx + r12]
xor rbp, qword [r8 + r12]
mov qword [rcx + r12], rbp
add r12, 8
mov r10, qword [rdx + r12]
xor r10, qword [r8 + r12]
mov qword [rcx + r12], r10
add r12, 8
mov r11, qword [rdx + r12]
xor r11, qword [r8 + r12]
mov qword [rcx + r12], r11
add r12, 8
cmp r12, rsi
je 0x6f5f37d8
mov r9, qword [rdx + r12]
xor r9, qword [r8 + r12]
mov qword [rcx + r12], r9
mov r13, qword [rdx + r12 + 8]
xor r13, qword [r8 + r12 + 8]
mov qword [rcx + r12 + 8], r13
mov rax, qword [rdx + r12 + 0x10]
xor rax, qword [r8 + r12 + 0x10]
mov qword [rcx + r12 + 0x10], rax
mov rbx, qword [rdx + r12 + 0x18]
xor rbx, qword [r8 + r12 + 0x18]
mov qword [rcx + r12 + 0x18], rbx
mov rdi, qword [rdx + r12 + 0x20]
xor rdi, qword [r8 + r12 + 0x20]
mov qword [rcx + r12 + 0x20], rdi
mov rbp, qword [rdx + r12 + 0x28]
xor rbp, qword [r8 + r12 + 0x28]
mov qword [rcx + r12 + 0x28], rbp
mov r10, qword [rdx + r12 + 0x30]
xor r10, qword [r8 + r12 + 0x30]
mov qword [rcx + r12 + 0x30], r10
mov r11, qword [rdx + r12 + 0x38]
xor r11, qword [r8 + r12 + 0x38]
mov qword [rcx + r12 + 0x38], r11
add r12, 0x40
cmp r12, rsi
jne 0x6f5f38ab
jmp 0x6f5f37d8