Function at 0x140016900
Capabilities:
Encode data using xor

Disassembly:
push rbp
shl r8, 3
shl r9, 3
mov r10, r8
movq xmm0, r9
shr r10, 0x20
mov rbp, rsp
push r15
movq xmm1, r10
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x20
and rsp, 0xfffffffffffffff0
sub rsp, 0xa0
movups xmmword [rsp + 0xa0], xmm6
movq xmm6, r8
mov r8, r9
lea rbx, [rsp + 0x80]
shr r8, 0x20
punpcklqdq xmm6, xmm1
movups xmmword [rsp + 0xb0], xmm8
mov r12, qword [rbp + 0x30]
movq xmm1, r8
mov qword [rsp + 0x30], rcx
lea rsi, [rsp + 0x70]
lea rdi, [rsp + 0x90]
lea rax, [r12 + 0x70]
movdqu xmm4, xmmword [r12 + 0x20]
mov qword [rsp + 0x28], rdx
punpcklqdq xmm0, xmm1
mov qword [rsp + 0x50], rax
lea rax, [r12 + 0x30]
shufps xmm6, xmm0, 0x88
lea r15, [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rax, [r12 + 0x20]
pxor xmm6, xmm4
lea r14, [r12 + 0x50]
mov qword [rsp + 0x58], rax
lea rax, [r12 + 0x10]
lea r13, [r12 + 0x40]
mov dword [rsp + 0x3c], 7
mov qword [rsp + 0x68], rax
mov rax, rbx
mov rbx, rsi
mov rsi, rax
nop dword [rax + rax]
movdqu xmm4, xmmword [r15]
mov rax, qword [rsp + 0x50]
mov r8, rbx
mov rdx, rsi
movdqu xmm8, xmmword [r12 + 0x70]
mov rcx, rdi
movups xmmword [rsp + 0x80], xmm4
movdqu xmm5, xmmword [rax]
movups xmmword [rsp + 0x70], xmm5
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov rax, qword [rsp + 0x50]
mov r8, rbx
mov rdx, rsi
movdqu xmm5, xmmword [rsp + 0x90]
mov rcx, rdi
movups xmmword [rax], xmm5
movdqu xmm2, xmmword [r14]
movups xmmword [rsp + 0x80], xmm2
movdqu xmm0, xmmword [r15]
movups xmmword [rsp + 0x70], xmm0
call sym.softaes_block_encrypt
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0x90]
movups xmmword [r15], xmm4
movdqu xmm5, xmmword [r13]
movups xmmword [rsp + 0x80], xmm5
movdqu xmm2, xmmword [r14]
movups xmmword [rsp + 0x70], xmm2
call sym.softaes_block_encrypt
mov rax, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rsi
movdqu xmm0, xmmword [rsp + 0x90]
mov rcx, rdi
movups xmmword [r14], xmm0
movdqu xmm3, xmmword [rax]
movups xmmword [rsp + 0x80], xmm3
movdqu xmm4, xmmword [r13]
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0x70], xmm4
call sym.softaes_block_encrypt
mov rcx, qword [rsp + 0x58]
mov r8, rbx
mov rdx, rsi
movdqu xmm5, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0x60]
movups xmmword [r13], xmm5
movdqu xmm2, xmmword [rcx]
mov rcx, rdi
movups xmmword [rsp + 0x80], xmm2
movdqu xmm3, xmmword [rax]
movups xmmword [rsp + 0x70], xmm3
movups xmmword [rsp + 0x40], xmm3
call sym.softaes_block_encrypt
mov rax, qword [rsp + 0x60]
mov r8, rbx
mov rdx, rsi
movdqu xmm4, xmmword [rsp + 0x90]
mov rcx, qword [rsp + 0x58]
movups xmmword [rax], xmm4
mov rax, qword [rsp + 0x68]
movdqu xmm5, xmmword [rax]
movups xmmword [rsp + 0x80], xmm5
movdqu xmm0, xmmword [rcx]
mov rcx, rdi
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x40], xmm0
call sym.softaes_block_encrypt
mov rcx, qword [rsp + 0x58]
mov r8, rbx
mov rdx, rsi
movdqu xmm1, xmmword [rsp + 0x90]
mov rax, qword [rsp + 0x68]
movups xmmword [rcx], xmm1
movdqu xmm4, xmmword [r12]
mov rcx, rdi
movups xmmword [rsp + 0x80], xmm4
movdqu xmm5, xmmword [rax]
movups xmmword [rsp + 0x70], xmm5
movups xmmword [rsp + 0x40], xmm5
call sym.softaes_block_encrypt
mov rax, qword [rsp + 0x68]
mov r8, rbx
mov rdx, rsi
movdqu xmm0, xmmword [rsp + 0x90]
mov rcx, rdi
movups xmmword [rax], xmm0
movups xmmword [rsp + 0x80], xmm8
movdqu xmm3, xmmword [r12]
movups xmmword [rsp + 0x70], xmm3
call sym.softaes_block_encrypt
movdqu xmm2, xmmword [r12 + 0x40]
sub dword [rsp + 0x3c], 1
movdqu xmm0, xmmword [rsp + 0x90]
movdqu xmm3, xmm2
movdqu xmm1, xmm0
pxor xmm3, xmm6
pxor xmm1, xmm6
movups xmmword [r12 + 0x40], xmm3
movups xmmword [r12], xmm1
jne 0x1400169e0
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp rdx, 0x10
je 0x140016ca8
cmp rdx, 0x20
jne 0x140016c78
movdqu xmm6, xmmword [r12 + 0x20]
movdqu xmm0, xmmword [r12 + 0x30]
pxor xmm0, xmm6
movdqu xmm6, xmmword [r12 + 0x10]
pxor xmm1, xmm6
pxor xmm0, xmm1
movups xmmword [rcx], xmm0
movdqu xmm0, xmmword [r12 + 0x40]
movdqu xmm6, xmmword [r12 + 0x50]
movdqu xmm1, xmmword [r12 + 0x60]
movdqu xmm2, xmmword [r12 + 0x70]
pxor xmm0, xmm6
pxor xmm1, xmm2
pxor xmm0, xmm1
movups xmmword [rcx + 0x10], xmm0
movups xmm6, xmmword [rsp + 0xa0]
movups xmm8, xmmword [rsp + 0xb0]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movups xmm6, xmmword [rsp + 0xa0]
mov r8, rdx
xor edx, edx
movups xmm8, xmmword [rsp + 0xb0]
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp sym.memset
movdqu xmm6, xmmword [r12 + 0x30]
movdqu xmm1, xmmword [r12 + 0x20]
pxor xmm0, xmm2
movdqu xmm3, xmmword [r12 + 0x50]
movdqu xmm2, xmmword [r12 + 0x10]
pxor xmm1, xmm6
movdqu xmm6, xmmword [r12 + 0x60]
pxor xmm0, xmm2
pxor xmm3, xmm6
pxor xmm1, xmm3
pxor xmm0, xmm1
movups xmmword [rcx], xmm0
jmp 0x140016c50