Function at 0x180016070
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov rax, qword [rcx + 8]
test rax, rax
jne 0x180016385
cmp byte [0x18005e082], 0
jne 0x180016374
mov rcx, qword [0x18005c6c8]
movabs rax, 0x6c55b8cb9f7f9cf1
add rax, rcx
movabs rdx, 0x6c55b8cb9f7f9d03
add rdx, rcx
movabs r9, 0x6c55b8cb9f7f9d15
add r9, rcx
lea r8, [0x18005e070]
cmp r9, r8
jbe 0x180016193
lea r9, [0x18005e082]
cmp rax, r9
jae 0x180016193
xor ecx, ecx
nop dword [rax]
movzx r10d, byte [rdx + rcx]
mov esi, r10d
not sil
mov r11d, r10d
and r11b, 0xe3
mov r9d, esi
and r9b, 0x1c
mov edi, r10d
and dil, 0x10
mov ebp, r10d
and bpl, 1
mov ebx, r10d
xor bl, 1
and bl, r11b
xor dil, 0x1d
xor bpl, bl
and bl, 1
xor bpl, 0xd
or bl, bpl
lea r14d, [r9 - 0x1e]
and r14b, bpl
not bl
and bl, dil
or bl, r14b
and sil, 4
and r10b, 0x18
or r10b, sil
or r10b, 0x81
xor r10b, r11b
xor r10b, 0x99
or r9b, r11b
not r9b
or r9b, r10b
not r9b
or r9b, bl
xor r9b, byte [rax + rcx]
xor r9b, 0x1c
mov byte [rcx + r8], r9b
inc rcx
cmp rcx, 0x12
jne 0x180016100
jmp 0x18001636d
movdqu xmm1, xmmword [rdx]
movdqu xmm0, xmmword [rax]
movdqa xmm2, xmmword [0x18004dce0]
pand xmm2, xmm1
movdqa xmm4, xmmword [0x18004dcf0]
movdqa xmm3, xmm1
movdqa xmm7, xmmword [0x18004dd00]
pand xmm7, xmm1
movdqa xmm5, xmmword [0x18004dd10]
movdqa xmm8, xmm1
pand xmm8, xmm5
movdqa xmm6, xmm1
pxor xmm6, xmm5
pand xmm6, xmm2
pxor xmm7, xmmword [0x18004dd20]
pand xmm5, xmm6
pxor xmm6, xmm8
pxor xmm6, xmmword [str._r_r_r_r_r_r_r_r_r_r_r_r_r_r_r_r]
pandn xmm3, xmm4
por xmm5, xmm6
pandn xmm5, xmm7
movdqa xmm7, xmmword [0x18004dd40]
movdqa xmm8, xmm1
pandn xmm8, xmmword [0x18004dd50]
pxor xmm0, xmm4
pandn xmm4, xmm1
pand xmm1, xmmword [0x18004dd60]
por xmm7, xmm3
por xmm1, xmm8
por xmm1, xmmword [0x18004dd70]
pand xmm7, xmm6
pxor xmm1, xmm2
pxor xmm1, xmmword [0x18004dd80]
por xmm7, xmm5
por xmm4, xmm3
pcmpeqd xmm2, xmm2
pxor xmm4, xmm2
por xmm4, xmm1
pxor xmm4, xmm2
por xmm4, xmm7
pxor xmm0, xmm4
movdqa xmmword [0x18005e070], xmm0
movabs rax, 0x6c55b8cb9f7f9d13
movzx eax, word [rcx + rax]
movd xmm4, eax
movabs rax, 0x6c55b8cb9f7f9d01
movzx eax, word [rcx + rax]
movd xmm0, eax
movdqa xmm5, xmmword [0x18004dd90]
pand xmm5, xmm4
movdqa xmm3, xmmword [0x18004dda0]
movdqa xmm1, xmm4
pandn xmm1, xmm3
movdqa xmm6, xmmword [0x18004ddb0]
pand xmm6, xmm4
movdqa xmm7, xmmword [0x18004ddc0]
movdqa xmm8, xmm4
pand xmm8, xmm7
movdqa xmm9, xmm4
pxor xmm9, xmm7
pand xmm9, xmm5
pxor xmm6, xmmword [0x18004ddd0]
pand xmm7, xmm9
pxor xmm9, xmm8
pxor xmm9, xmmword [0x18004dde0]
por xmm7, xmm9
pandn xmm7, xmm6
movdqa xmm6, xmmword [0x18004ddf0]
por xmm6, xmm1
pand xmm6, xmm9
movdqa xmm8, xmm4
pandn xmm8, xmmword [0x18004de00]
pand xmm4, xmmword [0x18004de10]
por xmm6, xmm7
por xmm4, xmm8
por xmm4, xmmword [0x18004de20]
pxor xmm4, xmm5
pxor xmm4, xmmword [0x18004de30]
por xmm1, xmm5
pxor xmm1, xmm2
por xmm1, xmm4
pxor xmm1, xmm2
por xmm1, xmm6
pxor xmm0, xmm3
pxor xmm0, xmm1
movd eax, xmm0
mov word [0x18005e080], ax
mov byte [0x18005e082], 1
movabs rax, 0x6c55b8cb9f7f8b7f
add rax, qword [0x18005c6d0]
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret