Function at 0x180002990
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movdqu xmm0, xmmword [rdx]
mov rax, rcx
mov r8d, 2
movdqa xmm1, xmmword [0x1800040e0]
psubb xmm0, xmm1
movdqu xmmword [rdx], xmm0
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
lea rax, [rax + 0x10]
psubb xmm0, xmm1
movdqu xmmword [rax - 0x10], xmm0
sub r8, 1
jne 0x1800029d0
movzx eax, byte [rcx]
xor byte [rdx], al
movzx eax, byte [rcx]
xor byte [rdx + 1], al
movzx eax, byte [rcx]
xor byte [rdx + 2], al
movzx eax, byte [rcx]
xor byte [rdx + 3], al
movzx eax, byte [rcx]
xor byte [rdx + 4], al
movzx eax, byte [rcx]
xor byte [rdx + 5], al
movzx eax, byte [rcx]
xor byte [rdx + 6], al
movzx eax, byte [rcx]
xor byte [rdx + 7], al
movzx eax, byte [rcx]
xor byte [rdx + 8], al
movzx eax, byte [rcx]
xor byte [rdx + 9], al
movzx eax, byte [rcx]
xor byte [rdx + 0xa], al
movzx eax, byte [rcx]
xor byte [rdx + 0xb], al
movzx eax, byte [rcx]
xor byte [rdx + 0xc], al
movzx eax, byte [rcx]
xor byte [rdx + 0xd], al
movzx eax, byte [rcx]
xor byte [rdx + 0xe], al
movzx eax, byte [rcx]
xor byte [rdx + 0xf], al
movzx edx, byte [rcx + 0xe]
movzx eax, byte [rcx + 1]
movzx r8d, byte [rcx + 2]
movzx r9d, byte [rcx + 3]
movzx r10d, byte [rcx + 4]
movzx r11d, byte [rcx + 5]
movzx ebx, byte [rcx + 6]
movzx edi, byte [rcx + 7]
movzx esi, byte [rcx + 8]
movzx ebp, byte [rcx + 9]
movzx r14d, byte [rcx + 0xa]
movzx r15d, byte [rcx + 0xb]
movzx r12d, byte [rcx + 0xc]
movzx r13d, byte [rcx + 0xd]
mov byte [rsp + 0x70], dl
movzx edx, byte [rcx + 0xf]
mov byte [rsp + 0x78], dl
movzx edx, byte [rcx + 0x10]
mov byte [rsp], dl
movzx edx, byte [rcx + 0x11]
mov byte [rsp + 1], dl
movzx edx, byte [rcx + 0x12]
mov byte [rsp + 2], dl
movzx edx, byte [rcx + 0x13]
mov byte [rsp + 3], dl
movzx edx, byte [rcx + 0x14]
mov byte [rsp + 4], dl
movzx edx, byte [rcx + 0x15]
mov byte [rsp + 5], dl
movzx edx, byte [rcx + 0x16]
mov byte [rsp + 6], dl
movzx edx, byte [rcx + 0x17]
mov byte [rsp + 7], dl
movzx edx, byte [rcx + 0x18]
mov byte [rsp + 8], dl
movzx edx, byte [rcx + 0x19]
mov byte [rsp + 9], dl
movzx edx, byte [rcx + 0x1a]
mov byte [rsp + 0xa], dl
movzx edx, byte [rcx + 0x1b]
mov byte [rsp + 0xb], dl
movzx edx, byte [rcx + 0x1c]
mov byte [rsp + 0xc], dl
movzx edx, byte [rcx + 0x1d]
mov byte [rsp + 0xd], dl
movzx edx, byte [rcx + 0x1e]
mov byte [rsp + 0xe], dl
movzx edx, byte [rcx + 0x1f]
mov byte [rsp + 0xf], dl
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x18], 0x10
nop
xor al, byte [rdx]
mov byte [rcx + 1], al
xor r8b, byte [rdx]
mov byte [rsp + 0x10], al
movzx eax, byte [rsp + 0x70]
mov byte [rcx + 2], r8b
xor r9b, byte [rdx]
mov byte [rcx + 3], r9b
xor r10b, byte [rdx]
mov byte [rcx + 4], r10b
xor r11b, byte [rdx]
mov byte [rcx + 5], r11b
xor bl, byte [rdx]
mov byte [rcx + 6], bl
xor dil, byte [rdx]
mov byte [rcx + 7], dil
xor sil, byte [rdx]
mov byte [rcx + 8], sil
xor bpl, byte [rdx]
mov byte [rcx + 9], bpl
xor r14b, byte [rdx]
mov byte [rcx + 0xa], r14b
xor r15b, byte [rdx]
mov byte [rcx + 0xb], r15b
xor r12b, byte [rdx]
mov byte [rcx + 0xc], r12b
xor r13b, byte [rdx]
mov byte [rcx + 0xd], r13b
xor al, byte [rdx]
mov byte [rsp + 0x70], al
mov byte [rcx + 0xe], al
movzx eax, byte [rsp + 0x78]
xor al, byte [rdx]
mov byte [rsp + 0x78], al
mov byte [rcx + 0xf], al
movzx eax, byte [rsp]
xor al, byte [rdx]
mov byte [rsp], al
mov byte [rcx + 0x10], al
movzx eax, byte [rsp + 1]
xor al, byte [rdx]
mov byte [rsp + 1], al
mov byte [rcx + 0x11], al
movzx eax, byte [rsp + 2]
xor al, byte [rdx]
mov byte [rsp + 2], al
mov byte [rcx + 0x12], al
movzx eax, byte [rsp + 3]
xor al, byte [rdx]
mov byte [rsp + 3], al
mov byte [rcx + 0x13], al
movzx eax, byte [rsp + 4]
xor al, byte [rdx]
mov byte [rsp + 4], al
mov byte [rcx + 0x14], al
movzx eax, byte [rsp + 5]
xor al, byte [rdx]
mov byte [rsp + 5], al
mov byte [rcx + 0x15], al
movzx eax, byte [rsp + 6]
xor al, byte [rdx]
mov byte [rsp + 6], al
mov byte [rcx + 0x16], al
movzx eax, byte [rsp + 7]
xor al, byte [rdx]
mov byte [rsp + 7], al
mov byte [rcx + 0x17], al
movzx eax, byte [rsp + 8]
xor al, byte [rdx]
mov byte [rsp + 8], al
mov byte [rcx + 0x18], al
movzx eax, byte [rsp + 9]
xor al, byte [rdx]
mov byte [rsp + 9], al
mov byte [rcx + 0x19], al
movzx eax, byte [rsp + 0xa]
xor al, byte [rdx]
mov byte [rsp + 0xa], al
mov byte [rcx + 0x1a], al
movzx eax, byte [rsp + 0xb]
xor al, byte [rdx]
mov byte [rsp + 0xb], al
lea rdx, [rdx + 1]
mov byte [rcx + 0x1b], al
movzx eax, byte [rsp + 0xc]
xor al, byte [rdx - 1]
mov byte [rsp + 0xc], al
mov byte [rcx + 0x1c], al
movzx eax, byte [rsp + 0xd]
xor al, byte [rdx - 1]
mov byte [rsp + 0xd], al
mov byte [rcx + 0x1d], al
movzx eax, byte [rsp + 0xe]
xor al, byte [rdx - 1]
mov byte [rsp + 0xe], al
mov byte [rcx + 0x1e], al
movzx eax, byte [rsp + 0xf]
xor al, byte [rdx - 1]
sub qword [rsp + 0x18], 1
mov byte [rsp + 0xf], al
mov byte [rcx + 0x1f], al
movzx eax, byte [rsp + 0x10]
jne 0x180002b20
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret