Function at 0x1800013b0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
xor ebx, ebx
mov qword [rax - 0x60], rbx
mov qword [rax - 0x58], rbx
mov qword [rax - 0x50], rbx
lea rdx, [0x18001bed5]
lea rcx, [rax - 0x60]
call fcn.180002140
nop
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbx
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x28]
call fcn.180002060
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180001424
call fcn.180005580
mov r15, qword [rsp + 0x28]
lea rdi, [r15 + 0x20]
mov rax, qword [rdi]
mov byte [rax + 1], 0x20
xor ecx, ecx
call fcn.180005690
mov rcx, rax
call fcn.1800056f0
mov ebx, 1
or esi, 0xffffffff
mov ebp, 3
mov r12d, ebp
mov r13d, esi
lea r14, [r15 - 0x20]
add r15, 0x60
mov qword [rsp + 0xc0], 0x64
nop word [rax + rax]
call fcn.180005708
and eax, 0x80000003
jge 0x180001483
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x180001505
dec eax
je 0x1800014e3
dec eax
je 0x1800014bd
dec eax
jne 0x18000152b
test r13d, r13d
jle 0x18000152b
mov rax, qword [rdi]
mov byte [rax + rbx - 2], 0x20
mov rax, qword [rdi]
mov byte [rax + rbx - 1], 0x20
sub r13d, 2
sub ebp, 2
sub rbx, 2
jmp 0x18000152b
cmp r12d, 9
jge 0x18000152b
mov rax, qword [r15]
mov byte [rbx + rax], 0x20
mov rax, qword [rdi + 0x20]
add r12d, 2
add esi, 2
add r15, 0x40
add r14, 0x40
add rdi, 0x40
jmp 0x180001527
cmp ebp, 9
jge 0x18000152b
mov rax, qword [rdi]
mov byte [rax + rbx + 2], 0x20
mov rax, qword [rdi]
mov byte [rax + rbx + 1], 0x20
add r13d, 2
add ebp, 2
add rbx, 2
jmp 0x18000152b
test esi, esi
jle 0x18000152b
mov rax, qword [r14]
mov byte [rbx + rax], 0x20
mov rax, qword [rdi - 0x20]
sub r12d, 2
sub esi, 2
sub r15, 0x40
sub r14, 0x40
sub rdi, 0x40
mov byte [rbx + rax], 0x20
dec qword [rsp + 0xc0]
jne 0x180001470
lea rcx, [rsp + 0x28]
call fcn.180001280
mov r13, qword [rsp + 0xb0]
mov ebp, dword [r13]
mov r12d, dword [r13 + 4]
mov r14, qword [rsp + 0xb8]
add r14, 0x7d01
mov r15d, 0x607a0
nop dword [rax + rax]
inc bpl
movzx ebp, bpl
mov edi, dword [r13 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r13 + r12*4 + 8]
mov dword [r13 + rbp*4 + 8], r11d
mov dword [r13 + r12*4 + 8], edi
movzx edx, byte [r13 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r13 + rdx*4 + 8]
mov dword [r13 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r13 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r13 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r13 + rcx*4 + 8]
xor byte [r14 - 1], al
mov eax, dword [r13 + rcx*4 + 8]
xor dword [r13 + rdx*4 + 8], eax
mov eax, dword [r13 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r13 + r10*4 + 8], ecx
inc bpl
movzx ebp, bpl
mov edi, dword [r13 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r13 + r12*4 + 8]
mov dword [r13 + rbp*4 + 8], r11d
mov dword [r13 + r12*4 + 8], edi
movzx edx, byte [r13 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r13 + rdx*4 + 8]
mov dword [r13 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r13 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r13 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r13 + rcx*4 + 8]
xor byte [r14], al
mov eax, dword [r13 + rcx*4 + 8]
xor dword [r13 + rdx*4 + 8], eax
mov eax, dword [r13 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r13 + r10*4 + 8], ecx
inc bpl
movzx ebp, bpl
mov edi, dword [r13 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r13 + r12*4 + 8]
mov dword [r13 + rbp*4 + 8], r11d
mov dword [r13 + r12*4 + 8], edi
movzx edx, byte [r13 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r13 + rdx*4 + 8]
mov dword [r13 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r13 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r13 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r13 + rcx*4 + 8]
xor byte [r14 + 1], al
mov eax, dword [r13 + rcx*4 + 8]
xor dword [r13 + rdx*4 + 8], eax
mov eax, dword [r13 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r13 + r10*4 + 8], ecx
inc bpl
movzx ebp, bpl
mov edi, dword [r13 + rbp*4 + 8]
add r12b, dil
movzx r12d, r12b
mov r11d, dword [r13 + r12*4 + 8]
mov dword [r13 + rbp*4 + 8], r11d
mov dword [r13 + r12*4 + 8], edi
movzx edx, byte [r13 + rbp*4 + 8]
movzx ecx, dil
xor eax, eax
test cl, cl
sete al
add eax, dword [r13 + rdx*4 + 8]
mov dword [r13 + rbp*4 + 8], eax
mov r10d, ecx
xor r8d, r8d
test dl, dl
sete r8b
mov eax, dword [r13 + rcx*4 + 8]
lea ecx, [r8 + rax]
mov dword [r13 + r12*4 + 8], ecx
lea eax, [rbp + r12]
movzx ecx, al
add r11b, cl
add r11b, dil
movzx ecx, r11b
movzx eax, byte [r13 + rcx*4 + 8]
xor byte [r14 + 2], al
mov eax, dword [r13 + rcx*4 + 8]
xor dword [r13 + rdx*4 + 8], eax
mov eax, dword [r13 + rbp*4 + 8]
lea ecx, [r8 + rax]
xor dword [r13 + r10*4 + 8], ecx
add r14, 4
dec r15
jne 0x180001570
mov dword [r13], ebp
mov dword [r13 + 4], r12d
mov rsi, qword [rsp + 0x28]
mov rbx, rsi
mov rdi, qword [rsp + 0x30]
cmp rsi, rdi
je 0x1800017e7
xor eax, eax
mov rcx, qword [rbx]
test rcx, rcx
je 0x1800017d3
call fcn.180005580
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
add rbx, 0x20
cmp rbx, rdi
jne 0x1800017c4
mov rcx, rsi
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.180005580