Function at 0x1400a99e8
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov byte [rsp + 0x10], dl
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
mov r13d, dword [rbp + 0x60]
mov r14, rcx
movzx edi, r8b
mov ecx, 0x10624dd3
movzx esi, r9w
mov r9d, 0x51eb851f
mov r10d, r13d
mov r11d, 0xcccccccd
mov eax, 0xd1b71759
mul r13d
mov ebx, edx
shr ebx, 0xd
imul eax, ebx, 0x2710
sub r10d, eax
mov eax, ecx
mul r10d
mov eax, ecx
mov ecx, r13d
mov r8d, edx
shr r8d, 6
movzx r12d, r8b
mov r8d, 0x66666667
mul r13d
shr edx, 6
imul eax, edx, 0x3e8
sub ecx, eax
mov eax, r9d
mul ecx
mov eax, r9d
mov ecx, r13d
mov r10d, edx
shr r10d, 5
mov dword [rbp + 0x50], r10d
movzx r10d, r10b
mul r13d
shr edx, 5
inc r10d
imul eax, edx, 0x64
sub ecx, eax
mov eax, r11d
mul ecx
mov eax, r11d
movzx r11d, bl
mov r9d, edx
inc r11d
add r11d, r12d
shr r9d, 3
movzx r15d, r9b
mul r13d
shr edx, 3
mov al, dl
shl al, 2
add dl, al
mov eax, r8d
add dl, dl
sub r13b, dl
imul r11d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub r11d, eax
mov eax, r8d
movzx ecx, r11b
add r10d, ecx
imul r10d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub r10d, eax
mov eax, 0x66666667
movzx r8d, r10b
inc r8d
add r8d, r15d
imul r8d
sar edx, 2
mov r9d, edi
lea rdi, [0x1400ebde0]
and r9d, 0xf
mov eax, edx
movzx ebx, bl
shr eax, 0x1f
or r9, 0xc0
add edx, eax
shl r9, 0xc
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
mov eax, esi
and eax, 0xfff
or r9, rax
movzx eax, byte [rbx + rdi]
shl r9, 4
or r9, rax
movzx eax, r11b
movzx ecx, byte [rax + rdi]
shl r9, 4
movzx eax, r10b
or r9, rcx
movzx ecx, byte [rax + rdi]
mov eax, 0x66666667
shl r9, 4
or r9, rcx
movzx ecx, r8b
movzx edx, byte [rcx + rdi]
shl r9, 4
or r9, rdx
movzx edx, r8b
movzx r8d, r13b
inc edx
shl r9, 4
add r8d, edx
imul r8d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
movzx eax, r8b
movzx ecx, byte [rax + rdi]
or r9, rcx
lea rcx, [rbp + 0x40]
mov rax, r9
bswap rax
shr rax, 0x18
xor r8d, r8d
lea r10d, [r8 + 5]
mov qword [rbp + 0x40], rax
mov edx, r8d
movzx eax, byte [rcx]
shl eax, 8
xor eax, edx
movzx edx, ax
mov eax, 8
bt edx, 0xf
jae 0x1400a9be3
add edx, edx
xor edx, 0x1021
jmp 0x1400a9be5
add edx, edx
dec rax
jne 0x1400a9bd3
inc rcx
dec r10
jne 0x1400a9bc3
shl r9, 0x10
mov al, dl
mov cl, dl
shl al, 4
mov qword [rbp + 0x40], r9
shr cl, 4
shr r9, 0x10
and r9b, 0xf
or r9b, al
mov byte [rbp + 0x40], r9b
mov rax, qword [rbp + 0x40]
mov r9b, 1
shr rax, 0x14
xor al, dl
and al, 0xf
xor al, dl
mov byte [rbp + 0x41], al
mov rax, qword [rbp + 0x40]
shr rax, 0x18
xor cl, al
movzx eax, dx
and cl, 0xf
shr ax, 4
xor cl, al
mov byte [rbp + 0x42], cl
mov rax, qword [rbp + 0x40]
movzx ecx, dx
shr cx, 8
shr rax, 0x1c
shr dx, 8
xor cl, al
and cl, 0xf
xor cl, dl
mov byte [rbp + 0x43], cl
mov rdx, qword [rbp + 0x40]
mov cl, r8b
mov rax, rdx
shr rax, cl
inc cl
and al, 1
xor r9b, al
cmp cl, 0x38
jb 0x1400a9c64
movabs rax, 0xff00000000000000
or rdx, rax
movzx eax, r9b
add rdx, rdx
or rdx, rax
mov qword [rbp + 0x40], rdx
mov eax, dword [rbp + 0x40]
shr rdx, 0x20
mov dword [r14 + 4], edx
mov dword [r14 + 8], eax
cmp byte [rbp + 0x48], r8b
je 0x1400a9d18
shl r15d, 4
movzx eax, r13b
shl r12d, 4
movsxd rdx, r15d
mov cl, 1
or rdx, rax
movsxd rax, r12d
shl rdx, 9
or rdx, rax
movzx eax, byte [rbp + 0x50]
or rdx, rax
movabs rax, 0x712000000
shl rdx, 9
or rdx, rbx
shl rdx, 0x25
or rdx, rax
mov rax, rdx
shr rax, cl
inc cl
and al, 1
xor r8b, al
cmp cl, 0x40
jb 0x1400a9ce3
movzx eax, r8b
mov dword [r14], 0x907f0082
or rdx, rax
mov qword [rbp + 0x40], rdx
mov eax, dword [rbp + 0x40]
shr rdx, 0x20
mov dword [r14 + 0x10], eax
mov dword [r14 + 0xc], edx
jmp 0x1400a9d1f
mov dword [r14], 0x907f0042
mov rbx, qword [rsp + 0x58]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret