Function at 0x180001320
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
xor eax, eax
movsxd rdi, edx
mov rbx, rdi
mov word [rbp - 0x19], ax
shl rbx, 4
mov rdx, r9
add rbx, rcx
mov qword [rbp - 0x17], rax
lea rcx, [rbp - 0x19]
mov dword [rbp - 0xf], eax
mov rsi, r8
mov word [rbp - 0xb], ax
call fcn.180001ac0
movzx eax, word [rbx]
xor word [rbp - 0x19], ax
movzx eax, word [rbx + 2]
xor word [rbp - 0x17], ax
movzx eax, word [rbx + 4]
xor word [rbp - 0x15], ax
movzx eax, word [rbx + 6]
xor word [rbp - 0x13], ax
movzx eax, word [rbx + 8]
xor word [rbp - 0x11], ax
movzx eax, word [rbx + 0xa]
xor word [rbp - 0xf], ax
movzx eax, word [rbx + 0xc]
xor word [rbp - 0xd], ax
movzx eax, word [rbx + 0xe]
sub rbx, 0x10
xor word [rbp - 0xb], ax
cmp edi, 1
jle 0x180001507
movdqa xmm4, xmmword [0x1800040d0]
dec edi
movdqa xmm5, xmmword [0x1800040a0]
movaps xmmword [rsp + 0x80], xmm6
movdqa xmm6, xmmword [0x180004090]
movaps xmmword [rsp + 0x70], xmm7
movdqa xmm7, xmmword [str.________pppppppp]
movaps xmmword [rsp + 0x60], xmm8
movdqa xmm8, xmmword [0x1800040b0]
movaps xmmword [rsp + 0x50], xmm9
movdqa xmm9, xmmword [0x1800040c0]
movaps xmmword [rsp + 0x40], xmm10
movdqa xmm10, xmmword [0x180004070]
movdqu xmm2, xmmword [rbp - 0x19]
lea rcx, [rbp - 0x19]
mov edx, 1
movdqa xmm3, xmm4
movdqa xmm0, xmm5
andps xmm0, xmm2
andps xmm3, xmm2
psllw xmm3, 1
movdqa xmm1, xmm2
orps xmm3, xmm0
psrlw xmm1, 1
psllw xmm3, 1
andps xmm1, xmm7
movdqa xmm0, xmm6
andps xmm0, xmm2
orps xmm3, xmm0
movdqa xmm0, xmm8
andps xmm0, xmm2
psllw xmm3, 1
orps xmm1, xmm0
movdqa xmm0, xmm9
andps xmm0, xmm2
psrlw xmm1, 1
orps xmm1, xmm0
movdqa xmm0, xmm10
psrlw xmm1, 1
andps xmm0, xmm2
orps xmm3, xmm1
orps xmm3, xmm0
movdqu xmmword [rbp - 0x19], xmm3
call fcn.180001ff0
movzx eax, word [rbx]
lea rcx, [rbp - 0x19]
xor word [rbp - 0x19], ax
mov edx, 1
movzx eax, word [rbx + 2]
xor word [rbp - 0x17], ax
movzx eax, word [rbx + 4]
xor word [rbp - 0x15], ax
movzx eax, word [rbx + 6]
xor word [rbp - 0x13], ax
movzx eax, word [rbx + 8]
xor word [rbp - 0x11], ax
movzx eax, word [rbx + 0xa]
xor word [rbp - 0xf], ax
movzx eax, word [rbx + 0xc]
xor word [rbp - 0xd], ax
movzx eax, word [rbx + 0xe]
sub rbx, 0x10
xor word [rbp - 0xb], ax
call fcn.180001c40
sub rdi, 1
jne 0x180001411
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm6, xmmword [rsp + 0x80]
movdqu xmm2, xmmword [rbp - 0x19]
lea rcx, [rbp - 0x19]
mov edx, 1
movdqa xmm3, xmmword [0x1800040d0]
movdqa xmm0, xmmword [0x1800040a0]
andps xmm3, xmm2
andps xmm0, xmm2
psllw xmm3, 1
orps xmm3, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmmword [0x180004090]
andps xmm0, xmm2
psrlw xmm1, 1
andps xmm1, xmmword [str.________pppppppp]
psllw xmm3, 1
orps xmm3, xmm0
movdqa xmm0, xmmword [0x1800040b0]
andps xmm0, xmm2
psllw xmm3, 1
orps xmm1, xmm0
movdqa xmm0, xmmword [0x1800040c0]
andps xmm0, xmm2
psrlw xmm1, 1
orps xmm1, xmm0
movdqa xmm0, xmmword [0x180004070]
psrlw xmm1, 1
andps xmm0, xmm2
orps xmm3, xmm1
orps xmm3, xmm0
movdqu xmmword [rbp - 0x19], xmm3
call fcn.180001ff0
movzx eax, word [rbx]
lea rdx, [rbp - 0x19]
xor word [rbp - 0x19], ax
mov rcx, rsi
movzx eax, word [rbx + 2]
xor word [rbp - 0x17], ax
movzx eax, word [rbx + 4]
xor word [rbp - 0x15], ax
movzx eax, word [rbx + 6]
xor word [rbp - 0x13], ax
movzx eax, word [rbx + 8]
xor word [rbp - 0x11], ax
movzx eax, word [rbx + 0xa]
xor word [rbp - 0xf], ax
movzx eax, word [rbx + 0xc]
xor word [rbp - 0xd], ax
movzx eax, word [rbx + 0xe]
xor word [rbp - 0xb], ax
call fcn.180001f20
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret