Function at 0x6d9d9a40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
lea rax, [r9 + r9*2]
mov r12, rcx
mov rsi, rdx
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
shl rax, 5
test r9, r9
lea r10, [r8 + rax - 0x60]
je 0x6d9d9dc2
nop word [rax + rax]
mov r13, qword [rsi]
xor r13, qword [r12]
mov qword [r12], r13
mov rdi, qword [rsi + 8]
xor rdi, qword [r12 + 8]
mov qword [r12 + 8], rdi
mov rbx, qword [rsi + 0x10]
xor rbx, qword [r12 + 0x10]
mov qword [r12 + 0x10], rbx
mov r15, qword [rsi + 0x18]
xor r15, qword [r12 + 0x18]
mov qword [r12 + 0x18], r15
mov rdx, qword [rsi + 0x20]
xor rdx, qword [r12 + 0x20]
mov qword [r12 + 0x20], rdx
mov r8, qword [rsi + 0x28]
add r13, rdx
xor r8, qword [r12 + 0x28]
mov r14, r13
xor r14, qword [r12 + 0x60]
mov qword [r12 + 0x28], r8
mov rcx, qword [rsi + 0x30]
ror r14, 0x20
xor rcx, qword [r12 + 0x30]
add rdi, r8
mov qword [r12 + 0x30], rcx
mov rax, qword [rsi + 0x38]
xor rax, qword [r12 + 0x38]
mov qword [r12 + 0x38], rax
mov r9, qword [rsi + 0x40]
xor r9, qword [r12 + 0x40]
mov qword [r12 + 0x40], r9
mov r11, qword [rsi + 0x48]
add r9, r14
xor r11, qword [r12 + 0x48]
xor rdx, r9
ror rdx, 0x18
add r13, rdx
xor r14, r13
mov qword [r12 + 0x48], r11
mov rbp, qword [rsi + 0x50]
xor rbp, qword [r12 + 0x50]
mov qword [r12 + 0x50], rbp
mov qword [rsp], r14
ror qword [rsp], 0x10
add r9, qword [rsp]
xor rdx, r9
mov qword [rsp + 0x10], r9
mov qword [rsp + 0x18], rdx
mov rdx, rdi
xor rdx, qword [r12 + 0x68]
ror qword [rsp + 0x18], 0x3f
ror rdx, 0x20
add r11, rdx
xor r8, r11
ror r8, 0x18
add rdi, r8
xor rdx, rdi
mov qword [rsp + 8], rdx
ror qword [rsp + 8], 0x10
add r11, qword [rsp + 8]
xor r8, r11
add r15, rax
add rbx, rcx
mov r14, r15
xor r14, qword [r12 + 0x78]
mov rdx, rbx
xor rdx, qword [r12 + 0x70]
ror r8, 0x3f
add r13, r8
mov r9, r14
mov r14, qword [rsi + 0x58]
xor r14, qword [r12 + 0x58]
ror r9, 0x20
ror rdx, 0x20
add rbp, rdx
xor rcx, rbp
add r14, r9
ror rcx, 0x18
xor rax, r14
add rbx, rcx
ror rax, 0x18
xor rdx, rbx
add r15, rax
ror rdx, 0x10
xor r9, r15
add rbp, rdx
ror r9, 0x10
xor rcx, rbp
add r14, r9
xor r9, r13
ror rcx, 0x3f
ror r9, 0x20
xor rax, r14
add rbp, r9
ror rax, 0x3f
xor r8, rbp
ror r8, 0x18
add r13, r8
add rdi, rcx
add rbx, rax
xor r9, r13
mov qword [r12], r13
ror r9, 0x10
mov qword [r12 + 0x78], r9
add r9, rbp
mov qword [r12 + 0x50], r9
xor r9, r8
mov r8, qword [rsp]
ror r9, 0x3f
mov qword [r12 + 0x28], r9
mov r9, qword [rsp + 0x10]
xor r8, rdi
ror r8, 0x20
add r14, r8
xor rcx, r14
ror rcx, 0x18
add rdi, rcx
mov qword [r12 + 8], rdi
xor rdi, r8
ror rdi, 0x10
add r14, rdi
mov qword [r12 + 0x60], rdi
mov qword [r12 + 0x58], r14
xor r14, rcx
mov rcx, qword [rsp + 8]
ror r14, 0x3f
mov qword [r12 + 0x30], r14
xor rcx, rbx
ror rcx, 0x20
lea r8, [rcx + r9]
xor rax, r8
ror rax, 0x18
add rbx, rax
xor rcx, rbx
mov qword [r12 + 0x10], rbx
ror rcx, 0x10
mov qword [r12 + 0x68], rcx
add rcx, r8
xor rax, rcx
mov qword [r12 + 0x40], rcx
ror rax, 0x3f
mov qword [r12 + 0x38], rax
mov rax, qword [rsp + 0x18]
add r15, rax
xor rdx, r15
ror rdx, 0x20
add r11, rdx
xor rax, r11
add rsi, 0x60
sub r10, 0x60
ror rax, 0x18
add r15, rax
xor rdx, r15
mov qword [r12 + 0x18], r15
ror rdx, 0x10
mov qword [r12 + 0x70], rdx
add rdx, r11
xor rax, rdx
mov qword [r12 + 0x48], rdx
ror rax, 0x3f
mov qword [r12 + 0x20], rax
xor r13, qword [rsi - 0x60]
mov qword [r10 + 0x60], r13
mov rax, qword [rsi - 0x58]
xor rax, qword [r12 + 8]
mov qword [r10 + 0x68], rax
mov rax, qword [rsi - 0x50]
xor rax, qword [r12 + 0x10]
mov qword [r10 + 0x70], rax
mov rax, qword [rsi - 0x48]
xor rax, qword [r12 + 0x18]
mov qword [r10 + 0x78], rax
mov rax, qword [rsi - 0x40]
xor rax, qword [r12 + 0x20]
mov qword [r10 + 0x80], rax
mov rax, qword [rsi - 0x38]
xor rax, qword [r12 + 0x28]
mov qword [r10 + 0x88], rax
mov rax, qword [rsi - 0x30]
xor rax, qword [r12 + 0x30]
mov qword [r10 + 0x90], rax
mov rax, qword [rsi - 0x28]
xor rax, qword [r12 + 0x38]
mov qword [r10 + 0x98], rax
mov rax, qword [rsi - 0x20]
xor rax, qword [r12 + 0x40]
mov qword [r10 + 0xa0], rax
mov rax, qword [rsi - 0x18]
xor rax, qword [r12 + 0x48]
mov qword [r10 + 0xa8], rax
mov rax, qword [rsi - 0x10]
xor rax, qword [r12 + 0x50]
mov qword [r10 + 0xb0], rax
mov rax, qword [rsi - 8]
xor rax, qword [r12 + 0x58]
add qword [rsp + 0x20], 1
mov qword [r10 + 0xb8], rax
mov rax, qword [rsp + 0x28]
cmp qword [rsp + 0x20], rax
jne 0x6d9d9a80
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret