Function at 0x18006bdb0
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.180034f70
movups xmm0, xmmword [str.X_TAiUIVdXE]
xor r14d, r14d
mov r9, rax
movabs r15, 0x4e5e0a72f0539783
movups xmmword [rbp - 0x18], xmm0
psrldq xmm0, 0xf
movd r8d, xmm0
test r8b, r8b
je 0x18006be32
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, 0x31
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 - 0x18], al
inc r8
cmp r8, 0x10
jb 0x18006be00
or dword [r9 + 4], 8
lea rax, [rbp - 0x18]
mov qword [r9 + 0xd8], rax
movabs r12, 0x7ffffffdfffe
mov rcx, qword [0x180082220]
movabs r13, 0x11837e716e5fd5ec
mov rdi, qword [0x18007f5c0]
lea rax, [rcx - 0x10000]
cmp rax, r12
jbe 0x18006bed8
mov eax, dword [0x18007958c]
mov r8, r14
mov dword [rbp + 0x40], eax
movzx eax, word [0x180079590]
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, 0x31
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [rbp + r8 + 0x40], al
inc r8
cmp r8, 6
jb 0x18006be90
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.18002b600
mov rcx, rax
mov qword [0x180082220], rax
mov qword [rbp - 0x18], rcx
lea rax, [rbp - 0x18]
lea rcx, [0x180082300]
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.18002be40
mov rcx, qword [0x180082220]
mov rdi, qword [0x18007f5b8]
lea rax, [rcx - 0x10000]
cmp rax, r12
jbe 0x18006bf88
mov eax, dword [0x18007958c]
mov r8, r14
mov dword [rbp + 0x40], eax
movzx eax, word [0x180079590]
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, 0x31
movzx eax, r8b
sub al, dl
add al, 0x31
xor byte [rbp + r8 + 0x40], al
inc r8
cmp r8, 6
jb 0x18006bf40
lea rdx, [rbp + 0x40]
mov rcx, r13
call fcn.18002b600
mov rcx, rax
mov qword [0x180082220], rax
mov qword [rbp - 0x18], rcx
lea rax, [rbp - 0x18]
lea rcx, [0x1800822f8]
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.18002be40
mov rax, qword [rbx]
lea r8, [rbp + 0x58]
lea rdx, [0x1800795d0]
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 0x18006c040
mov rcx, qword [rbp + 0x58]
lea r8, [rbp + 0x50]
lea rdx, [0x1800795e0]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
js 0x18006c040
mov rcx, qword [rbp + 0x50]
lea r8, [rbp - 0x20]
lea rdx, [0x1800795f0]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
js 0x18006c040
mov rax, qword [rbp - 0x20]
mov rcx, rbx
mov qword [0x180082288], rax
mov qword [0x180082278], rbx
mov qword [0x180082280], rsi
mov rax, qword [rbx]
call qword [rax + 8]
mov rcx, qword [0x180082280]
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 0x18006c05a
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 0x18006c070
mov rax, qword [rcx]
call qword [rax + 0x10]
cmp qword [0x180082278], r14
je 0x18006c08f
cmp qword [0x180082280], r14
je 0x18006c08f
cmp qword [0x180082288], r14
je 0x18006c08f
mov al, 1
jmp 0x18006c091
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