Function at 0x18006aab0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rsi, rdx
mov rbx, rcx
call fcn.180033c70
movups xmm0, xmmword [str.X_TAiUIVdXE]
xor r14d, r14d
mov r9, rax
movabs r15, 0x47ae147ae147ae15
movups xmmword [rbp - 0x18], xmm0
psrldq xmm0, 0xf
movd r8d, xmm0
test r8b, r8b
je 0x18006ab32
mov r8d, r14d
nop
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 - 0x18], al
inc r8
cmp r8, 0x10
jb 0x18006ab00
or dword [r9 + 4], 8
lea rax, [rbp - 0x18]
mov qword [r9 + 0xd8], rax
movabs r12, 0x7ffffffdfffe
mov rcx, qword [0x180080218]
movabs r13, 0x11837e716e5fd5ec
mov rdi, qword [0x18007d5c0]
lea rax, [rcx - 0x10000]
cmp rax, r12
jbe 0x18006abd8
mov eax, dword [0x1800775d0]
mov r8, r14
mov dword [rbp + 0x40], eax
movzx eax, word [0x1800775d4]
mov word [rbp + 0x44], ax
nop word [rax + rax]
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 + 0x40], al
inc r8
cmp r8, 6
jb 0x18006ab90
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.18002a300
mov rcx, rax
mov qword [0x180080218], rax
mov qword [rbp - 0x18], rcx
lea rax, [rbp - 0x18]
lea rcx, [0x1800802f8]
mov qword [rsp + 0x28], r14
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rbp - 0x10], rdi
xor edx, edx
mov qword [rbp - 8], r14
call fcn.18002ab40
mov rcx, qword [0x180080218]
mov rdi, qword [0x18007d5b8]
lea rax, [rcx - 0x10000]
cmp rax, r12
jbe 0x18006ac88
mov eax, dword [0x1800775d0]
mov r8, r14
mov dword [rbp + 0x40], eax
movzx eax, word [0x1800775d4]
mov word [rbp + 0x44], ax
nop word [rax + rax]
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul edx, eax, 0x32
movzx eax, r8b
sub al, dl
add al, 0x31
xor byte [rbp + r8 + 0x40], al
inc r8
cmp r8, 6
jb 0x18006ac40
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.18002a300
mov rcx, rax
mov qword [0x180080218], rax
mov qword [rbp - 0x18], rcx
lea rax, [rbp - 0x18]
lea rcx, [0x1800802f0]
mov qword [rsp + 0x28], r14
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rbp - 0x10], rdi
xor edx, edx
mov qword [rbp - 8], r14
call fcn.18002ab40
mov rax, qword [rbx]
lea r8, [rbp + 0x58]
lea rdx, [0x1800775a0]
mov qword [rbp + 0x58], r14
mov rcx, rbx
mov qword [rbp + 0x50], r14
mov qword [rbp - 0x20], r14
call qword [rax]
test eax, eax
js 0x18006ad40
mov rcx, qword [rbp + 0x58]
lea r8, [rbp + 0x50]
lea rdx, [0x1800775b0]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
js 0x18006ad40
mov rcx, qword [rbp + 0x50]
lea r8, [rbp - 0x20]
lea rdx, [0x1800775c0]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
js 0x18006ad40
mov rax, qword [rbp - 0x20]
mov rcx, rbx
mov qword [0x180080280], rax
mov qword [0x180080270], rbx
mov qword [0x180080278], rsi
mov rax, qword [rbx]
call qword [rax + 8]
mov rcx, qword [0x180080278]
mov rax, qword [rcx]
call qword [rax + 8]
nop word [rax + rax]
mov rcx, qword [rbp + 0x50]
lea rax, [rcx - 0x10000]
cmp rax, r12
ja 0x18006ad5a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x50], r14
mov rcx, qword [rbp + 0x58]
lea rax, [rcx - 0x10000]
cmp rax, r12
ja 0x18006ad70
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [0x180080270], r14
je 0x18006ad8f
cmp qword [0x180080278], r14
je 0x18006ad8f
cmp qword [0x180080280], r14
je 0x18006ad8f
mov al, 1
jmp 0x18006ad91
xor al, al
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret