Function at 0x1800a9b80
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x180c61100]
xor rax, rsp
mov qword [rsp + 0x30], rax
movdqu xmm8, xmmword [rcx]
movsxd rbx, r9d
mov r9, r8
movdqa xmm10, xmmword [0x180b9e800]
xorps xmm0, xmm0
lea r14, [0x180c60fa0]
mov rsi, rdx
mov rbp, rcx
movdqu xmm9, xmmword [rcx + 0x10]
movdqu xmm7, xmmword [rcx + 0x20]
movdqu xmm6, xmmword [rcx + 0x30]
movdqu xmm5, xmmword [rcx + 0x40]
movups xmmword [rsp + 0x20], xmm0
cmp ebx, 0x10
jge 0x1800a9c19
test ebx, ebx
je 0x1800a9f9c
mov r8, rbx
lea rcx, [rsp + 0x20]
mov rdx, r9
call fcn.1800b79a0
mov r8, rbx
jmp 0x1800a9ee7
mov ecx, r9d
neg ecx
and ecx, 0xf
je 0x1800a9cbe
movdqu xmm5, xmmword [r8]
mov eax, ecx
sub ebx, ecx
movdqa xmm2, xmmword [0x180b9e810]
movdqa xmm0, xmm9
movdqa xmm3, xmm8
add rsi, rax
movdqu xmmword [rdx], xmm5
add r9, rax
add rax, rax
movdqu xmm1, xmmword [r14 + rax*8 - 0x10]
pshufb xmm0, xmm1
xorps xmm2, xmm1
pshufb xmm5, xmm1
pshufb xmm3, xmm1
pshufb xmm8, xmm2
pshufb xmm9, xmm2
orps xmm8, xmm0
movdqa xmm0, xmm7
pshufb xmm0, xmm1
pshufb xmm7, xmm2
orps xmm9, xmm0
movdqa xmm0, xmm6
pshufb xmm6, xmm2
pshufb xmm0, xmm1
orps xmm6, xmm5
movdqa xmm1, xmm3
orps xmm7, xmm0
movdqa xmm0, xmm6
movdqa xmm6, xmm3
pclmulqdq xmm6, xmm10, 1
xorps xmm6, xmm0
pclmulqdq xmm1, xmm10, 0x10
xorps xmm6, xmm1
mov eax, ebx
sub ebx, 0x40
js 0x1800a9d82
mov ecx, eax
shr rcx, 6
mov eax, ecx
neg eax
shl eax, 6
add ebx, eax
nop dword [rax + rax]
movdqu xmm1, xmmword [r9]
movdqa xmm0, xmm8
movdqu xmm2, xmmword [r9 + 0x10]
movdqu xmm3, xmmword [r9 + 0x20]
movdqu xmm4, xmmword [r9 + 0x30]
add r9, 0x40
pclmulqdq xmm0, xmm10, 1
pclmulqdq xmm8, xmm10, 0x10
xorps xmm8, xmm0
movdqa xmm0, xmm9
pclmulqdq xmm0, xmm10, 1
pclmulqdq xmm9, xmm10, 0x10
xorps xmm9, xmm0
xorps xmm8, xmm1
movdqa xmm0, xmm7
xorps xmm9, xmm2
pclmulqdq xmm0, xmm10, 1
pclmulqdq xmm7, xmm10, 0x10
xorps xmm7, xmm0
movdqa xmm0, xmm6
pclmulqdq xmm6, xmm10, 0x10
pclmulqdq xmm0, xmm10, 1
movdqu xmmword [rsi], xmm1
movdqu xmmword [rsi + 0x10], xmm2
movdqu xmmword [rsi + 0x20], xmm3
movdqu xmmword [rsi + 0x30], xmm4
add rsi, 0x40
xorps xmm6, xmm0
xorps xmm7, xmm3
xorps xmm6, xmm4
sub rcx, 1
jne 0x1800a9ce0
lea eax, [rbx + 0x10]
test eax, eax
js 0x1800a9e11
movdqu xmm1, xmmword [r9]
movdqa xmm0, xmm6
movdqu xmm2, xmmword [r9 + 0x10]
movdqa xmm6, xmm7
movdqu xmm3, xmmword [r9 + 0x20]
mov ebx, eax
pclmulqdq xmm7, xmm10, 1
pclmulqdq xmm6, xmm10, 0x10
xorps xmm6, xmm7
add r9, 0x30
movdqa xmm7, xmm9
xorps xmm6, xmm3
pclmulqdq xmm9, xmm10, 1
pclmulqdq xmm7, xmm10, 0x10
xorps xmm7, xmm9
movdqa xmm9, xmm8
pclmulqdq xmm9, xmm10, 0x10
pclmulqdq xmm8, xmm10, 1
xorps xmm9, xmm8
xorps xmm7, xmm2
movdqu xmmword [rsi], xmm1
movdqu xmmword [rsi + 0x10], xmm2
movdqu xmmword [rsi + 0x20], xmm3
add rsi, 0x30
xorps xmm9, xmm1
movdqa xmm8, xmm0
jmp 0x1800a9ec9
lea eax, [rbx + 0x20]
test eax, eax
js 0x1800a9e7e
movdqu xmm2, xmmword [r9]
movdqa xmm1, xmm6
movdqu xmm3, xmmword [r9 + 0x10]
movdqa xmm0, xmm7
movdqa xmm6, xmm9
movdqa xmm7, xmm8
pclmulqdq xmm6, xmm10, 0x10
pclmulqdq xmm7, xmm10, 0x10
pclmulqdq xmm9, xmm10, 1
pclmulqdq xmm8, xmm10, 1
xorps xmm6, xmm9
xorps xmm7, xmm8
add r9, 0x20
xorps xmm7, xmm2
movdqu xmmword [rsi], xmm2
mov ebx, eax
movdqu xmmword [rsi + 0x10], xmm3
add rsi, 0x20
xorps xmm6, xmm3
movdqa xmm8, xmm0
movdqa xmm9, xmm1
jmp 0x1800a9ec9
lea eax, [rbx + 0x30]
test eax, eax
js 0x1800a9ec6
movdqu xmm1, xmmword [r9]
movdqa xmm0, xmm6
movdqa xmm6, xmm8
add r9, 0x10
pclmulqdq xmm6, xmm10, 0x10
pclmulqdq xmm8, xmm10, 1
xorps xmm6, xmm8
mov ebx, eax
movdqa xmm8, xmm9
xorps xmm6, xmm1
movdqa xmm9, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm1
add rsi, 0x10
jmp 0x1800a9ec9
add ebx, 0x40
test ebx, ebx
je 0x1800a9f81
movsxd rdi, ebx
lea rcx, [rsp + 0x20]
mov r8, rdi
mov rdx, r9
call fcn.1800b79a0
mov r8, rdi
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1800b79a0
movdqa xmm2, xmmword [0x180b9e810]
movdqa xmm0, xmm9
movdqa xmm5, xmmword [rsp + 0x20]
movdqa xmm3, xmm8
movsxd rax, ebx
add rax, rax
movdqu xmm1, xmmword [r14 + rax*8 - 0x10]
pshufb xmm0, xmm1
xorps xmm2, xmm1
pshufb xmm5, xmm1
pshufb xmm3, xmm1
pshufb xmm8, xmm2
pshufb xmm9, xmm2
orps xmm8, xmm0
movdqa xmm0, xmm7
pshufb xmm0, xmm1
pshufb xmm7, xmm2
orps xmm9, xmm0
movdqa xmm0, xmm6
pshufb xmm6, xmm2
pshufb xmm0, xmm1
orps xmm6, xmm5
movdqa xmm1, xmm3
orps xmm7, xmm0
movdqa xmm0, xmm6
movdqa xmm6, xmm3
pclmulqdq xmm6, xmm10, 1
xorps xmm6, xmm0
pclmulqdq xmm1, xmm10, 0x10
xorps xmm6, xmm1
movdqu xmmword [rbp], xmm8
movdqu xmmword [rbp + 0x10], xmm9
movdqu xmmword [rbp + 0x20], xmm7
movdqu xmmword [rbp + 0x30], xmm6
movdqu xmmword [rbp + 0x40], xmm5
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1800b26f0
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x90
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret