Function at 0x1400a7c58
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x78]
sub rsp, 0x160
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x140126080]
xor rax, rsp
mov qword [rbp + 0x20], rax
movsx r9, r8b
mov al, r8b
mov rsi, r9
xorps xmm0, xmm0
shr rsi, 0x3f
mov rdi, rcx
xor ecx, ecx
neg sil
and al, sil
mov qword [rbp - 0x4f], rcx
add al, al
mov dword [rbp - 0x47], ecx
sub r8b, al
mov word [rbp - 0x43], cx
lea rax, [r9 - 1]
mov byte [rbp - 0x41], cl
shr rax, 0x3f
lea r10d, [rcx + 1]
not r9
movzx r14d, r8b
shr r9, 0x3f
lea r11d, [rcx + 8]
and al, r9b
xor ebx, ebx
neg al
and al, 1
mov byte [rbp - 0x60], al
mov byte [rbp - 0x40], al
xor eax, eax
mov qword [rbp - 0x2f], rax
mov qword [rbp - 0x27], rax
mov qword [rbp - 0xf], rax
mov dword [rbp - 7], eax
mov word [rbp - 3], ax
mov byte [rbp - 1], al
movsxd rax, edx
movups xmmword [rbp - 0x5f], xmm0
movups xmmword [rbp - 0x3f], xmm0
lea r9, [rax + rax*2]
shl r9, 8
lea rax, [rbp - 0x60]
sub r9, rax
lea rax, [0x1400f4080]
add r9, rax
movups xmmword [rbp - 0x1f], xmm0
movsxd rax, r10d
mov r8, rbx
xor rax, r14
lea rdx, [rax - 1]
not rax
shr rax, 0x3f
shr rdx, 0x3f
and rdx, rax
neg rdx
lea rcx, [rbp - 0x60]
add rcx, r8
inc r8
mov al, byte [rcx + r9]
and al, dl
xor byte [rcx], al
cmp r8, 0x60
jb 0x1400a7d44
inc r10d
add r9, 0x60
sub r11, 1
jne 0x1400a7d26
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.1400a28f8
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call fcn.1400a28f8
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x20]
call fcn.1400a28f8
movups xmm8, xmmword [rsp + 0x48]
lea r8, [rdi + 0x28]
movabs rcx, 0xfffffffffffda
movups xmm7, xmmword [rsp + 0x58]
lea rdx, [rdi + 0x50]
movups xmm4, xmmword [rsp + 0x70]
movsd xmm6, qword [rsp + 0x68]
movups xmm3, xmmword [rbp - 0x80]
movups xmm5, xmmword [rsp + 0x20]
movsd xmm2, qword [rbp - 0x70]
movups xmm0, xmmword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x40]
movq rax, xmm5
movups xmmword [rdi], xmm8
sub rcx, rax
movups xmmword [rdi + 0x10], xmm7
mov qword [rbp - 0x10], rcx
movsd qword [rdi + 0x20], xmm6
movups xmmword [r8], xmm4
movups xmmword [r8 + 0x10], xmm3
movsd qword [r8 + 0x20], xmm2
movups xmmword [rdx], xmm5
movups xmmword [rdx + 0x10], xmm0
movsd qword [rdx + 0x20], xmm1
movups xmmword [rbp - 0x60], xmm4
movups xmmword [rbp - 0x50], xmm3
movsd qword [rbp - 0x40], xmm2
movups xmmword [rbp - 0x38], xmm8
movups xmmword [rbp - 0x28], xmm7
movsd qword [rbp - 0x18], xmm6
movabs rax, 0xffffffffffffe
sub rax, qword [rsp + rbx + 0x28]
mov qword [rbp + rbx - 8], rax
add rbx, 8
cmp rbx, 0x20
jl 0x1400a7e23
movzx ecx, sil
lea r10, [rbp - 0x60]
shr rcx, 7
mov r9d, 5
neg rcx
mov r11d, r9d
sub r10, rdi
mov rax, qword [rdi]
xor rax, qword [r10 + rdi]
and rax, rcx
xor qword [rdi], rax
lea rdi, [rdi + 8]
sub r11, 1
jne 0x1400a7e5c
lea r10, [rbp - 0x38]
mov r11, r9
sub r10, r8
mov rax, qword [r8]
xor rax, qword [r10 + r8]
and rax, rcx
xor qword [r8], rax
lea r8, [r8 + 8]
sub r11, 1
jne 0x1400a7e7d
lea r8, [rbp - 0x10]
sub r8, rdx
mov rax, qword [rdx]
xor rax, qword [rdx + r8]
and rax, rcx
xor qword [rdx], rax
lea rdx, [rdx + 8]
sub r9, 1
jne 0x1400a7e9b
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400aa9d0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret