Function at 0x140002070
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
movsxd rsi, edx
xorps xmm0, xmm0
mov qword [rsp + 0x118], rbx
mov rdx, r9
mov rbx, rsi
mov rdi, r8
shl rbx, 4
add rbx, rcx
lea rcx, [rbp - 0x79]
movups xmmword [rbp - 0x79], xmm0
call fcn.140002990
movzx eax, word [rbx]
mov r14d, 1
xor word [rbp - 0x79], ax
movzx eax, word [rbx + 2]
xor word [rbp - 0x77], ax
movzx eax, word [rbx + 4]
xor word [rbp - 0x75], ax
movzx eax, word [rbx + 6]
xor word [rbp - 0x73], ax
movzx eax, word [rbx + 8]
xor word [rbp - 0x71], ax
movzx eax, word [rbx + 0xa]
xor word [rbp - 0x6f], ax
movzx eax, word [rbx + 0xc]
xor word [rbp - 0x6d], ax
movzx eax, word [rbx + 0xe]
sub rbx, 0x10
xor word [rbp - 0x6b], ax
cmp esi, r14d
jle 0x1400022a2
movaps xmmword [rsp + 0xb0], xmm6
dec esi
movaps xmmword [rsp + 0xa0], xmm7
movdqa xmm7, xmmword [str.________pppppppp]
movaps xmmword [rsp + 0x90], xmm8
movdqa xmm8, xmmword [0x1400055e0]
movaps xmmword [rsp + 0x80], xmm9
movdqa xmm9, xmmword [0x1400055f0]
movaps xmmword [rsp + 0x70], xmm10
movdqa xmm10, xmmword [0x140005600]
movaps xmmword [rsp + 0x60], xmm11
movdqa xmm11, xmmword [0x1400055d0]
movaps xmmword [rsp + 0x50], xmm12
movdqa xmm12, xmmword [0x1400055c0]
movaps xmmword [rsp + 0x40], xmm13
movdqa xmm13, xmmword [0x1400055a0]
movd xmm6, r14d
nop dword [rax]
nop dword [rax + rax]
movdqu xmm2, xmmword [rbp - 0x79]
mov edx, r14d
lea rcx, [rbp - 0x79]
movdqa xmm3, xmm2
movdqa xmm0, xmm2
pand xmm3, xmm10
pand xmm0, xmm11
psllw xmm3, xmm6
movdqa xmm1, xmm2
por xmm3, xmm0
movdqa xmm0, xmm2
pand xmm0, xmm12
psrlw xmm1, xmm6
psllw xmm3, xmm6
pand xmm1, xmm7
por xmm3, xmm0
movdqa xmm0, xmm2
pand xmm0, xmm8
por xmm1, xmm0
movdqa xmm0, xmm2
psrlw xmm1, xmm6
psllw xmm3, xmm6
pand xmm0, xmm9
pand xmm2, xmm13
por xmm1, xmm0
psrlw xmm1, xmm6
por xmm3, xmm1
por xmm3, xmm2
movdqu xmmword [rbp - 0x79], xmm3
call fcn.140002da0
movzx eax, word [rbx]
lea rcx, [rbp - 0x79]
xor word [rbp - 0x79], ax
mov edx, r14d
movzx eax, word [rbx + 2]
xor word [rbp - 0x77], ax
movzx eax, word [rbx + 4]
xor word [rbp - 0x75], ax
movzx eax, word [rbx + 6]
xor word [rbp - 0x73], ax
movzx eax, word [rbx + 8]
xor word [rbp - 0x71], ax
movzx eax, word [rbx + 0xa]
xor word [rbp - 0x6f], ax
movzx eax, word [rbx + 0xc]
xor word [rbp - 0x6d], ax
movzx eax, word [rbx + 0xe]
sub rbx, 0x10
xor word [rbp - 0x6b], ax
call fcn.140002b10
sub rsi, r14
jne 0x140002190
movaps xmm13, xmmword [rsp + 0x40]
movaps xmm12, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
movdqu xmm3, xmmword [rbp - 0x79]
lea rcx, [rbp - 0x79]
mov edx, r14d
movdqa xmm4, xmmword [0x140005600]
movdqa xmm0, xmmword [0x1400055d0]
pand xmm4, xmm3
pand xmm0, xmm3
movd xmm2, r14d
psllw xmm4, xmm2
movdqa xmm1, xmm3
por xmm4, xmm0
movdqa xmm0, xmmword [0x1400055c0]
pand xmm0, xmm3
psrlw xmm1, xmm2
psllw xmm4, xmm2
pand xmm1, xmmword [str.________pppppppp]
por xmm4, xmm0
movdqa xmm0, xmmword [0x1400055e0]
pand xmm0, xmm3
por xmm1, xmm0
movdqa xmm0, xmmword [0x1400055f0]
pand xmm0, xmm3
psrlw xmm1, xmm2
psllw xmm4, xmm2
por xmm1, xmm0
movdqa xmm0, xmmword [0x1400055a0]
psrlw xmm1, xmm2
pand xmm0, xmm3
por xmm4, xmm1
por xmm4, xmm0
movdqu xmmword [rbp - 0x79], xmm4
call fcn.140002da0
movzx r11d, word [rbp - 0x79]
xor r11w, word [rbx]
movzx eax, word [rbp - 0x6d]
xor ax, word [rbx + 0xc]
movzx ecx, word [rbp - 0x6b]
xor cx, word [rbx + 0xe]
movzx esi, word [rbp - 0x77]
xor si, word [rbx + 2]
movzx r14d, word [rbp - 0x75]
xor r14w, word [rbx + 4]
movzx r15d, word [rbp - 0x73]
xor r15w, word [rbx + 6]
movzx r12d, word [rbp - 0x71]
xor r12w, word [rbx + 8]
movzx r13d, word [rbp - 0x6f]
xor r13w, word [rbx + 0xa]
mov rbx, qword [rsp + 0x118]
xor r10d, r10d
mov dword [rbp + 0x77], r10d
mov word [rbp + 0x67], ax
mov word [rbp + 0x6f], cx
mov eax, r10d
mov r9d, 4
movzx r10d, word [rbp + 0x67]
nop
movzx r8d, cx
movzx edx, r10w
movzx ecx, ax
add eax, 4
shr dx, cl
and dl, 1
shr r8w, cl
add r8b, r8b
or r8b, dl
movzx edx, r13w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r12w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r15w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r14w
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, si
shr dx, cl
add r8b, r8b
and dl, 1
or r8b, dl
movzx edx, r11w
shr dx, cl
add r8b, r8b
movzx ecx, word [rbp + 0x6f]
and dl, 1
or r8b, dl
mov byte [rdi], r8b
inc rdi
sub r9, 1
jne 0x1400023b0
mov r10d, dword [rbp + 0x77]
inc r10d
mov dword [rbp + 0x77], r10d
cmp r10d, 4
jl 0x1400023a1
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret