Function at 0x1800fa6d0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
movaps xmmword [rsp + 0x90], xmm6
mov rax, qword [0x180201ac0]
xor rax, rsp
mov qword [rsp + 0x80], rax
movsxd r11, dword [rcx + 0x18]
mov rbp, rcx
mov r10d, dword [rsp + 0x100]
mov rsi, rdx
mov rdi, r8
lea ecx, [r10 + 4]
mov eax, ecx
shr eax, 6
mov edx, eax
cmp rdx, r11
jb 0x1800fa725
xor dl, dl
jmp 0x1800fa732
mov rdx, qword [r9 + rax*8]
and ecx, 0x3f
shr rdx, cl
and dl, 1
lea ecx, [r10 + 3]
shl dl, 5
mov eax, ecx
shr eax, 6
cmp rax, r11
jb 0x1800fa747
xor al, al
jmp 0x1800fa753
mov rax, qword [r9 + rax*8]
and ecx, 0x3f
shr rax, cl
and al, 1
shl al, 4
lea ecx, [r10 + 2]
or dl, al
mov eax, ecx
shr eax, 6
cmp rax, r11
jb 0x1800fa76a
xor al, al
jmp 0x1800fa776
mov rax, qword [r9 + rax*8]
and ecx, 0x3f
shr rax, cl
and al, 1
shl al, 3
lea ecx, [r10 + 1]
or dl, al
mov eax, ecx
shr eax, 6
cmp rax, r11
jb 0x1800fa78d
xor al, al
jmp 0x1800fa799
mov rax, qword [r9 + rax*8]
and ecx, 0x3f
shr rax, cl
and al, 1
shl al, 2
or dl, al
mov eax, r10d
shr eax, 6
mov r8d, eax
cmp r8, r11
jb 0x1800fa7b1
xor r8b, r8b
jmp 0x1800fa7c2
mov r8, qword [r9 + rax*8]
mov ecx, r10d
and ecx, 0x3f
shr r8, cl
and r8b, 1
add r8b, r8b
or dl, r8b
test r10d, r10d
je 0x1800fa7f2
dec r10d
mov eax, r10d
shr eax, 6
cmp rax, r11
jb 0x1800fa7df
xor al, al
jmp 0x1800fa7f0
mov rax, qword [r9 + rax*8]
and r10d, 0x3f
movzx ecx, r10b
shr rax, cl
and al, 1
or dl, al
movzx ecx, dl
mov r8d, 0xd8
mov eax, ecx
mov edx, 0x3f
sub rdx, rcx
shr rax, 5
dec rax
mov r15, rax
and rax, rcx
not r15
mov rcx, rsi
and rdx, r15
and r15d, 1
or rdx, rax
mov r14, rdx
and edx, 1
shr r14, 1
add r14, rdx
xor edx, edx
call fcn.180136140
xor r12d, r12d
mov ebx, r12d
nop dword [rax + rax]
mov rax, rbx
mov qword [rsp + 0x20], rsi
xor rax, r14
mov r9, rdi
mov rdx, rsi
mov rcx, rbp
lea r8, [rax - 1]
not rax
shr r8, 0x3f
shr rax, 0x3f
and r8, rax
neg r8
call fcn.1800fee30
inc rbx
add rdi, 0xd8
cmp rbx, 0x11
jb 0x1800fa840
add rsi, 0x48
mov rcx, rbp
mov rdx, rsi
call fcn.1800fe2d0
movsxd rbx, dword [rbp + 0x40]
lea rcx, [rsp + 0x30]
mov rdx, qword [rbp + 0x38]
mov r9, rbx
mov r8, rsi
mov rdi, rax
movq xmm6, rax
punpcklqdq xmm6, xmm6
call fcn.1800f8eb0
mov edx, r12d
test ebx, ebx
jle 0x1800fa930
cmp ebx, 8
jb 0x1800fa930
mov ecx, ebx
and ecx, 0x80000007
jge 0x1800fa8ce
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
sub eax, ecx
movsxd rcx, eax
lea rax, [rsp + 0x50]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
lea rax, [rax + 0x40]
add edx, 8
movdqa xmm1, xmm6
add r12, 8
pand xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqa xmm1, xmm6
movdqu xmm0, xmmword [rax - 0x50]
pand xmm0, xmm6
movdqu xmmword [rax - 0x50], xmm0
movdqu xmm0, xmmword [rax - 0x40]
pand xmm1, xmm0
movdqu xmmword [rax - 0x40], xmm1
movdqu xmm0, xmmword [rax - 0x30]
pand xmm0, xmm6
movdqu xmmword [rax - 0x30], xmm0
cmp r12, rcx
jl 0x1800fa8e0
movsxd rax, edx
cmp rax, rbx
jge 0x1800fa94d
nop dword [rax + rax]
and qword [rsp + rax*8 + 0x30], rdi
inc rax
cmp rax, rbx
jl 0x1800fa940
neg r15
mov qword [rsp + 0x20], rbx
mov rdx, r15
lea r8, [rsp + 0x30]
mov r9, rsi
mov rcx, rsi
call fcn.1800f7ed0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.180133630
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret