Function at 0x1401899c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x130
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1405fadb0]
xor rax, rsp
mov qword [rbp + 0xe8], rax
mov r9d, 4
mov rdi, rcx
mov r8, rdx
lea rcx, [rbp + 0xc0]
lea edx, [r9 + 0x1d]
call fcn.1401ba3b0
movzx eax, byte [rbp + 0xc0]
lea rcx, [rbp + 0x60]
and eax, 0x7f
xor edx, edx
lea r8d, [rax + rax]
call fcn.1401898d0
mov rax, qword [rbp + 0x60]
mov qword [rbp], rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x70]
movdqa xmm0, xmmword [rbp]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x80]
movdqa xmm1, xmmword [rbp + 0x10]
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x28], rax
por xmm0, xmmword [rbp + 0x20]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x38], rax
movabs rax, 0xffffffff00000000
por xmm1, xmmword [rbp + 0x30]
mov qword [rbp + 0x48], rax
por xmm1, xmm0
movdqa xmm0, xmm1
mov qword [rbp + 0x40], 1
mov eax, 0xfffffffe
psrldq xmm0, 8
mov qword [rbp + 0x58], rax
por xmm1, xmm0
movq rax, xmm1
mov qword [rbp + 0x50], 0xffffffffffffffff
lea rcx, [rax - 1]
not rax
shr rcx, 0x3f
shr rax, 0x3f
and rcx, rax
neg rcx
xor eax, eax
movq xmm2, rcx
not rcx
punpcklqdq xmm2, xmm2
movq xmm3, rcx
punpcklqdq xmm3, xmm3
nop dword [rax + rax]
movdqu xmm1, xmmword [rbp + rax*8]
movdqu xmm0, xmmword [rbp + rax*8 + 0x40]
pand xmm1, xmm2
pand xmm0, xmm3
pxor xmm1, xmm0
movdqu xmmword [rbp + rax*8 + 0x40], xmm1
add rax, 2
cmp rax, 4
jl 0x140189af0
mov r15d, 6
lea rsi, [0x1405a1000]
lea r14d, [r15 + 0x1e]
nop dword [rax]
movzx ecx, r15b
mov rax, r15
shr rax, 3
and cl, 7
add r15, 7
movzx edx, byte [rbp + rax + 0xc1]
movzx eax, byte [rbp + rax + 0xc0]
shl rdx, 8
or rdx, rax
shr rdx, cl
movzx ecx, dl
mov edx, 0xff
sub rdx, rcx
mov eax, ecx
shr rax, 7
dec rax
mov rbx, rax
and rax, rcx
not rbx
lea rcx, [rbp + 0x60]
and rdx, rbx
or rdx, rax
mov r8, rdx
and edx, 1
shr r8, 1
add r8, rdx
mov rdx, rsi
call fcn.14016c820
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0xa0]
call fcn.14016aec0
and ebx, 1
dec rbx
shr rbx, 0x3f
dec rbx
xor eax, eax
movq xmm3, rbx
not rbx
punpcklqdq xmm3, xmm3
movq xmm4, rbx
punpcklqdq xmm4, xmm4
nop
movdqu xmm0, xmmword [rbp + rax + 0x80]
movdqu xmm2, xmmword [rbp + rax + 0xa0]
movdqa xmm1, xmm4
pand xmm2, xmm3
pand xmm1, xmm0
pxor xmm2, xmm1
movdqu xmmword [rbp + rax + 0x80], xmm2
add rax, 0x10
cmp rax, 0x20
jl 0x140189bd0
lea r8, [rbp + 0x60]
lea rdx, [rbp]
lea rcx, [rbp]
call fcn.14016d880
add rsi, 0x1000
sub r14, 1
jne 0x140189b30
mov rax, qword [rbp]
mov qword [rdi], rax
mov rax, qword [rbp + 8]
mov qword [rdi + 8], rax
mov rax, qword [rbp + 0x10]
mov qword [rdi + 0x10], rax
mov rax, qword [rbp + 0x18]
mov qword [rdi + 0x18], rax
mov rax, qword [rbp + 0x20]
mov qword [rdi + 0x20], rax
mov rax, qword [rbp + 0x28]
mov qword [rdi + 0x28], rax
mov rax, qword [rbp + 0x30]
mov qword [rdi + 0x30], rax
mov rax, qword [rbp + 0x38]
mov qword [rdi + 0x38], rax
mov rax, qword [rbp + 0x40]
mov qword [rdi + 0x40], rax
mov rax, qword [rbp + 0x48]
mov qword [rdi + 0x48], rax
mov rax, qword [rbp + 0x50]
mov qword [rdi + 0x50], rax
mov rax, qword [rbp + 0x58]
mov qword [rdi + 0x58], rax
mov rcx, qword [rbp + 0xe8]
xor rcx, rsp
call fcn.1401af7a0
mov rbx, qword [rsp + 0x170]
add rsp, 0x130
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret