Function at 0x18000baa0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
lea rdi, [rcx + 0x18]
mov qword [rsp + 0xc8], r15
mov rcx, rdi
mov qword [rbp - 0x21], rdi
call fcn.180001a60
mov edx, dword [0x1802848b4]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + rdx*8]
mov edx, dword [rcx + rax]
cmp dword [0x18028aa10], edx
jle 0x18000bb22
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18000bb22
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
xor eax, eax
mov dword [rbp + 0x6f], 0x7c510d
mov qword [rbp + 0x77], rax
movabs r9, 0xaaaaaaaaaaaaaaab
mov rax, qword [rbp + 0x77]
nop dword [rax]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x77]
movzx r8d, byte [rbp + rax + 0x70]
mov rax, r9
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x77]
shl dl, 3
sub cl, dl
mov edx, 0x161ea43f
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x70], dl
mov rax, qword [rbp + 0x77]
inc rax
mov qword [rbp + 0x77], rax
mov rax, qword [rbp + 0x77]
cmp rax, 2
jb 0x18000bb40
lea r8, [rbp + 0x70]
mov byte [rbp + 0x72], 0
lea rdx, [rbp - 0x39]
lea rcx, [0x18028a930]
call fcn.180003fd0
mov r15, qword [rbp - 0x31]
mov r14, qword [rbp - 0x39]
mov rax, r15
sub rax, r14
je 0x18000bde7
sub r15d, r14d
cmp eax, 4
jb 0x18000bde7
mov edx, dword [r14]
mov qword [rbp + 0x7f], 1
mov qword [rbp + 0x77], 3
mov rcx, qword [rbp + 0x77]
mov rax, qword [rbp + 0x7f]
add rcx, rax
mov qword [rsp + 0xe0], rsi
mov qword [rbp + 0x77], rcx
mov rsi, qword [rbp + 0x77]
mov r14, qword [rbp - 0x39]
test edx, edx
je 0x18000bddf
mov rdi, qword [rbp + 0x67]
mov qword [rsp + 0xe8], rbx
movzx ebx, byte [rbp + 0x67]
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0xd0], r13
mov r13d, edx
mov r12d, r15d
nop dword [rax]
nop word [rax + rax]
xor eax, eax
mov qword [rbp - 0x51], 0xf
mov qword [rbp - 0x59], rax
mov edx, 0xf
mov byte [rbp - 0x69], al
mov ecx, eax
mov word [rbp - 0x49], ax
mov dword [rbp - 0x45], eax
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x79], rax
mov qword [rbp - 0x71], rdx
mov byte [rsp + 0x20], al
cmp esi, r15d
jae 0x18000bcc7
nop dword [rax]
nop dword [rax + rax]
mov eax, esi
inc esi
movzx r9d, byte [rax + r14]
test r9b, r9b
je 0x18000bcc7
cmp rcx, rdx
jae 0x18000bca5
lea rax, [rcx + 1]
cmp rdx, 0x10
mov qword [rbp - 0x79], rax
lea rax, [rsp + 0x20]
cmovae rax, qword [rsp + 0x20]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18000bcb8
movzx r8d, bl
lea rcx, [rsp + 0x20]
mov edx, 1
call fcn.18023f610
cmp esi, r15d
jae 0x18000bcc7
mov rdx, qword [rbp - 0x71]
mov rcx, qword [rbp - 0x79]
jmp 0x18000bc70
lea rcx, [rbp - 0x69]
call fcn.18023c0a0
mov r8d, 0x20
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x69]
call fcn.18024af30
xor eax, eax
mov qword [rbp - 0x71], 0xf
lea rcx, [rsp + 0x20]
mov qword [rbp - 0x79], rax
mov byte [rsp + 0x20], al
call fcn.18023c0a0
mov ecx, esi
xor edx, edx
lea rax, [rcx + 2]
cmp rax, r12
jbe 0x18000bd13
mov word [rbp - 0x49], dx
jmp 0x18000bd41
movzx eax, word [rcx + r14]
mov word [rbp - 0x49], ax
mov qword [rbp + 0x77], rdx
mov qword [rbp + 0x67], 2
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x77]
add rcx, rax
mov qword [rbp + 0x67], rcx
mov rax, qword [rbp + 0x67]
mov r14, qword [rbp - 0x39]
add esi, eax
mov ecx, esi
lea rax, [rcx + 4]
cmp rax, r12
jbe 0x18000bd51
mov dword [rbp - 0x45], edx
jmp 0x18000bd81
mov eax, dword [rcx + r14]
mov dword [rbp - 0x45], eax
mov qword [rbp + 0x77], 1
mov qword [rbp + 0x67], 3
mov rcx, qword [rbp + 0x67]
mov rax, qword [rbp + 0x77]
add rcx, rax
mov qword [rbp + 0x67], rcx
mov rax, qword [rbp + 0x67]
mov r14, qword [rbp - 0x39]
add esi, eax
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x19]
call fcn.18023b280
movzx eax, word [rbp - 0x49]
lea rdx, [rbp - 0x19]
mov word [rbp + 7], ax
mov rcx, rdi
mov eax, dword [rbp - 0x45]
mov dword [rbp + 0xb], eax
mov rax, qword [rbp - 0x41]
mov qword [rbp + 0xf], rax
call fcn.18000b2e0
lea rcx, [rbp - 0x69]
call fcn.18023c0a0
sub r13, 1
jne 0x18000bc30
mov rdi, qword [rbp - 0x21]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xc8]
test r14, r14
je 0x18000be24
mov rdx, qword [rbp - 0x29]
mov rax, r14
sub rdx, r14
cmp rdx, 0x1000
jb 0x18000be1c
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000be37
mov rcx, r14
call fcn.180249cb8
mov rcx, rdi
add rsp, 0xf0
pop r14
pop rdi
pop rbp
jmp fcn.180001bf0
call fcn.1802514a4
int3