Function at 0x6f5f9b60
Capabilities:
Encode data using xor

Disassembly:
push rdi
push rsi
push rbx
mov r11, qword [rdx]
mov ebx, 0x40
mov r10, rcx
mov ecx, r8d
sub ebx, r8d
mov rax, r11
shl rax, cl
xor qword [r10], rax
cmp r9d, 5
je 0x6f5f9dc0
cmp r9d, 1
mov rax, r11
jle 0x6f5f9db1
lea esi, [r9 - 2]
mov r9d, 8
lea rdi, [rsi*8 + 0x10]
add rsi, 1
and esi, 7
je 0x6f5f9ccb
cmp rsi, 1
je 0x6f5f9ca2
cmp rsi, 2
je 0x6f5f9c82
cmp rsi, 3
je 0x6f5f9c62
cmp rsi, 4
je 0x6f5f9c42
cmp rsi, 5
je 0x6f5f9c22
cmp rsi, 6
je 0x6f5f9c02
mov rsi, qword [rdx + 8]
mov r9, rsi
shl r9, cl
mov ecx, ebx
shr r11, cl
or r9, r11
mov r11, rsi
xor qword [r10 + 8], r9
mov r9d, 0x10
mov rsi, qword [rdx + r9]
mov ecx, r8d
mov rax, rsi
shl rax, cl
mov ecx, ebx
shr r11, cl
or rax, r11
mov r11, rsi
xor qword [r10 + r9], rax
add r9, 8
mov rsi, qword [rdx + r9]
mov ecx, r8d
mov rax, rsi
shl rax, cl
mov ecx, ebx
shr r11, cl
or rax, r11
mov r11, rsi
xor qword [r10 + r9], rax
add r9, 8
mov rsi, qword [rdx + r9]
mov ecx, r8d
mov rax, rsi
shl rax, cl
mov ecx, ebx
shr r11, cl
or rax, r11
mov r11, rsi
xor qword [r10 + r9], rax
add r9, 8
mov rsi, qword [rdx + r9]
mov ecx, r8d
mov rax, rsi
shl rax, cl
mov ecx, ebx
shr r11, cl
or rax, r11
mov r11, rsi
xor qword [r10 + r9], rax
add r9, 8
mov rsi, qword [rdx + r9]
mov ecx, r8d
mov rax, rsi
shl rax, cl
mov ecx, ebx
shr r11, cl
or rax, r11
mov r11, rsi
xor qword [r10 + r9], rax
add r9, 8
mov rax, qword [rdx + r9]
mov ecx, r8d
mov rsi, rax
shl rsi, cl
mov ecx, ebx
shr r11, cl
or rsi, r11
xor qword [r10 + r9], rsi
add r9, 8
cmp r9, rdi
mov r11, rax
je 0x6f5f9db1
mov rsi, qword [rdx + r9]
mov ecx, r8d
mov rax, rsi
shl rax, cl
mov ecx, ebx
shr r11, cl
mov ecx, r8d
or rax, r11
xor qword [r10 + r9], rax
mov rax, qword [rdx + r9 + 8]
mov r11, rax
shl r11, cl
mov ecx, ebx
shr rsi, cl
mov ecx, r8d
or rsi, r11
xor qword [r10 + r9 + 8], rsi
mov r11, qword [rdx + r9 + 0x10]
mov rsi, r11
shl rsi, cl
mov ecx, ebx
shr rax, cl
mov ecx, r8d
or rax, rsi
xor qword [r10 + r9 + 0x10], rax
mov rax, qword [rdx + r9 + 0x18]
mov rsi, rax
shl rsi, cl
mov ecx, ebx
shr r11, cl
mov ecx, r8d
or r11, rsi
xor qword [r10 + r9 + 0x18], r11
mov r11, qword [rdx + r9 + 0x20]
mov rsi, r11
shl rsi, cl
mov ecx, ebx
shr rax, cl
mov ecx, r8d
or rax, rsi
xor qword [r10 + r9 + 0x20], rax
mov rax, qword [rdx + r9 + 0x28]
mov rsi, rax
shl rsi, cl
mov ecx, ebx
shr r11, cl
mov ecx, r8d
or r11, rsi
xor qword [r10 + r9 + 0x28], r11
mov r11, qword [rdx + r9 + 0x30]
mov rsi, r11
shl rsi, cl
mov ecx, ebx
shr rax, cl
mov ecx, r8d
or rax, rsi
xor qword [r10 + r9 + 0x30], rax
mov rax, qword [rdx + r9 + 0x38]
mov rsi, rax
shl rsi, cl
mov ecx, ebx
shr r11, cl
or r11, rsi
xor qword [r10 + r9 + 0x38], r11
add r9, 0x40
cmp r9, rdi
mov r11, rax
jne 0x6f5f9ccb
mov ecx, ebx
shr rax, cl
pop rbx
pop rsi
pop rdi
ret
mov r9, qword [rdx + 8]
mov ecx, ebx
shr r11, cl
mov ecx, r8d
mov rdi, r9
shl rdi, cl
mov ecx, ebx
or r11, rdi
xor qword [r10 + 8], r11
shr r9, cl
mov r11, qword [rdx + 0x10]
mov ecx, r8d
mov rax, r11
shl rax, cl
or r9, rax
xor qword [r10 + 0x10], r9
mov r9, qword [rdx + 0x18]
mov rdi, r9
shl rdi, cl
mov ecx, ebx
shr r11, cl
mov ecx, r8d
or r11, rdi
xor qword [r10 + 0x18], r11
mov rax, qword [rdx + 0x20]
mov rdx, rax
shl rdx, cl
mov ecx, ebx
shr r9, cl
mov ecx, ebx
or r9, rdx
xor qword [r10 + 0x20], r9
shr rax, cl
pop rbx
pop rsi
pop rdi
ret