Function at 0x1801be950
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
lea r9, [rsp]
lea rax, [rdx + 0x10]
mov r15, rcx
sub r9, rdx
sub r8, rdx
mov edx, 2
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm1, xmmword [r8 + rax - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmmword [r9 + rax - 0x30], xmm1
movdqu xmm1, xmmword [r8 + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [r9 + rax - 0x20], xmm1
dec rdx
jne 0x1801be990
mov r14, qword [rsp]
mov rsi, qword [rsp + 8]
mov rbp, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
mov r11, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea r12, [0x180377df0]
movzx ecx, r14b
movzx eax, sil
mov rdx, qword [r12 + rcx*8]
xor rdx, qword [r12 + rax*8 + 0x800]
movzx eax, bpl
xor rdx, qword [r12 + rax*8 + 0x1000]
movzx eax, dil
xor rdx, qword [r12 + rax*8 + 0x1800]
movzx eax, bl
xor rdx, qword [r12 + rax*8 + 0x2000]
movzx eax, r11b
xor rdx, qword [r12 + rax*8 + 0x2800]
movzx eax, r10b
xor rdx, qword [r12 + rax*8 + 0x3000]
movzx eax, r9b
xor rdx, qword [r12 + rax*8 + 0x3800]
mov rax, r14
shr rax, 8
mov qword [r15], rdx
movzx edx, al
mov rax, rsi
mov r8, qword [r12 + rdx*8]
shr rax, 8
movzx ecx, al
mov rax, rbp
xor r8, qword [r12 + rcx*8 + 0x800]
shr rax, 8
movzx ecx, al
mov rax, rdi
xor r8, qword [r12 + rcx*8 + 0x1000]
shr rax, 8
movzx ecx, al
mov rax, rbx
xor r8, qword [r12 + rcx*8 + 0x1800]
shr rax, 8
movzx ecx, al
mov rax, r11
xor r8, qword [r12 + rcx*8 + 0x2000]
shr rax, 8
movzx ecx, al
mov rax, r10
xor r8, qword [r12 + rcx*8 + 0x2800]
shr rax, 8
movzx ecx, al
mov rax, r9
xor r8, qword [r12 + rcx*8 + 0x3000]
shr rax, 8
movzx ecx, al
mov rax, r14
xor r8, qword [r12 + rcx*8 + 0x3800]
shr rax, 0x10
movzx edx, al
mov qword [r15 + 8], r8
mov rax, rsi
mov r8, qword [r12 + rdx*8]
shr rax, 0x10
movzx ecx, al
mov rax, rbp
xor r8, qword [r12 + rcx*8 + 0x800]
shr rax, 0x10
movzx ecx, al
mov rax, rdi
xor r8, qword [r12 + rcx*8 + 0x1000]
shr rax, 0x10
movzx ecx, al
mov rax, rbx
xor r8, qword [r12 + rcx*8 + 0x1800]
shr rax, 0x10
movzx ecx, al
mov rax, r11
xor r8, qword [r12 + rcx*8 + 0x2000]
shr rax, 0x10
movzx ecx, al
mov rax, r10
xor r8, qword [r12 + rcx*8 + 0x2800]
shr rax, 0x10
movzx ecx, al
mov rax, r9
xor r8, qword [r12 + rcx*8 + 0x3000]
shr rax, 0x10
movzx ecx, al
mov rax, r14
xor r8, qword [r12 + rcx*8 + 0x3800]
shr rax, 0x18
movzx edx, al
mov qword [r15 + 0x10], r8
mov rax, rsi
mov r8, qword [r12 + rdx*8]
shr rax, 0x18
movzx ecx, al
mov rax, rbp
xor r8, qword [r12 + rcx*8 + 0x800]
shr rax, 0x18
movzx ecx, al
mov rax, rdi
xor r8, qword [r12 + rcx*8 + 0x1000]
shr rax, 0x18
movzx ecx, al
mov rax, rbx
xor r8, qword [r12 + rcx*8 + 0x1800]
shr rax, 0x18
movzx ecx, al
mov rax, r11
xor r8, qword [r12 + rcx*8 + 0x2000]
shr rax, 0x18
movzx ecx, al
mov rax, r10
xor r8, qword [r12 + rcx*8 + 0x2800]
shr rax, 0x18
movzx ecx, al
mov rax, r9
xor r8, qword [r12 + rcx*8 + 0x3000]
shr rax, 0x18
movzx ecx, al
mov rax, r14
xor r8, qword [r12 + rcx*8 + 0x3800]
shr rax, 0x20
movzx edx, al
mov qword [r15 + 0x18], r8
mov rax, rsi
mov r8, qword [r12 + rdx*8]
shr rax, 0x20
movzx ecx, al
mov rax, rbp
xor r8, qword [r12 + rcx*8 + 0x800]
shr rax, 0x20
movzx ecx, al
mov rax, rdi
xor r8, qword [r12 + rcx*8 + 0x1000]
shr rax, 0x20
movzx ecx, al
mov rax, rbx
xor r8, qword [r12 + rcx*8 + 0x1800]
shr rax, 0x20
movzx ecx, al
mov rax, r11
xor r8, qword [r12 + rcx*8 + 0x2000]
shr rax, 0x20
movzx ecx, al
mov rax, r10
xor r8, qword [r12 + rcx*8 + 0x2800]
shr rax, 0x20
movzx ecx, al
mov rax, r9
xor r8, qword [r12 + rcx*8 + 0x3000]
shr rax, 0x20
movzx ecx, al
mov rax, r14
xor r8, qword [r12 + rcx*8 + 0x3800]
shr rax, 0x28
movzx edx, al
mov qword [r15 + 0x20], r8
mov rax, rsi
shr rax, 0x28
mov r8, qword [r12 + rdx*8]
movzx ecx, al
mov rax, rbp
xor r8, qword [r12 + rcx*8 + 0x800]
shr rax, 0x28
movzx ecx, al
mov rax, rdi
xor r8, qword [r12 + rcx*8 + 0x1000]
shr rax, 0x28
movzx ecx, al
mov rax, rbx
xor r8, qword [r12 + rcx*8 + 0x1800]
shr rax, 0x28
movzx ecx, al
mov rax, r11
xor r8, qword [r12 + rcx*8 + 0x2000]
shr rax, 0x28
movzx ecx, al
mov rax, r10
xor r8, qword [r12 + rcx*8 + 0x2800]
shr rax, 0x28
movzx ecx, al
mov rax, r9
xor r8, qword [r12 + rcx*8 + 0x3000]
shr rax, 0x28
movzx ecx, al
mov rax, r14
shr r14, 0x38
xor r8, qword [r12 + rcx*8 + 0x3800]
shr rax, 0x30
movzx edx, al
mov qword [r15 + 0x28], r8
mov rax, rsi
mov r8, qword [r12 + rdx*8]
shr rax, 0x30
shr rsi, 0x38
movzx ecx, al
mov rax, rbp
shr rbp, 0x38
xor r8, qword [r12 + rcx*8 + 0x800]
shr rax, 0x30
movzx ecx, al
mov rax, rdi
shr rdi, 0x38
xor r8, qword [r12 + rcx*8 + 0x1000]
shr rax, 0x30
movzx ecx, al
mov rax, rbx
shr rbx, 0x38
xor r8, qword [r12 + rcx*8 + 0x1800]
shr rax, 0x30
movzx ecx, al
mov rax, r11
shr r11, 0x38
xor r8, qword [r12 + rcx*8 + 0x2000]
shr rax, 0x30
movzx ecx, al
mov rax, r10
shr r10, 0x38
xor r8, qword [r12 + rcx*8 + 0x2800]
shr rax, 0x30
movzx ecx, al
mov rax, r9
shr r9, 0x38
xor r8, qword [r12 + rcx*8 + 0x3000]
shr rax, 0x30
movzx ecx, al
mov rax, qword [r12 + r14*8]
xor rax, qword [r12 + rsi*8 + 0x800]
xor r8, qword [r12 + rcx*8 + 0x3800]
xor rax, qword [r12 + rbp*8 + 0x1000]
mov rbp, qword [rsp + 0x68]
mov qword [r15 + 0x30], r8
xor rax, qword [r12 + rdi*8 + 0x1800]
xor rax, qword [r12 + rbx*8 + 0x2000]
mov rbx, qword [rsp + 0x60]
xor rax, qword [r12 + r11*8 + 0x2800]
xor rax, qword [r12 + r10*8 + 0x3000]
xor rax, qword [r12 + r9*8 + 0x3800]
mov qword [r15 + 0x38], rax
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret