Function at 0x140018ac0
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 xmm4, r10
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x20
and rsp, 0xfffffffffffffff0
sub rsp, 0x90
movups xmmword [rsp + 0x90], xmm6
movq xmm6, r8
mov r8, r9
lea rbx, [rsp + 0x70]
shr r8, 0x20
mov qword [rsp + 0x30], rcx
punpcklqdq xmm6, xmm4
lea rdi, [rsp + 0x80]
movups xmmword [rsp + 0xa0], xmm8
mov rsi, qword [rbp + 0x30]
movq xmm5, r8
mov dword [rsp + 0x3c], 7
punpcklqdq xmm0, xmm5
lea rax, [rsi + 0x50]
movdqu xmm2, xmmword [rsi + 0x30]
lea r15, [rsi + 0x40]
shufps xmm6, xmm0, 0x88
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x60]
lea r14, [rsi + 0x30]
mov qword [rsp + 0x28], rdx
lea r13, [rsi + 0x20]
lea r12, [rsi + 0x10]
pxor xmm6, xmm2
mov qword [rsp + 0x58], rax
mov rax, rbx
mov rbx, rsi
mov rsi, rax
nop dword [rax]
movdqu xmm3, xmmword [r15]
mov rax, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, rdi
movdqu xmm8, xmmword [rbx + 0x50]
mov r8, qword [rsp + 0x58]
movups xmmword [rsp + 0x70], xmm3
movdqu xmm4, xmmword [rax]
movups xmmword [rsp + 0x60], xmm4
movups xmmword [rsp + 0x40], xmm4
call sym.softaes_block_encrypt
mov rax, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, rdi
movdqu xmm2, xmmword [rsp + 0x80]
mov r8, qword [rsp + 0x58]
movups xmmword [rax], xmm2
movdqu xmm1, xmmword [r14]
movups xmmword [rsp + 0x70], xmm1
movdqu xmm3, xmmword [r15]
movups xmmword [rsp + 0x60], xmm3
call sym.softaes_block_encrypt
mov r8, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, rdi
movdqu xmm4, xmmword [rsp + 0x80]
movups xmmword [r15], xmm4
movdqu xmm5, xmmword [r13]
movups xmmword [rsp + 0x70], xmm5
movdqu xmm2, xmmword [r14]
movups xmmword [rsp + 0x60], xmm2
call sym.softaes_block_encrypt
mov r8, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, rdi
movdqu xmm1, xmmword [rsp + 0x80]
movups xmmword [r14], xmm1
movdqu xmm3, xmmword [r12]
movups xmmword [rsp + 0x70], xmm3
movdqu xmm4, xmmword [r13]
movups xmmword [rsp + 0x60], xmm4
call sym.softaes_block_encrypt
mov r8, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, rdi
movdqu xmm5, xmmword [rsp + 0x80]
movups xmmword [r13], xmm5
movdqu xmm2, xmmword [rbx]
movups xmmword [rsp + 0x70], xmm2
movdqu xmm1, xmmword [r12]
movups xmmword [rsp + 0x60], xmm1
call sym.softaes_block_encrypt
mov r8, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, rdi
movdqu xmm0, xmmword [rsp + 0x80]
movups xmmword [r12], xmm0
movups xmmword [rsp + 0x70], xmm8
movdqu xmm3, xmmword [rbx]
movups xmmword [rsp + 0x60], xmm3
call sym.softaes_block_encrypt
sub dword [rsp + 0x3c], 1
movdqu xmm0, xmmword [rsp + 0x80]
pxor xmm0, xmm6
movups xmmword [rbx], xmm0
jne 0x140018b80
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp rdx, 0x10
je 0x140018d68
cmp rdx, 0x20
jne 0x140018d38
movdqu xmm6, xmmword [rbx + 0x10]
movdqu xmm1, xmmword [rbx + 0x20]
pxor xmm1, xmm6
pxor xmm0, xmm1
movups xmmword [rcx], xmm0
movdqu xmm0, xmmword [rbx + 0x50]
movdqu xmm6, xmmword [rbx + 0x40]
movdqu xmm1, xmmword [rbx + 0x30]
pxor xmm0, xmm6
pxor xmm0, xmm1
movups xmmword [rcx + 0x10], xmm0
movups xmm6, xmmword [rsp + 0x90]
movups xmm8, xmmword [rsp + 0xa0]
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 + 0x90]
mov r8, rdx
xor edx, edx
movups xmm8, xmmword [rsp + 0xa0]
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 [rbx + 0x30]
movdqu xmm1, xmmword [rbx + 0x20]
movdqu xmm2, xmmword [rbx + 0x50]
pxor xmm1, xmm6
movdqu xmm6, xmmword [rbx + 0x40]
pxor xmm2, xmm6
pxor xmm1, xmm2
movdqu xmm2, xmmword [rbx + 0x10]
pxor xmm0, xmm2
pxor xmm0, xmm1
movups xmmword [rcx], xmm0
jmp 0x140018d11