Function at 0x1400a5cb0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1d0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x14023f740]
xor rax, rsp
mov qword [rbp + 0x90], rax
movdqa xmm5, xmmword [0x1401efcb0]
mov r14, rcx
xor ecx, ecx
movsx r9, r8b
movzx eax, r9b
mov qword [rbp + 0x41], rcx
mov r8, r9
mov dword [rbp + 0x49], ecx
mov r13, r9
mov word [rbp + 0x4d], cx
lea edi, [rcx + 1]
shr r13, 0x3f
neg r13b
mov byte [rbp + 0x4f], cl
and al, r13b
lea esi, [rdi + 7]
add al, al
xorps xmm0, xmm0
sub r9b, al
mov r12, 0xffffffffffffffa3
lea rax, [r8 - 1]
movzx r15d, r9b
shr rax, 0x3f
not r8
shr r8, 0x3f
and al, r8b
neg al
and al, 1
mov byte [rbp + 0x30], al
mov byte [rbp + 0x50], al
xor eax, eax
mov qword [rbp + 0x61], rax
mov qword [rbp + 0x69], rax
mov qword [rbp + 0x81], rax
mov dword [rbp + 0x89], eax
mov word [rbp + 0x8d], ax
mov byte [rbp + 0x8f], al
movsxd rax, edx
movups xmmword [rbp + 0x31], xmm0
movups xmmword [rbp + 0x51], xmm0
lea rcx, [rax + rax*2]
shl rcx, 8
lea rax, [rbp + 0x30]
mov r9, rcx
sub r9, rax
lea rax, [0x1401f67d0]
add r9, rax
lea r10, [rax + 0x5f]
lea rax, [rbp + 0x30]
add r10, rcx
sub r12, rax
xor ebx, ebx
movups xmmword [rbp + 0x71], xmm0
nop word [rax + rax]
movsxd r8, edi
lea rcx, [rbp + 0x30]
xor r8, r15
mov rax, rbx
movq xmm3, r8
punpcklqdq xmm3, xmm3
cmp rcx, r10
ja 0x1400a5e1f
lea rcx, [r10 - 0x5f]
lea rdx, [rbp + 0x8f]
cmp rdx, rcx
jb 0x1400a5e1f
lea rcx, [r8 - 1]
not r8
shr r8, 0x3f
shr rcx, 0x3f
and r8b, cl
neg r8b
lea rdx, [rbp + 0x30]
add rdx, rax
inc rax
movzx ecx, byte [rdx + r9]
and cl, r8b
xor byte [rdx], cl
cmp rax, 0x60
jb 0x1400a5e00
jmp 0x1400a5ee7
movdqa xmm0, xmmword [0x1401efcb0]
lea r11, [r12 + r10]
paddq xmm0, xmm3
andnps xmm3, xmm5
psrlq xmm0, 0x3f
pshufd xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
psrlq xmm3, 0x3f
pshufd xmm0, xmm3, 0xd8
pshufhw xmm2, xmm1, 0xd8
pshuflw xmm1, xmm0, 0xd8
xorps xmm0, xmm0
pshufd xmm4, xmm2, 0xd8
andps xmm4, xmmword [0x1401efc60]
pshufhw xmm2, xmm1, 0xd8
pshufd xmm3, xmm2, 0xd8
andps xmm3, xmmword [0x1401efc60]
packuswb xmm3, xmm3
packuswb xmm4, xmm4
andps xmm4, xmm3
psubb xmm0, xmm4
movdqa xmmword [rsp + 0x20], xmm0
movzx r8d, word [rsp + 0x20]
movd xmm0, r8d
lea rdx, [rbp + 0x30]
add rdx, rax
add rax, 4
movzx ecx, word [rdx + r9]
movd xmm1, ecx
movzx ecx, word [rdx]
andps xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movd xmm0, r8d
movd ecx, xmm1
mov word [rdx], cx
movzx ecx, word [rdx + r11]
movd xmm1, ecx
movzx ecx, word [rdx + 2]
andps xmm1, xmm0
movd xmm0, ecx
xorps xmm1, xmm0
movd ecx, xmm1
mov word [rdx + 2], cx
cmp rax, 0x60
jb 0x1400a5e90
inc edi
add r10, 0x60
add r9, 0x60
sub rsi, 1
jne 0x1400a5dc0
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x28]
call fcn.1400a2b00
lea rdx, [rbp + 0x50]
lea rcx, [rbp]
call fcn.1400a2b00
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400a2b00
movsd xmm2, qword [rbp + 0x20]
movabs rcx, 0xfffffffffffda
movups xmm8, xmmword [rbp - 0x28]
movups xmm7, xmmword [rbp - 0x18]
movups xmm4, xmmword [rbp]
movsd xmm6, qword [rbp - 8]
movups xmm3, xmmword [rbp + 0x10]
movups xmm5, xmmword [rbp - 0x50]
movups xmm0, xmmword [rbp - 0x40]
movsd xmm1, qword [rbp - 0x30]
movq rax, xmm5
movups xmmword [r14], xmm8
sub rcx, rax
movups xmmword [r14 + 0x10], xmm7
mov qword [rbp - 0x80], rcx
movsd qword [r14 + 0x20], xmm6
movups xmmword [r14 + 0x28], xmm4
movups xmmword [r14 + 0x38], xmm3
movsd qword [r14 + 0x48], xmm2
movups xmmword [r14 + 0x50], xmm5
movups xmmword [r14 + 0x60], xmm0
movsd qword [rsp + 0x50], xmm2
movdqa xmm2, xmmword [0x1401fcc30]
movsd qword [r14 + 0x70], xmm1
movups xmmword [rsp + 0x30], xmm4
movups xmmword [rsp + 0x40], xmm3
movups xmmword [rsp + 0x58], xmm8
movups xmmword [rsp + 0x68], xmm7
movsd qword [rsp + 0x78], xmm6
nop dword [rax + rax]
movdqu xmm0, xmmword [rbp + rbx - 0x48]
movdqa xmm1, xmm2
psubq xmm1, xmm0
movdqu xmmword [rbp + rbx - 0x78], xmm1
add rbx, 0x10
cmp rbx, 0x20
jl 0x1400a5fc0
mov rcx, qword [r14]
xor rcx, qword [rsp + 0x30]
movzx edx, r13b
shr rdx, 7
neg rdx
and rcx, rdx
xor qword [r14], rcx
mov rcx, qword [r14 + 8]
xor rcx, qword [rsp + 0x38]
and rcx, rdx
xor qword [r14 + 8], rcx
mov rcx, qword [r14 + 0x10]
xor rcx, qword [rsp + 0x40]
and rcx, rdx
xor qword [r14 + 0x10], rcx
mov rcx, qword [r14 + 0x18]
xor rcx, qword [rsp + 0x48]
and rcx, rdx
xor qword [r14 + 0x18], rcx
mov rcx, qword [r14 + 0x20]
xor rcx, qword [rsp + 0x50]
and rcx, rdx
xor qword [r14 + 0x20], rcx
mov rcx, qword [r14 + 0x28]
xor rcx, qword [rsp + 0x58]
and rcx, rdx
xor qword [r14 + 0x28], rcx
mov rcx, qword [r14 + 0x30]
xor rcx, qword [rsp + 0x60]
and rcx, rdx
xor qword [r14 + 0x30], rcx
mov rcx, qword [r14 + 0x38]
xor rcx, qword [rsp + 0x68]
and rcx, rdx
xor qword [r14 + 0x38], rcx
mov rcx, qword [r14 + 0x40]
xor rcx, qword [rsp + 0x70]
and rcx, rdx
xor qword [r14 + 0x40], rcx
mov rcx, qword [r14 + 0x48]
xor rcx, qword [rsp + 0x78]
and rcx, rdx
xor qword [r14 + 0x48], rcx
mov rcx, qword [r14 + 0x50]
xor rcx, qword [rbp - 0x80]
and rcx, rdx
xor qword [r14 + 0x50], rcx
mov rcx, qword [r14 + 0x58]
xor rcx, qword [rbp - 0x78]
and rcx, rdx
xor qword [r14 + 0x58], rcx
mov rcx, qword [r14 + 0x60]
xor rcx, qword [rbp - 0x70]
and rcx, rdx
xor qword [r14 + 0x60], rcx
mov rcx, qword [r14 + 0x68]
xor rcx, qword [rbp - 0x68]
and rcx, rdx
xor qword [r14 + 0x68], rcx
mov rcx, qword [r14 + 0x70]
xor rcx, qword [rbp - 0x60]
and rcx, rdx
xor qword [r14 + 0x70], rcx
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.14018e930
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret