Function at 0x180066f0c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
xor r12d, r12d
mov rbx, rcx
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x18], r12
mov edi, r12d
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x20], r12
mov r13d, r12d
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 8], r12
mov qword [rbp - 0x38], r12
call fcn.180066c34
mov r14, rax
cmp byte [rax + 9], r12b
je 0x180066f9f
mov edx, r12d
mov cl, dl
movabs rax, 0x55d5cd91afbf43e9
and cl, 7
shl cl, 3
shr rax, cl
xor byte [rdx + r14], al
inc rdx
cmp rdx, 9
jb 0x180066f79
mov byte [r14 + 9], r12b
or r15, 0xffffffffffffffff
inc r15
cmp byte [r14 + r15], r12b
jne 0x180066fa3
lea rcx, [rbp - 0x50]
call fcn.180066b90
mov rsi, rax
cmp byte [rax + 6], r12b
je 0x180066fe6
mov rdx, r12
mov cl, dl
movabs rax, 0x1b07cd8f7599e56d
and cl, 7
shl cl, 3
shr rax, cl
xor byte [rdx + rsi], al
inc rdx
cmp rdx, 6
jb 0x180066fc1
mov byte [rsi + 6], r12b
or rax, 0xffffffffffffffff
mov r12, rax
inc r12
cmp byte [rsi + r12], dil
jne 0x180066fed
mov r8, rax
mov rax, qword [rbp + 0x50]
inc r8
cmp byte [rax + r8], dil
jne 0x180066ffd
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rdx
lea r9, [rbp - 0x18]
mov rdx, rax
mov ecx, 1
call fcn.1800678c8
test eax, eax
je 0x180067031
or edi, 0xffffffff
jmp 0x180067105
mov rdx, qword [rbp - 0x10]
lea r9, [rbp - 0x48]
mov rcx, qword [rbp - 0x18]
lea r8, [rbp - 0x20]
call fcn.180067214
test eax, eax
jne 0x180067029
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rbx + rdx], dil
jne 0x18006704e
mov rax, qword [rbp + 0x48]
lea r9, [rbp - 8]
lea r8, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.18006729c
test eax, eax
jne 0x180067029
mov rdx, qword [rbp - 8]
lea r9, [rbp - 0x40]
mov rcx, qword [rbp - 0x30]
lea r8, [rbp - 0x28]
call fcn.180067214
test eax, eax
jne 0x180067029
mov rbx, qword [rbp - 0x40]
add rbx, qword [rbp - 0x48]
lea rcx, [rbx + 0xe]
call fcn.18013e628
mov r8, r15
mov rdx, r14
mov rcx, rax
mov r13, rax
call fcn.180135a90
mov r8, qword [rbp - 0x48]
lea rcx, [r15 + r13]
mov rdx, qword [rbp - 0x20]
call fcn.180135a90
add r15, qword [rbp - 0x48]
mov r8, r12
mov rdx, rsi
lea rcx, [r15 + r13]
call fcn.180135a90
mov r8, qword [rbp - 0x40]
lea rcx, [r15 + r12]
mov rdx, qword [rbp - 0x28]
add rcx, r13
call fcn.180135a90
lea rdx, [rbp - 0x38]
mov byte [rbx + r13 + 0xd], dil
mov rcx, r13
call fcn.180067bd4
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x58]
call fcn.18002e560
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x180067113
call fcn.18013a4c0
test r13, r13
je 0x180067120
mov rcx, r13
call fcn.18013a4c0
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x18006712e
call fcn.18013a4c0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18006713c
call fcn.18013a4c0
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x18006714a
call fcn.18013a4c0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180067158
call fcn.18013a4c0
mov rbx, qword [rsp + 0xc0]
mov eax, edi
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret